Browse Source

消息通知改造

zouxuan 10 months ago
parent
commit
76dbeae08f

+ 7 - 42
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/SysMessageController.java

@@ -1,9 +1,13 @@
 package com.yonge.cooleshow.student.controller;
 
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
+import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.PageUtil;
 import com.yonge.cooleshow.biz.dal.dto.search.SysMessageQueryInfo;
 import com.yonge.cooleshow.biz.dal.entity.SysMessage;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageSendMode;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
@@ -44,31 +48,9 @@ public class SysMessageController extends BaseController {
 		queryInfo.setUserId(sysUser.getId());
 		queryInfo.setType(MessageSendMode.PUSH.getCode());
 		queryInfo.setClientId("STUDENT");
-		return succeed(sysMessageService.queryPage(queryInfo));
+		return succeed(sysMessageService.queryListPage(queryInfo));
 	}
 
-	// @ApiOperation("获取消息分类类型")
-	// @GetMapping(value = "typeList")
-	// public Object typeList(String memo){
-	// 	//如果用户使用的版本比当前版本号大,那么屏蔽缴费信息
-	// 	if(StringUtils.isNotEmpty(memo)){
-	// 		//获取当前使用的版本
-	// 		AppVersionInfo appVersionInfo = appVersionInfoDao.queryNewestByPlatform("ios-student").get(0);
-	// 		int defaultVersion = Integer.parseInt(appVersionInfo.getVersion().replaceAll("\\.",""));
-	// 		int currentVersion = Integer.parseInt(memo.replaceAll("\\.",""));
-	// 		if(currentVersion > defaultVersion){
-	// 			return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 					"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 					"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 					"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// 		}
-	// 	}
-	// 	return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 			"{\"value\":\"缴费信息\",\"key\":\"PAY\"}," +
-	// 			"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 			"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 			"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// }
 
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
@@ -78,7 +60,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT",messageType) > 0 );
+		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT",messageType) );
 	}
 
 	@ApiOperation("设置已读")
@@ -89,7 +71,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateOneStatus(id, status) > 0);
+		return succeed(sysMessageService.updateOneStatus(id, status));
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
@@ -103,21 +85,4 @@ public class SysMessageController extends BaseController {
 
 		return succeed(map);
 	}
-
-	@ApiOperation(value = "发送消息")
-	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSenderPluginContext.MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		Long 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");
-		return succeed();
-	}
 }

+ 7 - 59
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SysMessageController.java

@@ -2,7 +2,6 @@ package com.yonge.cooleshow.teacher.controller;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dao.AppVersionInfoDao;
 import com.yonge.cooleshow.biz.dal.dto.search.SysMessageQueryInfo;
 import com.yonge.cooleshow.biz.dal.entity.SysMessage;
 import com.yonge.cooleshow.biz.dal.enums.MessageSendMode;
@@ -11,23 +10,13 @@ import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.Mapper;
-import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
-import com.yonge.toolset.utils.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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @RestController
@@ -35,14 +24,12 @@ import java.util.List;
 @RequestMapping("${app-config.url.teacher:}/sysMessage")
 public class SysMessageController extends BaseController {
 
-	@Autowired
+	@Resource
 	private SysMessageService sysMessageService;
 
-	@Autowired
+	@Resource
 	private SysUserFeignService sysUserFeignService;
 
-	@Autowired
-	private AppVersionInfoDao appVersionInfoDao;
 
 	@ApiOperation("获取所有消息列表")
 	@PostMapping(value = "list")
@@ -54,31 +41,9 @@ public class SysMessageController extends BaseController {
 		queryInfo.setUserId(sysUser.getId());
 		queryInfo.setType(MessageSendMode.PUSH.getCode());
 		queryInfo.setClientId("TEACHER");
-		return succeed(sysMessageService.queryPage(queryInfo));
+		return succeed(sysMessageService.queryListPage(queryInfo));
 	}
 
-	// @ApiOperation("获取消息分类类型")
-	// @GetMapping(value = "typeList")
-	// public Object typeList(String memo){
-	// 	//如果用户使用的版本比当前版本号大,那么屏蔽缴费信息
-	// 	if(StringUtils.isNotEmpty(memo)){
-	// 		//获取当前使用的版本
-	// 		AppVersionInfo appVersionInfo = appVersionInfoDao.queryNewestByPlatform("ios-student").get(0);
-	// 		int defaultVersion = Integer.parseInt(appVersionInfo.getVersion().replaceAll("\\.",""));
-	// 		int currentVersion = Integer.parseInt(memo.replaceAll("\\.",""));
-	// 		if(currentVersion > defaultVersion){
-	// 			return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 					"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 					"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 					"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// 		}
-	// 	}
-	// 	return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 			"{\"value\":\"缴费信息\",\"key\":\"PAY\"}," +
-	// 			"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 			"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 			"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// }
 
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
@@ -88,7 +53,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"TEACHER",messageType) > 0 );
+		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"TEACHER",messageType) );
 	}
 
 	@ApiOperation("设置已读")
@@ -99,7 +64,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateOneStatus(id, status) >0) ;
+		return succeed(sysMessageService.updateOneStatus(id, status)) ;
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
@@ -113,21 +78,4 @@ public class SysMessageController extends BaseController {
 
 		return succeed(map);
 	}
-
-	@ApiOperation(value = "发送消息")
-	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSenderPluginContext.MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		Long 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, "TEACHER");
-		return succeed(true);
-	}
 }

+ 1 - 1
cooleshow-user/user-biz/pom.xml

@@ -142,7 +142,7 @@
         <dependency>
             <groupId>com.dayaedu.cbs.openfeign</groupId>
             <artifactId>dayaedu-openfeign-client</artifactId>
-            <version>1.0.1</version>
+            <version>1.0.4</version>
             <exclusions>
                 <exclusion>
                     <groupId>com.alibaba.cloud</groupId>

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/BasicUserInfo.java

@@ -24,4 +24,7 @@ public class BasicUserInfo {
 
     @ApiModelProperty("IM用户ID")
     private String imUserId;
+
+    @ApiModelProperty("手机号")
+    private String phone;
 }

+ 15 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/PageUtil.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.dto;
 
 import com.yonge.toolset.base.page.PageInfo;
 
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -24,4 +25,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;
+    }
 }

+ 9 - 24
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysMessageService.java

@@ -5,7 +5,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
+import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.biz.dal.dto.SysMessageDto;
+import com.yonge.cooleshow.biz.dal.dto.search.SysMessageQueryInfo;
 import com.yonge.cooleshow.biz.dal.entity.SysMessage;
 import com.yonge.cooleshow.biz.dal.enums.MessageSendMode;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
@@ -32,26 +35,6 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 			Integer readStatus, String url,String jpushType, Object... args);
 
 
-	public void batchSendMessage(MessageSender messageSender, String title, String content, Map<Long, String> receivers, Date triggerTime,
-								 Integer readStatus, String url, String jpushType, Object... args);
-
-
-	/**
-	 * 发送消息
-	 * @param messageSender 消息发送者
-	 * @param userId 用户编号
-	 * @param title 消息标题
-	 * @param content 消息内容
-	 * @param receiver 消息接受者
-	 * @param triggerTime 触发时间
-	 * @param readStatus 阅读状态(0-未读  1-已读)
-	 * @param url 超链接地址
-	 * @param group 组
-	 * @return
-	 */
-	public void sendMessage(MessageSender messageSender, Long userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
-			String url, String group,String jpushType);
-
 	/**
 	 * 发送验证码
 	 * @param messageSender 消息发送者
@@ -94,18 +77,20 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param status 状态/1 已读,0未读
 	 * @return
 	 */
-	public int updateStatus(Long userId, int status,String jpushType,MessageTypeEnum messageType);
+	public Boolean updateStatus(Long userId, int status,String jpushType,MessageTypeEnum messageType);
 
 	/**
 	 * 修改单条消息状态
 	 */
-	public int updateOneStatus(Long id, int status);
+	public Boolean updateOneStatus(Long id, int status);
 	
-	public List<SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
+	public List<CbsMessageWrapper.SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
 
 	String selectConfigUrl(String messageType,Object ...param);
 
-	String selectConfigUrlJumpType(String messageType, String jumpType, Object... param);
+//	String selectConfigUrlJumpType(String messageType, String jumpType, Object... param);
 
 	List<SysMessageWrapper.MessageUnreadStat> userMessageUnreadStat(SysMessageWrapper.SysMessageQuery query);
+
+	PageInfo<SysMessage> queryListPage(SysMessageQueryInfo queryInfo);
 }

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityRewardServiceImpl.java

@@ -357,10 +357,10 @@ public class ActivityRewardServiceImpl extends ServiceImpl<ActivityRewardDao, Ac
             receivers.put(userId, user.getPhone());
 
 
-            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.ACTIVITY_WIN.getCode(),clientType.getCode()
-                                                                                        .toLowerCase(Locale.ROOT));
+//            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.ACTIVITY_WIN.getCode(),clientType.getCode()
+//                                                                                        .toLowerCase(Locale.ROOT));
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.ACTIVITY_WIN, receivers, null,
-                    0, url, clientType.getCode(), activityName, activityRewardName);
+                    0, null, clientType.getCode(), activityName, activityRewardName);
         } catch (Exception e) {
             e.printStackTrace();
             log.error("获奖消息发送失败,{}", e.getMessage());

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SmsCodeServiceImpl.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.dayaedu.cbs.openfeign.wrapper.message.CbsMessageWrapper;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.*;
@@ -170,7 +171,7 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 			times = Integer.parseInt(sysConfig.getParamValue());
 		}
 		// 十分钟内只能发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("对不起,您发送太频繁请稍后重试!");
 		}

+ 150 - 277
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java

@@ -1,54 +1,52 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.dayaedu.cbs.common.enums.EAppKey;
+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.paging.PageInfo;
+import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.biz.dal.dao.SysMessageDao;
-import com.yonge.cooleshow.biz.dal.dto.JumpUrlDto;
+import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
+import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
+import com.yonge.cooleshow.biz.dal.dto.PageUtil;
+import com.yonge.cooleshow.biz.dal.dto.search.SysMessageQueryInfo;
 import com.yonge.cooleshow.biz.dal.entity.SysMessage;
-import com.yonge.cooleshow.biz.dal.entity.SysMessageConfig;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageSendMode;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.SendStatusEnum;
-import com.yonge.cooleshow.biz.dal.service.SysMessageConfigService;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.biz.dal.wrapper.SysMessageWrapper;
 import com.yonge.cooleshow.common.entity.Mapper;
 import com.yonge.cooleshow.common.redis.service.RedisCache;
 import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.base.string.MessageFormatter;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
 import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
-import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext.MessageSender;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.collections.CollectionUtils;
 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 org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.*;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
 
 @Service
 public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
 
 	private final static Logger LOGGER = LoggerFactory.getLogger(SysMessageServiceImpl.class);
 
-	@Autowired
+	@Resource
 	private SysMessageDao sysMessageDao;
-	@Autowired
-	private SysMessageConfigService sysMessageConfigService;
-	@Autowired
-	private MessageSenderPluginContext messageSenderPluginContext;
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
-	@Autowired
+	@Resource
+	private TeacherDao teacherDao;
+	@Resource
 	private RedisCache<String, Object> redisCache;
+	@Resource
+	private MessageFeignClientService messageFeignClientService;
 	// 验证码有效期
 	public static final int CODE_EXPIRE = 60 * 10;
 	// 发送验证码的间隔时间
@@ -59,7 +57,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Value("${message.debugMode}")
 	private boolean debugMode;
 
-
 	@Value("${message.debugJigaung:false}")
 	private boolean debugJigaung;
 
@@ -71,229 +68,43 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return sysMessageDao;
 	}
 
-	/**
-	 * 添加消息
-	 * @param subject 消息主题
-	 * @param content 消息内容
-	 * @param receivers 接收人,多个人用逗号分开
-	 * @param triggerTime 触发时间
-	 * @param mode 消息的发送模式
-	 * @param status 消息的当前状态
-	 * @param errorMsg 错误消息
-	 * @param readStatus 阅读状态
-	 * @param memo 备注
-	 * @param group 消息组
-	 * @return
-	 */
-	private int addMessage(Map<Long, String> receivers, String subject, String content, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
-			String errorMsg, Integer readStatus, String memo, String group,String jpushType,Long messageConfigId) {
-		SysMessage message = null;
-		Date date = new Date();
-
-		List<SysMessage> messages = new ArrayList<>();
-
-		Long userId = null;
-		String receiver;
-		for (Entry<Long, 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();
-				}
-			}
-			message.setUserId(userId);
-			message.setContent(content);
-			message.setCreateOn(date);
-			message.setModifyOn(date);
-			message.setReceiver(receiver);
-			if (triggerTime == null) {
-				triggerTime = date;
-			}
-			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.setClientId(jpushType);
-			message.setMessageConfigId(messageConfigId);
-			messages.add(message);
-		}
-
-		return sysMessageDao.batchInsert(messages);
-	}
-
 
 	@Override
 	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Long, String> receivers, Date triggerTime, Integer readStatus,
 								 String url,String jpushType, Object... args) {
-		LOGGER.info("batchSendMessage msgSender {}, type {}, receivers {} ", messageSender, type, receivers);
-		if (receivers == null || receivers.size() == 0) {
-			LOGGER.error("接收地址不能为空");
-			return;
-		}
-		if (StringUtils.isEmpty(url)) {
-			url = selectConfigUrlJumpType(type.getCode(),jpushType);
-		}
-
-		String[] tos;
-		if(messageSender.getSendMode().equals(MessageSender.JIGUANG.getSendMode())) {
-			tos= new String[receivers.size()];
-			tos = receivers.entrySet()
-					.stream()
-					.map(longStringEntry -> String.valueOf(longStringEntry.getKey()))
-					.collect(Collectors.toList())
-					.toArray(tos);
-		} else {
-			tos = receivers.values().toArray(new String[receivers.size()]);
-		}
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type.getCode());
-		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 (isSendRemoteMessage(messageSender)) {
-					errorMsg = messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
-							MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null);
-					if (StringUtils.isEmpty(errorMsg)) {
-						status = SendStatusEnum.SUCCESSED;
-					}  else {
-						status = SendStatusEnum.FAILED;
-					}
-
-				}
-			} catch (Exception e) {
-				status = SendStatusEnum.FAILED;
-				errorMsg = e.getMessage();
-				LOGGER.warn("消息发送失败", e);
-			}
-		}
-		MessageSendMode mode = MessageSendMode.SMS;
-		if (messageSender.getSendMode().equals("PUSH")) {
-			mode = MessageSendMode.PUSH;
-		} else if (messageSender.getSendMode().equals("EMAIL")) {
-			mode = MessageSendMode.EMAIL;
-		}
-		if (ClientEnum.TENANT_STUDENT.getCode().equals(jpushType)) {
-			jpushType = ClientEnum.STUDENT.getCode();
-		}
-		addMessage(receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
-				url, messageConfig.getGroup(),jpushType,messageConfig.getId());
-	}
-
-	@Override
-	public void batchSendMessage(MessageSender messageSender, String title, String content, Map<Long, String> receivers, Date triggerTime, Integer readStatus,
-			String url, String jpushType, Object... args) {
-		if (receivers == null || receivers.size() == 0) {
+		LOGGER.info("batchSendMessage type {}, receivers {} ", type, receivers);
+		if (receivers == null || receivers.isEmpty()) {
 			LOGGER.error("接收地址不能为空");
 			return;
 		}
-
-		String[] tos;
-		if (messageSender.getSendMode().equals(MessageSender.JIGUANG.getSendMode())) {
-			tos = new String[receivers.size()];
-			tos = receivers.entrySet().stream().map(longStringEntry -> String.valueOf(longStringEntry.getKey())).collect(Collectors.toList()).toArray(tos);
-		} else {
-			tos = receivers.values().toArray(new String[receivers.size()]);
-		}
-		Date date = new Date();
-		SendStatusEnum status = SendStatusEnum.WAIT;
-		String errorMsg = null;
-		// 立即发送
-		if (triggerTime == null || date.after(triggerTime)) {
-			status = SendStatusEnum.SENDING;
-			try {
-
-				if (isSendRemoteMessage(messageSender)) {
-					errorMsg = messageSenderPluginContext.batchSend(messageSender, title, MessageFormatter.arrayFormat(content, args), tos, url, jpushType,
-							"default", null);
-					if (StringUtils.isEmpty(errorMsg)) {
-						status = SendStatusEnum.SUCCESSED;
-					} else {
-						status = SendStatusEnum.FAILED;
+		List<BasicUserInfo> basicUserInfo = teacherDao.findBasicUserInfo(receivers.keySet());
+		List<CbsMessageWrapper.MessageParam> messageParams = new ArrayList<>();
+		for (BasicUserInfo user : basicUserInfo) {
+			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
+			messageParam.setUserId(user.getUserId());
+			messageParam.setAppKey(EAppKey.KLX);
+			messageParam.setClientType(jpushType);
+			messageParam.setType(type.getCode());
+			messageParam.setUrl(url);
+			Map<Long, String> params = new HashMap<>();
+			params.put(user.getUserId(), user.getPhone());
+			messageParam.setReceivers(params);
+			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;
-		}
-		addMessage(receivers, title, MessageFormatter.arrayFormat(content, args), triggerTime, mode, status, errorMsg, readStatus, url, "SYSTEM", jpushType,
-				null);
-	}
-
-	private boolean isSendRemoteMessage(MessageSender messageSender) {
-		if (messageSender.getSendMode().equals(MessageSender.JIGUANG.getSendMode()) && !debugJigaung) {
-			return true;
-		} else if (messageSender.getSendMode().equals(MessageSender.AWSMS.getSendMode()) && !debugMode) {
-			return true;
-		}
-		return false;
+		messageFeignClientService.sysMessageBatchSendMessage(messageParams);
 	}
 
-	@Override
-	public void sendMessage(MessageSender messageSender, Long 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("接收地址不能为空");
-		}
-
-		Date date = new Date();
-		SendStatusEnum status = SendStatusEnum.WAIT;
-		String errorMsg = null;
-		// 立即发送
-		if (triggerTime == null || date.after(triggerTime)) {
-			status = SendStatusEnum.SENDING;
-			try {
-				if (isSendRemoteMessage(messageSender)) {
-					errorMsg = messageSenderPluginContext.send(messageSender, receiver, title, content, url,
-																	  jpushType, "default", null);
-					if (StringUtils.isEmpty(errorMsg)) {
-						status = SendStatusEnum.SUCCESSED;
-					}  else {
-						status = SendStatusEnum.FAILED;
-					}
-				}
-			} catch (Exception e) {
-				status = SendStatusEnum.FAILED;
-				errorMsg = e.getMessage();
-				LOGGER.warn("消息发送失败", e);
-			}
-		}
-		MessageSendMode mode = MessageSendMode.SMS;
-		if (messageSender.getSendMode().equals("PUSH")) {
-			mode = MessageSendMode.PUSH;
-		} else if (messageSender.getSendMode().equals("EMAIL")) {
-			mode = MessageSendMode.EMAIL;
-			LOGGER.info("发送邮件 {} ");
-		}
-		Map<Long, String> receivers = new HashMap<Long, String>();
-		receivers.put(userId, receiver);
-		addMessage(receivers, title, content, triggerTime, mode, status, errorMsg, readStatus, url, null,jpushType,null);
-	}
 
 	@Override
 	public boolean sendSecurityCode(MessageSender messageSender, Long userId, MessageTypeEnum messageType, String receiver, String platform) {
@@ -304,7 +115,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 		String key = getVerificationCodeCacheKey(messageType, receiver);
 		int code = DEFAULT_CODE;
-		if (debugMode == false && !authCode) {
+		if (!debugMode && !authCode) {
 			code = getRandomCode(messageType, receiver);
 		}
 		Map<Long, String> receivers = new HashMap<>(1);
@@ -339,7 +150,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);
@@ -349,9 +160,25 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	public List<Mapper> queryCountOfUnread(MessageSendMode type, Long userId, String jpushType) {
-		return sysMessageDao.queryCountOfUnread(type, userId, jpushType);
-
-
+		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
+		query.setUserId(userId);
+		query.setClientType(jpushType);
+		query.setStatus(ESendStatus.SUCCESSED);
+		query.setAppKey(EAppKey.KLX);
+		query.setSendMode(type == null?null:type == MessageSendMode.SMS?EMessageSendMode.SMS:
+				type == MessageSendMode.EMAIL?EMessageSendMode.EMAIL:
+						type == MessageSendMode.PUSH?EMessageSendMode.PUSH:EMessageSendMode.SEO);
+		query.setReadStatus(false);
+		List<CbsMessageWrapper.MessageUnreadStat> messageUnreadStats = messageFeignClientService.messageUnreadStat(query).feignData();
+		List<Mapper> result = new ArrayList<>();
+
+		for (CbsMessageWrapper.MessageUnreadStat mapper : messageUnreadStats) {
+			Mapper map = new Mapper();
+			map.setKey(mapper.getGroup());
+			map.setValue(mapper.getNumber());
+			result.add(map);
+		}
+		return result;
 	}
 
 	public void setDebugMode(boolean debugMode) {
@@ -382,63 +209,109 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public int updateStatus(Long userId, int status,String jpushType,MessageTypeEnum messageType) {
-		// 按照类型设置一键已读
-		Long messageConfigId = null;
-		if (messageType != null) {
-			SysMessageConfig sysMessageConfig = sysMessageConfigService.queryByType(messageType.getCode());
-			if (sysMessageConfig != null) {
-				messageConfigId = sysMessageConfig.getId();
-			}
-		}
-		return sysMessageDao.updateStatus(userId, status,jpushType,messageConfigId);
+	public Boolean updateStatus(Long userId, int status,String jpushType,MessageTypeEnum messageType) {
+		CbsMessageWrapper.MessageRead messageRead = new CbsMessageWrapper.MessageRead();
+		messageRead.setUserId(userId);
+		messageRead.setAppKey(EAppKey.KLX);
+		messageRead.setClientType(jpushType);
+		return messageFeignClientService.batchSetRead(messageRead).feignData();
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public int updateOneStatus(Long id, int status) {
-		return sysMessageDao.updateOneStatus(id, status);
+	public Boolean updateOneStatus(Long id, int status) {
+		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.KLX);
+		return messageFeignClientService.userRecentMessageRecords(query).feignData();
 	}
 
 	@Override
 	public String selectConfigUrl(String messageType,Object ...param) {
-        return selectConfigUrlJumpType(messageType,null,param);
+        return "";
     }
 
 	@Override
-    public String selectConfigUrlJumpType(String messageType,String jumpType,Object ...param) {
-		SysMessageConfig sysMessageConfig = sysMessageConfigService.queryByType(messageType);
-		if (sysMessageConfig == null) {
-			throw new BizException("消息类型错误");
-		}
-		if(StringUtils.isEmpty(sysMessageConfig.getAction())) {
-			return null;
+	public List<SysMessageWrapper.MessageUnreadStat> userMessageUnreadStat(SysMessageWrapper.SysMessageQuery param) {
+		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
+		query.setUserId(param.getUserId());
+		query.setClientType(param.getClientType().getCode());
+		query.setStatus(ESendStatus.SUCCESSED);
+		query.setAppKey(EAppKey.KLX);
+		query.setSendMode(param.getType() == null?null:param.getType() == MessageSendMode.SMS?EMessageSendMode.SMS:
+				param.getType() == MessageSendMode.EMAIL?EMessageSendMode.EMAIL:
+						param.getType() == MessageSendMode.PUSH?EMessageSendMode.PUSH:EMessageSendMode.SEO);
+		query.setReadStatus(false);
+		List<CbsMessageWrapper.MessageUnreadStat> messageUnreadStats = messageFeignClientService.messageUnreadStat(query).feignData();
+		List<SysMessageWrapper.MessageUnreadStat> result = new ArrayList<>();
+		for (CbsMessageWrapper.MessageUnreadStat mapper : messageUnreadStats) {
+			SysMessageWrapper.MessageUnreadStat stat = new SysMessageWrapper.MessageUnreadStat();
+			stat.setGroup(mapper.getGroup());
+			stat.setNumber(mapper.getNumber());
+			result.add(stat);
 		}
-		if (sysMessageConfig.getAction().equals("sms")) {
-			return sysMessageConfig.getActionUrl();
-		} else if (sysMessageConfig.getAction().equals("h5")) {
-			sysMessageConfig.setActionUrl(MessageFormatter.arrayFormat(sysMessageConfig.getActionUrl(), param));
-		} else if (sysMessageConfig.getAction().equals("app")) {
-			sysMessageConfig.setParams(MessageFormatter.arrayFormat(sysMessageConfig.getParams(), param));
-		}
-		JumpUrlDto jumpUrlDto = new JumpUrlDto();
-		jumpUrlDto.setAction(sysMessageConfig.getAction());
-		jumpUrlDto.setUrl(sysMessageConfig.getActionUrl());
-		jumpUrlDto.setPageTag(sysMessageConfig.getPageTag());
-		jumpUrlDto.setParams(sysMessageConfig.getParams());
-        if (StringUtils.isNotBlank(jumpType) && ClientEnum.TENANT_STUDENT.getCode().equals(jumpType)) {
-            jumpUrlDto.setClientType("TENANT");
-        }
-		return JSON.toJSONString(jumpUrlDto);
+		return result;
 	}
 
 	@Override
-	public List<SysMessageWrapper.MessageUnreadStat> userMessageUnreadStat(SysMessageWrapper.SysMessageQuery query) {
-		return sysMessageDao.selectMessageUnreadStat(query);
+	public com.yonge.toolset.base.page.PageInfo<SysMessage> queryListPage(SysMessageQueryInfo queryInfo) {
+		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();
+		query.setPage(queryInfo.getPage());
+		query.setRows(queryInfo.getRows());
+		query.setUserId(queryInfo.getUserId());
+		query.setStatus(ESendStatus.SUCCESSED);
+		query.setAppKey(EAppKey.KLX);
+		query.setSendMode(queryInfo.getType() == null?null:queryInfo.getType() == 1? EMessageSendMode.SMS :
+				queryInfo.getType() == 2?EMessageSendMode.EMAIL:
+						queryInfo.getType() == 3?EMessageSendMode.PUSH:EMessageSendMode.SEO);
+		query.setTitle(queryInfo.getTitle());
+		query.setClientId(queryInfo.getClientId());
+		query.setReadStatus(queryInfo.getReadStatus() == null?null:queryInfo.getReadStatus()==1);
+		query.setGroup(queryInfo.getGroup());
+		R<PageInfo<CbsMessageWrapper.SysMessage>> pageInfoR = messageFeignClientService.sysMessagePage(query);
+		PageInfo<CbsMessageWrapper.SysMessage> pageInfo = pageInfoR.feignData();
+		List<SysMessage> sysMessages = new ArrayList<>();
+		if(CollectionUtils.isNotEmpty(pageInfo.getRows())){
+			pageInfo.getRows().forEach(sysMessage -> {
+				SysMessage message = new SysMessage();
+				message.setId(sysMessage.getId());
+				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());
+				message.setUserId(sysMessage.getUserId());
+				message.setMessageConfigId(sysMessage.getMessageConfigId());
+				message.setSubType(sysMessage.getSubType());
+				message.setMemo(sysMessage.getMemo());
+				if (sysMessage.getReadStatus() != null){
+					message.setReadStatus(sysMessage.getReadStatus()?1:0);
+				}
+				message.setGroup(sysMessage.getGroup());
+				message.setClientId(sysMessage.getClientId());
+				message.setImg(sysMessage.getIcon());
+				sysMessages.add(message);
+			});
+		}
+		return PageUtil.pageInfo(pageInfo,sysMessages);
 	}
 }

+ 3 - 14
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumServiceImpl.java

@@ -30,15 +30,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
@@ -78,9 +70,6 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
     private TenantActivationCodeService tenantActivationCodeService;
 
     @Autowired
-    private RedisCacheService redisCacheService;
-
-    @Autowired
     private TeacherService teacherService;
 
     @Autowired
@@ -469,9 +458,9 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
                 Student student = studentService.getById(userId);
                 if (student.getTenantId() != null && student.getTenantId() >0) {
                     try {
-                        String url = sysMessageService.selectConfigUrlJumpType(MessageTypeEnum.TENANT_ALBUM_BUY.getCode(),ClientEnum.TENANT_STUDENT.getCode(),userOrderDetailVo.getOrderNo());
+//                        String url = sysMessageService.selectConfigUrlJumpType(MessageTypeEnum.TENANT_ALBUM_BUY.getCode(),ClientEnum.TENANT_STUDENT.getCode(),userOrderDetailVo.getOrderNo());
                         sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TENANT_ALBUM_BUY,
-                                receivers, null, 0, url, ClientEnum.TENANT_STUDENT.getCode(),tenantAlbum.getName(),dateStr);
+                                receivers, null, 0, null, ClientEnum.TENANT_STUDENT.getCode(),tenantAlbum.getName(),dateStr);
                     } catch (Exception e) {
                         log.error("机构学生购买训练教材", e);
                     }

+ 3 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -208,9 +208,10 @@
         <result property="username" column="username_"/>
         <result property="realName" column="real_name_"/>
         <result property="avatar" column="avatar_"/>
+        <result property="phone" column="phone_"/>
     </resultMap>
     <select id="getBasicUserInfo" resultMap="BasicUserInfo">
-        SELECT id_ user_id_, username_, real_name_, avatar_
+        SELECT id_ user_id_, username_, real_name_, avatar_, phone_
         FROM sys_user
         WHERE del_flag_ = 0
           and id_ = #{userId}
@@ -218,7 +219,7 @@
     </select>
 
     <select id="findBasicUserInfo" resultMap="BasicUserInfo">
-        SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user
+        SELECT id_ user_id_,username_,real_name_,avatar_, phone_ FROM sys_user
         WHERE del_flag_ = 0 and id_ IN
         <foreach collection="studentIds" open="(" close=")" separator="," item="userId">
             #{userId}

+ 6 - 53
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMessageController.java

@@ -2,27 +2,21 @@ package com.yonge.cooleshow.student.controller;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dao.AppVersionInfoDao;
 import com.yonge.cooleshow.biz.dal.dto.search.SysMessageQueryInfo;
 import com.yonge.cooleshow.biz.dal.entity.SysMessage;
 import com.yonge.cooleshow.biz.dal.enums.MessageSendMode;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
-import com.yonge.cooleshow.biz.dal.wrapper.SysMessageWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.Mapper;
-import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
-import com.yonge.toolset.utils.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.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @RestController
@@ -30,14 +24,12 @@ import java.util.List;
 @RequestMapping("sysMessage")
 public class SysMessageController extends BaseController {
 
-	@Autowired
+	@Resource
 	private SysMessageService sysMessageService;
 
-	@Autowired
+	@Resource
 	private SysUserFeignService sysUserFeignService;
 
-	@Autowired
-	private AppVersionInfoDao appVersionInfoDao;
 
 	@ApiOperation("获取所有消息列表")
 	@PostMapping(value = "list")
@@ -49,31 +41,9 @@ public class SysMessageController extends BaseController {
 		queryInfo.setUserId(sysUser.getId());
 		queryInfo.setType(MessageSendMode.PUSH.getCode());
 		queryInfo.setClientId("STUDENT");
-		return succeed(sysMessageService.queryPage(queryInfo));
+		return succeed(sysMessageService.queryListPage(queryInfo));
 	}
 
-	// @ApiOperation("获取消息分类类型")
-	// @GetMapping(value = "typeList")
-	// public Object typeList(String memo){
-	// 	//如果用户使用的版本比当前版本号大,那么屏蔽缴费信息
-	// 	if(StringUtils.isNotEmpty(memo)){
-	// 		//获取当前使用的版本
-	// 		AppVersionInfo appVersionInfo = appVersionInfoDao.queryNewestByPlatform("ios-student").get(0);
-	// 		int defaultVersion = Integer.parseInt(appVersionInfo.getVersion().replaceAll("\\.",""));
-	// 		int currentVersion = Integer.parseInt(memo.replaceAll("\\.",""));
-	// 		if(currentVersion > defaultVersion){
-	// 			return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 					"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 					"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 					"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// 		}
-	// 	}
-	// 	return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 			"{\"value\":\"缴费信息\",\"key\":\"PAY\"}," +
-	// 			"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 			"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 			"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// }
 
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
@@ -83,7 +53,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT",messageType) > 0 );
+		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT",messageType) );
 	}
 
 	@ApiOperation("设置已读")
@@ -94,7 +64,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateOneStatus(id, status) > 0);
+		return succeed(sysMessageService.updateOneStatus(id, status));
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
@@ -108,21 +78,4 @@ public class SysMessageController extends BaseController {
 
 		return succeed(map);
 	}
-
-	@ApiOperation(value = "发送消息")
-	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSenderPluginContext.MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		Long 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");
-		return succeed();
-	}
 }

+ 6 - 54
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysMessageController.java

@@ -2,27 +2,21 @@ package com.yonge.cooleshow.teacher.controller;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dao.AppVersionInfoDao;
 import com.yonge.cooleshow.biz.dal.dto.search.SysMessageQueryInfo;
 import com.yonge.cooleshow.biz.dal.entity.SysMessage;
 import com.yonge.cooleshow.biz.dal.enums.MessageSendMode;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
-import com.yonge.cooleshow.biz.dal.wrapper.SysMessageWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.Mapper;
-import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
-import com.yonge.toolset.utils.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.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @RestController
@@ -30,14 +24,12 @@ import java.util.List;
 @RequestMapping("sysMessage")
 public class SysMessageController extends BaseController {
 
-	@Autowired
+	@Resource
 	private SysMessageService sysMessageService;
 
-	@Autowired
+	@Resource
 	private SysUserFeignService sysUserFeignService;
 
-	@Autowired
-	private AppVersionInfoDao appVersionInfoDao;
 
 	@ApiOperation("获取所有消息列表")
 	@PostMapping(value = "list")
@@ -49,32 +41,9 @@ public class SysMessageController extends BaseController {
 		queryInfo.setUserId(sysUser.getId());
 		queryInfo.setType(MessageSendMode.PUSH.getCode());
 		queryInfo.setClientId("TEACHER");
-		return succeed(sysMessageService.queryPage(queryInfo));
+		return succeed(sysMessageService.queryListPage(queryInfo));
 	}
 
-	// @ApiOperation("获取消息分类类型")
-	// @GetMapping(value = "typeList")
-	// public Object typeList(String memo){
-	// 	//如果用户使用的版本比当前版本号大,那么屏蔽缴费信息
-	// 	if(StringUtils.isNotEmpty(memo)){
-	// 		//获取当前使用的版本
-	// 		AppVersionInfo appVersionInfo = appVersionInfoDao.queryNewestByPlatform("ios-student").get(0);
-	// 		int defaultVersion = Integer.parseInt(appVersionInfo.getVersion().replaceAll("\\.",""));
-	// 		int currentVersion = Integer.parseInt(memo.replaceAll("\\.",""));
-	// 		if(currentVersion > defaultVersion){
-	// 			return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 					"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 					"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 					"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// 		}
-	// 	}
-	// 	return succeed(JSON.parseArray("[{\"value\":\"全部\",\"key\":\"ALL\"}," +
-	// 			"{\"value\":\"缴费信息\",\"key\":\"PAY\"}," +
-	// 			"{\"value\":\"课程信息\",\"key\":\"COURSE\"}," +
-	// 			"{\"value\":\"训练信息\",\"key\":\"WORK\"}," +
-	// 			"{\"value\":\"其他\",\"key\":\"DEFAULT\"}]"));
-	// }
-
 	@ApiOperation("一键已读")
 	@PostMapping("batchSetRead")
 	public Object batchSetRead(@RequestParam(value = "messageType", required = false) MessageTypeEnum messageType) {
@@ -83,7 +52,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"TEACHER",messageType) > 0 );
+		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"TEACHER",messageType) );
 	}
 
 	@ApiOperation("设置已读")
@@ -94,7 +63,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.updateOneStatus(id, status) >0) ;
+		return succeed(sysMessageService.updateOneStatus(id, status)) ;
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
@@ -108,21 +77,4 @@ public class SysMessageController extends BaseController {
 
 		return succeed(map);
 	}
-
-	@ApiOperation(value = "发送消息")
-	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSenderPluginContext.MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		Long 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, "TEACHER");
-		return succeed(true);
-	}
 }