浏览代码

fix 导入

he2802 3 年之前
父节点
当前提交
a57e0ad259

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserSubscribeMapper.java

@@ -28,6 +28,8 @@ public interface UserSubscribeMapper extends BaseMapper<UserSubscribe> {
 
     Long selectSubscribeId(@Param("applyId") Long applyId,@Param("goodsId") Long goodsId,@Param("userId")  Long userId);
 
+    Long selectAddSubscribeId(@Param("applyId") Long applyId,@Param("goodsId") Long goodsId,@Param("userId")  Long userId);
+
     Long queryBusinessId(@Param("subscribeId")Long subscribeId,@Param("businessId")Long businessId);
 
     List<UserSubscribeVo> timeSend();

+ 45 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -12,6 +12,9 @@ import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.alisms.service.IAliSmsService;
 import com.zhongzheng.modules.course.domain.CourseBusiness;
+import com.zhongzheng.modules.course.mapper.CourseMapper;
+import com.zhongzheng.modules.course.service.ICourseService;
+import com.zhongzheng.modules.exam.bo.ExamApplyQueryBo;
 import com.zhongzheng.modules.exam.mapper.ExamApplyMapper;
 import com.zhongzheng.modules.exam.vo.ExamApplySiteTimeVo;
 import com.zhongzheng.modules.exam.vo.ExamApplySiteVo;
@@ -19,6 +22,7 @@ import com.zhongzheng.modules.exam.vo.ExamApplyVo;
 import com.zhongzheng.modules.exam.vo.ExamUserApplyVo;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.grade.vo.ClassGradeVo;
 import com.zhongzheng.modules.inform.bo.InformUserAddBo;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.service.IInformUserService;
@@ -74,6 +78,10 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
     @Autowired
     private IUserExamGoodsService userExamGoodsService;
 
+    @Autowired
+    private CourseMapper courseMapper;
+
+
     @Autowired
     private IUserService iUserService;
 
@@ -488,7 +496,25 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             }
             userSubscribeAddBo.setApplyId(applyId);
 
-            Long subscribeId = baseMapper.selectSubscribeId(applyId, goodsId, userId);
+            //获得当前所在班级
+            ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(userId,goodsId);
+            if(Validator.isEmpty(classGradeVo)||classGradeVo.getPeriodStatus()!=1){
+                userSubscribeImport.setCause("该学员学时审核未通过");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            //查询剩余考试次数
+            ExamApplyQueryBo examApplyQueryBo = new ExamApplyQueryBo();
+            examApplyQueryBo.setUserId(userId);
+            examApplyQueryBo.setGoodsId(goodsId);
+            Integer residueSubscribeNext = examApplyMapper.residueSubscribeNext(examApplyQueryBo);
+            if (residueSubscribeNext == null || residueSubscribeNext < 1){
+                userSubscribeImport.setCause("剩余考试次数不足");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+
+            Long subscribeId = baseMapper.selectAddSubscribeId(applyId, goodsId, userId);
             if (subscribeId != null) {
                 userSubscribeImport.setCause("该学员在考试计划中有预约考试数据,请确认该学员预约考试状况");
                 userSubscribeImports.add(userSubscribeImport);
@@ -621,7 +647,24 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             }
             userSubscribeAddBo.setApplyId(applyId);
 
-            Long subscribeId = baseMapper.selectSubscribeId(applyId, goodsId, userId);
+            //获得当前所在班级
+            ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(userId,goodsId);
+            if(Validator.isEmpty(classGradeVo)||classGradeVo.getPeriodStatus()!=1){
+                userSubscribeImport.setCause("该学员学时审核未通过");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            //查询剩余考试次数
+            ExamApplyQueryBo examApplyQueryBo = new ExamApplyQueryBo();
+            examApplyQueryBo.setUserId(userId);
+            examApplyQueryBo.setGoodsId(goodsId);
+            Integer residueSubscribeNext = examApplyMapper.residueSubscribeNext(examApplyQueryBo);
+            if (residueSubscribeNext == null || residueSubscribeNext < 1){
+                userSubscribeImport.setCause("剩余考试次数不足");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            Long subscribeId = baseMapper.selectAddSubscribeId(applyId, goodsId, userId);
             if (subscribeId != null) {
                 userSubscribeImport.setCause("该学员在考试计划中有预约考试数据,请确认该学员预约考试状况");
                 userSubscribeImports.add(userSubscribeImport);

+ 15 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -189,6 +189,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           and us.apply_id = #{applyId}
           and us.goods_id=#{goodsId}
           and us.user_id = #{userId}
+            LIMIT 1
+    </select>
+
+    <select id="selectAddSubscribeId" parameterType="map"  resultType="Long">
+        SELECT
+            us.subscribe_id
+        FROM
+            user_subscribe us
+        WHERE 1=1
+          and ((us.subscribe_status =1 and us.exam_status =0) or us.result = 1)
+
+          and us.apply_id = #{applyId}
+          and us.goods_id=#{goodsId}
+          and us.user_id = #{userId}
+         limit 1
     </select>
 
     <select id="queryBusinessId" parameterType="map"  resultType="Long">