Browse Source

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into zx_saas_imGroup

zouxuan 1 year ago
parent
commit
d72a4b6ac2
37 changed files with 782 additions and 681 deletions
  1. 2 2
      mec-application/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java
  2. 1 1
      mec-application/src/main/java/com/ym/mec/student/controller/SmsCodeController.java
  3. 12 30
      mec-application/src/main/java/com/ym/mec/student/controller/SysMessageController.java
  4. 1 1
      mec-application/src/main/java/com/ym/mec/teacher/controller/SmsCodeController.java
  5. 3 3
      mec-application/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java
  6. 15 0
      mec-application/src/main/java/com/ym/mec/vo/PageUtil.java
  7. 4 4
      mec-application/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java
  8. 61 39
      mec-application/src/main/java/com/ym/mec/web/controller/SchoolMessageController.java
  9. 1 1
      mec-application/src/main/java/com/ym/mec/web/controller/SmsCodeController.java
  10. 72 33
      mec-application/src/main/java/com/ym/mec/web/controller/SysMessageController.java
  11. 12 33
      mec-application/src/main/java/com/ym/mec/web/controller/education/SysEduMessageController.java
  12. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMessage.java
  13. 24 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  14. 70 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SysMessageWrapper.java
  15. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/event/listener/SendSeoMessageListener.java
  16. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SmsCodeService.java
  17. 23 46
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  18. 46 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CbsUserServiceImpl.java
  19. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChildrenDayReserveServiceImpl.java
  20. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java
  21. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSchoolTermCourseDetailServiceImpl.java
  22. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  23. 8 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  24. 5 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentActivityServiceImpl.java
  25. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentCooperationServiceImpl.java
  26. 5 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SmsCodeServiceImpl.java
  27. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java
  28. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentInstrumentServiceImpl.java
  29. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  30. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java
  31. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java
  32. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java
  33. 348 387
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  34. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserCashAccountServiceImpl.java
  35. 35 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserServiceImpl.java
  36. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  37. 0 25
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/MessageSenderPluginContext.java

+ 2 - 2
mec-application/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -323,14 +323,14 @@ public class PracticeGroupController extends BaseController {
         if(pushType.equals("ALL")||pushType.equals("JIGUANG")){
             Map<Integer, String> userMap = new HashMap<>();
             userMap.put(userId, userId.toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_PRACTICE_COMPLETED_STUDY_REPORT,
                     userMap, null, 0, "5?" + pushUrl, "STUDENT", pushUrl);
         }
 
         if(pushType.equals("ALL")||pushType.equals("SMS")){
             Map<Integer, String> userPhoneMap = new HashMap<>();
             userPhoneMap.put(userId, student.getPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PRACTICE_COMPLETED_STUDY_REPORT,
                     userPhoneMap, null, 0, null, "STUDENT", HttpUtil.getSortUrl(smsUrl));
         }
 

+ 1 - 1
mec-application/src/main/java/com/ym/mec/student/controller/SmsCodeController.java

@@ -54,7 +54,7 @@ public class SmsCodeController extends BaseController {
         RBucket<String> bucket = redissonClient.getBucket(redisKey);
         if(bucket.isExists()){
             if(StringUtils.equalsIgnoreCase(bucket.get(),code)){
-                smsCodeService.sendValidCode(mobile);
+                smsCodeService.sendValidCode(mobile,"STUDENT");
                 return succeed();
             }
         }

+ 12 - 30
mec-application/src/main/java/com/ym/mec/student/controller/SysMessageController.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.entity.AppVersionInfo;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import java.util.Map;
 
 @RestController
@@ -29,23 +31,19 @@ import java.util.Map;
 @RequestMapping("${app-config.url.student:}/sysMessage")
 public class SysMessageController extends BaseController {
 
-	@Autowired
+	@Resource
 	private SysMessageService sysMessageService;
 
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	@Resource
+	private SysUserService sysUserService;
 
-	@Autowired
+	@Resource
 	private AppVersionInfoDao appVersionInfoDao;
 
 	@ApiOperation("获取所有消息列表")
 	@GetMapping(value = "list")
 	public Object list(SysMessageQueryInfo queryInfo){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		queryInfo.setUserId(sysUser.getId());
+		queryInfo.setUserId(sysUserService.getUserId());
 		queryInfo.setType(MessageSendMode.PUSH.getCode());
 		queryInfo.setJpushType("STUDENT");
 		return succeed(sysMessageService.queryPage(queryInfo));
@@ -77,32 +75,19 @@ public class SysMessageController extends BaseController {
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
 	public Object batchSetRead() {
-		int status = 1;
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		return sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT") > 0 ? succeed() : failed();
+		return sysMessageService.updateStatus(sysUserService.getUserId(), 1,"STUDENT")? succeed() : failed();
 	}
 
 	@ApiOperation("设置已读")
 	@PostMapping("setRead")
 	public Object setRead(Long id) {
-		int status = 1;
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
+		return sysMessageService.updateOneStatus(id) ? succeed() : failed();
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
 	@GetMapping("/queryCountOfUnread")
 	public Object queryCountOfUnread() {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
+		SysUser sysUser = sysUserService.getUser();
 		Map<String, Integer> map = sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId(),"STUDENT", sysUser.getTenantId());
 
 		if (map == null || map.size() == 0) {
@@ -114,17 +99,14 @@ public class SysMessageController extends BaseController {
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
 	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
+		SysUser sysUser = sysUserService.getUser();
 		Integer userId = sysUser.getId();
 
 		String mobileNo = sysUser.getPhone();
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group, "STUDENT");
+//		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group, "STUDENT");
 		return succeed();
 	}
 }

+ 1 - 1
mec-application/src/main/java/com/ym/mec/teacher/controller/SmsCodeController.java

@@ -53,7 +53,7 @@ public class SmsCodeController extends BaseController {
         RBucket<String> bucket = redissonClient.getBucket(redisKey);
         if(bucket.isExists()){
             if(StringUtils.equalsIgnoreCase(bucket.get(),code)){
-                smsCodeService.sendValidCode(mobile);
+                smsCodeService.sendValidCode(mobile,"TEACHER");
                 return succeed();
             }
         }

+ 3 - 3
mec-application/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -58,13 +58,13 @@ public class SysMessageController extends BaseController {
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
 	public Object batchSetRead() {
-		return sysMessageService.updateStatus(sysUserService.getUserId(), 1,"TEACHER") > 0 ? succeed() : failed();
+		return sysMessageService.updateStatus(sysUserService.getUserId(), 1,"TEACHER")? succeed() : failed();
 	}
 
 	@ApiOperation("设置已读")
 	@PostMapping("setRead")
 	public Object setRead(Long id) {
-		return sysMessageService.updateOneStatus(id, 1) > 0 ? succeed() : failed();
+		return sysMessageService.updateOneStatus(id) ? succeed() : failed();
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
@@ -87,7 +87,7 @@ public class SysMessageController extends BaseController {
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, sysUser.getId(), "", content, receiver, null, readStatus, url, group,"TEACHER");
+//		sysMessageService.sendMessage(messageSender, sysUser.getId(), "", content, receiver, null, readStatus, url, group,"TEACHER");
 		return succeed();
 	}
 }

+ 15 - 0
mec-application/src/main/java/com/ym/mec/vo/PageUtil.java

@@ -2,6 +2,7 @@ package com.ym.mec.vo;
 
 import com.ym.mec.common.page.PageInfo;
 
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -23,4 +24,18 @@ public class PageUtil {
         resultPage.setTotal(total);
         return resultPage;
     }
+
+    public static <T,E> PageInfo<T> pageInfo(com.microsvc.toolkit.common.response.paging.PageInfo<E> source, List<T> rows) {
+        if (Objects.isNull(source)) {
+            return new PageInfo<>(1, 20);
+        }
+        int total = Integer.parseInt(String.valueOf(source.getTotal()));
+        int limit = Integer.parseInt(String.valueOf(source.getLimit()));
+        PageInfo<T> resultPage = new PageInfo<>();
+        resultPage.setRows(rows);
+        resultPage.setPageNo(Long.valueOf(source.getCurrent()).intValue());
+        resultPage.setLimit(limit);
+        resultPage.setTotal(total);
+        return resultPage;
+    }
 }

+ 4 - 4
mec-application/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java

@@ -97,11 +97,11 @@ public class ReplacementInstrumentActivityController extends BaseController {
             String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
             String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
             userMap.put(userId, userId.toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_REPLACEMENT_PAY,
                     userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", goods.getBrand(), "");
 
             userPhoneMap.put(userId, oldReplacementInstrumentActivity.getMobileNo());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_REPLACEMENT_PAY,
                     userPhoneMap, null, 0, null, null, goods.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
 
@@ -135,11 +135,11 @@ public class ReplacementInstrumentActivityController extends BaseController {
             String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
             String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
             userMap.put(userId, userId.toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_REPLACEMENT_PAY,
                     userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", goods.getBrand(), "");
 
             userPhoneMap.put(userId, replacementInstrumentActivity.getMobileNo());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_REPLACEMENT_PAY,
                     userPhoneMap, null, 0, null, null, goods.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
 

+ 61 - 39
mec-application/src/main/java/com/ym/mec/web/controller/SchoolMessageController.java

@@ -1,49 +1,85 @@
 package com.ym.mec.web.controller;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.AppVersionInfoDao;
+import com.dayaedu.cbs.common.enums.message.EMessageSendMode;
+import com.dayaedu.cbs.common.enums.message.ESendStatus;
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.ym.mec.biz.dal.dto.SysMessageDto;
+import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
+import com.ym.mec.biz.dal.enums.SendStatusEnum;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.vo.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
 @RestController
 @Api(tags = "消息服务")
 @RequestMapping("${app-config.url.web:}/schoolMessage")
 public class SchoolMessageController extends BaseController {
 
-    @Autowired
+    @Resource
     private SysMessageService sysMessageService;
-
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-
-    @Autowired
-    private AppVersionInfoDao appVersionInfoDao;
+    @Resource
+    private SysUserService sysUserService;
 
     @ApiOperation("获取所有消息列表")
     @PostMapping(value = "list")
-    public Object list(@RequestBody SysMessageQueryInfo queryInfo){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-
-        queryInfo.setUserId(sysUserFeignService.queryUserInfo().getId());
+    public HttpResponseResult<com.ym.mec.common.page.PageInfo<SysMessage>> list(@RequestBody SysMessageQueryInfo queryInfo){
+        queryInfo.setUserId(sysUserService.getUserId());
         queryInfo.setType(3);
         queryInfo.setJpushType("SCHOOL");
-        PageInfo<SysMessageDto> pageInfo = sysMessageService.queryListPage(queryInfo);
-        return succeed(pageInfo);
+        PageInfo<CbsMessageWrapper.SysMessage> pageInfo = sysMessageService.queryListPage(queryInfo).feignData();
+
+        List<SysMessage> sysMessages = new ArrayList<>();
+        if(CollectionUtils.isNotEmpty(pageInfo.getRows())){
+            pageInfo.getRows().forEach(sysMessage -> {
+                SysMessage message = new SysMessage();
+                message.setId(sysMessage.getId().toString());
+                message.setTitle(sysMessage.getTitle());
+                message.setContent(sysMessage.getContent());
+                if(sysMessage.getSendMode() != null){
+                    message.setType(sysMessage.getSendMode() == EMessageSendMode.SMS?MessageSendMode.SMS:
+                            sysMessage.getSendMode() == EMessageSendMode.EMAIL?MessageSendMode.EMAIL:
+                                    sysMessage.getSendMode() == EMessageSendMode.PUSH?MessageSendMode.PUSH:MessageSendMode.SEO);
+                }
+                if(sysMessage.getStatus() != null){
+                    message.setStatus(sysMessage.getStatus() == ESendStatus.FAILED? SendStatusEnum.FAILED:
+                            sysMessage.getStatus() == ESendStatus.SENDING?SendStatusEnum.SENDING:
+                                    sysMessage.getStatus() == ESendStatus.SUCCESSED?SendStatusEnum.SUCCESSED:SendStatusEnum.WAIT);
+                }
+                message.setReceiver(sysMessage.getReceiver());
+                message.setSendTime(sysMessage.getSendTime());
+                message.setErrorMsg(sysMessage.getErrorMsg());
+                message.setCreateOn(sysMessage.getCreateTime());
+                message.setModifyOn(sysMessage.getUpdateTime());
+                if(sysMessage.getUserId() != null){
+                    message.setUserId(sysMessage.getUserId().intValue());
+                }
+                if(sysMessage.getMessageConfigId() != null){
+                    message.setMessageConfigId(sysMessage.getMessageConfigId().intValue());
+                }
+                message.setMemo(sysMessage.getMemo());
+                if (sysMessage.getReadStatus() != null){
+                    message.setReadStatus(sysMessage.getReadStatus()?1:0);
+                }
+                message.setGroup(sysMessage.getGroup());
+                sysMessages.add(message);
+            });
+        }
+        return succeed(PageUtil.pageInfo(pageInfo,sysMessages));
     }
 
     @ApiOperation("获取消息分类类型")
@@ -59,31 +95,17 @@ public class SchoolMessageController extends BaseController {
     @ApiOperation("一键已读")
     @PostMapping("batchSetRead")
     public Object batchSetRead() {
-        int status = 1;
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return sysMessageService.updateStatus(sysUser.getId(), status,"SCHOOL") > 0 ? succeed() : failed();
+        return sysMessageService.updateStatus(sysUserService.getUserId(), 1,"SCHOOL")? succeed() : failed();
     }
     @ApiOperation("设置已读")
     @PostMapping("setRead")
     public Object setRead(@ApiParam("id") Long id) {
-        int status = 1;
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
+        return sysMessageService.updateOneStatus(id)? succeed() : failed();
     }
 
     @ApiOperation(value = "查询用户未读消息条数")
     @GetMapping("/queryCountOfUnread")
     public Object queryCountOfUnread() {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId(),"SCHOOL", null));
+        return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUserService.getUserId(),"SCHOOL", null));
     }
 }

+ 1 - 1
mec-application/src/main/java/com/ym/mec/web/controller/SmsCodeController.java

@@ -53,7 +53,7 @@ public class SmsCodeController extends BaseController {
         RBucket<String> bucket = redissonClient.getBucket(redisKey);
         if(bucket.isExists()){
             if(StringUtils.equalsIgnoreCase(bucket.get(),code)){
-                smsCodeService.sendValidCode(mobile);
+                smsCodeService.sendValidCode(mobile,"SYSTEM");
                 return succeed();
             }
         }

+ 72 - 33
mec-application/src/main/java/com/ym/mec/web/controller/SysMessageController.java

@@ -1,26 +1,33 @@
 package com.ym.mec.web.controller;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.dayaedu.cbs.common.enums.message.EMessageSendMode;
+import com.dayaedu.cbs.common.enums.message.ESendStatus;
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.AppVersionInfoDao;
-import com.ym.mec.biz.dal.dto.SysMessageDto;
 import com.ym.mec.biz.dal.dto.SysMessageVo;
 import com.ym.mec.biz.dal.entity.AppVersionInfo;
+import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
+import com.ym.mec.biz.dal.enums.SendStatusEnum;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.vo.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -29,28 +36,60 @@ import java.util.regex.Pattern;
 @RequestMapping("${app-config.url.web:}/sysMessage")
 public class SysMessageController extends BaseController {
 
-	@Autowired
+	@Resource
 	private SysMessageService sysMessageService;
 
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	@Resource
+	private SysUserService sysUserService;
 
-	@Autowired
+	@Resource
 	private AppVersionInfoDao appVersionInfoDao;
 
 	@ApiOperation("获取所有消息列表")
 	@GetMapping(value = "list")
 	public Object list(SysMessageQueryInfo queryInfo){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		if(!sysUser.getIsSuperAdmin()){
-			queryInfo.setUserId(sysUser.getId());
-		}
+		SysUser sysUser = sysUserService.getUser();
+		queryInfo.setUserId(sysUser.getId());
 		queryInfo.setType(MessageSendMode.SEO.getCode());
-		PageInfo<SysMessageDto> pageInfo = sysMessageService.queryListPage(queryInfo);
-		return succeed(pageInfo);
+		com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage> pageInfo = sysMessageService.queryListPage(queryInfo).feignData();
+
+		List<SysMessage> sysMessages = new ArrayList<>();
+		if(org.apache.commons.collections.CollectionUtils.isNotEmpty(pageInfo.getRows())){
+			pageInfo.getRows().forEach(sysMessage -> {
+				SysMessage message = new SysMessage();
+				message.setId(sysMessage.getId().toString());
+				message.setTitle(sysMessage.getTitle());
+				message.setContent(sysMessage.getContent());
+				if(sysMessage.getSendMode() != null){
+					message.setType(sysMessage.getSendMode() == EMessageSendMode.SMS?MessageSendMode.SMS:
+							sysMessage.getSendMode() == EMessageSendMode.EMAIL?MessageSendMode.EMAIL:
+									sysMessage.getSendMode() == EMessageSendMode.PUSH?MessageSendMode.PUSH:MessageSendMode.SEO);
+				}
+				if(sysMessage.getStatus() != null){
+					message.setStatus(sysMessage.getStatus() == ESendStatus.FAILED? SendStatusEnum.FAILED:
+							sysMessage.getStatus() == ESendStatus.SENDING?SendStatusEnum.SENDING:
+									sysMessage.getStatus() == ESendStatus.SUCCESSED?SendStatusEnum.SUCCESSED:SendStatusEnum.WAIT);
+				}
+				message.setReceiver(sysMessage.getReceiver());
+				message.setSendTime(sysMessage.getSendTime());
+				message.setErrorMsg(sysMessage.getErrorMsg());
+				message.setCreateOn(sysMessage.getCreateTime());
+				message.setModifyOn(sysMessage.getUpdateTime());
+				if(sysMessage.getUserId() != null){
+					message.setUserId(sysMessage.getUserId().intValue());
+				}
+				if(sysMessage.getMessageConfigId() != null){
+					message.setMessageConfigId(sysMessage.getMessageConfigId().intValue());
+				}
+				message.setMemo(sysMessage.getMemo());
+				if (sysMessage.getReadStatus() != null){
+					message.setReadStatus(sysMessage.getReadStatus()?1:0);
+				}
+				message.setGroup(sysMessage.getGroup());
+				sysMessages.add(message);
+			});
+		}
+		return succeed(PageUtil.pageInfo(pageInfo,sysMessages));
 	}
 
 	@ApiOperation("获取消息分类类型")
@@ -81,21 +120,13 @@ public class SysMessageController extends BaseController {
 	@ApiOperation("设置已读")
 	@PostMapping("setRead")
 	public Object setRead(Long id) {
-		int status = 1;
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
+		return sysMessageService.updateOneStatus(id)? succeed() : failed();
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
 	@GetMapping("/queryCountOfUnread")
 	public Object queryCountOfUnread() {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
+		SysUser sysUser = sysUserService.getUser();
 		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.SEO, sysUser.getId(),null, sysUser.getTenantId()));
 	}
 
@@ -104,19 +135,27 @@ public class SysMessageController extends BaseController {
 	@PreAuthorize("@pcs.hasPermissions('sysMessage/page')")
 	@PostMapping("/page")
 	public HttpResponseResult<PageInfo<SysMessageVo.SysMessageList>> page(@RequestBody SysMessageVo.SysMessageQuery query) {
-		// 数据类型转换
-		PageInfo<SysMessageVo.SysMessageList> records = sysMessageService.queryMessageCode(query);
-
+		com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage> pageInfo = sysMessageService.queryMessageCode(query).feignData();
+		if(CollectionUtils.isEmpty(pageInfo.getRows())){
+			return succeed(new PageInfo<>());
+		}
+		List<SysMessageVo.SysMessageList> sysMessageList = new ArrayList<>();
 		Pattern pattern = Pattern.compile("\\b验证码\\s*(\\d{6})\\b");
-		records.getRows().forEach(next -> {
+		pageInfo.getRows().forEach(next -> {
+			SysMessageVo.SysMessageList sysMessage = new SysMessageVo.SysMessageList();
 			String content = next.getContent();
+			sysMessage.setContent(content);
+			sysMessage.setTitle(next.getTitle());
+			sysMessage.setSendTime(next.getSendTime());
+			sysMessage.setReceiver(next.getReceiver());
 			if (StringUtils.isNotEmpty(content)) {
 				Matcher matcher = pattern.matcher(content);
 				if (matcher.find()) {
-					next.setVerityCode(matcher.group().replace("验证码",""));
+					sysMessage.setVerityCode(matcher.group().replace("验证码",""));
 				}
 			}
+			sysMessageList.add(sysMessage);
 		});
-		return succeed(records);
+		return succeed(PageUtil.pageInfo(pageInfo, sysMessageList));
 	}
 }

+ 12 - 33
mec-application/src/main/java/com/ym/mec/web/controller/education/SysEduMessageController.java

@@ -1,13 +1,13 @@
 package com.ym.mec.web.controller.education;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.AppVersionInfoDao;
 import com.ym.mec.biz.dal.entity.AppVersionInfo;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
@@ -15,13 +15,12 @@ import com.ym.mec.util.validator.CommonValidator;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import java.util.Map;
 
 @RestController
@@ -29,23 +28,19 @@ import java.util.Map;
 @RequestMapping("${app-config.url.web:}/sysEduMessage")
 public class SysEduMessageController extends BaseController {
 
-	@Autowired
+	@Resource
 	private SysMessageService sysMessageService;
 
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	@Resource
+	private SysUserService sysUserService;
 
-	@Autowired
+	@Resource
 	private AppVersionInfoDao appVersionInfoDao;
 
 	@ApiOperation("获取所有消息列表")
 	@GetMapping(value = "list")
 	public Object list(SysMessageQueryInfo queryInfo){
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		queryInfo.setUserId(sysUser.getId());
+		queryInfo.setUserId(sysUserService.getUserId());
 		queryInfo.setType(3);
 		queryInfo.setJpushType("SYSTEM");
 		return succeed(sysMessageService.queryPage(queryInfo));
@@ -77,32 +72,19 @@ public class SysEduMessageController extends BaseController {
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
 	public Object batchSetRead() {
-		int status = 1;
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		return sysMessageService.updateStatus(sysUser.getId(), status,"SYSTEM") > 0 ? succeed() : failed();
+		return sysMessageService.updateStatus(sysUserService.getUserId(), 1,"SYSTEM") ? succeed() : failed();
 	}
 
 	@ApiOperation("设置已读")
 	@PostMapping("setRead")
 	public Object setRead(Long id) {
-		int status = 1;
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
+		return sysMessageService.updateOneStatus(id)? succeed() : failed();
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
 	@GetMapping("/queryCountOfUnread")
 	public Object queryCountOfUnread() {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("请重新登录");
-		}
+		SysUser sysUser = sysUserService.getUser();
 		Map<String, Integer> map = sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId(),"SYSTEM", sysUser.getTenantId());
 
 		if (map == null || map.size() == 0) {
@@ -114,17 +96,14 @@ public class SysEduMessageController extends BaseController {
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
 	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
+		SysUser sysUser = sysUserService.getUser();
 		Integer userId = sysUser.getId();
 
 		String mobileNo = sysUser.getPhone();
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group,"SYSTEM");
+//		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group,"SYSTEM");
 		return succeed();
 	}
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMessage.java

@@ -14,7 +14,7 @@ import com.ym.mec.common.entity.BaseEntity;
 public class SysMessage extends BaseEntity {
 
 	/** 主键 */
-	private Long id;
+	private String id;
 
     private Integer messageConfigId;
 	
@@ -98,11 +98,11 @@ public class SysMessage extends BaseEntity {
 		this.memo = memo;
 	}
 
-	public void setId(Long id){
+	public void setId(String id){
 		this.id = id;
 	}
 	
-	public Long getId(){
+	public String getId(){
 		return this.id;
 	}
 			

+ 24 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -4,12 +4,16 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_APPLY_MESSAGE("SMS_APPLY_MESSAGE", "报名通知"),
-    SYSTEM_REMIND_EDUCATION_COURSE_TIME("SYSTEM_REMIND_EDUCATION_COURSE_TIME", "排课提醒"),
-    STUDENT_MEMBER_RENEW_MESSAGE("STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
+    SMS_SYSTEM_REMIND_EDUCATION_COURSE_TIME("SMS_SYSTEM_REMIND_EDUCATION_COURSE_TIME", "排课提醒"),
+
+    PUSH_SYSTEM_REMIND_EDUCATION_COURSE_TIME("PUSH_SYSTEM_REMIND_EDUCATION_COURSE_TIME", "排课提醒"),
+    SMS_STUDENT_MEMBER_RENEW_MESSAGE("SMS_STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
+    PUSH_STUDENT_MEMBER_RENEW_MESSAGE("STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
     PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE("PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE", "会员试用提醒"),
+    SMS_EXPERIENCE_MEMBERSHIP_MESSAGE("SMS_EXPERIENCE_MEMBERSHIP_MESSAGE", "会员试用提醒"),
     SMS_AUTO_STUDENT_MEMBER_RENEW_MESSAGE("SMS_AUTO_STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
     PUSH_AUTO_STUDENT_MEMBER_RENEW_MESSAGE("PUSH_AUTO_STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
-    STUDENT_MEMBER_RENEW_QUIT_MESSAGE("STUDENT_MEMBER_RENEW_QUIT_MESSAGE", "会员续费提醒"),
+//    STUDENT_MEMBER_RENEW_QUIT_MESSAGE("STUDENT_MEMBER_RENEW_QUIT_MESSAGE", "会员续费提醒"),
     SMS_VERIFY_CODE_LOGIN("SMS_VERIFY_CODE_LOGIN", "验证码登录"),
     KAPTCHA_SESSION_KEY("KAPTCHA_SESSION_KEY", "登录图形验证码"),
     SMS_PAYMENT_MESSAGE("SMS_PAYMENT_MESSAGE", "缴费通知"),
@@ -30,7 +34,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     PUSH_STUDENT_BUY_ACTIVITY("PUSH_STUDENT_BUY_ACTIVITY", "活动购买成功"),
     PUSH_SYSTEM_ACTIVITY_COURSE("PUSH_SYSTEM_ACTIVITY_COURSE", "待排课通知"),
     PUSH_TEACHER_ACTIVITY_COURSE("PUSH_TEACHER_ACTIVITY_COURSE", "待排课通知"),
-    STUDENT_SMS_PUSH_PAYMENT_SUCCESS("STUDENT_SMS_PUSH_PAYMENT_SUCCESS", "缴费成功结果通知"),
+    STUDENT_SMS_PAYMENT_SUCCESS("STUDENT_SMS_PAYMENT_SUCCESS", "缴费成功结果通知"),
+    STUDENT_PUSH_PAYMENT_SUCCESS("STUDENT_PUSH_PAYMENT_SUCCESS", "缴费成功结果通知"),
     STUDENT_SMS_BALANCE_CONSUME("STUDENT_SMS_BALANCE_CONSUME", "余额消费"),
     STUDENT_PUSH_VIP_BUY("STUDENT_PUSH_VIP_BUY", "VIP课购买"),
     STUDENT_PUSH_LIVE_BUY("STUDENT_PUSH_LIVE_BUY", "直播课购买"),
@@ -47,7 +52,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_PUSH_JOB_MESSAGE_EXTRA_V2("STUDENT_PUSH_JOB_MESSAGE_EXTRA_V2", "训练提醒"),
     //    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_APPLY_RESULT("TEACHER_SMS_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_LIVE_COURSE_STOP("TEACHER_PUSH_LIVE_COURSE_STOP", "直播课停止"),
@@ -75,12 +80,16 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     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", "入团通知"),
-    STUDENT_SMS_PUSH_SPORADIC_PAYMENT_SUCCESS("STUDENT_SMS_PUSH_SPORADIC_PAYMENT_SUCCESS", "零星支付成功结果"),
-    STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED("STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED", "零星支付失败结果"),
+    STUDENT_PUSH_SPORADIC_PAYMENT_SUCCESS("STUDENT_PUSH_SPORADIC_PAYMENT_SUCCESS", "零星支付成功结果"),
+    STUDENT_SMS_SPORADIC_PAYMENT_SUCCESS("STUDENT_SMS_SPORADIC_PAYMENT_SUCCESS", "零星支付成功结果"),
+    STUDENT_SMS_SPORADIC_PAYMENT_FAILED("STUDENT_SMS_SPORADIC_PAYMENT_FAILED", "零星支付失败结果"),
+    STUDENT_PUSH_SPORADIC_PAYMENT_FAILED("STUDENT_PUSH_SPORADIC_PAYMENT_FAILED", "零星支付失败结果"),
     TEACHER_PUSH_COURSE_COLLIDE("TEACHER_PUSH_COURSE_COLLIDE", "课程冲突"),
     //    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_PAY_PRACTICE_BUY_SUCCESS("STUDENT_SMS_PAY_PRACTICE_BUY_SUCCESS", "网管课购买成功"),
+    STUDENT_PUSH_PAY_PRACTICE_BUY_SUCCESS("STUDENT_PUSH_PAY_PRACTICE_BUY_SUCCESS", "网管课购买成功"),
+    STUDENT_PUSH_PRACTICE_COMPLETED_STUDY_REPORT("STUDENT_PUSH_PRACTICE_COMPLETED_STUDY_REPORT", "网管课完成学习报告"),
+    STUDENT_SMS_PRACTICE_COMPLETED_STUDY_REPORT("STUDENT_SMS_PRACTICE_COMPLETED_STUDY_REPORT", "网管课完成学习报告"),
     STUDENT_SMS_PUSH_FREE_PRACTICE_APPLY_PUSH("STUDENT_SMS_PUSH_FREE_PRACTICE_APPLY_PUSH", "免费陪练课预约推送"),
     TEACHER_PUSH_NEED_POST_STUDY_REPORT("TEACHER_PUSH_NEED_POST_STUDY_REPORT", "新增待填写月报"),
     STUDENT_PUSH_HOMEWORK_REMIND("STUDENT_PUSH_HOMEWORK_REMIND", "训练提醒-网管课"),
@@ -122,7 +131,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_COURSE_SALARY_COMPLAINTS_RESULT("TEACHER_PUSH_COURSE_SALARY_COMPLAINTS_RESULT", "课酬申述结果"),
     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", "新增网管课程"),
+    TEACHER_SMS_PRACTICE_CREATE("TEACHER_SMS_PRACTICE_CREATE", "新增网管课程"),
+    TEACHER_PUSH_PRACTICE_CREATE("TEACHER_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", "乐器线上维修支付成功"),
@@ -145,13 +155,15 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_SERVE("TEACHER_PUSH_SERVE", "服务指标未完成提醒"),
     STUDENT_PUSH_MAINTENANCE_NOTICE("STUDENT_PUSH_MAINTENANCE_NOTICE", "乐保到期提醒"),
     TEACHER_IM_STUDENT_LEAVE("TEACHER_IM_STUDENT_LEAVE", "学员请假"),
-    STUDENT_SMS_PUSH_REPLACEMENT_PAY("STUDENT_SMS_PUSH_REPLACEMENT_PAY", "乐器置换支付提醒"),
+    STUDENT_SMS_REPLACEMENT_PAY("STUDENT_SMS_REPLACEMENT_PAY", "乐器置换支付提醒"),
+    STUDENT_PUSH_REPLACEMENT_PAY("STUDENT_PUSH_REPLACEMENT_PAY", "乐器置换支付提醒"),
     TEACHER_PUSH_INCOME_REMIND("TEACHER_PUSH_INCOME_REMIND", "今日收入"),
     STUDENT_PUSH_PAYMENT_RESULT("STUDENT_PUSH_PAYMENT_RESULT", "缴费结果"),
     STUDENT_PUSH_MUSIC_GROUP_CLOSE("STUDENT_PUSH_MUSIC_GROUP_CLOSE", "乐团关闭(确认后)"),
     STUDENT_PUSH_BASICS_SKILL_APPLY_MESSAGE("STUDENT_PUSH_BASICS_SKILL_APPLY_MESSAGE", "基础技能训练报名通知"),
     STUDENT_PUSH_WAIT_RENEW_MESSAGE("STUDENT_PUSH_WAIT_RENEW_MESSAGE", "待续费通知"),
-    STUDENT_SMS_PUSH_MUSIC_GROUP_RENEW_SUCCESS("STUDENT_SMS_PUSH_MUSIC_GROUP_RENEW_SUCCESS", "乐团续费成功结果"),
+    STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS("STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS", "乐团续费成功结果"),
+    STUDENT_PUSH_MUSIC_GROUP_RENEW_SUCCESS("STUDENT_PUSH_MUSIC_GROUP_RENEW_SUCCESS", "乐团续费成功结果"),
     STUDENT_PUSH_BALANCE_CONSUME("STUDENT_PUSH_BALANCE_CONSUME", "余额消费"),
     STUDENT_PUSH_ATTEND_COURSE_MESSAGE("STUDENT_PUSH_ATTEND_COURSE_MESSAGE", "上课提醒"),
     STUDENT_PUSH_TEACHING_SCHOOL_CHANGE("STUDENT_PUSH_TEACHING_SCHOOL_CHANGE", "教学点变动"),

+ 70 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SysMessageWrapper.java

@@ -0,0 +1,70 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.ym.mec.biz.dal.enums.MessageSendMode;
+import com.ym.mec.biz.dal.enums.SendStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+public class SysMessageWrapper {
+
+    @Data
+    public static class Message {
+
+        /** 主键 */
+        private String id;
+
+        private Integer messageConfigId;
+
+        /** 标题 */
+        @ApiModelProperty(value = "标题",required = false)
+        private String title;
+
+        /** 消息内容 */
+        @ApiModelProperty(value = "消息内容",required = false)
+        private String content;
+
+        /** 消息类型;1,表示短信;2,表示邮件; 3,app推送消息 */
+        @ApiModelProperty(value = "消息类型",required = false)
+        private MessageSendMode type;
+
+        /** 状态,-1,发送失败;0,待发送;1,发送中;2,发送完成 */
+        @ApiModelProperty(value = "状态",required = false)
+        private SendStatusEnum status;
+
+        /** 接收人(多个人用逗号分隔) */
+        @ApiModelProperty(value = "接收人(多个人用逗号分隔)",required = false)
+        private String receiver;
+
+        /** 发送时间 */
+        @ApiModelProperty(value = "发送时间",required = false)
+        private java.util.Date sendTime;
+
+        /** 错误信息 */
+        @ApiModelProperty(value = "错误信息",required = false)
+        private String errorMsg;
+
+        /** 创建时间 */
+        private java.util.Date createOn;
+
+        /** 修改时间 */
+        private java.util.Date modifyOn;
+
+        /** 用户编号 */
+        @ApiModelProperty(value = "用户编号",required = false)
+        private Integer userId;
+
+        /** 备注 */
+        @ApiModelProperty(value = "备注",required = false)
+        private String memo;
+
+        /** 是否已读 */
+        @ApiModelProperty(value = "是否已读",required = false)
+        private Integer readStatus;
+
+        @ApiModelProperty(value = "消息组",required = false)
+        private String group;
+
+        @ApiModelProperty(value = "极光推送客户端标识",required = false)
+        private String jpushType;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/event/listener/SendSeoMessageListener.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.event.SendSeoMessageChangeEvent;
 import com.ym.mec.biz.service.SysEmployeePositionService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.tenant.TenantContextHolder;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.context.ApplicationListener;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
@@ -35,7 +36,7 @@ public class SendSeoMessageListener implements ApplicationListener<SendSeoMessag
         if(event.getTargetId() != null){
             targetUserIdList.add(event.getTargetId());
         }
-        if(targetUserIdList.size() > 0){
+        if(CollectionUtils.isNotEmpty(targetUserIdList)){
             sysMessageService.batchSeoMessage(targetUserIdList,
                     event.getMsgTemplate(),
                     event.getMemo(),

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SmsCodeService.java

@@ -16,5 +16,5 @@ public interface SmsCodeService {
 	 * 发送登录验证码
 	 * @return
 	 */
-	boolean sendValidCode(String mobile) throws Exception;
+	boolean sendValidCode(String mobile,String jpushType) throws Exception;
 }

+ 23 - 46
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -1,32 +1,29 @@
 package com.ym.mec.biz.service;
 
-import java.net.MalformedURLException;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.ym.mec.biz.dal.dto.SysMessageDto;
+import com.dayaedu.cbs.common.enums.EClientType;
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
+import com.microsvc.toolkit.common.response.template.R;
 import com.ym.mec.biz.dal.dto.SysMessageVo;
 import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
 import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
+import com.ym.mec.biz.dal.wrapper.SysMessageWrapper;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 
+import java.net.MalformedURLException;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 public interface SysMessageService extends BaseService<Long, SysMessage> {
-	
-	PageInfo<SysMessageDto> queryListPage(QueryInfo queryInfo);
 
-	/**
-	 * 修改消息对象
-	 * @param message
-	 * @return
-	 */
-	public int updateMessage(SysMessage message);
+	R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage>> queryListPage(SysMessageQueryInfo queryInfo);
 
 	/**
 	 * 推送站内消息
@@ -101,7 +98,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param args 参数
 	 * @return
 	 */
-	public void batchSendMessage(Integer senderTenantId, MessageSender messageSender, MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
+	public void batchSendMessage(Integer senderTenantId, MessageSender messageSender, MessageTypeEnum messageType, Map<Integer,String> receivers, Date triggerTime,
 			Integer readStatus, String url,String jpushType, Object... args);
 
 	/**
@@ -115,7 +112,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param args 参数
 	 * @return
 	 */
-	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
+	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum messageType, Map<Integer,String> receivers, Date triggerTime,
 			Integer readStatus, String url,String jpushType, Object... args);
 
 
@@ -129,25 +126,9 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param args 参数
 	 * @return
 	 */
-	public void batchPushMessage(MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
+	public void batchPushMessage(MessageTypeEnum messageType, Map<Integer,String> receivers, Date triggerTime,
 			Integer readStatus, String url,String jpushType,String sound,String channelId, Object... args);
 
-	/**
-	 * 发送消息
-	 * @param messageSender 消息发送者
-	 * @param userId 用户编号
-	 * @param mode 消息模式
-	 * @param title 消息标题
-	 * @param content 消息内容
-	 * @param receiver 消息接受者
-	 * @param triggerTime 触发时间
-	 * @param readStatus 阅读状态(0-未读  1-已读)
-	 * @param url 超链接地址
-	 * @param group 组
-	 * @return
-	 */
-	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
-			String url, String group,String jpushType);
 
 	/**
 	 * 发送验证码
@@ -158,7 +139,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param receiver 消息接受者
 	 * @return
 	 */
-	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageTypeEnum messageType, String receiver);
+	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageTypeEnum messageType, String receiver,String jpushType);
 
 	/**
 	 * 获取已经发送的验证码
@@ -169,13 +150,6 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	public String getSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr);
 
 	/**
-	 * 删除已有的key
-	 * @param type
-	 * @param mobileNOOrEmailAddr
-	 */
-	public void delSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr);
-
-	/**
 	 * 查询消息未读条数
 	 * @param type
 	 * @param userId
@@ -189,14 +163,14 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param status 状态/1 已读,0未读
 	 * @return
 	 */
-	public int updateStatus(Integer userId, int status,String jpushType);
+	public Boolean updateStatus(Integer userId, int status,String jpushType);
 
 	/**
 	 * 修改单条消息状态
 	 */
-	public int updateOneStatus(Long id, int status);
+	public Boolean updateOneStatus(Long id);
 	
-	public List<SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
+	public List<CbsMessageWrapper.SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
 
 	/**
 	 * 发送私聊消息
@@ -220,5 +194,8 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	void pushWaitSendMessageTask();
 
 	//获取短信验证码
-	PageInfo<SysMessageVo.SysMessageList> queryMessageCode(SysMessageVo.SysMessageQuery query);
+	R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage>> queryMessageCode(SysMessageVo.SysMessageQuery query);
+
+
+    PageInfo<SysMessageWrapper.Message> queryPage(SysMessageQueryInfo queryInfo);
 }

+ 46 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CbsUserServiceImpl.java

@@ -0,0 +1,46 @@
+package com.ym.mec.biz.service.impl;
+
+import com.dayaedu.cbs.common.enums.EClientType;
+import com.dayaedu.cbs.openfeign.service.CbsUserService;
+import com.dayaedu.cbs.openfeign.wrapper.user.CbsUserWrapper;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class CbsUserServiceImpl implements CbsUserService {
+
+    @Resource
+    private TeacherDao teacherDao;
+
+    @Override
+    public List<CbsUserWrapper.User> list(CbsUserWrapper.UserQuery query) {
+        if (query == null || CollectionUtils.isEmpty(query.getUserIds())) {
+            return new ArrayList<>();
+        }
+        List<Integer> userIds = new ArrayList<>();
+        for (Long userId : query.getUserIds()) {
+            userIds.add(userId.intValue());
+        }
+        List<SimpleUserDto> userDtoList = teacherDao.getUsersSimpleInfo(userIds);
+        List<CbsUserWrapper.User> result = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(userDtoList)){
+            for (SimpleUserDto simpleUserDto : userDtoList) {
+                CbsUserWrapper.User user = new CbsUserWrapper.User();
+                user.setId(simpleUserDto.getUserId().longValue());
+                user.setUsername(query.getClientType() == null || query.getClientType() == EClientType.STUDENT ?
+                        simpleUserDto.getNickName() : Optional.ofNullable(simpleUserDto.getUserName()).orElse(simpleUserDto.getNickName()));
+                user.setPhone(simpleUserDto.getPhone());
+                result.add(user);
+            }
+        }
+        return result;
+    }
+
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChildrenDayReserveServiceImpl.java

@@ -431,7 +431,7 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
                 sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "6.1考级支付失败");
             }
 
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
                     studentPaymentOrder.getActualAmount(), "6.1考级活动");
             return false;
         }

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java

@@ -968,13 +968,13 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         try{
             Map<Integer, String> userMap = new HashMap<>();
             userMap.put(practiceGroup.getStudentId(), practiceGroup.getStudentId().toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_PAY_PRACTICE_BUY_SUCCESS,
                     userMap, null, 0, null, "STUDENT", groupStartTime, groupEndTime, teacherName, drillTimesOnWeek, firstCourseStartTime);
 //            SysUser student = sysUserFeignService.queryUserById(practiceGroup.getStudentId());
             SysUser student = teacherDao.getUser(practiceGroup.getStudentId());
             Map<Integer, String> userPhoneMap = new HashMap<>();
             userPhoneMap.put(practiceGroup.getStudentId(), student.getPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PAY_PRACTICE_BUY_SUCCESS,
                     userPhoneMap, null, 0, null, "STUDENT", groupStartTime, groupEndTime, teacherName, drillTimesOnWeek, firstCourseStartTime);
 
             String practiceType = "网管课";
@@ -993,12 +993,12 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
 
             Map<Integer, String> teacherMap = new HashMap<>();
             teacherMap.put(practiceGroup.getUserId(), practiceGroup.getUserId().toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_PRACTICE_CREATE,
                     teacherMap, null, 0, null, "TEACHER", teacher.getRealName(),
                     practiceType, practiceGroup.getName());
             Map<Integer, String> teacherPhoneMap = new HashMap<>();
             teacherPhoneMap.put(practiceGroup.getUserId(), teacher.getPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PRACTICE_CREATE,
                     teacherPhoneMap, null, 0, null, "TEACHER", teacher.getRealName(),
                     practiceType, practiceGroup.getName());
         }catch (Exception e){
@@ -1549,12 +1549,12 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
 
             Map<Integer, String> teacherMap = new HashMap<>();
             teacherMap.put(practiceGroupBuyParams.getUserId(), practiceGroupBuyParams.getUserId().toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_PRACTICE_CREATE,
                     teacherMap, null, 0, null, "TEACHER", teacher.getRealName(),
                     practiceType, practiceGroupBuyParams.getName());
             Map<Integer, String> teacherPhoneMap = new HashMap<>();
             teacherPhoneMap.put(practiceGroupBuyParams.getUserId(), teacher.getPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PRACTICE_CREATE,
                     teacherPhoneMap, null, 0, null, "TEACHER", teacher.getRealName(),
                     practiceType, practiceGroupBuyParams.getName());
         }catch (Exception e){

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

@@ -183,7 +183,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 					Map<Integer,String> userMap = new HashMap<>(1);
 					userMap.put(musicGroup.getEducationalTeacherId(),educationPhoneMap.get(musicGroup.getEducationalTeacherId()));
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
-							MessageTypeEnum.SYSTEM_REMIND_EDUCATION_COURSE_TIME,
+							MessageTypeEnum.SMS_SYSTEM_REMIND_EDUCATION_COURSE_TIME,
 							userMap,
 							null,
 							0,
@@ -193,7 +193,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 					Map<Integer,String> userMap1 = new HashMap<>(1);
 					userMap1.put(musicGroup.getEducationalTeacherId(),musicGroup.getEducationalTeacherId().toString());
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-							MessageTypeEnum.SYSTEM_REMIND_EDUCATION_COURSE_TIME,
+							MessageTypeEnum.PUSH_SYSTEM_REMIND_EDUCATION_COURSE_TIME,
 							userMap1,
 							null,
 							0,
@@ -221,7 +221,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 					userMap1.put(studentId,studentId.toString());
 				}
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
-						MessageTypeEnum.STUDENT_MEMBER_RENEW_MESSAGE,
+						MessageTypeEnum.SMS_STUDENT_MEMBER_RENEW_MESSAGE,
 						userMap,
 						null,
 						0,
@@ -229,7 +229,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 						null,memberName,pushMemberRenewAgain);
 
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-						MessageTypeEnum.STUDENT_MEMBER_RENEW_MESSAGE,
+						MessageTypeEnum.PUSH_STUDENT_MEMBER_RENEW_MESSAGE,
 						userMap1,
 						null,
 						0,

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -3314,9 +3314,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 push.put(userId, userId.toString());
                 yimei.put(userId, studentRegistration.getParentsPhone());
                 // 发送续费结果通知
-                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_MUSIC_GROUP_RENEW_SUCCESS, push, null, 0, "1", "STUDENT",
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_SUCCESS, push, null, 0, "1", "STUDENT",
                         studentRegistration.getName(), studentPaymentOrder.getActualAmount());
-                sysMessageService.batchSendMessage(MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_MUSIC_GROUP_RENEW_SUCCESS, yimei, null, 0, "1", "",
+                sysMessageService.batchSendMessage(MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, yimei, null, 0, "1", "",
                         studentRegistration.getName(), studentPaymentOrder.getActualAmount());
             }
             return true;

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -1611,12 +1611,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         Map<Integer, String> teacherMap = new HashMap<>();
         teacherMap.put(practiceGroup.getUserId(), practiceGroup.getUserId().toString());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_PRACTICE_CREATE,
                 teacherMap, null, 0, null, "TEACHER",
                 teacher.getRealName(), practiceType, practiceGroup.getName());
         Map<Integer, String> teacherPhoneMap = new HashMap<>();
         teacherPhoneMap.put(practiceGroup.getUserId(), teacher.getPhone());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PRACTICE_CREATE,
                 teacherPhoneMap, null, 0, null, "TEACHER",
                 teacher.getRealName(), practiceType, practiceGroup.getName());
 
@@ -3250,12 +3250,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             if (drillTimesOnWeek != null) {
                 Map<Integer, String> userMap = new HashMap<>();
                 userMap.put(practiceGroup.getStudentId(), practiceGroup.getStudentId().toString());
-                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS,
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_PAY_PRACTICE_BUY_SUCCESS,
                         userMap, null, 0, null, "STUDENT", groupStartTime, groupEndTime, teacherName, drillTimesOnWeek, firstCourseStartTime);
                 SysUser student = teacherDao.getUser(practiceGroup.getStudentId());
                 Map<Integer, String> userPhoneMap = new HashMap<>();
                 userPhoneMap.put(practiceGroup.getStudentId(), student.getPhone());
-                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS,
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PAY_PRACTICE_BUY_SUCCESS,
                         userPhoneMap, null, 0, null, "STUDENT", groupStartTime, groupEndTime, teacherName, drillTimesOnWeek, firstCourseStartTime);
             }
 
@@ -3275,12 +3275,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
             Map<Integer, String> teacherMap = new HashMap<>();
             teacherMap.put(practiceGroup.getUserId(), practiceGroup.getUserId().toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_PRACTICE_CREATE,
                     teacherMap, null, 0, null, "TEACHER",
                     teacher.getRealName(), practiceType, practiceGroup.getName());
             Map<Integer, String> teacherPhoneMap = new HashMap<>();
             teacherPhoneMap.put(practiceGroup.getUserId(), teacher.getPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PUSH_PRACTICE_CREATE,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.TEACHER_SMS_PRACTICE_CREATE,
                     teacherPhoneMap, null, 0, null, "TEACHER",
                     teacher.getRealName(), practiceType, practiceGroup.getName());
         } catch (Exception e) {
@@ -3740,14 +3740,14 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             if (pushType.equals("ALL") || pushType.equals("JIGUANG")) {
                 Map<Integer, String> userMap = new HashMap<>();
                 userMap.put(userFreePracticeGroup.getStudentId(), userFreePracticeGroup.getStudentId().toString());
-                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT,
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_PRACTICE_COMPLETED_STUDY_REPORT,
                         userMap, null, 0, pushUrl.insert(0, "5?").toString(), "STUDENT", pushUrl.toString());
             }
 
             if (pushType.equals("ALL") || pushType.equals("SMS")) {
                 Map<Integer, String> userPhoneMap = new HashMap<>();
                 userPhoneMap.put(userFreePracticeGroup.getStudentId(), student.getPhone());
-                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_PRACTICE_COMPLETED_STUDY_REPORT,
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PRACTICE_COMPLETED_STUDY_REPORT,
                         userPhoneMap, null, 0, null, "STUDENT", HttpUtil.getSortUrl(smsUrl.toString()));
             }
             report.setIsPushed(1);

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

@@ -174,11 +174,11 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
             String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
             userMap.put(userId, userId.toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_REPLACEMENT_PAY,
                     userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", goods.getBrand(), "");
 
             userPhoneMap.put(replacementInstrumentActivity.getUserId(), replacementInstrumentActivity.getMobileNo());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_REPLACEMENT_PAY,
                     userPhoneMap, null, 0, null, null, goods.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
         return replacementInstrumentActivity;
@@ -258,11 +258,11 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
             String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
             userMap.put(userId, userId.toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_REPLACEMENT_PAY,
                     userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", goods.getBrand(), "");
 
             userPhoneMap.put(replacementInstrumentActivity.getUserId(), replacementInstrumentActivity.getMobileNo());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_REPLACEMENT_PAY,
                     userPhoneMap, null, 0, null, null, goods.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
         return replacementInstrumentActivity;
@@ -506,7 +506,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             }
             sysCouponCodeService.quit(studentPaymentOrder.getCouponCodeId());
 
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
                     studentPaymentOrder.getActualAmount(), "乐器置换");
             return false;
         }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentCooperationServiceImpl.java

@@ -70,11 +70,11 @@ public class ReplacementInstrumentCooperationServiceImpl extends BaseServiceImpl
             Map<Integer, String> userMap = new HashMap<>();
             Map<Integer, String> userPhoneMap = new HashMap<>();
             userMap.put(pushUser.getUserId(), pushUser.getUserId().toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_REPLACEMENT_PAY,
                     userMap, null, 0, "5?" + pushUrl + pushUser.getId(), "STUDENT", pushUser.getBrand(), "");
 
             userPhoneMap.put(pushUser.getUserId(), pushUser.getMobileNo());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_REPLACEMENT_PAY,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_REPLACEMENT_PAY,
                     userPhoneMap, null, 0, null, null, pushUser.getBrand(), HttpUtil.getSortUrl(pushUrl + pushUser.getId()));
         }
 

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SmsCodeServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 import java.util.List;
 
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,9 +40,9 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 	}
 
 	@Override
-	public boolean sendValidCode(String mobile) {
+	public boolean sendValidCode(String mobile,String jpushType) {
 		SysUser sysUser = sysUserFeignService.queryUserByMobile(mobile);
-		Integer userId = null;
+		Integer userId = -1;
 		if (sysUser != null) {
 			if(sysUser.getLockFlag() == 9 || sysUser.getLockFlag() == 1 || sysUser.getDelFlag() == YesOrNoEnum.YES) {
 				throw new BizException("账号已冻结,请联系管理员");
@@ -54,11 +55,11 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 			times = Integer.parseInt(sysConfig.getParanValue());
 		}
 		// 十分钟内只能发3条
-		List<SysMessage> list = sysMessageService.queryUserInRecentMinList(mobile, 10, MessageSendMode.SMS);
+		List<CbsMessageWrapper.SysMessage> list = sysMessageService.queryUserInRecentMinList(mobile, 10, MessageSendMode.SMS);
 		if (list != null && list.size() >= times) {
 			throw new BizException("对不起,您发送太频繁请稍后重试!");
 		}
-		sysMessageService.sendSecurityCode(MessageSenderPluginContext.MessageSender.AWSMS, userId, MessageTypeEnum.SMS_VERIFY_CODE_LOGIN, mobile);
+		sysMessageService.sendSecurityCode(MessageSenderPluginContext.MessageSender.AWSMS, userId, MessageTypeEnum.SMS_VERIFY_CODE_LOGIN, mobile,jpushType);
 		return true;
 	}
 

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

@@ -157,9 +157,9 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
                 sysUserCashAccountDetailService.insert(paymentDetail);
             }
 
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1", "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1", "STUDENT",
                     studentPaymentOrder.getActualAmount(), info.getTitle());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1", "",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1", "",
                     studentPaymentOrder.getActualAmount(), info.getTitle());
             return true;
         }
@@ -173,9 +173,9 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
                 sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, info.getTitle() + "支付失败");
             }
             sysCouponCodeService.quit(studentPaymentOrder.getCouponCodeId());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, "", "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, "", "STUDENT",
                     studentPaymentOrder.getActualAmount(), info.getTitle());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, yimei, null, 0, "", "",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_SPORADIC_PAYMENT_FAILED, yimei, null, 0, "", "",
                     studentPaymentOrder.getActualAmount(), info.getTitle());
             return false;
         }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentInstrumentServiceImpl.java

@@ -295,7 +295,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
                 sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "乐保购买支付失败");
             }
             sysCouponCodeService.quit(studentPaymentOrder.getCouponCodeId());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
                     studentPaymentOrder.getActualAmount(), "乐保购买");
             return false;
         }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1349,13 +1349,13 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 Map<Integer, String> map = new HashMap<>(1);
                 map.put(studentPaymentOrder.getUserId(), studentRegistration.getParentsPhone());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
-                        MessageTypeEnum.STUDENT_SMS_PUSH_PAYMENT_SUCCESS, map, null, 0, null, "",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map, null, 0, null, "",
                         studentRegistration.getName(), studentPaymentOrder.getActualAmount());
                 //push
                 Map<Integer, String> map1 = new HashMap<>(1);
                 map1.put(studentPaymentOrder.getUserId(), studentPaymentOrder.getUserId().toString());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-                        MessageTypeEnum.STUDENT_SMS_PUSH_PAYMENT_SUCCESS, map1, null, 0, null, "STUDENT",
+                        MessageTypeEnum.STUDENT_PUSH_PAYMENT_SUCCESS, map1, null, 0, null, "STUDENT",
                         studentRegistration.getName(), studentPaymentOrder.getActualAmount());
             }
             try {

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -1263,7 +1263,7 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
                 sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "乐器维修支付失败");
             }
             sysCouponCodeService.quit(studentPaymentOrder.getCouponCodeId());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
                     studentPaymentOrder.getActualAmount(), "乐器维修");
             return false;
         }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -534,7 +534,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
                 userMap1.put(studentId,studentId.toString());
             }
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
-                    MessageTypeEnum.PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE,
+                    MessageTypeEnum.SMS_EXPERIENCE_MEMBERSHIP_MESSAGE,
                     userMap,
                     null,
                     0,

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -990,7 +990,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                 sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "声部更改支付失败");
             }
             sysCouponCodeService.quit(studentPaymentOrder.getCouponCodeId());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_SPORADIC_PAYMENT_FAILED, map, null, 0, null, "STUDENT",
                     studentPaymentOrder.getActualAmount(), "声部更换");
             return false;
         }

+ 348 - 387
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -1,22 +1,32 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dayaedu.cbs.common.enums.EAppKey;
+import com.dayaedu.cbs.common.enums.EClientType;
+import com.dayaedu.cbs.common.enums.message.EMessageSendMode;
+import com.dayaedu.cbs.common.enums.message.ESendStatus;
+import com.dayaedu.cbs.openfeign.client.MessageFeignClientService;
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
+import com.microsvc.toolkit.common.response.template.R;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.SysMessageDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.WaitSendMessageDao;
-import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
-import com.ym.mec.biz.dal.dto.SysMessageDto;
 import com.ym.mec.biz.dal.dto.SysMessageVo;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
+import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.entity.SysMessageConfig;
+import com.ym.mec.biz.dal.entity.WaitSendMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.SendStatusEnum;
+import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
+import com.ym.mec.biz.dal.wrapper.SysMessageWrapper;
 import com.ym.mec.biz.service.SysMessageConfigService;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImMessageDto;
 import com.ym.mec.common.entity.ImPrivateMessage;
@@ -24,38 +34,33 @@ import com.ym.mec.common.entity.ImSendMessageUserInfo;
 import com.ym.mec.common.entity.ImTxtMessage;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
-import com.ym.mec.common.page.WrapperUtil;
 import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.im.ImFeignService;
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
-import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.string.MessageFormatter;
 import net.coobird.thumbnailator.Thumbnails;
 import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.util.*;
-import java.util.Map.Entry;
 import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
-import static com.ym.mec.biz.dal.enums.MessageTypeEnum.OA_NOTICE_PUSH;
 import static com.ym.mec.biz.dal.enums.MessageTypeEnum.STUDENT_PUSH_VIP_BUY;
 
 @Service
@@ -63,32 +68,30 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	private final static Logger LOGGER = LoggerFactory.getLogger(SysMessageServiceImpl.class);
 
-	@Autowired
+	@Resource
 	private SysMessageDao sysMessageDao;
-	@Autowired
+	@Resource
 	private SysMessageConfigService sysMessageConfigService;
-	@Autowired
-	private MessageSenderPluginContext messageSenderPluginContext;
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
-	@Autowired
+	@Resource
+	private SysUserService sysUserService;
+	@Resource
 	private TeacherDao teacherDao;
-	@Autowired
+	@Resource
 	private WaitSendMessageDao waitSendMessageDao;
-	@Autowired
+	@Resource
 	private SysConfigDao sysConfigDao;
-	@Autowired
+	@Resource
 	private ImFeignService imFeignService;
-	@Autowired
+	@Resource
 	private RedisCache<String, Object> redisCache;
-	@Autowired
-	private SysEmailServiceImpl sysEmailService;
+	@Resource
+	private MessageFeignClientService messageFeignClientService;
 	// 验证码有效期
 	public static final int CODE_EXPIRE = 60 * 10;
 	// 发送验证码的间隔时间
 	public static final int CODE_INTERVAL_TIME = 60;
 
-	private final int DEFAULT_CODE = 888888;
+	private final int DEFAULT_CODE = 666666;
 
 	@Value("${message.debugMode}")
 	private boolean debugMode;
@@ -98,108 +101,147 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return sysMessageDao;
 	}
 
-	@Override
-	public PageInfo<SysMessageDto> queryListPage(QueryInfo queryInfo) {
-		PageInfo<SysMessageDto> pageInfo = new PageInfo<SysMessageDto>(queryInfo.getPage(), queryInfo.getRows());
-		Map<String, Object> params = new HashMap<String, Object>();
-		MapUtil.populateMap(params, queryInfo);
-
-		List<SysMessageDto> dataList = null;
-		int count = this.findCount(params);
-		if (count > 0) {
-			pageInfo.setTotal(count);
-			params.put("offset", pageInfo.getOffset());
-			dataList = sysMessageDao.queryListPage(params);
-		}
-		if (count == 0) {
-			dataList = new ArrayList<SysMessageDto>();
-		}
-		pageInfo.setRows(dataList);
-		return pageInfo;
-	}
-
-	/**
-	 * 添加消息
-	 * @param subject 消息主题
-	 * @param content 消息内容
-	 * @param receivers 接收人,多个人用逗号分开
-	 * @param triggerTime 触发时间
-	 * @param mode 消息的发送模式
-	 * @param status 消息的当前状态
-	 * @param errorMsg 错误消息
-	 * @param readStatus 阅读状态
-	 * @param memo 备注
-	 * @param group 消息组
-	 * @return
-	 */
-	private int addMessage(Integer receiverTenantId, Map<Integer, String> receivers, String subject, String content, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
-			String errorMsg, Integer readStatus, String memo, String group,String jpushType) {
-		return addMessage(receiverTenantId,receivers,subject,content,triggerTime,mode,status,errorMsg,readStatus,memo,group,jpushType,null);
-	}
 
 
     /**
-     * 添加消息
-     * @param subject 消息主题
-     * @param content 消息内容
-     * @param receivers 接收人,多个人用逗号分开
-     * @param triggerTime 触发时间
-     * @param mode 消息的发送模式
-     * @param status 消息的当前状态
-     * @param errorMsg 错误消息
-     * @param readStatus 阅读状态
-     * @param memo 备注
-     * @param group 消息组
-     * @return
+     * 分页查询
+     * @param page IPage<SysMessageWrapper.SysMessageList>
+     * @param query SysMessageWrapper.SysMessageQuery
+     * @return IPage<SysMessageWrapper.SysMessage>
      */
-    private int addMessage(Integer receiverTenantId, Map<Integer, String> receivers, String subject, String content, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
-                           String errorMsg, Integer readStatus, String memo, String group,String jpushType,Integer messageConfigId) {
-        SysMessage message = null;
-        Date date = new Date();
-
-        List<SysMessage> messages = new ArrayList<>();
-
-        Integer userId = null;
-        String receiver;
-        for (Entry<Integer, String> entry : receivers.entrySet()) {
-            userId = entry.getKey();
-            receiver = entry.getValue();
-
-            message = new SysMessage();
-            if (userId == null) {
-                SysUser user = sysUserFeignService.queryUserByMobile(receiver);
-                if (user != null) {
-                    userId = user.getId();
-                }
+    @Override
+    public PageInfo<SysMessageWrapper.Message> queryPage(SysMessageQueryInfo query){
+
+        CbsMessageWrapper.SysMessageQuery cbsQuery = getSysMessageQuery(query);
+
+        PageInfo<SysMessageWrapper.Message> pageInfo = new PageInfo<>(query.getPage(), query.getRows());
+
+        cbsQuery.setPage(query.getPage());
+        cbsQuery.setRows(query.getRows());
+        com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage> sysMessagePageInfo = messageFeignClientService
+            .sysMessagePage(cbsQuery).feignData();
+        List<CbsMessageWrapper.SysMessage> rows = sysMessagePageInfo.getRows();
+        if (CollectionUtils.isEmpty(rows)) {
+            return pageInfo;
+        }
+        List<SysMessage> sysMessages = rows.stream().map(this::convert).collect(Collectors.toList());
+        pageInfo.setRows(JSON.parseArray(JSON.toJSONString(sysMessages), SysMessageWrapper.Message.class));
+        pageInfo.setTotal(sysMessagePageInfo.getTotal());
+        return pageInfo;
+    }
+
+    private SysMessage convert(CbsMessageWrapper.SysMessage sysMessage) {
+        SysMessage message = new SysMessage();
+        message.setId(sysMessage.getId().toString());
+        if (sysMessage.getUserId() != null) {
+            message.setUserId(sysMessage.getUserId().intValue());
+        }
+        if (sysMessage.getMessageConfigId() != null) {
+            message.setMessageConfigId(sysMessage.getMessageConfigId().intValue());
+        }
+        message.setTitle(sysMessage.getTitle());
+        message.setContent(sysMessage.getContent());
+        message.setType(MessageSendMode.valueOf(sysMessage.getSendMode() !=null?sysMessage.getSendMode().name():"PUSH"));
+        message.setStatus(SendStatusEnum.valueOf(Optional.ofNullable(sysMessage.getStatus()).map(o->o.name()).orElse(SendStatusEnum.FAILED.name())));
+        message.setReceiver(sysMessage.getReceiver());
+        message.setSendTime(sysMessage.getSendTime());
+        message.setErrorMsg(sysMessage.getErrorMsg());
+        message.setMemo(sysMessage.getMemo());
+        message.setReadStatus(sysMessage.getReadStatus()?1:0);
+        message.setGroup(sysMessage.getGroup());
+        message.setCreateOn(sysMessage.getCreateTime());
+        message.setModifyOn(sysMessage.getUpdateTime());
+        message.setJpushType(sysMessage.getSendMode().name());
+        return message;
+    }
+
+    private CbsMessageWrapper.SysMessageQuery getSysMessageQuery(SysMessageQueryInfo query) {
+        CbsMessageWrapper.SysMessageQuery cbsQuery = new CbsMessageWrapper.SysMessageQuery();
+        if (query.getUserId() != null) {
+            cbsQuery.setUserId(query.getUserId().longValue());
+        }
+        cbsQuery.setAppKey(EAppKey.GYM);
+        if (query.getJpushType() !=null) {
+            cbsQuery.setClientType(getClientType(query.getJpushType()));
+        }
+        if (query.getStatus() !=null) {
+            switch (query.getStatus()) {
+                case 0:
+                    cbsQuery.setStatus(ESendStatus.WAIT);
+                    break;
+                case 1:
+                    cbsQuery.setStatus(ESendStatus.SENDING);
+                    break;
+                case 2:
+                    cbsQuery.setStatus(ESendStatus.SUCCESSED);
+                    break;
             }
-            message.setTenantId(receiverTenantId);
-            message.setUserId(userId);
-            message.setContent(content);
-            message.setCreateOn(date);
-            message.setModifyOn(date);
-            message.setReceiver(receiver);
-            if (triggerTime == null) {
-                triggerTime = date;
+        }
+        cbsQuery.setTitle(query.getTitle());
+        if (query.getType() != null) {
+            switch (query.getType()) {
+                case 1:
+                    cbsQuery.setSendMode(EMessageSendMode.SMS);
+                    break;
+                case 2:
+                    cbsQuery.setSendMode(EMessageSendMode.EMAIL);
+                    break;
+                case 3:
+                    cbsQuery.setSendMode(EMessageSendMode.PUSH);
+                    break;
             }
-            message.setMessageConfigId(messageConfigId);
-            message.setSendTime(triggerTime);
-            message.setTitle(subject);
-            message.setStatus(status);
-            message.setType(mode);
-            message.setErrorMsg(errorMsg);
-            message.setReadStatus(readStatus);
-            message.setMemo(memo);
-            message.setGroup(group);
-            message.setJpushType(jpushType);
-            messages.add(message);
         }
-
-        return sysMessageDao.batchInsert(messages);
+        if (StringUtils.isNotBlank(query.getGroup())) {
+            cbsQuery.setGroup(query.getGroup());
+        }
+        if (query.getReadStatus() != null) {
+            cbsQuery.setReadStatus(query.getReadStatus() == 1);
+        }
+        return cbsQuery;
     }
 
 	@Override
-	public int updateMessage(SysMessage message) {
-		return sysMessageDao.update(message);
+	public R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage>> queryListPage(SysMessageQueryInfo queryInfo) {
+		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
+		query.setPage(queryInfo.getPage());
+		query.setRows(queryInfo.getRows());
+		query.setUserId(queryInfo.getUserId().longValue());
+//		query.setStatus(ESendStatus.SUCCESSED);
+		query.setAppKey(EAppKey.GYM);
+		query.setGroup(queryInfo.getGroup());
+		query.setSendMode(getMessageSendMode(queryInfo.getType()));
+		query.setTitle(queryInfo.getTitle());
+		query.setClientType(getClientType(queryInfo.getJpushType()));
+		query.setReadStatus(queryInfo.getReadStatus() == null?null:queryInfo.getReadStatus()==1);
+		return messageFeignClientService.sysMessagePage(query);
+	}
+
+	private EMessageSendMode getMessageSendMode(Integer type){
+		if(type == null){
+			return null;
+		}else if(type == 1){
+			return EMessageSendMode.SMS;
+		}else if(type == 2){
+			return EMessageSendMode.EMAIL;
+		}else if(type == 3){
+			return EMessageSendMode.PUSH;
+		}else {
+			return EMessageSendMode.SEO;
+		}
+	}
+
+	public EClientType getClientType(String jpushType){
+		if(StringUtils.isEmpty(jpushType)){
+			return null;
+		}else if(StringUtils.equals(jpushType, "STUDENT")){
+			return EClientType.STUDENT;
+		}else if(StringUtils.equals(jpushType, "TEACHER")){
+			return EClientType.TEACHER;
+		}else if(StringUtils.equals(jpushType, "SCHOOL")){
+			return EClientType.SCHOOL;
+		}else {
+			return EClientType.BACKEND;
+		}
 	}
 
 	@Override
@@ -207,39 +249,38 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if(userIds != null){
 			userIds.removeAll(Collections.singleton(null));
 		}
-		if (userIds == null || userIds.size() == 0) {
+		if (CollectionUtils.isEmpty(userIds)) {
 			LOGGER.error("接收地址不能为空");
 			return false;
 		}
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(messageType);
-		if (messageConfig == null) {
-			throw new BizException("消息类型错误");
-		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
-			return true;
-		}
-		Date date = new Date();
-		SendStatusEnum status = SendStatusEnum.SUCCESSED;
-		String content = MessageFormatter.arrayFormat(messageConfig.getContent(), args);
-		SysMessage message = null;
-
-		List<SysMessage> messages = new ArrayList<>();
-		for (Integer userId : userIds) {
-			message = new SysMessage();
-			message.setUserId(userId);
-			message.setContent(content);
-			message.setCreateOn(date);
-			message.setModifyOn(date);
-			message.setReceiver(userId.toString());
-			message.setSendTime(date);
-			message.setStatus(status);
-			message.setType(MessageSendMode.SEO);
-			message.setTitle(messageConfig.getDescription());
-			message.setReadStatus(0);
-			message.setMemo(memo);
-			message.setGroup(messageConfig.getGroup());
-			messages.add(message);
+		List<SimpleUserDto> userDtoList = teacherDao.getUsersSimpleInfo(new ArrayList<>(userIds));
+		List<CbsMessageWrapper.MessageParam> messageParams = new ArrayList<>();
+		for (SimpleUserDto user : userDtoList) {
+			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
+			messageParam.setUserId(user.getUserId().longValue());
+			messageParam.setAppKey(EAppKey.GYM);
+			messageParam.setClientType(EClientType.BACKEND);
+			messageParam.setClientId(messageParam.getClientType());
+			messageParam.setType(messageType.getCode());
+			Map<Long, String> params = new HashMap<>(1);
+			params.put(user.getUserId().longValue(), user.getPhone());
+			messageParam.setReceivers(params);
+			messageParam.setRealSend(!debugMode);
+			messageParam.setUrl(memo);
+			if(args != null && args.length > 0){
+				String[] argsStr = new String[args.length];
+				for (int i = 0; i < args.length; i++) {
+					if (args[i]!=null){
+						argsStr[i] = args[i].toString();
+					}else {
+						argsStr[i] = "";
+					}
+				}
+				messageParam.setContentArgs(argsStr);
+			}
+			messageParams.add(messageParam);
 		}
-		sysMessageDao.batchInsert(messages);
+		messageFeignClientService.sysMessageBatchSendMessage(messageParams);
 		return true;
 	}
 
@@ -425,13 +466,10 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	public void sendPrivateMessage(String studentId, String content, String extra) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if(sysUser == null){
-			throw new BizException("用户信息获取失败");
-		}
+		Integer userId = sysUserService.getUserId();
 		//ExecutorService executor = Executors.newCachedThreadPool();
 		CompletableFuture.runAsync(()->{
-			imFeignService.privateSend(getImGroupMessage("RC:TxtMsg", sysUser.getId().toString(),
+			imFeignService.privateSend(getImGroupMessage("RC:TxtMsg", userId.toString(),
 				studentId.split(","), content, extra));
 		});
 		//executor.shutdown();
@@ -466,256 +504,169 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
     @Override
-    public PageInfo<SysMessageVo.SysMessageList> queryMessageCode(SysMessageVo.SysMessageQuery queryInfo) {
-		PageInfo<SysMessageVo.SysMessageList> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
-		Map<String, Object> params = new HashMap<String, Object>();
-		MapUtil.populateMap(params, queryInfo);
-
-		List<SysMessageVo.SysMessageList> dataList = null;
-		int count = sysMessageDao.countMessageCode(params);
-		if (count > 0) {
-			pageInfo.setTotal(count);
-			params.put("offset", pageInfo.getOffset());
-			dataList = sysMessageDao.queryMessageCode(params);
-		}
-		if (count == 0) {
-			dataList = new ArrayList<>();
-		}
-		pageInfo.setRows(dataList);
-		return pageInfo;
+    public R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage>> queryMessageCode(SysMessageVo.SysMessageQuery queryInfo) {
+		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
+		query.setPage(queryInfo.getPage());
+		query.setRows(queryInfo.getRows());
+//		query.setStatus(ESendStatus.SUCCESSED);
+		query.setAppKey(EAppKey.GYM);
+		query.setTitle(queryInfo.getTitle());
+		query.setSendMode(EMessageSendMode.SMS);
+		query.setSendTimeStart(queryInfo.getSendTime() == null?null:DateUtil.stringToDate(queryInfo.getSendTime()+" 00:00:00"));
+		return messageFeignClientService.sysMessagePage(query);
 	}
 
     @Override
-	public void batchSendMessage(Integer senderTenantId, MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
-			String url,String jpushType, Object... args) {
+	public void batchSendMessage(Integer senderTenantId, MessageSender messageSender, MessageTypeEnum type, Map<Integer,String> receivers, Date triggerTime, Integer readStatus,
+								 String url, String jpushType, Object... args) {
 		LOGGER.info("batchSendMessage tenantId {} msgSender {}, type {}, receivers {} ", senderTenantId, messageSender, type, receivers);
-		if (receivers == null || receivers.size() == 0) {
+		if (receivers == null || receivers.isEmpty()) {
 			LOGGER.error("接收地址不能为空");
 			return;
 		}
-		Integer userId = receivers.keySet().iterator().next();
-		Integer receiverTenantId = 0;
-		SimpleUserDto simpleUserDto = teacherDao.getSimpleUser(userId);
-		if(simpleUserDto != null){
-			receiverTenantId = simpleUserDto.getTenantId();
-		}
-
-		// email data from database load, 使用接收者 tenantId, 假设发送者和接收者为同一机构
-		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
-			LOGGER.info("batch 发送邮件 {} ", receiverTenantId);
-			loadEmailInfo(senderTenantId);
-			// debugMode = false;
-		}
-		if(StringUtils.isNotEmpty(jpushType) && jpushType.equals("STUDENT")){
+		if("STUDENT".equals(jpushType) && type != STUDENT_PUSH_VIP_BUY){
 			//如果不是缴费信息
-			if(type != STUDENT_PUSH_VIP_BUY){
-				int hour = DateUtil.getHour(new Date());
-				//如果当前时间在22点之后
-				String messageTime = sysConfigDao.findConfigValue("wait_send_message_time");
-				if(StringUtils.isEmpty(messageTime)){
-					messageTime = "22";
-				}
-				if(messageTime.contains(":")){
-					messageTime = messageTime.substring(0,messageTime.indexOf(":"));
-				}
-				if(hour > Integer.parseInt(messageTime)-1){
-					//保存推送信息
-					WaitSendMessage waitSendMessage = new WaitSendMessage();
-					if(args != null){
-						waitSendMessage.setAgrs(JSON.toJSONString(args));
-					}
-					waitSendMessage.setJpushType(jpushType);
-					waitSendMessage.setMessageSender(messageSender.name());
-					waitSendMessage.setMessageType(type.name());
-					waitSendMessage.setReceivers(JSON.toJSONString(receivers));
-					waitSendMessage.setUrl(url);
-					waitSendMessageDao.insert(waitSendMessage);
-					return;
+			int hour = DateUtil.getHour(new Date());
+			//如果当前时间在22点之后
+			String messageTime = sysConfigDao.findConfigValue("wait_send_message_time");
+			if(StringUtils.isEmpty(messageTime)){
+				messageTime = "22";
+			}
+			if(messageTime.contains(":")){
+				messageTime = messageTime.substring(0,messageTime.indexOf(":"));
+			}
+			if(hour > Integer.parseInt(messageTime)-1){
+				//保存推送信息
+				WaitSendMessage waitSendMessage = new WaitSendMessage();
+				if(args != null){
+					waitSendMessage.setAgrs(JSON.toJSONString(args));
 				}
+				waitSendMessage.setJpushType(jpushType);
+				waitSendMessage.setMessageSender(messageSender.name());
+				waitSendMessage.setMessageType(type.name());
+				waitSendMessage.setReceivers(JSON.toJSONString(receivers));
+				waitSendMessage.setUrl(url);
+				waitSendMessageDao.insert(waitSendMessage);
+				return;
 			}
 		}
-		String[] tos = receivers.values().toArray(new String[receivers.size()]);
-		LOGGER.error("batch 接收人 {} ", tos  );
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
-		if (messageConfig == null) {
-			throw new BizException("消息类型错误");
-		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
-			LOGGER.error("batch 发送标志为空" );
-			return;
-		}
-		Date date = new Date();
-		SendStatusEnum status = SendStatusEnum.WAIT;
-		String errorMsg = null;
-		// 立即发送
-		if (triggerTime == null || date.after(triggerTime)) {
-			status = SendStatusEnum.SENDING;
-			try {
-				if (debugMode == true || messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
-								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null)) {
-					status = SendStatusEnum.SUCCESSED;
-				} else {
-					status = SendStatusEnum.FAILED;
+		if(StringUtils.isEmpty(jpushType)){
+			jpushType = "STUDENT";
+		}
+		// 处理注册验证码,没有用户ID的情况导致没有发送短息
+		List<CbsMessageWrapper.MessageParam> messageParams = new ArrayList<>();
+		List<SimpleUserDto> userDtoList = teacherDao.getUsersSimpleInfo(new ArrayList<>(receivers.keySet()));
+		Map<Integer, SimpleUserDto> userMap = userDtoList.stream().collect(Collectors.toMap(SimpleUserDto::getUserId, Function.identity()));
+		for (Map.Entry<Integer, String> receive : receivers.entrySet()) {
+			Long userId = Long.valueOf(Optional.ofNullable(receive.getKey()).orElse(-1));
+			SimpleUserDto user = userMap.getOrDefault(userId.intValue(), new SimpleUserDto());
+			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
+			messageParam.setUserId(userId);
+			messageParam.setAppKey(EAppKey.GYM);
+			messageParam.setClientType(getClientType(jpushType));
+			messageParam.setClientId(getClientType(jpushType));
+			messageParam.setType(type.getCode());
+			messageParam.setUrl(url);
+			Map<Long, String> params = new HashMap<>();
+			if(messageSender == MessageSender.EMAIL){
+				//如果是极光推送,没有用户ID的情况下,使用手机号
+				params.put(userId, Optional.ofNullable(receive.getValue()).orElse(user.getPhone()));
+			}else {
+				params.put(userId, Optional.ofNullable(user.getPhone()).orElse(receive.getValue()));
+			}
+			messageParam.setReceivers(params);
+			messageParam.setRealSend(!debugMode);
+			if(args != null && args.length > 0){
+				String[] argsStr = new String[args.length];
+				for (int i = 0; i < args.length; i++) {
+					if (args[i]!=null){
+						argsStr[i] = args[i].toString();
+					}else {
+						argsStr[i] = "";
+					}
 				}
-			} catch (Exception e) {
-				status = SendStatusEnum.FAILED;
-				errorMsg = e.getMessage();
-				LOGGER.warn("消息发送失败", e);
+				messageParam.setContentArgs(argsStr);
 			}
+			messageParams.add(messageParam);
 		}
-		MessageSendMode mode = MessageSendMode.SMS;
-		if (messageSender.getSendMode().equals("PUSH")) {
-			mode = MessageSendMode.PUSH;
-		} else if (messageSender.getSendMode().equals("EMAIL")) {
-			mode = MessageSendMode.EMAIL;
-		}
-		// oa 待审批只推送 不记录表
-		if (type == OA_NOTICE_PUSH) {
-			return;
-		}
-		addMessage(receiverTenantId, receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
-				url, messageConfig.getGroup(),jpushType,messageConfig.getId());
+		messageFeignClientService.sysMessageBatchSendMessage(messageParams);
 	}
 
     @Override
-	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
+	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer,String> receivers, Date triggerTime, Integer readStatus,
 			String url,String jpushType, Object... args) {
 		batchSendMessage(TenantContextHolder.getTenantId(), messageSender, type, receivers, triggerTime, readStatus, url, jpushType, args);
 	}
 
 
 	@Override
-	public void batchPushMessage(MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
+	public void batchPushMessage(MessageTypeEnum type, Map<Integer,String> receivers, Date triggerTime, Integer readStatus,
 			String url,String jpushType,String sound,String channelId, Object... args) {
-		if (receivers == null || receivers.size() == 0) {
-			throw new BizException("接收地址不能为空");
-		}
-		SimpleUserDto simpleUserDto = teacherDao.getSimpleUser(receivers.keySet().iterator().next());
-		Integer receiverTenantId = simpleUserDto.getTenantId();
-		
-		if(StringUtils.isNotEmpty(jpushType) && jpushType == "STUDENT"){
-			//如果不是缴费信息
-			if(type != STUDENT_PUSH_VIP_BUY){
-				int hour = DateUtil.getHour(new Date());
-				//如果当前时间在22点之后
-				String messageTime = sysConfigDao.findConfigValue("wait_send_message_time");
-				if(StringUtils.isEmpty(messageTime)){
-					messageTime = "22";
-				}
-				if(messageTime.contains(":")){
-					messageTime = messageTime.substring(0,messageTime.indexOf(":"));
-				}
-				if(hour > Integer.parseInt(messageTime)-1){
-					//保存推送信息
-					WaitSendMessage waitSendMessage = new WaitSendMessage();
-					if(args != null){
-						waitSendMessage.setAgrs(JSON.toJSONString(args));
-					}
-					waitSendMessage.setJpushType(jpushType);
-					waitSendMessage.setMessageSender(MessageSender.JIGUANG.name());
-					waitSendMessage.setMessageType(type.name());
-					waitSendMessage.setReceivers(JSON.toJSONString(receivers));
-					waitSendMessage.setUrl(url);
-					waitSendMessageDao.insert(waitSendMessage);
-					return;
-				}
-			}
-		}
-		String[] tos = receivers.values().toArray(new String[receivers.size()]);
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
-		if (messageConfig == null) {
-			throw new BizException("消息类型错误");
-		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
+		if (receivers == null || receivers.isEmpty()) {
+			LOGGER.error("接收地址不能为空");
 			return;
 		}
-		Date date = new Date();
-		SendStatusEnum status = SendStatusEnum.WAIT;
-		String errorMsg = null;
-		// 立即发送
-		if (triggerTime == null || date.after(triggerTime)) {
-			status = SendStatusEnum.SENDING;
-			try {
-				if (debugMode == true || messageSenderPluginContext.batchSend(MessageSender.JIGUANG, messageConfig.getDescription(),
-								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,sound,channelId)) {
-					status = SendStatusEnum.SUCCESSED;
-				} else {
-					status = SendStatusEnum.FAILED;
+		if("STUDENT".equals(jpushType) && type != STUDENT_PUSH_VIP_BUY){
+			int hour = DateUtil.getHour(new Date());
+			//如果当前时间在22点之后
+			String messageTime = sysConfigDao.findConfigValue("wait_send_message_time");
+			if(StringUtils.isEmpty(messageTime)){
+				messageTime = "22";
+			}
+			if(messageTime.contains(":")){
+				messageTime = messageTime.substring(0,messageTime.indexOf(":"));
+			}
+			if(hour > Integer.parseInt(messageTime)-1){
+				//保存推送信息
+				WaitSendMessage waitSendMessage = new WaitSendMessage();
+				if(args != null){
+					waitSendMessage.setAgrs(JSON.toJSONString(args));
 				}
-			} catch (Exception e) {
-				status = SendStatusEnum.FAILED;
-				errorMsg = e.getMessage();
-				LOGGER.warn("消息发送失败", e);
+				waitSendMessage.setJpushType(jpushType);
+				waitSendMessage.setMessageSender(MessageSender.JIGUANG.name());
+				waitSendMessage.setMessageType(type.name());
+				waitSendMessage.setReceivers(JSON.toJSONString(receivers));
+				waitSendMessage.setUrl(url);
+				waitSendMessageDao.insert(waitSendMessage);
+				return;
 			}
 		}
-		addMessage(receiverTenantId, receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, MessageSendMode.PUSH, status, errorMsg, readStatus,
-				url, messageConfig.getGroup(),jpushType);
-	}
-
-	@Override
-	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus, String url, String group,String jpushType) {
-		LOGGER.info("batchSendMessage {}, userId {}, receivers {} ", messageSender, userId, receiver);
-		if (StringUtils.isBlank(receiver)) {
-			throw new BizException("接收地址不能为空");
-		}
-		SimpleUserDto simpleUserDto = teacherDao.getSimpleUser(userId);
-		Integer receiverTenantId = simpleUserDto.getTenantId();
-		
-		// email data from database load
-		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
-			loadEmailInfo(simpleUserDto.getTenantId());
-			debugMode = false;
-			LOGGER.info("batch 发送邮件 {} ", userId);
-		}
-		Date date = new Date();
-		SendStatusEnum status = SendStatusEnum.WAIT;
-		String errorMsg = null;
-		// 立即发送
-		if (triggerTime == null || date.after(triggerTime)) {
-			status = SendStatusEnum.SENDING;
-			try {
-				if (debugMode == true || messageSenderPluginContext.send(messageSender, receiver, title, content, url,jpushType,"default",null)) {
-					status = SendStatusEnum.SUCCESSED;
-				} else {
-					status = SendStatusEnum.FAILED;
+		if(StringUtils.isEmpty(jpushType)){
+			jpushType = "STUDENT";
+		}
+		List<SimpleUserDto> userDtoList = teacherDao.getUsersSimpleInfo(new ArrayList<>(receivers.keySet()));
+		List<CbsMessageWrapper.MessageParam> messageParams = new ArrayList<>();
+		for (SimpleUserDto user : userDtoList) {
+			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
+			messageParam.setUserId(user.getUserId().longValue());
+			messageParam.setAppKey(EAppKey.GYM);
+			messageParam.setClientType(EClientType.valueOf(jpushType));
+			messageParam.setClientId(messageParam.getClientType());
+			messageParam.setType(type.getCode());
+			messageParam.setUrl(url);
+			Map<Long, String> params = new HashMap<>();
+			params.put(user.getUserId().longValue(), user.getPhone());
+			messageParam.setReceivers(params);
+			messageParam.setRealSend(!debugMode);
+			if(args != null && args.length > 0){
+				String[] argsStr = new String[args.length];
+				for (int i = 0; i < args.length; i++) {
+					if (args[i]!=null){
+						argsStr[i] = args[i].toString();
+					}else {
+						argsStr[i] = "";
+					}
 				}
-			} catch (Exception e) {
-				status = SendStatusEnum.FAILED;
-				errorMsg = e.getMessage();
-				LOGGER.warn("消息发送失败", e);
+				messageParam.setContentArgs(argsStr);
 			}
+			messageParams.add(messageParam);
 		}
-		MessageSendMode mode = MessageSendMode.SMS;
-		if (messageSender.getSendMode().equals("PUSH")) {
-			mode = MessageSendMode.PUSH;
-		} else if (messageSender.getSendMode().equals("EMAIL")) {
-			mode = MessageSendMode.EMAIL;
-			LOGGER.info("发送邮件 {} ");
-		}
-		Map<Integer, String> receivers = new HashMap<Integer, String>();
-		receivers.put(userId, receiver);
-		addMessage(receiverTenantId, receivers, title, content, triggerTime, mode, status, errorMsg, readStatus, url, null,jpushType);
+		messageFeignClientService.sysMessageBatchSendMessage(messageParams);
 	}
 
-	private void loadEmailInfo(Integer tenantId) {
-		try {
-			SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", tenantId).queryWrapper());
-			if (email1 == null) {
-				LOGGER.error("未找到邮件配置 tenantId" + tenantId);
-				throw new RuntimeException("未找到邮件配置 tenantId" + tenantId);
-			}
-
-			messageSenderPluginContext.sysEmail.setHostName(email1.getHostName());
-			messageSenderPluginContext.sysEmail.setSmtpPort(email1.getSmtpPort());
-			messageSenderPluginContext.sysEmail.setUserName(email1.getUserName());
-			messageSenderPluginContext.sysEmail.setPassword(email1.getPassword());
-			messageSenderPluginContext.sysEmail.setFromName(email1.getFromName());
-			messageSenderPluginContext.sysEmail.setFrom(email1.getFrom());
-		} catch (Exception e) {
-		    LOGGER.error("设置邮件配置错误: {} " + e);
-		}
-	}
 
 	@Override
-	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageTypeEnum messageType, String receiver) {
+	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageTypeEnum messageType, String receiver,String jpushType) {
 		String key1 = getVerificationCode1CacheKey(messageType, receiver);
 		if (redisCache.get(key1) != null) {
 			throw new BizException("请勿频繁操作,获取验证码间隔时间为60秒");
@@ -723,12 +674,12 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 		String key = getVerificationCodeCacheKey(messageType, receiver);
 		int code = DEFAULT_CODE;
-		if (debugMode == false) {
+		if (!debugMode) {
 			code = getRandomCode(messageType, receiver);
 		}
 		Map<Integer, String> receivers = new HashMap<>(1);
 		receivers.put(userId, receiver);
-		batchSendMessage(messageSender, messageType, receivers, null, 1, "","", code);
+		batchSendMessage(messageSender, messageType, receivers, null, 1, "",jpushType, Integer.toString(code));
 		redisCache.put(key, code + "", CODE_EXPIRE);
 		redisCache.put(key1, code + "", CODE_INTERVAL_TIME);
 		return true;
@@ -736,7 +687,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	public String getSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr) {
-		if (debugMode == true) {
+		if (debugMode) {
 			return DEFAULT_CODE + "";
 		}
 		String key = getVerificationCodeCacheKey(type, mobileNOOrEmailAddr);
@@ -744,22 +695,23 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return object == null ? null : object.toString();
 	}
 
-	@Override
-	public void delSendedVerificationCode(MessageTypeEnum type, String mobileNOOrEmailAddr) {
-		String key = getVerificationCodeCacheKey(type, mobileNOOrEmailAddr);
-		if (StringUtils.isNotBlank(key)) {
-			redisCache.delete(key);
-		}
-	}
 
 	@Override
 	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId, String jpushType, Integer tenantId) {
-		List<Mapper> mappers = sysMessageDao.queryCountOfUnread(type, userId, jpushType, tenantId);
+		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
+		query.setUserId(userId.longValue());
+		query.setClientType(getClientType(jpushType));
+//		query.setStatus(ESendStatus.SUCCESSED);
+		query.setAppKey(EAppKey.GYM);
+		query.setSendMode(getMessageSendMode(type.getCode()));
+		query.setReadStatus(false);
+		List<CbsMessageWrapper.MessageUnreadStat> messageUnreadStats = messageFeignClientService.messageUnreadStat(query).feignData();
+//		List<Mapper> mappers = sysMessageDao.queryCountOfUnread(type, userId, jpushType, tenantId);
 
 		Map<String, Integer> map = new HashMap<String, Integer>();
 
-		for (Mapper mapper : mappers) {
-			map.put(mapper.getKey().toString(), Integer.parseInt(mapper.getValue().toString()));
+		for (CbsMessageWrapper.MessageUnreadStat mapper : messageUnreadStats) {
+			map.put(mapper.getGroup(), mapper.getNumber());
 		}
 
 		return map;
@@ -792,17 +744,26 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	 * @return 修改的条数
 	 */
 	@Override
-	public int updateStatus(Integer userId, int status,String jpushType) {
-		return sysMessageDao.updateStatus(userId, status,jpushType);
+	public Boolean updateStatus(Integer userId, int status,String jpushType) {
+		CbsMessageWrapper.MessageRead messageRead = new CbsMessageWrapper.MessageRead();
+		messageRead.setUserId(userId.longValue());
+		messageRead.setAppKey(EAppKey.GYM);
+		messageRead.setClientType(getClientType(jpushType));
+		return messageFeignClientService.batchSetRead(messageRead).feignData();
 	}
 
 	@Override
-	public int updateOneStatus(Long id, int status) {
-		return sysMessageDao.updateOneStatus(id, status);
+	public Boolean updateOneStatus(Long id) {
+		return messageFeignClientService.setRead(id).feignData();
 	}
 
 	@Override
-	public List<SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type) {
-		return sysMessageDao.queryUserInRecentMinList(mobile, recentMin, type);
+	public List<CbsMessageWrapper.SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type) {
+		CbsMessageWrapper.UserRecentMessageQuery query = new CbsMessageWrapper.UserRecentMessageQuery();
+		query.setPhone(mobile);
+		query.setRecentMin(recentMin);
+		query.setSendMode(EMessageSendMode.SMS);
+		query.setAppKey(EAppKey.GYM);
+		return messageFeignClientService.userRecentMessageRecords(query).feignData();
 	}
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserCashAccountServiceImpl.java

@@ -132,7 +132,7 @@ public class SysUserCashAccountServiceImpl extends BaseServiceImpl<Integer, SysU
                     phoneMap, null, 0, null, "", decimal, balance);
             Map<Integer, String> idMap = new HashMap<>(1);
             idMap.put(userId, userId.toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_BALANCE_CONSUME,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_BALANCE_CONSUME,
                     idMap, null, 0, null, "", decimal, balance);
         }
         return true;

+ 35 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserServiceImpl.java

@@ -1,7 +1,12 @@
 package com.ym.mec.biz.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.dayaedu.cbs.common.enums.EAppKey;
+import com.dayaedu.cbs.common.enums.EClientType;
+import com.dayaedu.cbs.openfeign.client.MessageFeignClientService;
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
 import com.google.common.collect.Lists;
+import com.microsvc.toolkit.common.response.template.R;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TeacherDao;
@@ -17,9 +22,9 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.jetbrains.annotations.Nullable;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.io.Serializable;
 import java.util.*;
 
@@ -27,17 +32,16 @@ import java.util.*;
 @Service
 public class SysUserServiceImpl implements SysUserService {
 
-    @Autowired
+    @Resource
     private SysUserFeignService sysUserFeignService;
-    @Autowired
+    @Resource
     private TeacherDao teacherDao;
-    @Autowired
+    @Resource
     private SysConfigService sysConfigService;
-    @Autowired
+    @Resource
     private ImGroupCoreService imGroupCoreService;
-
-    @Autowired
-    private MessageSenderPluginContext messageSenderPluginContext;
+    @Resource
+    private MessageFeignClientService messageFeignClientService;
 
     @Override
     public Integer getUserId(){
@@ -149,13 +153,30 @@ public class SysUserServiceImpl implements SysUserService {
 
     @Override
     public void imDeviceId(UserInfoWrapper.UpdateUser info) {
+        CbsMessageWrapper.UpdateDevice updateDevice = new CbsMessageWrapper.UpdateDevice();
+        updateDevice.setUserId(info.getUserId().longValue());
+        updateDevice.setDeviceIds(Lists.newArrayList(info.getImDeviceId()));
+        updateDevice.setClientType(getClientType(info.getClient().getCode()));
+        updateDevice.setAppKey(EAppKey.GYM);
+        R<Boolean> booleanR = messageFeignClientService.updateDevice(updateDevice);
+        if (booleanR != null && booleanR.feignData()) {
+            teacherDao.updateImDeviceId(info.getImDeviceId(), info.getClient().getCode(), info.getUserId());
+        }
+        log.error("更新用户设备信息失败,userId:{}", info.getUserId());
+    }
 
-
-        teacherDao.updateImDeviceId(info.getImDeviceId(), info.getClient().getCode(), info.getUserId());
-
-
-        messageSenderPluginContext.getMessageSenderPlugin(MessageSenderPluginContext.MessageSender.JIGUANG)
-            .deviceRemoveAlias(info.getUserId().toString(),Lists.newArrayList(info.getImDeviceId()),info.getClient().getCode());
+    public EClientType getClientType(String jpushType){
+        if(StringUtils.isEmpty(jpushType)){
+            return null;
+        }else if(StringUtils.equals(jpushType, "STUDENT")){
+            return EClientType.STUDENT;
+        }else if(StringUtils.equals(jpushType, "TEACHER")){
+            return EClientType.TEACHER;
+        }else if(StringUtils.equals(jpushType, "SCHOOL")){
+            return EClientType.SCHOOL;
+        }else {
+            return EClientType.BACKEND;
+        }
     }
 
     @Nullable

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1835,11 +1835,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (teacher != null) {
             Map<Integer, String> map = new HashMap<>(1);
             map.put(vipGroup.getUserId(), vipGroup.getUserId().toString());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_VIP_COURSE_APPLY_RESULT,
                     map, null, 0, "7", "TEACHER", vipGroup.getName(), vipGroup.getAuditStatus().getMsg());
             Map<Integer, String> map1 = new HashMap<>(1);
             map1.put(vipGroup.getUserId(), teacher.getPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.TEACHER_SMS_PUSH_VIP_COURSE_APPLY_RESULT,
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.TEACHER_SMS_VIP_COURSE_APPLY_RESULT,
                     map1, null, 0, "7", "", vipGroup.getName(), vipGroup.getAuditStatus().getMsg());
         }
     }

+ 0 - 25
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/MessageSenderPluginContext.java

@@ -82,31 +82,6 @@ public class MessageSenderPluginContext implements ApplicationContextAware {
 		return future.join();
 	}
 
-	/**
-	 * 批量发送消息至目的地
-	 * @param messageSender 消息发送方
-	 * @param subject 消息主题
-	 * @param content 消息内容
-	 * @param receivers 收件人列表
-	 * @param url 链接地址
-	 * @return 是否发送成功
-	 * @throws IOException
-	 */
-	public boolean batchSend(MessageSender messageSender, String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws Exception {
-		ExecutorService executor = Executors.newFixedThreadPool(5);
-		CompletableFuture<Boolean> future = CompletableFuture.supplyAsync(()->{
-			messageSenderPlugin = getMessageSenderPlugin(messageSender);
-			try {
-				return messageSenderPlugin.batchSend(subject, content, receivers, url, jpushType,sound,channelId);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			return false;
-		},executor);
-		executor.shutdown();
-		return future.join();
-	}
-
 	@Override
 	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
 		this.applicationContext = applicationContext;