he2802 1 rok temu
rodzic
commit
bc32951639

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/RollBackPeriodBo.java

@@ -19,4 +19,12 @@ public class RollBackPeriodBo {
     @ApiModelProperty("签名")
     @NotBlank(message = "签名不能为空")
     private String sign;
+
+    @ApiModelProperty("是否全部重新 1是 0不是")
+    @NotBlank(message = "是否全部重新")
+    private Integer allReStudy;
+
+    @ApiModelProperty("重学原因")
+    @NotBlank(message = "重学原因")
+    private String allReStudyReason;
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/UserPeriodEditBo.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
 import java.util.Date;
 import java.util.List;
 
@@ -82,5 +84,11 @@ public class UserPeriodEditBo {
     @ApiModelProperty("打回操作平台 1自有系统 2老系统")
     private Integer rollBackPlat;
 
+    @ApiModelProperty("是否全部重学 1是 0不是")
+    @NotBlank(message = "是否全部重学")
+    private Integer allReStudy;
 
+    @ApiModelProperty("重学原因")
+    @NotBlank(message = "重学原因")
+    private String allReStudyReason;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/UserPeriodQueryBo.java

@@ -89,4 +89,6 @@ public class UserPeriodQueryBo extends BaseEntity {
 	@ApiModelProperty("周查询结束时间")
 	private Long searchWeekEndTime;
 	private Long orderGoodsId;
+
+	private Integer periodStatus;
 }

+ 77 - 17
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -646,26 +646,86 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
                 }
             }
         }
-        LambdaUpdateWrapper<ClassGradeUser> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
-        objectLambdaUpdateWrapper.eq(ClassGradeUser::getId, classGradeUser.getId());
-        objectLambdaUpdateWrapper.set(ClassGradeUser::getPeriodStatus, 3);
-        objectLambdaUpdateWrapper.set(ClassGradeUser::getUpdateTime, DateUtils.getNowTime());
-        //判断结业
-        long nowTime = System.currentTimeMillis() / 1000;
-        ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
-        queryBo.setGradeId(bo.getGradeId());
-        queryBo.setUserId(bo.getUserId());
-        ClassPeriodStudentVo classPeriodStudentVo = classGradeUserMapper.userPeriodStatus(queryBo);
-        if (Validator.isEmpty(classPeriodStudentVo.getClassStartTime())) {
-            //没设置永久有效
-            objectLambdaUpdateWrapper.set(ClassGradeUser::getFinishStatus, 0);
-        }
-        if (Validator.isNotEmpty(classPeriodStudentVo.getClassEndTime()) && Validator.isNotEmpty(classPeriodStudentVo.getClassStartTime())) {
-            if (nowTime < classPeriodStudentVo.getClassEndTime() && nowTime > classPeriodStudentVo.getClassStartTime()) {
+        if(Validator.isNotEmpty(bo.getAllReStudy())&&bo.getAllReStudy()==1){
+            //全部打回重学
+            LambdaUpdateWrapper<ClassGradeUser> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper.eq(ClassGradeUser::getId, classGradeUser.getId());
+            objectLambdaUpdateWrapper.set(ClassGradeUser::getPeriodStatus, -1);
+            objectLambdaUpdateWrapper.set(ClassGradeUser::getUpdateTime, DateUtils.getNowTime());
+            //判断结业
+            long nowTime = System.currentTimeMillis() / 1000;
+            ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
+            queryBo.setGradeId(bo.getGradeId());
+            queryBo.setUserId(bo.getUserId());
+            ClassPeriodStudentVo classPeriodStudentVo = classGradeUserMapper.userPeriodStatus(queryBo);
+            if (Validator.isEmpty(classPeriodStudentVo.getClassStartTime())) {
+                //没设置永久有效
                 objectLambdaUpdateWrapper.set(ClassGradeUser::getFinishStatus, 0);
             }
+            if (Validator.isNotEmpty(classPeriodStudentVo.getClassEndTime()) && Validator.isNotEmpty(classPeriodStudentVo.getClassStartTime())) {
+                if (nowTime < classPeriodStudentVo.getClassEndTime() && nowTime > classPeriodStudentVo.getClassStartTime()) {
+                    objectLambdaUpdateWrapper.set(ClassGradeUser::getFinishStatus, 0);
+                }
+            }
+            iClassGradeUserService.update(null, objectLambdaUpdateWrapper);
+            UserPeriodQueryBo periodQueryBo = new UserPeriodQueryBo();
+            periodQueryBo.setOrderGoodsId(bo.getOrderGoodsId());
+            periodQueryBo.setPeriodStatus(1);
+            List<UserPeriodStatusVo> upsList = userPeriodStatusService.selectPeriodStatus(periodQueryBo);
+            for(UserPeriodStatusVo periodStatusVo : upsList){
+                UserPeriod period = getById(periodStatusVo.getPeriodId());
+                CourseModuleVo moduleVo = iCourseModuleService.queryById(period.getModuleId());
+                if(Validator.isNotEmpty(moduleVo)&&Validator.isNotEmpty(moduleVo.getCommonSign())&&moduleVo.getCommonSign()==1&&orderGoods.getSevenClassCopy()>1){
+
+                }else{
+                    UserPeriodStatus userPeriodStatus = new UserPeriodStatus();
+                    userPeriodStatus.setPeriodStatus(1);
+                    userPeriodStatus.setStatus(0);
+                    userPeriodStatus.setUpdateTime(DateUtils.getNowTime());
+                    userPeriodStatus.setAuditTime(DateUtils.getNowTime());
+                    userPeriodStatus.setAuditReason(bo.getAllReStudyReason());
+                    userPeriodStatus.setAuditUserName("系统全部打回");
+                    LambdaQueryWrapper<UserPeriodStatus> userPeriods = Wrappers.lambdaQuery();
+                    userPeriods.eq(UserPeriodStatus::getId, periodStatusVo.getId());
+                    userPeriodStatusService.update(userPeriodStatus, userPeriods);
+                }
+            }
+            if(orderGoods.getSevenClassCopy()>1){
+                LambdaUpdateWrapper<OrderGoods> objectLambdaUpdateWrapperOG = Wrappers.lambdaUpdate();
+                objectLambdaUpdateWrapperOG.eq(OrderGoods::getOrderGoodsId, bo.getOrderGoodsId());
+                objectLambdaUpdateWrapperOG.set(OrderGoods::getSevenClassStatus, 4);
+                iOrderGoodsService.update(null, objectLambdaUpdateWrapperOG);
+            }
+            //更新班级学员信息
+            bo.setUserId(classGradeUser.getUserId());
+            bo.setGradeId(classGradeUser.getGradeId());
+            bo.setGoodsId(orderGoods.getGoodsId());
+            bo.setStatus(0);
+            //发送审核不通过消息
+            sendPeriodSMS(bo);
+            sendPeriodSevenSMS(bo);
+        }else{
+            LambdaUpdateWrapper<ClassGradeUser> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper.eq(ClassGradeUser::getId, classGradeUser.getId());
+            objectLambdaUpdateWrapper.set(ClassGradeUser::getPeriodStatus, 3);
+            objectLambdaUpdateWrapper.set(ClassGradeUser::getUpdateTime, DateUtils.getNowTime());
+            //判断结业
+            long nowTime = System.currentTimeMillis() / 1000;
+            ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
+            queryBo.setGradeId(bo.getGradeId());
+            queryBo.setUserId(bo.getUserId());
+            ClassPeriodStudentVo classPeriodStudentVo = classGradeUserMapper.userPeriodStatus(queryBo);
+            if (Validator.isEmpty(classPeriodStudentVo.getClassStartTime())) {
+                //没设置永久有效
+                objectLambdaUpdateWrapper.set(ClassGradeUser::getFinishStatus, 0);
+            }
+            if (Validator.isNotEmpty(classPeriodStudentVo.getClassEndTime()) && Validator.isNotEmpty(classPeriodStudentVo.getClassStartTime())) {
+                if (nowTime < classPeriodStudentVo.getClassEndTime() && nowTime > classPeriodStudentVo.getClassStartTime()) {
+                    objectLambdaUpdateWrapper.set(ClassGradeUser::getFinishStatus, 0);
+                }
+            }
+            iClassGradeUserService.update(null, objectLambdaUpdateWrapper);
         }
-        iClassGradeUserService.update(null, objectLambdaUpdateWrapper);
         return true;
     }
 

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/UserPeriodStatusMapper.xml

@@ -90,6 +90,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="searchWeekEndTime != null and searchWeekEndTime != '' ">
             AND #{searchWeekEndTime} >=  ups.update_time
         </if>
+        <if test="periodStatus != null ">
+            and ups.period_status = #{periodStatus}
+        </if>
         ORDER BY
             ups.create_time asc
     </select>