From 772fdffa4ce43e3be1def46b4b6564ea1af725cf Mon Sep 17 00:00:00 2001 From: lijianlin Date: Mon, 21 Jul 2025 18:47:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=9C=B0=E5=8C=BA=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/controller/GeneralController.java | 15 ++++++++++---- .../demo/controller/WorkbenchController.java | 4 ++-- .../com/example/demo/mapper/GeneralMapper.java | 6 ++++-- .../com/example/demo/security/SecurityConfig.java | 2 +- .../com/example/demo/service/GeneralService.java | 6 ++++-- .../example/demo/serviceImpl/AuditServiceImpl.java | 8 ++++---- .../demo/serviceImpl/ConsumeServiceImpl.java | 6 +++--- .../demo/serviceImpl/GeneralServiceImpl.java | 24 +++++++++++++++++++--- .../demo/serviceImpl/RechargeServiceImpl.java | 6 +++--- .../demo/serviceImpl/RefundServiceImpl.java | 6 +++--- .../example/demo/serviceImpl/RoleServiceImpl.java | 8 ++++++-- .../demo/serviceImpl/WorkbenchServiceImpl.java | 2 +- src/main/resources/application-dev.yml | 6 +++--- src/main/resources/mapper/GeneralMapper.xml | 6 +++++- 14 files changed, 71 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/example/demo/controller/GeneralController.java b/src/main/java/com/example/demo/controller/GeneralController.java index d082660..93c6914 100644 --- a/src/main/java/com/example/demo/controller/GeneralController.java +++ b/src/main/java/com/example/demo/controller/GeneralController.java @@ -2,6 +2,7 @@ package com.example.demo.controller; import com.example.demo.domain.vo.AdminVo; import com.example.demo.domain.vo.Result; +import com.example.demo.domain.vo.RoleVo; import com.example.demo.service.GeneralService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -33,13 +34,19 @@ public class GeneralController { List list = generalService.getMarket(); return Result.success(list); } - //获取角色地区权限列表 - @PostMapping("/roleMarkets") - public Result getRoleMarkets(@RequestBody AdminVo adminVo) throws Exception { + //获取用户地区权限列表 + @PostMapping("/adminMarkets") + public Result getAdminMarkets(@RequestBody AdminVo adminVo) throws Exception { String account = adminVo.getAccount(); - List list = generalService.getRoleMarket(account); + List list = generalService.getAdminMarket(account); return Result.success(list); } + //获取角色地区权限 + @PostMapping("/roleMarket") + public Result getroleMarkets(@RequestBody RoleVo roleVo) throws Exception { + String market = generalService.getRoleMarket(roleVo.getId()); + return Result.success(market); + } @PostMapping("/platform") public Result getPlatform() { diff --git a/src/main/java/com/example/demo/controller/WorkbenchController.java b/src/main/java/com/example/demo/controller/WorkbenchController.java index 84dd50f..ad9dab3 100644 --- a/src/main/java/com/example/demo/controller/WorkbenchController.java +++ b/src/main/java/com/example/demo/controller/WorkbenchController.java @@ -55,7 +55,7 @@ public class WorkbenchController { String account = admin.getAccount(); //获取当前用户的市场列表 - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); WorkbenchCard result; //判断是否是总部 if (markets != null && markets.contains("总部")) { @@ -72,7 +72,7 @@ public class WorkbenchController { @PostMapping("getGraph") public ResponseEntity graph1(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { String account = admin.getAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); workbench.setMarkets(markets); diff --git a/src/main/java/com/example/demo/mapper/GeneralMapper.java b/src/main/java/com/example/demo/mapper/GeneralMapper.java index dfea146..f9d39fe 100644 --- a/src/main/java/com/example/demo/mapper/GeneralMapper.java +++ b/src/main/java/com/example/demo/mapper/GeneralMapper.java @@ -21,6 +21,8 @@ public interface GeneralMapper { //获取活动 List getActivity(); - //获取角色的地区权限列表 - String getRoleMarket(String account); + //获取用户的地区权限列表 + String getAdminMarket(String account); + //获取角色地区列表 + String getRoleMarket(Integer roleId); } diff --git a/src/main/java/com/example/demo/security/SecurityConfig.java b/src/main/java/com/example/demo/security/SecurityConfig.java index 5f0068f..44d0741 100644 --- a/src/main/java/com/example/demo/security/SecurityConfig.java +++ b/src/main/java/com/example/demo/security/SecurityConfig.java @@ -30,7 +30,7 @@ import org.springframework.web.cors.UrlBasedCorsConfigurationSource; */ @Configuration -@EnableWebSecurity // 开启Security的支持 +//@EnableWebSecurity // 开启Security的支持 @EnableGlobalMethodSecurity(prePostEnabled = true) // 开启方法注解 public class SecurityConfig { diff --git a/src/main/java/com/example/demo/service/GeneralService.java b/src/main/java/com/example/demo/service/GeneralService.java index 2e7bead..ad82643 100644 --- a/src/main/java/com/example/demo/service/GeneralService.java +++ b/src/main/java/com/example/demo/service/GeneralService.java @@ -32,6 +32,8 @@ public interface GeneralService { String formatDate(Date date) ; //获取时间段内的所有日期(包含起始和结束日) List getAllDatesBetween(Date start, Date end); - //获取角色的地区权限列表 - List getRoleMarket(String account) ; + //获取用户的地区权限列表 + List getAdminMarket(String account) ; + //获取角色的地区 + String getRoleMarket(Integer roleId); } diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java index 8decde3..910addc 100644 --- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java @@ -137,7 +137,7 @@ public class AuditServiceImpl implements AuditService { @Override public PageInfo selectRechargeBy(Integer pageNum, Integer pageSize, RechargeAudit rechargeAudit) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); rechargeAudit.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List rechargeAudits = auditMapper.selectRechargeBy(pageNum, pageSize, rechargeAudit); @@ -150,7 +150,7 @@ public class AuditServiceImpl implements AuditService { @Override public PageInfo selectRefundBy(Integer pageNum, Integer pageSize, RefundAudit refundAudit) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); refundAudit.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); @@ -164,7 +164,7 @@ public class AuditServiceImpl implements AuditService { @Override public Gold sumRechargeGold(Integer pageNum, Integer pageSize, RechargeAudit rechargeAudit) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); rechargeAudit.setMarkets(markets); Gold gold = new Gold(); //获取充值审核订单列表 @@ -200,7 +200,7 @@ public class AuditServiceImpl implements AuditService { @Override public Gold sumRefundGold(Integer pageNum, Integer pageSize, RefundAudit refundAudit) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); refundAudit.setMarkets(markets); Gold gold = new Gold(); //获取充值审核订单列表 diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index f81b56c..a463306 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -53,7 +53,7 @@ public class ConsumeServiceImpl implements ConsumeService { @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser){ String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); consumeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List consumeUsers = consumeMapper.selectAll(consumeUser); @@ -64,7 +64,7 @@ public class ConsumeServiceImpl implements ConsumeService { @Override public Gold statsGold(ConsumeUser consumeUser) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); consumeUser.setMarkets(markets); Gold gold = new Gold(); List consumeUsers = consumeMapper.selectBy(consumeUser); @@ -102,7 +102,7 @@ public class ConsumeServiceImpl implements ConsumeService { @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); consumeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List consumeUsers = consumeMapper.selectBy(consumeUser); diff --git a/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java index 2bcc130..70aa6a7 100644 --- a/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java @@ -116,9 +116,9 @@ public class GeneralServiceImpl implements GeneralService { 获取角色的地区权限列表 */ @Override - public List getRoleMarket(String account){ + public List getAdminMarket(String account){ try { - String market = generalMapper.getRoleMarket(account); + String market = generalMapper.getAdminMarket(account); if (market == null) { throw new Exception("没有地区权限"); } @@ -136,4 +136,22 @@ public class GeneralServiceImpl implements GeneralService { } -}} +} + /* + 获取觉得的地区列表 + */ + @Override + public String getRoleMarket(Integer roleId) { + try { + String market = generalMapper.getRoleMarket(roleId); + if (market == null) { + throw new Exception("没有地区权限"); + } + return market; + } catch (Exception e) { + // 记录日志 + log.error("获取地区权限失败", e); + // 重新抛出异常,或者根据需要返回一个默认值或空列表 + throw new RuntimeException("获取地区权限失败", e); + } + }} diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index 3040266..f665f4a 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -51,7 +51,7 @@ public class RechargeServiceImpl implements RechargeService { @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) throws Exception{ String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); rechargeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List rechargeUsers = rechargeMapper.selectAll(rechargeUser); @@ -62,7 +62,7 @@ public class RechargeServiceImpl implements RechargeService { @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, RechargeUser rechargeUser) throws Exception{ String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); rechargeUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List rechargeUsers = rechargeMapper.selectBy(rechargeUser); @@ -73,7 +73,7 @@ public class RechargeServiceImpl implements RechargeService { @Override public Gold statsGold(RechargeUser rechargeUser) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); rechargeUser.setMarkets(markets); Gold gold = new Gold(); List rechargeUsers = rechargeMapper.selectBy(rechargeUser); diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index c991a87..2f24a2f 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -56,7 +56,7 @@ public class RefundServiceImpl implements RefundService { @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception{ String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); refundUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List refundUsers = refundMapper.selectAll(refundUser); @@ -67,7 +67,7 @@ public class RefundServiceImpl implements RefundService { @Override public Gold statsGold(RefundUser refundUser) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); refundUser.setMarkets(markets); Gold gold = new Gold(); List refundUsers = refundMapper.selectBy(refundUser); @@ -105,7 +105,7 @@ public class RefundServiceImpl implements RefundService { @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser)throws Exception { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); refundUser.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List refundUsers = refundMapper.selectBy(refundUser); diff --git a/src/main/java/com/example/demo/serviceImpl/RoleServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RoleServiceImpl.java index ada65c1..140d602 100644 --- a/src/main/java/com/example/demo/serviceImpl/RoleServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RoleServiceImpl.java @@ -69,6 +69,9 @@ public class RoleServiceImpl implements RoleService { if (roleVo.getMarket() == null || roleVo.getMarket().isEmpty()) { return Result.error("所属市场为空"); } + if (roleVo.getMarkets().contains("总部") && roleVo.getMarkets().size() > 1) { + return Result.error("总部不可与其他地区共存"); + } if (roleVo.getFatherId() != null) { if (roleVo.getFatherId() != 2) { for (Integer menuId : roleVo.getMenuIds()) { @@ -80,6 +83,7 @@ public class RoleServiceImpl implements RoleService { } try { + roleMapper.addRole(roleVo); Role role = roleMapper.selectByRoleName(roleVo.getRoleName()); if (role == null) { @@ -128,7 +132,7 @@ public class RoleServiceImpl implements RoleService { @Override public List selectAllRole() { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); return roleMapper.selectAllRole(markets); } @@ -141,7 +145,7 @@ public class RoleServiceImpl implements RoleService { @Override public PageInfo selectBy(Integer pageNum, Integer pageSize, RoleVo roleVo) { String account = adminService.getCurrentAdminAccount(); - List markets = generalService.getRoleMarket(account); + List markets = generalService.getAdminMarket(account); roleVo.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); List roleVos = roleMapper.selectBy(roleVo); diff --git a/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java index 5be8b72..99eea74 100644 --- a/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java @@ -63,7 +63,7 @@ public class WorkbenchServiceImpl implements WorkbenchService { // 获取当前年份的第一天 LocalDate firstDayOfYear = LocalDate.now().withDayOfYear(1); Date yearlyStartDate = Date.from(firstDayOfYear.atStartOfDay(ZoneId.systemDefault()).toInstant()); - // markets = generalService.getRoleMarket(); + // markets = generalService.getAdminMarket(); // 批量获取统计数据 List currentStatsList = statisticsMapper.selectByMarketsAndDate(markets, diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index d2ff5cc..cad027e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -35,9 +35,9 @@ spring: data: redis: database: 0 - host: localhost - port: 6379 - password: 123456 + host: 18.143.76.3 + port: 10703 + password: Ngc0FYUTA6h3wC5J lettuce: pool: diff --git a/src/main/resources/mapper/GeneralMapper.xml b/src/main/resources/mapper/GeneralMapper.xml index e0dd2f5..0438fc9 100644 --- a/src/main/resources/mapper/GeneralMapper.xml +++ b/src/main/resources/mapper/GeneralMapper.xml @@ -15,8 +15,12 @@ select DISTINCT activity from user_gold_record - select market from admin where account = #{account} + \ No newline at end of file