123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- package org.jeecg.modules.system.controller;
- import java.util.Arrays;
- import java.util.Date;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.shiro.SecurityUtils;
- import org.jeecg.common.api.vo.Result;
- import org.jeecg.common.constant.CommonConstant;
- import org.jeecg.common.system.vo.LoginUser;
- import org.jeecg.common.util.oConvertUtils;
- import org.jeecg.modules.system.entity.SysAnnouncementSend;
- import org.jeecg.modules.system.model.AnnouncementSendModel;
- import org.jeecg.modules.system.service.ISysAnnouncementSendService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import lombok.extern.slf4j.Slf4j;
- /**
- * @Title: Controller
- * @Description: 用户通告阅读标记表
- * @Author: jeecg-boot
- * @Date: 2019-02-21
- * @Version: V1.0
- */
- @RestController
- @RequestMapping("/sys/sysAnnouncementSend")
- @Slf4j
- public class SysAnnouncementSendController {
- @Autowired
- private ISysAnnouncementSendService sysAnnouncementSendService;
-
- /**
- * 分页列表查询
- * @param sysAnnouncementSend
- * @param pageNo
- * @param pageSize
- * @param req
- * @return
- */
- @GetMapping(value = "/list")
- public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
- @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
- @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
- HttpServletRequest req) {
- Result<IPage<SysAnnouncementSend>> result = new Result<IPage<SysAnnouncementSend>>();
- QueryWrapper<SysAnnouncementSend> queryWrapper = new QueryWrapper<SysAnnouncementSend>(sysAnnouncementSend);
- Page<SysAnnouncementSend> page = new Page<SysAnnouncementSend>(pageNo,pageSize);
- //排序逻辑 处理
- String column = req.getParameter("column");
- String order = req.getParameter("order");
- if(oConvertUtils.isNotEmpty(column) && oConvertUtils.isNotEmpty(order)) {
- if("asc".equals(order)) {
- queryWrapper.orderByAsc(oConvertUtils.camelToUnderline(column));
- }else {
- queryWrapper.orderByDesc(oConvertUtils.camelToUnderline(column));
- }
- }
- IPage<SysAnnouncementSend> pageList = sysAnnouncementSendService.page(page, queryWrapper);
- //log.info("查询当前页:"+pageList.getCurrent());
- //log.info("查询当前页数量:"+pageList.getSize());
- //log.info("查询结果数量:"+pageList.getRecords().size());
- //log.info("数据总数:"+pageList.getTotal());
- result.setSuccess(true);
- result.setResult(pageList);
- return result;
- }
-
- /**
- * 添加
- * @param sysAnnouncementSend
- * @return
- */
- @PostMapping(value = "/add")
- public Result<SysAnnouncementSend> add(@RequestBody SysAnnouncementSend sysAnnouncementSend) {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- try {
- sysAnnouncementSendService.save(sysAnnouncementSend);
- result.success("添加成功!");
- } catch (Exception e) {
- log.error(e.getMessage(),e);
- result.error500("操作失败");
- }
- return result;
- }
-
- /**
- * 编辑
- * @param sysAnnouncementSend
- * @return
- */
- @PostMapping(value = "/edit")
- public Result<SysAnnouncementSend> eidt(@RequestBody SysAnnouncementSend sysAnnouncementSend) {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- SysAnnouncementSend sysAnnouncementSendEntity = sysAnnouncementSendService.getById(sysAnnouncementSend.getId());
- if(sysAnnouncementSendEntity==null) {
- result.error500("未找到对应实体");
- }else {
- boolean ok = sysAnnouncementSendService.updateById(sysAnnouncementSend);
- //TODO 返回false说明什么?
- if(ok) {
- result.success("修改成功!");
- }
- }
-
- return result;
- }
-
- /**
- * 通过id删除
- * @param id
- * @return
- */
- @PostMapping(value = "/delete")
- public Result<SysAnnouncementSend> delete(@RequestParam(name="id",required=true) String id) {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- SysAnnouncementSend sysAnnouncementSend = sysAnnouncementSendService.getById(id);
- if(sysAnnouncementSend==null) {
- result.error500("未找到对应实体");
- }else {
- boolean ok = sysAnnouncementSendService.removeById(id);
- if(ok) {
- result.success("删除成功!");
- }
- }
-
- return result;
- }
-
- /**
- * 批量删除
- * @param ids
- * @return
- */
- @PostMapping(value = "/deleteBatch")
- public Result<SysAnnouncementSend> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- if(ids==null || "".equals(ids.trim())) {
- result.error500("参数不识别!");
- }else {
- this.sysAnnouncementSendService.removeByIds(Arrays.asList(ids.split(",")));
- result.success("删除成功!");
- }
- return result;
- }
-
- /**
- * 通过id查询
- * @param id
- * @return
- */
- @GetMapping(value = "/queryById")
- public Result<SysAnnouncementSend> queryById(@RequestParam(name="id",required=true) String id) {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- SysAnnouncementSend sysAnnouncementSend = sysAnnouncementSendService.getById(id);
- if(sysAnnouncementSend==null) {
- result.error500("未找到对应实体");
- }else {
- result.setResult(sysAnnouncementSend);
- result.setSuccess(true);
- }
- return result;
- }
-
- /**
- * @功能:更新用户系统消息阅读状态
- * @param json
- * @return
- */
- @PostMapping(value = "/editByAnntIdAndUserId")
- public Result<SysAnnouncementSend> editById(@RequestBody JSONObject json) {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- String anntId = json.getString("anntId");
- LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
- String userId = sysUser.getId();
- LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda();
- updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG);
- updateWrapper.set(SysAnnouncementSend::getReadTime, new Date());
- updateWrapper.last("where annt_id ='"+anntId+"' and user_id ='"+userId+"'");
- SysAnnouncementSend announcementSend = new SysAnnouncementSend();
- sysAnnouncementSendService.update(announcementSend, updateWrapper);
- result.setSuccess(true);
- return result;
- }
-
- /**
- * @功能:获取我的消息
- * @return
- */
- @GetMapping(value = "/getMyAnnouncementSend")
- public Result<IPage<AnnouncementSendModel>> getMyAnnouncementSend(AnnouncementSendModel announcementSendModel,
- @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
- @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
- Result<IPage<AnnouncementSendModel>> result = new Result<IPage<AnnouncementSendModel>>();
- LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
- String userId = sysUser.getId();
- announcementSendModel.setUserId(userId);
- announcementSendModel.setPageNo((pageNo-1)*pageSize);
- announcementSendModel.setPageSize(pageSize);
- Page<AnnouncementSendModel> pageList = new Page<AnnouncementSendModel>(pageNo,pageSize);
- pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(pageList, announcementSendModel);
- result.setResult(pageList);
- result.setSuccess(true);
- return result;
- }
- /**
- * @功能:一键已读
- * @return
- */
- @PostMapping(value = "/readAll")
- public Result<SysAnnouncementSend> readAll() {
- Result<SysAnnouncementSend> result = new Result<SysAnnouncementSend>();
- LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
- String userId = sysUser.getId();
- LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda();
- updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG);
- updateWrapper.set(SysAnnouncementSend::getReadTime, new Date());
- updateWrapper.last("where user_id ='"+userId+"'");
- SysAnnouncementSend announcementSend = new SysAnnouncementSend();
- sysAnnouncementSendService.update(announcementSend, updateWrapper);
- result.setSuccess(true);
- result.setMessage("全部已读");
- return result;
- }
- }
|