Explorar el Código

Merge branch 'feature/0406-degree' into master_saas

liujc hace 2 años
padre
commit
2a5bddf7da

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DegreeRegistrationDao.java

@@ -24,7 +24,7 @@ public interface DegreeRegistrationDao extends BaseDAO<Integer, DegreeRegistrati
 
     DegreeRegistration getUserLevelDegrees(@Param("userId") Integer userId,
                                                  @Param("degreeId") Long degreeId,
-                                                 @Param("degreeType") DegreeTypeEnum degreeType,
+                                                 @Param("type") DegreeTypeEnum type,
                                                  @Param("levels") String levels,
                                                  @Param("subjectId") Integer subjectId);
 

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/DegreeRegistrationDto.java

@@ -9,9 +9,6 @@ import java.util.Date;
 
 @Data
 public class DegreeRegistrationDto{
-    @ApiModelProperty(value = "考级编号",required = false)
-    private Long degreeId;
-
     @ApiModelProperty(value = "考试级别",required = false)
     private String level;
 

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeMapper.java

@@ -23,5 +23,6 @@ public interface DegreeMapper extends BaseMapper<Degree> {
 	 * @return List<DegreeWrapper.Degree>
 	 */
 	List<Degree> selectPage(@Param("page") IPage<Degree> page, @Param("param") DegreeWrapper.DegreeQuery param);
-	
+
+    void degreeStatusChange();
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/DegreeService.java

@@ -52,4 +52,9 @@ public interface DegreeService extends IService<Degree>  {
      * @return DegreeWrapper.StudentDegreeInfo
      */
     DegreeWrapper.StudentDegreeInfo studentDegreeInfoById(Long id);
+
+    /**
+     * 考级状态变更
+     */
+    void degreeStatusChange();
 }

+ 3 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -94,7 +94,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             String level = registrationDto.getLevel();
             degree.setOrderNo(orderNo);
             degree.setLevel(level);
-            degree.setDegreeId(registrationDto.getDegreeId());
+            degree.setDegreeId(degreeRegistration.getDegreeId());
             degree.setTheoryCert(registrationDto.getTheoryCert());
             degree.setType(registrationDto.getType());
             degree.setStatus(1);
@@ -316,11 +316,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             return BaseController.failed(HttpStatus.CREATED,"请选择考级项目");
         }
         List<DegreeRegistrationDto> collect = registrationDtos.stream().filter(e -> e.getType() == DegreeTypeEnum.GRADE).collect(Collectors.toList());
-        Long degreeId = collect.stream().map(e -> e.getDegreeId()).collect(Collectors.toList()).get(0);
         if(!CollectionUtils.isEmpty(collect)){
             String levels = collect.stream().map(e -> e.getLevel()).collect(Collectors.joining(","));
             DegreeRegistration userLevelDegree = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(),
-                    degreeId,DegreeTypeEnum.GRADE,levels,degreeRegistration.getSubjectId());
+                    degree.getId(),DegreeTypeEnum.GRADE,levels,degreeRegistration.getSubjectId());
             if(Objects.nonNull(userLevelDegree)){
                 return BaseController.failed(HttpStatus.CREATED, "您选择的 " + userLevelDegree.getLevel() +  " 乐器考级已报名,请勿重复选择");
             }
@@ -329,7 +328,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         if(!CollectionUtils.isEmpty(collect)){
             String levels = collect.stream().map(e -> e.getLevel()).collect(Collectors.joining(","));
             DegreeRegistration userLevelDegree = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(),
-                    degreeId,DegreeTypeEnum.THEORY,levels,degreeRegistration.getSubjectId());
+                    degree.getId(),DegreeTypeEnum.THEORY,levels,degreeRegistration.getSubjectId());
             if(Objects.nonNull(userLevelDegree)){
                 return BaseController.failed(HttpStatus.CREATED, "您选择的 " + userLevelDegree.getLevel() +  " 乐理考级已报名,请勿重复选择");
             }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -253,4 +253,9 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
 
         return wrapper;
     }
+
+    @Override
+    public void degreeStatusChange() {
+        this.baseMapper.degreeStatusChange();
+    }
 }

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/DegreeMapper.xml

@@ -28,4 +28,14 @@
         </where>
 	</select>
 
+    <update id="degreeStatusChange">
+        UPDATE degree SET status_ =
+            case
+                when start_time_ &lt; now() and end_time_ &gt; now() then 'START'
+                when end_time_ &lt;= now() then 'END'
+                else 'NOT_START'
+            end
+
+        WHERE status_ != 'END' and start_time_ &lt; now()
+    </update>
 </mapper>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/DegreeRegistrationMapper.xml

@@ -326,8 +326,8 @@
 
     <select id="getUserLevelDegrees" resultMap="DegreeRegistration">
         select * from degree_registration
-        where user_id_ = #{userId} and degree_id_ = #{degreeId} and degree_type_ = #{degreeType}
-          AND FIND_IN_SET(level_,#{levels}) AND subject_id_ = #{subjectId} LIMIT 1
+        where user_id_ = #{userId} and degree_id_ = #{degreeId} and ype_ = #{type}
+          AND FIND_IN_SET(level_,#{levels}) AND subject_id_ = #{subjectId} AND status_ = 2 LIMIT 1
     </select>
     <select id="getLockByOrderId" resultMap="DegreeRegistration">
         SELECT * FROM degree_registration WHERE order_no_ = #{orderNo} FOR UPDATE

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -299,4 +299,8 @@ public interface TaskRemoteService {
 
     @GetMapping("task/teacherCloudCourseReport")
     void teacherCloudCourseReport();
+
+
+    @GetMapping("task/degreeStatusChange")
+    void degreeStatusChange() ;
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -349,4 +349,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
     public void teacherCloudCourseReport() {
 
     }
+
+    @Override
+    public void degreeStatusChange() {
+        logger.error("考级状态变更失败");
+    }
 }

+ 0 - 25
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -97,31 +97,6 @@ public class DegreeController extends BaseController {
         TenantContextHolder.clearTenantId();
         return pay;
     }
-/*
-    @ApiOperation(value = "考级报名支付")
-    @PostMapping("/theoryPay")
-    public HttpResponseResult theoryPay(@RequestBody DegreeRegistrationActivityDto degreeRegistration) throws Exception {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if(Objects.isNull(user)){
-            return failed(HttpStatus.FORBIDDEN,"请登录");
-        }
-        degreeRegistration.setUserId(user.getId());
-
-        if(Objects.nonNull(degreeRegistration.getTheoryLevel())){
-            IdcardValidator idcardValidator = new IdcardValidator();
-            if (!idcardValidator.isValidatedAllIdcard(degreeRegistration.getIdcard())) {
-                throw new BizException("身份证号不正确,请核对");
-            }
-        }else{
-            degreeRegistration.setOrganId(user.getOrganId());
-        }
-
-        if(Objects.isNull(degreeRegistration.getOrganId()) || degreeRegistration.getOrganId() == 4){
-            return failed("该分部暂未开放此活动");
-        }
-
-        return degreeRegistrationService.theoryPay(degreeRegistration);
-    }*/
 
     @ApiOperation(value = "考级报名检查")
     @PostMapping("/check")

+ 2 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -314,7 +314,8 @@ public class StudentOrderController extends BaseController {
         } else if (orderByOrderNo.getGroupType().equals(GroupType.REPLACEMENT)) {
             orderDetail.put("detail", replacementInstrumentActivityDao.getInfo(Integer.parseInt(orderByOrderNo.getMusicGroupId())));
         } else if (orderByOrderNo.getGroupType().equals(GroupType.DEGREE)) {
-            orderDetail.put("detail", childrenDayDegreeDetailDao.getByOrderId(orderByOrderNo.getId()));
+//            orderDetail.put("detail", childrenDayDegreeDetailDao.getByOrderId(orderByOrderNo.getId()));
+            orderDetail.put("detail", degreeRegistrationDao.findByByOrderId(orderByOrderNo.getOrderNo()));
         } else if (orderByOrderNo.getGroupType().equals(GroupType.ACTIVITY)) {
             List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.getDao().queryByIds(orderByOrderNo.getActivityId());
             if(CollectionUtils.isNotEmpty(vipGroupActivities)){

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/DegreeStatusChangeTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DegreeStatusChangeTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.degreeStatusChange();
+	}
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -129,6 +129,9 @@ public class TaskController extends BaseController {
     @Autowired
     private TeacherCloudCourseReportService teacherCloudCourseReportService;
 
+    @Autowired
+    private DegreeService degreeService;
+
 	@GetMapping(value = "/initSysMusicCompareDayData")
 	public void initSysMusicCompareDayData(){
 		sysMusicCompareRecordService.initSysMusicCompareDayData();
@@ -642,4 +645,10 @@ public class TaskController extends BaseController {
 		return succeed();
 	}
 
+    @ApiOperation("考级状态变更 - 1分钟一次")
+    @GetMapping("/degreeStatusChange")
+    public Object degreeStatusChange() {
+        degreeService.degreeStatusChange();
+        return succeed();
+    }
 }