Commit 91bd24ff by zhoujinghao

中心端用户角色菜单相关代码提交

1 parent 932af6d0
Showing 25 changed files with 571 additions and 282 deletions
......@@ -27,42 +27,16 @@ import java.util.List;
*/
@RestController
@RequestMapping("/nafmii/admin/menu")
@Api(tags = "3.0.0", description = "中心端菜单接口")
@Api(tags = "2.0.5", description = "中心端菜单接口")
public class CenterMenuController {
@Resource
private ICenterMenuService centerMenuService;
@ApiOperation( value = "中心端新增修改菜单",notes = "中心端新增修改菜单")
@PostMapping("/edit")
@ApiOperation( value = "中心端查询一二级菜单",notes = "中心端查询一二级菜单")
@PostMapping("/queryMenus")
@ResponseBody
public ApiResponse editMenus (@RequestBody @Validated EditMenuParam param){
ApiResponse result = centerMenuService.editMenu(param);
return result;
}
@ApiOperation( value = "中心端菜单列表查询",notes = "中心端菜单列表查询")
@PostMapping("/queryMenuList")
@ResponseBody
public ApiResponse<List<CenterMenuVO>> queryMenuList (@RequestBody @Validated QueryMenusParam param){
PageHelper.startPage(param.getPageNum(),param.getPageSize());
PageResult<CenterMenuVO> result =
BeanTransferUtils.toPagedResult(centerMenuService.queryMenuList(param), CenterMenuVO.class);
return new ApiResponse(result);
}
@ApiOperation( value = "中心端菜单删除",notes = "中心端菜单删除")
@PostMapping("/delete")
@ResponseBody
public ApiResponse deleteMenus(@RequestParam Long[] ids){
ApiResponse result = centerMenuService.deleteMenus(ids);
return result;
}
@ApiOperation( value = "中心端用户对应菜单查询",notes = "中心端用户对应菜单查询")
@PostMapping("/queryUserMenus")
@ResponseBody
public ApiResponse queryUserMenus (){
ApiResponse result = centerMenuService.queryUserMenus();
public ApiResponse queryMenus (){
ApiResponse result = centerMenuService.queryMenus();
return result;
}
}
......
......@@ -4,10 +4,7 @@ import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nafmii.admin.user.dto.CenterRoleDto;
import org.nafmii.admin.user.param.QueryRoleListParam;
import org.nafmii.admin.user.param.QueryRolesParam;
import org.nafmii.admin.user.param.SwitchStatusParam;
import org.nafmii.admin.user.param.SwitchStatusRoleParam;
import org.nafmii.admin.user.param.*;
import org.nafmii.admin.user.service.ICenterRoleService;
import org.nafmii.admin.user.vo.CenterRoleVO;
import org.nafmii.admin.user.vo.CenterUserAndRoleVo;
......@@ -31,7 +28,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("/nafmii/admin/role")
@Api(tags = "3.0.0", description = "中心端角色接口")
@Api(tags = "2.0.5", description = "中心端角色接口")
public class CenterRoleController {
@Resource
private ICenterRoleService centerRoleService;
......@@ -58,9 +55,25 @@ public class CenterRoleController {
@ApiOperation( value = "角色启动禁用接口",notes = "角色启动禁用接口")
@PostMapping("/switchStatus")
@ResponseBody
public ApiResponse switchStatus (@RequestBody SwitchStatusRoleParam param){
public ApiResponse switchStatus (@RequestBody @Validated SwitchStatusRoleParam param){
ApiResponse switchStatus = centerRoleService.switchStatus(param);
return switchStatus;
}
@ApiOperation( value = "角色删除接口",notes = "角色删除接口")
@PostMapping("/roleDelete")
@ResponseBody
public ApiResponse roleDelete (@RequestBody @Validated RoleDeleteParam param){
ApiResponse roleDelete = centerRoleService.roleDelete(param);
return roleDelete;
}
@ApiOperation( value = "角色新建和编辑接口",notes = "角色新建和编辑接口")
@PostMapping("/roleAddOrUpdate")
@ResponseBody
public ApiResponse roleAddOrUpdate (@RequestBody @Validated AddOrUpdateRoleParam param){
ApiResponse roleAddOrUpdate = centerRoleService.roleAddOrUpdate(param);
return roleAddOrUpdate;
}
}
......@@ -37,7 +37,7 @@ public class CenterUserController {
@ApiOperation( value = "中心端用户登陆",notes = "中心端用户登陆")
@PostMapping("/login")
@ResponseBody
public ApiResponse login (@RequestBody LoginParam param){
public ApiResponse login (@RequestBody@Validated LoginParam param){
ApiResponse login = centerUserService.userLogin(param);
return login;
}
......@@ -45,7 +45,7 @@ public class CenterUserController {
@ApiOperation( value = "中心端新建或编辑用户接口",notes = "中心端新建或编辑用户接口")
@PostMapping("/addOrUpdateUser")
@ResponseBody
public ApiResponse addOrUpdateUser (@RequestBody AddOrUpdateUserParam param){
public ApiResponse addOrUpdateUser (@RequestBody @Validated AddOrUpdateUserParam param){
ApiResponse user = centerUserService.addOrUpdateUser(param);
return user;
}
......@@ -63,7 +63,7 @@ public class CenterUserController {
@ApiOperation( value = "系统用户启动禁用接口",notes = "系统用户启动禁用接口")
@PostMapping("/switchStatus")
@ResponseBody
public ApiResponse switchStatus (@RequestBody SwitchStatusParam param){
public ApiResponse switchStatus (@RequestBody @Validated SwitchStatusParam param){
ApiResponse switchStatus = centerUserService.switchStatus(param);
return switchStatus;
}
......@@ -71,7 +71,7 @@ public class CenterUserController {
@ApiOperation( value = "用户删除接口",notes = "用户删除接口")
@PostMapping("/deleteUser")
@ResponseBody
public ApiResponse deleteUser (@RequestBody SwitchStatusParam param){
public ApiResponse deleteUser (@RequestBody @Validated SwitchStatusParam param){
ApiResponse switchStatus = centerUserService.deleteUser(param);
return switchStatus;
}
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nafmii.admin.user.dto.QueryMenusDto;
import org.nafmii.admin.user.entity.CenterMenuPO;
import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.admin.user.vo.MenuListVo;
import java.util.List;
......@@ -17,42 +18,9 @@ import java.util.List;
*/
public interface CenterMenuMapper extends BaseMapper<CenterMenuPO> {
/**
* @author:suncq
* @Function:中心端菜单新增修改
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
* 一级菜单相关数据
* @return
*/
int updateMenuById(CenterMenuPO centerMenuPO);
List<MenuListVo> selectAll();
/**
* @author:suncq
* @Function:中心端菜单列表查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryMenuList(QueryMenusDto dto);
/**
* @author:suncq
* @Function:中心端菜单删除
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
int deleteMenus(Long[] ids);
/**
* @author:suncq
* @Function:中心端用户对应菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryUserMenus(Long userid);
}
package org.nafmii.admin.user.dao;
import org.apache.ibatis.annotations.Param;
import org.nafmii.admin.user.entity.CneterRoleMenuPO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* <p>
* 中心端-角色菜单关系表 Mapper 接口
......@@ -12,5 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2021-05-12
*/
public interface CneterRoleMenuMapper extends BaseMapper<CneterRoleMenuPO> {
/**
* 角色id查询菜单相关数据
* @param id
* @return
*/
List<CneterRoleMenuPO> selectByRole(@Param("id") Long id);
}
package org.nafmii.admin.user.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 13:42
* @ClassName:
* @version:
* @remark:
*/
@Data
public class AddOrUpdateRoleDto {
@ApiModelProperty("中心端主键id:编辑时传入")
private Long id;
@ApiModelProperty("角色名称")
private String rName;
@ApiModelProperty("菜单主键id集合")
private List<Long> mId;
@ApiModelProperty("启用禁用 0 启用 1禁用")
private String isEnable;
}
......@@ -54,11 +54,11 @@ public class CenterRolePO extends Model {
@ApiModelProperty(value = "修改人")
@TableField("UPDATE_USER_ID")
private Long delFlag;
private Long updateUserId;
@ApiModelProperty(value = "是否删除0否1是")
@TableField("DEL_FLAG")
private String updateUserId;
private String delFlag;
}
package org.nafmii.admin.user.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 13:36
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel(value="新建或编辑角色参数对象")
public class AddOrUpdateRoleParam {
@ApiModelProperty("中心端主键id:编辑时传入")
private Long id;
@NotNull
@ApiModelProperty("角色名称")
private String rName;
@NotNull
@ApiModelProperty("菜单主键id集合")
private List<Long> mId;
@NotNull
@ApiModelProperty("启用禁用 0 启用 1禁用")
private String isEnable;
}
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author:zhoujh
* @Function:TODO
......@@ -19,24 +21,30 @@ public class AddOrUpdateUserParam {
private Long id;
@ApiModelProperty("账号")
@NotNull
private String loginName;
@ApiModelProperty("登陆密码")
@NotNull
private String loginPwd;
@ApiModelProperty("中文姓名")
@NotNull
private String cnName;
@ApiModelProperty("英文姓名")
@NotNull
private String enNAme;
@ApiModelProperty("角色id")
@NotNull
private Long roleId;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("0 有效 1 无效")
@NotNull
private String isEnable;
//
// @ApiModelProperty("创建人id")
......
......@@ -19,8 +19,10 @@ import javax.validation.constraints.NotNull;
public class LoginParam {
@ApiModelProperty("账号")
@NotNull
private String loginName;
@ApiModelProperty("登陆密码")
@NotNull
private String loginPwd;
}
package org.nafmii.admin.user.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 8:57
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel("角色删除参数对象")
public class RoleDeleteParam {
@ApiModelProperty("角色删除主键id")
@NotNull
private Long id;
}
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author:zhoujh
* @Function:TODO
......@@ -16,9 +18,11 @@ import lombok.Data;
@ApiModel("中心端用户启动禁用接口")
public class SwitchStatusParam {
@ApiModelProperty("用户主键id")
@NotNull
private Long id;
@ApiModelProperty("启动禁用 0 启动 1 禁用")
@NotNull
private String isEnable;
}
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author:zhoujh
* @Function:TODO
......@@ -16,8 +18,10 @@ import lombok.Data;
@ApiModel("角色启用禁用参数")
public class SwitchStatusRoleParam {
@ApiModelProperty("角色主键id")
@NotNull
private Long id;
@ApiModelProperty("启动禁用 0 启动 1 禁用")
@NotNull
private String isEnable;
}
package org.nafmii.admin.user.service;
import org.nafmii.admin.user.entity.CenterMenuPO;
import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.common.response.ApiResponse;
import java.util.List;
import java.util.Map;
/**
* <p>
* 中心端菜单表 服务类
* </p>
*
* @author suncq
* @author zjh
* @since 2021-04-28
*/
public interface ICenterMenuService{
/**
* @author:suncq
* @Function:中心端菜单新增修改
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse editMenu(EditMenuParam param);
/**
* @author:suncq
* @Function:中心端菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryMenuList(QueryMenusParam param);
/**
* @author:suncq
* @Function:中心端菜单删除
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse deleteMenus(Long[] ids);
/**
* @author:suncq
* @Function:中心端用户对应菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse queryUserMenus();
//中心端查询一二级菜单
ApiResponse queryMenus();
}
package org.nafmii.admin.user.service;
import org.nafmii.admin.user.dto.CenterRoleDto;
import org.nafmii.admin.user.param.QueryRoleListParam;
import org.nafmii.admin.user.param.QueryRolesParam;
import org.nafmii.admin.user.param.SwitchStatusRoleParam;
import org.nafmii.admin.user.param.*;
import org.nafmii.admin.user.vo.CenterRoleVO;
import org.nafmii.admin.user.vo.RoleListVo;
import org.nafmii.common.response.ApiResponse;
......@@ -38,6 +36,20 @@ public interface ICenterRoleService{
List<RoleListVo>queryRoleList(QueryRoleListParam param);
/**
* 角色新增编辑接口
* @param param
* @return
*/
ApiResponse roleAddOrUpdate(AddOrUpdateRoleParam param);
/**
* 角色删除接口
* @param param
* @return
*/
ApiResponse roleDelete(RoleDeleteParam param);
/**
* 角色启用禁用
* @param param
* @return
......
package org.nafmii.admin.user.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import lombok.extern.slf4j.Slf4j;
import org.nafmii.admin.user.dao.CenterMenuMapper;
import org.nafmii.admin.user.dto.QueryMenusDto;
import org.nafmii.admin.user.entity.CenterMenuPO;
......@@ -7,16 +10,22 @@ import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.service.ICenterMenuService;
import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.admin.user.vo.MenuListVo;
import org.nafmii.common.constant.MessageEnum;
import org.nafmii.common.param.BeanTransferUtils;
import org.nafmii.common.response.ApiResponse;
import org.nafmii.common.utils.MenuUtil;
import org.nafmii.common.utils.RequestUtils;
import org.nafmii.common.utils.SnowFlakeUtil;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
......@@ -27,91 +36,29 @@ import java.util.List;
* @since 2021-04-28
*/
@Service
@Slf4j
public class CenterMenuServiceImpl implements ICenterMenuService {
@Resource
private CenterMenuMapper centerMenuMapper;
/**
* 中心端菜单新增修改
* @param param
* 中心端查询一二级菜单接口
* @return
*/
@Override
public ApiResponse editMenu(EditMenuParam param) {
Long menuId = param.getId();
if(null == menuId){//新增
CenterMenuPO cmp = new CenterMenuPO();
cmp.setId(SnowFlakeUtil.nextId());
cmp.setMenuName(param.getMenuName());
cmp.setMenuLevle(param.getMenuLevle());
cmp.setOrderSeq(param.getOrderSeq());
cmp.setParentId(param.getParentId());
cmp.setIsEnable(param.getIsEnable());
cmp.setCreateUserId(RequestUtils.getUserId());
cmp.setUpdateUserId(RequestUtils.getUserId());
cmp.setCreateTime(LocalDateTime.now());
cmp.setUpdateTime(LocalDateTime.now());
int i = centerMenuMapper.insert(cmp);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
}else{//修改
CenterMenuPO cmp = new CenterMenuPO();
cmp.setId(param.getId());
cmp.setMenuName(param.getMenuName());
cmp.setMenuLevle(param.getMenuLevle());
cmp.setOrderSeq(param.getOrderSeq());
cmp.setParentId(param.getParentId());
cmp.setIsEnable(param.getIsEnable());
cmp.setUpdateUserId(param.getCreateUserId());
cmp.setUpdateTime(LocalDateTime.now());
int i = centerMenuMapper.updateMenuById(cmp);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
public ApiResponse queryMenus() {
//查询所有菜单相关数据=======================开始
List<MenuListVo> roleList = centerMenuMapper.selectAll();
//查询所有菜单相关数据=======================结束
log.info("======================>查询所有菜单相关数据"+roleList);
if (!CollectionUtils.isEmpty(roleList)){
String roleDateStr = JSON.toJSONString(roleList);
JSONArray array = JSON.parseArray(roleDateStr);
JSONArray arrayChild = MenuUtil.listToTree(array, "id", "parentId", "secondMenu");
List<MenuListVo> menuListVos = MenuUtil.arrayToList(arrayChild, MenuListVo.class);
log.info("========菜单最后的树形结构======>"+menuListVos);
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,menuListVos);
}
return null;
}
/**
* 中心端菜单查询
* @param
* @return
*/
@Override
public List<CenterMenuVO> queryMenuList(QueryMenusParam param) {
QueryMenusDto dto = BeanTransferUtils.transfer(param, QueryMenusDto.class);
return centerMenuMapper.queryMenuList(dto);
}
/**
* 中心端菜单删除
* @param
* @return
*/
@Override
public ApiResponse deleteMenus(Long[] ids) {
int result = centerMenuMapper.deleteMenus(ids);
if (result < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
}
/**
* 中心端用户对应菜单查询
* @param
* @return
*/
@Override
public ApiResponse queryUserMenus() {
Long userid = RequestUtils.getUserId();
List<CenterMenuVO> result = centerMenuMapper.queryUserMenus(userid);
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,result);
}
}
......@@ -2,15 +2,16 @@ package org.nafmii.admin.user.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.nafmii.admin.user.dao.CenterRoleMapper;
import org.nafmii.admin.user.dao.CneterRoleMenuMapper;
import org.nafmii.admin.user.dto.*;
import org.nafmii.admin.user.entity.CenterRolePO;
import org.nafmii.admin.user.entity.CenterUserPO;
import org.nafmii.admin.user.param.QueryRoleListParam;
import org.nafmii.admin.user.param.QueryRolesParam;
import org.nafmii.admin.user.param.SwitchStatusRoleParam;
import org.nafmii.admin.user.entity.CneterRoleMenuPO;
import org.nafmii.admin.user.param.*;
import org.nafmii.admin.user.service.ICenterRoleService;
import org.nafmii.admin.user.vo.CenterRoleVO;
import org.nafmii.admin.user.vo.RoleListVo;
import org.nafmii.common.constant.RoleEnum;
import org.nafmii.common.param.BeanTransferUtils;
import org.nafmii.common.response.ApiResponse;
import org.nafmii.common.utils.RequestUtils;
......@@ -32,9 +33,13 @@ import java.util.List;
@Service
@Slf4j
public class CenterRoleServiceImpl implements ICenterRoleService {
@Resource
private CenterRoleMapper roleMapper;
@Resource
private CneterRoleMenuMapper roleMenuMapper;
/**
* 角色下拉框查询接口
* @return
......@@ -45,6 +50,11 @@ public class CenterRoleServiceImpl implements ICenterRoleService {
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,list);
}
/**
* 角色列表查询接口
* @param param
* @return
*/
@Override
public List<RoleListVo> queryRoleList(QueryRoleListParam param) {
QueryRoleListDto userDto = BeanTransferUtils.transfer(param, QueryRoleListDto.class);
......@@ -54,6 +64,85 @@ public class CenterRoleServiceImpl implements ICenterRoleService {
}
/**
* 角色编辑新增接口
* @param param
* @return
*/
@Override
public ApiResponse roleAddOrUpdate(AddOrUpdateRoleParam param) {
AddOrUpdateRoleDto roleDto = BeanTransferUtils.transfer(param, AddOrUpdateRoleDto.class);
log.info("=====================角色新增编辑相关参数"+roleDto);
CenterRolePO rolePO = new CenterRolePO();
rolePO.setUpdateUserId(RequestUtils.getUserId());
rolePO.setUpdateTime(LocalDateTime.now());
rolePO.setDelFlag(RoleEnum.USER.getCode());
rolePO.setRName(roleDto.getRName());
rolePO.setIsEnable(roleDto.getIsEnable());
//判断新增还是编辑
if (null != roleDto.getId()){
rolePO.setId(roleDto.getId());
int i = roleMapper.updateById(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
}else{
rolePO.setId(SnowFlakeUtil.nextId());
rolePO.setCreateUserId(RequestUtils.getUserId());
rolePO.setCreatTime(LocalDateTime.now());
int i = roleMapper.insert(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
}
log.info("=====================角色新增编辑实体报文"+rolePO);
//通过角色查询相关挂载的菜单
List<CneterRoleMenuPO> menuPO = roleMenuMapper.selectByRole(rolePO.getId());
log.info("=====================通过角色查询相关挂载的菜单数据"+menuPO);
//修改菜单相关数据变为无效
if (menuPO.size() >0 ){
for (CneterRoleMenuPO roleMenuPO:menuPO) {
roleMenuPO.setIsEnable(RoleEnum.NOTENABLE.getCode());
roleMenuPO.setId(roleMenuPO.getId());
roleMenuMapper.updateById(roleMenuPO);
}
}
//新增相关菜单数据
List<Long> mIds = roleDto.getMId();
for (Long id: mIds) {
CneterRoleMenuPO roleMenuPO = new CneterRoleMenuPO();
roleMenuPO.setId(SnowFlakeUtil.nextId());
roleMenuPO.setIsEnable(RoleEnum.ENABLE.getCode());
roleMenuPO.setMenuId(id);
roleMenuPO.setRoleId(rolePO.getId());
log.info("=============角色菜单表相关数据报文"+roleMenuPO);
roleMenuMapper.insert(roleMenuPO);
}
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
/**
* 角色删除接口
* @param param
* @return
*/
@Override
public ApiResponse roleDelete(RoleDeleteParam param) {
log.info("=========================>角色删除相关参数"+param);
CenterRolePO rolePO = new CenterRolePO();
rolePO.setId(param.getId());
rolePO.setDelFlag(RoleEnum.DELETE.getCode());
rolePO.setUpdateTime(LocalDateTime.now());
rolePO.setUpdateUserId(RequestUtils.getUserId());
int i = roleMapper.updateById(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
/**
* 角色启用禁用
* @param param
* @return
......@@ -62,10 +151,12 @@ public class CenterRoleServiceImpl implements ICenterRoleService {
public ApiResponse switchStatus(SwitchStatusRoleParam param) {
SwitchStatusRoleDto roleDto = BeanTransferUtils.transfer(param, SwitchStatusRoleDto.class);
log.info("=========================>角色启动禁用相关参数"+param);
CenterRolePO userPO = new CenterRolePO();
userPO.setId(roleDto.getId());
userPO.setIsEnable(roleDto.getIsEnable());
int i = roleMapper.updateById(userPO);
CenterRolePO rolePO = new CenterRolePO();
rolePO.setId(roleDto.getId());
rolePO.setIsEnable(roleDto.getIsEnable());
rolePO.setUpdateTime(LocalDateTime.now());
rolePO.setUpdateUserId(RequestUtils.getUserId());
int i = roleMapper.updateById(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
......
......@@ -65,6 +65,7 @@ public class CenterUserServiceImpl implements ICenterUserService {
userPO.setLoginPwd(DigestUtil.md5Hex(userDto.getLoginPwd().getBytes()));
userPO.setPhone(userDto.getPhone());
userPO.setIsEnable(userDto.getIsEnable());
userPO.setDelFlag(UserEnum.USER.getCode());
//=====================用户参数赋值====================结束
//判断新增功能还是编辑功能
if (null != param.getId()){
......@@ -124,6 +125,8 @@ public class CenterUserServiceImpl implements ICenterUserService {
CenterUserPO userPO = new CenterUserPO();
userPO.setId(userDto.getId());
userPO.setDelFlag(UserEnum.DELETE.getCode());
userPO.setUpdateUserId(RequestUtils.getUserId());
userPO.setUpdateTime(LocalDateTime.now());
int i = centerUserMapper.updateById(userPO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
......@@ -156,6 +159,8 @@ public class CenterUserServiceImpl implements ICenterUserService {
CenterUserPO userPO = new CenterUserPO();
userPO.setId(userDto.getId());
userPO.setIsEnable(userDto.getIsEnable());
userPO.setUpdateUserId(RequestUtils.getUserId());
userPO.setUpdateTime(LocalDateTime.now());
int i = centerUserMapper.updateById(userPO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
......
package org.nafmii.admin.user.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 9:47
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel("菜单一二级数据返回报文")
public class MenuListVo {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "一级菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单级别")
private Integer menuLevle;
@ApiModelProperty(value = "排序字段")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
@ApiModelProperty(value = "二级菜单名称对象")
private List<SecondMenu> secondMenu;
}
package org.nafmii.admin.user.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 9:50
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel("二级菜单相关数据返回报文")
public class SecondMenu {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "一级菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单级别")
private Integer menuLevle;
@ApiModelProperty(value = "排序字段")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
}
......@@ -21,81 +21,13 @@
ID, MENU_NAME, MENU_LEVLE, PARENT_ID, ORDER_SEQ, CREATE_TIME, UPDATE_TIME, IS_ENABLE, CREATE_USER_ID, UPDATE_USER_ID
</sql>
<!-- 新增修改中心端角色 -->
<update id="updateMenuById" parameterType="map" >
update CENTER_MENU
<set >
<if test="menuName != null" >
MENU_NAME = #{menuName,jdbcType=VARCHAR},
</if>
<if test="menuLevle != null" >
MENU_LEVLE = #{menuLevle,jdbcType=INTEGER},
</if>
<if test="parentId != null" >
PARENT_ID = #{parentId,jdbcType=BIGINT},
</if>
<if test="orderSeq != null" >
ORDER_SEQ = #{orderSeq,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
CREATE_TIME = #{createTime,jdbcType=BIGINT},
</if>
<if test="updateTime != null" >
UPDATE_TIME = #{updateTime,jdbcType=BIGINT},
</if>
<if test="isEnable != null" >
IS_ENABLE = #{isEnable,jdbcType=VARCHAR},
</if>
<if test="createUserId != null" >
CREATE_USER_ID = #{createUserId,jdbcType=BIGINT},
</if>
<if test="updateUserId != null" >
UPDATE_USER_ID = #{updateUserId,jdbcType=BIGINT},
</if>
</set>
where ID = #{id,jdbcType=BIGINT}
</update>
<!-- 查询中心端菜单 -->
<select id="queryMenuList" parameterType="org.nafmii.admin.user.dto.CenterMenuDTO"
resultType="org.nafmii.admin.user.vo.CenterMenuVO">
<select id="selectAll" resultType="org.nafmii.admin.user.vo.MenuListVo">
select
ID as id, MENU_NAME as menuName, MENU_LEVLE as menuLevle, PARENT_ID as parentId, ORDER_SEQ as orderSeq,
CREATE_TIME as createTime, UPDATE_TIME as updateTime, IS_ENABLE as isEnable, CREATE_USER_ID as createUserId,
UPDATE_USER_ID as updateUserId
ID as id,
MENU_NAME as menuName, MENU_LEVLE as menuLevle, PARENT_ID as parentId,
ORDER_SEQ as orderSeq, CREATE_TIME as createTime, UPDATE_TIME as updateTime,
IS_ENABLE as isEnable, CREATE_USER_ID as createUserId, UPDATE_USER_ID as updateUserId
from CENTER_MENU
<where>
<if test="startCreateTime != null and endCreateTime != null">
DATE_FORMAT(CREATE_TIME,'%Y-%m-%d') BETWEEN #{startCreateTime} and #{endCreateTime}
</if>
</where>
where IS_ENABLE = 0
</select>
<!-- 删除中心端菜单 -->
<update id="deleteMenus">
update
CENTER_MENU
set IS_ENABLE = "1"
where
ID IN
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 中心端用户对应菜单查询 -->
<select id="queryUserMenus" parameterType="map" resultType="org.nafmii.admin.user.vo.CenterMenuVO">
SELECT
cm.ID as id, cm.MENU_NAME as menuName, cm.MENU_LEVLE as menuLevle, cm.PARENT_ID as parentId, cm.ORDER_SEQ as orderSeq,
cm.CREATE_TIME as createTime,cm.UPDATE_TIME as updateTime, cm.IS_ENABLE as isEnable, cm.CREATE_USER_ID as createUserId,
cm.UPDATE_USER_ID as updateUserId
FROM
CENTER_MENU cm
INNER JOIN CENTER_ROLE_MENU crm ON cm.id = crm.menu_id
INNER JOIN CENTER_USER_ROLE cur ON cur.role_id = crm.role_id
INNER JOIN CENTER_USER cu ON cur.user_id = cu.id
WHERE
cu.id = #{userid,jdbcType=BIGINT}
</select>
</mapper>
......@@ -14,5 +14,10 @@
<sql id="Base_Column_List">
ID, ROLE_ID, MENU_ID, IS_ENABLE
</sql>
<select id="selectByRole" parameterType="map" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"></include>
from CNETER_ROLE_MENU
where IS_ENABLE = 0
</select>
</mapper>
package org.nafmii.common.constant;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/4/27 9:57
* @ClassName:
* @version:
* @remark:
*/
public enum RoleEnum {
/**
* 用户删除
*/
DELETE("1","删除"),
USER("0","再用"),
/**
* 是否有效标识 0 有效用户 1无效用户
*/
ENABLE("0","有效角色"),
NOTENABLE("1","无效角色"),
;
RoleEnum(String code, String name){
this.code = code;
this.name = name;
}
private String name;
private String code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
......@@ -13,6 +13,7 @@ public enum UserEnum{
* 用户删除
*/
DELETE("1","删除"),
USER("0","再用"),
/**
* 是否开启人脸识别登录 0 未开启 1 已开启
*/
......
package org.nafmii.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
/**
* @author weijixiang
* @Description 菜单工具类
* @date 2020/2/21.
*/
public class MenuUtil {
/**
* 生成树状结构
* @param menuList
* @param parentId
* @return
*/
public static JSONArray treeMenuList(JSONArray menuList, String parentId) {
JSONArray childMenu = new JSONArray();
for (Object object : menuList) {
JSONObject jsonMenu = JSONObject.parseObject(JSONObject.toJSONString(object));
String menuId = jsonMenu.getString("moduleCode");
String pid = jsonMenu.getString("parentModule");
if (parentId.equals(pid)) {
JSONArray childModule = treeMenuList(menuList, menuId);
jsonMenu.put("children", childModule);
childMenu.add(jsonMenu);
}
}
return childMenu;
}
/**
* 生成部门树状结构
* @param deptList
* @param parentId
* @return
*/
public static JSONArray treeDeptList(JSONArray deptList, String parentId) {
JSONArray childMenu = new JSONArray();
for (Object object : deptList) {
JSONObject jsonMenu = JSONObject.parseObject(JSONObject.toJSONString(object));
String menuId = jsonMenu.getString("deptCode");
String pid = jsonMenu.getString("parentDept");
if (parentId.equals(pid)) {
JSONArray childModule = treeMenuList(deptList, menuId);
jsonMenu.put("children", childModule);
childMenu.add(jsonMenu);
}
}
return childMenu;
}
/**
* jsonArray 转成 List
* @param array
* @param clazz
* @param <T>
* @return
*/
public static <T> List<T> arrayToList(JSONArray array, Class<T> clazz){
String jsonStr = JSON.toJSONString(array);
return JSONObject.parseArray(jsonStr,clazz);
}
/**
- listToTree
- <p>方法说明<p>
- 将JSONArray数组转为树状结构
- @param arr 需要转化的数据
- @param id 数据唯一的标识键值
- @param pid 父id唯一标识键值
- @param child 子节点键值
- @return JSONArray
*/
public static JSONArray listToTree(JSONArray arr, String id, String pid, String child) {
JSONArray r = new JSONArray();
JSONObject hash = new JSONObject();
//将数组转为Object的形式,key为数组中的id
for (int i = 0; i < arr.size(); i++) {
JSONObject json = (JSONObject) arr.get(i);
hash.put(json.getString(id), json);
}
//遍历结果集
for (int j = 0; j < arr.size(); j++) {
//单条记录
JSONObject aVal = (JSONObject) arr.get(j);
//在hash中取出key为单条记录中pid的值
String pidStr = "";
Object pidObj = aVal.get(pid);
if (aVal.get(pid) != null) {
pidStr = aVal.get(pid).toString();
}
JSONObject hashVP = (JSONObject) hash.get(pidStr);
//如果记录的pid存在,则说明它有父节点,将她添加到孩子节点的集合中
if (hashVP != null) {
//检查是否有child属性
if (hashVP.get(child) != null) {
JSONArray ch = (JSONArray) hashVP.get(child);
ch.add(aVal);
hashVP.put(child, ch);
} else {
JSONArray ch = new JSONArray();
ch.add(aVal);
hashVP.put(child, ch);
}
} else {
r.add(aVal);
}
}
return r;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!