feat(首页): 快捷入口、待办任务
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
package com.jero.modules.laws.home.controller;
|
||||
|
||||
/**
|
||||
* @ClassName: LawsHomeBacklogTask
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-12-21 11:06
|
||||
* @Version: 1.0
|
||||
**/
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.activiti.controller.WorkCenterController;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Description: 待办任务
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-12-21
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="待办任务")
|
||||
@RestController
|
||||
@RequestMapping("/home/lawsHomeBacklogTask")
|
||||
@Slf4j
|
||||
public class LawsHomeBacklogTask {
|
||||
private final ApplicationContext applicationContext;
|
||||
|
||||
public LawsHomeBacklogTask(ApplicationContext applicationContext) {
|
||||
this.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* 待办任务-列表查询
|
||||
* @param processAll
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "待办任务-列表查询")
|
||||
@ApiOperation(value="待办任务-列表查询", notes="快捷入口-列表查询")
|
||||
@GetMapping(value = "/queryBacklogTaskList")
|
||||
public Result<IPage<ProcessAll>> getTodoList(ProcessAll processAll) {
|
||||
WorkCenterController workCenterController = applicationContext.getBean(WorkCenterController.class);
|
||||
return workCenterController.getTodoList(processAll, 1, 10, null);
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
package com.jero.modules.laws.home.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.laws.home.entity.LawsHomeQuickAccess;
|
||||
import com.jero.modules.laws.home.service.ILawsHomeQuickAccessService;
|
||||
import com.jero.modules.system.entity.SysPermission;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 快捷入口
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-12-21
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="快捷入口")
|
||||
@RestController
|
||||
@RequestMapping("/home/lawsHomeQuickAccess")
|
||||
@Slf4j
|
||||
public class LawsHomeQuickAccessController extends JeroController<LawsHomeQuickAccess, ILawsHomeQuickAccessService> {
|
||||
private final ILawsHomeQuickAccessService lawsHomeQuickAccessService;
|
||||
|
||||
public LawsHomeQuickAccessController(ILawsHomeQuickAccessService lawsHomeQuickAccessService) {
|
||||
this.lawsHomeQuickAccessService = lawsHomeQuickAccessService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 快捷入口-个人展示模块
|
||||
*
|
||||
* @param menuName
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "快捷入口-个人展示模块")
|
||||
@ApiOperation(value="快捷入口-个人展示模块", notes="快捷入口-个人展示模块")
|
||||
@GetMapping(value = "/queryMenuList")
|
||||
public Result<List<SysPermission>> queryMenuList(String menuName) {
|
||||
return Result.OK(lawsHomeQuickAccessService.queryMenuList(menuName));
|
||||
}
|
||||
|
||||
/**
|
||||
* 快捷入口-可选模块
|
||||
*
|
||||
* @param menuName
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "快捷入口-可选模块")
|
||||
@ApiOperation(value="快捷入口-可选模块", notes="快捷入口-可选模块")
|
||||
@GetMapping(value = "/queryPermissionMenuList")
|
||||
public Result<List<SysPermission>> queryPermissionMenuList(String menuName) {
|
||||
return Result.OK(lawsHomeQuickAccessService.queryPermissionMenuList(menuName));
|
||||
}
|
||||
|
||||
/**
|
||||
* 快捷入口-保存菜单
|
||||
*
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "快捷入口-保存菜单")
|
||||
@ApiOperation(value="快捷入口-保存菜单", notes="快捷入口-保存菜单")
|
||||
@PostMapping(value = "/saveMenu")
|
||||
public Result<T> saveMenu(@Validated @RequestBody JSONObject jsonObject) {
|
||||
lawsHomeQuickAccessService.saveMenu((String) jsonObject.get("permissionIds"));
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.jero.modules.laws.home.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 快捷入口
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-12-21
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("laws_home_quick_access")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="laws_home_quick_access对象", description="快捷入口")
|
||||
public class LawsHomeQuickAccess implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
/**菜单id*/
|
||||
@Excel(name = "菜单id", width = 15)
|
||||
@ApiModelProperty(value = "菜单id")
|
||||
private String permissionId;
|
||||
/**用户id*/
|
||||
@Excel(name = "用户id", width = 15)
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private String userId;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private Date updateTime;
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.laws.home.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.laws.home.entity.LawsHomeQuickAccess;
|
||||
|
||||
/**
|
||||
* @Description: 快捷入口
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-12-21
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface LawsHomeQuickAccessMapper extends BaseMapper<LawsHomeQuickAccess> {
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.laws.home.mapper.LawsHomeQuickAccessMapper">
|
||||
|
||||
</mapper>
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
package com.jero.modules.laws.home.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.laws.home.entity.LawsHomeQuickAccess;
|
||||
import com.jero.modules.system.entity.SysPermission;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 快捷入口
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-12-21
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ILawsHomeQuickAccessService extends IService<LawsHomeQuickAccess> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<LawsHomeQuickAccess> queryPage(LawsHomeQuickAccess lawsHomeQuickAccess, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<LawsHomeQuickAccess> queryList(LawsHomeQuickAccess lawsHomeQuickAccess, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @return
|
||||
*/
|
||||
void add(LawsHomeQuickAccess lawsHomeQuickAccess);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @return
|
||||
*/
|
||||
void editById(LawsHomeQuickAccess lawsHomeQuickAccess);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
LawsHomeQuickAccess queryById(String id);
|
||||
|
||||
/**
|
||||
* 快捷入口-可选模块
|
||||
* @param menuName
|
||||
* @return
|
||||
*/
|
||||
List<SysPermission> queryPermissionMenuList(String menuName);
|
||||
|
||||
/**
|
||||
* 快捷入口-保存菜单
|
||||
* @param permissionIdList
|
||||
*/
|
||||
void saveMenu(String permissionIdList);
|
||||
|
||||
/**
|
||||
* 快捷入口-个人展示模块
|
||||
* @param menuName
|
||||
* @return
|
||||
*/
|
||||
List<SysPermission> queryMenuList(String menuName);
|
||||
}
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
package com.jero.modules.laws.home.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.laws.home.entity.LawsHomeQuickAccess;
|
||||
import com.jero.modules.laws.home.mapper.LawsHomeQuickAccessMapper;
|
||||
import com.jero.modules.laws.home.service.ILawsHomeQuickAccessService;
|
||||
import com.jero.modules.system.entity.SysPermission;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.system.entity.SysRolePermission;
|
||||
import com.jero.modules.system.service.ISysPermissionService;
|
||||
import com.jero.modules.system.service.ISysRolePermissionService;
|
||||
import com.jero.modules.system.service.ISysRoleService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 快捷入口
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-12-21
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class LawsHomeQuickAccessServiceImpl extends ServiceImpl<LawsHomeQuickAccessMapper, LawsHomeQuickAccess> implements ILawsHomeQuickAccessService {
|
||||
private final ISysRoleService sysRoleService;
|
||||
private final ISysRolePermissionService sysRolePermissionService;
|
||||
private final ISysPermissionService sysPermissionService;
|
||||
|
||||
public LawsHomeQuickAccessServiceImpl(ISysRoleService sysRoleService,
|
||||
ISysRolePermissionService sysRolePermissionService,
|
||||
ISysPermissionService sysPermissionService) {
|
||||
this.sysRoleService = sysRoleService;
|
||||
this.sysRolePermissionService = sysRolePermissionService;
|
||||
this.sysPermissionService = sysPermissionService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<LawsHomeQuickAccess> queryPage(LawsHomeQuickAccess lawsHomeQuickAccess, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<LawsHomeQuickAccess> queryWrapper = QueryGenerator.initQueryWrapper(lawsHomeQuickAccess, req.getParameterMap());
|
||||
Page<LawsHomeQuickAccess> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<LawsHomeQuickAccess> queryList(LawsHomeQuickAccess lawsHomeQuickAccess, HttpServletRequest req) {
|
||||
return list(QueryGenerator.initQueryWrapper(lawsHomeQuickAccess, req.getParameterMap()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(LawsHomeQuickAccess lawsHomeQuickAccess) {
|
||||
Date now = new Date();
|
||||
lawsHomeQuickAccess.setCreateTime(now);
|
||||
lawsHomeQuickAccess.setUpdateTime(now);
|
||||
save(lawsHomeQuickAccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param lawsHomeQuickAccess
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(LawsHomeQuickAccess lawsHomeQuickAccess) {
|
||||
Date now = new Date();
|
||||
lawsHomeQuickAccess.setUpdateTime(now);
|
||||
saveOrUpdate(lawsHomeQuickAccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public LawsHomeQuickAccess queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysPermission> queryPermissionMenuList(String menuName) {
|
||||
List<SysPermission> sysPermissionList = new ArrayList<>();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<SysRole> roleList = sysRoleService.list(new LambdaQueryWrapper<SysRole>()
|
||||
.in(SysRole::getRoleCode, Arrays.asList(sysUser.getRoleIds().split(","))));
|
||||
if (!roleList.isEmpty()){
|
||||
List<String> roleIdList = roleList.stream().map(SysRole::getId).collect(Collectors.toList());
|
||||
List<SysRolePermission> sysRolePermissionList = sysRolePermissionService.list(
|
||||
new LambdaQueryWrapper<SysRolePermission>()
|
||||
.in(SysRolePermission::getRoleId, roleIdList));
|
||||
if (!sysRolePermissionList.isEmpty()){
|
||||
List<String> permissionIdList = sysRolePermissionList.stream().map(SysRolePermission::getPermissionId).distinct().collect(Collectors.toList());
|
||||
sysPermissionList = sysPermissionService.list(new LambdaQueryWrapper<SysPermission>()
|
||||
.in(SysPermission::getId, permissionIdList)
|
||||
.eq(SysPermission::getMenuType, 1)
|
||||
.eq(SysPermission::isHidden, 0)
|
||||
.eq(StringUtils.isNotBlank(menuName), SysPermission::getName, menuName));
|
||||
}
|
||||
}
|
||||
return sysPermissionList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveMenu(String permissionIdList) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 删除旧数据
|
||||
remove(new LambdaQueryWrapper<LawsHomeQuickAccess>()
|
||||
.eq(LawsHomeQuickAccess::getUserId, sysUser.getId()));
|
||||
// 保存新数据
|
||||
List<LawsHomeQuickAccess> lawsHomeQuickAccessList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(permissionIdList)){
|
||||
for (String permissionId : permissionIdList.split(",")) {
|
||||
LawsHomeQuickAccess lawsHomeQuickAccess = new LawsHomeQuickAccess();
|
||||
lawsHomeQuickAccess.setUserId(sysUser.getId());
|
||||
lawsHomeQuickAccess.setPermissionId(permissionId);
|
||||
lawsHomeQuickAccessList.add(lawsHomeQuickAccess);
|
||||
}
|
||||
saveBatch(lawsHomeQuickAccessList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysPermission> queryMenuList(String menuName) {
|
||||
List<SysPermission> sysPermissionList = new ArrayList<>();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<LawsHomeQuickAccess> lawsHomeQuickAccessList = list(new LambdaQueryWrapper<LawsHomeQuickAccess>()
|
||||
.eq(LawsHomeQuickAccess::getUserId, sysUser.getId()));
|
||||
if (!lawsHomeQuickAccessList.isEmpty()){
|
||||
List<String> permissionIdList = lawsHomeQuickAccessList.stream().map(LawsHomeQuickAccess::getPermissionId).collect(Collectors.toList());
|
||||
sysPermissionList = sysPermissionService.list(new LambdaQueryWrapper<SysPermission>()
|
||||
.in(SysPermission::getId, permissionIdList)
|
||||
.eq(StringUtils.isNotBlank(menuName), SysPermission::getName, menuName)
|
||||
.orderByDesc(SysPermission::getCreateTime));
|
||||
}
|
||||
return sysPermissionList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user