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;
|
}
|
|
|
}
|