he2802 3 年之前
父節點
當前提交
cc59aa2b3a

+ 2 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/base/UserProfileStampController.java

@@ -21,6 +21,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**

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

@@ -43,6 +43,8 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 
 	Integer updateUserPeriodStatus(ClassGradeUserQueryBo bo);
 
+	ClassPeriodStudentVo getUserPeriodStatus(ClassGradeUserQueryBo bo);
+
 	String pushOfficialInfo(ClassGradeUserQueryBo bo);
 
 	String pushOfficialInfoMore(List<ClassGradeUserQueryBo> list);

+ 23 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -280,13 +280,8 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return true;
     }
 
-    /**
-     * 获取单个用户的最新审核状态并更新
-     * @param bo
-     * @return
-     */
     @Override
-    public Integer updateUserPeriodStatus(ClassGradeUserQueryBo bo) {
+    public ClassPeriodStudentVo getUserPeriodStatus(ClassGradeUserQueryBo bo) {
         if(Validator.isEmpty(bo.getUserId())){
             throw new CustomException("参数错误");
         }
@@ -353,6 +348,26 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                 gradePeriodStatus = -1;
             }
         }
+        classPeriodStudentVo.setGradePeriodStatus(gradePeriodStatus);
+        return classPeriodStudentVo;
+    }
+
+    /**
+     * 获取单个用户的最新审核状态并更新
+     * @param bo
+     * @return
+     */
+    @Override
+    public Integer updateUserPeriodStatus(ClassGradeUserQueryBo bo) {
+        ClassPeriodStudentVo classPeriodStudentVo = getUserPeriodStatus(bo);
+        Integer gradePeriodStatus = classPeriodStudentVo.getGradePeriodStatus();
+        if(Validator.isEmpty(bo.getUserId())){
+            throw new CustomException("参数错误");
+        }
+        if(Validator.isEmpty(bo.getGradeId())){
+            throw new CustomException("参数错误");
+        }
+
         LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
         classGradeUser.eq(ClassGradeUser::getUserId, bo.getUserId());
         classGradeUser.eq(ClassGradeUser::getGradeId, bo.getGradeId());
@@ -381,6 +396,8 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return gradePeriodStatus;
     }
 
+
+
     /**
      * 信息推送
      * @param bo

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodStudentVo.java

@@ -178,5 +178,5 @@ public class ClassPeriodStudentVo {
 
 	private Long classEndTime;
 
-
+	private Integer gradePeriodStatus;
 }

+ 17 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -20,6 +20,7 @@ import com.zhongzheng.modules.face.service.IFaceService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.bo.UserPeriodAddBo;
 import com.zhongzheng.modules.grade.bo.UserPeriodStatusAddBo;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
@@ -28,6 +29,7 @@ import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.service.IUserPeriodStatusService;
+import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
 import com.zhongzheng.modules.grade.vo.UserPeriodStatusVo;
 import com.zhongzheng.modules.inform.bo.InformRemindQueryBo;
 import com.zhongzheng.modules.inform.bo.InformUserAddBo;
@@ -297,10 +299,11 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
 
         //新增学时记录,照片
         userPeriodSave(add, bo);
-        //完成当天学习计划
-        userPlanSave(add);
         //判断有无学习结束
         studyFinish(add);
+        //完成当天学习计划
+        userPlanSave(add);
+
         return 0;
     }
 
@@ -308,7 +311,13 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
     public void studyFinish(UserStudyRecord bo) {
         //获得当前所在班级
         if (bo.getStatus() != null && bo.getStatus().equals(1)){
-            Long secLong = 0L;
+            ClassGradeUserQueryBo gradeUserQueryBo = new ClassGradeUserQueryBo();
+            gradeUserQueryBo.setGoodsId(bo.getGoodsId());
+            gradeUserQueryBo.setUserId(bo.getUserId());
+            gradeUserQueryBo.setGradeId(bo.getGradeId());
+            ClassPeriodStudentVo classPeriodStudentVo = iClassGradeUserService.getUserPeriodStatus(gradeUserQueryBo);
+            Integer gradePeriodStatus = classPeriodStudentVo.getGradePeriodStatus();
+           /* Long secLong = 0L;
             Long studyLong = 0L;
             SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
             subjectStudyRecordQueryBo.setGoodsId(bo.getGoodsId());
@@ -319,15 +328,16 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
             for (SubjectStudyRecordVo subjectStudyRecordVo : subjectStudyRecordVos) {
                 secLong = new BigDecimal(secLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getSectionNum().toString())).longValue();
                 studyLong = new BigDecimal(studyLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getRecordNum().toString())).longValue();
-            }
+            }*/
             //发送课时完成
+            //获取旧信息
             ClassGradeUser gradeUser =iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>()
                     .eq(ClassGradeUser::getUserId,bo.getUserId()).eq(ClassGradeUser::getGradeId,bo.getGradeId()
                     ).eq(ClassGradeUser::getStatus,1).eq(ClassGradeUser::getChangeGrade,0).eq(ClassGradeUser::getPeriodStatus,-1).last("limit 1"));
+            //原本未审核才可进来
             if(Validator.isNotEmpty(gradeUser)&&gradeUser.getPeriodStatus()==-1){
-                //原本未审核才可进来
-                if (secLong.equals(studyLong)&&sectionStudyRecordVo.getExamRecordNum().equals(sectionStudyRecordVo.getExamNum())) {
-
+                //最新数据学完变为待审核
+                if (gradePeriodStatus==2) {
                     LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
                     classGradeUser.eq(ClassGradeUser::getUserId, bo.getUserId());
                     classGradeUser.eq(ClassGradeUser::getGradeId, bo.getGradeId());