فهرست منبع

add 教务端发送push和IM接口

river 4 سال پیش
والد
کامیت
39a574b007

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PushInfoDto.java

@@ -1,17 +1,24 @@
 package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
 
 public class PushInfoDto {
 
+    @ApiModelProperty(value = "通知用户",required = false)
     private List<Integer> userIds;
 
+    @ApiModelProperty(value = "消息类型",required = false)
     private MessageTypeEnum messageType;
 
+    @ApiModelProperty(value = "im内容",required = false)
     private String imContent;
 
+    @ApiModelProperty(value = "审批查看url",required = false)
+    private String workOrderUrl;
+
     public List<Integer> getUserIds() {
         return userIds;
     }
@@ -35,4 +42,12 @@ public class PushInfoDto {
     public void setImContent(String imContent) {
         this.imContent = imContent;
     }
+
+    public String getWorkOrderUrl() {
+        return workOrderUrl;
+    }
+
+    public void setWorkOrderUrl(String workOrderUrl) {
+        this.workOrderUrl = workOrderUrl;
+    }
 }

+ 31 - 27
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -24,37 +24,37 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_PUSH_ONLINE_COURSE_ACTION("STUDENT_PUSH_ONLINE_COURSE_ACTION", "线上课开始"),
     STUDENT_PUSH_NAMES_ACHIEVE("STUDENT_PUSH_NAMES_ACHIEVE", "点名完成"),
     SYSTEM_PUSH_NAMES_ACHIEVE("SYSTEM_PUSH_NAMES_ACHIEVE", "点名完成"),
-//    SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),
+    //    SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),
 //    STUDENT_SMS_TEACHING_SCHOOL_CHANGE("STUDENT_SMS_TEACHING_SCHOOL_CHANGE", "教学点变动"),
     STUDENT_PUSH_JOB_MESSAGE("STUDENT_PUSH_JOB_MESSAGE", "作业提醒"),
-//    STUDENT_PUSH_CLASS_MESSAGE("STUDENT_PUSH_CLASS_MESSAGE", "班级消息"),
+    //    STUDENT_PUSH_CLASS_MESSAGE("STUDENT_PUSH_CLASS_MESSAGE", "班级消息"),
     TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN("TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN", "乐团课新增安排"),
     TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT("TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT", "VIP课申请结果"),
     TEACHER_SMS_VIP_COURSE_ADD("TEACHER_SMS_VIP_COURSE_ADD", "VIP课新增"),
     TEACHER_PUSH_VIP_COURSE_STOP("TEACHER_PUSH_VIP_COURSE_STOP", "VIP课停止"),
-//    TEACHER_PUSH_ACTION_COURSE_MESSAGE("TEACHER_PUSH_ACTION_COURSE_MESSAGE", "开课提醒"),
+    //    TEACHER_PUSH_ACTION_COURSE_MESSAGE("TEACHER_PUSH_ACTION_COURSE_MESSAGE", "开课提醒"),
     TEACHER_PUSH_HAVE_COURSE_MESSAGE("TEACHER_PUSH_HAVE_COURSE_MESSAGE", "有课提醒"),
     TEACHER_PUSH_ATTEND_CLASS_MESSAGE("TEACHER_PUSH_ATTEND_CLASS_MESSAGE", "上课提醒"),
-//    TEACHER_PUSH_SIGN_IN_MESSAGE("TEACHER_PUSH_SIGN_IN_MESSAGE", "签到提醒"),
+    //    TEACHER_PUSH_SIGN_IN_MESSAGE("TEACHER_PUSH_SIGN_IN_MESSAGE", "签到提醒"),
 //    TEACHER_PUSH_NAMES_MESSAGE("TEACHER_PUSH_NAMES_MESSAGE", "点名提醒"),
     TEACHER_PUSH_SIGN_OUT_MESSAGE("TEACHER_PUSH_SIGN_OUT_MESSAGE", "签退提醒"),
     TEACHER_PUSH_JOB_WAIT_REPLY("TEACHER_PUSH_JOB_WAIT_REPLY", "作业待回复"),
-//    TEACHER_PUSH_SUBSTITUTE_PLAN("TEACHER_PUSH_SUBSTITUTE_PLAN", "代课安排"),
+    //    TEACHER_PUSH_SUBSTITUTE_PLAN("TEACHER_PUSH_SUBSTITUTE_PLAN", "代课安排"),
     TEACHER_PUSH_LEAVE_RESULT("TEACHER_PUSH_LEAVE_RESULT", "请假结果"),
     TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT("TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT", "课时调整结果"),
     TEACHER_PUSH_STUDENT_LEAVE("TEACHER_PUSH_STUDENT_LEAVE", "学员请假"),
-//    TEACHER_PUSH_CLASS_MESSAGE("TEACHER_PUSH_CLASS_MESSAGE", "班级消息"),
+    //    TEACHER_PUSH_CLASS_MESSAGE("TEACHER_PUSH_CLASS_MESSAGE", "班级消息"),
     STUDENT_SMS_PAYMENT_FAILED("STUDENT_SMS_PAYMENT_FAILED", "缴费失败结果通知"),
-//    STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED("STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED", "乐团续费失败结果"),
+    //    STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED("STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED", "乐团续费失败结果"),
     STUDENT_PUSH_VIP_STOP("STUDENT_PUSH_VIP_STOP", "VIP课取消"),
-//    SMS_MUSIC_GROUP_ADD_STUDENT("SMS_MUSIC_GROUP_ADD_STUDENT", "入团通知"),
+    //    SMS_MUSIC_GROUP_ADD_STUDENT("SMS_MUSIC_GROUP_ADD_STUDENT", "入团通知"),
     TEACHER_PUSH_VIP_STOP("TEACHER_PUSH_VIP_STOP", "VIP课取消"),
     STUDENT_SMS_OPEN_PAYMENT("STUDENT_SMS_OPEN_PAYMENT", "开启缴费"),
-//    SMS_MUSIC_GROUP_ADD_STUDENT_FREE("SMS_MUSIC_GROUP_ADD_STUDENT_FREE", "入团通知"),
+    //    SMS_MUSIC_GROUP_ADD_STUDENT_FREE("SMS_MUSIC_GROUP_ADD_STUDENT_FREE", "入团通知"),
     STUDENT_SMS_PUSH_SPORADIC_PAYMENT_SUCCESS("STUDENT_SMS_PUSH_SPORADIC_PAYMENT_SUCCESS", "零星支付成功结果"),
     STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED("STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED", "零星支付失败结果"),
     TEACHER_PUSH_COURSE_COLLIDE("TEACHER_PUSH_COURSE_COLLIDE", "课程冲突"),
-//    PUSH_STUDY_REPORT("PUSH_STUDY_REPORT", "陪练报告"),
+    //    PUSH_STUDY_REPORT("PUSH_STUDY_REPORT", "陪练报告"),
     STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS("STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS", "网管课购买成功"),
     STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT("STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT", "网管课完成学习报告"),
     STUDENT_SMS_PUSH_FREE_PRACTICE_APPLY_PUSH("STUDENT_SMS_PUSH_FREE_PRACTICE_APPLY_PUSH", "免费陪练课预约推送"),
@@ -72,7 +72,9 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     IM_HOMEWORK_TEACHER_REPLY_PUSH("IM_HOMEWORK_TEACHER_REPLY_PUSH", "作业点评提醒"),
     IM_HOMEWORK_REMIND_DETAIL("IM_HOMEWORK_REMIND_DETAIL", "作业提醒"),
 
-    /** 课外训练消息 */
+    /**
+     * 课外训练消息
+     */
     STUDENT_PUSH_EXTRA_REMIND("STUDENT_PUSH_EXTRA_REMIND", "作业提醒"),
     EXTRA_REMIND_IM("EXTRA_REMIND_IM", "作业提醒"),
     EXTRA_REMIND_IM_DETAIL("EXTRA_REMIND_IM_DETAIL", "作业提醒"),
@@ -87,10 +89,10 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_SALARY_CONFIRM("TEACHER_PUSH_SALARY_CONFIRM", "课酬确认"),
     STUDENT_PUSH_TRIAL_PRACTICE_CREATE("STUDENT_PUSH_TRIAL_PRACTICE_CREATE", "试听课安排"),
     TEACHER_SMS_PUSH_PRACTICE_CREATE("TEACHER_SMS_PUSH_PRACTICE_CREATE", "新增网管课程"),
-    STUDENT_PUSH_REPAIR_UNSEND_COMPLETED("STUDENT_PUSH_REPAIR_UNSEND_COMPLETED","乐器维修完成自取"),
-    STUDENT_PUSH_REPAIR_SEND_COMPLETED("STUDENT_PUSH_REPAIR_SEND_COMPLETED","乐器维修完成邮寄"),
-    STUDENT_PUSH_REPAIR_ONLINE_PAYMENT_SUCCESS("STUDENT_PUSH_REPAIR_ONLINE_PAYMENT_SUCCESS","乐器线上维修支付成功"),
-    STUDENT_PUSH_REPAIR_OFFLINE_PAYMENT_SUCCESS("STUDENT_PUSH_REPAIR_OFFLINE_PAYMENT_SUCCESS","乐器线下维修支付成功"),
+    STUDENT_PUSH_REPAIR_UNSEND_COMPLETED("STUDENT_PUSH_REPAIR_UNSEND_COMPLETED", "乐器维修完成自取"),
+    STUDENT_PUSH_REPAIR_SEND_COMPLETED("STUDENT_PUSH_REPAIR_SEND_COMPLETED", "乐器维修完成邮寄"),
+    STUDENT_PUSH_REPAIR_ONLINE_PAYMENT_SUCCESS("STUDENT_PUSH_REPAIR_ONLINE_PAYMENT_SUCCESS", "乐器线上维修支付成功"),
+    STUDENT_PUSH_REPAIR_OFFLINE_PAYMENT_SUCCESS("STUDENT_PUSH_REPAIR_OFFLINE_PAYMENT_SUCCESS", "乐器线下维修支付成功"),
 
     TEACHER_PUSH_MUSIC_NETWORK_CRATE("TEACHER_PUSH_MUSIC_NETWORK_CRATE", "乐团网管课安排"),
     STUDENT_PUSH_MUSIC_NETWORK_CRATE("STUDENT_PUSH_MUSIC_NETWORK_CRATE", "乐团课通知"),
@@ -98,13 +100,13 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_PUSH_PRACTICE_RENEW_REMIND("STUDENT_PUSH_PRACTICE_RENEW_REMIND", "网管课续费推送"),
     TEACHER_PUSH_ATTENDANCE_COMPLAINTS_RESULT("TEACHER_PUSH_ATTENDANCE_COMPLAINTS_RESULT", "考勤申述结果"),
     TEACHER_PUSH_PUBLIC_EXTRA_REMIND("TEACHER_PUSH_PUBLIC_EXTRA_REMIND", "本周应布置课外训练"),
-    SYSTEM_SMS_PUSH_PAYMENT_DETAIL("SYSTEM_SMS_PUSH_PAYMENT_DETAIL","缴费项目缴费详情提醒"),
-    SYSTEM_SMS_PUSH_PAYMENT_CREATE("SYSTEM_SMS_PUSH_PAYMENT_CREATE","缴费项目创建提醒"),
-    SYSTEM_SMS_GOODS_REPERTORY_WARN("SYSTEM_SMS_GOODS_REPERTORY_WARN","商品库存预警"),
+    SYSTEM_SMS_PUSH_PAYMENT_DETAIL("SYSTEM_SMS_PUSH_PAYMENT_DETAIL", "缴费项目缴费详情提醒"),
+    SYSTEM_SMS_PUSH_PAYMENT_CREATE("SYSTEM_SMS_PUSH_PAYMENT_CREATE", "缴费项目创建提醒"),
+    SYSTEM_SMS_GOODS_REPERTORY_WARN("SYSTEM_SMS_GOODS_REPERTORY_WARN", "商品库存预警"),
     SYSTEM_PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY("SYSTEM_PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY", "学员申请退团"),
     SYSTEM_PUSH_STUDENT_REVOKE_QUIT_MUSIC_APPLY("SYSTEM_PUSH_STUDENT_REVOKE_QUIT_MUSIC_APPLY", "撤销退团申请"),
-    STUDENT_SMS_IM_MUSIC_GROUP_PARENT_MEETING_NOTICE("STUDENT_SMS_IM_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知"),
-    SYSTEM_PUSH_SMS_INSPECTION_NOTICE("SYSTEM_PUSH_SMS_INSPECTION_NOTICE","巡查日程提醒"),
+    STUDENT_SMS_IM_MUSIC_GROUP_PARENT_MEETING_NOTICE("STUDENT_SMS_IM_MUSIC_GROUP_PARENT_MEETING_NOTICE", "乐团家长会通知"),
+    SYSTEM_PUSH_SMS_INSPECTION_NOTICE("SYSTEM_PUSH_SMS_INSPECTION_NOTICE", "巡查日程提醒"),
     STUDENT_SMS_WAIT_RENEW_MESSAGE("STUDENT_SMS_WAIT_RENEW_MESSAGE", "待续费通知"),
     TEACHER_PUSH_SERVE("TEACHER_PUSH_SERVE", "服务指标未完成提醒"),
     STUDENT_PUSH_MAINTENANCE_NOTICE("STUDENT_PUSH_MAINTENANCE_NOTICE", "乐保到期提醒"),
@@ -123,7 +125,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_VIP_COURSE_ADD("TEACHER_PUSH_VIP_COURSE_ADD", "VIP课新增"),
 
 
-//    EDUCATION_PUSH_MUSIC_GROUP_FOUND("EDUCATION_PUSH_MUSIC_GROUP_FOUND", "乐团成立"),
+    //    EDUCATION_PUSH_MUSIC_GROUP_FOUND("EDUCATION_PUSH_MUSIC_GROUP_FOUND", "乐团成立"),
 //    EDUCATION_PUSH_MUSIC_GROUP_CLOSE("EDUCATION_PUSH_MUSIC_GROUP_CLOSE", "乐团关闭"),
 //    EDUCATION_PUSH_COURSE_CHANGE("EDUCATION_PUSH_COURSE_CHANGE", "课程调整"),
 //    EDUCATION_PUSH_TOMORROW_COURSE_PLAN("EDUCATION_PUSH_TOMORROW_COURSE_PLAN", "明日课程安排"),
@@ -142,7 +144,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
 
     BACKSTAGE_CREATE_MUSIC_GROUP_APPLY("BACKSTAGE_CREATE_MUSIC_GROUP_APPLY", "建团申请"),
     BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS("BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS", "建团申请审核通过"),
-//    BACKSTAGE_ACTION_APPLY("BACKSTAGE_ACTION_APPLY", "开启报名"),
+    //    BACKSTAGE_ACTION_APPLY("BACKSTAGE_ACTION_APPLY", "开启报名"),
     BACKSTAGE_PAYMENT_CALENDER_AUDIT("BACKSTAGE_PAYMENT_CALENDER_AUDIT", "缴费项目审核"),
     BACKSTAGE_ACTION_PAYMENT("BACKSTAGE_ACTION_PAYMENT", "开启缴费"),
 
@@ -150,18 +152,18 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     BACKSTAGE_ACTION_GROUP("BACKSTAGE_ACTION_GROUP", "开团"),
     BACKSTAGE_STUDENT_SUBJECT_CHANGE("BACKSTAGE_STUDENT_SUBJECT_CHANGE", "学员声部调整"),
     BACKSTAGE_MUSIC_GROUP_MARKING("BACKSTAGE_MUSIC_GROUP_MARKING", "乐团筹备中"),
-//    BACKSTAGE_MARK_OK("BACKSTAGE_MARK_OK", "筹备完成"),
+    //    BACKSTAGE_MARK_OK("BACKSTAGE_MARK_OK", "筹备完成"),
 //    BACKSTAGE_MARK_QUIT("BACKSTAGE_MARK_QUIT", "筹备中,退回"),
     BACKSTAGE_MUSIC_GROUP_ADD_STUDENT("BACKSTAGE_MUSIC_GROUP_ADD_STUDENT", "乐团添加学员"),
-//    BACKSTAGE_TEACHER_AMOUNT_CHANGE("BACKSTAGE_TEACHER_AMOUNT_CHANGE", "老师课酬调整"),
+    //    BACKSTAGE_TEACHER_AMOUNT_CHANGE("BACKSTAGE_TEACHER_AMOUNT_CHANGE", "老师课酬调整"),
 //    BACKSTAGE_COURSE_CHANGE("BACKSTAGE_COURSE_CHANGE", "课时、课程调整"),
 //    BACKSTAGE_MUSIC_GROUP_IN_CHANGE("BACKSTAGE_MUSIC_GROUP_IN_CHANGE", "乐团内调整"),
 //    BACKSTAGE_SPAN_GROUP_CHANGE("BACKSTAGE_SPAN_GROUP_CHANGE", "跨越团调整"),
     BACKSTAGE_MUSIC_GROUP_STOP("BACKSTAGE_MUSIC_GROUP_STOP", "乐团暂停"),
-//    BACKSTAGE_MUSIC_GROUP_CLOSE("BACKSTAGE_MUSIC_GROUP_CLOSE", "乐团结束"),
+    //    BACKSTAGE_MUSIC_GROUP_CLOSE("BACKSTAGE_MUSIC_GROUP_CLOSE", "乐团结束"),
 //    BACKSTAGE_VIP_COURSE_APPLY("BACKSTAGE_VIP_COURSE_APPLY", "VIP课申请"),
     BACKSTAGE_TEACHER_APPLY_VIP("BACKSTAGE_TEACHER_APPLY_VIP", "VIP课申请"),
-//    BACKSTAGE_VIP_COURSE_STOP("BACKSTAGE_VIP_COURSE_STOP", "VIP课停止"),
+    //    BACKSTAGE_VIP_COURSE_STOP("BACKSTAGE_VIP_COURSE_STOP", "VIP课停止"),
 //    BACKSTAGE_TEACHER_FREEZE("BACKSTAGE_TEACHER_FREEZE", "老师冻结"),
 //    BACKSTAGE_TEACHER_POSITIVE("BACKSTAGE_TEACHER_POSITIVE", "老师转正"),
 //    BACKSTAGE_STUDENT_OK_QUIT_GROUP("BACKSTAGE_STUDENT_OK_QUIT_GROUP", "学员确认退团"),
@@ -176,7 +178,9 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     BACKSTAGE_STUDENT_APPLY_WITHDRAW("BACKSTAGE_STUDENT_APPLY_WITHDRAW", "学员申请提现"),
     CHILDREN_DAY_NOTICE_PUSH("CHILDREN_DAY_NOTICE_PUSH", "技能评测考级报名推送"),
     CHILDREN_DAY_NOTICE_MSG("CHILDREN_DAY_NOTICE_MSG", "技能评测考级报名短信"),
-    NO_BUY_CLOUD_TEACHER_MSG("NO_BUY_CLOUD_TEACHER_MSG", "未购买买云教练短信");
+    NO_BUY_CLOUD_TEACHER_MSG("NO_BUY_CLOUD_TEACHER_MSG", "未购买买云教练短信"),
+    OA_NOTICE_PUSH("OA_NOTICE_PUSH", "待审批提醒"),
+    OA_CC_NOTICE_PUSH("OA_CC_NOTICE_PUSH", "审批抄送提醒");
 
     MessageTypeEnum(String code, String msg) {
         this.code = code;

+ 11 - 3
mec-web/src/main/java/com/ym/mec/web/controller/education/EduSendNoticeController.java

@@ -1,9 +1,11 @@
 package com.ym.mec.web.controller.education;
 
 
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.PushInfoDto;
 import com.ym.mec.biz.dal.entity.FinancialExpenditure;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -27,6 +29,8 @@ public class EduSendNoticeController extends BaseController {
 
     @Autowired
     private SysMessageService sysMessageService;
+    @Autowired
+    private SysConfigDao sysConfigDao;
 
     @ApiOperation(value = "发送PUSH")
     @PostMapping(value = "/push")
@@ -35,17 +39,21 @@ public class EduSendNoticeController extends BaseController {
         for (Integer userId : pushInfo.getUserIds()) {
             userMap.put(userId, userId.toString());
         }
-
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, pushInfo.getMessageType(), userMap, null, 0, null, "SYSTEM");
+        String baseApiUrl = sysConfigDao.findConfigValue(SysConfigService.EDU_TEACHER_BASE_URL);
+        String workOrderUrl = "8?" + baseApiUrl + pushInfo.getWorkOrderUrl();
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, pushInfo.getMessageType(), userMap, null, 0, workOrderUrl, "SYSTEM");
         return succeed();
     }
 
     @ApiOperation(value = "发送IM")
     @PostMapping(value = "/im")
     public HttpResponseResult im(@RequestBody PushInfoDto pushInfo) {
+        String baseApiUrl = sysConfigDao.findConfigValue(SysConfigService.EDU_TEACHER_BASE_URL);
+        String workOrderUrl = baseApiUrl + pushInfo.getWorkOrderUrl();
+        String msg = pushInfo.getImContent() + " " + workOrderUrl;
 
         for (Integer userId : pushInfo.getUserIds()) {
-            sysMessageService.sendNoAuthPrivateMessage("1", userId.toString(), pushInfo.getImContent());
+            sysMessageService.sendNoAuthPrivateMessage("1", userId.toString(), msg);
         }
         return succeed();
     }