From 4d3621f8dd14a9683415556f586806a4d83e72a2 Mon Sep 17 00:00:00 2001 From: lijianlin Date: Wed, 15 Oct 2025 13:22:29 +0800 Subject: [PATCH] =?UTF-8?q?10-15=20=E8=8E=B7=E5=8F=96=E6=B1=87=E7=8E=87?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E8=B4=A7=E5=B8=81=E5=90=8D=E7=A7=B0=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/coin/RateController.java | 12 +++++++ .../demo/controller/coin/WorkbenchController.java | 2 +- .../com/example/demo/mapper/coin/RateMapper.java | 2 ++ .../example/demo/mapper/coin/WorkBenchMapper.java | 4 +++ .../com/example/demo/service/coin/RateService.java | 4 +++ .../demo/service/coin/WorkbenchService.java | 2 ++ .../demo/serviceImpl/coin/RateServiceImpl.java | 6 ++++ .../serviceImpl/coin/WorkbenchServiceImpl.java | 39 +++++++++++++++++++++- src/main/resources/mapper/RateMapper.xml | 5 +++ src/main/resources/mapper/WorkBenchMapper.xml | 4 +++ 10 files changed, 78 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/controller/coin/RateController.java b/src/main/java/com/example/demo/controller/coin/RateController.java index 6dd5196..859f272 100644 --- a/src/main/java/com/example/demo/controller/coin/RateController.java +++ b/src/main/java/com/example/demo/controller/coin/RateController.java @@ -9,10 +9,12 @@ import com.example.demo.service.coin.RateService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.parameters.P; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; +import java.util.List; import java.util.Map; @@ -72,4 +74,14 @@ public class RateController { return Result.success("编辑成功"); } + //查询货币名称列表 + @PostMapping("/listRateName") + public Result listRateName(){ + try { + List rate= rateService.listRateName(); + return Result.success(rate); + } catch (Exception e) { + return Result.error("获取货币列表失败"); + } + } } diff --git a/src/main/java/com/example/demo/controller/coin/WorkbenchController.java b/src/main/java/com/example/demo/controller/coin/WorkbenchController.java index 81ce248..b32f810 100644 --- a/src/main/java/com/example/demo/controller/coin/WorkbenchController.java +++ b/src/main/java/com/example/demo/controller/coin/WorkbenchController.java @@ -96,7 +96,7 @@ public class WorkbenchController { @PostMapping("/getTotalRevenue") public ResponseEntity getTotalRevenue(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { String account = admin.getAccount(); - List markets = workbenchService.getAdminMarket(account); + List markets = workbenchService.getRevenueMarket(account); workbench.setMarkets(markets); WorkbenchCard result =workbenchService.getTotalRevenue(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); diff --git a/src/main/java/com/example/demo/mapper/coin/RateMapper.java b/src/main/java/com/example/demo/mapper/coin/RateMapper.java index 242d100..9000fe5 100644 --- a/src/main/java/com/example/demo/mapper/coin/RateMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/RateMapper.java @@ -15,4 +15,6 @@ public interface RateMapper { void update(Rate rate); void add(Rate rate); + //获取货币名称列表 + List listRateName(); } diff --git a/src/main/java/com/example/demo/mapper/coin/WorkBenchMapper.java b/src/main/java/com/example/demo/mapper/coin/WorkBenchMapper.java index 5b96395..986a8f5 100644 --- a/src/main/java/com/example/demo/mapper/coin/WorkBenchMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/WorkBenchMapper.java @@ -53,4 +53,8 @@ public interface WorkBenchMapper { List getMonthStatistics(@Param("market") String market, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate); + //获取营收信息 + List getRevenue( @Param("markets") List markets, + @Param("startDate") Date startDate, + @Param("endDate") Date endDate); } diff --git a/src/main/java/com/example/demo/service/coin/RateService.java b/src/main/java/com/example/demo/service/coin/RateService.java index 852c0ba..a6ff26f 100644 --- a/src/main/java/com/example/demo/service/coin/RateService.java +++ b/src/main/java/com/example/demo/service/coin/RateService.java @@ -5,6 +5,8 @@ import com.example.demo.domain.vo.coin.RateDetail; import com.example.demo.domain.vo.coin.Result; import com.github.pagehelper.PageInfo; +import java.util.List; + public interface RateService { PageInfo selectAll(Integer pageNum, Integer pageSize); @@ -14,4 +16,6 @@ public interface RateService { void add(Rate rate); Result update(Rate rate); + //获取货币列表 + List listRateName(); } diff --git a/src/main/java/com/example/demo/service/coin/WorkbenchService.java b/src/main/java/com/example/demo/service/coin/WorkbenchService.java index b7bb027..66048c0 100644 --- a/src/main/java/com/example/demo/service/coin/WorkbenchService.java +++ b/src/main/java/com/example/demo/service/coin/WorkbenchService.java @@ -20,6 +20,8 @@ import java.util.List; public interface WorkbenchService { //获取用户的地区权限列表 List getAdminMarket(String account) ; + //获取用户的地区收款营收权限列表 + List getRevenueMarket(String account) ; //获取用户的地区权限(字符串) String getAdminMarket1(String account) ; //获取不同地区的工作台统计卡片 diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RateServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RateServiceImpl.java index 8e94b9c..ba3faf2 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RateServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RateServiceImpl.java @@ -47,4 +47,10 @@ public class RateServiceImpl implements RateService { }else { return Result.success("编辑成功"); }} + //获取货币名称列表 + @Override + public List listRateName() { + + return rateMapper.listRateName(); + } } diff --git a/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java index 657149b..133a8ae 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java @@ -90,7 +90,40 @@ public class WorkbenchServiceImpl implements WorkbenchService { } } -//获取用户地区权限(字符串) + + @Override + public List getRevenueMarket(String account) { + // 6 个允许出现的地区 + final List ALLOW_6 = Arrays.asList( + "新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM"); + + try { + String market = workBenchMapper.getAdminMarket(account); + if (market == null) { // 数据库没配 + return Collections.emptyList(); + } + + List list = Arrays.asList(market.split(",")); + + /* 1. 总部 or 研发部 -> 直接返回 6 个完整地区 */ + if (list.contains("总部") || "研发部".equals(market)) { + return new ArrayList<>(ALLOW_6); + } + + /* 2. 其余情况:只保留在 6 个地区里的 */ + List hit = list.stream() + .filter(ALLOW_6::contains) + .collect(Collectors.toList()); + + /* 3. 如果没有命中,返回空串(空列表) */ + return hit.isEmpty() ? Collections.emptyList() : hit; + + } catch (Exception e) { + log.error("获取地区权限异常", e); + return Collections.emptyList(); + }} + + //获取用户地区权限(字符串) @Override public String getAdminMarket1(String account) { @@ -412,6 +445,10 @@ public class WorkbenchServiceImpl implements WorkbenchService { //获取总营收 @Override public WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List markets) { + if (markets == null || markets.isEmpty()) { + return new WorkbenchCard(new ArrayList<>(), new ArrayList<>(), markets, startDate, endDate,0,0,new Date()); + } + List list = workBenchMapper.getRevenue(markets, startDate, endDate); return null; } diff --git a/src/main/resources/mapper/RateMapper.xml b/src/main/resources/mapper/RateMapper.xml index 99a0744..b6870ed 100644 --- a/src/main/resources/mapper/RateMapper.xml +++ b/src/main/resources/mapper/RateMapper.xml @@ -10,6 +10,11 @@ + diff --git a/src/main/resources/mapper/WorkBenchMapper.xml b/src/main/resources/mapper/WorkBenchMapper.xml index daf9f6b..a8185a3 100644 --- a/src/main/resources/mapper/WorkBenchMapper.xml +++ b/src/main/resources/mapper/WorkBenchMapper.xml @@ -168,4 +168,8 @@ group by month order by month + +