| package com.xzx.gc.system.service; | 
|   | 
| import cn.hutool.core.codec.Base64; | 
| import cn.hutool.core.collection.CollUtil; | 
| import cn.hutool.core.convert.Convert; | 
| import com.github.pagehelper.PageHelper; | 
| import com.github.pagehelper.PageInfo; | 
| import com.xzx.gc.common.constant.SysEnum; | 
| import com.xzx.gc.common.utils.DateUtils; | 
| import com.xzx.gc.common.utils.ExceptionUtils; | 
| import com.xzx.gc.common.utils.RedisUtil; | 
| import com.xzx.gc.common.utils.StringUtils; | 
| import com.xzx.gc.entity.CityPartner; | 
| import com.xzx.gc.entity.SysNotice; | 
| import com.xzx.gc.model.admin.SysNoticeModel; | 
| import com.xzx.gc.model.system.SysNoticeReq; | 
| import com.xzx.gc.model.system.SysNoticeVo; | 
| import com.xzx.gc.system.mapper.SysNoticeMapper; | 
| 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 SysNoticeService { | 
|     @Autowired | 
|     private SysNoticeMapper sysNoticeMapper; | 
|     @Autowired | 
|     private CityPartnerService cityPartnerService; | 
|   | 
|     @Autowired | 
|     private RedisUtil redisUtil; | 
|   | 
|     public PageInfo<SysNoticeModel> queryNoticeList(SysNoticeModel model) { | 
|   | 
|         if(null!=model.getStartTime()&&!"".equals(model.getStartTime())){ | 
|             model.setStartTime(model.getStartTime()+" 00:00:00"); | 
|         } | 
|         if(null!=model.getEndTime()&&!"".equals(model.getEndTime())){ | 
|             model.setEndTime(model.getEndTime()+" 23:59:59"); | 
|         } | 
|         PageHelper.startPage(model.getPage(),model.getLimit()); | 
|         List<SysNoticeModel> list = sysNoticeMapper.queryNoticeList(model); | 
|         for (SysNoticeModel resModel:list) { | 
|             String nickName = resModel.getNickName(); | 
|             if(nickName!=null&&!"".equals(nickName)){ | 
|                 nickName = cn.hutool.core.codec.Base64.decodeStr(nickName); | 
|             } | 
|             if(null!=resModel.getContent()&&!"".equals(resModel.getContent())){ | 
|                 if(StringUtils.isBase64(resModel.getContent())){ | 
|                     resModel.setContent(Base64.decodeStr(resModel.getContent())); | 
|                 } | 
|             } | 
|             resModel.setNickName(nickName); | 
|             String upid = resModel.getPartnerId(); | 
|             StringBuffer partnerName=new StringBuffer(); | 
|             if(null!=upid&&!"".equals(upid)){ | 
|                 String[] pIds = upid.split(","); | 
|                 for (String pid:pIds) { | 
|                     CityPartner cityPartner = cityPartnerService.queryById(Long.parseLong(pid)); | 
|                     partnerName.append(cityPartner.getPartnerName()).append(","); | 
|                 } | 
|                 String ax = partnerName.toString(); | 
|                 if(null!=ax&&!"".equals(ax)){ | 
|                     ax = ax.substring(0,ax.length()-1); | 
|                     resModel.setPartnerName(ax); | 
|   | 
|                 }else{ | 
|                     resModel.setPartnerName("-"); | 
|                 } | 
|             }else{ | 
|                 resModel.setPartnerName("-"); | 
|             } | 
|         } | 
|         PageInfo<SysNoticeModel> pageInfo=new PageInfo<>(list); | 
|         return pageInfo; | 
|     } | 
|     public List<SysNoticeVo> getSysNoticeByType(SysNoticeReq sysNoticeReq) { | 
|         List<SysNoticeVo> noticeList = null; | 
|         Map<String,Object> params = new HashMap<>(16); | 
|         params.put("noticeType",sysNoticeReq.getNoticeType()); | 
|         noticeList = sysNoticeMapper.getSysNoticeByType(params); | 
|         if(CollUtil.isNotEmpty(noticeList)){ | 
|             for (SysNoticeVo sysNoticeVo : noticeList) { | 
|                 String s = StringUtils.intChange2Str(Convert.toInt(sysNoticeVo.getReadNum())); | 
|                 sysNoticeVo.setReadNum(s); | 
|             } | 
|         } | 
|         return noticeList; | 
|     } | 
|   | 
|      | 
|     public SysNoticeVo getSysNoticeById(SysNoticeReq sysNoticeReq) { | 
|         Map<String,Object> params = new HashMap<>(16); | 
|         params.put("noticeId",sysNoticeReq.getNoticeId()); | 
|         SysNoticeVo sysNoticeById = sysNoticeMapper.getSysNoticeById(params); | 
|         int num=Convert.toInt(sysNoticeById.getReadNum()); | 
|         SysNotice sysNotice=new SysNotice(); | 
|         sysNotice.setNoticeId(sysNoticeById.getNoticeId()); | 
|         sysNotice.setReadNum(++num); | 
|         sysNoticeMapper.updateByPrimaryKeySelective(sysNotice); | 
|         return sysNoticeById; | 
|     } | 
|   | 
|      | 
|     public int addSysNotice(SysNoticeReq sysNoticeReq) { | 
|         try { | 
|             if(SysEnum.反馈建议.getValue().equals(sysNoticeReq.getNoticeType())){ | 
|                 sysNoticeReq.setContent(Base64.encode(sysNoticeReq.getContent())); | 
|             } | 
| //            Map<String,Object> params = new HashMap<>(16); | 
| //            params.put("title",sysNoticeReq.getTitle()); | 
| //            params.put("content",sysNoticeReq.getContent()); | 
| //            sysNoticeReq.setCreateTime(DateUtils.getCurDateTime()); | 
| //            params.put("createTime",sysNoticeReq.getCreateTime()); | 
| //            params.put("createUserId",sysNoticeReq.getCreateUserId()); | 
| //            params.put("picture",sysNoticeReq.getPicture()); | 
| //            params.put("noticeType",sysNoticeReq.getNoticeType()); | 
| //            params.put("complaintType",sysNoticeReq.getComplaintType()); | 
|             sysNoticeReq.setCreateTime(DateUtils.getCurDateTime()); | 
|             sysNoticeMapper.addSysNotice(sysNoticeReq); | 
|         } catch (Exception e) { | 
|             ExceptionUtils.err("新增公告失败",e); | 
|         } | 
|         return 0; | 
|     } | 
|   | 
|   | 
| } |