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 ddc632a..81ce248 100644 --- a/src/main/java/com/example/demo/controller/coin/WorkbenchController.java +++ b/src/main/java/com/example/demo/controller/coin/WorkbenchController.java @@ -92,5 +92,16 @@ public class WorkbenchController { WorkbenchCard result =workbenchService.getSingleGraph(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); return ResponseEntity.ok(result); } + //总营收 + @PostMapping("/getTotalRevenue") + public ResponseEntity getTotalRevenue(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { + String account = admin.getAccount(); + List markets = workbenchService.getAdminMarket(account); + + workbench.setMarkets(markets); + WorkbenchCard result =workbenchService.getTotalRevenue(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); + return ResponseEntity.ok(result); + + } } diff --git a/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java b/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java index f01ba91..a5fc4ee 100644 --- a/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java +++ b/src/main/java/com/example/demo/domain/vo/cash/CashCollection.java @@ -57,6 +57,7 @@ public class CashCollection implements Serializable { private String receivedRemark; //到账备注 private String rejectReason; // 驳回理由 private String auditId; //审核人id + private String auditName; //审核人id @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") diff --git a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchDayStatistics.java b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchDayStatistics.java deleted file mode 100644 index ddf8291..0000000 --- a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchDayStatistics.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.demo.domain.vo.coin; - -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @program: gold-java - * @ClassName WorkbenchDayStatistics - * @description: - * @author: Ethan - * @create: 2025−10-10 09:46 - * @Version 1.0 - **/ -@Data -public class WorkbenchDayStatistics { - private Date statDate; - private BigDecimal dayRechargePermanent; - private BigDecimal dayRechargeFree; - private BigDecimal dayConsumePermanent; - private BigDecimal dayConsumeFree; - private BigDecimal dayConsumeTask; -} \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchFullStatistics.java b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchFullStatistics.java index 7dbd92a..d7e29a8 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchFullStatistics.java +++ b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchFullStatistics.java @@ -9,7 +9,7 @@ import java.io.Serializable; /** * @program: gold-java * @ClassName WorkbenchFullStatistics - * @description: + * @description: 工作台全量统计 * @author: Ethan * @create: 2025−07-03 13:46 * @Version 1.0 diff --git a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketCard.java b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketCard.java index 70132bf..7abcfc7 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketCard.java +++ b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketCard.java @@ -11,7 +11,7 @@ import java.util.Date; /** * @program: gold-java * @ClassName WorkbenchMarketCard - * @description: + * @description: 工作台卡片数据 * @author: Ethan * @create: 2025−06-25 16:20 * @Version 1.0 diff --git a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketGraph.java b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketGraph.java index 3d36dd9..d22a95c 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketGraph.java +++ b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketGraph.java @@ -11,7 +11,7 @@ import java.util.Date; /** * @program: gold-java * @ClassName WorkbenchMarketGraph - * @description: + * @description: 工作台图表 * @author: Ethan * @create: 2025−07-03 10:16 * @Version 1.0 diff --git a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMonthStatistics.java b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMonthStatistics.java deleted file mode 100644 index 86f7be4..0000000 --- a/src/main/java/com/example/demo/domain/vo/coin/WorkbenchMonthStatistics.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.demo.domain.vo.coin; - -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @program: gold-java - * @ClassName WorkbenchMonthStatistics - * @description: - * @author: Ethan - * @create: 2025−10-10 09:46 - * @Version 1.0 - **/ -@Data -public class WorkbenchMonthStatistics { - private String month; - private BigDecimal monthRechargePermanent; - private BigDecimal monthRechargeFree; - private BigDecimal monthConsumePermanent; - private BigDecimal monthConsumeFree; - private BigDecimal monthConsumeTask; -} \ No newline at end of file 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 new file mode 100644 index 0000000..380c5c5 --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java @@ -0,0 +1,32 @@ +package com.example.demo.domain.vo.coin; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.poi.hpsf.Decimal; + +import java.io.Serializable; + +/** + * @program: gold-java + * @ClassName WorkbenchRevenue + * @description: //工作台营收 + * @author: Ethan + * @create: 2025−10-14 10:01 + * @Version 1.0 + **/ +@Data +@NoArgsConstructor +@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; //加币 +} 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 d094ca5..b7bb027 100644 --- a/src/main/java/com/example/demo/service/coin/WorkbenchService.java +++ b/src/main/java/com/example/demo/service/coin/WorkbenchService.java @@ -45,4 +45,6 @@ public interface WorkbenchService { Date getStartOfWeek(Date date); //获取单一市场的工作台图表 WorkbenchCard getSingleGraph(Date startDate, Date endDate, List markets); + //获取总营收 + WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List markets); } 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 c7effde..657149b 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java @@ -60,11 +60,28 @@ public class WorkbenchServiceImpl implements WorkbenchService { //判断是否是总部 if (list != null && list.contains("总部")||market.equals("研发部")) { List allMarkets = workBenchMapper.getMarket(); // 获取所有地区 - allMarkets.remove("总部"); // 先移除可能存在的总部 - allMarkets.add(0, "总部"); // 将总部添加到列表第一位 - list = allMarkets; // 更新list + 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); @@ -392,6 +409,11 @@ public class WorkbenchServiceImpl implements WorkbenchService { return new WorkbenchCard(new ArrayList<>(), list, markets, startDate, endDate, 0, 0, new Date()); } } + //获取总营收 + @Override + public WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List markets) { + return null; + } //获取最近的更新时间 private Date findLatestUpdateTime(List statsList) { diff --git a/src/main/resources/cashMapper/CashCollectionMapper.xml b/src/main/resources/cashMapper/CashCollectionMapper.xml index b67b5ca..b3ad910 100644 --- a/src/main/resources/cashMapper/CashCollectionMapper.xml +++ b/src/main/resources/cashMapper/CashCollectionMapper.xml @@ -75,7 +75,7 @@ cr.received_currency,cr.received_amount,cr.handling_charge, cr.received_market,cr.pay_type,cr.pay_time,cr.received_time, cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason, - cr.create_time,cr.update_time,cr.audit_time, + cr.audit_id,cr.create_time,cr.update_time,cr.audit_time, a1.admin_name as submitterName, a2.admin_name as auditName