diff --git a/src/main/java/com/subsidy/common/constant/CourseNotification.java b/src/main/java/com/subsidy/common/constant/CourseNotification.java index 449a57a..0111f35 100644 --- a/src/main/java/com/subsidy/common/constant/CourseNotification.java +++ b/src/main/java/com/subsidy/common/constant/CourseNotification.java @@ -5,10 +5,4 @@ public class CourseNotification { public static final String UNSENT = "待发送"; public static final String SENT = "已发送"; - - public static final String ALL = "全部成员"; - - public static final String NOT_SIGNED_IN = "未签到成员"; - - public static final String UNFINISHED = "未完课成员"; } diff --git a/src/main/java/com/subsidy/common/constant/SmsCode.java b/src/main/java/com/subsidy/common/constant/SmsCode.java new file mode 100644 index 0000000..af4b353 --- /dev/null +++ b/src/main/java/com/subsidy/common/constant/SmsCode.java @@ -0,0 +1,23 @@ +package com.subsidy.common.constant; + +import lombok.Getter; + +@Getter +public enum SmsCode { + + SIGN_IN("SMS_234409992", "签到通知"), + TEST("SMS_234414789", "测试通知"), + CLASS_START("SMS_228017725", "开课通知"), + ALL("SMS_228137810", "全部成员"), + NOT_SIGNED_IN("SMS_234409992","未签到成员"), + UNFINISHED("SMS_234414789","未完课成员"); + + private String type; + + private String code; + + SmsCode(String code, String type) { + this.code = code; + this.type = type; + } +} diff --git a/src/main/java/com/subsidy/jobs/CourseNotificationJob.java b/src/main/java/com/subsidy/jobs/CourseNotificationJob.java index 3388b6b..2a01b57 100644 --- a/src/main/java/com/subsidy/jobs/CourseNotificationJob.java +++ b/src/main/java/com/subsidy/jobs/CourseNotificationJob.java @@ -1,6 +1,7 @@ package com.subsidy.jobs; import com.subsidy.common.constant.CourseNotification; +import com.subsidy.common.constant.SmsCode; import com.subsidy.mapper.ClassNoticeMapper; import com.subsidy.mapper.MemberMapper; import com.subsidy.model.ClassNoticeDO; @@ -12,8 +13,10 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -36,22 +39,26 @@ public class CourseNotificationJob implements Job { private SMSUtils smsUtils; @Override - public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + public void execute(JobExecutionContext jobExecutionContext) { Map map = jobExecutionContext.getJobDetail().getJobDataMap(); Map params = (Map) map.get("params"); if(params != null) { - List list = memberMapper.getMemberList((Long) params.get("classId")); - if(list != null && list.size() > 0) { - for (MemberDO memberDO : list) { - if(memberDO != null) { - // smsUtils.send(memberDO.getTelephone(), ""); + ClassNoticeDO classNoticeDO = classNoticeMapper.selectById((Long) params.get("id")); + if(classNoticeDO != null) { + List list = memberMapper.getMemberList((Long) params.get("classId")); + if(list != null && list.size() > 0) { + for (MemberDO memberDO : list) { + if(memberDO != null) { + Map data = Arrays.stream(SmsCode.values()).collect(Collectors.toMap(SmsCode::getType, SmsCode::getCode)); + smsUtils.send(memberDO.getTelephone(), data.get(classNoticeDO.getNoticeType())); + } } - } - ClassNoticeDO classNoticeDO = new ClassNoticeDO(); - classNoticeDO.setId((Long) params.get("id")); - classNoticeDO.setStatus(CourseNotification.SENT); - classNoticeMapper.updateById(classNoticeDO); + ClassNoticeDO classNotice = new ClassNoticeDO(); + classNotice.setId(classNoticeDO.getId()); + classNotice.setStatus(CourseNotification.SENT); + classNoticeMapper.updateById(classNotice); + } } } } diff --git a/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java b/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java index 98805da..62b7c25 100644 --- a/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/ClassNoticeServiceImpl.java @@ -2,6 +2,7 @@ package com.subsidy.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.subsidy.common.constant.CourseNotification; +import com.subsidy.common.constant.SmsCode; import com.subsidy.common.exception.HttpException; import com.subsidy.dto.classNotice.SendNotificationDTO; import com.subsidy.jobs.CourseNotificationJob; @@ -60,7 +61,7 @@ public class ClassNoticeServiceImpl extends ServiceImpl params = new HashMap<>(); - //params.put("classId", classNoticeDO.getClassId()); + params.put("classId", classNoticeDO.getClassId()); params.put("id", classNoticeDO.getId()); String name = classDictDO.getClassName()+"-"+classNoticeDO.getNoticeType()+"-"+classNoticeDO.getNoticeTime(); quartzUtil.addSimpleJob(CourseNotificationJob.class,DateFormatUtil.parse(classNoticeDO.getNoticeTime(), "yyyy-MM-dd") , params, name, "CourseNotificationJob"); @@ -93,25 +94,25 @@ public class ClassNoticeServiceImpl extends ServiceImpl list = memberMapper.getMemberList(sendNotificationDTO.getClassId()); if(list != null) { for (MemberDO memberDO : list) { - smsUtils.send(memberDO.getTelephone(), ""); + smsUtils.send(memberDO.getTelephone(), SmsCode.ALL.getCode()); } } - } else if(sendNotificationDTO.getSendType().equals(CourseNotification.NOT_SIGNED_IN)) { + } else if(sendNotificationDTO.getSendType().equals(SmsCode.NOT_SIGNED_IN.getType())) { List list = memberMapper.getMemberListBySignInRecord(sendNotificationDTO.getClassId()); if(list != null) { for (MemberDO memberDO : list) { - smsUtils.send(memberDO.getTelephone(), ""); + smsUtils.send(memberDO.getTelephone(), SmsCode.NOT_SIGNED_IN.getCode()); } } - } else if(sendNotificationDTO.getSendType().equals(CourseNotification.UNFINISHED)) { + } else if(sendNotificationDTO.getSendType().equals(SmsCode.UNFINISHED.getType())) { List list = memberMapper.getUnfinishedMemberList(sendNotificationDTO.getClassId()); if(list != null) { for (MemberDO memberDO : list) { - smsUtils.send(memberDO.getTelephone(), ""); + smsUtils.send(memberDO.getTelephone(), SmsCode.UNFINISHED.getCode()); } } }