eda989244804b43cc99ca4bb022daea4a22d77de.svn-base 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. package org.jeecg.modules.system.controller;
  2. import java.util.Arrays;
  3. import java.util.Date;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.apache.shiro.SecurityUtils;
  6. import org.jeecg.common.api.vo.Result;
  7. import org.jeecg.common.constant.CommonConstant;
  8. import org.jeecg.common.system.vo.LoginUser;
  9. import org.jeecg.common.util.oConvertUtils;
  10. import org.jeecg.modules.system.entity.SysAnnouncementSend;
  11. import org.jeecg.modules.system.model.AnnouncementSendModel;
  12. import org.jeecg.modules.system.service.ISysAnnouncementSendService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.GetMapping;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestBody;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RequestParam;
  21. import org.springframework.web.bind.annotation.RestController;
  22. import com.alibaba.fastjson.JSONObject;
  23. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  24. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  25. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  26. import com.baomidou.mybatisplus.core.metadata.IPage;
  27. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  28. import lombok.extern.slf4j.Slf4j;
  29. /**
  30. * @Title: Controller
  31. * @Description: 用户通告阅读标记表
  32. * @Author: jeecg-boot
  33. * @Date: 2019-02-21
  34. * @Version: V1.0
  35. */
  36. @RestController
  37. @RequestMapping("/sys/sysAnnouncementSend")
  38. @Slf4j
  39. public class SysAnnouncementSendController {
  40. @Autowired
  41. private ISysAnnouncementSendService sysAnnouncementSendService;
  42. /**
  43. * 分页列表查询
  44. * @param sysAnnouncementSend
  45. * @param pageNo
  46. * @param pageSize
  47. * @param req
  48. * @return
  49. */
  50. @GetMapping(value = "/list")
  51. public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
  52. @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  53. @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  54. HttpServletRequest req) {
  55. Result<IPage<SysAnnouncementSend>> result = new Result<IPage<SysAnnouncementSend>>();
  56. QueryWrapper<SysAnnouncementSend> queryWrapper = new QueryWrapper<SysAnnouncementSend>(sysAnnouncementSend);
  57. Page<SysAnnouncementSend> page = new Page<SysAnnouncementSend>(pageNo,pageSize);
  58. //排序逻辑 处理
  59. String column = req.getParameter("column");
  60. String order = req.getParameter("order");
  61. if(oConvertUtils.isNotEmpty(column) && oConvertUtils.isNotEmpty(order)) {
  62. if("asc".equals(order)) {
  63. queryWrapper.orderByAsc(oConvertUtils.camelToUnderline(column));
  64. }else {
  65. queryWrapper.orderByDesc(oConvertUtils.camelToUnderline(column));
  66. }
  67. }
  68. IPage<SysAnnouncementSend> pageList = sysAnnouncementSendService.page(page, queryWrapper);
  69. //log.info("查询当前页:"+pageList.getCurrent());
  70. //log.info("查询当前页数量:"+pageList.getSize());
  71. //log.info("查询结果数量:"+pageList.getRecords().size());
  72. //log.info("数据总数:"+pageList.getTotal());
  73. result.setSuccess(true);
  74. result.setResult(pageList);
  75. return result;
  76. }
  77. /**
  78. * 添加
  79. * @param sysAnnouncementSend
  80. * @return
  81. */
  82. @PostMapping(value = "/add")
  83. public Result<SysAnnouncementSend> add(@RequestBody SysAnnouncementSend sysAnnouncementSend) {
  84. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  85. try {
  86. sysAnnouncementSendService.save(sysAnnouncementSend);
  87. result.success("添加成功!");
  88. } catch (Exception e) {
  89. log.error(e.getMessage(),e);
  90. result.error500("操作失败");
  91. }
  92. return result;
  93. }
  94. /**
  95. * 编辑
  96. * @param sysAnnouncementSend
  97. * @return
  98. */
  99. @PostMapping(value = "/edit")
  100. public Result<SysAnnouncementSend> eidt(@RequestBody SysAnnouncementSend sysAnnouncementSend) {
  101. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  102. SysAnnouncementSend sysAnnouncementSendEntity = sysAnnouncementSendService.getById(sysAnnouncementSend.getId());
  103. if(sysAnnouncementSendEntity==null) {
  104. result.error500("未找到对应实体");
  105. }else {
  106. boolean ok = sysAnnouncementSendService.updateById(sysAnnouncementSend);
  107. //TODO 返回false说明什么?
  108. if(ok) {
  109. result.success("修改成功!");
  110. }
  111. }
  112. return result;
  113. }
  114. /**
  115. * 通过id删除
  116. * @param id
  117. * @return
  118. */
  119. @PostMapping(value = "/delete")
  120. public Result<SysAnnouncementSend> delete(@RequestParam(name="id",required=true) String id) {
  121. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  122. SysAnnouncementSend sysAnnouncementSend = sysAnnouncementSendService.getById(id);
  123. if(sysAnnouncementSend==null) {
  124. result.error500("未找到对应实体");
  125. }else {
  126. boolean ok = sysAnnouncementSendService.removeById(id);
  127. if(ok) {
  128. result.success("删除成功!");
  129. }
  130. }
  131. return result;
  132. }
  133. /**
  134. * 批量删除
  135. * @param ids
  136. * @return
  137. */
  138. @PostMapping(value = "/deleteBatch")
  139. public Result<SysAnnouncementSend> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
  140. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  141. if(ids==null || "".equals(ids.trim())) {
  142. result.error500("参数不识别!");
  143. }else {
  144. this.sysAnnouncementSendService.removeByIds(Arrays.asList(ids.split(",")));
  145. result.success("删除成功!");
  146. }
  147. return result;
  148. }
  149. /**
  150. * 通过id查询
  151. * @param id
  152. * @return
  153. */
  154. @GetMapping(value = "/queryById")
  155. public Result<SysAnnouncementSend> queryById(@RequestParam(name="id",required=true) String id) {
  156. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  157. SysAnnouncementSend sysAnnouncementSend = sysAnnouncementSendService.getById(id);
  158. if(sysAnnouncementSend==null) {
  159. result.error500("未找到对应实体");
  160. }else {
  161. result.setResult(sysAnnouncementSend);
  162. result.setSuccess(true);
  163. }
  164. return result;
  165. }
  166. /**
  167. * @功能:更新用户系统消息阅读状态
  168. * @param json
  169. * @return
  170. */
  171. @PostMapping(value = "/editByAnntIdAndUserId")
  172. public Result<SysAnnouncementSend> editById(@RequestBody JSONObject json) {
  173. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  174. String anntId = json.getString("anntId");
  175. LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
  176. String userId = sysUser.getId();
  177. LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda();
  178. updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG);
  179. updateWrapper.set(SysAnnouncementSend::getReadTime, new Date());
  180. updateWrapper.last("where annt_id ='"+anntId+"' and user_id ='"+userId+"'");
  181. SysAnnouncementSend announcementSend = new SysAnnouncementSend();
  182. sysAnnouncementSendService.update(announcementSend, updateWrapper);
  183. result.setSuccess(true);
  184. return result;
  185. }
  186. /**
  187. * @功能:获取我的消息
  188. * @return
  189. */
  190. @GetMapping(value = "/getMyAnnouncementSend")
  191. public Result<IPage<AnnouncementSendModel>> getMyAnnouncementSend(AnnouncementSendModel announcementSendModel,
  192. @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  193. @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
  194. Result<IPage<AnnouncementSendModel>> result = new Result<IPage<AnnouncementSendModel>>();
  195. LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
  196. String userId = sysUser.getId();
  197. announcementSendModel.setUserId(userId);
  198. announcementSendModel.setPageNo((pageNo-1)*pageSize);
  199. announcementSendModel.setPageSize(pageSize);
  200. Page<AnnouncementSendModel> pageList = new Page<AnnouncementSendModel>(pageNo,pageSize);
  201. pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(pageList, announcementSendModel);
  202. result.setResult(pageList);
  203. result.setSuccess(true);
  204. return result;
  205. }
  206. /**
  207. * @功能:一键已读
  208. * @return
  209. */
  210. @PostMapping(value = "/readAll")
  211. public Result<SysAnnouncementSend> readAll() {
  212. Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
  213. LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
  214. String userId = sysUser.getId();
  215. LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda();
  216. updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG);
  217. updateWrapper.set(SysAnnouncementSend::getReadTime, new Date());
  218. updateWrapper.last("where user_id ='"+userId+"'");
  219. SysAnnouncementSend announcementSend = new SysAnnouncementSend();
  220. sysAnnouncementSendService.update(announcementSend, updateWrapper);
  221. result.setSuccess(true);
  222. result.setMessage("全部已读");
  223. return result;
  224. }
  225. }