diff --git a/ruoyi-api/ruoyi-api-system/pom.xml b/ruoyi-api/ruoyi-api-system/pom.xml index 19afb305..37dd3444 100644 --- a/ruoyi-api/ruoyi-api-system/pom.xml +++ b/ruoyi-api/ruoyi-api-system/pom.xml @@ -22,7 +22,7 @@ com.ruoyi ruoyi-common-core - + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index e812738a..d5357950 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -31,13 +31,12 @@ import java.util.stream.Collectors; /** * 用户信息 - * + * * @author ruoyi */ @RestController @RequestMapping("/user") -public class SysUserController extends BaseController -{ +public class SysUserController extends BaseController { @Autowired private ISysUserService userService; @@ -55,8 +54,7 @@ public class SysUserController extends BaseController */ @PreAuthorize(hasPermi = "system:user:list") @GetMapping("/list") - public TableDataInfo list(SysUser user) - { + public TableDataInfo list(SysUser user) { startPage(); List list = userService.selectUserList(user); return getDataTable(list); @@ -65,8 +63,7 @@ public class SysUserController extends BaseController @Log(title = "用户管理", businessType = BusinessType.EXPORT) @PreAuthorize(hasPermi = "system:user:export") @PostMapping("/export") - public void export(HttpServletResponse response, SysUser user) throws IOException - { + public void export(HttpServletResponse response, SysUser user) throws IOException { List list = userService.selectUserList(user); ExcelUtil util = new ExcelUtil(SysUser.class); util.exportExcel(response, list, "用户数据"); @@ -75,8 +72,7 @@ public class SysUserController extends BaseController @Log(title = "用户管理", businessType = BusinessType.IMPORT) @PreAuthorize(hasPermi = "system:user:import") @PostMapping("/importData") - public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception - { + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil util = new ExcelUtil(SysUser.class); List userList = util.importExcel(file.getInputStream()); String operName = SecurityUtils.getUsername(); @@ -85,8 +81,7 @@ public class SysUserController extends BaseController } @PostMapping("/importTemplate") - public void importTemplate(HttpServletResponse response) throws IOException - { + public void importTemplate(HttpServletResponse response) throws IOException { ExcelUtil util = new ExcelUtil(SysUser.class); util.importTemplateExcel(response, "用户数据"); } @@ -95,11 +90,9 @@ public class SysUserController extends BaseController * 获取当前用户信息 */ @GetMapping("/info/{username}") - public R info(@PathVariable("username") String username) - { + public R info(@PathVariable("username") String username) { SysUser sysUser = userService.selectUserByUserName(username); - if (StringUtils.isNull(sysUser)) - { + if (StringUtils.isNull(sysUser)) { return R.fail("用户名或密码错误"); } // 角色集合 @@ -115,12 +108,11 @@ public class SysUserController extends BaseController /** * 获取用户信息 - * + * * @return 用户信息 */ @GetMapping("getInfo") - public AjaxResult getInfo() - { + public AjaxResult getInfo() { Long userId = SecurityUtils.getUserId(); // 角色集合 Set roles = permissionService.getRolePermission(userId); @@ -137,15 +129,13 @@ public class SysUserController extends BaseController * 根据用户编号获取详细信息 */ @PreAuthorize(hasPermi = "system:user:query") - @GetMapping(value = { "/", "/{userId}" }) - public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) - { + @GetMapping(value = {"/", "/{userId}"}) + public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { AjaxResult ajax = AjaxResult.success(); List roles = roleService.selectRoleAll(); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("posts", postService.selectPostAll()); - if (StringUtils.isNotNull(userId)) - { + if (StringUtils.isNotNull(userId)) { ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); ajax.put("postIds", postService.selectPostListByUserId(userId)); ajax.put("roleIds", roleService.selectRoleListByUserId(userId)); @@ -159,15 +149,11 @@ public class SysUserController extends BaseController @PreAuthorize(hasPermi = "system:user:add") @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@Validated @RequestBody SysUser user) - { - if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) - { + public AjaxResult add(@Validated @RequestBody SysUser user) { + if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); - } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) - && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) - { + } else if (StringUtils.isNotEmpty(user.getPhonenumber()) + && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); } user.setCreateBy(SecurityUtils.getUsername()); @@ -181,17 +167,13 @@ public class SysUserController extends BaseController @PreAuthorize(hasPermi = "system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@Validated @RequestBody SysUser user) - { + public AjaxResult edit(@Validated @RequestBody SysUser user) { userService.checkUserAllowed(user); if (StringUtils.isNotEmpty(user.getPhonenumber()) - && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) - { + && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); - } - else if (StringUtils.isNotEmpty(user.getEmail()) - && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) - { + } else if (StringUtils.isNotEmpty(user.getEmail()) + && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } user.setUpdateBy(SecurityUtils.getUsername()); @@ -204,8 +186,7 @@ public class SysUserController extends BaseController @PreAuthorize(hasPermi = "system:user:remove") @Log(title = "用户管理", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") - public AjaxResult remove(@PathVariable Long[] userIds) - { + public AjaxResult remove(@PathVariable Long[] userIds) { return toAjax(userService.deleteUserByIds(userIds)); } @@ -215,8 +196,7 @@ public class SysUserController extends BaseController @PreAuthorize(hasPermi = "system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") - public AjaxResult resetPwd(@RequestBody SysUser user) - { + public AjaxResult resetPwd(@RequestBody SysUser user) { userService.checkUserAllowed(user); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setUpdateBy(SecurityUtils.getUsername()); @@ -229,8 +209,7 @@ public class SysUserController extends BaseController @PreAuthorize(hasPermi = "system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysUser user) - { + public AjaxResult changeStatus(@RequestBody SysUser user) { userService.checkUserAllowed(user); user.setUpdateBy(SecurityUtils.getUsername()); return toAjax(userService.updateUserStatus(user)); @@ -241,8 +220,7 @@ public class SysUserController extends BaseController */ @PreAuthorize(hasPermi = "system:user:query") @GetMapping("/authRole/{userId}") - public AjaxResult authRole(@PathVariable("userId") Long userId) - { + public AjaxResult authRole(@PathVariable("userId") Long userId) { AjaxResult ajax = AjaxResult.success(); SysUser user = userService.selectUserById(userId); List roles = roleService.selectRolesByUserId(userId); @@ -257,9 +235,10 @@ public class SysUserController extends BaseController @PreAuthorize(hasPermi = "system:user:edit") @Log(title = "用户管理", businessType = BusinessType.GRANT) @PutMapping("/authRole") - public AjaxResult insertAuthRole(Long userId, Long[] roleIds) - { + public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { userService.insertUserAuth(userId, roleIds); return success(); } + + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/XhpcUserPrivilegeController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/XhpcUserPrivilegeController.java new file mode 100644 index 00000000..76424477 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/XhpcUserPrivilegeController.java @@ -0,0 +1,88 @@ +package com.ruoyi.system.controller; + +import com.ruoyi.common.core.constant.UserConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.SecurityUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.poi.ExcelUtil; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.security.annotation.PreAuthorize; +import com.ruoyi.system.api.domain.SysRole; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.domain.SysMenu; +import com.ruoyi.system.domain.XhpcUserPrivilege; +import com.ruoyi.system.service.*; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * 用户信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/user/privilege") +public class XhpcUserPrivilegeController extends BaseController { + + @Autowired + private ISysRoleService roleService; + + @Autowired + private ISysMenuService menuService; + + @Autowired + private IXhpcUserPrivilegeService iXhpcUserPrivilegeService; + + /** + * 加载对应角色菜单列表树 + */ + @PreAuthorize(hasPermi = "user:privilege:power") + @GetMapping(value = "/power") + public AjaxResult roleMenuTreeselect(@PathVariable("userId") Long userId) { + Long SecurityUserId = SecurityUtils.getUserId(); + List menus = menuService.selectMenuList(SecurityUserId); + //登录用户拥有的数据权限树 + List> data = iXhpcUserPrivilegeService.dataList(SecurityUserId); + //选择用户拥有的权限 + List dataCheckedKeys = iXhpcUserPrivilegeService.dataCheckedKeys(userId); + AjaxResult ajax = AjaxResult.success(); + SysRole sysRole = roleService.getRoleByUserID(userId); + ajax.put("checkedKeys", menuService.selectMenuListByRoleId(sysRole.getRoleId())); + ajax.put("menus", menuService.buildMenuTreeSelect(menus)); + ajax.put("dataCheckedKeys", dataCheckedKeys); + ajax.put("data", data); + return ajax; + } + + /** + * 新增数据权限 + */ + @ApiOperation("新增数据权限") + @PreAuthorize(hasPermi = "user:privilege:add") + @PostMapping("/add") + public AjaxResult add(@RequestBody List list) { + if (null != list && list.size() > 0) { + Long userId = list.get(0).getUserId(); + iXhpcUserPrivilegeService.deleteByIds(userId); + for (XhpcUserPrivilege xhpcUserPrivilege : list) { + iXhpcUserPrivilegeService.insert(xhpcUserPrivilege); + } + } + return AjaxResult.success(); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/XhpcUserPrivilege.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/XhpcUserPrivilege.java new file mode 100644 index 00000000..a5f74d32 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/XhpcUserPrivilege.java @@ -0,0 +1,49 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 角色和部门关联 sys_role_dept + * + * @author ruoyi + */ +public class XhpcUserPrivilege implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** + * 用户id + */ + @NotBlank(message = "用户id不能为空") + private Long userId; + + /** + * 电站id + */ + @NotBlank(message = "电站id不能为空") + private Long chargingStationId; + + + public XhpcUserPrivilege() { + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getChargingStationId() { + return chargingStationId; + } + + public void setChargingStationId(Long chargingStationId) { + this.chargingStationId = chargingStationId; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java index 68249f4f..f1055507 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.system.mapper; import java.util.List; import com.ruoyi.system.api.domain.SysRole; +import com.ruoyi.system.domain.SysUserRole; /** * 角色表 数据层 @@ -105,4 +106,13 @@ public interface SysRoleMapper * @return 结果 */ public int deleteRoleByIds(Long[] roleIds); + + + /** + * 通过用户id查询角色 + * + * @param userId 用户id + * @return 结果 + */ + public SysRole getRoleByUserID(Long userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 825be740..4605fb08 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -1,26 +1,27 @@ package com.ruoyi.system.mapper; import java.util.List; + import org.apache.ibatis.annotations.Param; import com.ruoyi.system.api.domain.SysUser; /** * 用户表 数据层 - * + * * @author ruoyi */ -public interface SysUserMapper -{ +public interface SysUserMapper { /** * 根据条件分页查询用户列表 - * + * * @param sysUser 用户信息 * @return 用户信息集合信息 */ public List selectUserList(SysUser sysUser); + /** * 根据条件分页查询未已配用户角色列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -28,7 +29,7 @@ public interface SysUserMapper /** * 根据条件分页查询未分配用户角色列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -36,7 +37,7 @@ public interface SysUserMapper /** * 通过用户名查询用户 - * + * * @param userName 用户名 * @return 用户对象信息 */ @@ -44,7 +45,7 @@ public interface SysUserMapper /** * 通过用户ID查询用户 - * + * * @param userId 用户ID * @return 用户对象信息 */ @@ -52,7 +53,7 @@ public interface SysUserMapper /** * 新增用户信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -60,7 +61,7 @@ public interface SysUserMapper /** * 修改用户信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -68,16 +69,16 @@ public interface SysUserMapper /** * 修改用户头像 - * + * * @param userName 用户名 - * @param avatar 头像地址 + * @param avatar 头像地址 * @return 结果 */ public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar); /** * 重置用户密码 - * + * * @param userName 用户名 * @param password 密码 * @return 结果 @@ -86,7 +87,7 @@ public interface SysUserMapper /** * 通过用户ID删除用户 - * + * * @param userId 用户ID * @return 结果 */ @@ -94,7 +95,7 @@ public interface SysUserMapper /** * 批量删除用户信息 - * + * * @param userIds 需要删除的用户ID * @return 结果 */ @@ -102,7 +103,7 @@ public interface SysUserMapper /** * 校验用户名称是否唯一 - * + * * @param userName 用户名称 * @return 结果 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/XhpcUserPrivilegeMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/XhpcUserPrivilegeMapper.java new file mode 100644 index 00000000..865b0d58 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/XhpcUserPrivilegeMapper.java @@ -0,0 +1,90 @@ +package com.ruoyi.system.mapper; + +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.domain.XhpcUserPrivilege; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 数据权限 数据层 + * + * @author ruoyi + */ +public interface XhpcUserPrivilegeMapper { + + + /** + * 新增数据权限 + * + * @param xhpcUserPrivilege 用户信息 + * @return 结果 + */ + public int insert(XhpcUserPrivilege xhpcUserPrivilege); + + /** + * 通过用户ID删除用户数据权限 + * + * @param userId 用户ID + * @return 结果 + */ + public int delete(Long userId); + + + /** + * 用户拥有数据权限 + * + * @param userId 用户id + * @return 结果 + */ + public List dataCheckedKeys(@Param("userId") Long userId); + + /** + * 通过运营商id查询运营商 + * + * @param operatorIds 用户id + * @return 结果 + */ + public List> getOperatorId(@Param("operatorIds") String[] operatorIds); + + /** + * 通过用户id查询运营商 + * + * @param userId 用户id + * @return 结果 + */ + public List> getOperatorIdByUserId(@Param("userId") Long userId); + + /** + * 通过运营商id分组查询省地址 + * + * @param operatorId 运营商id + * @return 结果 + */ + public List> groupProvinceByOperatorId(@Param("userId") Long userId,@Param("operatorId") Long operatorId); + + /** + * 通过运营商id分组查询市地址 + * + * @param operatorId 运营商id + * @return 结果 + */ + public List> groupCityByOperatorId(@Param("userId") Long userId,@Param("provinceCode") String provinceCode,@Param("operatorId") Long operatorId); + + /** + * 通过运营商id分组查询市地址 + * + * @param operatorId 运营商id + * @return 结果 + */ + public List> groupAreaByOperatorId(@Param("userId") Long userId,@Param("cityCode") String cityCode,@Param("operatorId") Long operatorId); + + /** + * 通过运营商id分组查询市地址 + * + * @param operatorId 运营商id + * @return 结果 + */ + public List> dataPowerByOperatorId(@Param("userId") Long userId,@Param("code") String cityCode,@Param("operatorId") Long operatorId); +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java index 2b5a83f2..ad131081 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java @@ -162,4 +162,12 @@ public interface ISysRoleService * @return 结果 */ public int insertAuthUsers(Long roleId, Long[] userIds); + + /** + * 通过用户id查询角色 + * + * @param userId 用户id + * @return 结果 + */ + public SysRole getRoleByUserID(Long userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 869fbcc3..58babc5d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -1,18 +1,18 @@ package com.ruoyi.system.service; import java.util.List; + import com.ruoyi.system.api.domain.SysUser; /** * 用户 业务层 - * + * * @author ruoyi */ -public interface ISysUserService -{ +public interface ISysUserService { /** * 根据条件分页查询用户列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -20,7 +20,7 @@ public interface ISysUserService /** * 根据条件分页查询已分配用户角色列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -28,7 +28,7 @@ public interface ISysUserService /** * 根据条件分页查询未分配用户角色列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @@ -36,7 +36,7 @@ public interface ISysUserService /** * 通过用户名查询用户 - * + * * @param userName 用户名 * @return 用户对象信息 */ @@ -44,7 +44,7 @@ public interface ISysUserService /** * 通过用户ID查询用户 - * + * * @param userId 用户ID * @return 用户对象信息 */ @@ -52,7 +52,7 @@ public interface ISysUserService /** * 根据用户ID查询用户所属角色组 - * + * * @param userName 用户名 * @return 结果 */ @@ -60,7 +60,7 @@ public interface ISysUserService /** * 根据用户ID查询用户所属岗位组 - * + * * @param userName 用户名 * @return 结果 */ @@ -68,7 +68,7 @@ public interface ISysUserService /** * 校验用户名称是否唯一 - * + * * @param userName 用户名称 * @return 结果 */ @@ -92,14 +92,14 @@ public interface ISysUserService /** * 校验用户是否允许操作 - * + * * @param user 用户信息 */ public void checkUserAllowed(SysUser user); /** * 新增用户信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -107,23 +107,23 @@ public interface ISysUserService /** * 修改用户信息 - * + * * @param user 用户信息 * @return 结果 */ public int updateUser(SysUser user); - + /** * 用户授权角色 - * - * @param userId 用户ID + * + * @param userId 用户ID * @param roleIds 角色组 */ public void insertUserAuth(Long userId, Long[] roleIds); /** * 修改用户状态 - * + * * @param user 用户信息 * @return 结果 */ @@ -131,7 +131,7 @@ public interface ISysUserService /** * 修改用户基本信息 - * + * * @param user 用户信息 * @return 结果 */ @@ -139,16 +139,16 @@ public interface ISysUserService /** * 修改用户头像 - * + * * @param userName 用户名 - * @param avatar 头像地址 + * @param avatar 头像地址 * @return 结果 */ public boolean updateUserAvatar(String userName, String avatar); /** * 重置用户密码 - * + * * @param user 用户信息 * @return 结果 */ @@ -156,7 +156,7 @@ public interface ISysUserService /** * 重置用户密码 - * + * * @param userName 用户名 * @param password 密码 * @return 结果 @@ -165,7 +165,7 @@ public interface ISysUserService /** * 通过用户ID删除用户 - * + * * @param userId 用户ID * @return 结果 */ @@ -173,7 +173,7 @@ public interface ISysUserService /** * 批量删除用户信息 - * + * * @param userIds 需要删除的用户ID * @return 结果 */ @@ -181,10 +181,10 @@ public interface ISysUserService /** * 导入用户数据 - * - * @param userList 用户数据列表 + * + * @param userList 用户数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 + * @param operName 操作用户 * @return 结果 */ public String importUser(List userList, Boolean isUpdateSupport, String operName); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IXhpcUserPrivilegeService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IXhpcUserPrivilegeService.java new file mode 100644 index 00000000..4f6c5556 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IXhpcUserPrivilegeService.java @@ -0,0 +1,47 @@ +package com.ruoyi.system.service; + +import com.ruoyi.system.domain.XhpcUserPrivilege; + +import java.util.List; +import java.util.Map; + +/** + * 数据权限 服务层 + * + * @author ruoyi + */ +public interface IXhpcUserPrivilegeService { + + /** + * 新增数据权限 + * + * @param xhpcUserPrivilege 数据权限信息 + * @return 结果 + */ + public int insert(XhpcUserPrivilege xhpcUserPrivilege); + + /** + * 批量删数据权限信息 + * + * @param userId 需要删除的数据ID + * @return 结果 + */ + public void deleteByIds(Long userId); + + /** + * 用户拥有数据权限 + * + * @param userId 用户id + * @return 结果 + */ + public List dataCheckedKeys(Long userId); + + /** + * 数据权限构建前端所需要下拉树结构 + * + * @param userId 用户id + * @return 结果 + */ + public List> dataList(Long userId); + +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 92a4ebbe..83a8cec3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -398,4 +398,16 @@ public class SysRoleServiceImpl implements ISysRoleService } return userRoleMapper.batchUserRole(list); } + + /** + * 通过用户id查询角色 + * + * @param userId 用户id + * @return 结果 + */ + @Override + public SysRole getRoleByUserID(Long userId) + { + return roleMapper.getRoleByUserID(userId); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index db912645..6ce736dd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -525,5 +525,4 @@ public class SysUserServiceImpl implements ISysUserService } return successMsg.toString(); } - } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/XhpcUserPrivilegeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/XhpcUserPrivilegeServiceImpl.java new file mode 100644 index 00000000..d1bb77f6 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/XhpcUserPrivilegeServiceImpl.java @@ -0,0 +1,150 @@ +package com.ruoyi.system.service.impl; + +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.domain.XhpcUserPrivilege; +import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.mapper.XhpcUserPrivilegeMapper; +import com.ruoyi.system.service.IXhpcUserPrivilegeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * 数据权限 服务层 + * + * @author ruoyi + */ +@Service +public class XhpcUserPrivilegeServiceImpl implements IXhpcUserPrivilegeService { + + @Autowired + private XhpcUserPrivilegeMapper XhpcUserPrivilege; + + @Autowired + private SysUserMapper sysUserMapper; + + /** + * 新增数据权限 + * + * @param xhpcUserPrivilege 流量用户设置流量方黑名单信息 + */ + @Override + public int insert(XhpcUserPrivilege xhpcUserPrivilege) { + return XhpcUserPrivilege.insert(xhpcUserPrivilege); + } + + /** + * 通过用户ID删除用户数据权限 + * + * @param userId 需要删除的数据ID + * @return 结果 + */ + @Override + public void deleteByIds(Long userId) { + XhpcUserPrivilege.delete(userId); + } + + /** + * 用户拥有数据权限 + * + * @param userId 用户id + * @return 结果 + */ + @Override + public List dataCheckedKeys(Long userId) { + return XhpcUserPrivilege.dataCheckedKeys(userId); + } + + /** + * 用户拥有数据权限 + * + * @param userId 用户id + * @return 结果 + */ + @Override + public List> dataList(Long userId) { + SysUser sysUser = sysUserMapper.selectUserById(userId); + List> listOperator = new ArrayList<>(); + if (0 == sysUser.getDataPowerType()) { + listOperator = XhpcUserPrivilege.getOperatorId(null); + + } else if (1 == sysUser.getDataPowerType()) { + String[] strings = new String[1]; + strings[0] = StringUtils.valueOf(sysUser.getOperatorId()); + listOperator = XhpcUserPrivilege.getOperatorId(strings); + } else { + listOperator = XhpcUserPrivilege.getOperatorIdByUserId(userId); + } + if (2 != sysUser.getDataPowerType()) { + return allDataPower(listOperator); + } else { + return dataPower(listOperator, userId); + } + } + + public List> allDataPower(List> listOperator) { + if (null != listOperator && listOperator.size() > 0) { + for (Map map : listOperator) { + String operatorId = StringUtils.valueOf(map.get("operatorId")); + List> groupProvince = XhpcUserPrivilege.groupProvinceByOperatorId(null, Long.parseLong(operatorId)); + if (null != groupProvince && groupProvince.size() > 0) { + for (Map province : groupProvince) { + String provinceCode = StringUtils.valueOf(province.get("code")); + List> groupCity = XhpcUserPrivilege.groupCityByOperatorId(null, provinceCode, Long.parseLong(operatorId)); + if (null != groupCity && groupCity.size() > 0) { + for (Map city : groupCity) { + String cityCode = StringUtils.valueOf(city.get("code")); + List> groupArea = XhpcUserPrivilege.groupAreaByOperatorId(null, cityCode, Long.parseLong(operatorId)); + if (null != groupArea && groupArea.size() > 0) { + for (Map area : groupArea) { + String code = StringUtils.valueOf(area.get("code")); + area.put("dataPower", XhpcUserPrivilege.dataPowerByOperatorId(null, code, Long.parseLong(operatorId))); + } + } + city.put("areaList", groupArea); + } + } + province.put("cityList", groupCity); + } + } + map.put("provinceList", groupProvince); + } + } + return listOperator; + } + + public List> dataPower(List> listOperator, Long userId) { + if (null != listOperator && listOperator.size() > 0) { + for (Map map : listOperator) { + String operatorId = StringUtils.valueOf(map.get("operatorId")); + List> groupProvince = XhpcUserPrivilege.groupProvinceByOperatorId(userId, Long.parseLong(operatorId)); + if (null != groupProvince && groupProvince.size() > 0) { + for (Map province : groupProvince) { + String provinceCode = StringUtils.valueOf(province.get("code")); + List> groupCity = XhpcUserPrivilege.groupCityByOperatorId(userId, provinceCode, Long.parseLong(operatorId)); + if (null != groupCity && groupCity.size() > 0) { + for (Map city : groupCity) { + String cityCode = StringUtils.valueOf(city.get("code")); + List> groupArea = XhpcUserPrivilege.groupAreaByOperatorId(userId, cityCode, Long.parseLong(operatorId)); + if (null != groupArea && groupArea.size() > 0) { + for (Map area : groupArea) { + String code = StringUtils.valueOf(area.get("code")); + area.put("dataPower", XhpcUserPrivilege.dataPowerByOperatorId(userId, code, Long.parseLong(operatorId))); + } + } + city.put("areaList", groupArea); + } + } + province.put("cityList", groupCity); + } + } + map.put("provinceList", groupProvince); + } + } + return listOperator; + } +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml index 7e3ab1ec..26caebfb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -145,5 +145,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{roleId} - + + \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index de18a303..dc377b75 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -229,5 +229,4 @@ #{userId} - \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/XhpcUserPrivilegeMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/XhpcUserPrivilegeMapper.xml new file mode 100644 index 00000000..55747be9 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/XhpcUserPrivilegeMapper.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + insert into xhpc_user_privilege( + + user_id, + + + charging_station_id + + )values( + + #{userId}, + + + #{chargingStationId} + + ) + + + + delete from xhpc_station_internet_blacklist where user_id = #{userId} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java index b1a35e3b..0dd2f60f 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java @@ -161,4 +161,6 @@ public class XhpcUserController extends BaseController { iXhpcUserService.status(userId); return AjaxResult.success(); } + + }