package com.oying.modules.pc.product.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.oying.modules.pc.product.domain.Product;
|
import com.oying.modules.pc.product.domain.dto.ProductMerchantCreateRequest;
|
import com.oying.modules.pc.product.domain.dto.ProductMerchantUpdateRequest;
|
import com.oying.modules.pc.product.service.ProductMerchantService;
|
import com.oying.modules.pc.product.service.ProductService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
|
@Service
|
@RequiredArgsConstructor
|
public class ProductMerchantCreateServiceImpl implements ProductMerchantService {
|
|
private final ProductService productService;
|
|
@Override
|
public void create(Long storeId, ProductMerchantCreateRequest request) {
|
Product product = new Product();
|
BeanUtils.copyProperties(request, product);
|
product.setStoreId(storeId);
|
productService.create(product);
|
}
|
|
@Override
|
public void update(Long productId, ProductMerchantUpdateRequest request) {
|
Product product = new Product();
|
BeanUtils.copyProperties(request, product);
|
product.setProductId(productId);
|
productService.update(product);
|
}
|
|
@Transactional
|
@Override
|
public void batchDelete(List<Long> ids) {
|
productService.deleteAll(ids);
|
}
|
|
@Override
|
public void putOnShelf(Long productId) {
|
LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<Product>()
|
.eq(Product::getProductId, productId)
|
.set(Product::getStatus, 1001);
|
productService.update(wrapper);
|
}
|
|
@Override
|
public void takeOffShelf(Long productId) {
|
LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<Product>()
|
.eq(Product::getProductId, productId)
|
.set(Product::getStatus, 1002);
|
productService.update(wrapper);
|
}
|
}
|