add 动态消息-分页查询、列表查询

This commit is contained in:
liao
2023-09-20 17:36:16 +08:00
parent 25e8f2f367
commit 1c517fc502
8 changed files with 65 additions and 227 deletions
@@ -85,8 +85,8 @@ public class FieldCommon {
public static final String _DICT_TEXT = "_dictText";
// 标准拆分单后缀
public static final String _STANDARD_SPLIT = "_standardSplit";
// 管理员id
public static final String ROLE_ADMIN_ID = "f6817f48af4fb3af11b9e8bf182f618b";
// 管理员
public static final String ROLE_ADMIN = "admin";
// 树节点编码
public static final String NODE_CODE = "nodeCode";
// 中文双引号
@@ -1,7 +1,6 @@
package com.jero.modules.laws.standard.controller;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
@@ -42,7 +41,6 @@ public class LawsNewsFeedController extends JeroController<LawsNewsFeed, ILawsNe
* @param lawsNewsFeed
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "动态消息-分页列表查询")
@@ -50,9 +48,8 @@ public class LawsNewsFeedController extends JeroController<LawsNewsFeed, ILawsNe
@GetMapping(value = "/page")
public Result<IPage<LawsNewsFeed>> queryPageList(LawsNewsFeed lawsNewsFeed,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
IPage<LawsNewsFeed> pageList = lawsNewsFeedService.queryPage(lawsNewsFeed, pageNo, pageSize, req);
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
IPage<LawsNewsFeed> pageList = lawsNewsFeedService.queryPage(lawsNewsFeed, pageNo, pageSize);
return Result.OK(pageList);
}
@@ -60,14 +57,13 @@ public class LawsNewsFeedController extends JeroController<LawsNewsFeed, ILawsNe
* 列表查询
*
* @param lawsNewsFeed
* @param req
* @return
*/
@AutoLog(value = "动态消息-列表查询")
@ApiOperation(value = "动态消息-列表查询", notes = "动态消息-列表查询")
@GetMapping(value = "/list")
public Result<List<LawsNewsFeed>> queryList(LawsNewsFeed lawsNewsFeed, HttpServletRequest req) {
List<LawsNewsFeed> list = lawsNewsFeedService.queryList(lawsNewsFeed, req);
public Result<List<LawsNewsFeed>> queryList(LawsNewsFeed lawsNewsFeed) {
List<LawsNewsFeed> list = lawsNewsFeedService.queryList(lawsNewsFeed);
return Result.OK(list);
}
@@ -94,11 +90,11 @@ public class LawsNewsFeedController extends JeroController<LawsNewsFeed, ILawsNe
public Result<String> release(@Validated @RequestBody LawsNewsFeed lawsNewsFeed) {
// 第一次发布,赋初值
if (Objects.isNull(lawsNewsFeed.getReleaseStatus())) {
lawsNewsFeed.setReleaseStatus(1);
lawsNewsFeed.setReadCount(0);
}
// 不管第几次发布,发布时间都更新
lawsNewsFeed.setReleaseTime(new Date());
lawsNewsFeed.setReleaseStatus(1);
lawsNewsFeedService.add(lawsNewsFeed);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
@@ -1,176 +0,0 @@
package com.jero.modules.laws.standard.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.modules.laws.standard.entity.LawsPushRange;
import com.jero.modules.laws.standard.service.ILawsPushRangeService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
/**
* @Description: 推送范围
* @Author: jero-boot
* @Date: 2023-09-11
* @Version: V1.0
*/
@Api(tags="推送范围")
@RestController
@RequestMapping("/laws/standard/lawsPushRange")
@Slf4j
public class LawsPushRangeController extends JeroController<LawsPushRange, ILawsPushRangeService> {
@Autowired
private ILawsPushRangeService lawsPushRangeService;
/**
* 分页列表查询
*
* @param lawsPushRange
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "推送范围-分页列表查询")
@ApiOperation(value="推送范围-分页列表查询", notes="推送范围-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<LawsPushRange>> queryPageList(LawsPushRange lawsPushRange,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<LawsPushRange> pageList = lawsPushRangeService.queryPage(lawsPushRange, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @param lawsPushRange
* @param req
* @return
*/
@AutoLog(value = "推送范围-列表查询")
@ApiOperation(value="推送范围-列表查询", notes="推送范围-列表查询")
@GetMapping(value = "/list")
public Result<List<LawsPushRange>> queryList(LawsPushRange lawsPushRange, HttpServletRequest req) {
List<LawsPushRange> list = lawsPushRangeService.queryList(lawsPushRange, req);
return Result.OK(list);
}
/**
* 添加
*
* @param lawsPushRange
* @return
*/
@AutoLog(value = "推送范围-添加")
@ApiOperation(value="推送范围-添加", notes="推送范围-添加")
@PostMapping(value = "/add")
public Result<T> add(@Validated @RequestBody LawsPushRange lawsPushRange) {
lawsPushRangeService.add(lawsPushRange);
return Result.OK("操作成功!");
}
/**
* 编辑
*
* @param lawsPushRange
* @return
*/
@AutoLog(value = "推送范围-编辑")
@ApiOperation(value="推送范围-编辑", notes="推送范围-编辑")
@PostMapping(value = "/edit")
public Result<T> edit(@Validated @RequestBody LawsPushRange lawsPushRange) {
lawsPushRangeService.editById(lawsPushRange);
return Result.OK("操作成功!");
}
/**
* 通过id删除
*
* @param map
* @return
*/
@AutoLog(value = "推送范围-通过id删除")
@ApiOperation(value="推送范围-通过id删除", notes="推送范围-通过id删除")
@PostMapping(value = "/delete")
public Result<T> delete(@RequestBody Map<String, String> map) {
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
return Result.error("请选择数据!");
}
lawsPushRangeService.deleteById(map.get("id"));
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param map
* @return
*/
@AutoLog(value = "推送范围-批量删除")
@ApiOperation(value="推送范围-批量删除", notes="推送范围-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
return Result.error("请选择数据!");
}
this.lawsPushRangeService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "推送范围-通过id查询")
@ApiOperation(value="推送范围-通过id查询", notes="推送范围-通过id查询")
@GetMapping(value = "/queryById")
public Result<LawsPushRange> queryById(@RequestParam(name="id",required=true) String id) {
LawsPushRange lawsPushRange = lawsPushRangeService.queryById(id);
if(lawsPushRange==null) {
return Result.error("未找到对应数据");
}
return Result.OK(lawsPushRange);
}
/**
* 导出excel
*
* @param request
* @param lawsPushRange
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, LawsPushRange lawsPushRange) {
return super.exportXls(request, lawsPushRange, LawsPushRange.class, "推送范围");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<LawsPushRange> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, LawsPushRange.class);
}
}
@@ -15,7 +15,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.Max;
import javax.validation.constraints.Size;
/**
* @Description: 动态消息
@@ -71,12 +71,12 @@ public class LawsNewsFeed implements Serializable {
/**动态详情*/
@Excel(name = "动态详情", width = 15)
@ApiModelProperty(value = "动态详情")
@Max(value = 2000, message = "动态详情超出最大限度")
@Size(max = 500, message = "动态详情超出最大限度")
private java.lang.String dynamicDetails;
/**资料文本*/
@Excel(name = "资料文本", width = 15)
@ApiModelProperty(value = "资料文本")
@Max(value = 2000, message = "资料文本超出最大限度")
@Size(max = 2000, message = "资料文本超出最大限度")
private java.lang.String dataText;
/**发布状态(0-未发布、1-已发布)*/
@Excel(name = "发布状态(0-未发布、1-已发布)", width = 15)
@@ -99,10 +99,11 @@ public class LawsNewsFeed implements Serializable {
private String writer;
/**推送范围标识(1-指定用户、2-全体用户)*/
@ApiModelProperty(value = "推送范围标识(1-指定用户、2-全体用户)")
private Integer pushRangeFlag;
/**角色编码*/
private String roleCode;
@ApiModelProperty(value = "阅读次数")
@ApiModelProperty(value = "推送范围")
@TableField(exist = false)
private String pushRange;
}
@@ -2,6 +2,9 @@ package com.jero.modules.laws.standard.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.laws.standard.entity.LawsNewsFeed;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -12,6 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Date: 2023-09-11
* @Version: V1.0
*/
@Mapper
public interface LawsNewsFeedMapper extends BaseMapper<LawsNewsFeed> {
IPage<LawsNewsFeed> getPageList(Page<LawsNewsFeed> page, @Param("param") LawsNewsFeed lawsNewsFeed);
List<LawsNewsFeed> getPageList(@Param("param") LawsNewsFeed lawsNewsFeed);
}
@@ -17,4 +17,19 @@
<result column="release_time" property="releaseTime" />
<result column="read_count" property="readCount" />
</resultMap>
<select id="getPageList" resultType="com.jero.modules.laws.standard.entity.LawsNewsFeed">
SELECT DISTINCT lnf.*
FROM laws_news_feed lnf
LEFT JOIN laws_push_range lpr ON lnf.id = lpr.unique_relation_flag
WHERE lnf.del_flag = 0
<if test="param.roleCode == 'admin'">
AND (lnf.release_status = 1 OR lnf.writer = #{param.writer})
</if>
<if test="param.roleCode != 'admin'">
AND ((lnf.release_status = 1 AND lpr.user_id = #{param.writer}) OR lnf.writer = #{param.writer})
</if>
<if test="param.dynamicHeading != null and param.dynamicHeading != ''">
AND lnf.dynamic_heading LIKE CONCAT('%', #{param.dynamicHeading}, '%')
</if>
</select>
</mapper>
@@ -20,19 +20,17 @@ public interface ILawsNewsFeedService extends IService<LawsNewsFeed> {
* @param lawsNewsFeed
* @param pageNo
* @param pageSize
* @param req
* @return
*/
IPage<LawsNewsFeed> queryPage(LawsNewsFeed lawsNewsFeed, Integer pageNo, Integer pageSize, HttpServletRequest req);
IPage<LawsNewsFeed> queryPage(LawsNewsFeed lawsNewsFeed, Integer pageNo, Integer pageSize);
/**
* 列表查询
*
* @param lawsNewsFeed
* @param req
* @return
*/
List<LawsNewsFeed> queryList(LawsNewsFeed lawsNewsFeed, HttpServletRequest req);
List<LawsNewsFeed> queryList(LawsNewsFeed lawsNewsFeed);
/**
* 保存
@@ -42,14 +40,6 @@ public interface ILawsNewsFeedService extends IService<LawsNewsFeed> {
*/
void add(LawsNewsFeed lawsNewsFeed);
/**
* 更新
*
* @param lawsNewsFeed
* @return
*/
void editById(LawsNewsFeed lawsNewsFeed);
/**
* 通过id删除
*
@@ -44,6 +44,8 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
@Autowired
private ILawsPushRangeService lawsPushRangeService;
@Autowired
private LawsNewsFeedMapper lawsNewsFeedMapper;
/**
* 分页查询
@@ -55,12 +57,17 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
* @return
*/
@Override
public IPage<LawsNewsFeed> queryPage(LawsNewsFeed lawsNewsFeed, Integer pageNo, Integer pageSize,
HttpServletRequest req) {
QueryWrapper<LawsNewsFeed> queryWrapper = QueryGenerator.initQueryWrapper(lawsNewsFeed, req.getParameterMap());
public IPage<LawsNewsFeed> queryPage(LawsNewsFeed lawsNewsFeed, Integer pageNo, Integer pageSize) {
Page<LawsNewsFeed> page = new Page<>(pageNo, pageSize);
return page(page, queryWrapper);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
lawsNewsFeed.setWriter(loginUser.getId());
if (loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN)) {
lawsNewsFeed.setRoleCode(FieldCommon.ROLE_ADMIN);
} else {
lawsNewsFeed.setRoleCode("other");
}
IPage<LawsNewsFeed> pageList = lawsNewsFeedMapper.getPageList(page, lawsNewsFeed);
return pageList;
}
/**
@@ -71,8 +78,16 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
* @return
*/
@Override
public List<LawsNewsFeed> queryList(LawsNewsFeed lawsNewsFeed, HttpServletRequest req) {
return list(QueryGenerator.initQueryWrapper(lawsNewsFeed, req.getParameterMap()));
public List<LawsNewsFeed> queryList(LawsNewsFeed lawsNewsFeed) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
lawsNewsFeed.setWriter(loginUser.getId());
if (loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN)) {
lawsNewsFeed.setRoleCode(FieldCommon.ROLE_ADMIN);
} else {
lawsNewsFeed.setRoleCode("other");
}
List<LawsNewsFeed> pageList = lawsNewsFeedMapper.getPageList(lawsNewsFeed);
return pageList;
}
/**
@@ -82,6 +97,7 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
* @return
*/
@Override
@Transactional
public void add(LawsNewsFeed lawsNewsFeed) {
if (StringUtils.isBlank(lawsNewsFeed.getDynamicHeading())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "dynamicHeading");
@@ -102,7 +118,7 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (StringUtils.isNotBlank(lawsNewsFeed.getWriter())
&& (!lawsNewsFeed.getWriter().equals(loginUser.getId())
|| !loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN_ID))) {
|| !loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN))) {
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
lawsNewsFeed.setWriter(loginUser.getId());
@@ -127,19 +143,6 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
}
}
/**
* 更新
*
* @param lawsNewsFeed
* @return
*/
@Override
public void editById(LawsNewsFeed lawsNewsFeed) {
Date now = new Date();
lawsNewsFeed.setUpdateTime(now);
saveOrUpdate(lawsNewsFeed);
}
/**
* 通过id删除
*
@@ -151,7 +154,7 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LawsNewsFeed lawsNewsFeed = getById(id);
if (!loginUser.getId().equals(lawsNewsFeed.getWriter())
&& !loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN_ID)) {
&& !loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN)) {
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
removeById(id);
@@ -170,7 +173,7 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
List<String> writerList = newsFeedList.stream().map(LawsNewsFeed::getWriter)
.distinct().collect(Collectors.toList());
if ((writerList.size() > 1 || !loginUser.getId().equals(writerList.get(0)))
&& !loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN_ID)) {
&& !loginUser.getRoleIds().contains(FieldCommon.ROLE_ADMIN)) {
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
removeByIds(ids);
@@ -188,6 +191,8 @@ public class LawsNewsFeedServiceImpl extends ServiceImpl<LawsNewsFeedMapper, Law
if (Objects.isNull(lawsNewsFeed)) {
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 阅读次数加1
lawsNewsFeed.setReadCount(lawsNewsFeed.getReadCount() + 1);
return lawsNewsFeed;
}
}