刘俊驰 1 年間 前
コミット
ad6a2330eb

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -9,6 +9,8 @@ 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.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;
 
@@ -199,4 +201,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	//获取短信验证码
 	R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage>> queryMessageCode(SysMessageVo.SysMessageQuery query);
+
+
+    PageInfo<SysMessage> queryPage(SysMessageQueryInfo queryInfo);
 }

+ 99 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
+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;
@@ -20,6 +21,7 @@ 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.service.SysMessageConfigService;
 import com.ym.mec.biz.service.SysMessageService;
@@ -30,6 +32,7 @@ import com.ym.mec.common.entity.ImPrivateMessage;
 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.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
@@ -97,6 +100,102 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return sysMessageDao;
 	}
 
+
+
+    /**
+     * 分页查询
+     * @param page IPage<SysMessageWrapper.SysMessageList>
+     * @param query SysMessageWrapper.SysMessageQuery
+     * @return IPage<SysMessageWrapper.SysMessage>
+     */
+    @Override
+    public PageInfo<SysMessage> queryPage(SysMessageQueryInfo query){
+
+        CbsMessageWrapper.SysMessageQuery cbsQuery = getSysMessageQuery(query);
+
+        PageInfo<SysMessage> 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(sysMessages);
+        pageInfo.setTotal(sysMessagePageInfo.getTotal());
+        return pageInfo;
+    }
+
+    private SysMessage convert(CbsMessageWrapper.SysMessage sysMessage) {
+        SysMessage message = new SysMessage();
+        message.setId(sysMessage.getId());
+        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());
+        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;
+            }
+        }
+        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;
+            }
+        }
+        if (StringUtils.isNotBlank(query.getGroup())) {
+            cbsQuery.setGroup(query.getGroup());
+        }
+        if (query.getReadStatus() != null) {
+            cbsQuery.setReadStatus(query.getReadStatus() == 1);
+        }
+        return cbsQuery;
+    }
+
 	@Override
 	public R<com.microsvc.toolkit.common.response.paging.PageInfo<CbsMessageWrapper.SysMessage>> queryListPage(SysMessageQueryInfo queryInfo) {
 		CbsMessageWrapper.SysMessageQuery query = new CbsMessageWrapper.SysMessageQuery();