yangdamao 2 rokov pred
rodič
commit
b961cb8eff
19 zmenil súbory, kde vykonal 241 pridanie a 39 odobranie
  1. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java
  2. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java
  3. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java
  4. 62 28
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  5. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeGoodsMapper.java
  6. 5 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeGoodsService.java
  8. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeService.java
  9. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeGoodsServiceImpl.java
  10. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java
  11. 0 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsAddBo.java
  13. 10 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java
  14. 47 7
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysTenant.java
  16. 18 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml
  17. 11 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeGoodsMapper.xml
  18. 13 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml
  19. 47 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -159,7 +159,7 @@ public class OrderController extends BaseController {
             questionOpenBo.setGoodsId(bo.getGoodsList().get(0).getGoodsId());
             UserSubscribe userSubscribe = iUserSubscribeService.getOne(new LambdaQueryWrapper<UserSubscribe>()
                     .eq(UserSubscribe::getUserId, bo.getUserId())
-                    .eq(UserSubscribe::getOrderGoodsId, bo.getSubOrderGoodsId())
+                    .eq(UserSubscribe::getOrderGoodsId, bo.getGoodsList().get(0).getSubOrderGoodsId())
                     .last("limit 1"));
             questionOpenBo.setUserSubscribeIds(Arrays.asList(userSubscribe.getSubscribeId()));
             return AjaxResult.success(iOrderService.questionGoodsOpen(questionOpenBo));

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java

@@ -96,4 +96,7 @@ public interface GoodsMapper extends BaseMapper<Goods> {
 
     @InterceptorIgnore(tenantLine = "true")
     List<ReplenishExamVo> getReplenishExam(ReplenishExamBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<Goods> getRelevanceGoodsNoTenant(Goods g);
 }

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

@@ -156,4 +156,6 @@ public interface IGoodsService extends IService<Goods> {
     List<ExternalQuestionVo> getExternalQuestion(ExternalQuestionBo bo);
 
 	List<ReplenishExamVo> getReplenishExam(ReplenishExamBo bo);
+
+	List<Goods> getRelevanceGoodsNoTenant(Goods g);
 }

+ 62 - 28
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -630,34 +630,63 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             }
         }else if (businessName.contains("继续教育") && businessName.contains("施工现场专业人员")
                 && StringUtils.isNotBlank(bo.getSevenYear()) && !Arrays.asList("2021","2022").contains(bo.getSevenYear())){
-            //七大员继教同专业下共用一个班级
-            Goods oneGoods = getOne(new LambdaQueryWrapper<Goods>()
-                    .eq(Goods::getEducationTypeId, add.getEducationTypeId())
-                    .eq(Goods::getProjectId, add.getProjectId())
-                    .eq(Goods::getBusinessId, add.getBusinessId())
-                    .eq(ObjectUtils.isNotNull(add.getMajorId()), Goods::getMajorId, add.getMajorId())
-                    .eq(Goods::getSubjectIds, add.getSubjectIds())
-                    .eq(Goods::getStatus, 1)
-                    .eq(Goods::getGoodsStatus,1)
-                    .ne(Goods::getGoodsId, goodsId)
-                    .last("limit 1"));
-            if (ObjectUtils.isNotNull(oneGoods)){
-                List<ClassGradeGoods> classGradeList = iClassGradeGoodsService
-                        .list(new LambdaQueryWrapper<ClassGradeGoods>()
-                        .eq(ClassGradeGoods::getGoodsId, oneGoods.getGoodsId()));
-                if (CollectionUtils.isNotEmpty(classGradeList)){
-                    List<ClassGrade> list = iClassGradeService.listByIds(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
-                    list.forEach(item -> item.setGradeId(null));
-                    iClassGradeService.saveBatch(list);
-                    List<ClassGradeGoods> gradeGoodsList = list.stream().map(item -> {
-                        ClassGradeGoods gradeGoods = new ClassGradeGoods();
-                        gradeGoods.setGradeId(item.getGradeId());
-                        gradeGoods.setGoodsId(goodsId);
-                        gradeGoods.setUpdateTime(DateUtils.getNowTime());
-                        gradeGoods.setCreateTime(DateUtils.getNowTime());
-                        return gradeGoods;
-                    }).collect(Collectors.toList());
-                    iClassGradeGoodsService.saveBatch(gradeGoodsList);
+            String tenantId = ServletUtils.getRequest().getHeader("TenantId");
+            SysTenant tenant = iSysTenantService.getById(Long.valueOf(tenantId));
+            if (ObjectUtils.isNotNull(tenant.getSevenClass()) && tenant.getSevenClass() == 1){
+                //多机构使用祥粤七大员班级
+                Goods g = getById(goodsId);
+                List<Goods> list = baseMapper.getRelevanceGoodsNoTenant(g);
+                if (CollectionUtils.isNotEmpty(list)){
+                    Long relGoodsId = list.stream().findFirst().get().getGoodsId();
+                    List<ClassGradeGoods> classGradeList = iClassGradeGoodsService
+                            .getClassNoTenant(Arrays.asList(relGoodsId));
+                    if (CollectionUtils.isNotEmpty(classGradeList)){
+                        if (CollectionUtils.isNotEmpty(classGradeList)){
+                            List<ClassGrade> gradeList = iClassGradeService.listByIdsNoTenant(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
+                            gradeList.forEach(item -> item.setGradeId(null));
+                            iClassGradeService.saveBatch(gradeList);
+                            List<ClassGradeGoods> gradeGoodsList = gradeList.stream().map(item -> {
+                                ClassGradeGoods gradeGoods = new ClassGradeGoods();
+                                gradeGoods.setGradeId(item.getGradeId());
+                                gradeGoods.setGoodsId(goodsId);
+                                gradeGoods.setUpdateTime(DateUtils.getNowTime());
+                                gradeGoods.setCreateTime(DateUtils.getNowTime());
+                                return gradeGoods;
+                            }).collect(Collectors.toList());
+                            iClassGradeGoodsService.saveBatch(gradeGoodsList);
+                        }
+                    }
+                }
+            }else {
+                //七大员继教同专业下共用一个班级
+                Goods oneGoods = getOne(new LambdaQueryWrapper<Goods>()
+                        .eq(Goods::getEducationTypeId, add.getEducationTypeId())
+                        .eq(Goods::getProjectId, add.getProjectId())
+                        .eq(Goods::getBusinessId, add.getBusinessId())
+                        .eq(ObjectUtils.isNotNull(add.getMajorId()), Goods::getMajorId, add.getMajorId())
+                        .eq(Goods::getSubjectIds, add.getSubjectIds())
+                        .eq(Goods::getStatus, 1)
+                        .eq(Goods::getGoodsStatus,1)
+                        .ne(Goods::getGoodsId, goodsId)
+                        .last("limit 1"));
+                if (ObjectUtils.isNotNull(oneGoods)){
+                    List<ClassGradeGoods> classGradeList = iClassGradeGoodsService
+                            .list(new LambdaQueryWrapper<ClassGradeGoods>()
+                                    .eq(ClassGradeGoods::getGoodsId, oneGoods.getGoodsId()));
+                    if (CollectionUtils.isNotEmpty(classGradeList)){
+                        List<ClassGrade> list = iClassGradeService.listByIds(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
+                        list.forEach(item -> item.setGradeId(null));
+                        iClassGradeService.saveBatch(list);
+                        List<ClassGradeGoods> gradeGoodsList = list.stream().map(item -> {
+                            ClassGradeGoods gradeGoods = new ClassGradeGoods();
+                            gradeGoods.setGradeId(item.getGradeId());
+                            gradeGoods.setGoodsId(goodsId);
+                            gradeGoods.setUpdateTime(DateUtils.getNowTime());
+                            gradeGoods.setCreateTime(DateUtils.getNowTime());
+                            return gradeGoods;
+                        }).collect(Collectors.toList());
+                        iClassGradeGoodsService.saveBatch(gradeGoodsList);
+                    }
                 }
             }
         }
@@ -5159,6 +5188,11 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return baseMapper.getReplenishExam(bo);
     }
 
+    @Override
+    public List<Goods> getRelevanceGoodsNoTenant(Goods g) {
+        return baseMapper.getRelevanceGoodsNoTenant(g);
+    }
+
     private void updateHandoutsId(Long goodsId, Long tenantId, Long handoutsId) {
         baseMapper.updateHandoutsId(goodsId,tenantId,handoutsId);
     }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeGoodsMapper.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.grade.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.grade.domain.ClassGradeGoods;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -17,4 +18,7 @@ public interface ClassGradeGoodsMapper extends BaseMapper<ClassGradeGoods> {
     List<ClassGradeGoods> getGradeGoodsList(@Param("goodsId") Long goodsId);
 
     List<ClassGradeGoods> getClassGradeByIds(@Param("goodsIds")List<Long> goodsIds);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassGradeGoods> getClassNoTenant(@Param("goodsIds")List<Long> goodsIds);
 }

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java

@@ -26,7 +26,7 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
 
     List<GoodsVo> queryGoodsList(Long classId);
 
-
+    @InterceptorIgnore(tenantLine = "true")
     List<ClassGradeStudentVo> listGrade(ClassGradeUserQueryBo bo);
 
     List<ClassGradeUserListVo> listGradeInform(ClassGradeQueryBo bo);
@@ -90,9 +90,13 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
 
     ClassGrade getSevenGrade(List<Long> gradeIds);
 
+    @InterceptorIgnore(tenantLine = "true")
     Long getStudeCountByCode(String sevenCode);
 
     List<ClassGradeVo> searchGradeList(ClassGradeQueryBo bo);
 
     List<String> getSevenYearByCode(String sevenCode);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassGrade> listByIdsNoTenant(List<Long> ids);
 }

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

@@ -53,4 +53,6 @@ public interface IClassGradeGoodsService extends IService<ClassGradeGoods> {
     List<ClassGradeGoods> getGradeGoodsList(Long goodsId);
 
 	List<ClassGradeGoods> getClassGradeByIds(List<Long> goodsIds);
+
+    List<ClassGradeGoods> getClassNoTenant(List<Long> collect);
 }

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

@@ -107,4 +107,6 @@ public interface IClassGradeService extends IService<ClassGrade> {
 
 
 	List<ClassGradeVo> searchGradeList(ClassGradeQueryBo bo);
+
+    List<ClassGrade> listByIdsNoTenant(List<Long> ids);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeGoodsServiceImpl.java

@@ -107,4 +107,9 @@ public class ClassGradeGoodsServiceImpl extends ServiceImpl<ClassGradeGoodsMappe
     public List<ClassGradeGoods> getClassGradeByIds(List<Long> goodsIds) {
         return baseMapper.getClassGradeByIds(goodsIds);
     }
+
+    @Override
+    public List<ClassGradeGoods> getClassNoTenant(List<Long> goodsIds) {
+        return baseMapper.getClassNoTenant(goodsIds);
+    }
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -1558,6 +1558,11 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         return classGradeVos;
     }
 
+    @Override
+    public List<ClassGrade> listByIdsNoTenant(List<Long> ids) {
+        return baseMapper.listByIdsNoTenant(ids);
+    }
+
     //创建预开班班级
     private void creatClass(List<Long> goodsIds, Long tenantId, String code) {
         goodsIds.forEach(goodsId -> {

+ 0 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java

@@ -109,8 +109,6 @@ public class OrderAddBo {
     /** 培训计划ID */
     @ApiModelProperty("计划ID")
     private Integer planId;
-    @ApiModelProperty("预约订单商品ID")
-    private Long subOrderGoodsId;
     @ApiModelProperty("新B端题库开通标识")
     private Integer openQuestionSign;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsAddBo.java

@@ -101,4 +101,6 @@ public class OrderGoodsAddBo {
     private Integer sevenClassCopy;
     @ApiModelProperty("关联的订单商品ID")
     private Long relevanceId;
+    @ApiModelProperty("预约订单商品ID")
+    private Long subOrderGoodsId;
 }

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -1,4 +1,5 @@
 package com.zhongzheng.modules.order.mapper;
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.grade.bo.ClassGradeListBo;
@@ -48,7 +49,16 @@ public interface OrderMapper extends BaseMapper<Order> {
 
     ClassGrade getSevenGrade(@Param("gradeIds") List<Long> gradeIds);
 
+    @InterceptorIgnore(tenantLine = "true")
+    ClassGrade getSevenGradeNoTenant(@Param("gradeIds") List<Long> gradeIds);
+
     Integer getStudeCountByCode(String sevenCode);
 
     List<ClassGrade> getClassNameByGoods(@Param("educationTypeId") Long educationTypeId,@Param("projectId") Long projectId,@Param("businessId") Long businessId,@Param("majorId") Long majorId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassGrade> getClassNameByGoodsNotTenant(@Param("educationTypeId") Long educationTypeId,@Param("projectId") Long projectId,@Param("businessId") Long businessId,@Param("majorId") Long majorId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Integer getStudeCountByCodeNoTenant(String sevenCode);
 }

+ 47 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -213,6 +213,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     private ITopOldOrderService topOldOrderService;
     @Autowired
     private ISysOldOrgService iSysOldOrgService;
+    @Autowired
+    private ISysTenantService iSysTenantService;
 
     @Override
     public OrderVo queryById(Long orderId) {
@@ -686,9 +688,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             orderGoods.setCreateTime(DateUtils.getNowTime());
             orderGoods.setUpdateTime(DateUtils.getNowTime());
             orderGoods.setGoodsReceived(g.getGoodsReceived());
-            if (ObjectUtils.isNotNull(bo.getSubOrderGoodsId())){
+            if (ObjectUtils.isNotNull(g.getSubOrderGoodsId())){
                 //补充考试次数订单商品ID
-                orderGoods.setSubOrderGoodsId(bo.getSubOrderGoodsId());
+                orderGoods.setSubOrderGoodsId(g.getSubOrderGoodsId());
             }
             //订单标准价格不计算优惠
             totalPrice = totalPrice.add(goods.getStandPrice());
@@ -2273,6 +2275,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         OrderGoods orderGoods = iOrderGoodsService.getById(orderGoodsId);
         String businessFull = iGoodsService.getGoodsBusinessName(goodsId);
         Goods goods = iGoodsService.getById(goodsId);
+        String tenantId = ServletUtils.getRequest().getHeader("TenantId");
+        SysTenant sysTenant = iSysTenantService.getById(Long.valueOf(tenantId));
         //指定班级
         if (gradeId != null && gradeId > 0) {
             ClassGradeVo classGradeVo = iClassGradeService.queryById(gradeId);
@@ -2291,7 +2295,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             int locakStudentNum = 0;
             Boolean sevenFlag = false;
             if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")){
-                locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
+                if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
+                    //七大员继教班级共享
+                    locakStudentNum = baseMapper.getStudeCountByCodeNoTenant(classGradeVo.getSevenCode());
+                }else {
+                    locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
+                }
                 sevenFlag = true;
             }else {
                 LambdaQueryWrapper<ClassGradeUser> lqw = new LambdaQueryWrapper<>();
@@ -2334,7 +2343,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             Boolean sevenFlag = false;
             if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")
                     && StringUtils.isNotBlank(goods.getSevenYear()) && !Arrays.asList("2021","2022").contains(goods.getSevenYear())){
-                locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
+                if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
+                    //七大员继教班级共享
+                    locakStudentNum = baseMapper.getStudeCountByCodeNoTenant(classGradeVo.getSevenCode());
+                }else {
+                    locakStudentNum = baseMapper.getStudeCountByCode(classGradeVo.getSevenCode());
+                }
                 sevenFlag = true;
             }else {
                 //临时锁定的班级学员数量
@@ -2394,8 +2408,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                             }
                         });
                     }
-                    String sevenCode = getSevenCode(goodsId);
-                    classGrade.setSevenCode(sevenCode);
+                    if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
+                        //七大员继教班级共享
+                        classGrade.setSevenCode(getSevenCodeNoTenant(goodsId));
+                    }else {
+                        classGrade.setSevenCode(getSevenCode(goodsId));
+                    }
                 }
             }else {
                 classGrade.setStudentUpper(ClassGrade.INIT_UPPER); //上限300
@@ -2427,7 +2445,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         Boolean classFlag = true;
         if (businessFull.contains("继续教育") && businessFull.contains("施工现场专业人员")
                 && StringUtils.isNotBlank(goods.getSevenYear()) && !Arrays.asList("2021","2022").contains(goods.getSevenYear())){
-            List<ClassGrade> gradeName = baseMapper.getClassNameByGoods(goods.getEducationTypeId(),goods.getProjectId().longValue(),goods.getBusinessId(),goods.getMajorId());
+            List<ClassGrade> gradeName = new ArrayList<>();
+            if (ObjectUtils.isNotNull(sysTenant.getSevenClass()) && sysTenant.getSevenClass() == 1){
+                //七大员继教班级共享
+                gradeName = baseMapper.getClassNameByGoodsNotTenant(goods.getEducationTypeId(),goods.getProjectId().longValue(),goods.getBusinessId(),goods.getMajorId());
+            }else {
+                gradeName = baseMapper.getClassNameByGoods(goods.getEducationTypeId(),goods.getProjectId().longValue(),goods.getBusinessId(),goods.getMajorId());
+            }
             if (CollectionUtils.isNotEmpty(gradeName)){
                 ClassGrade grade = gradeName.stream().filter(x -> ObjectUtils.isNotNull(x.getClassStatus()) && x.getClassStatus() == 1).findFirst().orElse(null);
                 if (ObjectUtils.isNotEmpty(grade)){
@@ -2518,6 +2542,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return ServletUtils.getEncoded("SEV");
     }
 
+    private String getSevenCodeNoTenant(Long goodsId) {
+        Goods g = iGoodsService.getById(goodsId);
+        List<Goods> list = iGoodsService.getRelevanceGoodsNoTenant(g);
+        if (CollectionUtils.isNotEmpty(list)){
+            List<ClassGradeGoods> classGradeList = iClassGradeGoodsService
+                    .getClassNoTenant(list.stream().map(Goods::getGoodsId).collect(Collectors.toList()));
+            if (CollectionUtils.isNotEmpty(classGradeList)){
+                ClassGrade classGrade = baseMapper.getSevenGradeNoTenant(classGradeList.stream().map(ClassGradeGoods::getGradeId).collect(Collectors.toList()));
+                if (ObjectUtils.isNotNull(classGrade)){
+                    return classGrade.getSevenCode();
+                }
+            }
+        }
+        return ServletUtils.getEncoded("SEV");
+    }
+
     @Override
     public Map<String, String> getActivityGoods(OrderAddBo bo) {
         String key = "ORDER-" + "-" + bo.getUserId();

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

@@ -109,5 +109,7 @@ private static final long serialVersionUID=1L;
     private String postPassword;
     /** 排序字段 */
     private Integer sort;
+    /** 七大员班级标识:1使用祥粤班级 0正常 */
+    private Integer sevenClass;
 
 }

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -837,6 +837,24 @@
           AND tenant_id = #{tenantId}
     </select>
 
+    <select id="getRelevanceGoodsNoTenant" parameterType="com.zhongzheng.modules.goods.domain.Goods" resultType="com.zhongzheng.modules.goods.domain.Goods">
+        SELECT
+            *
+        FROM
+            goods
+        WHERE
+            education_type_id = #{educationTypeId}
+          AND project_id = #{projectId}
+          AND business_id = #{businessId}
+          <if test="majorId != null and majorId != ''">
+              AND major_id = #{majorId}
+          </if>
+          AND subject_ids = #{subjectIds}
+          AND `status` = 1
+          AND goods_status = 1
+          AND goods_id != #{goodsId}
+    </select>
+
     <select id="queryGoodsByTenant" parameterType="map" resultType="com.zhongzheng.modules.goods.domain.Goods">
         SELECT *
         FROM `goods`

+ 11 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeGoodsMapper.xml

@@ -26,4 +26,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
+    <select id="getClassNoTenant" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.grade.domain.ClassGradeGoods">
+        SELECT cgg.* FROM class_grade_goods cgg
+        WHERE
+        <if test="goodsIds != null and goodsIds.size()!=0 ">
+            AND cgg.goods_id in
+            <foreach collection="goodsIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
 </mapper>

+ 13 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -1292,4 +1292,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             cg.`status` != - 1
 	        AND cg.seven_code = #{sevenCode}
     </select>
+
+    <select id="listByIdsNoTenant" resultType="com.zhongzheng.modules.grade.domain.ClassGrade" parameterType="java.lang.Long">
+        SELECT
+            cg.*
+        FROM
+            class_grade cg
+        WHERE
+            cg.`status` != - 1
+            AND cg.grade_id in
+            <foreach collection="ids" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+    </select>
 </mapper>

+ 47 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -480,6 +480,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LIMIT 1
     </select>
 
+    <select id="getSevenGradeNoTenant" resultType="com.zhongzheng.modules.grade.domain.ClassGrade" parameterType="java.lang.Long">
+        SELECT cg.* FROM class_grade cg
+        WHERE cg.`status` = 1 AND (
+        (SELECT COUNT(DISTINCT cgu.user_id) FROM class_grade_user cgu WHERE cgu.grade_id = cg.grade_id AND cgu.`status` = 1 AND cgu.change_grade = 0) +
+        (SELECT COUNT(DISTINCT cgut.user_id) FROM class_grade_user_temp cgut WHERE cgut.grade_id = cg.grade_id AND cgut.`status` = 1 )
+        ) <![CDATA[   <  ]]> cg.student_upper AND cg.grade_id IN
+        <foreach collection="gradeIds" item="item" index="index" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+        LIMIT 1
+    </select>
+
     <select id="getStudeCountByCode" resultType="java.lang.Integer" parameterType="java.lang.String">
         SELECT SUM(
                            (SELECT COUNT(DISTINCT cgu.user_id) FROM class_grade_user cgu WHERE cgu.grade_id = cg.grade_id AND cgu.`status` = 1 AND cgu.change_grade = 0) +
@@ -488,6 +500,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE cg.`status` = 1 AND  cg.seven_code = #{sevenCode}
     </select>
 
+    <select id="getStudeCountByCodeNoTenant" resultType="java.lang.Integer" parameterType="java.lang.String">
+        SELECT SUM(
+                           (SELECT COUNT(DISTINCT cgu.user_id) FROM class_grade_user cgu WHERE cgu.grade_id = cg.grade_id AND cgu.`status` = 1 AND cgu.change_grade = 0) +
+                           (SELECT COUNT(DISTINCT cgut.user_id) FROM class_grade_user_temp cgut WHERE cgut.grade_id = cg.grade_id AND cgut.`status` = 1 )
+                   ) as num FROM class_grade cg
+        WHERE cg.`status` = 1 AND  cg.seven_code = #{sevenCode}
+    </select>
+
     <select id="getClassNameByGoods" resultType="com.zhongzheng.modules.grade.domain.ClassGrade" parameterType="java.lang.Long">
         SELECT
             cg.*
@@ -514,4 +534,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 ) + ( SELECT COUNT( DISTINCT cgut.user_id ) FROM class_grade_user_temp cgut WHERE cgut.grade_id = cg.grade_id AND cgut.`status` = 1 )
             ) <![CDATA[ < ]]>  cg.student_upper
     </select>
+
+    <select id="getClassNameByGoodsNotTenant" resultType="com.zhongzheng.modules.grade.domain.ClassGrade" parameterType="java.lang.Long">
+        SELECT
+            cg.*
+        FROM
+            class_grade cg
+                LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
+                LEFT JOIN goods g ON cgg.goods_id = g.goods_id
+        WHERE
+            cg.`status` = 1
+          AND g.education_type_id = #{educationTypeId}
+          AND g.project_id = #{projectId}
+          AND g.business_id = #{businessId}
+          AND major_id = #{majorId}
+          AND (
+                      (
+                          SELECT
+                              COUNT( DISTINCT cgu.user_id )
+                          FROM
+                              class_grade_user cgu
+                          WHERE
+                              cgu.grade_id = cg.grade_id
+                            AND cgu.`status` = 1
+                            AND cgu.change_grade = 0
+                      ) + ( SELECT COUNT( DISTINCT cgut.user_id ) FROM class_grade_user_temp cgut WHERE cgut.grade_id = cg.grade_id AND cgut.`status` = 1 )
+                  ) <![CDATA[ < ]]>  cg.student_upper
+    </select>
 </mapper>