123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- package cn.aiyangniu.api.controller.system;
- import cn.aiyangniu.api.common.entity.system.AuthEntity;
- import cn.aiyangniu.api.common.entity.system.SysMsgEntity;
- import cn.aiyangniu.api.common.entity.system.SysMsgVo;
- import cn.aiyangniu.api.service.system.SysMsgService;
- import cn.aiyangniu.api.common.util.AuthUtil;
- import cn.aiyangniu.api.common.util.CharacterFiltUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import java.util.*;
- /**
- * SysMsgController 消息业务接口类
- *
- * @author Henry Hall
- * @since 2020-08-08
- */
- @Slf4j
- @RestController
- @Api(tags="消息通知接口")
- @RequestMapping("/sysMessage")
- public class SysMsgController {
- @Resource
- private SysMsgService msgService;
- @Resource
- private AuthUtil authUtil;
- /**
- * delMsgs 删除消息
- *
- * @param req 请求对象
- * @return 返回结果Json串
- */
- @ApiOperation(value = "删除消息信息")
- @RequestMapping(value="/delete", method= RequestMethod.POST)
- @ApiImplicitParam(name = "msgVo", value = "消息实体对象", paramType = "body", dataType="SysMsgVo", dataTypeClass = SysMsgVo.class, required = true)
- public Map<String, Object> delMsgs(@RequestBody SysMsgVo msgVo, HttpServletRequest req) {
- Map<String, Object> result = new HashMap<>();
- String retCode, retMsg, token;
- token = req.getHeader("Authorization");
- if(token == null || "null".equals(token)) {
- retCode = "1002";
- retMsg = "对不起,您的操作非法,请登录!";
- } else {
- AuthEntity auth = authUtil.getUserId(token);
- if(auth == null || !auth.isSuccess()) {
- retCode = "1002";
- retMsg = "对不起,您没有登录或会话超时,请重新登录!";
- } else {
- List<String> ids = msgVo.getMsgIds();
- int states = msgVo.getStatus();
- if(ids==null || ids.size()==0 || states<=0) {
- retCode = "100110080101";
- retMsg = "对不起,您提交的信息有为空的必填项,请检查!";
- } else {
- msgVo.setOptUser(auth.getUserId());
- msgVo.setMsgIds(ids);
- msgVo.setStatus(states);
- int r = msgService.proMsgs(msgVo);
- if(r != 0) {
- retCode = "1001";
- switch(states) {
- case 1:
- retMsg = "恭喜您,消息已读成功!";
- break;
- case 3:
- retMsg = "恭喜您,消息删除成功!";
- break;
- default:
- retMsg = "恭喜您,消息处理成功!";
- break;
- }
- } else {
- retCode = "100110080104";
- retMsg = "对不起,系统错误,请联系系统管理员!";
- }
- }
- }
- }
- result.put("code", retCode);
- result.put("msg", retMsg);
- return result;
- }
- /**
- * listMsgs 列表显示消息
- *
- * @param req 请求对象
- * @return 返回结果Json串
- */
- @ApiOperation(value = "获取消息分页列表")
- @RequestMapping(value="/page", method= RequestMethod.GET)
- @ApiImplicitParams({
- @ApiImplicitParam(name = "schName", value = "关键字", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "kind", value = "种类", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "states", value = "数据状态", paramType = "query", dataType="int", dataTypeClass = Integer.class),
- @ApiImplicitParam(name = "beginDate", value = "开始时间", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "endDate", value = "结束时间", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "offset", value = "开始数据", paramType = "query", dataType="int", dataTypeClass = Integer.class, required = true),
- @ApiImplicitParam(name = "limit", value = "每页数量", paramType = "query", dataType="int", dataTypeClass = Integer.class, required = true)
- })
- public Map<String, Object> listMsgs(String schName, String kind, Integer states, String begingDate, String endDate, Integer offset, Integer limit, HttpServletRequest req) {
- Map<String, Object> result = new HashMap<>();
- String retCode, retMsg, token;
- token = req.getHeader("Authorization");
- if(token == null || "null".equals(token)) {
- retCode = "1002";
- retMsg = "对不起,您的操作非法,请登录!";
- } else {
- boolean auth = authUtil.hasLogin(token);
- if(!auth) {
- retCode = "1002";
- retMsg = "对不起,您没有登录或会话超时,请重新登录!";
- } else {
- schName = CharacterFiltUtil.inputFilter(schName, true);
- kind = CharacterFiltUtil.inputFilter(kind, true);
- begingDate = CharacterFiltUtil.inputFilter(begingDate, true);
- endDate = CharacterFiltUtil.inputFilter(endDate, true);
- SysMsgVo msgVo = new SysMsgVo();
- msgVo.setTitle(schName);
- msgVo.setKind(kind);
- msgVo.setStatus(states);
- msgVo.setBeginDate(begingDate);
- msgVo.setEndDate(endDate);
- int pageNo = offset / limit + 1;
- IPage<SysMsgEntity> iPage = msgService.listMsgs(msgVo, pageNo, limit);
- if(iPage != null && iPage.getRecords() != null && iPage.getRecords().size() > 0) {
- result.put("data", iPage.getRecords());
- result.put("total", iPage.getTotal());
- retCode = "1001";
- retMsg = "查询成功。";
- } else {
- retCode = "100110080205";
- retMsg = "暂无内容";
- }
- }
- }
- result.put("code", retCode);
- result.put("msg", retMsg);
- return result;
- }
- /**
- * myMsgs 我的消息列表
- *
- * @param req 请求对象
- * @return 返回结果Json串
- */
- @ApiOperation(value = "获取我的消息分页列表")
- @RequestMapping(value="/myMsg", method= RequestMethod.GET)
- @ApiImplicitParams({
- @ApiImplicitParam(name = "schName", value = "关键字", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "kind", value = "种类", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "states", value = "数据状态", paramType = "query", dataType="int", dataTypeClass = Integer.class),
- @ApiImplicitParam(name = "beginDate", value = "开始时间", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "endDate", value = "结束时间", paramType = "query", dataType="string", dataTypeClass = String.class),
- @ApiImplicitParam(name = "offset", value = "开始数据", paramType = "query", dataType="int", dataTypeClass = Integer.class, required = true),
- @ApiImplicitParam(name = "limit", value = "每页数量", paramType = "query", dataType="int", dataTypeClass = Integer.class, required = true)
- })
- public Map<String, Object> myMsgs(String schName, String kind, Integer states, String begingDate, String endDate, Integer offset, Integer limit, HttpServletRequest req) {
- Map<String, Object> result = new HashMap<>();
- String retCode, retMsg, token, userId;
- token = req.getHeader("Authorization");
- if(token == null || "null".equals(token)) {
- retCode = "1002";
- retMsg = "对不起,您的操作非法,请登录!";
- } else {
- JSONObject userSession = authUtil.getUserSession(token);
- if(userSession == null) {
- retCode = "1002";
- retMsg = "对不起,您没有登录或会话超时,请重新登录!";
- } else {
- userId = userSession.getString("userId");
- schName = CharacterFiltUtil.inputFilter(schName, true);
- kind = CharacterFiltUtil.inputFilter(kind, true);
- begingDate = CharacterFiltUtil.inputFilter(begingDate, true);
- endDate = CharacterFiltUtil.inputFilter(endDate, true);
- SysMsgVo msgVo = new SysMsgVo();
- msgVo.setUserId(userId);
- msgVo.setTitle(schName);
- msgVo.setKind(kind);
- msgVo.setStatus(states);
- msgVo.setBeginDate(begingDate);
- msgVo.setEndDate(endDate);
- int pageNo = offset / limit + 1;
- IPage<SysMsgEntity> iPage = msgService.myMsgs(msgVo, pageNo, limit);
- if(iPage != null && iPage.getRecords() != null && iPage.getRecords().size() > 0) {
- result.put("data", iPage.getRecords());
- result.put("total", iPage.getTotal());
- retCode = "1001";
- retMsg = "查询成功。";
- } else {
- retCode = "100110080305";
- retMsg = "暂无内容";
- }
- }
- }
- result.put("code", retCode);
- result.put("msg", retMsg);
- return result;
- }
- /**
- * getMsg 获取单一消息
- *
- * @param req 请求对象
- * @return 返回结果Json串
- */
- @ApiOperation(value = "获取消息详情信息")
- @RequestMapping(value="/getById", method= RequestMethod.GET)
- @ApiImplicitParam(name = "msgId", value = "消息编号", paramType = "query", dataType="string", dataTypeClass = String.class, required = true)
- public Map<String, Object> getMsg(String msgId, HttpServletRequest req) {
- Map<String, Object> result = new HashMap<>();
- String retCode, retMsg, token;
- SysMsgEntity msgEntity;
- token = req.getHeader("Authorization");
- if(token == null || "null".equals(token)) {
- retCode = "1002";
- retMsg = "对不起,您的操作非法,请登录!";
- } else {
- boolean auth = authUtil.hasLogin(token);
- if(!auth) {
- retCode = "1002";
- retMsg = "对不起,您没有登录或会话超时,请重新登录!";
- } else {
- msgId = CharacterFiltUtil.inputFilter(msgId, true);
- if("".equals(msgId) || msgId.length() != 36) {
- retCode = "100110080401";
- retMsg = "对不起,您请求的参数非法,请重试!";
- } else {
- msgEntity = msgService.getMsg(msgId);
- if(msgEntity != null) {
- result.put("data", msgEntity);
- retCode = "1001";
- retMsg = "查询成功。";
- } else {
- retCode = "100110080405";
- retMsg = "暂无内容";
- }
- }
- }
- }
- result.put("code", retCode);
- result.put("msg", retMsg);
- return result;
- }
- }
|