Ver código fonte

Merge branch 'pre' into dev

he2802 3 anos atrás
pai
commit
a8df7335d7

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsPeriodVo.java

@@ -125,4 +125,22 @@ public class GoodsPeriodVo {
 	@Excel(name = "班级有效期结束时间")
 	@ApiModelProperty("班级有效期结束时间")
 	private Long classEndTime;
+	/** 开班状态 0未开班 1开班 */
+	@Excel(name = "开班状态 0未开班 1开班")
+	@ApiModelProperty("开班状态 0未开班 1开班")
+	private Integer classStatus;
+	/** 开放学习时间 */
+	@Excel(name = "开放学习时间")
+	@ApiModelProperty("开放学习时间")
+	private Long learningTimeStart;
+	/** 即刻 1  待定2  日期3 */
+	@Excel(name = "即刻 1  待定2  日期3")
+	@ApiModelProperty("即刻 1  待定2  日期3")
+	private Integer learningStatus;
+	/** 官方信息推送接口 */
+	@Excel(name = "官方信息推送接口")
+	@ApiModelProperty("官方信息推送接口")
+	private Long interfacePushId;
+	@ApiModelProperty("官方信息推送状态 1是 0否")
+	private Long officialStatus;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderBillSheetServiceImpl.java

@@ -197,6 +197,9 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
             if(goods==null){
                 throw new CustomException("订单商品错误");
             }
+            if(goods.getRefundStatus()==1||goods.getRefundStatus()==2){
+                throw new CustomException("订单商品处于退款中或已退款,无法进行计费单收费");
+            }
             //获取老的支付状态
             Integer oldPayStatus = goods.getPayStatus();
             Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, g.getOrderSn()));

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -176,7 +176,7 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         update.setGoodsInputData(JSON.toJSONString(bo.getGoodsInputData()));
         OrderGoods db = this.baseMapper.selectById(bo.getOrderGoodsId());
         //新的班级ID变化
-        if (bo.getGradeId() != null && db.getGradeId() != bo.getGradeId()) {
+        /*if (bo.getGradeId() != null && db.getGradeId() != bo.getGradeId()) {
             //修改班级
             Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId, bo.getGoodsId()));
             //视频商品安排班级
@@ -197,7 +197,7 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
             } else {
                 throw new CustomException("非视频课程无法修改班级");
             }
-        }
+        }*/
         return this.updateById(update);
     }
 

+ 31 - 24
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -392,14 +392,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     public Map<String, Object> placePlatInputOrder(OrderAddBo bo) {
         List<OrderGoodsAddBo> goodsList = bo.getGoodsList();
         if (goodsList == null || goodsList.size() < 1) {
-            throw new CustomException("商品列表为空");
+            throw new CustomException("商品列表为空",510);
         }
         if (Validator.isEmpty(bo.getInputOrderSn())) {
-            throw new CustomException("录单单号为空");
+            throw new CustomException("录单单号为空",510);
         }
         OrderInput orderInput = iOrderInputService.queryBySn(bo.getInputOrderSn());
         if (Validator.isEmpty(orderInput)) {
-            throw new CustomException("录单单号不存在");
+            throw new CustomException("录单单号不存在",510);
         }
         Order add = BeanUtil.toBean(bo, Order.class);
         validEntityBeforeSave(add);
@@ -477,7 +477,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     redisCache.unlockLua(redisLockEntity);
                 }
                 if(!isArrange){
-                    throw new CustomException("分班错误");
+                    throw new CustomException("分班错误",510);
                 }
                 iOrderGoodsService.updateById(orderGoods);
             }
@@ -855,7 +855,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             Long makeGoodsId = goods.getMakeGoodsId();
             UserExamGoods entity = userExamGoodsService.getOne(new LambdaQueryWrapper<UserExamGoods>().eq(UserExamGoods::getUserId,userId).eq(UserExamGoods::getGoodsId,makeGoodsId).last("limit 1"));
             if(Validator.isEmpty(entity)){
-                throw new CustomException("请先购买此补考前培商品的绑定商品");
+                throw new CustomException("请先购买此补考前培商品的绑定商品",510);
             }
 
         }
@@ -1223,20 +1223,24 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             if (gradeGoods == null) {
                 throw new CustomException("该班级不支持该商品使用");
             }
-            LambdaQueryWrapper<ClassGradeUser> lqw = new LambdaQueryWrapper<>();
-            lqw.eq(ClassGradeUser::getGradeId, gradeId);
-            lqw.eq(ClassGradeUser::getStatus, 1);
-            int studentNum = iClassGradeUserService.count(lqw);
-            //临时锁定的班级学员数量
-            LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
-            lqwLock.eq(ClassGradeUserTemp::getGradeId, gradeId);
-            lqwLock.eq(ClassGradeUserTemp::getStatus, 1);
-            int locakStudentNum = iClassGradeUserTempService.count(lqwLock);
-            //预留0空位避免超人数
-            if ((classGradeVo.getStudentUpper() - studentNum - locakStudentNum) > 0) {
-                //班级还有剩位,直接加入班级
-                joinGrade(orderGoodsId, gradeId, userId);
-                return gradeId;
+            //判断用户是否在此班过
+            ClassGradeUser gradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>().eq(ClassGradeUser::getUserId,userId).eq(ClassGradeUser::getGradeId,gradeId).last("limit 1"));
+            if(Validator.isEmpty(gradeUser)){
+                LambdaQueryWrapper<ClassGradeUser> lqw = new LambdaQueryWrapper<>();
+                lqw.eq(ClassGradeUser::getGradeId, gradeId);
+                lqw.eq(ClassGradeUser::getStatus, 1);
+                int studentNum = iClassGradeUserService.count(lqw);
+                //临时锁定的班级学员数量
+                LambdaQueryWrapper<ClassGradeUserTemp> lqwLock = new LambdaQueryWrapper<>();
+                lqwLock.eq(ClassGradeUserTemp::getGradeId, gradeId);
+                lqwLock.eq(ClassGradeUserTemp::getStatus, 1);
+                int locakStudentNum = iClassGradeUserTempService.count(lqwLock);
+                //预留0空位避免超人数
+                if ((classGradeVo.getStudentUpper() - studentNum - locakStudentNum) > 0) {
+                    //班级还有剩位,直接加入班级
+                    joinGrade(orderGoodsId, gradeId, userId);
+                    return gradeId;
+                }
             }
         }
         //无指定班级或者指定班级已满
@@ -1256,18 +1260,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             if ((classGradeVo.getStudentUpper() - classGradeVo.getStudentNum() - locakStudentNum) > 0) {
                 //有空位则进入班级
                 gradeId = classGradeVo.getGradeId();
-                //班级还有剩位,直接加入班级
-                joinGrade(orderGoodsId, gradeId, userId);
-                return gradeId;
+                //判断用户是否在此班过
+                ClassGradeUser gradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>().eq(ClassGradeUser::getUserId,userId).eq(ClassGradeUser::getGradeId,gradeId).last("limit 1"));
+                if(Validator.isEmpty(gradeUser)){
+                    //班级还有剩位,直接加入班级
+                    joinGrade(orderGoodsId, gradeId, userId);
+                    return gradeId;
+                }
             }
         }
-
         CourseBusinessVo businessVo = iCourseBusinessService.queryById(businessId);
         boolean isConfigTp = false; //商品是否有配置选班模板
         if (Validator.isNotEmpty(businessVo) && Validator.isNotEmpty(businessVo.getTemplateStatus()) && businessVo.getTemplateStatus() == 1) {
             isConfigTp = true;
         }
-        //创建新班级
+        //都不符合则创建新班级
         ClassGrade classGrade = new ClassGrade();
         if (isConfigTp) {
             classGrade.setLearningStatus(2);//待定

+ 12 - 1
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -108,6 +108,12 @@
         <result property="serviceEndTime" column="service_end_time"/>
         <result property="classStartTime" column="class_start_time"/>
         <result property="classEndTime" column="class_end_time"/>
+
+        <result property="learningStatus" column="learn_status"/>
+        <result property="classStatus" column="class_status"/>
+        <result property="learningTimeStart" column="learning_time_start"/>
+        <result property="interfacePushId" column="interface_push_id"/>
+        <result property="officialStatus" column="official_status"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.goods.vo.GoodsPeriodStatusVo" id="GoodsPeriodStatusVo">
@@ -403,7 +409,12 @@
             og.service_start_time,
             og.service_end_time,
             cg.class_start_time,
-            cg.class_end_time
+            cg.class_end_time,
+            cgu.learn_status,
+            cgu.official_status,
+            cg.learning_time_start,
+            cg.class_status,
+            cg.interface_push_id
         FROM
             class_grade_user cgu
                 LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id

+ 2 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderInputMapper.xml

@@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         any_value ( cet.education_name ) education_name,
         any_value ( cpt.project_name ) project_name,
         any_value ( cb.business_name ) business_name,
-        (select sum(og.goods_received) from order_goods og LEFT JOIN `order` o on o.order_sn = og.order_sn  where o.input_order_sn = u.input_order_sn and og.refund_status = 2) goods_refund,
+        (select IFNULL(sum(og.goods_received),0) from order_goods og LEFT JOIN `order` o on o.order_sn = og.order_sn  where o.input_order_sn = u.input_order_sn and og.refund_status = 2) goods_refund,
         sum( og.goods_received ) goods_received,
         sum(u.order_price ) order_price,
         sum(u.pay_price) pay_price,
@@ -102,6 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             any_value ( cet.education_name ) education_name,
             any_value ( cpt.project_name ) project_name,
             any_value ( cb.business_name ) business_name,
+            (select IFNULL(sum(og.goods_received),0) from order_goods og LEFT JOIN `order` o on o.order_sn = og.order_sn  where o.input_order_sn = oi.input_order_sn and og.refund_status = 2) goods_refund,
             sum( og.goods_received ) goods_received,
             sum( o.order_price ) order_price,
             sum( o.pay_price ) pay_price,