| package com.xzx.gc.system.service; | 
|   | 
| import cn.hutool.core.date.DateUtil; | 
| import com.github.pagehelper.PageHelper; | 
| import com.github.pagehelper.PageInfo; | 
| import com.xzx.gc.common.constant.SysEnum; | 
| import com.xzx.gc.common.utils.ExceptionUtils; | 
| import com.xzx.gc.model.system.SysMessageReq; | 
| import com.xzx.gc.model.system.SysMessageVo; | 
| import com.xzx.gc.system.mapper.SysMessageMapper; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
| import java.util.HashMap; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| @Service | 
| @Transactional | 
| public class SysMessageService { | 
|     @Autowired | 
|     private SysMessageMapper sysMessageMapper; | 
|   | 
|      | 
|     public int addSysMessage(SysMessageReq sysMessageReq) { | 
|         Map<String,Object> params = new HashMap<>(16); | 
|         params.put("message",sysMessageReq.getMessage()); | 
|         params.put("userId",sysMessageReq.getReceiveUserId()); | 
|         params.put("mobilePhone",sysMessageReq.getMobilePhone()); | 
|         params.put("messageType",sysMessageReq.getMessageType()); | 
|         params.put("flag",SysEnum.未读.getValue()); | 
|         params.put("createTime",DateUtil.now()); | 
|         params.put("createUserId",sysMessageReq.getCreateUserId()); | 
|         try { | 
|             sysMessageMapper.addSysMessage(params); | 
|         } catch (Exception e) { | 
|             ExceptionUtils.err("新增消息失败",e); | 
|         } | 
|         return 0; | 
|     } | 
|   | 
|      | 
|     public PageInfo<SysMessageVo> getSysMessageByType(SysMessageReq sysMessageReq) { | 
|         PageHelper.startPage(sysMessageReq.getPageNo(),sysMessageReq.getPageSize()); | 
|         Map<String,Object> params = new HashMap<>(16); | 
|         params.put("messageType",sysMessageReq.getMessageType()); | 
|         params.put("userId",sysMessageReq.getUserId()); | 
|         List<SysMessageVo> sysMessageByType = sysMessageMapper.getSysMessageByType(params); | 
|         PageInfo<SysMessageVo> pageInfo=new PageInfo<>(sysMessageByType); | 
|         //获取所有未读消息数目 | 
|         int notReadNum = sysMessageMapper.getNotReadNum(sysMessageReq.getUserId()); | 
|         pageInfo.setNavigatePages(notReadNum); | 
|         return pageInfo; | 
|     } | 
|   | 
|      | 
|     public SysMessageVo getSysMessageById(SysMessageReq sysMessageReq) { | 
|         Map<String,Object> params = new HashMap<>(16); | 
|         params.put("id",sysMessageReq.getId()); | 
|         return sysMessageMapper.getSysMessageById(params); | 
|     } | 
|   | 
|      | 
|     public int editSysMessage(SysMessageReq sysMessageReq) { | 
|         try { | 
|             Map<String,Object> params = new HashMap<>(16); | 
|             params.put("id",sysMessageReq.getId()); | 
|             params.put("flag",sysMessageReq.getFlag()); | 
|             return sysMessageMapper.editSysMessageVo(params); | 
|         } catch (Exception e) { | 
|             ExceptionUtils.err("消息修改失败",e); | 
|         } | 
|         return 0; | 
|     } | 
|   | 
|      | 
|     public int updateAllMessageFlag(SysMessageReq sysMessageReq) { | 
|         return sysMessageMapper.updateAllMessageFlag(sysMessageReq); | 
|     } | 
|   | 
|   | 
| } |