yangdamao 2 年 前
コミット
06c1f10be5
50 ファイル変更918 行追加161 行削除
  1. 42 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopMajorController.java
  2. 43 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopSchoolController.java
  3. 7 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  4. 49 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityGoodsPrice.java
  5. 13 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityGoodsPriceMapper.java
  6. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityGoodsPriceService.java
  7. 28 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityGoodsPriceServiceImpl.java
  8. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityGoodsService.java
  9. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityPosterService.java
  10. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityService.java
  11. 7 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityGoodsServiceImpl.java
  12. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityPosterServiceImpl.java
  13. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionActivityServiceImpl.java
  14. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java
  15. 10 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  16. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformRemindService.java
  17. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformSysUserService.java
  18. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformRemindServiceImpl.java
  19. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformSysUserServiceImpl.java
  20. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysRoleService.java
  21. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysTenantService.java
  22. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysUserRoleService.java
  23. 10 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysRoleServiceImpl.java
  24. 14 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysUserRoleServiceImpl.java
  25. 95 31
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/distribution/service/impl/DistributionActivityTemplateServiceImpl.java
  26. 31 28
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessQueryBo.java
  27. 10 9
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseProjectTypeQueryBo.java
  28. 23 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopMajorQueryBo.java
  29. 24 11
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopSchoolQueryBo.java
  30. 48 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopActivityGoodsPrice.java
  31. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopActivityGoodsPriceMapper.java
  32. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopCourseBusinessMapper.java
  33. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopMajorMapper.java
  34. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopSchoolMapper.java
  35. 13 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopActivityGoodsPriceService.java
  36. 18 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopActivityGoodsPriceServiceImpl.java
  37. 3 24
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseBusinessServiceImpl.java
  38. 22 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseEducationTypeServiceImpl.java
  39. 1 11
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopMajorServiceImpl.java
  40. 20 17
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopSchoolServiceImpl.java
  41. 12 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseBusinessVo.java
  42. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseEducationTypeVo.java
  43. 8 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseProjectTypeVo.java
  44. 16 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopMajorVo.java
  45. 27 9
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopSchoolVo.java
  46. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/ITopSysUserService.java
  47. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysUserServiceImpl.java
  48. 71 0
      zhongzheng-system/src/main/resources/mapper/modules/top/TopCourseBusinessMapper.xml
  49. 43 0
      zhongzheng-system/src/main/resources/mapper/modules/top/TopMajorMapper.xml
  50. 97 0
      zhongzheng-system/src/main/resources/mapper/modules/top/TopSchoolMapper.xml

+ 42 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopMajorController.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.TopMajorQueryBo;
+import com.zhongzheng.modules.top.goods.service.ITopMajorService;
+import com.zhongzheng.modules.top.goods.vo.TopMajorVo;
+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/major")
+public class TopMajorController extends BaseController {
+
+    private final ITopMajorService iTopMajorService;
+
+    /**
+     * 查询专业列表
+     */
+    @ApiOperation("查询专业列表")
+    @GetMapping("/list")
+    public TableDataInfo<TopMajorVo> list(TopMajorQueryBo bo) {
+        startPage();
+        List<TopMajorVo> list = iTopMajorService.queryList(bo);
+        return getDataTable(list);
+    }
+}

+ 43 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopSchoolController.java

@@ -0,0 +1,43 @@
+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.TopSchoolQueryBo;
+import com.zhongzheng.modules.top.goods.service.ITopSchoolService;
+import com.zhongzheng.modules.top.goods.vo.TopSchoolVo;
+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("/user/school")
+public class TopSchoolController extends BaseController {
+
+    private final ITopSchoolService iTopSchoolService;
+
+    /**
+     * 查询高校列表
+     */
+    @ApiOperation("查询高校列表")
+    @GetMapping("/list")
+    public TableDataInfo<TopSchoolVo> list(TopSchoolQueryBo bo) {
+        startPage();
+        List<TopSchoolVo> list = iTopSchoolService.queryList(bo);
+        return getDataTable(list);
+    }
+
+}

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

@@ -29,6 +29,7 @@ import com.zhongzheng.modules.system.vo.SysTenantVo;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
@@ -241,4 +242,10 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         return baseMapper.findTenantId(bo);
     }
 
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public List<SysTenant> getListSysTenant() {
+        return list(new LambdaQueryWrapper<SysTenant>().eq(SysTenant::getStatus, 1));
+    }
+
 }

+ 49 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityGoodsPrice.java

@@ -0,0 +1,49 @@
+package com.zhongzheng.modules.activity.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;
+import java.math.BigDecimal;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("activity_goods_price")
+public class ActivityGoodsPrice implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    private Long id;
+    /** 商品ID */
+    private Long goodsId;
+    /** 商品价格 */
+    private BigDecimal goodsPrice;
+    /** 活动编码 */
+    private String activityCode;
+    /** 类型 */
+    private Integer type;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+    private Long tenantId;
+
+}

+ 13 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityGoodsPriceMapper.java

@@ -0,0 +1,13 @@
+package com.zhongzheng.modules.activity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.activity.domain.ActivityGoodsPrice;
+
+/**
+ * 商品推荐Mapper接口
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+public interface ActivityGoodsPriceMapper extends BaseMapper<ActivityGoodsPrice> {
+}

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityGoodsPriceService.java

@@ -0,0 +1,17 @@
+package com.zhongzheng.modules.activity.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.activity.domain.ActivityGoodsPrice;
+
+import java.util.List;
+
+/**
+ * 商品推荐Service接口
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+public interface IActivityGoodsPriceService extends IService<ActivityGoodsPrice> {
+
+    void saveBatchEntity(List<ActivityGoodsPrice> priceList);
+}

+ 28 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityGoodsPriceServiceImpl.java

@@ -0,0 +1,28 @@
+package com.zhongzheng.modules.activity.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.modules.activity.domain.ActivityGoodsPrice;
+import com.zhongzheng.modules.activity.mapper.ActivityGoodsPriceMapper;
+import com.zhongzheng.modules.activity.service.IActivityGoodsPriceService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 商品推荐Service业务层处理
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+@Service
+@DS("slave")
+public class ActivityGoodsPriceServiceImpl extends ServiceImpl<ActivityGoodsPriceMapper, ActivityGoodsPrice> implements IActivityGoodsPriceService {
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public void saveBatchEntity(List<ActivityGoodsPrice> priceList) {
+        saveBatch(priceList);
+    }
+}

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionActivityGoodsService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.distribution.domain.DistributionActivityGoods;
 import com.zhongzheng.modules.goods.bo.GoodsPullTenantBo;
 
+import java.util.List;
+
 /**
  * 【请填写功能名称】Service接口
  *
@@ -13,4 +15,7 @@ import com.zhongzheng.modules.goods.bo.GoodsPullTenantBo;
 public interface IDistributionActivityGoodsService extends IService<DistributionActivityGoods> {
 
     boolean pullGoods(GoodsPullTenantBo bo);
+
+    void saveBatchEntity(List<DistributionActivityGoods> activityGoodsList);
+
 }

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

@@ -49,4 +49,7 @@ public interface IDistributionActivityPosterService extends IService<Distributio
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    void savePoster(DistributionActivityPoster poster);
+
 }

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

@@ -54,4 +54,6 @@ public interface IDistributionActivityService extends IService<DistributionActiv
     boolean editStatus(DistributionStatusEditBo bo);
 
 	boolean pullGoods(Long distributionId);
+
+    void saveEntity(DistributionActivity dailyActivity);
 }

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

@@ -43,6 +43,7 @@ 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;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
@@ -587,6 +588,12 @@ public class DistributionActivityGoodsServiceImpl extends ServiceImpl<Distributi
         return true;
     }
 
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public void saveBatchEntity(List<DistributionActivityGoods> activityGoodsList) {
+        saveBatch(activityGoodsList);
+    }
+
     private void disposeGoodsCourseTeacher(Long oldGoodsId, Long newGoodsId, Long newTenantId) {
         //双师关联
         goodsCourseTeacherService.deleteByIdTeanant(newGoodsId,newTenantId);

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

@@ -20,6 +20,8 @@ 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 org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
 import java.util.List;
@@ -113,4 +115,10 @@ public class DistributionActivityPosterServiceImpl extends ServiceImpl<Distribut
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public void savePoster(DistributionActivityPoster poster) {
+        save(poster);
+    }
 }

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

@@ -32,6 +32,8 @@ 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 org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -248,4 +250,10 @@ public class DistributionActivityServiceImpl extends ServiceImpl<DistributionAct
 
         return true;
     }
+
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public void saveEntity(DistributionActivity dailyActivity) {
+        save(dailyActivity);
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -120,4 +120,6 @@ public interface IGoodsService extends IService<Goods> {
     Goods getGoodsByIdTenant(Long goodsId, Long tenantId);
 
     boolean updateGoodsRepair(UpdateGoodsRepairBo bo);
+
+    Goods getOneGoods(String code, Long id);
 }

+ 10 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -67,7 +67,6 @@ import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.system.service.ISysConfigService;
 import com.zhongzheng.modules.system.service.ISysGoodsCopyRecordService;
 import com.zhongzheng.modules.system.service.ISysTenantService;
-import com.zhongzheng.modules.top.goods.domain.TopGoods;
 import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
 import com.zhongzheng.modules.user.bo.UserPhoneBo;
 import com.zhongzheng.modules.user.domain.School;
@@ -82,6 +81,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
@@ -4160,6 +4160,15 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return true;
     }
 
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public Goods getOneGoods(String code, Long id) {
+        return getOne(new LambdaQueryWrapper<Goods>()
+                .eq(Goods::getCode, code)
+                .eq(Goods::getTenantId,id)
+                .eq(Goods::getStatus, 1).last("limit 1"));
+    }
+
 
     private Long getNewId(Long oldId, Integer type){
         if (ObjectUtils.isNull(oldId) || oldId <= 0L){

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformRemindService.java

@@ -55,4 +55,6 @@ public interface IInformRemindService extends IService<InformRemind> {
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
 	List<CourseUserEducationTypeVo> listGradeService(ClassGradeQueryBo bo);
+
+    InformRemindVo getQueryByName(String name);
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformSysUserService.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 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.InformSysUser;
 import com.zhongzheng.modules.inform.vo.InformSysUserVo;
 
@@ -54,4 +53,6 @@ public interface IInformSysUserService extends IService<InformSysUser> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    void insertEntity(InformSysUserAddBo informUserAddBo);
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformRemindServiceImpl.java

@@ -37,6 +37,8 @@ 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 org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
 import java.util.List;
@@ -210,6 +212,12 @@ public class InformRemindServiceImpl extends ServiceImpl<InformRemindMapper, Inf
         return courseUserEducationTypeVos;
     }
 
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public InformRemindVo getQueryByName(String name) {
+        return queryByName(name);
+    }
+
     private List<CourseUserEducationTypeVo> entity2EducationVo(Collection<CourseEducationTypeVo> collection) {
         List<CourseUserEducationTypeVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, CourseUserEducationTypeVo.class))

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

@@ -23,6 +23,8 @@ import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -169,4 +171,10 @@ public class InformSysUserServiceImpl extends ServiceImpl<InformSysUserMapper, I
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public void insertEntity(InformSysUserAddBo informUserAddBo) {
+        insertByAddBo(informUserAddBo);
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysRoleService.java

@@ -129,4 +129,6 @@ public interface ISysRoleService extends IService<SysRole> {
      * @return 结果
      */
     public int deleteRoleByIds(Long[] roleIds);
+
+    SysRole getOneSysRole(String sellerAdmin, Long id);
 }

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

@@ -55,4 +55,7 @@ public interface ISysTenantService extends IService<SysTenant> {
     Long createTenantAdmin(SysTenantAdminBo bo);
 
 	Long findTenantId(SysTenantQueryBo bo);
+
+    List<SysTenant> getListSysTenant();
+
 }

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

@@ -3,10 +3,13 @@ package com.zhongzheng.modules.system.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.system.domain.SysUserRole;
 
+import java.util.List;
+
 /**
  * 角色业务层
  *
  * @author zhongzheng
  */
 public interface ISysUserRoleService extends IService<SysUserRole> {
+    List<SysUserRole> getList(Long roleId, Long id);
 }

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysRoleServiceImpl.java

@@ -25,6 +25,7 @@ import com.zhongzheng.modules.system.service.ISysRoleService;
 import com.zhongzheng.modules.system.vo.SysRoleBusinessVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
@@ -358,4 +359,13 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         roleDeptMapper.delete(new LambdaQueryWrapper<SysRoleDept>().in(SysRoleDept::getRoleId, ids));
         return baseMapper.deleteBatchIds(ids);
     }
+
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    public SysRole getOneSysRole(String sellerAdmin, Long id) {
+        return getOne(new LambdaQueryWrapper<SysRole>()
+                .eq(SysRole::getRoleKey, sellerAdmin)
+                .eq(SysRole::getTenantId,id)
+                .eq(SysRole::getStatus, 1).last("limit 1"));
+    }
 }

+ 14 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysUserRoleServiceImpl.java

@@ -1,11 +1,16 @@
 package com.zhongzheng.modules.system.service.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
  * 角色业务层
@@ -13,6 +18,14 @@ import org.springframework.stereotype.Service;
  * @author zhongzheng
  */
 @Service
-@DS("slave")
 public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService {
+
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
+    @DS("slave")
+    public List<SysUserRole> getList(Long roleId, Long id) {
+        return list(new LambdaQueryWrapper<SysUserRole>()
+                .eq(SysUserRole::getRoleId, roleId)
+                .eq(SysUserRole::getTenantId, id));
+    }
 }

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

@@ -12,18 +12,18 @@ 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.common.utils.ToolsUtils;
+import com.zhongzheng.modules.activity.domain.ActivityGoodsPrice;
+import com.zhongzheng.modules.activity.service.IActivityGoodsPriceService;
 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.distribution.domain.DistributionActivity;
+import com.zhongzheng.modules.distribution.domain.DistributionActivityGoods;
+import com.zhongzheng.modules.distribution.domain.DistributionActivityPoster;
+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.service.IDistributionSellerService;
+import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.inform.bo.InformSysUserAddBo;
@@ -35,15 +35,25 @@ 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.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.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.mapper.DistributionActivityTempMapper;
 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.distribution.vo.DistributionActivityTemplateGoodsVo;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTemplateVo;
+import com.zhongzheng.modules.top.distribution.vo.DistributionActivityTenantVo;
+import com.zhongzheng.modules.top.goods.domain.TopActivityGoodsPrice;
 import com.zhongzheng.modules.top.goods.domain.TopGoods;
+import com.zhongzheng.modules.top.goods.service.ITopActivityGoodsPriceService;
 import com.zhongzheng.modules.top.goods.service.ITopGoodsService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -95,6 +105,10 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
     private ITopSysUserService iTopSysUserService;
     @Autowired
     private IDistributionSellerService iDistributionSellerService;
+    @Autowired
+    private ITopActivityGoodsPriceService iTopActivityGoodsPriceService;
+    @Autowired
+    private IActivityGoodsPriceService iActivityGoodsPriceService;
 
     @Override
     public DistributionActivityTemplateVo queryById(Long id){
@@ -133,7 +147,22 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
                 DistributionActivityTemplateGoodsVo goodsVo = BeanUtil.toBean(item, DistributionActivityTemplateGoodsVo.class);
                 TopGoods topGoods = iTopGoodsService.getById(goodsVo.getGoodsId());
                 goodsVo.setGoodsName(topGoods.getGoodsName());
-                goodsVo.setGoodsPrice(topGoods.getStandPrice());
+                if (item.getProfitType() == 1){
+                    //百分比
+                    goodsVo.setProfitMax(item.getProfitMax().multiply(new BigDecimal(100)));
+                    goodsVo.setProfitOne(item.getProfitOne().multiply(new BigDecimal(100)));
+                    goodsVo.setProfitTwo(item.getProfitTwo().multiply(new BigDecimal(100)));
+                    goodsVo.setProfitThree(item.getProfitThree().multiply(new BigDecimal(100)));
+                }
+                TopActivityGoodsPrice price = iTopActivityGoodsPriceService
+                        .getOne(new LambdaQueryWrapper<TopActivityGoodsPrice>()
+                        .eq(TopActivityGoodsPrice::getActivityCode, vo.getCode())
+                        .eq(TopActivityGoodsPrice::getGoodsId, item.getGoodsId())
+                        .eq(TopActivityGoodsPrice::getStatus, 1)
+                        .last("limit 1"));
+                if (ObjectUtils.isNotNull(price)){
+                    goodsVo.setGoodsPrice(price.getGoodsPrice());
+                }
                 return goodsVo;
             }).collect(Collectors.toList());
             vo.setGoodsList(templateGoodsVos);
@@ -183,14 +212,15 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
     }
 
     @Override
-//    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     public Boolean insertByAddBo(DistributionActivityTemplateAddBo bo) {
         //活动模板基本信息
         DistributionActivityTemplate add = BeanUtil.toBean(bo, DistributionActivityTemplate.class);
         validEntityBeforeSave(add);
+        add.setCode(ToolsUtils.getRandomString(8));
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        TopSysUser user = iTopSysUserService.getById(bo.getCreateTopSysUserId());
+        TopSysUser user = iTopSysUserService.getTopSysUser(bo.getCreateTopSysUserId());
         if (ObjectUtils.isNotNull(user)){
             add.setCreateBy(user.getUserName());
         }
@@ -242,6 +272,30 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
                 return entity;
             }).collect(Collectors.toList());
             iDistributionActivityTemplateGoodsService.saveBatch(collect);
+
+            //商品活动价格
+            DistributionActivityTemplate template = getById(tempId);
+            bo.getGoodsList().forEach(item -> {
+                TopActivityGoodsPrice goodsPrice = iTopActivityGoodsPriceService
+                        .getOne(new LambdaQueryWrapper<TopActivityGoodsPrice>()
+                        .eq(TopActivityGoodsPrice::getActivityCode, template.getCode())
+                        .eq(TopActivityGoodsPrice::getGoodsId, item.getGoodsId())
+                        .last("limit 1"));
+                if (ObjectUtils.isNotNull(goodsPrice)){
+                    goodsPrice.setGoodsPrice(item.getGoodsPrice());
+                    iTopActivityGoodsPriceService.updateById(goodsPrice);
+                }else {
+                    TopActivityGoodsPrice price = new TopActivityGoodsPrice();
+                    price.setGoodsPrice(item.getGoodsPrice());
+                    price.setActivityCode(template.getCode());
+                    price.setStatus(1);
+                    price.setGoodsId(item.getGoodsId());
+                    price.setType(1);
+                    price.setCreateTime(DateUtils.getNowTime());
+                    price.setUpdateTime(DateUtils.getNowTime());
+                    iTopActivityGoodsPriceService.save(price);
+                }
+            });
         }
     }
 
@@ -263,6 +317,8 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
         .eq(DistributionActivityTemplateGoods::getDistributionTempId,bo.getId()));
         iDistributionActivityTemplateRelationService.remove(new LambdaQueryWrapper<DistributionActivityTemplateRelation>()
         .eq(DistributionActivityTemplateRelation::getDistributionTempId,bo.getId()));
+        iTopActivityGoodsPriceService.remove(new LambdaQueryWrapper<TopActivityGoodsPrice>()
+        .eq(TopActivityGoodsPrice::getActivityCode,activityTemp.getCode()));
         DistributionActivityTemplateAddBo addBo = new DistributionActivityTemplateAddBo();
         addBo.setIsAllOrg(bo.getIsAllOrg());
         addBo.setGoodsList(bo.getGoodsList());
@@ -299,6 +355,7 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean publishActivity(Long templateId) {
         DistributionActivityTemplate template = getById(templateId);
         if (ObjectUtils.isNull(template)){
@@ -322,7 +379,7 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
         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));
+            List<SysTenant> list = iSysTenantService.getListSysTenant();
             tenantId = list.stream().map(SysTenant::getTenantId).collect(Collectors.toList());
         }else {
             tenantId = relationList.stream().map(DistributionActivityTemplateRelation::getTenantId).collect(Collectors.toList());
@@ -334,21 +391,19 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
             DistributionActivityPoster poster = BeanUtil.toBean(templatePoster, DistributionActivityPoster.class);
             poster.setUrl(templatePoster.getPosterUrl());
             poster.setTenantId(id);
-            iDistributionActivityPosterService.save(poster);
+            iDistributionActivityPosterService.savePoster(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);
+            iDistributionActivityService.saveEntity(dailyActivity);
             //商品
             List<DistributionActivityGoods> activityGoodsList = new ArrayList<>();
+            List<ActivityGoodsPrice> priceList = 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"));
+                Goods goods = iGoodsService.getOneGoods(topGoods.getCode(),id);
                 if (ObjectUtils.isNotNull(goods)){
                     DistributionActivityGoods activityGoods = BeanUtil.toBean(item, DistributionActivityGoods.class);
                     activityGoods.setId(null);
@@ -356,20 +411,29 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
                     activityGoods.setTenantId(id);
                     activityGoods.setDistributionId(dailyActivity.getDistributionId());
                     activityGoodsList.add(activityGoods);
+
+                    //商品活动价格
+                    TopActivityGoodsPrice goodsPrice = iTopActivityGoodsPriceService
+                                    .getOne(new LambdaQueryWrapper<TopActivityGoodsPrice>()
+                                    .eq(TopActivityGoodsPrice::getActivityCode, template.getCode())
+                                    .eq(TopActivityGoodsPrice::getStatus, 1)
+                                    .eq(TopActivityGoodsPrice::getGoodsId,item.getGoodsId()));
+                    if (ObjectUtils.isNotNull(goodsPrice)){
+                        ActivityGoodsPrice activityGoodsPrice = BeanUtil.toBean(goodsPrice, ActivityGoodsPrice.class);
+                        activityGoodsPrice.setTenantId(id);
+                        activityGoodsPrice.setGoodsId(goods.getGoodsId());
+                        priceList.add(activityGoodsPrice);
+                    }
                 }
             });
-            iDistributionActivityGoodsService.saveBatch(activityGoodsList);
+            iDistributionActivityGoodsService.saveBatchEntity(activityGoodsList);
+            iActivityGoodsPriceService.saveBatchEntity(priceList);
 
             //站内信通知业务员管理员 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"));
+            SysRole role = iSysRoleService.getOneSysRole("seller_admin",id);
             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天提醒");
+                List<SysUserRole> sysUserRoles = iSysUserRoleService.getList(role.getRoleId(),id);
+                InformRemindVo informRemindVo = informRemindService.getQueryByName("课程试卷未做完7天提醒");
                 if (CollectionUtils.isNotEmpty(sysUserRoles) && ObjectUtils.isNotNull(informRemindVo)){
                     sysUserRoles.forEach(item -> {
                         InformSysUserAddBo informUserAddBo = new InformSysUserAddBo();
@@ -383,7 +447,7 @@ public class DistributionActivityTemplateServiceImpl extends ServiceImpl<Distrib
                         informUserAddBo.setPlanId(dailyActivity.getDistributionId());
                         informUserAddBo.setRemind("分销活动提醒");
                         informUserAddBo.setText("有新的分销活动,请查看!");
-                        iInformSysUserService.insertByAddBo(informUserAddBo);
+                        iInformSysUserService.insertEntity(informUserAddBo);
                     });
                 }
             }

+ 31 - 28
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessQueryBo.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.top.goods.bo;
 
+import com.zhongzheng.common.annotation.Excel;
 import com.zhongzheng.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -34,29 +35,36 @@ public class TopCourseBusinessQueryBo extends BaseEntity {
 	private String isAsc;
 
 
-	/** 业务名称 */
+	/** 编码YW */
+	@ApiModelProperty("编码YW")
+	private String encoder;
+
+	/** 业务ID */
+	@ApiModelProperty("业务ID")
+	private Long id;
+
+	/** 项目名称 */
 	@ApiModelProperty("业务名称")
 	private String businessName;
 	/** 项目id */
 	@ApiModelProperty("项目id")
-	private Long projectId;
-	/** 编码YW */
-	@ApiModelProperty("编码YW")
-	private String encoder;
+	private Integer projectId;
 	/** 学年 */
 	@ApiModelProperty("学年")
 	private BigDecimal schoolYear;
-	/** 0 未启用 1启用 -1删除 */
-	@ApiModelProperty("0 未启用 1启用 -1删除")
+	/**  状态 1正常 0关闭 */
+	@ApiModelProperty(" 状态 1正常 0关闭")
 	private List<Integer> status;
-	/** 下单数据模板选用 */
-	@ApiModelProperty("下单数据模板选用")
+
+	/** 教育类型id */
+	@ApiModelProperty("教育类型id")
+	private Integer educationId;
+
+	@Excel(name = "模板选用")
+	@ApiModelProperty("模板选用")
 	private Integer templateStatus;
-	/** 1限制章下做卷顺序 0不限制 2限制整个目录顺序 */
-	@ApiModelProperty("1限制章下做卷顺序 0不限制 2限制整个目录顺序")
-	private Integer goodsLearningOrder;
-	/** 审核资料模板用户ID拼接(包含盖章) */
-	@ApiModelProperty("审核资料模板用户ID拼接(包含盖章)")
+	/** 审核资料模板用户ID拼接 */
+	@ApiModelProperty("审核资料模板用户ID拼接")
 	private String profileTpUserIds;
 	/** 学时审核用户ID拼接 */
 	@ApiModelProperty("学时审核用户ID拼接")
@@ -64,25 +72,20 @@ public class TopCourseBusinessQueryBo extends BaseEntity {
 	/** 学时确认审核用户ID拼接 */
 	@ApiModelProperty("学时确认审核用户ID拼接")
 	private String periodConfirmUserIds;
-	/** 退款初审用户ID拼接 */
-	@ApiModelProperty("退款初审用户ID拼接")
-	private String refundUserIds;
-	/** 退款确认审核用户ID拼接 */
-	@ApiModelProperty("退款确认审核用户ID拼接")
-	private String refundConfirmUserIds;
 	/** 排序 */
 	@ApiModelProperty("排序")
 	private Integer sort;
-	/** 商品配置字段JSON */
-	@ApiModelProperty("商品配置字段JSON")
-	private String goodsFieldJson;
-	/** 别名 */
-	@ApiModelProperty("别名")
-	private String aliasName;
-	/** 学时审核类型:1人工,2自动 */
+
 	@ApiModelProperty("学时审核类型:1人工,2自动")
 	private Integer periodType;
-	/** 学时审核层级:1初审,2初审和复审 */
 	@ApiModelProperty("学时审核层级:1初审,2初审和复审")
 	private Integer periodNumber;
+
+	/** 项目名称 */
+	@ApiModelProperty("项目名称")
+	private String projectName;
+
+	/** 教育类型名称 */
+	@ApiModelProperty("教育类型名称")
+	private String educationName;
 }

+ 10 - 9
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseProjectTypeQueryBo.java

@@ -1,15 +1,12 @@
 package com.zhongzheng.modules.top.goods.bo;
 
+import com.zhongzheng.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.util.Date;
-import java.util.Map;
-import java.util.HashMap;
-
-import com.zhongzheng.common.core.domain.BaseEntity;
+import java.util.List;
 
 /**
  * 项目类型分页查询对象 top_course_project_type
@@ -36,6 +33,9 @@ public class TopCourseProjectTypeQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private Long id;
 	/** 项目名称 */
 	@ApiModelProperty("项目名称")
 	private String projectName;
@@ -44,10 +44,11 @@ public class TopCourseProjectTypeQueryBo extends BaseEntity {
 	private String encoder;
 	/** 教育类型id */
 	@ApiModelProperty("教育类型id")
-	private Long educationId;
-	/** 0 未启用 1启用 -1删除 */
-	@ApiModelProperty("0 未启用 1启用 -1删除")
-	private Integer status;
+	private Integer educationId;
+	/**  状态 1正常 0关闭 */
+	@ApiModelProperty(" 状态 1正常 0关闭")
+	private List<Integer> status;
+
 	/** 排序 */
 	@ApiModelProperty("排序")
 	private Integer sort;

+ 23 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopMajorQueryBo.java

@@ -1,15 +1,12 @@
 package com.zhongzheng.modules.top.goods.bo;
 
+import com.zhongzheng.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.util.Date;
-import java.util.Map;
-import java.util.HashMap;
-
-import com.zhongzheng.common.core.domain.BaseEntity;
+import java.util.List;
 
 /**
  * 专业分页查询对象 top_major
@@ -35,6 +32,9 @@ public class TopMajorQueryBo extends BaseEntity {
 	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
 	private String isAsc;
 
+	/** 分类名称 */
+	@ApiModelProperty("id")
+	private Long id;
 
 	/** 分类名称 */
 	@ApiModelProperty("分类名称")
@@ -47,11 +47,28 @@ public class TopMajorQueryBo extends BaseEntity {
 	private Long labelId;
 	/** 1正常 0关闭 */
 	@ApiModelProperty("1正常 0关闭")
-	private Integer status;
+	private List<Integer> status;
 	/** 编码ZY */
 	@ApiModelProperty("编码ZY")
 	private String encoder;
+
+	/** 教育类型id */
+	@ApiModelProperty("教育类型id")
+	private Long educationId;
+
+	/** 项目id */
+	@ApiModelProperty("项目id")
+	private Long projectId;
+
+	/** 业务层次id */
+	@ApiModelProperty("业务层次id")
+	private Long businessId;
+
 	/** 排序 */
 	@ApiModelProperty("排序")
 	private Integer sort;
+
+	/** 绑定项目id集合 */
+	@ApiModelProperty("绑定项目id集合")
+	private Long[] majorProjects;
 }

+ 24 - 11
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopSchoolQueryBo.java

@@ -1,15 +1,12 @@
 package com.zhongzheng.modules.top.goods.bo;
 
+import com.zhongzheng.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.util.Date;
-import java.util.Map;
-import java.util.HashMap;
-
-import com.zhongzheng.common.core.domain.BaseEntity;
+import java.util.List;
 
 /**
  * 院校分页查询对象 top_school
@@ -36,19 +33,35 @@ public class TopSchoolQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+
+	/**  id */
+	@ApiModelProperty(" id")
+	private Long id;
 	/**  高校名称 */
 	@ApiModelProperty(" 高校名称")
 	private String schoolName;
-	/** 0 未启用 1启用 -1删除 */
-	@ApiModelProperty("0 未启用 1启用 -1删除")
-	private Integer status;
 	/** 编码YX */
 	@ApiModelProperty("编码YX")
 	private String encoder;
-	/** 学校城市 */
-	@ApiModelProperty("学校城市")
-	private Long schoolCityId;
+	/** 状态 1正常 0关闭 */
+	@ApiModelProperty("状态 1正常 0关闭")
+	private List<Integer> status;
 	/** 学校省份 */
 	@ApiModelProperty("学校省份")
 	private Long schoolProvinceId;
+	/** 学校城市 */
+	@ApiModelProperty("学校城市")
+	private Long schoolCityId;
+
+	/** 教育类型id */
+	@ApiModelProperty("教育类型id")
+	private Long educationId;
+
+	/** 项目id */
+	@ApiModelProperty("项目id")
+	private Long projectId;
+
+	/** 业务层次id */
+	@ApiModelProperty("业务层次id")
+	private Long businessId;
 }

+ 48 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopActivityGoodsPrice.java

@@ -0,0 +1,48 @@
+package com.zhongzheng.modules.top.goods.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;
+import java.math.BigDecimal;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("top_activity_goods_price")
+public class TopActivityGoodsPrice implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    private Long id;
+    /** 商品ID */
+    private Long goodsId;
+    /** 商品价格 */
+    private BigDecimal goodsPrice;
+    /** 活动编码 */
+    private String activityCode;
+    /** 类型 */
+    private Integer type;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopActivityGoodsPriceMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.top.goods.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.top.goods.domain.TopActivityGoodsPrice;
+
+/**
+ * 业务层次过滤器Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+public interface TopActivityGoodsPriceMapper extends BaseMapper<TopActivityGoodsPrice> {
+
+}

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopCourseBusinessMapper.java

@@ -1,7 +1,11 @@
 package com.zhongzheng.modules.top.goods.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.top.goods.bo.TopCourseBusinessQueryBo;
 import com.zhongzheng.modules.top.goods.domain.TopCourseBusiness;
+import com.zhongzheng.modules.top.goods.vo.TopCourseBusinessVo;
+
+import java.util.List;
 
 /**
  * 业务层次Mapper接口
@@ -11,4 +15,5 @@ import com.zhongzheng.modules.top.goods.domain.TopCourseBusiness;
  */
 public interface TopCourseBusinessMapper extends BaseMapper<TopCourseBusiness> {
 
+    List<TopCourseBusinessVo> queryList(TopCourseBusinessQueryBo bo);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopMajorMapper.java

@@ -1,8 +1,11 @@
 package com.zhongzheng.modules.top.goods.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.top.goods.bo.TopMajorQueryBo;
 import com.zhongzheng.modules.top.goods.domain.TopMajor;
 
+import java.util.List;
+
 /**
  * 专业Mapper接口
  *
@@ -11,4 +14,5 @@ import com.zhongzheng.modules.top.goods.domain.TopMajor;
  */
 public interface TopMajorMapper extends BaseMapper<TopMajor> {
 
+    List<TopMajor> queryList(TopMajorQueryBo bo);
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopSchoolMapper.java

@@ -1,7 +1,13 @@
 package com.zhongzheng.modules.top.goods.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.top.goods.bo.TopCourseProjectTypeQueryBo;
+import com.zhongzheng.modules.top.goods.bo.TopSchoolQueryBo;
 import com.zhongzheng.modules.top.goods.domain.TopSchool;
+import com.zhongzheng.modules.top.goods.vo.TopCourseProjectTypeVo;
+import com.zhongzheng.modules.top.goods.vo.TopSchoolVo;
+
+import java.util.List;
 
 /**
  * 院校Mapper接口
@@ -11,4 +17,7 @@ import com.zhongzheng.modules.top.goods.domain.TopSchool;
  */
 public interface TopSchoolMapper extends BaseMapper<TopSchool> {
 
+    List<TopCourseProjectTypeVo> selectProject(TopCourseProjectTypeQueryBo courseProjectTypeQueryBo);
+
+    List<TopSchoolVo> queryList(TopSchoolQueryBo bo);
 }

+ 13 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopActivityGoodsPriceService.java

@@ -0,0 +1,13 @@
+package com.zhongzheng.modules.top.goods.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.top.goods.domain.TopActivityGoodsPrice;
+
+/**
+ * 业务层次过滤器Service接口
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+public interface ITopActivityGoodsPriceService extends IService<TopActivityGoodsPrice> {
+}

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopActivityGoodsPriceServiceImpl.java

@@ -0,0 +1,18 @@
+package com.zhongzheng.modules.top.goods.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.modules.top.goods.domain.TopActivityGoodsPrice;
+import com.zhongzheng.modules.top.goods.mapper.TopActivityGoodsPriceMapper;
+import com.zhongzheng.modules.top.goods.service.ITopActivityGoodsPriceService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 业务层次过滤器Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Service
+public class TopActivityGoodsPriceServiceImpl extends ServiceImpl<TopActivityGoodsPriceMapper, TopActivityGoodsPrice> implements ITopActivityGoodsPriceService {
+
+}

+ 3 - 24
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseBusinessServiceImpl.java

@@ -1,9 +1,6 @@
 package com.zhongzheng.modules.top.goods.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.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
@@ -37,25 +34,7 @@ public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessM
 
     @Override
     public List<TopCourseBusinessVo> queryList(TopCourseBusinessQueryBo bo) {
-        LambdaQueryWrapper<TopCourseBusiness> lqw = Wrappers.lambdaQuery();
-        lqw.like(StrUtil.isNotBlank(bo.getBusinessName()), TopCourseBusiness::getBusinessName, bo.getBusinessName());
-        lqw.eq(bo.getProjectId() != null, TopCourseBusiness::getProjectId, bo.getProjectId());
-        lqw.eq(StrUtil.isNotBlank(bo.getEncoder()), TopCourseBusiness::getEncoder, bo.getEncoder());
-        lqw.eq(bo.getSchoolYear() != null, TopCourseBusiness::getSchoolYear, bo.getSchoolYear());
-        lqw.in(bo.getStatus() != null, TopCourseBusiness::getStatus, bo.getStatus());
-        lqw.eq(bo.getTemplateStatus() != null, TopCourseBusiness::getTemplateStatus, bo.getTemplateStatus());
-        lqw.eq(bo.getGoodsLearningOrder() != null, TopCourseBusiness::getGoodsLearningOrder, bo.getGoodsLearningOrder());
-        lqw.eq(StrUtil.isNotBlank(bo.getProfileTpUserIds()), TopCourseBusiness::getProfileTpUserIds, bo.getProfileTpUserIds());
-        lqw.eq(StrUtil.isNotBlank(bo.getPeriodUserIds()), TopCourseBusiness::getPeriodUserIds, bo.getPeriodUserIds());
-        lqw.eq(StrUtil.isNotBlank(bo.getPeriodConfirmUserIds()), TopCourseBusiness::getPeriodConfirmUserIds, bo.getPeriodConfirmUserIds());
-        lqw.eq(StrUtil.isNotBlank(bo.getRefundUserIds()), TopCourseBusiness::getRefundUserIds, bo.getRefundUserIds());
-        lqw.eq(StrUtil.isNotBlank(bo.getRefundConfirmUserIds()), TopCourseBusiness::getRefundConfirmUserIds, bo.getRefundConfirmUserIds());
-        lqw.eq(bo.getSort() != null, TopCourseBusiness::getSort, bo.getSort());
-        lqw.eq(StrUtil.isNotBlank(bo.getGoodsFieldJson()), TopCourseBusiness::getGoodsFieldJson, bo.getGoodsFieldJson());
-        lqw.like(StrUtil.isNotBlank(bo.getAliasName()), TopCourseBusiness::getAliasName, bo.getAliasName());
-        lqw.eq(bo.getPeriodType() != null, TopCourseBusiness::getPeriodType, bo.getPeriodType());
-        lqw.eq(bo.getPeriodNumber() != null, TopCourseBusiness::getPeriodNumber, bo.getPeriodNumber());
-        return entity2Vo(this.list(lqw));
+        return entity2Vo(baseMapper.queryList(bo));
     }
 
     /**
@@ -64,12 +43,12 @@ public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessM
     * @param collection 实体类集合
     * @return
     */
-    private List<TopCourseBusinessVo> entity2Vo(Collection<TopCourseBusiness> collection) {
+    private List<TopCourseBusinessVo> entity2Vo(Collection<TopCourseBusinessVo> collection) {
         List<TopCourseBusinessVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, TopCourseBusinessVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<TopCourseBusiness> page = (Page<TopCourseBusiness>)collection;
+            Page<TopCourseBusinessVo> page = (Page<TopCourseBusinessVo>)collection;
             Page<TopCourseBusinessVo> pageVo = new Page<>();
             BeanUtil.copyProperties(page,pageVo);
             pageVo.addAll(voList);

+ 22 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseEducationTypeServiceImpl.java

@@ -3,6 +3,8 @@ package com.zhongzheng.modules.top.goods.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;
@@ -10,12 +12,16 @@ import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.top.goods.bo.TopCourseEducationTypeAddBo;
 import com.zhongzheng.modules.top.goods.bo.TopCourseEducationTypeEditBo;
 import com.zhongzheng.modules.top.goods.bo.TopCourseEducationTypeQueryBo;
+import com.zhongzheng.modules.top.goods.domain.TopCourseEducationTier;
 import com.zhongzheng.modules.top.goods.domain.TopCourseEducationType;
 import com.zhongzheng.modules.top.goods.mapper.TopCourseEducationTypeMapper;
+import com.zhongzheng.modules.top.goods.service.ITopCourseEducationTierService;
 import com.zhongzheng.modules.top.goods.service.ITopCourseEducationTypeService;
 import com.zhongzheng.modules.top.goods.vo.TopCourseEducationTypeVo;
+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;
@@ -29,6 +35,9 @@ import java.util.stream.Collectors;
 @Service
 public class TopCourseEducationTypeServiceImpl extends ServiceImpl<TopCourseEducationTypeMapper, TopCourseEducationType> implements ITopCourseEducationTypeService {
 
+    @Autowired
+    private ITopCourseEducationTierService iTopCourseEducationTierService;
+
     @Override
     public TopCourseEducationTypeVo queryById(Long id){
         TopCourseEducationType db = this.baseMapper.selectById(id);
@@ -42,7 +51,19 @@ public class TopCourseEducationTypeServiceImpl extends ServiceImpl<TopCourseEduc
         lqw.eq(StrUtil.isNotBlank(bo.getEncoder()), TopCourseEducationType::getEncoder, bo.getEncoder());
         lqw.eq(bo.getStatus() != null, TopCourseEducationType::getStatus, bo.getStatus());
         lqw.eq(bo.getSort() != null, TopCourseEducationType::getSort, bo.getSort());
-        return entity2Vo(this.list(lqw));
+        List<TopCourseEducationTypeVo> topCourseEducationTypeVos = entity2Vo(this.list(lqw));
+        if (CollectionUtils.isEmpty(topCourseEducationTypeVos)){
+            return new ArrayList<>();
+        }
+        topCourseEducationTypeVos.forEach(item -> {
+            TopCourseEducationTier tier = iTopCourseEducationTierService.getOne(new LambdaQueryWrapper<TopCourseEducationTier>()
+                    .eq(TopCourseEducationTier::getEducationId, item.getId())
+                    .last("limit 1"));
+            if (ObjectUtils.isNotNull(tier)){
+                item.setTireStatus(tier.getTireStatus());
+            }
+        });
+        return topCourseEducationTypeVos;
     }
 
     /**

+ 1 - 11
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopMajorServiceImpl.java

@@ -1,9 +1,6 @@
 package com.zhongzheng.modules.top.goods.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.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
@@ -37,14 +34,7 @@ public class TopMajorServiceImpl extends ServiceImpl<TopMajorMapper, TopMajor> i
 
     @Override
     public List<TopMajorVo> queryList(TopMajorQueryBo bo) {
-        LambdaQueryWrapper<TopMajor> lqw = Wrappers.lambdaQuery();
-        lqw.like(StrUtil.isNotBlank(bo.getCategoryName()), TopMajor::getCategoryName, bo.getCategoryName());
-        lqw.eq(StrUtil.isNotBlank(bo.getMajorReferral()), TopMajor::getMajorReferral, bo.getMajorReferral());
-        lqw.eq(bo.getLabelId() != null, TopMajor::getLabelId, bo.getLabelId());
-        lqw.eq(bo.getStatus() != null, TopMajor::getStatus, bo.getStatus());
-        lqw.eq(StrUtil.isNotBlank(bo.getEncoder()), TopMajor::getEncoder, bo.getEncoder());
-        lqw.eq(bo.getSort() != null, TopMajor::getSort, bo.getSort());
-        return entity2Vo(this.list(lqw));
+        return entity2Vo(baseMapper.queryList(bo));
     }
 
     /**

+ 20 - 17
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopSchoolServiceImpl.java

@@ -1,21 +1,21 @@
 package com.zhongzheng.modules.top.goods.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.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.top.goods.bo.TopCourseProjectTypeQueryBo;
 import com.zhongzheng.modules.top.goods.bo.TopSchoolAddBo;
 import com.zhongzheng.modules.top.goods.bo.TopSchoolEditBo;
 import com.zhongzheng.modules.top.goods.bo.TopSchoolQueryBo;
 import com.zhongzheng.modules.top.goods.domain.TopSchool;
 import com.zhongzheng.modules.top.goods.mapper.TopSchoolMapper;
 import com.zhongzheng.modules.top.goods.service.ITopSchoolService;
+import com.zhongzheng.modules.top.goods.vo.TopCourseProjectTypeVo;
 import com.zhongzheng.modules.top.goods.vo.TopSchoolVo;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -37,32 +37,35 @@ public class TopSchoolServiceImpl extends ServiceImpl<TopSchoolMapper, TopSchool
 
     @Override
     public List<TopSchoolVo> queryList(TopSchoolQueryBo bo) {
-        LambdaQueryWrapper<TopSchool> lqw = Wrappers.lambdaQuery();
-        lqw.like(StrUtil.isNotBlank(bo.getSchoolName()), TopSchool::getSchoolName, bo.getSchoolName());
-        lqw.eq(bo.getStatus() != null, TopSchool::getStatus, bo.getStatus());
-        lqw.eq(StrUtil.isNotBlank(bo.getEncoder()), TopSchool::getEncoder, bo.getEncoder());
-        lqw.eq(bo.getSchoolCityId() != null, TopSchool::getSchoolCityId, bo.getSchoolCityId());
-        lqw.eq(bo.getSchoolProvinceId() != null, TopSchool::getSchoolProvinceId, bo.getSchoolProvinceId());
-        return entity2Vo(this.list(lqw));
+        return entity2Vo(baseMapper.queryList(bo));
     }
 
     /**
-    * 实体类转化成视图对象
-    *
-    * @param collection 实体类集合
-    * @return
-    */
-    private List<TopSchoolVo> entity2Vo(Collection<TopSchool> collection) {
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
+    private List<TopSchoolVo> entity2Vo(Collection<TopSchoolVo> collection) {
         List<TopSchoolVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, TopSchoolVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<TopSchool> page = (Page<TopSchool>)collection;
+            Page<TopSchoolVo> page = (Page<TopSchoolVo>)collection;
             Page<TopSchoolVo> pageVo = new Page<>();
             BeanUtil.copyProperties(page,pageVo);
             pageVo.addAll(voList);
             voList = pageVo;
         }
+        for (TopSchoolVo schoolVo : voList) {
+            TopCourseProjectTypeQueryBo courseProjectTypeQueryBo = new TopCourseProjectTypeQueryBo();
+            courseProjectTypeQueryBo.setId(schoolVo.getId());
+            List<Integer> status = new ArrayList<>();
+            status.add(1);
+            courseProjectTypeQueryBo.setStatus(status);
+            List<TopCourseProjectTypeVo> courseProjectTypeVos = baseMapper.selectProject(courseProjectTypeQueryBo);
+            schoolVo.setCourseProjectTypes(courseProjectTypeVos);
+        }
         return voList;
     }
 

+ 12 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseBusinessVo.java

@@ -1,12 +1,11 @@
 package com.zhongzheng.modules.top.goods.vo;
 
 import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import java.math.BigDecimal;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.util.Date;
+
+import java.math.BigDecimal;
 
 
 
@@ -37,6 +36,16 @@ public class TopCourseBusinessVo {
 	@Excel(name = "项目id")
 	@ApiModelProperty("项目id")
 	private Long projectId;
+	@ApiModelProperty("教育类型id")
+	private Integer businessId;
+	@ApiModelProperty("教育类型名称")
+	private String educationName;
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	@ApiModelProperty("教育类型id")
+	private Integer educationId;
+	@ApiModelProperty("模板选用名称")
+	private String templateName;
 	/** 编码YW */
 	@Excel(name = "编码YW")
 	@ApiModelProperty("编码YW")

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseEducationTypeVo.java

@@ -1,11 +1,9 @@
 package com.zhongzheng.modules.top.goods.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;
 
 
 
@@ -44,4 +42,6 @@ public class TopCourseEducationTypeVo {
 	@Excel(name = "排序")
 	@ApiModelProperty("排序")
 	private Integer sort;
+	@ApiModelProperty("")
+	private String tireStatus;
 }

+ 8 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseProjectTypeVo.java

@@ -39,10 +39,14 @@ public class TopCourseProjectTypeVo {
 	/** 教育类型id */
 	@Excel(name = "教育类型id")
 	@ApiModelProperty("教育类型id")
-	private Long educationId;
-	/** 0 未启用 1启用 -1删除 */
-	@Excel(name = "0 未启用 1启用 -1删除")
-	@ApiModelProperty("0 未启用 1启用 -1删除")
+	private Integer educationId;
+	/** 教育类型名称 */
+	@Excel(name = "教育类型名称")
+	@ApiModelProperty("教育类型名称")
+	private String educationName;
+	/** 0 未启用 1启用 */
+	@Excel(name = "0 未启用 1启用")
+	@ApiModelProperty("0 未启用 1启用")
 	private Integer status;
 	/** 排序 */
 	@Excel(name = "排序")

+ 16 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopMajorVo.java

@@ -1,12 +1,11 @@
 package com.zhongzheng.modules.top.goods.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;
 
+import java.util.List;
 
 
 /**
@@ -40,6 +39,16 @@ public class TopMajorVo {
 	@Excel(name = "标签ID")
 	@ApiModelProperty("标签ID")
 	private Long labelId;
+
+	/** 标签名称 */
+	@Excel(name = "标签名称")
+	@ApiModelProperty("标签名称")
+	private String labelName;
+
+	/** 标签ID */
+	@Excel(name = "标签编码")
+	@ApiModelProperty("标签编码")
+	private String labelEncoder;
 	/** 1正常 0关闭 */
 	@Excel(name = "1正常 0关闭")
 	@ApiModelProperty("1正常 0关闭")
@@ -48,6 +57,11 @@ public class TopMajorVo {
 	@Excel(name = "编码ZY")
 	@ApiModelProperty("编码ZY")
 	private String encoder;
+
+	/** 专业项目 */
+	@Excel(name = "专业项目")
+	@ApiModelProperty("专业项目")
+	private List<TopCourseProjectTypeVo> courseProjectTypeVo;
 	/** 排序 */
 	@Excel(name = "排序")
 	@ApiModelProperty("排序")

+ 27 - 9
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopSchoolVo.java

@@ -1,12 +1,12 @@
 package com.zhongzheng.modules.top.goods.vo;
 
 import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.util.Date;
 
+import java.util.List;
 
 
 /**
@@ -28,24 +28,42 @@ public class TopSchoolVo {
 	@Excel(name = " 高校名称")
 	@ApiModelProperty(" 高校名称")
 	private String schoolName;
-	/** 0 未启用 1启用 -1删除 */
-	@Excel(name = "0 未启用 1启用 -1删除")
-	@ApiModelProperty("0 未启用 1启用 -1删除")
-	private Integer status;
 	/** 编码YX */
 	@Excel(name = "编码YX")
 	@ApiModelProperty("编码YX")
 	private String encoder;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 学校省份 */
+	@ApiModelProperty("学校省份")
+	private Long schoolProvinceId;
 	/** 学校城市 */
-	@Excel(name = "学校城市")
 	@ApiModelProperty("学校城市")
 	private Long schoolCityId;
+
 	/** 学校省份 */
-	@Excel(name = "学校省份")
 	@ApiModelProperty("学校省份")
-	private Long schoolProvinceId;
+	private String schoolProvince;
+	/** 学校省份全称 */
+	@ApiModelProperty("学校省份全称")
+	private String schoolProvinceFull;
+
+	/** 学校城市 */
+	@ApiModelProperty("学校城市")
+	private String schoolCity;
+	/** 学校城市 */
+	@ApiModelProperty("学校城市全称")
+	private String schoolCityFull;
 	/** 备注 */
 	@Excel(name = "备注")
 	@ApiModelProperty("备注")
 	private String remark;
+
+	/** 备注 */
+	@Excel(name = "绑定项目类型")
+	@ApiModelProperty("绑定项目类型")
+	private List<TopCourseProjectTypeVo> courseProjectTypes;
+
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/ITopSysUserService.java

@@ -142,4 +142,5 @@ public interface ITopSysUserService extends IService<TopSysUser> {
 	 */
 	 int updateUserStatus(TopSysUser user);
 
+    TopSysUser getTopSysUser(Long createTopSysUserId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysUserServiceImpl.java

@@ -308,6 +308,11 @@ public class TopSysUserServiceImpl extends ServiceImpl<TopSysUserMapper, TopSysU
         return baseMapper.updateById(user);
     }
 
+    @Override
+    public TopSysUser getTopSysUser(Long createTopSysUserId) {
+        return getById(createTopSysUserId);
+    }
+
 
     /**
      * 新增用户角色信息

+ 71 - 0
zhongzheng-system/src/main/resources/mapper/modules/top/TopCourseBusinessMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.top.goods.mapper.TopCourseBusinessMapper">
+
+    <resultMap type="com.zhongzheng.modules.top.goods.vo.TopCourseBusinessVo" id="TopCourseBusinessVoResult">
+        <result property="id" column="id"/>
+        <result property="businessName" column="business_name"/>
+        <result property="businessId" column="business_id"/>
+        <result property="remark" column="remark"/>
+        <result property="projectId" column="project_id"/>
+        <result property="schoolYear" column="school_year"/>
+        <result property="status" column="status"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="educationId" column="education_id"/>
+        <result property="templateStatus" column="template_status"/>
+        <result property="templateName" column="template_name"/>
+        <result property="goodsLearningOrder" column="goods_learning_order"/>
+        <result property="profileTpUserIds" column="profile_tp_user_ids"/>
+        <result property="periodUserIds" column="period_user_ids"/>
+        <result property="periodConfirmUserIds" column="period_confirm_user_ids"/>
+        <result property="refundUserIds" column="refund_user_ids"/>
+        <result property="refundConfirmUserIds" column="refund_confirm_user_ids"/>
+        <result property="sort" column="sort"/>
+        <result property="goodsFieldJson" column="goods_field_json"/>
+        <result property="aliasName" column="alias_name"/>
+    </resultMap>
+
+
+
+    <select id="queryList" parameterType="com.zhongzheng.modules.course.bo.CourseBusinessQueryBo"  resultMap="TopCourseBusinessVoResult">
+        SELECT
+        b.*,
+        e.education_name,
+        e.id as education_id,
+        p.project_name,
+        t.name as template_name
+        FROM
+        top_course_business b
+        LEFT JOIN top_course_project_type p on b.project_id =p.id
+        LEFT JOIN top_course_education_type e ON p.education_id = e.id
+        LEFT JOIN top_order_input_template t ON b.template_status = t.id
+        where 1=1
+        and p.status != -1
+        and e.status != -1
+        <if test="status != null and status.size()!=0 ">
+            AND b.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="businessName != null and businessName != ''">
+            AND b.business_name = #{businessName}
+        </if>
+        <if test="encoder != null and encoder != ''">
+            AND b.encoder = #{encoder}
+        </if>
+        <if test="projectId != null and projectId != ''">
+            AND p.id = #{projectId}
+        </if>
+        <if test="educationId != null and educationId != ''">
+            AND e.id = #{educationId}
+        </if>
+        <if test="id != null and id != ''">
+            AND b.id = #{id}
+        </if>
+        order by b.sort
+    </select>
+</mapper>

+ 43 - 0
zhongzheng-system/src/main/resources/mapper/modules/top/TopMajorMapper.xml

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.top.goods.mapper.TopMajorMapper">
+
+
+    <select id="queryList" parameterType="com.zhongzheng.modules.top.goods.bo.TopMajorQueryBo"  resultType="com.zhongzheng.modules.top.goods.domain.TopMajor">
+        SELECT
+        m.*
+        FROM
+        top_major m
+        LEFT JOIN top_major_project p ON p.major_id = m.id
+        LEFT JOIN top_course_business b on b.project_id =p.project_id
+        LEFT JOIN top_course_project_type t on p.project_id=t.id
+        LEFT JOIN top_course_education_type e on t.education_id = e.id
+        WHERE
+        1 =1
+        <if test="status != null and status.size()!=0 ">
+            AND m.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="id != null and id!=0 ">
+            AND m.id = #{id}
+        </if>
+        <if test="educationId != null and educationId!=0 ">
+            AND e.id = #{educationId}
+        </if>
+        <if test="projectId != null and projectId!=0 ">
+            AND t.id = #{projectId}
+        </if>
+        <if test="categoryName != null and categoryName!='' ">
+            AND m.category_name like concat('%', #{categoryName}, '%')
+        </if>
+        <if test="businessId != null and businessId!=0 ">
+            AND b.id = #{businessId}
+        </if>
+        group by m.id
+        order by m.sort
+    </select>
+</mapper>

+ 97 - 0
zhongzheng-system/src/main/resources/mapper/modules/top/TopSchoolMapper.xml

@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.top.goods.mapper.TopSchoolMapper">
+
+    <resultMap type="com.zhongzheng.modules.top.goods.vo.TopSchoolVo" id="TopSchoolVoResult">
+        <result property="id" column="id"/>
+        <result property="schoolName" column="school_name"/>
+        <result property="encoder" column="encoder"/>
+        <result property="status" column="status"/>
+        <result property="schoolProvinceId" column="school_province_id"/>
+        <result property="schoolCityId" column="school_city_id"/>
+        <result property="schoolProvinceFull" column="school_province_full"/>
+        <result property="schoolProvince" column="school_province"/>
+        <result property="schoolCityFull" column="school_city_full"/>
+        <result property="schoolCityId" column="school_city_id"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+
+    <resultMap type="com.zhongzheng.modules.top.goods.vo.TopCourseProjectTypeVo" id="TopCourseProjectTypeVoResult">
+        <result property="id" column="id"/>
+        <result property="projectName" column="project_name"/>
+        <result property="encoder" column="encoder"/>
+        <result property="remark" column="remark"/>
+        <result property="educationId" column="education_id"/>
+        <result property="educationName" column="education_name"/>
+        <result property="status" column="status"/>
+    </resultMap>
+
+    <select id="selectProject" parameterType="com.zhongzheng.modules.top.goods.bo.TopCourseProjectTypeQueryBo"  resultMap="TopCourseProjectTypeVoResult">
+        SELECT
+        p.*,
+        e.education_name
+        FROM
+        top_school_project j
+        LEFT JOIN top_course_project_type p on p.id=j.project_id
+        LEFT JOIN top_course_education_type e ON p.education_id = e.id
+        where 1=1
+        <if test="status != null and status.size()!=0 ">
+            AND p.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="id != null and id != ''">
+            and j.school_id = #{id}
+        </if>
+    </select>
+
+
+    <select id="queryList" parameterType="com.zhongzheng.modules.top.goods.bo.TopSchoolQueryBo"  resultMap="TopSchoolVoResult">
+        SELECT
+        s.*
+        FROM
+        top_school s
+        LEFT JOIN top_school_project p ON p.school_id = s.id
+        LEFT JOIN top_course_business b on b.project_id =p.project_id
+        LEFT JOIN top_course_project_type t on p.project_id=t.id
+        LEFT JOIN top_course_education_type e on t.education_id = e.id
+        where 1=1
+        <if test="status != null and status.size()!=0 ">
+            AND s.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="id != null and id != ''">
+            and s.id = #{id}
+        </if>
+        <if test="schoolProvinceId != null and schoolProvinceId != ''">
+            and s.school_province_id = #{schoolProvinceId}
+        </if>
+        <if test="schoolCityId != null and schoolCityId != ''">
+            and s.school_city_id = #{schoolCityId}
+        </if>
+
+        <if test="encoder != null and encoder != ''">
+            and s.encoder = #{encoder}
+        </if>
+
+        <if test="schoolName != null and schoolName != ''">
+            and s.school_name like concat('%', #{schoolName}, '%')
+        </if>
+        <if test="educationId != null and educationId!=0 ">
+            AND e.id = #{educationId}
+        </if>
+        <if test="projectId != null and projectId!=0 ">
+            AND t.id = #{projectId}
+        </if>
+        <if test="businessId != null and businessId!=0 ">
+            AND b.id = #{businessId}
+        </if>
+        GROUP BY s.id
+        order by s.update_time desc
+    </select>
+</mapper>