|  | @@ -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();
 |