yangdamao 2 年 前
コミット
84b9aea8ad

+ 11 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityController.java

@@ -8,6 +8,7 @@ import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityAddBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityEditBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityQueryBo;
+import com.zhongzheng.modules.distribution.bo.DistributionStatusEditBo;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityService;
 import com.zhongzheng.modules.distribution.vo.DistributionActivityVo;
 import io.swagger.annotations.Api;
@@ -83,4 +84,14 @@ public class DistributionActivityController extends BaseController {
         return toAjax(iDistributionActivityService.updateByEditBo(bo) ? 1 : 0);
     }
 
+    /**
+     * 启用/禁用分销活动
+     */
+    @ApiOperation("启用/禁用分销活动")
+    @PostMapping("/edit/status")
+    public AjaxResult<Void> editStatus(@RequestBody DistributionStatusEditBo bo) {
+        return toAjax(iDistributionActivityService.editStatus(bo) ? 1 : 0);
+    }
+
+
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionStatusEditBo.java

@@ -19,6 +19,6 @@ public class DistributionStatusEditBo {
     @ApiModelProperty("分销活动模板ID")
     private Long distributionTemplateId;
     /** 商品ID */
-    @ApiModelProperty("状态:1有效,-1无效")
+    @ApiModelProperty("状态:1有效,0,禁用,-1无效")
     private Integer status;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityAddBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityEditBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityQueryBo;
+import com.zhongzheng.modules.distribution.bo.DistributionStatusEditBo;
 import com.zhongzheng.modules.distribution.domain.DistributionActivity;
 import com.zhongzheng.modules.distribution.vo.DistributionActivityVo;
 
@@ -49,4 +50,6 @@ public interface IDistributionActivityService extends IService<DistributionActiv
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    boolean editStatus(DistributionStatusEditBo bo);
 }

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
@@ -13,6 +14,7 @@ import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityAddBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityEditBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityQueryBo;
+import com.zhongzheng.modules.distribution.bo.DistributionStatusEditBo;
 import com.zhongzheng.modules.distribution.domain.DistributionActivity;
 import com.zhongzheng.modules.distribution.domain.DistributionActivityGoods;
 import com.zhongzheng.modules.distribution.domain.DistributionActivityPoster;
@@ -24,6 +26,8 @@ import com.zhongzheng.modules.distribution.vo.DistributionActivityGoodsVo;
 import com.zhongzheng.modules.distribution.vo.DistributionActivityVo;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateGoods;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateGoodsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -48,6 +52,8 @@ public class DistributionActivityServiceImpl extends ServiceImpl<DistributionAct
     private IGoodsService iGoodsService;
     @Autowired
     private IDistributionActivityPosterService iDistributionActivityPosterService;
+    @Autowired
+    private IDistributionActivityTemplateGoodsService iDistributionActivityTemplateGoodsService;
 
     @Override
     public DistributionActivityVo queryById(Long distributionId){
@@ -179,4 +185,37 @@ public class DistributionActivityServiceImpl extends ServiceImpl<DistributionAct
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public boolean editStatus(DistributionStatusEditBo bo) {
+        if (ObjectUtils.isNull(bo.getStatus())){
+            throw new CustomException("状态不能为空");
+        }
+        DistributionActivity activity = getById(bo.getDistributionTemplateId());
+        if (bo.getStatus() == 1){
+            //启用活动
+            if (DateUtils.getNowTime() > activity.getEndTime()){
+                throw new CustomException("活动已结束,禁止启用!");
+            }
+            if (ObjectUtils.isNotNull(activity.getTempId())){
+                //总平台下发活动对比商品是否缺失
+                List<DistributionActivityGoods> activityGoods = iDistributionActivityGoodsService
+                        .list(new LambdaQueryWrapper<DistributionActivityGoods>()
+                        .eq(DistributionActivityGoods::getDistributionId, activity.getDistributionId())
+                        .eq(DistributionActivityGoods::getStatus, 1));
+                List<DistributionActivityTemplateGoods> templateGoods = iDistributionActivityTemplateGoodsService
+                        .list(new LambdaQueryWrapper<DistributionActivityTemplateGoods>()
+                        .eq(DistributionActivityTemplateGoods::getDistributionTempId, activity.getTempId())
+                        .eq(DistributionActivityTemplateGoods::getStatus, 1));
+                if (activityGoods.size() != templateGoods.size()){
+                    throw new CustomException("活动商品缺失,请先拉取商品信息",777);
+                }
+            }
+        }else if (bo.getStatus() == 0){
+            //禁用
+
+
+        }
+        return false;
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateGoodsServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.top.distribution.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -26,6 +27,7 @@ import java.util.stream.Collectors;
  * @date 2023-03-06
  */
 @Service
+@DS("master")
 public class DistributionActivityTemplateGoodsServiceImpl extends ServiceImpl<DistributionActivityTempGoodsMapper, DistributionActivityTemplateGoods> implements IDistributionActivityTemplateGoodsService {
 
     @Override