From e244d15579b82b685fc8043185047b24d0a7fff5 Mon Sep 17 00:00:00 2001 From: lijianlin Date: Wed, 15 Oct 2025 15:29:06 +0800 Subject: [PATCH] =?UTF-8?q?10-15=20=E5=9C=B0=E5=8C=BA=E8=90=A5=E6=94=B6?= =?UTF-8?q?=EF=BC=88=E6=97=A0=E5=90=88=E8=AE=A1=E6=96=B0=E5=B8=81=EF=BC=89?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=94=B6=E6=AC=BE=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/coin/WorkbenchController.java | 5 ++-- .../demo/domain/vo/coin/WorkbenchRevenue.java | 19 ++++++------- .../demo/service/coin/WorkbenchService.java | 3 ++- .../cash/CashCollectionServiceImpl.java | 3 ++- .../demo/serviceImpl/coin/GeneralServiceImpl.java | 31 ++++++++++++++++------ .../serviceImpl/coin/WorkbenchServiceImpl.java | 8 +++--- src/main/resources/mapper/WorkBenchMapper.xml | 20 +++++++++++++- 7 files changed, 62 insertions(+), 27 deletions(-) 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 b32f810..11f43a9 100644 --- a/src/main/java/com/example/demo/controller/coin/WorkbenchController.java +++ b/src/main/java/com/example/demo/controller/coin/WorkbenchController.java @@ -4,6 +4,7 @@ import com.example.demo.Util.JWTUtil; import com.example.demo.config.interfac.Log; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.vo.coin.WorkbenchCard; +import com.example.demo.domain.vo.coin.WorkbenchRevenue; import com.example.demo.mapper.coin.StatisticsMapper; import com.example.demo.service.coin.GeneralService; import com.example.demo.service.coin.StatisticsService; @@ -94,12 +95,12 @@ public class WorkbenchController { } //总营收 @PostMapping("/getTotalRevenue") - public ResponseEntity getTotalRevenue(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { + public ResponseEntity> getTotalRevenue(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { String account = admin.getAccount(); List markets = workbenchService.getRevenueMarket(account); workbench.setMarkets(markets); - WorkbenchCard result =workbenchService.getTotalRevenue(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); + List result =workbenchService.getTotalRevenue(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); return ResponseEntity.ok(result); } diff --git a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java index 380c5c5..64d9c2a 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java +++ b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java @@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; import org.apache.poi.hpsf.Decimal; import java.io.Serializable; +import java.math.BigDecimal; /** * @program: gold-java @@ -20,13 +21,13 @@ import java.io.Serializable; @AllArgsConstructor public class WorkbenchRevenue implements Serializable { private String market; //地区 - private Decimal TotalSGD; //总营收(新币) - private Decimal SGD ; //新币 - private Decimal MYR; //马币 - private Decimal HKD; //港币 - private Decimal USD; //美元 - private Decimal THB; //泰铢 - private Decimal VDN; //越南盾 - private Decimal KRW; //韩元 - private Decimal CAD; //加币 + private BigDecimal totalSGD; //总营收(新币) + private BigDecimal sgd ; //新币 + private BigDecimal myr; //马币 + private BigDecimal hkd; //港币 + private BigDecimal usd; //美元 + private BigDecimal thb; //泰铢 + private BigDecimal vdn; //越南盾 + private BigDecimal krw; //韩元 + private BigDecimal cad; //加币 } 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 66048c0..af6bf51 100644 --- a/src/main/java/com/example/demo/service/coin/WorkbenchService.java +++ b/src/main/java/com/example/demo/service/coin/WorkbenchService.java @@ -3,6 +3,7 @@ package com.example.demo.service.coin; import com.example.demo.domain.entity.Statistics; import com.example.demo.domain.vo.coin.WorkbenchCard; import com.example.demo.domain.vo.coin.WorkbenchMarketCard; +import com.example.demo.domain.vo.coin.WorkbenchRevenue; import java.util.Date; import java.util.List; @@ -48,5 +49,5 @@ public interface WorkbenchService { //获取单一市场的工作台图表 WorkbenchCard getSingleGraph(Date startDate, Date endDate, List markets); //获取总营收 - WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List markets); + List getTotalRevenue(Date startDate, Date endDate, List markets); } diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java index d1fa08e..cecc5b2 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java @@ -93,8 +93,9 @@ public class CashCollectionServiceImpl implements CashCollectionService { cashRecord.setStatus(0); //订单状态:付款线下财务待审核 cashRecord.setSubmitterId(cashCollection.getSubmitterId()); //提交人ID cashRecord.setOrderType(1); //订单类型:1-收款 + cashRecord.setMarket(cashCollection.getMarket()); //地区,根据jwcode插入 - cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(cashRecord.getJwcode())); + //cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(cashRecord.getJwcode())); //插入新收款订单 cashCollectionMapper.add(cashRecord); diff --git a/src/main/java/com/example/demo/serviceImpl/coin/GeneralServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/GeneralServiceImpl.java index 688f1bd..af3e7da 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/GeneralServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/GeneralServiceImpl.java @@ -131,21 +131,36 @@ public class GeneralServiceImpl implements GeneralService { } List list = Arrays.asList(market.split(",")); //判断是否是总部 - if (list != null && list.contains("总部")||list.contains("研发部")) { - List allMarkets = getMarket(); // 获取所有地区 - allMarkets.remove("总部"); // 先移除可能存在的总部 - allMarkets.add(0, "总部"); // 将总部添加到列表第一位 - list = allMarkets; // 更新list + if (list != null && list.contains("总部")||market.equals("研发部")) { + List allMarkets = generalMapper.getMarket(); // 获取所有地区 + allMarkets.remove("总部"); + // 固定顺序 + List fixed = Arrays.asList( + "新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "未知" + ); + + // 先放固定顺序(存在的才放) + List result = new ArrayList<>(); + for (String m : fixed) { + if (allMarkets.contains(m)) result.add(m); + } + + // 其余按字母序追加 + allMarkets.removeAll(fixed); + Collections.sort(allMarkets); + result.addAll(allMarkets); + + return result; } return list; + + } catch (Exception e) { // 记录日志 -// log.error("获取地区权限失败", e); + log.error("获取地区权限失败", e); // 重新抛出异常,或者根据需要返回一个默认值或空列表 throw new RuntimeException("获取地区权限失败", e); } - - } @Override 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 133a8ae..dde9d1c 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java @@ -444,12 +444,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()); - } + public List getTotalRevenue(Date startDate, Date endDate, List markets) { + List list = workBenchMapper.getRevenue(markets, startDate, endDate); - return null; + return list; } //获取最近的更新时间 diff --git a/src/main/resources/mapper/WorkBenchMapper.xml b/src/main/resources/mapper/WorkBenchMapper.xml index a8185a3..7c61e4c 100644 --- a/src/main/resources/mapper/WorkBenchMapper.xml +++ b/src/main/resources/mapper/WorkBenchMapper.xml @@ -170,6 +170,24 @@