Browse Source

fix 下单

he2802 3 năm trước cách đây
mục cha
commit
157171c6df
26 tập tin đã thay đổi với 331 bổ sung16 xóa
  1. 1 5
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java
  2. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/ExamQueryBo.java
  3. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionChapterQueryBo.java
  4. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionQueryBo.java
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseChapterQueryBo.java
  6. 5 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseHandoutsQueryBo.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseModuleQueryBo.java
  8. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java
  9. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseSectionQueryBo.java
  10. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java
  11. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeUserService.java
  12. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java
  13. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  14. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeUserGoodsVo.java
  15. 5 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformServiceImpl.java
  16. 165 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java
  17. 9 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java
  18. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/ExamMapper.xml
  19. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionChapterMapper.xml
  20. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionMapper.xml
  21. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseChapterMapper.xml
  22. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseHandoutsMapper.xml
  23. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml
  24. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseModuleMapper.xml
  25. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseSectionMapper.xml
  26. 64 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

+ 1 - 5
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java

@@ -121,11 +121,7 @@ public class UserSubscribeController extends BaseController {
         ExcelUtil<UserSubscribeImport> util = new ExcelUtil<UserSubscribeImport>(UserSubscribeImport.class);
         List<UserSubscribeImport> userSubscribeImportList = util.importExcel(file.getInputStream());
         List<UserSubscribeImport> userSubscribeImport = iUserSubscribeService.importData(userSubscribeImportList);
-        for (int i = 0; i < userSubscribeImport.size(); i++) {
-            if (StringUtils.isBlank(userSubscribeImport.get(i).getUserName()) && StringUtils.isBlank(userSubscribeImport.get(i).getApplyName()) && StringUtils.isBlank(userSubscribeImport.get(i).getUserName())){
-                userSubscribeImport.remove(i);
-            }
-        }
+
         if (!CollectionUtils.isEmpty(userSubscribeImport)) {
             return util.exportExcel(userSubscribeImport, "导入失败原因,请勿将此excel修改后再次上传,请在导入模板修改上传");
         }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/ExamQueryBo.java

@@ -41,6 +41,9 @@ public class ExamQueryBo extends BaseEntity {
 	@ApiModelProperty(" 状态 1正常 0关闭")
 	private List<Integer> status;
 
+	@ApiModelProperty("讲义key")
+	private String key;
+
 	/** 前缀名称 */
 	@ApiModelProperty("前缀名称")
 	private String prefixName;

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionChapterQueryBo.java

@@ -37,6 +37,9 @@ public class QuestionChapterQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+
+	@ApiModelProperty("key")
+	private String key;
 	/** 名称 */
 	@ApiModelProperty("名称")
 	private String name;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionQueryBo.java

@@ -41,6 +41,8 @@ public class QuestionQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+	@ApiModelProperty("key")
+	private String key;
 	/** 题目正文 */
 	@ApiModelProperty("题目正文")
 	private String content;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseChapterQueryBo.java

@@ -37,6 +37,8 @@ public class CourseChapterQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+	@ApiModelProperty("key")
+	private String key;
 	/** 名称 */
 	@ApiModelProperty("名称")
 	private String name;

+ 5 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseHandoutsQueryBo.java

@@ -57,12 +57,15 @@ public class CourseHandoutsQueryBo extends BaseEntity {
 	private String encoder;
 
 	/** 教育ID */
-	@ApiModelProperty("教育ID")
-	private Long educationId;
+	@ApiModelProperty("讲义key")
+	private String key;
 	/** 业务ID */
 	@ApiModelProperty("业务ID")
 	private Long businessId;
 
+	@ApiModelProperty("教育ID")
+	private Long educationId;
+
 	/** 科目ID */
 	@ApiModelProperty("科目ID")
 	private Long subjectId;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseModuleQueryBo.java

@@ -37,6 +37,8 @@ public class CourseModuleQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+	@ApiModelProperty("key")
+	private String key;
 	/** 前缀名称 */
 	@ApiModelProperty("前缀名称")
 	private String prefixName;

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java

@@ -98,4 +98,7 @@ public class CourseQueryBo extends BaseEntity {
 	/** 科目id */
 	@ApiModelProperty("科目id")
 	private Long subjectId;
+
+	@ApiModelProperty("讲义key")
+	private String key;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseSectionQueryBo.java

@@ -37,6 +37,8 @@ public class CourseSectionQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+	@ApiModelProperty("key")
+	private String key;
 	/** 名称 */
 	@ApiModelProperty("名称")
 	private String name;

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java

@@ -40,4 +40,10 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
     List<ClassPeriodSectionVo> listPeriodSectionExam(@Param("chapterId") Long id,@Param("goodsId") Long goodsId,@Param("courseId") Long courseId,@Param("userId") Long userId);
 
     List<Long> selectStart(@Param("userId") Long userId,@Param("goodsId") Long goodsId,@Param("gradeId") Long gradeId);
+
+    List<ClassGradeUserGoodsVo> sendClassGradeUser();
+
+    List<ClassGradeUserGoodsVo> sendTenClassGradeUser();
+
+    List<ClassGradeUserGoodsVo> sendFiveClassGradeUser();
 }

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

@@ -66,4 +66,10 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 	List<ClassPeriodSectionVo> listPeriodAuditSection(ClassGradeUserQueryBo bo);
 
 	ClassPeriodSectionVo listPeriodAuditStatus(UserPeriodQueryBo bo);
+
+    List<ClassGradeUserGoodsVo> sendTwentyClassGradeUser();
+
+	List<ClassGradeUserGoodsVo> sendTenClassGradeUser();
+
+	List<ClassGradeUserGoodsVo> sendFiveClassGradeUser();
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -280,7 +280,7 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
                         informUserAddBo.setRemind("二建继教开班提醒");
                         informUserAddBo.setGoodsId(classGradeVo.getGoodsList().get(0).getGoodsId());
                         GoodsVo goodsVo1 = iGoodsService.queryById(classGradeVo.getGoodsList().get(0).getGoodsId());
-                        informUserAddBo.setText("尊敬的用户:您购买的"+goodsVo1+"课程已开班,班级有效期为"+startTime+"至"+endTime+",请及时完成学习,如过期未完成学习,则需要重新购买学习,马上点击“立即学习”进行学习。");
+                        informUserAddBo.setText("尊敬的用户:您购买的"+goodsVo1.getGoodsName()+"课程已开班,班级有效期为"+startTime+"至"+endTime+",请及时完成学习,如过期未完成学习,则需要重新购买学习,马上点击“立即学习”进行学习。");
                         iInformUserService.insertByAddBo(informUserAddBo);
                     }
                     if (informRemindVo.getNoteStatus().equals(1)) {
@@ -295,7 +295,7 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
                         informUserAddBo.setRemind("二建继教开班提醒");
                         informUserAddBo.setGoodsId(classGradeVo.getGoodsList().get(0).getGoodsId());
                         GoodsVo goodsVo1 = iGoodsService.queryById(classGradeVo.getGoodsList().get(0).getGoodsId());
-                        informUserAddBo.setText("尊敬的用户:您购买的"+goodsVo1+"课程已开班,班级有效期为"+startTime+"至"+endTime+",请及时完成学习,如过期未完成学习,则需要重新购买学习,马上点击“立即学习”进行学习。");
+                        informUserAddBo.setText("尊敬的用户:您购买的"+goodsVo1.getGoodsName()+"课程已开班,班级有效期为"+startTime+"至"+endTime+",请及时完成学习,如过期未完成学习,则需要重新购买学习,马上点击“立即学习”进行学习。");
                         iInformUserService.insertByAddBo(informUserAddBo);
                         UserVo userVo = iUserService.queryById(userId);
                         Map<String, Object> param = new HashMap<>();

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -460,6 +460,21 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return classPeriodSectionVo;
     }
 
+    @Override
+    public List<ClassGradeUserGoodsVo> sendTwentyClassGradeUser() {
+        return baseMapper.sendClassGradeUser();
+    }
+
+    @Override
+    public List<ClassGradeUserGoodsVo> sendTenClassGradeUser() {
+        return baseMapper.sendTenClassGradeUser();
+    }
+
+    @Override
+    public List<ClassGradeUserGoodsVo> sendFiveClassGradeUser() {
+        return baseMapper.sendFiveClassGradeUser();
+    }
+
     /**
      * 实体类转化成视图对象
      *

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeUserGoodsVo.java

@@ -35,6 +35,18 @@ public class ClassGradeUserGoodsVo {
 	@ApiModelProperty("商品编码")
 	private String goodsCode;
 
+	@Excel(name = "商品ID")
+	@ApiModelProperty("商品ID")
+	private Long goodsId;
+
+	@Excel(name = "班级有效期")
+	@ApiModelProperty("班级有效期")
+	private Long classStartTime;
+
+	@Excel(name = "班级有效期")
+	@ApiModelProperty("班级有效期")
+	private Long classEndTime;
+
 	@Excel(name = "商品编码")
 	@ApiModelProperty("商品编码")
 	private String goodsName;

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformServiceImpl.java

@@ -156,7 +156,7 @@ public class InformServiceImpl extends ServiceImpl<InformMapper, Inform> impleme
             InformUserAddBo informUserAddBo = new InformUserAddBo();
             informUserAddBo.setInformId(add.getInformId());
             informUserAddBo.setUserId(userId);
-            if (bo.getIssueStatus() == 1){
+            if (bo.getIssueStatus() == 1 && bo.getStatus().equals(1)){
                 informUserAddBo.setSendTime(DateUtils.getNowTime());
                 informUserAddBo.setSendStatus(1);
             }
@@ -213,6 +213,10 @@ public class InformServiceImpl extends ServiceImpl<InformMapper, Inform> impleme
                 InformUserAddBo informUserAddBo = new InformUserAddBo();
                 informUserAddBo.setInformId(update.getInformId());
                 informUserAddBo.setUserId(userId);
+                if (bo.getIssueStatus() == 1 && bo.getStatus().equals(1)){
+                    informUserAddBo.setSendTime(DateUtils.getNowTime());
+                    informUserAddBo.setSendStatus(1);
+                }
                 informUserAddBo.setCreateTime(DateUtils.getNowTime());
                 informUserAddBo.setUpdateTime(DateUtils.getNowTime());
                 iInformUserService.insertByAddBo(informUserAddBo);

+ 165 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java

@@ -22,11 +22,14 @@ import com.zhongzheng.modules.base.vo.UserProfileVo;
 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.domain.ClassGradeUser;
 import com.zhongzheng.modules.grade.domain.ClassGradeUserTemp;
 import com.zhongzheng.modules.grade.service.IClassGradeGoodsService;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.IClassGradeUserTempService;
+import com.zhongzheng.modules.grade.vo.ClassGradeUserGoodsVo;
+import com.zhongzheng.modules.grade.vo.ClassGradeUserVo;
 import com.zhongzheng.modules.inform.bo.InformUserAddBo;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.service.IInformService;
@@ -139,6 +142,9 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
     @Value("${aliyun.sms.examinationRemind}")
     private String examinationRemind;
 
+    @Value("${aliyun.sms.remainingDaysValidityCode}")
+    private String remainingDaysValidityCode;
+
     @Override
     public String updateGoodsSend(UserQueryBo bo) {
         InformRemindVo informRemindVo = informRemindService.queryById(1L);
@@ -233,6 +239,165 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
         //新考预约提醒
         sendExamSubscribe();
 
+        sendClassEnd();
+    }
+
+    private void sendClassEnd() {
+        List<ClassGradeUserGoodsVo> classTwentyGradeUserVos = iClassGradeUserService.sendTwentyClassGradeUser();
+        List<ClassGradeUserGoodsVo> classTenGradeUserVos = iClassGradeUserService.sendTenClassGradeUser();
+        List<ClassGradeUserGoodsVo> classFiveGradeUserVos = iClassGradeUserService.sendFiveClassGradeUser();
+        InformRemindVo informTwentyRemindVo = informRemindService.queryById(5L);
+        InformRemindVo informTenRemindVo = informRemindService.queryById(6L);
+        InformRemindVo informFiveRemindVo = informRemindService.queryById(7L);
+        for (ClassGradeUserGoodsVo classTwentyGradeUserVo : classTwentyGradeUserVos) {
+            String res;
+            String resEnd;
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            Long timeId = classTwentyGradeUserVo.getClassStartTime()*1000;
+            Long timeEndId = classTwentyGradeUserVo.getClassStartTime()*1000;
+            Date date = new Date(timeId);
+            Date dateEnd = new Date(timeEndId);
+            res = simpleDateFormat.format(date);
+            resEnd = simpleDateFormat.format(dateEnd);
+
+            if (informTwentyRemindVo.getWayStatus().equals(1)) {
+                InformUserAddBo informUserAddBo = new InformUserAddBo();
+                informUserAddBo.setUserId(classTwentyGradeUserVo.getUserId());
+                informUserAddBo.setSendStatus(1);
+                informUserAddBo.setSendTime(DateUtils.getNowTime());
+                informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                informUserAddBo.setRemindId(5L);
+                informUserAddBo.setSystemStatus(1);
+                informUserAddBo.setRemind("您开通班级有效期还剩20天");
+                informUserAddBo.setGradeId(classTwentyGradeUserVo.getGradeId());
+                informUserAddBo.setGoodsId(classTwentyGradeUserVo.getGoodsId());
+                GoodsVo goodsVo1 = iGoodsService.queryById(classTwentyGradeUserVo.getGoodsId());
+                informUserAddBo.setText("尊敬的用户:您购买的课程班级有效期还剩20天,未在"+resEnd+"前完成全部学时,可能会影响审核进度,最终导致学时无效,请尽快完成学习");
+                iInformUserService.insertByAddBo(informUserAddBo);
+            }
+            if (informTwentyRemindVo.getNoteStatus().equals(1)){
+                InformUserAddBo informUserAddBo = new InformUserAddBo();
+                informUserAddBo.setUserId(classTwentyGradeUserVo.getUserId());
+                informUserAddBo.setSendTime(DateUtils.getNowTime());
+                informUserAddBo.setSendStatus(1);
+                informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                informUserAddBo.setRemindId(5L);
+                informUserAddBo.setSystemStatus(3);
+                informUserAddBo.setRemind("考试提醒");
+                informUserAddBo.setGoodsId(classTwentyGradeUserVo.getGoodsId());
+                informUserAddBo.setGradeId(classTwentyGradeUserVo.getGradeId());
+                GoodsVo goodsVo1 = iGoodsService.queryById(classTwentyGradeUserVo.getGoodsId());
+                informUserAddBo.setText("尊敬的用户:您购买的课程班级有效期还剩20天,未在"+resEnd+"前完成全部学时,可能会影响审核进度,最终导致学时无效,请尽快完成学习");
+                iInformUserService.insertByAddBo(informUserAddBo);
+                UserVo userVo = iUserService.queryById(classTwentyGradeUserVo.getUserId());
+                Map<String, Object> param = new HashMap<>();
+                param.put("time", resEnd);
+                param.put("day", 20);
+                IAliSmsService.sendInformSms(userVo.getTelphone(), JSON.toJSONString(param), remainingDaysValidityCode);
+            }
+        }
+
+        for (ClassGradeUserGoodsVo classTenGradeUserVo : classTenGradeUserVos) {
+            String res;
+            String resEnd;
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            Long timeId = classTenGradeUserVo.getClassStartTime()*1000;
+            Long timeEndId = classTenGradeUserVo.getClassStartTime()*1000;
+            Date date = new Date(timeId);
+            Date dateEnd = new Date(timeEndId);
+            res = simpleDateFormat.format(date);
+            resEnd = simpleDateFormat.format(dateEnd);
+
+            if (informTenRemindVo.getWayStatus().equals(1)) {
+                InformUserAddBo informUserAddBo = new InformUserAddBo();
+                informUserAddBo.setUserId(classTenGradeUserVo.getUserId());
+                informUserAddBo.setSendStatus(1);
+                informUserAddBo.setSendTime(DateUtils.getNowTime());
+                informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                informUserAddBo.setRemindId(6L);
+                informUserAddBo.setSystemStatus(1);
+                informUserAddBo.setRemind("您开通班级有效期还剩10天");
+                informUserAddBo.setGradeId(classTenGradeUserVo.getGradeId());
+                informUserAddBo.setGoodsId(classTenGradeUserVo.getGoodsId());
+                GoodsVo goodsVo1 = iGoodsService.queryById(classTenGradeUserVo.getGoodsId());
+                informUserAddBo.setText("尊敬的用户:您购买的课程班级有效期还剩10天,未在"+resEnd+"前完成全部学时,可能会影响审核进度,最终导致学时无效,请尽快完成学习");
+                iInformUserService.insertByAddBo(informUserAddBo);
+            }
+            if (informTenRemindVo.getNoteStatus().equals(1)){
+                InformUserAddBo informUserAddBo = new InformUserAddBo();
+                informUserAddBo.setUserId(classTenGradeUserVo.getUserId());
+                informUserAddBo.setSendTime(DateUtils.getNowTime());
+                informUserAddBo.setSendStatus(1);
+                informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                informUserAddBo.setRemindId(6L);
+                informUserAddBo.setSystemStatus(3);
+                informUserAddBo.setRemind("您开通班级有效期还剩10天");
+                informUserAddBo.setGoodsId(classTenGradeUserVo.getGoodsId());
+                informUserAddBo.setGradeId(classTenGradeUserVo.getGradeId());
+                GoodsVo goodsVo1 = iGoodsService.queryById(classTenGradeUserVo.getGoodsId());
+                informUserAddBo.setText("尊敬的用户:您购买的课程班级有效期还剩10天,未在"+resEnd+"前完成全部学时,可能会影响审核进度,最终导致学时无效,请尽快完成学习");
+                iInformUserService.insertByAddBo(informUserAddBo);
+                UserVo userVo = iUserService.queryById(classTenGradeUserVo.getUserId());
+                Map<String, Object> param = new HashMap<>();
+                param.put("time", resEnd);
+                param.put("day", 10);
+                IAliSmsService.sendInformSms(userVo.getTelphone(), JSON.toJSONString(param), remainingDaysValidityCode);
+            }
+        }
+
+        for (ClassGradeUserGoodsVo classFiveGradeUserVo : classFiveGradeUserVos) {
+            String res;
+            String resEnd;
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            Long timeId = classFiveGradeUserVo.getClassStartTime()*1000;
+            Long timeEndId = classFiveGradeUserVo.getClassStartTime()*1000;
+            Date date = new Date(timeId);
+            Date dateEnd = new Date(timeEndId);
+            res = simpleDateFormat.format(date);
+            resEnd = simpleDateFormat.format(dateEnd);
+
+            if (informTenRemindVo.getWayStatus().equals(1)) {
+                InformUserAddBo informUserAddBo = new InformUserAddBo();
+                informUserAddBo.setUserId(classFiveGradeUserVo.getUserId());
+                informUserAddBo.setSendStatus(1);
+                informUserAddBo.setSendTime(DateUtils.getNowTime());
+                informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                informUserAddBo.setRemindId(7L);
+                informUserAddBo.setSystemStatus(1);
+                informUserAddBo.setRemind("您开通班级有效期还剩10天");
+                informUserAddBo.setGradeId(classFiveGradeUserVo.getGradeId());
+                informUserAddBo.setGoodsId(classFiveGradeUserVo.getGoodsId());
+                GoodsVo goodsVo1 = iGoodsService.queryById(classFiveGradeUserVo.getGoodsId());
+                informUserAddBo.setText("尊敬的用户:您购买的课程班级有效期还剩10天,未在"+resEnd+"前完成全部学时,可能会影响审核进度,最终导致学时无效,请尽快完成学习");
+                iInformUserService.insertByAddBo(informUserAddBo);
+            }
+            if (informTenRemindVo.getNoteStatus().equals(1)){
+                InformUserAddBo informUserAddBo = new InformUserAddBo();
+                informUserAddBo.setUserId(classFiveGradeUserVo.getUserId());
+                informUserAddBo.setSendTime(DateUtils.getNowTime());
+                informUserAddBo.setSendStatus(1);
+                informUserAddBo.setCreateTime(DateUtils.getNowTime());
+                informUserAddBo.setUpdateTime(DateUtils.getNowTime());
+                informUserAddBo.setRemindId(7L);
+                informUserAddBo.setSystemStatus(3);
+                informUserAddBo.setRemind("您开通班级有效期还剩5天");
+                informUserAddBo.setGoodsId(classFiveGradeUserVo.getGoodsId());
+                informUserAddBo.setGradeId(classFiveGradeUserVo.getGradeId());
+                GoodsVo goodsVo1 = iGoodsService.queryById(classFiveGradeUserVo.getGoodsId());
+                informUserAddBo.setText("尊敬的用户:您购买的课程班级有效期还剩5天,未在"+resEnd+"前完成全部学时,可能会影响审核进度,最终导致学时无效,请尽快完成学习");
+                iInformUserService.insertByAddBo(informUserAddBo);
+                UserVo userVo = iUserService.queryById(classFiveGradeUserVo.getUserId());
+                Map<String, Object> param = new HashMap<>();
+                param.put("time", resEnd);
+                param.put("day", 5);
+                IAliSmsService.sendInformSms(userVo.getTelphone(), JSON.toJSONString(param), remainingDaysValidityCode);
+            }
+        }
 
     }
 

+ 9 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -315,6 +315,9 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
         List<UserSubscribeImport> userSubscribeImports = new ArrayList<>();
         for (UserSubscribeImport userSubscribeImport : userSubscribeImportList) {
             UserSubscribeAddBo userSubscribeAddBo = new UserSubscribeAddBo();
+            if (StringUtils.isEmpty(userSubscribeImport.getUserName()) && StringUtils.isEmpty(userSubscribeImport.getApplyName()) && StringUtils.isEmpty(userSubscribeImport.getUserName())){
+                continue;
+            }
             //查询商品
             if (StringUtils.isEmpty(userSubscribeImport.getCode())) {
                 userSubscribeImport.setCause("未填商品编码");
@@ -351,7 +354,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
                 userSubscribeAddBo.setSubscribeStatus(1);
             }
             if (userSubscribeImport.getSubscribeStatus().equals("取消")) {
-                userSubscribeAddBo.setSubscribeStatus(0);
+                userSubscribeAddBo.setSubscribeStatus(2);
             }
 
             if (!StringUtils.isEmpty(userSubscribeImport.getBeforeStatus()) && !StringUtils.isEmpty(userSubscribeImport.getBeforeName())) {
@@ -432,7 +435,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             }
 
             if (userSubscribeImport.getApplySiteExamTime() != null) {
-                userSubscribeAddBo.setApplySiteExamTime(Convert.toLong(userSubscribeImport.getApplySiteExamTime().getDay()));
+                userSubscribeAddBo.setApplySiteExamTime(Convert.toLong(userSubscribeImport.getApplySiteExamTime().getTime())/1000);
             } else {
                 userSubscribeImport.setCause("考试时间未填");
                 userSubscribeImports.add(userSubscribeImport);
@@ -487,9 +490,6 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             userSubscribeAddBo.setCreateTime(DateUtils.getNowTime());
             userSubscribeAddBo.setUpdateTime(DateUtils.getNowTime());
             this.insertByAddBo(userSubscribeAddBo);
-            if (userSubscribeImport.getSubscribeStatus().equals("正常")) {
-                sendExamSucceed(userSubscribeAddBo);
-            }
         }
         return userSubscribeImports;
     }
@@ -503,6 +503,9 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
         List<UserSubscribeImport> userSubscribeImports = new ArrayList<>();
         for (UserSubscribeImport userSubscribeImport : userSubscribeImportList) {
             UserSubscribe userSbusciEditBo = new UserSubscribe();
+            if (StringUtils.isEmpty(userSubscribeImport.getUserName()) && StringUtils.isEmpty(userSubscribeImport.getApplyName()) && StringUtils.isEmpty(userSubscribeImport.getUserName())){
+                continue;
+            }
             //查询商品
             if (StringUtils.isEmpty(userSubscribeImport.getCode())) {
                 userSubscribeImport.setCause("未填商品编码");
@@ -539,7 +542,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
                 userSbusciEditBo.setSubscribeStatus(1);
             }
             if (userSubscribeImport.getSubscribeStatus().equals("取消")) {
-                userSbusciEditBo.setSubscribeStatus(0);
+                userSbusciEditBo.setSubscribeStatus(2);
             }
 
             if (!StringUtils.isEmpty(userSubscribeImport.getBeforeStatus())) {

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/ExamMapper.xml

@@ -122,6 +122,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="prefixName != null and prefixName != ''">
             AND e.prefix_name  like concat('%', #{prefixName}, '%')
         </if>
+        <if test="key != null and key != ''">
+            AND (e.exam_name  like concat('%', #{key}, '%') or e.prefix_name  like concat('%', #{key}, '%') or e.code = #{key})
+        </if>
         ORDER BY e.exam_id DESC
     </select>
 </mapper>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionChapterMapper.xml

@@ -100,6 +100,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="prefixName != null and prefixName != ''">
             AND qc.prefix_name  like concat('%', #{prefixName}, '%')
         </if>
+        <if test="key != null and key != ''">
+            AND (qc.name  like concat('%', #{key}, '%') or qc.prefix_name  like concat('%', #{key}, '%') or qc.code = #{key})
+        </if>
         ORDER BY qc.chapter_exam_id DESC
     </select>
 </mapper>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionMapper.xml

@@ -189,6 +189,9 @@
         <if test="prefixName != null and prefixName != ''">
             AND q.prefix_name like concat('%', #{prefixName}, '%')
         </if>
+        <if test="key != null and key != ''">
+            AND (q.content like concat('%', #{key}, '%') or q.prefix_name like concat('%', #{key}, '%') or q.code = #{key})
+        </if>
         <if test="pageSizeSelf != null and pageSizeSelf != ''">
             LIMIT #{currIndex} , #{pageSizeSelf}
         </if>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseChapterMapper.xml

@@ -129,6 +129,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="publishStatus != null ">
             AND c.publish_status = #{publishStatus}
         </if>
+        <if test="key != null and key != ''">
+            AND (c.name like concat('%', #{key}, '%') or c.prefix_name like concat('%', #{key}, '%') or c.code = #{key})
+        </if>
         <if test="educationTypeId != null and educationTypeId != ''">
             AND ccb.education_type_id = #{educationTypeId}
         </if>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseHandoutsMapper.xml

@@ -87,6 +87,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="handoutsName != null and handoutsName != ''">
             AND s.handouts_name like (concat('%', #{handoutsName}, '%'))
         </if>
+        <if test="key != null and key != ''">
+            AND (s.handouts_name like (concat('%', #{key}, '%')) or s.encoder = #{key})
+        </if>
         GROUP BY s.handouts_id
         ORDER BY s.update_time desc
     </select>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -235,6 +235,9 @@
         <if test="majorId != null and majorId != ''">
             AND c.major_id = #{majorId}
         </if>
+        <if test="key != null and key != ''">
+            AND (c.course_name like concat('%', #{key}, '%') or c.code = #{key})
+        </if>
         GROUP BY
         c.course_id
         ORDER BY c.update_time DESC

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseModuleMapper.xml

@@ -129,6 +129,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="prefixName != null and prefixName != ''">
             AND c.prefix_name like concat('%', #{prefixName}, '%')
         </if>
+        <if test="key != null and key != ''">
+            AND (c.module_name like concat('%', #{key}, '%') or c.prefix_name like concat('%', #{key}, '%') or c.code = #{key})
+        </if>
         ORDER BY c.module_id DESC
     </select>
 

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseSectionMapper.xml

@@ -136,6 +136,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="prefixName != null and prefixName != ''">
             AND c.prefix_name like concat('%', #{prefixName}, '%')
         </if>
+        <if test="key != null and key != ''">
+            AND (c.name like concat('%', #{key}, '%') or c.prefix_name like concat('%', #{key}, '%') or c.code = #{key})
+        </if>
         <if test="status != null and status.size()!=0 ">
             AND c.status in
             <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">

+ 64 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -45,6 +45,9 @@
         <result property="schoolName" column="school_name"/>
         <result property="createTime" column="create_time"/>
         <result property="createBy" column="create_by"/>
+        <result property="goodsId" column="goods_id"/>
+        <result property="classStartTime" column="class_start_time"/>
+        <result property="classEndTime" column="class_end_time"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo" id="ClassPeriodStudentVo">
@@ -652,4 +655,65 @@
         ORDER BY create_time ASC
     </select>
 
+    <select id="sendClassGradeUser"  resultMap="ClassGradeUserGoodsVoResult">
+        SELECT
+        cgu.user_id,
+        cg.class_start_time,
+        cg.class_end_time,
+        cgg.goods_id,
+        cg.grade_id
+        FROM
+        class_grade_user cgu
+        LEFT JOIN class_grade cg on  cgu.grade_id = cg.grade_id
+        LEFT JOIN class_grade_goods cgg on cg.grade_id = cgg.grade_id
+        LEFT JOIN goods g on cgg.goods_id = g.goods_id
+        LEFT JOIN inform_remind_business irb on  irb.business_id = g.business_id
+        where 1=1
+        and irb.remind_id =5
+        AND unix_timestamp(now()) BETWEEN cg.class_end_time-1728000 and cg.class_end_time-1641600
+        AND (SELECT COUNT(1) FROM inform_user iu where 1=1 and iu.remind_id = 5 and cgu.user_id = iu.user_id and cgu.grade_id = iu.grade_id and iu.system_status=3) &lt; 1
+    </select>
+
+
+    <select id="sendTenClassGradeUser"  resultMap="ClassGradeUserGoodsVoResult">
+
+        SELECT
+        cgu.user_id,
+        cg.class_start_time,
+        cg.class_end_time,
+        cgg.goods_id,
+        cg.grade_id
+        FROM
+        class_grade_user cgu
+        LEFT JOIN class_grade cg on  cgu.grade_id = cg.grade_id
+        LEFT JOIN class_grade_goods cgg on cg.grade_id = cgg.grade_id
+        LEFT JOIN goods g on cgg.goods_id = g.goods_id
+        LEFT JOIN inform_remind_business irb on  irb.business_id = g.business_id
+        where 1=1
+        and irb.remind_id =5
+        AND unix_timestamp(now()) BETWEEN cg.class_end_time-864000 and cg.class_end_time-777600
+        AND (SELECT COUNT(1) FROM inform_user iu where 1=1 and iu.remind_id = 6 and cgu.user_id = iu.user_id and cgu.grade_id = iu.grade_id and iu.system_status=3) &lt; 1
+    </select>
+
+
+    <select id="sendFiveClassGradeUser"  resultMap="ClassGradeUserGoodsVoResult">
+
+        SELECT
+        cgu.user_id,
+        cg.class_start_time,
+        cg.class_end_time,
+        cgg.goods_id,
+        cg.grade_id
+        FROM
+        class_grade_user cgu
+        LEFT JOIN class_grade cg on  cgu.grade_id = cg.grade_id
+        LEFT JOIN class_grade_goods cgg on cg.grade_id = cgg.grade_id
+        LEFT JOIN goods g on cgg.goods_id = g.goods_id
+        LEFT JOIN inform_remind_business irb on  irb.business_id = g.business_id
+        where 1=1
+        and irb.remind_id =5
+        AND unix_timestamp(now()) BETWEEN cg.class_end_time-432000 and cg.class_end_time-345600
+        AND (SELECT COUNT(1) FROM inform_user iu where 1=1 and iu.remind_id = 6 and cgu.user_id = iu.user_id and cgu.grade_id = iu.grade_id and iu.system_status=3) &lt; 1
+    </select>
+
 </mapper>