feat: bug-369 添加对产品线和数据权限的支持
This commit is contained in:
parent
0c0178c78a
commit
07203f095c
|
|
@ -174,6 +174,8 @@ public class AdminUserController extends ControllerBase {
|
||||||
.setDepartmentId(request.getDepartmentId())
|
.setDepartmentId(request.getDepartmentId())
|
||||||
.setPhone(request.getPhone())
|
.setPhone(request.getPhone())
|
||||||
.setTitleId(request.getTitleId())
|
.setTitleId(request.getTitleId())
|
||||||
|
.setProductionLineId(request.getProductionLineId())
|
||||||
|
.setDataRoleId(request.getDataRoleId())
|
||||||
.setUpdateBy(AdminUserUtil.getUserId())
|
.setUpdateBy(AdminUserUtil.getUserId())
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now());
|
||||||
if (!Objects.equals(user.getState(), UserState.ToBeActivated.getState()) && Objects.nonNull(request.getEnable())) {
|
if (!Objects.equals(user.getState(), UserState.ToBeActivated.getState()) && Objects.nonNull(request.getEnable())) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
package com.nflg.mobilebroken.admin.controller;
|
||||||
|
|
||||||
|
import com.nflg.mobilebroken.admin.annotation.ApiMark;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleUpdateRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
|
||||||
|
import com.nflg.mobilebroken.repository.service.IDataRoleService;
|
||||||
|
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据权限角色管理
|
||||||
|
* @author 曹鹏飞
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/datarole")
|
||||||
|
public class DataRoleController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDataRoleService dataRoleService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增角色
|
||||||
|
* @param request 请求参数
|
||||||
|
*/
|
||||||
|
@PostMapping("addRole")
|
||||||
|
@MethodInfoMark(value = "新增角色", menuName = "数据权限角色管理")
|
||||||
|
@ApiMark(moduleName = "数据权限角色管理", apiName = "新增角色")
|
||||||
|
public ApiResult<Void> addRole(@Valid @RequestBody DataRoleAddRequest request) {
|
||||||
|
dataRoleService.add(request);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改角色
|
||||||
|
* @param request 请求参数
|
||||||
|
*/
|
||||||
|
@PostMapping("updateRole")
|
||||||
|
@MethodInfoMark(value = "修改角色", menuName = "数据权限角色管理")
|
||||||
|
@ApiMark(moduleName = "数据权限角色管理", apiName = "修改角色")
|
||||||
|
public ApiResult<Void> updateRole(@Valid @RequestBody DataRoleUpdateRequest request) {
|
||||||
|
dataRoleService.update(request);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启用/禁用角色
|
||||||
|
* @param request 请求参数
|
||||||
|
*/
|
||||||
|
@PostMapping("enableRole")
|
||||||
|
@ApiMark(moduleName = "数据权限角色管理", apiName = "启用/禁用角色")
|
||||||
|
public ApiResult<Void> enableRole(@Valid @RequestBody EnableRoleRequest request) {
|
||||||
|
dataRoleService.enable(request);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除角色
|
||||||
|
* @param ids 角色id列表
|
||||||
|
*/
|
||||||
|
@PostMapping("deleteRole")
|
||||||
|
@ApiMark(moduleName = "数据权限角色管理", apiName = "删除角色")
|
||||||
|
public ApiResult<Void> deleteRole(@Valid @RequestBody @NotEmpty List<Integer> ids) {
|
||||||
|
dataRoleService.removeByIds(ids);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 搜索角色
|
||||||
|
* @param request 请求参数
|
||||||
|
*/
|
||||||
|
@PostMapping("searchRoles")
|
||||||
|
@ApiMark(moduleName = "数据权限角色管理", apiName = "搜索角色")
|
||||||
|
public ApiResult<PageData<DataRoleVO>> searchRoles(@Valid @RequestBody RoleSearchRequest request) {
|
||||||
|
return ApiResult.success(dataRoleService.search(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取角色下拉列表
|
||||||
|
*/
|
||||||
|
@GetMapping("getSimpleRoles")
|
||||||
|
@ApiMark(moduleName = "数据权限角色管理", apiName = "获取角色下拉列表",isPublic = true)
|
||||||
|
public ApiResult<List<SimpleVO>> getSimpleRoles(){
|
||||||
|
return ApiResult.success(dataRoleService.getSimpleRoles());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.nflg.mobilebroken.common.constant;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum ProductionLinePermissionType {
|
||||||
|
|
||||||
|
ShowMe(0, "只看自己"),
|
||||||
|
ShowOwned(1, "只看本产品线"),
|
||||||
|
Customize(2, "自定义产品线");
|
||||||
|
|
||||||
|
private final int type;
|
||||||
|
private final String description;
|
||||||
|
|
||||||
|
public static ProductionLinePermissionType findByValue(int value) {
|
||||||
|
for (ProductionLinePermissionType valueEnum : ProductionLinePermissionType.values()) {
|
||||||
|
if (Objects.equals(valueEnum.getType(), value)) {
|
||||||
|
return valueEnum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -48,4 +48,9 @@ public class AccountAddRequest {
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer productionLineId;
|
private Integer productionLineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据权限角色id
|
||||||
|
*/
|
||||||
|
private Integer dataRoleId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.nflg.mobilebroken.common.pojo.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class DataRoleAddRequest {
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@NotEmpty
|
||||||
|
@Valid
|
||||||
|
private List<DataRoleItemRequest> configs;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.nflg.mobilebroken.common.pojo.request;
|
||||||
|
|
||||||
|
import com.nflg.mobilebroken.common.constant.ProductionLinePermissionType;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DataRoleItemRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模块ID,字典项id
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private Integer moduleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品线权限类型
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private ProductionLinePermissionType type;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.nflg.mobilebroken.common.pojo.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DataRoleUpdateRequest extends DataRoleAddRequest {
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否启用
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private Boolean enable;
|
||||||
|
}
|
||||||
|
|
@ -63,4 +63,16 @@ public class AdminUserVO {
|
||||||
|
|
||||||
//微信openid
|
//微信openid
|
||||||
private String openId;
|
private String openId;
|
||||||
|
|
||||||
|
//产品线id
|
||||||
|
private Integer productionLineId;
|
||||||
|
|
||||||
|
//产品线名称
|
||||||
|
private String productionLineName;
|
||||||
|
|
||||||
|
//数据权限角色id
|
||||||
|
private Integer dataRoleId;
|
||||||
|
|
||||||
|
//数据权限角色名称
|
||||||
|
private String dataRoleName;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.nflg.mobilebroken.common.pojo.vo;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleItemRequest;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DataRoleVO {
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private String config;
|
||||||
|
|
||||||
|
private List<DataRoleItemRequest> configs;
|
||||||
|
/**
|
||||||
|
* 是否启用
|
||||||
|
*/
|
||||||
|
private Boolean enable;
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
private String createBy;
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
/**
|
||||||
|
* 最后更新人
|
||||||
|
*/
|
||||||
|
private String updateBy;
|
||||||
|
/**
|
||||||
|
* 最后更新时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
public List<DataRoleItemRequest> getConfigs() {
|
||||||
|
return JSONUtil.toList(config, DataRoleItemRequest.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -84,6 +84,16 @@ public class AdminUser implements Serializable {
|
||||||
*/
|
*/
|
||||||
private byte state;
|
private byte state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品线id
|
||||||
|
*/
|
||||||
|
private Integer productionLineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据权限id
|
||||||
|
*/
|
||||||
|
private Integer dataRoleId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建人id
|
* 创建人id
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
package com.nflg.mobilebroken.repository.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据权限角色
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("data_role")
|
||||||
|
public class DataRole implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置信息
|
||||||
|
*/
|
||||||
|
private String config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否启用
|
||||||
|
*/
|
||||||
|
private Boolean enable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最后更新人
|
||||||
|
*/
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最后更新时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.nflg.mobilebroken.repository.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
|
||||||
|
import com.nflg.mobilebroken.repository.entity.DataRole;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据权限角色 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface DataRoleMapper extends BaseMapper<DataRole> {
|
||||||
|
|
||||||
|
PageData<DataRoleVO> search(RoleSearchRequest request, Page<?> page);
|
||||||
|
|
||||||
|
List<SimpleVO> getSimpleRoles();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.nflg.mobilebroken.repository.service;
|
||||||
|
|
||||||
|
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleUpdateRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
|
||||||
|
import com.nflg.mobilebroken.repository.entity.DataRole;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据权限角色 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface IDataRoleService extends IService<DataRole> {
|
||||||
|
|
||||||
|
void add(@Valid DataRoleAddRequest request);
|
||||||
|
|
||||||
|
void update(@Valid DataRoleUpdateRequest request);
|
||||||
|
|
||||||
|
void enable(@Valid EnableRoleRequest request);
|
||||||
|
|
||||||
|
PageData<DataRoleVO> search(@Valid RoleSearchRequest request);
|
||||||
|
|
||||||
|
List<SimpleVO> getSimpleRoles();
|
||||||
|
}
|
||||||
|
|
@ -64,6 +64,12 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
@Resource
|
@Resource
|
||||||
private ITBaseDeviceTypeService deviceTypeService;
|
private ITBaseDeviceTypeService deviceTypeService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IProductionLineService productionLineService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDataRoleService dataRoleService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AdminUser getUser(String userName, String password) {
|
public AdminUser getUser(String userName, String password) {
|
||||||
AdminUser user = lambdaQuery()
|
AdminUser user = lambdaQuery()
|
||||||
|
|
@ -89,6 +95,8 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
.setPhone(request.getPhone())
|
.setPhone(request.getPhone())
|
||||||
.setUserName(request.getUserName())
|
.setUserName(request.getUserName())
|
||||||
.setDepartmentId(request.getDepartmentId())
|
.setDepartmentId(request.getDepartmentId())
|
||||||
|
.setProductionLineId(request.getProductionLineId())
|
||||||
|
.setDataRoleId(request.getDataRoleId())
|
||||||
.setUpdateBy(AdminUserUtil.getUserId())
|
.setUpdateBy(AdminUserUtil.getUserId())
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now());
|
||||||
updateById(user);
|
updateById(user);
|
||||||
|
|
@ -103,6 +111,8 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
.setLoginName(request.getLoginName())
|
.setLoginName(request.getLoginName())
|
||||||
.setPhone(request.getPhone())
|
.setPhone(request.getPhone())
|
||||||
.setTitleId(request.getTitleId())
|
.setTitleId(request.getTitleId())
|
||||||
|
.setProductionLineId(request.getProductionLineId())
|
||||||
|
.setDataRoleId(request.getDataRoleId())
|
||||||
.setCreateBy(AdminUserUtil.getUserId())
|
.setCreateBy(AdminUserUtil.getUserId())
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
save(user);
|
save(user);
|
||||||
|
|
@ -132,6 +142,8 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
pageData.setPage((int) page.getCurrent());
|
pageData.setPage((int) page.getCurrent());
|
||||||
pageData.setPageSize((int) page.getSize());
|
pageData.setPageSize((int) page.getSize());
|
||||||
pageData.setTotal((int) page.getTotal());
|
pageData.setTotal((int) page.getTotal());
|
||||||
|
List<ProductionLine> productionLines=productionLineService.list();
|
||||||
|
List<DataRole> dataRoles=dataRoleService.list();
|
||||||
pageData.setItems(page.getRecords().stream().map(u ->{
|
pageData.setItems(page.getRecords().stream().map(u ->{
|
||||||
AdminUser userCreate=getById(u.getCreateBy());
|
AdminUser userCreate=getById(u.getCreateBy());
|
||||||
return new AdminUserVO()
|
return new AdminUserVO()
|
||||||
|
|
@ -151,6 +163,10 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
.setDepartmentId(u.getDepartmentId())
|
.setDepartmentId(u.getDepartmentId())
|
||||||
.setTitleId(u.getTitleId())
|
.setTitleId(u.getTitleId())
|
||||||
.setTitleName(getTitleName(u.getTitleId()))
|
.setTitleName(getTitleName(u.getTitleId()))
|
||||||
|
.setProductionLineId(u.getProductionLineId())
|
||||||
|
.setProductionLineName(productionLines.stream().filter(p->Objects.equals(p.getId(),u.getProductionLineId())).findFirst().map(ProductionLine::getName).orElse(""))
|
||||||
|
.setDataRoleId(u.getDataRoleId())
|
||||||
|
.setDataRoleName(dataRoles.stream().filter(p->Objects.equals(p.getId(),u.getDataRoleId())).findFirst().map(DataRole::getName).orElse(""))
|
||||||
.setDepartmentName(getDepartmentName(u.getDepartmentId()))
|
.setDepartmentName(getDepartmentName(u.getDepartmentId()))
|
||||||
.setRoles(getRoles(u.getId()));
|
.setRoles(getRoles(u.getId()));
|
||||||
}).collect(Collectors.toList()));
|
}).collect(Collectors.toList()));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.DataRoleUpdateRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
|
||||||
|
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||||
|
import com.nflg.mobilebroken.common.util.VUtils;
|
||||||
|
import com.nflg.mobilebroken.repository.entity.DataRole;
|
||||||
|
import com.nflg.mobilebroken.repository.mapper.DataRoleMapper;
|
||||||
|
import com.nflg.mobilebroken.repository.service.IDataRoleService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 数据权限角色 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class DataRoleServiceImpl extends ServiceImpl<DataRoleMapper, DataRole> implements IDataRoleService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(DataRoleAddRequest request) {
|
||||||
|
VUtils.trueThrowBusinessError(lambdaQuery().eq(DataRole::getName, request.getName()).exists())
|
||||||
|
.throwMessage("角色已存在,请勿重复添加");
|
||||||
|
save(new DataRole()
|
||||||
|
.setName(request.getName())
|
||||||
|
.setConfig(JSONUtil.toJsonStr(request.getConfigs()))
|
||||||
|
.setCreateBy(AdminUserUtil.getUserName())
|
||||||
|
.setCreateTime(LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(DataRoleUpdateRequest request) {
|
||||||
|
VUtils.trueThrowBusinessError(lambdaQuery().eq(DataRole::getName, request.getName()).ne(DataRole::getId, request.getId()).exists())
|
||||||
|
.throwMessage("角色已存在");
|
||||||
|
lambdaUpdate()
|
||||||
|
.set(DataRole::getName, request.getName())
|
||||||
|
.set(DataRole::getEnable, request.getEnable())
|
||||||
|
.set(DataRole::getConfig, JSONUtil.toJsonStr(request.getConfigs()))
|
||||||
|
.set(DataRole::getUpdateBy, AdminUserUtil.getUserName())
|
||||||
|
.set(DataRole::getUpdateTime, LocalDateTime.now())
|
||||||
|
.eq(DataRole::getId, request.getId())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void enable(EnableRoleRequest request) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.set(DataRole::getEnable, request.getEnable())
|
||||||
|
.set(DataRole::getUpdateBy, AdminUserUtil.getUserName())
|
||||||
|
.set(DataRole::getUpdateTime, LocalDateTime.now())
|
||||||
|
.eq(DataRole::getId, request.getRoleId())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageData<DataRoleVO> search(RoleSearchRequest request) {
|
||||||
|
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SimpleVO> getSimpleRoles() {
|
||||||
|
return baseMapper.getSimpleRoles();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?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.nflg.mobilebroken.repository.mapper.DataRoleMapper">
|
||||||
|
|
||||||
|
<select id="search" resultType="com.nflg.mobilebroken.common.pojo.vo.DataRoleVO">
|
||||||
|
select *
|
||||||
|
from data_role
|
||||||
|
<where>
|
||||||
|
<if test="request.name != null and request.name!=''">
|
||||||
|
and `name` like concat('%', #{request.name}, '%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getSimpleRoles" resultType="com.nflg.mobilebroken.common.pojo.vo.SimpleVO">
|
||||||
|
select * from data_role where enable=1
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
@ -34,7 +34,7 @@ public class CodeGenerator {
|
||||||
)
|
)
|
||||||
.strategyConfig(builder -> {
|
.strategyConfig(builder -> {
|
||||||
builder
|
builder
|
||||||
.addInclude("^production_line*") //只生成指定表
|
.addInclude("admin_user_data_role_map") //只生成指定表
|
||||||
.entityBuilder()
|
.entityBuilder()
|
||||||
.enableLombok()
|
.enableLombok()
|
||||||
.enableChainModel()
|
.enableChainModel()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue