he2802 hace 2 años
padre
commit
75e06b0a91
Se han modificado 92 ficheros con 1449 adiciones y 550 borrados
  1. 73 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/alioss/OssController.java
  2. 42 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseBusinessController.java
  3. 42 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseEducationTypeController.java
  4. 42 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseProjectTypeController.java
  5. 42 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseSubjectController.java
  6. 43 12
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplateController.java
  7. 7 20
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplateGoodsController.java
  8. 11 39
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplatePosterController.java
  9. 7 20
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplateRelationController.java
  10. 25 24
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityController.java
  11. 31 34
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityPosterController.java
  12. 0 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityController.java
  13. 2 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysRole.java
  14. 24 17
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/DistributionSellerServiceImpl.java
  15. 1 1
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  16. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityAddBo.java
  17. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityEditBo.java
  18. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityGoodsAddBo.java
  19. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityGoodsEditBo.java
  20. 26 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionStatusEditBo.java
  21. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivity.java
  22. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityGoods.java
  23. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityImage.java
  24. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityPoster.java
  25. 3 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityImageMapper.java
  26. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionSellerMapper.java
  27. 13 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityImageService.java
  28. 7 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityService.java
  29. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionSellerService.java
  30. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityGoodsServiceImpl.java
  31. 7 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityImageServiceImpl.java
  32. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityPosterServiceImpl.java
  33. 152 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityServiceImpl.java
  34. 0 210
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityTemplateServiceImpl.java
  35. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityGoodsVo.java
  36. 41 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityImageVo.java
  37. 10 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityVo.java
  38. 12 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionSellerVo.java
  39. 13 14
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformRemindServiceImpl.java
  40. 6 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformSysUserServiceImpl.java
  41. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysUserRole.java
  42. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysUserRoleService.java
  43. 3 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysRoleServiceImpl.java
  44. 18 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysUserRoleServiceImpl.java
  45. 3 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/vo/SysTenantVo.java
  46. 6 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateAddBo.java
  47. 4 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateEditBo.java
  48. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateGoodsAddBo.java
  49. 5 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateGoodsEditBo.java
  50. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateGoodsQueryBo.java
  51. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplatePosterAddBo.java
  52. 5 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplatePosterQueryBo.java
  53. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateQueryBo.java
  54. 1 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateRelationAddBo.java
  55. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateRelationEditBo.java
  56. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateRelationQueryBo.java
  57. 36 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionSellerQuery.java
  58. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/distributionActivityTemplatePosterEditBo.java
  59. 1 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplate.java
  60. 3 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplateGoods.java
  61. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplateImage.java
  62. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplatePoster.java
  63. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplateRelation.java
  64. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempGoodsMapper.java
  65. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempMapper.java
  66. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempPosterMapper.java
  67. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempRelationMapper.java
  68. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTemplateImageMapper.java
  69. 6 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateGoodsService.java
  70. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateImageService.java
  71. 6 14
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplatePosterService.java
  72. 6 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateRelationService.java
  73. 22 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateService.java
  74. 10 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateGoodsServiceImpl.java
  75. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateImageServiceImpl.java
  76. 12 19
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplatePosterServiceImpl.java
  77. 8 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateRelationServiceImpl.java
  78. 392 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateServiceImpl.java
  79. 4 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateGoodsVo.java
  80. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateImageVo.java
  81. 9 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplatePosterVo.java
  82. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateRelationVo.java
  83. 6 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateVo.java
  84. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTenantVo.java
  85. 5 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopGoodsServiceImpl.java
  86. 0 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/domain/TopSysMenu.java
  87. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempGoodsMapper.xml
  88. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempMapper.xml
  89. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempPosterMapper.xml
  90. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempRelationMapper.xml
  91. 19 1
      zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionSellerMapper.xml
  92. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/top/TopGoodsMapper.xml

+ 73 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/alioss/OssController.java

@@ -0,0 +1,73 @@
+package com.zhongzheng.controller.alioss;
+
+
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.modules.alioss.bo.OssRequest;
+import com.zhongzheng.modules.alioss.service.OssService;
+import com.zhongzheng.modules.alioss.vo.ResultBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 阿里OSS
+ *
+ * @author change
+ * @date 2021-05-17
+ */
+@Api(value = "阿里OSS上传文件控制器", tags = {"阿里OSS上传文件"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/aliyun/oss")
+public class OssController extends BaseController {
+
+    private static Logger log = LoggerFactory.getLogger(OssController.class);
+
+    private final OssService ossService;
+
+    /**
+     * policy获得
+     */
+    @ApiOperation("policy获得")
+    @GetMapping("/policy")
+    public AjaxResult<ResultBean> policy(@Validated OssRequest ossRequest) {
+        ResultBean result = ossService.getPolicy(ossRequest);
+        log.info("服务端生成签名:{}",result);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 阿里回调OSS返回参数到前端
+     */
+    @ApiOperation("回调")
+    @PostMapping("/callback")
+    public ResultBean callback(HttpServletRequest request) {
+        ResultBean ossCallbackResult = ossService.callback(request);
+        log.info("oss成功的回调:{}",ossCallbackResult);
+        return ossCallbackResult;
+    }
+
+
+    /**
+     * upload上传文件
+     */
+    @ApiOperation("上传file图片")
+    @PostMapping("/upload")
+    public AjaxResult<String> upload( OssRequest file) throws Exception {
+        String result = ossService.upload(file);
+        log.info("服务端生成签名:{}",result);
+        return AjaxResult.success("返回图片路径",result);
+    }
+
+}

+ 42 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseBusinessController.java

@@ -0,0 +1,42 @@
+package com.zhongzheng.controller.course;
+
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.modules.top.goods.bo.TopCourseBusinessQueryBo;
+import com.zhongzheng.modules.top.goods.service.ITopCourseBusinessService;
+import com.zhongzheng.modules.top.goods.vo.TopCourseBusinessVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 业务层次Controller
+ *
+ * @author ruoyi
+ * @date 2021-10-08
+ */
+@Api(value = "业务层次控制器", tags = {"业务层次管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/course/business")
+public class TopCourseBusinessController extends BaseController {
+
+    private final ITopCourseBusinessService iCourseBusinessService;
+
+    /**
+     * 查询业务层次列表
+     */
+    @ApiOperation("查询业务层次列表")
+    @GetMapping("/list")
+    public TableDataInfo<TopCourseBusinessVo> list(TopCourseBusinessQueryBo bo) {
+        startPage();
+        List<TopCourseBusinessVo> list = iCourseBusinessService.queryList(bo);
+        return getDataTable(list);
+    }
+}

+ 42 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseEducationTypeController.java

@@ -0,0 +1,42 @@
+package com.zhongzheng.controller.course;
+
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.modules.top.goods.bo.TopCourseEducationTypeQueryBo;
+import com.zhongzheng.modules.top.goods.service.ITopCourseEducationTypeService;
+import com.zhongzheng.modules.top.goods.vo.TopCourseEducationTypeVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 教育类型Controller
+ * 
+ * @author ruoyi
+ * @date 2021-10-08
+ */
+@Api(value = "教育类型控制器", tags = {"教育类型管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/course/educationType")
+public class TopCourseEducationTypeController extends BaseController {
+
+    private final ITopCourseEducationTypeService iCourseEducationTypeService;
+
+    /**
+     * 查询教育类型列表
+     */
+    @ApiOperation("查询教育类型列表")
+    @GetMapping("/list")
+    public TableDataInfo<TopCourseEducationTypeVo> list(TopCourseEducationTypeQueryBo bo) {
+        startPage();
+        List<TopCourseEducationTypeVo> list = iCourseEducationTypeService.queryList(bo);
+        return getDataTable(list);
+    }
+}

+ 42 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseProjectTypeController.java

@@ -0,0 +1,42 @@
+package com.zhongzheng.controller.course;
+
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.modules.top.goods.bo.TopCourseProjectTypeQueryBo;
+import com.zhongzheng.modules.top.goods.service.ITopCourseProjectTypeService;
+import com.zhongzheng.modules.top.goods.vo.TopCourseProjectTypeVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 项目类型Controller
+ * 
+ * @author ruoyi
+ * @date 2021-10-08
+ */
+@Api(value = "项目类型控制器", tags = {"项目类型管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/course/projectType")
+public class TopCourseProjectTypeController extends BaseController {
+
+    private final ITopCourseProjectTypeService iCourseProjectTypeService;
+
+    /**
+     * 查询项目类型列表
+     */
+    @ApiOperation("查询项目类型列表")
+    @GetMapping("/list")
+    public TableDataInfo<TopCourseProjectTypeVo> list(TopCourseProjectTypeQueryBo bo) {
+        startPage();
+        List<TopCourseProjectTypeVo> list = iCourseProjectTypeService.queryList(bo);
+        return getDataTable(list);
+    }
+}

+ 42 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseSubjectController.java

@@ -0,0 +1,42 @@
+package com.zhongzheng.controller.course;
+
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.modules.top.goods.bo.TopCourseSubjectQueryBo;
+import com.zhongzheng.modules.top.goods.service.ITopCourseSubjectService;
+import com.zhongzheng.modules.top.goods.vo.TopCourseSubjectVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 科目Controller
+ * 
+ * @author ruoyi
+ * @date 2021-10-09
+ */
+@Api(value = "科目控制器", tags = {"科目管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/course/subject")
+public class TopCourseSubjectController extends BaseController {
+
+    private final ITopCourseSubjectService iCourseSubjectService;
+
+    /**
+     * 查询科目列表
+     */
+    @ApiOperation("查询科目列表")
+    @GetMapping("/list")
+    public TableDataInfo<TopCourseSubjectVo> list(TopCourseSubjectQueryBo bo) {
+        startPage();
+        List<TopCourseSubjectVo> list = iCourseSubjectService.queryList(bo);
+        return getDataTable(list);
+    }
+}

+ 43 - 12
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplateController.java

@@ -2,20 +2,25 @@ package com.zhongzheng.controller.distribution;
 
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.domain.model.TopLoginUser;
 import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateQueryBo;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateVo;
+import com.zhongzheng.framework.web.service.TopTokenService;
+import com.zhongzheng.modules.distribution.bo.DistributionStatusEditBo;
+import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateQueryBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -32,6 +37,8 @@ public class DistributionActivityTemplateController extends BaseController {
 
     private final IDistributionActivityTemplateService iDistributionActivityTemplateService;
 
+    private final TopTokenService tokenService;
+
     /**
      * 查询【请填写功能名称】列表
      */
@@ -69,6 +76,8 @@ public class DistributionActivityTemplateController extends BaseController {
     @ApiOperation("新增分销活动模板")
     @PostMapping("/save")
     public AjaxResult<Void> add(@RequestBody DistributionActivityTemplateAddBo bo) {
+        TopLoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setCreateTopSysUserId(loginUser.getUser().getUserId());
         return toAjax(iDistributionActivityTemplateService.insertByAddBo(bo) ? 1 : 0);
     }
 
@@ -76,17 +85,39 @@ public class DistributionActivityTemplateController extends BaseController {
      * 修改【请填写功能名称】
      */
     @ApiOperation("修改分销活动模板")
-    @PutMapping("/edit")
+    @PostMapping("/edit")
     public AjaxResult<Void> edit(@RequestBody DistributionActivityTemplateEditBo bo) {
         return toAjax(iDistributionActivityTemplateService.updateByEditBo(bo) ? 1 : 0);
     }
 
     /**
-     * 删除【请填写功能名称】
+     * 启用/禁用
      */
-    @ApiOperation("删除【请填写功能名称】")
-    @DeleteMapping("/{ids}")
-    public AjaxResult<Void> remove(@PathVariable Long[] ids) {
-        return toAjax(iDistributionActivityTemplateService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
+    @ApiOperation("启用/禁用")
+    @PostMapping("/update/status")
+    public AjaxResult<Void> updateStatus(@RequestBody DistributionStatusEditBo bo) {
+        return toAjax(iDistributionActivityTemplateService.updateStatus(bo) ? 1 : 0);
     }
+
+    /**
+     * 活动模板发布
+     */
+    @ApiOperation("活动模板发布")
+    @GetMapping("/publish/{templateId}")
+    public AjaxResult<Void> publishActivity(@PathVariable("templateId") Long templateId) {
+        return toAjax(iDistributionActivityTemplateService.publishActivity(templateId) ? 1 : 0);
+    }
+
+
+    /**
+     * 分销业务员列表
+     */
+    @ApiOperation("分销业务员列表")
+    @GetMapping("/seller/list")
+    public TableDataInfo<DistributionSellerVo> sellerList(DistributionSellerQuery query) {
+        startPage();
+        List<DistributionSellerVo> list = iDistributionActivityTemplateService.sellerList(query);
+        return getDataTable(list);
+    }
+
 }

+ 7 - 20
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplateGoodsController.java

@@ -1,21 +1,18 @@
 package com.zhongzheng.controller.distribution;
 
-import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
-import com.zhongzheng.common.enums.BusinessType;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsQueryBo;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateGoodsService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateGoodsVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsQueryBo;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateGoodsService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateGoodsVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
@@ -39,7 +36,6 @@ public class DistributionActivityTemplateGoodsController extends BaseController
      * 查询【请填写功能名称】列表
      */
     @ApiOperation("查询【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:goods:list')")
     @GetMapping("/list")
     public TableDataInfo<DistributionActivityTemplateGoodsVo> list(DistributionActivityTemplateGoodsQueryBo bo) {
         startPage();
@@ -51,8 +47,6 @@ public class DistributionActivityTemplateGoodsController extends BaseController
      * 导出【请填写功能名称】列表
      */
     @ApiOperation("导出【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:goods:export')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult<DistributionActivityTemplateGoodsVo> export(DistributionActivityTemplateGoodsQueryBo bo) {
         List<DistributionActivityTemplateGoodsVo> list = iDistributionActivityTemplateGoodsService.queryList(bo);
@@ -64,7 +58,6 @@ public class DistributionActivityTemplateGoodsController extends BaseController
      * 获取【请填写功能名称】详细信息
      */
     @ApiOperation("获取【请填写功能名称】详细信息")
-    @PreAuthorize("@ss.hasPermi('system:goods:query')")
     @GetMapping("/{id}")
     public AjaxResult<DistributionActivityTemplateGoodsVo> getInfo(@PathVariable("id" ) Long id) {
         return AjaxResult.success(iDistributionActivityTemplateGoodsService.queryById(id));
@@ -74,9 +67,7 @@ public class DistributionActivityTemplateGoodsController extends BaseController
      * 新增【请填写功能名称】
      */
     @ApiOperation("新增【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:goods:add')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
-    @PostMapping()
+    @PostMapping("/save")
     public AjaxResult<Void> add(@RequestBody DistributionActivityTemplateGoodsAddBo bo) {
         return toAjax(iDistributionActivityTemplateGoodsService.insertByAddBo(bo) ? 1 : 0);
     }
@@ -85,9 +76,7 @@ public class DistributionActivityTemplateGoodsController extends BaseController
      * 修改【请填写功能名称】
      */
     @ApiOperation("修改【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:goods:edit')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
-    @PutMapping()
+    @PostMapping()
     public AjaxResult<Void> edit(@RequestBody DistributionActivityTemplateGoodsEditBo bo) {
         return toAjax(iDistributionActivityTemplateGoodsService.updateByEditBo(bo) ? 1 : 0);
     }
@@ -96,8 +85,6 @@ public class DistributionActivityTemplateGoodsController extends BaseController
      * 删除【请填写功能名称】
      */
     @ApiOperation("删除【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:goods:remove')")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult<Void> remove(@PathVariable Long[] ids) {
         return toAjax(iDistributionActivityTemplateGoodsService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);

+ 11 - 39
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplatePosterController.java

@@ -1,28 +1,24 @@
 package com.zhongzheng.controller.distribution;
 
 import cn.hutool.core.bean.BeanUtil;
-import com.zhongzheng.common.annotation.Log;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
-import com.zhongzheng.common.enums.BusinessType;
-import com.zhongzheng.common.utils.poi.ExcelUtil;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplatePosterAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplatePosterQueryBo;
-import com.zhongzheng.modules.distribution.bo.distributionActivityTemplatePosterEditBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateImage;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateImageService;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplatePosterService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateImageVo;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplatePosterVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplatePosterAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplatePosterQueryBo;
+import com.zhongzheng.modules.top.distribution.bo.distributionActivityTemplatePosterEditBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateImage;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateImageService;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplatePosterService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateImageVo;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplatePosterVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -59,29 +55,15 @@ public class DistributionActivityTemplatePosterController extends BaseController
     @ApiOperation("获取海报模板底图列表")
     @GetMapping("/image/list")
     public AjaxResult<List<DistributionActivityTemplateImageVo>> list() {
-        List<DistributionActivityTemplateImage> imageList = iDistributionActivityTemplateImageService.list();
+        List<DistributionActivityTemplateImage> imageList = iDistributionActivityTemplateImageService.list(new LambdaQueryWrapper<DistributionActivityTemplateImage>().eq(DistributionActivityTemplateImage::getStatus,1));
         List<DistributionActivityTemplateImageVo> voList = imageList.stream().map(item -> BeanUtil.toBean(item, DistributionActivityTemplateImageVo.class)).collect(Collectors.toList());
         return AjaxResult.success(voList);
     }
 
-    /**
-     * 导出【请填写功能名称】列表
-     */
-    @ApiOperation("导出【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:poster:export')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult<DistributionActivityTemplatePosterVo> export(DistributionActivityTemplatePosterQueryBo bo) {
-        List<DistributionActivityTemplatePosterVo> list = iDistributionActivityTemplatePosterService.queryList(bo);
-        ExcelUtil<DistributionActivityTemplatePosterVo> util = new ExcelUtil<DistributionActivityTemplatePosterVo>(DistributionActivityTemplatePosterVo.class);
-        return util.exportExcel(list, "【请填写功能名称】");
-    }
-
     /**
      * 获取【请填写功能名称】详细信息
      */
     @ApiOperation("获取海报模板详细信息")
-    @PreAuthorize("@ss.hasPermi('system:poster:query')")
     @GetMapping("/{posterTempId}")
     public AjaxResult<DistributionActivityTemplatePosterVo> getInfo(@PathVariable("posterTempId" ) Long posterTempId) {
         return AjaxResult.success(iDistributionActivityTemplatePosterService.queryById(posterTempId));
@@ -100,19 +82,9 @@ public class DistributionActivityTemplatePosterController extends BaseController
      * 修改【请填写功能名称】
      */
     @ApiOperation("修改海报模板")
-    @PutMapping("/edit")
+    @PostMapping("/edit")
     public AjaxResult<Void> edit(@RequestBody distributionActivityTemplatePosterEditBo bo) {
         return toAjax(iDistributionActivityTemplatePosterService.updateByEditBo(bo) ? 1 : 0);
     }
 
-    /**
-     * 删除【请填写功能名称】
-     */
-    @ApiOperation("删除【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:poster:remove')")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.DELETE)
-    @DeleteMapping("/{posterTempIds}")
-    public AjaxResult<Void> remove(@PathVariable Long[] posterTempIds) {
-        return toAjax(iDistributionActivityTemplatePosterService.deleteWithValidByIds(Arrays.asList(posterTempIds), true) ? 1 : 0);
-    }
 }

+ 7 - 20
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityTemplateRelationController.java

@@ -1,21 +1,18 @@
 package com.zhongzheng.controller.distribution;
 
-import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
-import com.zhongzheng.common.enums.BusinessType;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationQueryBo;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateRelationService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateRelationVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationQueryBo;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateRelationService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateRelationVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
@@ -39,7 +36,6 @@ public class DistributionActivityTemplateRelationController extends BaseControll
      * 查询【请填写功能名称】列表
      */
     @ApiOperation("查询【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:relation:list')")
     @GetMapping("/list")
     public TableDataInfo<DistributionActivityTemplateRelationVo> list(DistributionActivityTemplateRelationQueryBo bo) {
         startPage();
@@ -51,8 +47,6 @@ public class DistributionActivityTemplateRelationController extends BaseControll
      * 导出【请填写功能名称】列表
      */
     @ApiOperation("导出【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:relation:export')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult<DistributionActivityTemplateRelationVo> export(DistributionActivityTemplateRelationQueryBo bo) {
         List<DistributionActivityTemplateRelationVo> list = iDistributionActivityTemplateRelationService.queryList(bo);
@@ -64,7 +58,6 @@ public class DistributionActivityTemplateRelationController extends BaseControll
      * 获取【请填写功能名称】详细信息
      */
     @ApiOperation("获取【请填写功能名称】详细信息")
-    @PreAuthorize("@ss.hasPermi('system:relation:query')")
     @GetMapping("/{id}")
     public AjaxResult<DistributionActivityTemplateRelationVo> getInfo(@PathVariable("id" ) Long id) {
         return AjaxResult.success(iDistributionActivityTemplateRelationService.queryById(id));
@@ -74,9 +67,7 @@ public class DistributionActivityTemplateRelationController extends BaseControll
      * 新增【请填写功能名称】
      */
     @ApiOperation("新增【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:relation:add')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
-    @PostMapping()
+    @PostMapping("/save")
     public AjaxResult<Void> add(@RequestBody DistributionActivityTemplateRelationAddBo bo) {
         return toAjax(iDistributionActivityTemplateRelationService.insertByAddBo(bo) ? 1 : 0);
     }
@@ -85,9 +76,7 @@ public class DistributionActivityTemplateRelationController extends BaseControll
      * 修改【请填写功能名称】
      */
     @ApiOperation("修改【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:relation:edit')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
-    @PutMapping()
+    @PostMapping()
     public AjaxResult<Void> edit(@RequestBody DistributionActivityTemplateRelationEditBo bo) {
         return toAjax(iDistributionActivityTemplateRelationService.updateByEditBo(bo) ? 1 : 0);
     }
@@ -96,8 +85,6 @@ public class DistributionActivityTemplateRelationController extends BaseControll
      * 删除【请填写功能名称】
      */
     @ApiOperation("删除【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:relation:remove')")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult<Void> remove(@PathVariable Long[] ids) {
         return toAjax(iDistributionActivityTemplateRelationService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);

+ 25 - 24
zhongzheng-admin/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityController.java

@@ -1,24 +1,22 @@
 package com.zhongzheng.controller.distribution;
 
-import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
-import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.SecurityUtils;
 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 com.zhongzheng.system.bo.DistributionActivityAddBo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -27,19 +25,19 @@ import java.util.List;
  * @author ruoyi
  * @date 2023-03-06
  */
-@Api(value = "【请填写功能名称】控制器", tags = {"【请填写功能名称】管理"})
+@Api(value = "分销活动控制器", tags = {"分销活动管理"})
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
-@RequestMapping("/system/activity")
+@RequestMapping("/distribution/activity")
 public class DistributionActivityController extends BaseController {
 
     private final IDistributionActivityService iDistributionActivityService;
 
+
     /**
      * 查询【请填写功能名称】列表
      */
     @ApiOperation("查询【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:activity:list')")
     @GetMapping("/list")
     public TableDataInfo<DistributionActivityVo> list(DistributionActivityQueryBo bo) {
         startPage();
@@ -51,8 +49,6 @@ public class DistributionActivityController extends BaseController {
      * 导出【请填写功能名称】列表
      */
     @ApiOperation("导出【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:activity:export')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult<DistributionActivityVo> export(DistributionActivityQueryBo bo) {
         List<DistributionActivityVo> list = iDistributionActivityService.queryList(bo);
@@ -64,7 +60,6 @@ public class DistributionActivityController extends BaseController {
      * 获取【请填写功能名称】详细信息
      */
     @ApiOperation("获取【请填写功能名称】详细信息")
-    @PreAuthorize("@ss.hasPermi('system:activity:query')")
     @GetMapping("/{distributionId}")
     public AjaxResult<DistributionActivityVo> getInfo(@PathVariable("distributionId" ) Long distributionId) {
         return AjaxResult.success(iDistributionActivityService.queryById(distributionId));
@@ -74,10 +69,9 @@ public class DistributionActivityController extends BaseController {
      * 新增【请填写功能名称】
      */
     @ApiOperation("新增【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:activity:add')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
-    @PostMapping()
+    @PostMapping("/save")
     public AjaxResult<Void> add(@RequestBody DistributionActivityAddBo bo) {
+        bo.setCreateBy(SecurityUtils.getUsername());
         return toAjax(iDistributionActivityService.insertByAddBo(bo) ? 1 : 0);
     }
 
@@ -85,21 +79,28 @@ public class DistributionActivityController extends BaseController {
      * 修改【请填写功能名称】
      */
     @ApiOperation("修改【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:activity:edit')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
-    @PutMapping()
+    @PostMapping("/edit")
     public AjaxResult<Void> edit(@RequestBody DistributionActivityEditBo bo) {
         return toAjax(iDistributionActivityService.updateByEditBo(bo) ? 1 : 0);
     }
 
     /**
-     * 删除【请填写功能名称】
+     * 启用/禁用分销活动
      */
-    @ApiOperation("删除【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:activity:remove')")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.DELETE)
-    @DeleteMapping("/{distributionIds}")
-    public AjaxResult<Void> remove(@PathVariable Long[] distributionIds) {
-        return toAjax(iDistributionActivityService.deleteWithValidByIds(Arrays.asList(distributionIds), true) ? 1 : 0);
+    @ApiOperation("启用/禁用分销活动")
+    @PostMapping("/edit/status")
+    public AjaxResult<Void> editStatus(@RequestBody DistributionStatusEditBo bo) {
+        return toAjax(iDistributionActivityService.editStatus(bo) ? 1 : 0);
     }
+
+    /**
+     * 拉取商品信息
+     */
+    @ApiOperation("拉取商品信息")
+    @GetMapping("/pull/goods/{distributionId}")
+    public AjaxResult<Void> pullGoods(@PathVariable("distributionId") Long distributionId) {
+        return toAjax(iDistributionActivityService.pullGoods(distributionId) ? 1 : 0);
+    }
+
+
 }

+ 31 - 34
zhongzheng-admin/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityPosterController.java

@@ -1,25 +1,27 @@
 package com.zhongzheng.controller.distribution;
 
-import com.zhongzheng.common.annotation.Log;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
-import com.zhongzheng.common.enums.BusinessType;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterAddBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterEditBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterQueryBo;
+import com.zhongzheng.modules.distribution.domain.DistributionActivityImage;
+import com.zhongzheng.modules.distribution.service.IDistributionActivityImageService;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityPosterService;
+import com.zhongzheng.modules.distribution.vo.DistributionActivityImageVo;
 import com.zhongzheng.modules.distribution.vo.DistributionActivityPosterVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 【请填写功能名称】Controller
@@ -27,19 +29,20 @@ import java.util.List;
  * @author ruoyi
  * @date 2023-03-06
  */
-@Api(value = "【请填写功能名称】控制器", tags = {"【请填写功能名称】管理"})
+@Api(value = "分销活动海报控制器", tags = {"分销活动海报控制器管理"})
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
-@RequestMapping("/system/poster")
+@RequestMapping("/distribution/poster")
 public class DistributionActivityPosterController extends BaseController {
 
     private final IDistributionActivityPosterService iDistributionActivityPosterService;
 
+    private final IDistributionActivityImageService iDistributionImageService;
+
     /**
-     * 查询【请填写功能名称】列表
+     * 查询海报列表
      */
-    @ApiOperation("查询【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:poster:list')")
+    @ApiOperation("查询海报列表")
     @GetMapping("/list")
     public TableDataInfo<DistributionActivityPosterVo> list(DistributionActivityPosterQueryBo bo) {
         startPage();
@@ -47,12 +50,21 @@ public class DistributionActivityPosterController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 获取底图列表
+     */
+    @ApiOperation("获取海报底图列表")
+    @GetMapping("/image/list")
+    public AjaxResult<List<DistributionActivityImageVo>> list() {
+        List<DistributionActivityImage> imageList = iDistributionImageService.list(new LambdaQueryWrapper<DistributionActivityImage>().eq(DistributionActivityImage::getStatus,1));
+        List<DistributionActivityImageVo> voList = imageList.stream().map(item -> BeanUtil.toBean(item, DistributionActivityImageVo.class)).collect(Collectors.toList());
+        return AjaxResult.success(voList);
+    }
+
     /**
      * 导出【请填写功能名称】列表
      */
     @ApiOperation("导出【请填写功能名称】列表")
-    @PreAuthorize("@ss.hasPermi('system:poster:export')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult<DistributionActivityPosterVo> export(DistributionActivityPosterQueryBo bo) {
         List<DistributionActivityPosterVo> list = iDistributionActivityPosterService.queryList(bo);
@@ -61,45 +73,30 @@ public class DistributionActivityPosterController extends BaseController {
     }
 
     /**
-     * 获取【请填写功能名称】详细信息
+     * 获取海报详细信息
      */
-    @ApiOperation("获取【请填写功能名称】详细信息")
-    @PreAuthorize("@ss.hasPermi('system:poster:query')")
+    @ApiOperation("获取海报详细信息")
     @GetMapping("/{posterId}")
     public AjaxResult<DistributionActivityPosterVo> getInfo(@PathVariable("posterId" ) Long posterId) {
         return AjaxResult.success(iDistributionActivityPosterService.queryById(posterId));
     }
 
     /**
-     * 新增【请填写功能名称】
+     * 新增海报
      */
-    @ApiOperation("新增【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:poster:add')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
-    @PostMapping()
+    @ApiOperation("新增海报")
+    @PostMapping("/save")
     public AjaxResult<Void> add(@RequestBody DistributionActivityPosterAddBo bo) {
         return toAjax(iDistributionActivityPosterService.insertByAddBo(bo) ? 1 : 0);
     }
 
     /**
-     * 修改【请填写功能名称】
+     * 修改海报
      */
-    @ApiOperation("修改【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:poster:edit')")
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
-    @PutMapping()
+    @ApiOperation("修改海报")
+    @PostMapping("/edit")
     public AjaxResult<Void> edit(@RequestBody DistributionActivityPosterEditBo bo) {
         return toAjax(iDistributionActivityPosterService.updateByEditBo(bo) ? 1 : 0);
     }
 
-    /**
-     * 删除【请填写功能名称】
-     */
-    @ApiOperation("删除【请填写功能名称】")
-    @PreAuthorize("@ss.hasPermi('system:poster:remove')")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.DELETE)
-    @DeleteMapping("/{posterIds}")
-    public AjaxResult<Void> remove(@PathVariable Long[] posterIds) {
-        return toAjax(iDistributionActivityPosterService.deleteWithValidByIds(Arrays.asList(posterIds), true) ? 1 : 0);
-    }
 }

+ 0 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/distribution/DistributionActivityController.java

@@ -10,7 +10,6 @@ import com.zhongzheng.modules.distribution.bo.DistributionActivityEditBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityQueryBo;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityService;
 import com.zhongzheng.modules.distribution.vo.DistributionActivityVo;
-import com.zhongzheng.system.bo.DistributionActivityAddBo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;

+ 2 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysRole.java

@@ -101,6 +101,8 @@ public class SysRole implements Serializable
     @ApiModelProperty(value ="备注")
     private String remark;
 
+    private Long tenantId;
+
     /**
      * 请求参数
      */

+ 24 - 17
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/DistributionSellerServiceImpl.java

@@ -3,8 +3,13 @@ package com.zhongzheng.framework.web.service;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 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.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.Page;
 import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.enums.UserStatus;
@@ -17,20 +22,18 @@ import com.zhongzheng.modules.distribution.domain.DistributionSeller;
 import com.zhongzheng.modules.distribution.mapper.DistributionSellerMapper;
 import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
 import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
-import com.zhongzheng.modules.user.bo.UserAppRegisterBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.entity.ClientLoginSeller;
-import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import com.zhongzheng.modules.user.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.Page;
 
 import java.io.InputStream;
-import java.util.*;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -40,6 +43,7 @@ import java.util.stream.Collectors;
  * @date 2023-03-13
  */
 @Service
+@DS("slave")
 public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSellerMapper, DistributionSeller> implements IDistributionSellerService {
 
     @Autowired
@@ -232,32 +236,35 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
 
     @Override
     public Map<String, Object> smsLogin(SellerAppAccountLoginBo bo) {
-        if(bo.getTel()==null){
+        if (bo.getTel() == null) {
             throw new CustomException("手机号不能为空");
         }
         String key = Constants.LOGIN_SMS + bo.getTel();
-        String code =  redisCache.getCacheObject(key);
-        if(code==null){
+        String code = redisCache.getCacheObject(key);
+        if (code == null) {
             throw new CustomException("验证码错误");
         }
-        if(!code.equals(bo.getCode())){
+        if (!code.equals(bo.getCode())) {
             throw new CustomException("验证码错误");
         }
         redisCache.deleteObject(key);
         DistributionSeller seller = getOne(new LambdaQueryWrapper<DistributionSeller>()
-                .eq(DistributionSeller::getTelphone,EncryptHandler.encrypt(bo.getTel())).last("limit 1"));
-        if(Validator.isEmpty(seller)){
+                .eq(DistributionSeller::getTelphone, EncryptHandler.encrypt(bo.getTel())).last("limit 1"));
+        if (Validator.isEmpty(seller)) {
             throw new CustomException("该手机号未注册");
         }
 
         ClientLoginSeller loginSeller = new ClientLoginSeller();
         loginSeller.setSeller(seller);
-        Map<String,Object> map = new HashMap<>();
-        map.put(Constants.TOKEN,sellerTokenService.createToken(loginSeller));
-        map.put("user_account",seller.getUserAccount());
-        map.put("full_info",Validator.isEmpty(seller.getIdCard())?false:true); //是否完善身份信息
+        Map<String, Object> map = new HashMap<>();
+        map.put(Constants.TOKEN, sellerTokenService.createToken(loginSeller));
+        map.put("user_account", seller.getUserAccount());
+        map.put("full_info", Validator.isEmpty(seller.getIdCard()) ? false : true); //是否完善身份信息
         return map;
     }
+    public List<DistributionSellerVo> getSellerListByTenant(DistributionSellerQuery query) {
+        return baseMapper.getSellerListByTenant(query);
+    }
 
     @Override
     public DistributionSellerVo queryById(Long sellerId){

+ 1 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java

@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
  * @date 2021-08-03
  */
 @Service
-//@DS("slave") //指定数据源
+@DS("slave") //指定数据源
 public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant> implements ISysTenantService {
 
     @Autowired

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

@@ -1,9 +1,10 @@
-package com.zhongzheng.system.bo;
+package com.zhongzheng.modules.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
 
 
 /**
@@ -58,4 +59,6 @@ public class DistributionActivityAddBo {
     /** 修改时间 */
     @ApiModelProperty("修改时间")
     private Long updateTime;
+    @ApiModelProperty("活动商品集合")
+    private List<DistributionActivityGoodsAddBo> goodsList;
 }

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

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 
 /**
  * 【请填写功能名称】编辑对象 distribution_activity
@@ -65,5 +67,6 @@ public class DistributionActivityEditBo {
     @ApiModelProperty("修改时间")
     private Long updateTime;
 
-
+    @ApiModelProperty("活动商品集合")
+    private List<DistributionActivityGoodsAddBo> goodsList;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityGoodsAddBo.java

@@ -23,6 +23,9 @@ public class DistributionActivityGoodsAddBo {
     /** 商品ID */
     @ApiModelProperty("商品ID")
     private Long goodsId;
+    /** 商品活动价格 */
+    @ApiModelProperty("商品活动价格")
+    private BigDecimal goodsPrice;
     /** 总佣金上限 */
     @ApiModelProperty("总佣金上限")
     private BigDecimal profitMax;

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityGoodsEditBo.java

@@ -29,6 +29,10 @@ public class DistributionActivityGoodsEditBo {
     @ApiModelProperty("商品ID")
     private Long goodsId;
 
+    /** 商品活动价格 */
+    @ApiModelProperty("商品活动价格")
+    private BigDecimal goodsPrice;
+
     /** 总佣金上限 */
     @ApiModelProperty("总佣金上限")
     private BigDecimal profitMax;

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

@@ -0,0 +1,26 @@
+package com.zhongzheng.modules.distribution.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 分销状态修改BO
+ *
+ * @author ruoyi
+ * @date 2023-03-06
+ */
+@Data
+@ApiModel("分销状态修改BO")
+public class DistributionStatusEditBo {
+
+    /** 分销活动模板ID */
+    @ApiModelProperty("分销活动模板ID")
+    private Long distributionTemplateId;
+    @ApiModelProperty("分销活动ID")
+    private Long distributionId;
+    /** 商品ID */
+    @ApiModelProperty("状态:1有效,0,禁用,-1无效")
+    private Integer status;
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivity.java

@@ -53,9 +53,9 @@ private static final long serialVersionUID=1L;
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;
     /** 创建人 */
-    @TableField(fill = FieldFill.INSERT)
     private String createBy;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+    private Long tenantId;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityGoods.java

@@ -32,6 +32,8 @@ private static final long serialVersionUID=1L;
     private Long distributionId;
     /** 商品ID */
     private Long goodsId;
+    /** 商品活动价格 */
+    private BigDecimal goodsPrice;
     /** 总佣金上限 */
     private BigDecimal profitMax;
     /** 状态:1有效,0无效 */
@@ -51,4 +53,6 @@ private static final long serialVersionUID=1L;
     /** 三级拥金 */
     private BigDecimal profitThree;
 
+    /** 机构ID */
+    private Long tenantId;
 }

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityImage.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.distribution.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 【请填写功能名称】对象 distribution_activity_poster
+ *
+ * @author ruoyi
+ * @date 2023-03-06
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("distribution_activity_image")
+public class DistributionActivityImage implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** 活动海报模板ID */
+    @TableId(value = "id")
+    private Long id;
+    /** 海报模板名称 */
+    private String name;
+    /** 海报模板地址 */
+    private String url;
+    /** 状态:1有效,0无效 */
+    private Integer status;
+    /** 添加时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 修改时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+    /** 备注 */
+    private Long tenantId;
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityPoster.java

@@ -45,4 +45,6 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
     /** 备注 */
     private String remark;
+    /** 备注 */
+    private Long tenantId;
 }

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityTempMapper.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityImageMapper.java

@@ -1,7 +1,8 @@
 package com.zhongzheng.modules.distribution.mapper;
 
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplate;
+import com.zhongzheng.modules.distribution.domain.DistributionActivityImage;
 
 /**
  * 【请填写功能名称】Mapper接口
@@ -9,6 +10,6 @@ import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplate;
  * @author ruoyi
  * @date 2023-03-06
  */
-public interface DistributionActivityTempMapper extends BaseMapper<DistributionActivityTemplate> {
+public interface DistributionActivityImageMapper extends BaseMapper<DistributionActivityImage> {
 
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionSellerMapper.java

@@ -2,6 +2,10 @@ package com.zhongzheng.modules.distribution.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.distribution.domain.DistributionSeller;
+import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery;
+
+import java.util.List;
 
 /**
  * 分销业务员Mapper接口
@@ -11,4 +15,5 @@ import com.zhongzheng.modules.distribution.domain.DistributionSeller;
  */
 public interface DistributionSellerMapper extends BaseMapper<DistributionSeller> {
 
+    List<DistributionSellerVo> getSellerListByTenant(DistributionSellerQuery query);
 }

+ 13 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityImageService.java

@@ -0,0 +1,13 @@
+package com.zhongzheng.modules.distribution.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.distribution.domain.DistributionActivityImage;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author ruoyi
+ * @date 2023-03-06
+ */
+public interface IDistributionActivityImageService extends IService<DistributionActivityImage> {
+}

+ 7 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityService.java

@@ -1,8 +1,10 @@
 package com.zhongzheng.modules.distribution.service;
 
 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;
 
@@ -32,7 +34,7 @@ public interface IDistributionActivityService extends IService<DistributionActiv
 	 * @param bo 【请填写功能名称】新增业务对象
 	 * @return
 	 */
-	Boolean insertByAddBo(com.zhongzheng.system.bo.DistributionActivityAddBo bo);
+	Boolean insertByAddBo(DistributionActivityAddBo bo);
 
 	/**
 	 * 根据编辑业务对象修改【请填写功能名称】
@@ -48,4 +50,8 @@ public interface IDistributionActivityService extends IService<DistributionActiv
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    boolean editStatus(DistributionStatusEditBo bo);
+
+	boolean pullGoods(Long distributionId);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionSellerService.java

@@ -8,6 +8,7 @@ import com.zhongzheng.modules.user.bo.UserAppAccountLoginBo;
 import com.zhongzheng.modules.user.bo.UserAppForgetBo;
 import com.zhongzheng.modules.user.bo.UserAppRegisterBo;
 import com.zhongzheng.modules.user.bo.UserAppSmsLoginBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery;
 import com.zhongzheng.modules.user.domain.User;
 
 import java.util.Collection;
@@ -66,4 +67,7 @@ public interface IDistributionSellerService extends IService<DistributionSeller>
 	Map<String,Object> accountLogin(SellerAppAccountLoginBo bo);
 
 	Map<String,Object> smsLogin(SellerAppAccountLoginBo bo);
+
+	List<DistributionSellerVo> getSellerListByTenant(DistributionSellerQuery query);
+
 }

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

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.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("slave")
 public class DistributionActivityGoodsServiceImpl extends ServiceImpl<DistributionActivityGoodsMapper, DistributionActivityGoods> implements IDistributionActivityGoodsService {
 
     @Override

+ 7 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityTemplateImageServiceImpl.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityImageServiceImpl.java

@@ -1,17 +1,19 @@
 package com.zhongzheng.modules.distribution.service.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateImage;
-import com.zhongzheng.modules.distribution.mapper.DistributionActivityTemplateImageMapper;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateImageService;
+import com.zhongzheng.modules.distribution.domain.DistributionActivityImage;
+import com.zhongzheng.modules.distribution.mapper.DistributionActivityImageMapper;
+import com.zhongzheng.modules.distribution.service.IDistributionActivityImageService;
 import org.springframework.stereotype.Service;
 
 /**
  * 【请填写功能名称】Service业务层处理
  *
  * @author ruoyi
- * @date 2023-03-13
+ * @date 2023-03-06
  */
 @Service
-public class DistributionActivityTemplateImageServiceImpl extends ServiceImpl<DistributionActivityTemplateImageMapper, DistributionActivityTemplateImage> implements IDistributionActivityTemplateImageService {
+@DS("slave")
+public class DistributionActivityImageServiceImpl extends ServiceImpl<DistributionActivityImageMapper, DistributionActivityImage> implements IDistributionActivityImageService {
 }

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityPosterServiceImpl.java

@@ -2,18 +2,23 @@ package com.zhongzheng.modules.distribution.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 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.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
+import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterAddBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterEditBo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterQueryBo;
+import com.zhongzheng.modules.distribution.domain.DistributionActivity;
 import com.zhongzheng.modules.distribution.domain.DistributionActivityPoster;
 import com.zhongzheng.modules.distribution.mapper.DistributionActivityPosterMapper;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityPosterService;
+import com.zhongzheng.modules.distribution.service.IDistributionActivityService;
 import com.zhongzheng.modules.distribution.vo.DistributionActivityPosterVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Collection;
@@ -27,8 +32,12 @@ import java.util.stream.Collectors;
  * @date 2023-03-06
  */
 @Service
+@DS("slave")
 public class DistributionActivityPosterServiceImpl extends ServiceImpl<DistributionActivityPosterMapper, DistributionActivityPoster> implements IDistributionActivityPosterService {
 
+    @Autowired
+    private IDistributionActivityService iDistributionActivityService;
+
     @Override
     public DistributionActivityPosterVo queryById(Long posterId){
         DistributionActivityPoster db = this.baseMapper.selectById(posterId);
@@ -74,6 +83,14 @@ public class DistributionActivityPosterServiceImpl extends ServiceImpl<Distribut
 
     @Override
     public Boolean updateByEditBo(DistributionActivityPosterEditBo bo) {
+        //校验是否有绑定活动
+        int count = iDistributionActivityService.count(new LambdaQueryWrapper<DistributionActivity>()
+                .eq(DistributionActivity::getPosterId, bo.getPosterId())
+                .eq(DistributionActivity::getStatus, 1)
+                .eq(DistributionActivity::getUseStatus, 1));
+        if (count > 0 ){
+            throw new CustomException("该海报已绑定启用的分销活动,请勿修改!");
+        }
         DistributionActivityPoster update = BeanUtil.toBean(bo, DistributionActivityPoster.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());

+ 152 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityServiceImpl.java

@@ -2,19 +2,38 @@ package com.zhongzheng.modules.distribution.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 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;
+import com.zhongzheng.common.exception.CustomException;
 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;
 import com.zhongzheng.modules.distribution.mapper.DistributionActivityMapper;
+import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService;
+import com.zhongzheng.modules.distribution.service.IDistributionActivityPosterService;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityService;
+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 com.zhongzheng.modules.top.goods.domain.TopGoods;
+import com.zhongzheng.modules.top.goods.service.ITopGoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -26,12 +45,40 @@ import java.util.stream.Collectors;
  * @date 2023-03-06
  */
 @Service
+@DS("slave")
 public class DistributionActivityServiceImpl extends ServiceImpl<DistributionActivityMapper, DistributionActivity> implements IDistributionActivityService {
 
+    @Autowired
+    private IDistributionActivityGoodsService iDistributionActivityGoodsService;
+    @Autowired
+    private IGoodsService iGoodsService;
+    @Autowired
+    private ITopGoodsService iTopGoodsService;
+    @Autowired
+    private IDistributionActivityPosterService iDistributionActivityPosterService;
+    @Autowired
+    private IDistributionActivityTemplateGoodsService iDistributionActivityTemplateGoodsService;
+
     @Override
     public DistributionActivityVo queryById(Long distributionId){
         DistributionActivity db = this.baseMapper.selectById(distributionId);
-        return BeanUtil.toBean(db, DistributionActivityVo.class);
+        DistributionActivityVo vo = BeanUtil.toBean(db, DistributionActivityVo.class);
+        //获取商品信息
+        List<DistributionActivityGoods> templateGoodsList = iDistributionActivityGoodsService
+                .list(new LambdaQueryWrapper<DistributionActivityGoods>()
+                        .eq(DistributionActivityGoods::getStatus, 1)
+                        .eq(DistributionActivityGoods::getDistributionId, vo.getDistributionId()));
+        if (CollectionUtils.isNotEmpty(templateGoodsList)){
+            List<DistributionActivityGoodsVo> templateGoodsVos = templateGoodsList.stream().map(item -> {
+                DistributionActivityGoodsVo goodsVo = BeanUtil.toBean(item, DistributionActivityGoodsVo.class);
+                Goods goods = iGoodsService.getById(goodsVo.getGoodsId());
+                goodsVo.setGoodsName(goods.getGoodsName());
+                goodsVo.setGoodsPrice(goods.getStandPrice());
+                return goodsVo;
+            }).collect(Collectors.toList());
+            vo.setGoodsList(templateGoodsVos);
+        }
+        return vo;
     }
 
     @Override
@@ -45,7 +92,15 @@ public class DistributionActivityServiceImpl extends ServiceImpl<DistributionAct
         lqw.eq(bo.getEndTime() != null, DistributionActivity::getEndTime, bo.getEndTime());
         lqw.eq(bo.getTempId() != null, DistributionActivity::getTempId, bo.getTempId());
         lqw.eq(bo.getPosterId() != null, DistributionActivity::getPosterId, bo.getPosterId());
-        return entity2Vo(this.list(lqw));
+        List<DistributionActivityVo> voList = entity2Vo(this.list(lqw));
+        if (CollectionUtils.isEmpty(voList)){
+            return new ArrayList<>();
+        }
+        voList.forEach(item -> {
+            DistributionActivityPoster poster = iDistributionActivityPosterService.getById(item.getPosterId());
+            item.setPosterTempName(poster.getName());
+        });
+        return voList;
     }
 
     /**
@@ -69,20 +124,53 @@ public class DistributionActivityServiceImpl extends ServiceImpl<DistributionAct
     }
 
     @Override
-    public Boolean insertByAddBo(com.zhongzheng.system.bo.DistributionActivityAddBo bo) {
+    public Boolean insertByAddBo(DistributionActivityAddBo bo) {
         DistributionActivity add = BeanUtil.toBean(bo, DistributionActivity.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
+        this.save(add);
+        //活动商品
+        if (CollectionUtils.isNotEmpty(bo.getGoodsList())){
+            List<DistributionActivityGoods> collect = bo.getGoodsList().stream().map(item -> {
+                DistributionActivityGoods entity = BeanUtil.toBean(item, DistributionActivityGoods.class);
+                entity.setDistributionId(add.getDistributionId());
+                entity.setCreateTime(DateUtils.getNowTime());
+                entity.setUpdateTime(DateUtils.getNowTime());
+                return entity;
+            }).collect(Collectors.toList());
+            iDistributionActivityGoodsService.saveBatch(collect);
+        }
+
+        return true;
     }
 
     @Override
     public Boolean updateByEditBo(DistributionActivityEditBo bo) {
+        //校验
+        DistributionActivity activityTemp = getById(bo.getDistributionId());
+        if (activityTemp.getUseStatus() == 1){
+            throw new CustomException("活动已启用,不能修改!");
+        }
         DistributionActivity update = BeanUtil.toBean(bo, DistributionActivity.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
-        return this.updateById(update);
+        this.updateById(update);
+        //删除活动商品和下发机构重新绑定
+        iDistributionActivityGoodsService.remove(new LambdaQueryWrapper<DistributionActivityGoods>()
+                .eq(DistributionActivityGoods::getDistributionId,bo.getDistributionId()));
+        //活动商品
+        if (CollectionUtils.isNotEmpty(bo.getGoodsList())){
+            List<DistributionActivityGoods> collect = bo.getGoodsList().stream().map(item -> {
+                DistributionActivityGoods entity = BeanUtil.toBean(item, DistributionActivityGoods.class);
+                entity.setDistributionId(update.getDistributionId());
+                entity.setCreateTime(DateUtils.getNowTime());
+                entity.setUpdateTime(DateUtils.getNowTime());
+                return entity;
+            }).collect(Collectors.toList());
+            iDistributionActivityGoodsService.saveBatch(collect);
+        }
+        return true;
     }
 
     /**
@@ -101,4 +189,63 @@ 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.getDistributionId());
+        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);
+                }
+            }
+        }
+        activity.setStatus(bo.getStatus());
+        return updateById(activity);
+    }
+
+    @Override
+    public boolean pullGoods(Long distributionId) {
+        DistributionActivity activity = getById(distributionId);
+        //总平台下发活动对比商品是否缺失
+        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()){
+            //不缺失商品信息
+            return true;
+        }
+        if (CollectionUtils.isEmpty(templateGoods)){
+            //总平台活动商品没有
+            return true;
+        }
+        if (CollectionUtils.isEmpty(activityGoods)){
+            //全部缺失
+            List<TopGoods> topGoods = iTopGoodsService.listByIds(templateGoods.stream().map(DistributionActivityTemplateGoods::getGoodsId).collect(Collectors.toList()));
+
+        }
+
+        return true;
+    }
 }

+ 0 - 210
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityTemplateServiceImpl.java

@@ -1,210 +0,0 @@
-package com.zhongzheng.modules.distribution.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.StrUtil;
-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;
-import com.zhongzheng.common.exception.CustomException;
-import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplate;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateGoods;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateRelation;
-import com.zhongzheng.modules.distribution.mapper.DistributionActivityTempMapper;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateGoodsService;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateRelationService;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateVo;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTenantVo;
-import com.zhongzheng.modules.system.domain.SysTenant;
-import com.zhongzheng.modules.system.service.ISysTenantService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 【请填写功能名称】Service业务层处理
- *
- * @author ruoyi
- * @date 2023-03-06
- */
-@Service
-public class DistributionActivityTemplateServiceImpl extends ServiceImpl<DistributionActivityTempMapper, DistributionActivityTemplate> implements IDistributionActivityTemplateService {
-
-    @Autowired
-    private IDistributionActivityTemplateRelationService iDistributionActivityTemplateRelationService;
-    @Autowired
-    private IDistributionActivityTemplateGoodsService iDistributionActivityTemplateGoodsService;
-    @Autowired
-    private ISysTenantService iSysTenantService;
-
-    @Override
-    public DistributionActivityTemplateVo queryById(Long id){
-        DistributionActivityTemplate db = this.baseMapper.selectById(id);
-        DistributionActivityTemplateVo vo = BeanUtil.toBean(db, DistributionActivityTemplateVo.class);
-        //获取商品和机构信息
-        List<DistributionActivityTemplateRelation> relationList = iDistributionActivityTemplateRelationService
-                .list(new LambdaQueryWrapper<DistributionActivityTemplateRelation>()
-                .eq(DistributionActivityTemplateRelation::getStatus,1)
-                .eq(DistributionActivityTemplateRelation::getDistributionTempId, vo.getId()));
-        if (CollectionUtils.isNotEmpty(relationList)){
-            if (relationList.size() == 1 && relationList.get(0).getTenantId() == 0){
-                //全部企业
-                vo.setIsAllOrg(1);
-            }else {
-                //切数据源
-                List<DistributionActivityTenantVo> activityTenantVos = relationList.stream().map(item -> {
-                    SysTenant tenant = iSysTenantService.getById(item.getTenantId());
-                    DistributionActivityTenantVo tenantVo = new DistributionActivityTenantVo();
-                    tenantVo.setTenantId(tenant.getTenantId());
-                    tenantVo.setTenantName(tenant.getTenantName());
-                    tenantVo.setAddress(tenant.getAddress());
-                    return tenantVo;
-                }).collect(Collectors.toList());
-                vo.setTenantList(activityTenantVos);
-            }
-        }
-
-        List<DistributionActivityTemplateGoods> templateGoodsList = iDistributionActivityTemplateGoodsService
-                .list(new LambdaQueryWrapper<DistributionActivityTemplateGoods>()
-                .eq(DistributionActivityTemplateGoods::getStatus, 1)
-                .eq(DistributionActivityTemplateGoods::getDistributionTempId, vo.getId()));
-
-        return vo;
-    }
-
-    @Override
-    public List<DistributionActivityTemplateVo> queryList(DistributionActivityTemplateQueryBo bo) {
-        LambdaQueryWrapper<DistributionActivityTemplate> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StrUtil.isNotBlank(bo.getCode()), DistributionActivityTemplate::getCode, bo.getCode());
-        lqw.eq(bo.getType() != null, DistributionActivityTemplate::getType, bo.getType());
-        lqw.like(StrUtil.isNotBlank(bo.getName()), DistributionActivityTemplate::getName, bo.getName());
-        lqw.eq(bo.getStatus() != null, DistributionActivityTemplate::getStatus, bo.getStatus());
-        lqw.eq(bo.getPosterTempId() != null, DistributionActivityTemplate::getPosterTempId, bo.getPosterTempId());
-        lqw.eq(bo.getStartTime() != null, DistributionActivityTemplate::getStartTime, bo.getStartTime());
-        lqw.eq(bo.getEndTime() != null, DistributionActivityTemplate::getEndTime, bo.getEndTime());
-        return entity2Vo(this.list(lqw));
-    }
-
-    /**
-    * 实体类转化成视图对象
-    *
-    * @param collection 实体类集合
-    * @return
-    */
-    private List<DistributionActivityTemplateVo> entity2Vo(Collection<DistributionActivityTemplate> collection) {
-        List<DistributionActivityTemplateVo> voList = collection.stream()
-                .map(any -> BeanUtil.toBean(any, DistributionActivityTemplateVo.class))
-                .collect(Collectors.toList());
-        if (collection instanceof Page) {
-            Page<DistributionActivityTemplate> page = (Page<DistributionActivityTemplate>)collection;
-            Page<DistributionActivityTemplateVo> pageVo = new Page<>();
-            BeanUtil.copyProperties(page,pageVo);
-            pageVo.addAll(voList);
-            voList = pageVo;
-        }
-        return voList;
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public Boolean insertByAddBo(DistributionActivityTemplateAddBo bo) {
-        //活动模板基本信息
-        DistributionActivityTemplate add = BeanUtil.toBean(bo, DistributionActivityTemplate.class);
-        validEntityBeforeSave(add);
-        add.setCreateTime(DateUtils.getNowTime());
-        add.setUpdateTime(DateUtils.getNowTime());
-        this.save(add);
-        this.saveRelation(bo,add.getId());
-        return true;
-    }
-
-    //添加关联信息
-    private void saveRelation(DistributionActivityTemplateAddBo bo, Long tempId){
-        //机构信息
-        if (ObjectUtils.isNotNull(bo.getIsAllOrg()) && bo.getIsAllOrg() == 1){
-            //发布所有机构
-            DistributionActivityTemplateRelation entity = new DistributionActivityTemplateRelation();
-            entity.setDistributionTempId(tempId);
-            entity.setTenantId(0L);
-            entity.setCreateTime(DateUtils.getNowTime());
-            entity.setUpdateTime(DateUtils.getNowTime());
-            iDistributionActivityTemplateRelationService.save(entity);
-        }
-        if (CollectionUtils.isNotEmpty(bo.getTenantIds())){
-            List<DistributionActivityTemplateRelation> entitys = bo.getTenantIds().stream().map(id -> {
-                DistributionActivityTemplateRelation entity = new DistributionActivityTemplateRelation();
-                entity.setDistributionTempId(tempId);
-                entity.setTenantId(id);
-                entity.setCreateTime(DateUtils.getNowTime());
-                entity.setUpdateTime(DateUtils.getNowTime());
-                return entity;
-            }).collect(Collectors.toList());
-            iDistributionActivityTemplateRelationService.saveBatch(entitys);
-        }
-        //活动商品
-        if (CollectionUtils.isNotEmpty(bo.getGoodsList())){
-            List<DistributionActivityTemplateGoods> collect = bo.getGoodsList().stream().map(item -> {
-                DistributionActivityTemplateGoods entity = BeanUtil.toBean(item, DistributionActivityTemplateGoods.class);
-                entity.setDistributionTempId(tempId);
-                entity.setCreateTime(DateUtils.getNowTime());
-                entity.setUpdateTime(DateUtils.getNowTime());
-                return entity;
-            }).collect(Collectors.toList());
-            iDistributionActivityTemplateGoodsService.saveBatch(collect);
-        }
-    }
-
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public Boolean updateByEditBo(DistributionActivityTemplateEditBo bo) {
-        //校验
-        DistributionActivityTemplate activityTemp = getById(bo.getId());
-        if (activityTemp.getPublishStatus() == 1){
-            throw new CustomException("活动已发布,不能修改!");
-        }
-        DistributionActivityTemplate update = BeanUtil.toBean(bo, DistributionActivityTemplate.class);
-        validEntityBeforeSave(update);
-        update.setUpdateTime(DateUtils.getNowTime());
-        this.updateById(update);
-        //删除活动商品和下发机构重新绑定
-        iDistributionActivityTemplateGoodsService.remove(new LambdaQueryWrapper<DistributionActivityTemplateGoods>()
-        .eq(DistributionActivityTemplateGoods::getDistributionTempId,bo.getId()));
-        iDistributionActivityTemplateRelationService.remove(new LambdaQueryWrapper<DistributionActivityTemplateRelation>()
-        .eq(DistributionActivityTemplateRelation::getDistributionTempId,bo.getId()));
-        DistributionActivityTemplateAddBo addBo = new DistributionActivityTemplateAddBo();
-        addBo.setIsAllOrg(bo.getIsAllOrg());
-        addBo.setGoodsList(bo.getGoodsList());
-        addBo.setTenantIds(bo.getTenantIds());
-        this.saveRelation(addBo,bo.getId());
-        return true;
-    }
-
-    /**
-     * 保存前的数据校验
-     *
-     * @param entity 实体类数据
-     */
-    private void validEntityBeforeSave(DistributionActivityTemplate entity){
-        //TODO 做一些数据校验,如唯一约束
-    }
-
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 做一些业务上的校验,判断是否需要校验
-        }
-        return this.removeByIds(ids);
-    }
-}

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityGoodsVo.java

@@ -31,6 +31,10 @@ public class DistributionActivityGoodsVo {
 	@Excel(name = "商品ID")
 	@ApiModelProperty("商品ID")
 	private Long goodsId;
+	@ApiModelProperty("商品名称")
+	private String goodsName;
+	@ApiModelProperty("商品活动价格")
+	private BigDecimal goodsPrice;
 	/** 总佣金上限 */
 	@Excel(name = "总佣金上限")
 	@ApiModelProperty("总佣金上限")

+ 41 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityImageVo.java

@@ -0,0 +1,41 @@
+package com.zhongzheng.modules.distribution.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 【请填写功能名称】对象 distribution_activity_poster
+ *
+ * @author ruoyi
+ * @date 2023-03-06
+ */
+@Data
+@ApiModel("海报底图对象VO")
+public class DistributionActivityImageVo implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** 活动海报模板ID */
+    @ApiModelProperty("活动海报模板ID")
+    private Long id;
+    /** 海报模板名称 */
+    @ApiModelProperty("海报模板名称")
+    private String name;
+    /** 海报模板地址 */
+    @ApiModelProperty("海报模板地址")
+    private String url;
+    /** 状态:1有效,0无效 */
+    @ApiModelProperty("状态:1有效,0无效")
+    private Integer status;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+}

+ 10 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityVo.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
 
 
 /**
@@ -63,5 +64,13 @@ public class DistributionActivityVo {
 	@Excel(name = "海报ID")
 	@ApiModelProperty("海报ID")
 	private Long posterId;
-	
+
+	@ApiModelProperty("海报名称")
+	private String posterTempName;
+	/** 创建人 */
+	@ApiModelProperty("创建人")
+	private String createBy;
+	@ApiModelProperty("活动商品集合")
+	private List<DistributionActivityGoodsVo> goodsList;
+
 }

+ 12 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionSellerVo.java

@@ -1,11 +1,9 @@
 package com.zhongzheng.modules.distribution.vo;
 
 import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.util.Date;
 
 
 
@@ -77,4 +75,16 @@ public class DistributionSellerVo {
 		this.setGzhOpenId(null);
 		this.setPassword(null);
 	}
+	@ApiModelProperty("邀请人姓名")
+	private String parentName;
+
+	@ApiModelProperty("邀请人编号	")
+	private String parentAccount;
+
+	@ApiModelProperty("推广人数	")
+	private String promotionNum;
+
+	@ApiModelProperty("所属机构")
+	private String tenantName;
+
 }

+ 13 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformRemindServiceImpl.java

@@ -3,12 +3,16 @@ package com.zhongzheng.modules.inform.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.convert.Convert;
 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.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
 import com.zhongzheng.modules.course.bo.CourseEducationTypeQueryBo;
 import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
-import com.zhongzheng.modules.course.domain.CourseMenu;
 import com.zhongzheng.modules.course.service.ICourseBusinessService;
 import com.zhongzheng.modules.course.service.ICourseEducationTypeService;
 import com.zhongzheng.modules.course.service.ICourseProjectTypeService;
@@ -18,29 +22,23 @@ import com.zhongzheng.modules.grade.bo.ClassGradeQueryBo;
 import com.zhongzheng.modules.grade.service.IClassGradeGoodsService;
 import com.zhongzheng.modules.grade.service.IClassGradeSysService;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
-import com.zhongzheng.modules.grade.vo.ClassGradeStudentVo;
+import com.zhongzheng.modules.inform.bo.InformRemindAddBo;
 import com.zhongzheng.modules.inform.bo.InformRemindBusinessAddBo;
+import com.zhongzheng.modules.inform.bo.InformRemindEditBo;
+import com.zhongzheng.modules.inform.bo.InformRemindQueryBo;
+import com.zhongzheng.modules.inform.domain.InformRemind;
 import com.zhongzheng.modules.inform.domain.InformRemindBusiness;
+import com.zhongzheng.modules.inform.mapper.InformRemindMapper;
 import com.zhongzheng.modules.inform.service.IInformRemindBusinessService;
+import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.vo.InformRemindBusinessVo;
+import com.zhongzheng.modules.inform.vo.InformRemindVo;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
 import com.zhongzheng.modules.user.service.IUserUpdateService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.Page;
-import com.zhongzheng.modules.inform.bo.InformRemindAddBo;
-import com.zhongzheng.modules.inform.bo.InformRemindQueryBo;
-import com.zhongzheng.modules.inform.bo.InformRemindEditBo;
-import com.zhongzheng.modules.inform.domain.InformRemind;
-import com.zhongzheng.modules.inform.mapper.InformRemindMapper;
-import com.zhongzheng.modules.inform.vo.InformRemindVo;
-import com.zhongzheng.modules.inform.service.IInformRemindService;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -51,6 +49,7 @@ import java.util.stream.Collectors;
  * @date 2021-11-25
  */
 @Service
+@DS("slave")
 public class InformRemindServiceImpl extends ServiceImpl<InformRemindMapper, InformRemind> implements IInformRemindService {
 
 

+ 6 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformSysUserServiceImpl.java

@@ -2,13 +2,17 @@ package com.zhongzheng.modules.inform.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 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;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.inform.bo.InformSysUserAddBo;
 import com.zhongzheng.modules.inform.bo.InformSysUserEditBo;
 import com.zhongzheng.modules.inform.bo.InformSysUserQueryBo;
-import com.zhongzheng.modules.inform.bo.InformUserEditBo;
 import com.zhongzheng.modules.inform.domain.InformRemind;
 import com.zhongzheng.modules.inform.domain.InformSysUser;
 import com.zhongzheng.modules.inform.mapper.InformSysUserMapper;
@@ -17,18 +21,11 @@ import com.zhongzheng.modules.inform.service.IInformSysUserService;
 import com.zhongzheng.modules.inform.vo.InformSysUserVo;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
-import com.zhongzheng.modules.user.domain.User;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.Page;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -39,6 +36,7 @@ import java.util.stream.Collectors;
  * @date 2022-08-04
  */
 @Service
+@DS("slave")
 public class InformSysUserServiceImpl extends ServiceImpl<InformSysUserMapper, InformSysUser> implements IInformSysUserService {
 
     @Autowired

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysUserRole.java

@@ -1,6 +1,5 @@
 package com.zhongzheng.modules.system.domain;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
@@ -25,4 +24,6 @@ public class SysUserRole {
      */
     private Long roleId;
 
+    private Long tenantId;
+
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysUserRoleService.java

@@ -0,0 +1,12 @@
+package com.zhongzheng.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.system.domain.SysUserRole;
+
+/**
+ * 角色业务层
+ *
+ * @author zhongzheng
+ */
+public interface ISysUserRoleService extends IService<SysUserRole> {
+}

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysRoleServiceImpl.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.system.service.impl;
 
 import cn.hutool.core.lang.Validator;
 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.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,7 +11,6 @@ import com.zhongzheng.common.constant.UserConstants;
 import com.zhongzheng.common.core.domain.entity.SysRole;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.spring.SpringUtils;
-import com.zhongzheng.modules.course.bo.CourseHandoutsBusinessAddBo;
 import com.zhongzheng.modules.system.bo.SysRoleBusinessQueryBo;
 import com.zhongzheng.modules.system.domain.SysRoleBusiness;
 import com.zhongzheng.modules.system.domain.SysRoleDept;
@@ -19,9 +19,9 @@ import com.zhongzheng.modules.system.domain.SysUserRole;
 import com.zhongzheng.modules.system.mapper.SysRoleDeptMapper;
 import com.zhongzheng.modules.system.mapper.SysRoleMapper;
 import com.zhongzheng.modules.system.mapper.SysRoleMenuMapper;
+import com.zhongzheng.modules.system.mapper.SysUserRoleMapper;
 import com.zhongzheng.modules.system.service.ISysRoleBusinessService;
 import com.zhongzheng.modules.system.service.ISysRoleService;
-import com.zhongzheng.modules.system.mapper.SysUserRoleMapper;
 import com.zhongzheng.modules.system.vo.SysRoleBusinessVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,6 +35,7 @@ import java.util.*;
  * @author zhongzheng
  */
 @Service
+@DS("slave")
 public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
 
     @Autowired

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysUserRoleServiceImpl.java

@@ -0,0 +1,18 @@
+package com.zhongzheng.modules.system.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.modules.system.domain.SysUserRole;
+import com.zhongzheng.modules.system.mapper.SysUserRoleMapper;
+import com.zhongzheng.modules.system.service.ISysUserRoleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 角色业务层
+ *
+ * @author zhongzheng
+ */
+@Service
+@DS("slave")
+public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService {
+}

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/vo/SysTenantVo.java

@@ -3,11 +3,9 @@ package com.zhongzheng.modules.system.vo;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.util.Date;
 
 
 
@@ -36,4 +34,7 @@ public class SysTenantVo {
 	@ApiModelProperty("名称")
 	private String tenantName;
 
+	@ApiModelProperty("地址")
+	private String address;
+
 }

+ 6 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateAddBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateAddBo.java

@@ -1,5 +1,6 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTenantVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -53,6 +54,8 @@ public class DistributionActivityTemplateAddBo {
     /** 创建人 */
     @ApiModelProperty("创建人")
     private String createBy;
+    @ApiModelProperty("创建人ID")
+    private Long createTopSysUserId;
     /** 修改时间 */
     @ApiModelProperty("修改时间")
     private Long updateTime;
@@ -60,8 +63,8 @@ public class DistributionActivityTemplateAddBo {
     @ApiModelProperty("是否所有机构:1是,0否")
     private Integer isAllOrg;
 
-    @ApiModelProperty("机构ID集合")
-    private List<Long> tenantIds;
+    @ApiModelProperty("机构集合")
+    private List<DistributionActivityTenantVo> tenantList;
 
     @ApiModelProperty("活动商品集合")
     private List<DistributionActivityTemplateGoodsAddBo> goodsList;

+ 4 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateEditBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateEditBo.java

@@ -1,5 +1,6 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTenantVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -65,8 +66,8 @@ public class DistributionActivityTemplateEditBo {
     @ApiModelProperty("是否所有机构:1是,0否")
     private Integer isAllOrg;
 
-    @ApiModelProperty("机构ID集合")
-    private List<Long> tenantIds;
+    @ApiModelProperty("机构集合")
+    private List<DistributionActivityTenantVo> tenantList;
 
     @ApiModelProperty("活动商品集合")
     private List<DistributionActivityTemplateGoodsAddBo> goodsList;

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateGoodsAddBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateGoodsAddBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -23,6 +23,9 @@ public class DistributionActivityTemplateGoodsAddBo {
     /** 商品ID */
     @ApiModelProperty("商品ID")
     private Long goodsId;
+    /** 商品活动价格 */
+    @ApiModelProperty("商品活动价格")
+    private BigDecimal goodsPrice;
     /** 佣金上限 */
     @ApiModelProperty("佣金上限")
     private BigDecimal profitMax;

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateGoodsEditBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateGoodsEditBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -29,6 +29,10 @@ public class DistributionActivityTemplateGoodsEditBo {
     @ApiModelProperty("商品ID")
     private Long goodsId;
 
+    /** 商品活动价格 */
+    @ApiModelProperty("商品活动价格")
+    private BigDecimal goodsPrice;
+
     /** 佣金上限 */
     @ApiModelProperty("佣金上限")
     private BigDecimal profitMax;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateGoodsQueryBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateGoodsQueryBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import com.zhongzheng.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplatePosterAddBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplatePosterAddBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 5 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplatePosterQueryBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplatePosterQueryBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import com.zhongzheng.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 /**
  * 【请填写功能名称】分页查询对象 distribution_activity_temp_poster
  *
@@ -38,6 +40,6 @@ public class DistributionActivityTemplatePosterQueryBo extends BaseEntity {
 	@ApiModelProperty("海报模板名称")
 	private String name;
 	/** 状态:1有效,0无效 */
-	@ApiModelProperty("状态:1有效,-1无效")
-	private Integer status;
+	@ApiModelProperty("1有效,0禁用,-1无效")
+	private List<Integer> status;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateQueryBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateQueryBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateRelationAddBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateRelationAddBo.java

@@ -1,10 +1,8 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import java.util.Date;
 
 
 

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateRelationEditBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateRelationEditBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionActivityTemplateRelationQueryBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionActivityTemplateRelationQueryBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 36 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/DistributionSellerQuery.java

@@ -0,0 +1,36 @@
+package com.zhongzheng.modules.top.distribution.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年03月22日 9:53
+ */
+@Data
+public class DistributionSellerQuery implements Serializable {
+
+    /** 分页大小 */
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+    /** 当前页数 */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+    /** 排序列 */
+    @ApiModelProperty("排序列")
+    private String orderByColumn;
+    /** 排序的方向desc或者asc */
+    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
+    private String isAsc;
+
+    @ApiModelProperty("机构ID")
+    private Long tenantId;
+
+    @ApiModelProperty("邀请人")
+    private String parentName;
+
+    @ApiModelProperty("姓名")
+    private String realname;
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/distributionActivityTemplatePosterEditBo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/bo/distributionActivityTemplatePosterEditBo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.bo;
+package com.zhongzheng.modules.top.distribution.bo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityTemplate.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplate.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.domain;
+package com.zhongzheng.modules.top.distribution.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -51,7 +51,6 @@ private static final long serialVersionUID=1L;
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;
     /** 创建人 */
-    @TableField(fill = FieldFill.INSERT)
     private String createBy;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityTemplateGoods.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplateGoods.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.domain;
+package com.zhongzheng.modules.top.distribution.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -32,6 +32,8 @@ private static final long serialVersionUID=1L;
     private Long distributionTempId;
     /** 商品ID */
     private Long goodsId;
+    /** 商品活动价格 */
+    private BigDecimal goodsPrice;
     /** 佣金上限 */
     private BigDecimal profitMax;
     /** 状态:1有效,0无效 */

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityTemplateImage.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplateImage.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.domain;
+package com.zhongzheng.modules.top.distribution.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityTemplatePoster.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplatePoster.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.domain;
+package com.zhongzheng.modules.top.distribution.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionActivityTemplateRelation.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/domain/DistributionActivityTemplateRelation.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.domain;
+package com.zhongzheng.modules.top.distribution.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityTempGoodsMapper.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempGoodsMapper.java

@@ -1,7 +1,7 @@
-package com.zhongzheng.modules.distribution.mapper;
+package com.zhongzheng.modules.top.distribution.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateGoods;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateGoods;
 
 /**
  * 【请填写功能名称】Mapper接口

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.top.distribution.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplate;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-03-06
+ */
+public interface DistributionActivityTempMapper extends BaseMapper<DistributionActivityTemplate> {
+
+}

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityTempPosterMapper.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempPosterMapper.java

@@ -1,7 +1,7 @@
-package com.zhongzheng.modules.distribution.mapper;
+package com.zhongzheng.modules.top.distribution.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplatePoster;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplatePoster;
 
 /**
  * 【请填写功能名称】Mapper接口

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityTempRelationMapper.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTempRelationMapper.java

@@ -1,7 +1,7 @@
-package com.zhongzheng.modules.distribution.mapper;
+package com.zhongzheng.modules.top.distribution.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateRelation;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateRelation;
 
 /**
  * 【请填写功能名称】Mapper接口

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/mapper/DistributionActivityTemplateImageMapper.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/mapper/DistributionActivityTemplateImageMapper.java

@@ -1,7 +1,7 @@
-package com.zhongzheng.modules.distribution.mapper;
+package com.zhongzheng.modules.top.distribution.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateImage;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateImage;
 
 /**
  * 【请填写功能名称】Mapper接口

+ 6 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityTemplateGoodsService.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateGoodsService.java

@@ -1,11 +1,11 @@
-package com.zhongzheng.modules.distribution.service;
+package com.zhongzheng.modules.top.distribution.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateGoods;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateGoodsVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsQueryBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateGoods;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateGoodsVo;
 
 import java.util.Collection;
 import java.util.List;

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityTemplateImageService.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateImageService.java

@@ -1,8 +1,8 @@
-package com.zhongzheng.modules.distribution.service;
+package com.zhongzheng.modules.top.distribution.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateImage;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateImage;
 
 /**
  * 【请填写功能名称】Service接口

+ 6 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityTemplatePosterService.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplatePosterService.java

@@ -1,13 +1,12 @@
-package com.zhongzheng.modules.distribution.service;
+package com.zhongzheng.modules.top.distribution.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplatePosterAddBo;
-import com.zhongzheng.modules.distribution.bo.distributionActivityTemplatePosterEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplatePosterQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplatePoster;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplatePosterVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplatePosterAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplatePosterQueryBo;
+import com.zhongzheng.modules.top.distribution.bo.distributionActivityTemplatePosterEditBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplatePoster;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplatePosterVo;
 
-import java.util.Collection;
 import java.util.List;
 
 /**
@@ -42,11 +41,4 @@ public interface IDistributionActivityTemplatePosterService extends IService<Dis
 	 */
 	Boolean updateByEditBo(distributionActivityTemplatePosterEditBo bo);
 
-	/**
-	 * 校验并删除数据
-	 * @param ids 主键集合
-	 * @param isValid 是否校验,true-删除前校验,false-不校验
-	 * @return
-	 */
-	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 }

+ 6 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityTemplateRelationService.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateRelationService.java

@@ -1,12 +1,12 @@
-package com.zhongzheng.modules.distribution.service;
+package com.zhongzheng.modules.top.distribution.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateRelation;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateRelationVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationQueryBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateRelation;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateRelationVo;
 
 import java.util.Collection;
 import java.util.List;

+ 22 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityTemplateService.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/IDistributionActivityTemplateService.java

@@ -1,12 +1,15 @@
-package com.zhongzheng.modules.distribution.service;
+package com.zhongzheng.modules.top.distribution.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplate;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateVo;
+import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateQueryBo;
+import com.zhongzheng.modules.distribution.bo.DistributionStatusEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplate;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -50,4 +53,17 @@ public interface IDistributionActivityTemplateService extends IService<Distribut
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+	boolean updateStatus(DistributionStatusEditBo bo);
+
+	/**
+	 * 活动模板发布
+	 * @author change
+	 * @date 2023/3/18 10:30
+	 * @param templateId
+	 * @return boolean
+	 */
+    boolean publishActivity(Long templateId);
+
+    List<DistributionSellerVo> sellerList(DistributionSellerQuery query);
 }

+ 10 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityTemplateGoodsServiceImpl.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateGoodsServiceImpl.java

@@ -1,18 +1,19 @@
-package com.zhongzheng.modules.distribution.service.impl;
+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;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateGoodsQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateGoods;
-import com.zhongzheng.modules.distribution.mapper.DistributionActivityTempGoodsMapper;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateGoodsService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateGoodsVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateGoodsQueryBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateGoods;
+import com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempGoodsMapper;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateGoodsService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateGoodsVo;
 import org.springframework.stereotype.Service;
 
 import java.util.Collection;
@@ -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

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

@@ -0,0 +1,17 @@
+package com.zhongzheng.modules.top.distribution.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateImage;
+import com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTemplateImageMapper;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateImageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-03-13
+ */
+@Service
+public class DistributionActivityTemplateImageServiceImpl extends ServiceImpl<DistributionActivityTemplateImageMapper, DistributionActivityTemplateImage> implements IDistributionActivityTemplateImageService {
+}

+ 12 - 19
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityTemplatePosterServiceImpl.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplatePosterServiceImpl.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.service.impl;
+package com.zhongzheng.modules.top.distribution.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
@@ -8,15 +8,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplatePosterAddBo;
-import com.zhongzheng.modules.distribution.bo.distributionActivityTemplatePosterEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplatePosterQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplate;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplatePoster;
-import com.zhongzheng.modules.distribution.mapper.DistributionActivityTempPosterMapper;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplatePosterService;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplatePosterVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplatePosterAddBo;
+import com.zhongzheng.modules.top.distribution.bo.distributionActivityTemplatePosterEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplatePosterQueryBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplate;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplatePoster;
+import com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempPosterMapper;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplatePosterService;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplatePosterVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -45,8 +45,8 @@ public class DistributionActivityTemplatePosterServiceImpl extends ServiceImpl<D
     @Override
     public List<DistributionActivityTemplatePosterVo> queryList(DistributionActivityTemplatePosterQueryBo bo) {
         LambdaQueryWrapper<DistributionActivityTemplatePoster> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StrUtil.isNotBlank(bo.getPosterUrl()), DistributionActivityTemplatePoster::getPosterUrl, bo.getPosterUrl());
-        lqw.eq(bo.getStatus() != null, DistributionActivityTemplatePoster::getStatus, bo.getStatus());
+        lqw.like(StrUtil.isNotBlank(bo.getName()), DistributionActivityTemplatePoster::getName, bo.getName());
+        lqw.in(bo.getStatus() != null, DistributionActivityTemplatePoster::getStatus, bo.getStatus());
         return entity2Vo(this.list(lqw));
     }
 
@@ -104,11 +104,4 @@ public class DistributionActivityTemplatePosterServiceImpl extends ServiceImpl<D
         //TODO 做一些数据校验,如唯一约束
     }
 
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 做一些业务上的校验,判断是否需要校验
-        }
-        return this.removeByIds(ids);
-    }
 }

+ 8 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityTemplateRelationServiceImpl.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateRelationServiceImpl.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.service.impl;
+package com.zhongzheng.modules.top.distribution.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -6,13 +6,13 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationAddBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationEditBo;
-import com.zhongzheng.modules.distribution.bo.DistributionActivityTemplateRelationQueryBo;
-import com.zhongzheng.modules.distribution.domain.DistributionActivityTemplateRelation;
-import com.zhongzheng.modules.distribution.mapper.DistributionActivityTempRelationMapper;
-import com.zhongzheng.modules.distribution.service.IDistributionActivityTemplateRelationService;
-import com.zhongzheng.modules.distribution.vo.DistributionActivityTemplateRelationVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateRelationQueryBo;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateRelation;
+import com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempRelationMapper;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateRelationService;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateRelationVo;
 import org.springframework.stereotype.Service;
 
 import java.util.Collection;

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

@@ -0,0 +1,392 @@
+package com.zhongzheng.modules.top.distribution.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+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;
+import com.zhongzheng.common.core.domain.entity.SysRole;
+import com.zhongzheng.common.core.domain.entity.TopSysUser;
+import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateAddBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateEditBo;
+import com.zhongzheng.modules.top.distribution.bo.DistributionActivityTemplateQueryBo;
+import com.zhongzheng.modules.distribution.bo.DistributionStatusEditBo;
+import com.zhongzheng.modules.distribution.domain.*;
+import com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery;
+import com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempMapper;
+import com.zhongzheng.modules.distribution.service.*;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateGoodsVo;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateVo;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTenantVo;
+import com.zhongzheng.modules.goods.domain.Goods;
+import com.zhongzheng.modules.goods.service.IGoodsService;
+import com.zhongzheng.modules.inform.bo.InformSysUserAddBo;
+import com.zhongzheng.modules.inform.service.IInformRemindService;
+import com.zhongzheng.modules.inform.service.IInformSysUserService;
+import com.zhongzheng.modules.inform.vo.InformRemindVo;
+import com.zhongzheng.modules.system.domain.SysTenant;
+import com.zhongzheng.modules.system.domain.SysUserRole;
+import com.zhongzheng.modules.system.service.ISysRoleService;
+import com.zhongzheng.modules.system.service.ISysTenantService;
+import com.zhongzheng.modules.system.service.ISysUserRoleService;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplate;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateGoods;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplatePoster;
+import com.zhongzheng.modules.top.distribution.domain.DistributionActivityTemplateRelation;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateGoodsService;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplatePosterService;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateRelationService;
+import com.zhongzheng.modules.top.distribution.service.IDistributionActivityTemplateService;
+import com.zhongzheng.modules.top.goods.domain.TopGoods;
+import com.zhongzheng.modules.top.goods.service.ITopGoodsService;
+import com.zhongzheng.modules.top.user.service.ITopSysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-03-06
+ */
+@Service
+public class DistributionActivityTemplateServiceImpl extends ServiceImpl<DistributionActivityTempMapper, DistributionActivityTemplate> implements IDistributionActivityTemplateService {
+
+    @Autowired
+    private IDistributionActivityTemplateRelationService iDistributionActivityTemplateRelationService;
+    @Autowired
+    private IDistributionActivityTemplateGoodsService iDistributionActivityTemplateGoodsService;
+    @Autowired
+    private IDistributionActivityTemplatePosterService iDistributionActivityTemplatePosterService;
+    @Autowired
+    private IDistributionActivityService iDistributionActivityService;
+    @Autowired
+    private IDistributionActivityPosterService iDistributionActivityPosterService;
+    @Autowired
+    private IDistributionActivityGoodsService iDistributionActivityGoodsService;
+    @Autowired
+    private ISysTenantService iSysTenantService;
+    @Autowired
+    private ITopGoodsService iTopGoodsService;
+    @Autowired
+    private IGoodsService iGoodsService;
+    @Autowired
+    private ISysRoleService iSysRoleService;
+    @Autowired
+    private ISysUserRoleService iSysUserRoleService;
+    @Autowired
+    private IInformSysUserService iInformSysUserService;
+    @Autowired
+    private IInformRemindService informRemindService;
+    @Autowired
+    private ITopSysUserService iTopSysUserService;
+    @Autowired
+    private IDistributionSellerService iDistributionSellerService;
+
+    @Override
+    public DistributionActivityTemplateVo queryById(Long id){
+        DistributionActivityTemplate db = this.baseMapper.selectById(id);
+        DistributionActivityTemplateVo vo = BeanUtil.toBean(db, DistributionActivityTemplateVo.class);
+        //获取商品和机构信息
+        List<DistributionActivityTemplateRelation> relationList = iDistributionActivityTemplateRelationService
+                .list(new LambdaQueryWrapper<DistributionActivityTemplateRelation>()
+                .eq(DistributionActivityTemplateRelation::getStatus,1)
+                .eq(DistributionActivityTemplateRelation::getDistributionTempId, vo.getId()));
+        if (CollectionUtils.isNotEmpty(relationList)){
+            if (relationList.size() == 1 && relationList.get(0).getTenantId() == 0){
+                //全部企业
+                vo.setIsAllOrg(1);
+            }else {
+                //切数据源
+                List<DistributionActivityTenantVo> activityTenantVos = relationList.stream().map(item -> {
+                    SysTenant tenant = iSysTenantService.getById(item.getTenantId());
+                    DistributionActivityTenantVo tenantVo = new DistributionActivityTenantVo();
+                    tenantVo.setTenantId(tenant.getTenantId());
+                    tenantVo.setTenantName(tenant.getTenantName());
+                    tenantVo.setAddress(tenant.getAddress());
+                    tenantVo.setStatus(tenant.getStatus());
+                    return tenantVo;
+                }).collect(Collectors.toList());
+                vo.setTenantList(activityTenantVos);
+            }
+        }
+
+        List<DistributionActivityTemplateGoods> templateGoodsList = iDistributionActivityTemplateGoodsService
+                .list(new LambdaQueryWrapper<DistributionActivityTemplateGoods>()
+                .eq(DistributionActivityTemplateGoods::getStatus, 1)
+                .eq(DistributionActivityTemplateGoods::getDistributionTempId, vo.getId()));
+        if (CollectionUtils.isNotEmpty(templateGoodsList)){
+            List<DistributionActivityTemplateGoodsVo> templateGoodsVos = templateGoodsList.stream().map(item -> {
+                DistributionActivityTemplateGoodsVo goodsVo = BeanUtil.toBean(item, DistributionActivityTemplateGoodsVo.class);
+                TopGoods topGoods = iTopGoodsService.getById(goodsVo.getGoodsId());
+                goodsVo.setGoodsName(topGoods.getGoodsName());
+                goodsVo.setGoodsPrice(topGoods.getStandPrice());
+                return goodsVo;
+            }).collect(Collectors.toList());
+            vo.setGoodsList(templateGoodsVos);
+        }
+        return vo;
+    }
+
+    @Override
+    public List<DistributionActivityTemplateVo> queryList(DistributionActivityTemplateQueryBo bo) {
+        LambdaQueryWrapper<DistributionActivityTemplate> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getCode()), DistributionActivityTemplate::getCode, bo.getCode());
+        lqw.eq(bo.getType() != null, DistributionActivityTemplate::getType, bo.getType());
+        lqw.like(StrUtil.isNotBlank(bo.getName()), DistributionActivityTemplate::getName, bo.getName());
+        lqw.eq(bo.getStatus() != null, DistributionActivityTemplate::getStatus, bo.getStatus());
+        lqw.eq(bo.getPosterTempId() != null, DistributionActivityTemplate::getPosterTempId, bo.getPosterTempId());
+        lqw.eq(bo.getStartTime() != null, DistributionActivityTemplate::getStartTime, bo.getStartTime());
+        lqw.eq(bo.getEndTime() != null, DistributionActivityTemplate::getEndTime, bo.getEndTime());
+        List<DistributionActivityTemplateVo> voList = entity2Vo(this.list(lqw));
+        if (CollectionUtils.isEmpty(voList)){
+            return new ArrayList<>();
+        }
+        voList.forEach(item -> {
+            DistributionActivityTemplatePoster templatePoster = iDistributionActivityTemplatePosterService.getById(item.getPosterTempId());
+            item.setPosterTempName(templatePoster.getName());
+        });
+        return voList;
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<DistributionActivityTemplateVo> entity2Vo(Collection<DistributionActivityTemplate> collection) {
+        List<DistributionActivityTemplateVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, DistributionActivityTemplateVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<DistributionActivityTemplate> page = (Page<DistributionActivityTemplate>)collection;
+            Page<DistributionActivityTemplateVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+//    @Transactional(rollbackFor = Exception.class)
+    public Boolean insertByAddBo(DistributionActivityTemplateAddBo bo) {
+        //活动模板基本信息
+        DistributionActivityTemplate add = BeanUtil.toBean(bo, DistributionActivityTemplate.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        TopSysUser user = iTopSysUserService.getById(bo.getCreateTopSysUserId());
+        if (ObjectUtils.isNotNull(user)){
+            add.setCreateBy(user.getUserName());
+        }
+        this.save(add);
+        this.saveRelation(bo,add.getId());
+        if (ObjectUtils.isNotNull(bo.getPublishStatus()) && bo.getPublishStatus() == 1){
+            this.publishActivity(add.getId());
+        }
+        return true;
+    }
+
+    //添加关联信息
+    private void saveRelation(DistributionActivityTemplateAddBo bo, Long tempId){
+        //机构信息
+        if (ObjectUtils.isNotNull(bo.getIsAllOrg()) && bo.getIsAllOrg() == 1){
+            //发布所有机构
+            DistributionActivityTemplateRelation entity = new DistributionActivityTemplateRelation();
+            entity.setDistributionTempId(tempId);
+            entity.setTenantId(0L);
+            entity.setCreateTime(DateUtils.getNowTime());
+            entity.setUpdateTime(DateUtils.getNowTime());
+            iDistributionActivityTemplateRelationService.save(entity);
+        }
+        if (CollectionUtils.isNotEmpty(bo.getTenantList())){
+            List<DistributionActivityTemplateRelation> entitys = bo.getTenantList().stream().map(tenant -> {
+                DistributionActivityTemplateRelation entity = new DistributionActivityTemplateRelation();
+                entity.setDistributionTempId(tempId);
+                entity.setTenantId(tenant.getTenantId());
+                entity.setCreateTime(DateUtils.getNowTime());
+                entity.setUpdateTime(DateUtils.getNowTime());
+                return entity;
+            }).collect(Collectors.toList());
+            iDistributionActivityTemplateRelationService.saveBatch(entitys);
+        }
+        //活动商品
+        if (CollectionUtils.isNotEmpty(bo.getGoodsList())){
+            List<DistributionActivityTemplateGoods> collect = bo.getGoodsList().stream().map(item -> {
+                DistributionActivityTemplateGoods entity = BeanUtil.toBean(item, DistributionActivityTemplateGoods.class);
+                entity.setDistributionTempId(tempId);
+                entity.setCreateTime(DateUtils.getNowTime());
+                entity.setUpdateTime(DateUtils.getNowTime());
+                return entity;
+            }).collect(Collectors.toList());
+            iDistributionActivityTemplateGoodsService.saveBatch(collect);
+        }
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateByEditBo(DistributionActivityTemplateEditBo bo) {
+        //校验
+        DistributionActivityTemplate activityTemp = getById(bo.getId());
+        if (activityTemp.getPublishStatus() == 1){
+            throw new CustomException("活动已发布,不能修改!");
+        }
+        DistributionActivityTemplate update = BeanUtil.toBean(bo, DistributionActivityTemplate.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        this.updateById(update);
+        //删除活动商品和下发机构重新绑定
+        iDistributionActivityTemplateGoodsService.remove(new LambdaQueryWrapper<DistributionActivityTemplateGoods>()
+        .eq(DistributionActivityTemplateGoods::getDistributionTempId,bo.getId()));
+        iDistributionActivityTemplateRelationService.remove(new LambdaQueryWrapper<DistributionActivityTemplateRelation>()
+        .eq(DistributionActivityTemplateRelation::getDistributionTempId,bo.getId()));
+        DistributionActivityTemplateAddBo addBo = new DistributionActivityTemplateAddBo();
+        addBo.setIsAllOrg(bo.getIsAllOrg());
+        addBo.setGoodsList(bo.getGoodsList());
+        addBo.setTenantList(bo.getTenantList());
+        this.saveRelation(addBo,bo.getId());
+        return true;
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(DistributionActivityTemplate entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+
+    @Override
+    public boolean updateStatus(DistributionStatusEditBo bo) {
+        DistributionActivityTemplate template = getById(bo.getDistributionTemplateId());
+        if (ObjectUtils.isNull(template)){
+            throw new CustomException("活动模板吧存在,请检查!");
+        }
+        template.setStatus(bo.getStatus());
+        return updateById(template);
+    }
+
+    @Override
+    public boolean publishActivity(Long templateId) {
+        DistributionActivityTemplate template = getById(templateId);
+        if (ObjectUtils.isNull(template)){
+            throw new CustomException("模板不存在,请检查!");
+        }
+        //商品信息
+        List<DistributionActivityTemplateGoods> goodsList = iDistributionActivityTemplateGoodsService
+                .list(new LambdaQueryWrapper<DistributionActivityTemplateGoods>()
+                .eq(DistributionActivityTemplateGoods::getDistributionTempId, templateId));
+        if (CollectionUtils.isEmpty(goodsList)){
+            throw new CustomException("模板商品信息为空,请检查!");
+        }
+        //机构信息
+        List<DistributionActivityTemplateRelation> relationList = iDistributionActivityTemplateRelationService
+                .list(new LambdaQueryWrapper<DistributionActivityTemplateRelation>()
+                .eq(DistributionActivityTemplateRelation::getDistributionTempId, templateId)
+                .eq(DistributionActivityTemplateRelation::getStatus,1));
+        if (CollectionUtils.isEmpty(relationList)) {
+            throw new CustomException("指定机构信息为空,请检查!");
+        }
+        List<Long> tenantId = new ArrayList<>();
+        if (relationList.stream().anyMatch(item -> item.getTenantId() == 0L)){
+            //全部机构
+            List<SysTenant> list = iSysTenantService.list(new LambdaQueryWrapper<SysTenant>().eq(SysTenant::getStatus, 1));
+            tenantId = list.stream().map(SysTenant::getTenantId).collect(Collectors.toList());
+        }else {
+            tenantId = relationList.stream().map(DistributionActivityTemplateRelation::getTenantId).collect(Collectors.toList());
+        }
+
+        tenantId.forEach(id -> {
+             //同步活动信息
+            DistributionActivityTemplatePoster templatePoster = iDistributionActivityTemplatePosterService.getById(template.getPosterTempId());
+            DistributionActivityPoster poster = BeanUtil.toBean(templatePoster, DistributionActivityPoster.class);
+            poster.setUrl(templatePoster.getPosterUrl());
+            poster.setTenantId(id);
+            iDistributionActivityPosterService.save(poster);
+            DistributionActivity dailyActivity = BeanUtil.toBean(template, DistributionActivity.class);
+            dailyActivity.setPosterId(poster.getPosterId());
+            dailyActivity.setTempId(template.getId());
+            dailyActivity.setTenantId(id);
+            dailyActivity.setUseStatus(0);
+            iDistributionActivityService.save(dailyActivity);
+            //商品
+            List<DistributionActivityGoods> activityGoodsList = new ArrayList<>();
+            goodsList.forEach(item -> {
+                TopGoods topGoods = iTopGoodsService.getById(item.getGoodsId());
+                Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>()
+                        .eq(Goods::getCode, topGoods.getCode())
+                        .eq(Goods::getTenantId,id)
+                        .eq(Goods::getStatus, 1).last("limit 1"));
+                if (ObjectUtils.isNotNull(goods)){
+                    DistributionActivityGoods activityGoods = BeanUtil.toBean(item, DistributionActivityGoods.class);
+                    activityGoods.setId(null);
+                    activityGoods.setGoodsId(goods.getGoodsId());
+                    activityGoods.setTenantId(id);
+                    activityGoods.setDistributionId(dailyActivity.getDistributionId());
+                    activityGoodsList.add(activityGoods);
+                }
+            });
+            iDistributionActivityGoodsService.saveBatch(activityGoodsList);
+
+            //站内信通知业务员管理员 seller_admin
+            SysRole role = iSysRoleService.getOne(new LambdaQueryWrapper<SysRole>()
+                    .eq(SysRole::getRoleKey, "seller_admin")
+                    .eq(SysRole::getTenantId,id)
+                    .eq(SysRole::getStatus, 1).last("limit 1"));
+            if (ObjectUtils.isNotNull(role)){
+                List<SysUserRole> sysUserRoles = iSysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>()
+                        .eq(SysUserRole::getRoleId, role.getRoleId())
+                        .eq(SysUserRole::getTenantId, id));
+                InformRemindVo informRemindVo = informRemindService.queryByName("课程试卷未做完7天提醒");
+                if (CollectionUtils.isNotEmpty(sysUserRoles) && ObjectUtils.isNotNull(informRemindVo)){
+                    sysUserRoles.forEach(item -> {
+                        InformSysUserAddBo informUserAddBo = new InformSysUserAddBo();
+                        informUserAddBo.setUserId(item.getUserId());
+                        informUserAddBo.setSendStatus(1);
+                        informUserAddBo.setSendTime(DateUtils.getNowTime());
+                        informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                        informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                        informUserAddBo.setSystemStatus(1);
+                        informUserAddBo.setRemindId(informRemindVo.getId());
+                        informUserAddBo.setPlanId(dailyActivity.getDistributionId());
+                        informUserAddBo.setRemind("分销活动提醒");
+                        informUserAddBo.setText("有新的分销活动,请查看!");
+                        iInformSysUserService.insertByAddBo(informUserAddBo);
+                    });
+                }
+            }
+
+        });
+        template.setPublishStatus(1);
+        return updateById(template);
+    }
+
+    @Override
+    public List<DistributionSellerVo> sellerList(DistributionSellerQuery query) {
+        return iDistributionSellerService.getSellerListByTenant(query);
+    }
+}

+ 4 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityTemplateGoodsVo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateGoodsVo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.vo;
+package com.zhongzheng.modules.top.distribution.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
@@ -31,7 +31,9 @@ public class DistributionActivityTemplateGoodsVo {
 	@Excel(name = "商品ID")
 	@ApiModelProperty("商品ID")
 	private Long goodsId;
-	@ApiModelProperty("商品价格")
+	@ApiModelProperty("商品名称")
+	private String goodsName;
+	@ApiModelProperty("商品活动价格")
 	private BigDecimal goodsPrice;
 	/** 佣金上限 */
 	@Excel(name = "佣金上限")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityTemplateImageVo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateImageVo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.vo;
+package com.zhongzheng.modules.top.distribution.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;

+ 9 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityTemplatePosterVo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplatePosterVo.java

@@ -1,6 +1,5 @@
-package com.zhongzheng.modules.distribution.vo;
+package com.zhongzheng.modules.top.distribution.vo;
 
-import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -22,18 +21,24 @@ public class DistributionActivityTemplatePosterVo {
 	@ApiModelProperty("活动海报模板ID")
 	private Long posterTempId;
 
+	@ApiModelProperty("海报模板名称")
+	private String name;
 	/** 海报模板地址 */
-	@Excel(name = "海报模板地址")
 	@ApiModelProperty("海报模板地址")
 	private String posterUrl;
 	/** 海报配置 */
 	@ApiModelProperty("海报配置")
 	private String posterConfig;
 	/** 状态:1有效,0无效 */
-	@Excel(name = "状态:1有效,0无效")
 	@ApiModelProperty("状态:1有效,-1无效")
 	private Integer status;
 	/** 使用状态:1启用,0关闭 */
 	@ApiModelProperty("使用状态:1启用,0关闭")
 	private Integer useStatus;
+	@ApiModelProperty("添加时间")
+	private Long createTime;
+	@ApiModelProperty("修改时间")
+	private Long updateTime;
+	@ApiModelProperty("备注")
+	private String remark;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityTemplateRelationVo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateRelationVo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.vo;
+package com.zhongzheng.modules.top.distribution.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 6 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityTemplateVo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTemplateVo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.vo;
+package com.zhongzheng.modules.top.distribution.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
@@ -52,6 +52,8 @@ public class DistributionActivityTemplateVo {
 	@Excel(name = "海报模板ID")
 	@ApiModelProperty("海报模板ID")
 	private Long posterTempId;
+	@ApiModelProperty("海报模板")
+	private String posterTempName;
 	/** 开始时间 */
 	@Excel(name = "开始时间")
 	@ApiModelProperty("开始时间")
@@ -60,6 +62,9 @@ public class DistributionActivityTemplateVo {
 	@Excel(name = "结束时间")
 	@ApiModelProperty("结束时间")
 	private Long endTime;
+	/** 创建人 */
+	@ApiModelProperty("创建人")
+	private String createBy;
 
 	@ApiModelProperty("是否所有机构:1是,0否")
 	private Integer isAllOrg;

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionActivityTenantVo.java → zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/vo/DistributionActivityTenantVo.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.vo;
+package com.zhongzheng.modules.top.distribution.vo;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -21,4 +21,7 @@ public class DistributionActivityTenantVo implements Serializable {
     @ApiModelProperty("地址")
     private String address;
 
+    @ApiModelProperty("0 失效 1启用")
+    private Integer status;
+
 }

+ 5 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopGoodsServiceImpl.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.top.goods.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -34,6 +35,7 @@ import com.zhongzheng.modules.top.goods.domain.*;
 import com.zhongzheng.modules.top.goods.mapper.TopGoodsMapper;
 import com.zhongzheng.modules.top.goods.service.*;
 import com.zhongzheng.modules.top.goods.vo.TopBankGoodsExamVo;
+import com.zhongzheng.modules.user.service.ISchoolService;
 import net.polyv.common.v1.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -52,6 +54,7 @@ import java.util.stream.Collectors;
  * @date 2023-03-15
  */
 @Service
+@DS("master")
 public class TopGoodsServiceImpl extends ServiceImpl<TopGoodsMapper, TopGoods> implements ITopGoodsService {
 
     @Autowired
@@ -156,6 +159,8 @@ public class TopGoodsServiceImpl extends ServiceImpl<TopGoodsMapper, TopGoods> i
     private IMajorProjectService iMajorProjectService;
     @Autowired
     private IPayServeService iPayServeService;
+    @Autowired
+    private ISchoolService iSchoolService;
 
     @Autowired
     private ITopGoodsCopyService iTopGoodsCopyService;
@@ -260,7 +265,6 @@ public class TopGoodsServiceImpl extends ServiceImpl<TopGoodsMapper, TopGoods> i
     @Autowired
     private ITopPayServeService iTopPayServeService;
 
-
     @Override
 //    @Transactional(rollbackFor = Exception.class)
     public boolean goodsBatchCopyTenant() {
@@ -1175,7 +1179,6 @@ public class TopGoodsServiceImpl extends ServiceImpl<TopGoodsMapper, TopGoods> i
         return true;
     }
 
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean goodsBatchCopyDisposeTenant() {

+ 0 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/domain/TopSysMenu.java

@@ -1,6 +1,5 @@
 package com.zhongzheng.modules.top.user.domain;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -53,16 +52,12 @@ private static final long serialVersionUID=1L;
     /** 菜单图标 */
     private String icon;
     /** 创建者 */
-    @TableField(fill = FieldFill.INSERT)
     private String createBy;
     /** 创建时间 */
-    @TableField(fill = FieldFill.INSERT)
     private Date createTime;
     /** 更新者 */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
     private String updateBy;
     /** 更新时间 */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
     /** 备注 */
     private String remark;

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempGoodsMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zhongzheng.modules.distribution.mapper.DistributionActivityTempGoodsMapper">
+<mapper namespace="com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempGoodsMapper">
 
 
 

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zhongzheng.modules.distribution.mapper.DistributionActivityTempMapper">
+<mapper namespace="com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempMapper">
 
 
 

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempPosterMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zhongzheng.modules.distribution.mapper.DistributionActivityTempPosterMapper">
+<mapper namespace="com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempPosterMapper">
 
 
 

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionActivityTempRelationMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zhongzheng.modules.distribution.mapper.DistributionActivityTempRelationMapper">
+<mapper namespace="com.zhongzheng.modules.top.distribution.mapper.DistributionActivityTempRelationMapper">
 
 
 

+ 19 - 1
zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionSellerMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zhongzheng.system.mapper.DistributionSellerMapper">
+<mapper namespace="com.zhongzheng.modules.distribution.mapper.DistributionSellerMapper">
 
     <resultMap type="com.zhongzheng.modules.distribution.domain.DistributionSeller" id="DistributionSellerResult">
         <result property="sellerId" column="seller_id"/>
@@ -22,5 +22,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="shareCode" column="share_code"/>
     </resultMap>
 
+    <select id="getSellerListByTenant" parameterType="com.zhongzheng.modules.top.distribution.bo.DistributionSellerQuery" resultType="com.zhongzheng.modules.distribution.vo.DistributionSellerVo">
+        SELECT ds.*,sr.realname,sr.user_account,t.tenant_name,
+            (SELECT COUNT(*) FROM distribution_seller dr WHERE dr.parent_id = ds.seller_id) promotionNum
+        FROM `distribution_seller` ds
+            LEFT JOIN distribution_seller sr ON ds.parent_id = sr.seller_id
+            LEFT JOIN sys_tenant t ON ds.tenant_id = t.tenant_id
+        WHERE 1 = 1
+        <if test="tenantId != null and tenantId != ''">
+            AND ds.tenant_id = #{tenantId}
+        </if>
+        <if test="parentName != null and parentName != ''">
+            AND sr.realname = #{parentName}
+        </if>
+        <if test="realname != null and realname != ''">
+            AND ds.realname = #{realname}
+        </if>
+    </select>
+
 
 </mapper>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/top/TopGoodsMapper.xml

@@ -117,7 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             ,ou.goods_live_num
         </if>
         FROM
-        goods g
+        top_goods g
         LEFT JOIN top_pay_supply ps ON g.supply_id = ps.supply_id
         LEFT JOIN top_course_education_type cet ON g.education_type_id = cet.id
         LEFT JOIN top_course_project_type cpt ON g.project_id = cpt.id