|
@@ -0,0 +1,163 @@
|
|
|
+package com.abi.qms.platform.service.impl;
|
|
|
+
|
|
|
+import com.abi.qms.platform.dao.entity.BaseSku;
|
|
|
+import com.abi.qms.platform.dao.enums.ValidEnum;
|
|
|
+import com.abi.qms.platform.dao.mapper.BaseSkuMapper;
|
|
|
+import com.abi.qms.platform.dto.req.*;
|
|
|
+import com.abi.qms.platform.dto.res.GetSkuRes;
|
|
|
+import com.abi.qms.platform.dto.res.ListSkuRes;
|
|
|
+import com.abi.qms.platform.infrastructure.util.AssertUtil;
|
|
|
+import com.abi.qms.platform.infrastructure.util.PageUtil;
|
|
|
+import com.abi.qms.platform.service.SkuService;
|
|
|
+import com.abi.task.common.utils.PojoConverterUtils;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 商品
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author Andy.Tan
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class SkuServiceImpl implements SkuService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseSkuMapper baseSkuMapper;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增商品
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void addSku(AddSkuReq req){
|
|
|
+ //校验入参
|
|
|
+ //TODO
|
|
|
+
|
|
|
+ //1-新增
|
|
|
+ BaseSku sku = new BaseSku();
|
|
|
+ sku.setSkuCode(req.getSkuCode());
|
|
|
+ sku.setSkuName(req.getSkuName());
|
|
|
+ sku.setBrandCode(req.getBrandCode());
|
|
|
+ sku.setSubBrandCode(req.getSubBrandCode());
|
|
|
+ baseSkuMapper.insert(sku);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑商品
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateSku(UpdateSkuReq req){
|
|
|
+
|
|
|
+ //1-查询商品
|
|
|
+ BaseSku sku = baseSkuMapper.selectById(req.getId());
|
|
|
+ AssertUtil.isNull(sku,"商品不存在");
|
|
|
+
|
|
|
+ //2-修改商品
|
|
|
+ sku.setSkuCode(req.getSkuCode());
|
|
|
+ sku.setSkuName(req.getSkuName());
|
|
|
+ sku.setBrandCode(req.getBrandCode());
|
|
|
+ sku.setSubBrandCode(req.getSubBrandCode());
|
|
|
+ baseSkuMapper.updateById(sku);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页查询商品
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ListSkuRes listSku(ListSkuReq req){
|
|
|
+
|
|
|
+ //1-拼接条件
|
|
|
+ QueryWrapper<BaseSku> skuQw = new QueryWrapper<>();
|
|
|
+ //skuQw.like(StringUtils.isNotBlank(req.getXxx()), "xxx_xxx", "%" + req.getXxx() + "%");
|
|
|
+ //skuQw.eq(req.getXxx2() != null, "xxx_xxx2", req.getXxx2());
|
|
|
+
|
|
|
+ //2-分页查询
|
|
|
+ IPage<BaseSku> iPage = baseSkuMapper.selectPage(PageUtil.createPage(req), skuQw);
|
|
|
+ List<BaseSku> skuList = iPage.getRecords();
|
|
|
+
|
|
|
+ //封装出参
|
|
|
+ ListSkuRes res = new ListSkuRes();
|
|
|
+ //放入分页信息
|
|
|
+ PageUtil.copyPageInfo(res, iPage);
|
|
|
+ //放入出参列表
|
|
|
+ List<ListSkuRes.SkuBean> skuBeanList = PojoConverterUtils.copyList(skuList, ListSkuRes.SkuBean.class);
|
|
|
+ res.setSkuBeanList(skuBeanList);
|
|
|
+
|
|
|
+ return res;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询商品明细
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public GetSkuRes getSku(GetSkuReq req){
|
|
|
+
|
|
|
+ //1-查询商品对象
|
|
|
+ BaseSku sku = baseSkuMapper.selectById(req.getId());
|
|
|
+ AssertUtil.isNull(sku, "商品不存在");
|
|
|
+
|
|
|
+ //转化出参
|
|
|
+ GetSkuRes res = PojoConverterUtils.copy(sku, GetSkuRes.class);
|
|
|
+
|
|
|
+ return res;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 商品启用
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void enableSku(EnableSkuReq req){
|
|
|
+ List<Long> ids = req.getIds();
|
|
|
+
|
|
|
+ //循环启用
|
|
|
+ for (Long id : ids) {
|
|
|
+ //1-查询活动对象
|
|
|
+ BaseSku sku = baseSkuMapper.selectById(id);
|
|
|
+ AssertUtil.isNull(sku, "商品不存在");
|
|
|
+
|
|
|
+ if (!ValidEnum.NOT_VALID.is(sku.getValid())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ //2-修改状态
|
|
|
+ sku.setValid(ValidEnum.VALID.getCode());
|
|
|
+ baseSkuMapper.updateById(sku);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 商品禁用
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void disableSku(DisableSkuReq req){
|
|
|
+ List<Long> ids = req.getIds();
|
|
|
+
|
|
|
+ //循环禁用
|
|
|
+ for (Long id : ids) {
|
|
|
+ //1-查询活动对象
|
|
|
+ BaseSku sku = baseSkuMapper.selectById(id);
|
|
|
+ AssertUtil.isNull(sku, "商品不存在");
|
|
|
+
|
|
|
+ if (!ValidEnum.VALID.is(sku.getValid())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //2-修改状态
|
|
|
+ sku.setValid(ValidEnum.NOT_VALID.getCode());
|
|
|
+ baseSkuMapper.updateById(sku);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|