From 850fb12eb3e26f0721f17b073de1c6070b09bfcf Mon Sep 17 00:00:00 2001
From: huangqizhen <15552608129@163.com>
Date: Mon, 7 Jul 2025 17:35:09 +0800
Subject: [PATCH 01/11] =?UTF-8?q?7.6token=E6=8F=90=E5=8F=96=E7=94=A8?=
=?UTF-8?q?=E6=88=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/example/demo/Export/ExportServiceImpl.java | 40 +++++++++--
.../com/example/demo/domain/DTO/ConsumeDTO.java | 2 +
.../com/example/demo/domain/export/Goldmingxi.java | 1 +
.../com/example/demo/domain/export/Goldyve.java | 24 +++++++
.../demo/serviceImpl/ExportExcelServiceImpl.java | 77 ++++++++++++++++++++--
.../demo/serviceImpl/GoldDetailServiceImpl.java | 26 +++++++-
src/main/resources/mapper/PermissionMapper.xml | 6 +-
7 files changed, 159 insertions(+), 17 deletions(-)
create mode 100644 src/main/java/com/example/demo/domain/export/Goldyve.java
diff --git a/src/main/java/com/example/demo/Export/ExportServiceImpl.java b/src/main/java/com/example/demo/Export/ExportServiceImpl.java
index 2c52080..bdce7f0 100644
--- a/src/main/java/com/example/demo/Export/ExportServiceImpl.java
+++ b/src/main/java/com/example/demo/Export/ExportServiceImpl.java
@@ -1,15 +1,21 @@
package com.example.demo.Export;
+import com.example.demo.Util.JWTUtil;
import com.example.demo.domain.DTO.ConsumeDTO;
import com.example.demo.domain.DTO.RechargeDTO;
import com.example.demo.domain.DTO.RefundDTO;
+import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.vo.Result;
import com.example.demo.exception.SystemException;
import com.example.demo.mapper.GoldDetailMapper;
import com.example.demo.Util.RedisUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -33,13 +39,21 @@ public class ExportServiceImpl implements ExportService{
@Override
public Result addExportRecharge(RechargeDTO dto) {
+ // 获取操作者 jwcode
+ HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ String token = request.getHeader("token");
+ try {
+ UserDetails token1= JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
+ dto.setAccount(Integer.valueOf(token1.getUsername()));
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
// 生成文件名
String fileName = String.format("%s_%s_%s.xlsx",
"充值明细",
"操作人",
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
System.out.println(fileName);
- dto.setAccount(123456);
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
@@ -81,13 +95,21 @@ public class ExportServiceImpl implements ExportService{
@Override
public Result addExportRefund(RefundDTO dto) {
+ // 获取操作者 jwcode
+ HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ String token = request.getHeader("token");
+ try {
+ UserDetails token1= JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
+ dto.setAccount(Integer.valueOf(token1.getUsername()));
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
// 生成文件名
String fileName = String.format("%s_%s_%s.xlsx",
"退款明细",
"操作人",
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
System.out.println(fileName);
- dto.setAccount(123456);
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
@@ -129,13 +151,21 @@ public class ExportServiceImpl implements ExportService{
@Override
public Result addExportConsume(ConsumeDTO dto) {
+ // 获取操作者 jwcode
+ HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ String token = request.getHeader("token");
+ try {
+ UserDetails token1= JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
+ dto.setAccount(Integer.valueOf(token1.getUsername()));
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
// 生成文件名
String fileName = String.format("%s_%s_%s.xlsx",
- "消费明细",
+ "消耗明细",
"操作人",
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
System.out.println(fileName);
- dto.setAccount(123456);
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
@@ -167,7 +197,7 @@ public class ExportServiceImpl implements ExportService{
// 3. 发送到 Redis 消息队列
String jsonData = new ObjectMapper().writeValueAsString(exportData);
- redisUtil.sendMessage("refund:queue:export_queue", jsonData);
+ redisUtil.sendMessage("consume:queue:export_queue", jsonData);
}catch (Exception e){
e.printStackTrace();
throw new SystemException("导出数据异常,请稍后重试", e);
diff --git a/src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java b/src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java
index d8a7b01..a2eb47a 100644
--- a/src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java
+++ b/src/main/java/com/example/demo/domain/DTO/ConsumeDTO.java
@@ -1,5 +1,6 @@
package com.example.demo.domain.DTO;
+import com.example.demo.domain.vo.ConsumeUser;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -31,6 +32,7 @@ public class ConsumeDTO {
private Integer page = 1;
@NotNull(message = "pageSize不能为空")
private Integer pageSize = 20;
+ private ConsumeUser consumeUser;
@Override
public String toString() {
diff --git a/src/main/java/com/example/demo/domain/export/Goldmingxi.java b/src/main/java/com/example/demo/domain/export/Goldmingxi.java
index 41dd026..5291dc1 100644
--- a/src/main/java/com/example/demo/domain/export/Goldmingxi.java
+++ b/src/main/java/com/example/demo/domain/export/Goldmingxi.java
@@ -25,4 +25,5 @@ public class Goldmingxi {
private Integer freeDecember; // 免费金币七月到期
private Integer taskGold; // 任务金币
private String adminName; //提交人
+ private String createTime; // 提交时间
}
diff --git a/src/main/java/com/example/demo/domain/export/Goldyve.java b/src/main/java/com/example/demo/domain/export/Goldyve.java
new file mode 100644
index 0000000..26f6878
--- /dev/null
+++ b/src/main/java/com/example/demo/domain/export/Goldyve.java
@@ -0,0 +1,24 @@
+package com.example.demo.domain.export;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @program: GOLD
+ * @ClassName Goldyve
+ * @description:
+ * @author: huangqizhen
+ * @create: 2025−07-07 15:27
+ * @Version 1.0
+ **/
+@Data
+@NoArgsConstructor
+public class Goldyve {
+ private String name;
+ private Integer jwcode;
+ private String market;
+ private String currentPermanentGold ;
+ private String currentFreeJune;
+ private String currentFreeDecember;
+ private String currentTaskGold;
+}
diff --git a/src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java
index 98efdd1..9e425ed 100644
--- a/src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ExportExcelServiceImpl.java
@@ -10,6 +10,7 @@ import com.example.demo.controller.GoldDetailController;
import com.example.demo.controller.RechargeController;
import com.example.demo.controller.RefundController;
import com.example.demo.domain.entity.Export;
+import com.example.demo.domain.entity.User;
import com.example.demo.domain.export.Goldmingxi;
import com.example.demo.domain.vo.*;
@@ -294,7 +295,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
try {
// 6. 初始化Excel写入器(指向本地文件流)
- excelWriter = initExcelWriter(outputStream, "user");
+ excelWriter = ExcelWriter(outputStream, "user");
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build();
// 7. 分页查询并写入数据
Page page = new Page();
@@ -493,7 +494,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
try {
// 6. 初始化Excel写入器(指向本地文件流)
- excelWriter = initExcelWriter(outputStream, "user");
+ excelWriter = RechargeExcelWriter(outputStream, "user");
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build();
// 7. 分页查询并写入数据
Page page = new Page();
@@ -692,7 +693,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
try {
// 6. 初始化Excel写入器(指向本地文件流)
- excelWriter = initExcelWriter(outputStream, "user");
+ excelWriter = ConExcelWriter(outputStream, "user");
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build();
// 7. 分页查询并写入数据
Page page = new Page();
@@ -701,7 +702,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
Integer totalCount = 0;
boolean hasMore = true;
while (hasMore) {
- Result pageResult = refundController.selcetBy(page);
+ Result pageResult = consumeController.selcetBy(page);
Integer code = pageResult.getCode();
Object data = pageResult.getData();
@@ -891,7 +892,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
try {
// 6. 初始化Excel写入器(指向本地文件流)
- excelWriter = initExcelWriter(outputStream, "user");
+ excelWriter = RefundExcelWriter(outputStream, "user");
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build();
// 7. 分页查询并写入数据
Page page = new Page();
@@ -900,7 +901,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
Integer totalCount = 0;
boolean hasMore = true;
while (hasMore) {
- Result pageResult = consumeController.selcetBy(page);
+ Result pageResult = refundController.selcetBy(page);
Integer code = pageResult.getCode();
Object data = pageResult.getData();
@@ -1099,4 +1100,68 @@ public class ExportExcelServiceImpl implements ExportExcelService {
throw new IllegalArgumentException("不支持的导出类型: " + exportType);
}
}
+ /**
+ * 初始化excel文件
+ * @param os
+ * @param exportType
+ * @return
+ */
+ private ExcelWriter ExcelWriter(OutputStream os, String exportType) {
+ switch (exportType) {
+ case "user":
+ return EasyExcel.write(os, User.class)
+ .inMemory(Boolean.TRUE)
+ .build();
+ default:
+ throw new IllegalArgumentException("不支持的导出类型: " + exportType);
+ }
+ }
+ /**
+ * 初始化excel文件
+ * @param os
+ * @param exportType
+ * @return
+ */
+ private ExcelWriter RechargeExcelWriter(OutputStream os, String exportType) {
+ switch (exportType) {
+ case "user":
+ return EasyExcel.write(os, RechargeUser.class)
+ .inMemory(Boolean.TRUE)
+ .build();
+ default:
+ throw new IllegalArgumentException("不支持的导出类型: " + exportType);
+ }
+ }
+ /**
+ * 初始化excel文件
+ * @param os
+ * @param exportType
+ * @return
+ */
+ private ExcelWriter ConExcelWriter(OutputStream os, String exportType) {
+ switch (exportType) {
+ case "user":
+ return EasyExcel.write(os, ConsumeUser.class)
+ .inMemory(Boolean.TRUE)
+ .build();
+ default:
+ throw new IllegalArgumentException("不支持的导出类型: " + exportType);
+ }
+ }/**
+ * 初始化excel文件
+ * @param os
+ * @param exportType
+ * @return
+ */
+ private ExcelWriter RefundExcelWriter(OutputStream os, String exportType) {
+ switch (exportType) {
+ case "user":
+ return EasyExcel.write(os, RefundUser.class)
+ .inMemory(Boolean.TRUE)
+ .build();
+ default:
+ throw new IllegalArgumentException("不支持的导出类型: " + exportType);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java
index 022c5dc..4e73d24 100644
--- a/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java
@@ -1,8 +1,10 @@
package com.example.demo.serviceImpl;
+import com.example.demo.Util.JWTUtil;
import com.example.demo.Util.RedisUtil;
import com.example.demo.domain.DTO.GoldDetailDTO;
import com.example.demo.domain.DTO.GoldUserDTO;
+import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.vo.*;
import com.example.demo.exception.SystemException;
@@ -11,8 +13,12 @@ import com.example.demo.service.GoldDetailService;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
import java.io.IOException;
import java.time.LocalDateTime;
@@ -110,14 +116,20 @@ public class GoldDetailServiceImpl implements GoldDetailService {
@Override
public Result addExportRecord(GoldDetailDTO dto) {
// 获取操作者 jwcode
-
+ HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ String token = request.getHeader("token");
+ try {
+ UserDetails token1= JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
+ dto.setAccount(Integer.valueOf(token1.getUsername()));
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
// 生成文件名
String fileName = String.format("%s_%s_%s.xlsx",
"客户金币明细",
"操作人",
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
System.out.println(fileName);
- dto.setAccount(123456);
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
@@ -159,13 +171,21 @@ public class GoldDetailServiceImpl implements GoldDetailService {
@Override
public Result addExportRecordGold(GoldUserDTO dto) {
+ // 获取操作者 jwcode
+ HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ String token = request.getHeader("token");
+ try {
+ UserDetails token1= JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
+ dto.setAccount(Integer.valueOf(token1.getUsername()));
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
// 生成文件名
String fileName = String.format("%s_%s_%s.xlsx",
"金币余额明细",
"操作人",
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
System.out.println(fileName);
- dto.setAccount(123456);
dto.setUrl("");
dto.setFileName(fileName);
dto.setDataNum(0);
diff --git a/src/main/resources/mapper/PermissionMapper.xml b/src/main/resources/mapper/PermissionMapper.xml
index 3f2b03e..b75e6d8 100644
--- a/src/main/resources/mapper/PermissionMapper.xml
+++ b/src/main/resources/mapper/PermissionMapper.xml
@@ -47,13 +47,13 @@
- admin.account=#{account}
+ and admin.account=#{account}
- admin.market=#{market}
+ and admin.market=#{market}
- admin.postiton=#{postiton}
+ and admin.postiton=#{postiton}
order by admin.admin_status desc
From f273d34a389a5e64b992833221a27acc34e94172 Mon Sep 17 00:00:00 2001
From: sunjiabei
Date: Mon, 7 Jul 2025 17:51:34 +0800
Subject: [PATCH 02/11] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E9=87=91=E5=B8=81?=
=?UTF-8?q?=E5=8F=98=E8=B4=9F=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../example/demo/serviceImpl/ConsumeServiceImpl.java | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
index 32a34ac..46cbd0d 100644
--- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
@@ -118,8 +118,8 @@ public class ConsumeServiceImpl implements ConsumeService {
userGoldRecord.setOrderCode("XF" + timestampPart + counterPart);
userGoldRecord.setJwcode(consumeUser.getJwcode());
userGoldRecord.setGoodsName(consumeUser.getGoodsName());
- userGoldRecord.setSumGold(consumeUser.getSumGold());
- userGoldRecord.setPermanentGold(consumeUser.getPermanentGold());
+ userGoldRecord.setSumGold(-consumeUser.getSumGold());
+ userGoldRecord.setPermanentGold(-consumeUser.getPermanentGold());
// 获取当前月份(1-12)
int currentMonth = LocalDate.now().getMonthValue();
GoldUser gold = userMapper.selectGold(consumeUser.getJwcode().toString());
@@ -131,23 +131,23 @@ public class ConsumeServiceImpl implements ConsumeService {
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月:设置6月额度,12月保持默认值
if (consumeUser.getFreeGold() > gold.getNowFreeJune()) {
- userGoldRecord.setFreeJune(gold.getNowFreeJune());
- userGoldRecord.setFreeDecember(consumeUser.getFreeGold() - gold.getNowFreeJune());
+ userGoldRecord.setFreeJune(-gold.getNowFreeJune());
+ userGoldRecord.setFreeDecember(-(consumeUser.getFreeGold() - gold.getNowFreeJune()));
} else {
- userGoldRecord.setFreeJune(consumeUser.getFreeGold());
+ userGoldRecord.setFreeJune(-consumeUser.getFreeGold());
userGoldRecord.setFreeDecember(0);
}
} else {
// 7-12月:设置12月额度,6月保持默认值
if (consumeUser.getFreeGold() > gold.getNowFreeDecember()) {
- userGoldRecord.setFreeDecember(gold.getNowFreeDecember());
- userGoldRecord.setFreeJune(consumeUser.getFreeGold() - gold.getNowFreeDecember());
+ userGoldRecord.setFreeDecember(-gold.getNowFreeDecember());
+ userGoldRecord.setFreeJune(-(consumeUser.getFreeGold() - gold.getNowFreeDecember()));
} else {
- userGoldRecord.setFreeDecember(consumeUser.getFreeGold());
+ userGoldRecord.setFreeDecember(-consumeUser.getFreeGold());
userGoldRecord.setFreeJune(0);
}
}
- userGoldRecord.setTaskGold(consumeUser.getTaskGold());
+ userGoldRecord.setTaskGold(-consumeUser.getTaskGold());
userGoldRecord.setRemark(consumeUser.getRemark());
userGoldRecord.setType((byte) 1);
userGoldRecord.setIsRefund((byte) 0);
From ccea361ef7f58f7ba8679e7394182834e2599b68 Mon Sep 17 00:00:00 2001
From: sunjiabei
Date: Mon, 7 Jul 2025 18:00:55 +0800
Subject: [PATCH 03/11] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E9=87=91=E5=B8=81?=
=?UTF-8?q?=E5=8F=98=E8=B4=9F=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/example/demo/serviceImpl/ConsumeServiceImpl.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
index 46cbd0d..d14fa5e 100644
--- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
@@ -159,10 +159,10 @@ public class ConsumeServiceImpl implements ConsumeService {
consumeMapper.add(userGoldRecord);
User user = new User();
user.setJwcode(userGoldRecord.getJwcode());
- user.setCurrentPermanentGold(gold.getNowPermanentGold() - consumeUser.getPermanentGold());
- user.setCurrentFreeJune(gold.getNowFreeJune() - userGoldRecord.getFreeJune());
- user.setCurrentFreeDecember(gold.getNowFreeDecember() - userGoldRecord.getFreeDecember());
- user.setCurrentTaskGold(gold.getNowTaskGold() - consumeUser.getTaskGold());
+ user.setCurrentPermanentGold(gold.getNowPermanentGold() + consumeUser.getPermanentGold());
+ user.setCurrentFreeJune(gold.getNowFreeJune() + userGoldRecord.getFreeJune());
+ user.setCurrentFreeDecember(gold.getNowFreeDecember() + userGoldRecord.getFreeDecember());
+ user.setCurrentTaskGold(gold.getNowTaskGold() + consumeUser.getTaskGold());
user.setConsumeNum(gold.getConsumeNum() + 1);
user.setSumConsume(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold());
userMapper.updateGold(user);
From c2a4713c3294c21c01a32c037fe5b623788f7ca5 Mon Sep 17 00:00:00 2001
From: lijianlin
Date: Mon, 7 Jul 2025 18:32:22 +0800
Subject: [PATCH 04/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9B=B4=E6=96=B0?=
=?UTF-8?q?=E7=BB=9F=E8=AE=A1=E8=A1=A8=E6=95=B0=E6=8D=AE=EF=BC=8C=E5=8F=96?=
=?UTF-8?q?=E7=BB=9D=E5=AF=B9=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/example/demo/serviceImpl/StatisticsServiceImpl.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
index d93852e..fc9de43 100644
--- a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
@@ -241,25 +241,25 @@ public class StatisticsServiceImpl implements StatisticsService {
.filter(record -> record.getType() == 1) // 类型为消费
.mapToInt(UserGoldRecord::getPermanentGold)
.sum();
- statistics.setConsumePermanent(consumePermanent);
+ statistics.setConsumePermanent(Math.abs(consumePermanent));
//消费相关-当日新增消费(六月免费)
Integer consumeFreeJune = records.stream()
.filter(record -> record.getType() == 1) // 类型为消费
.mapToInt(UserGoldRecord::getFreeJune)
.sum();
- statistics.setConsumeFreeJune(consumeFreeJune);
+ statistics.setConsumeFreeJune(Math.abs(consumeFreeJune));
//消费相关-当日新增消费(十二月免费)
Integer consumeFreeDecember = records.stream()
.filter(record -> record.getType() == 1) // 类型为消费
.mapToInt(UserGoldRecord::getFreeDecember)
.sum();
- statistics.setConsumeFreeDecember(consumeFreeDecember);
+ statistics.setConsumeFreeDecember(Math.abs(consumeFreeDecember));
//消费相关-当日新增消费(任务)
Integer consumeTask = records.stream()
.filter(record -> record.getType() == 1) // 类型为消费
.mapToInt(UserGoldRecord::getTaskGold)
.sum();
- statistics.setConsumeTask(consumeTask);
+ statistics.setConsumeTask(Math.abs(consumeTask)); // 使用 Math.abs 确保为正数
//退款相关-当日退款(永久)
Integer refundPermanent = records.stream()
.filter(record -> record.getType() == 2) // 类型为退款
From f56b782d2f97a2176750ca044b8b5840659c852a Mon Sep 17 00:00:00 2001
From: lijianlin
Date: Tue, 8 Jul 2025 09:50:04 +0800
Subject: [PATCH 05/11] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E5=8D=A1?=
=?UTF-8?q?=E7=89=87=E6=AF=8F=E5=B0=8F=E6=97=B6=E6=9B=B4=E6=96=B0=E4=B8=80?=
=?UTF-8?q?=E6=AC=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/example/demo/serviceImpl/StatisticsServiceImpl.java | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
index fc9de43..0cc29bd 100644
--- a/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
@@ -36,11 +36,10 @@ public class StatisticsServiceImpl implements StatisticsService {
private GeneralService generalService;
/*
- 12点,18点,23点30分执行定时任务更新当天part1数据
+ 每小时执行定时任务更新当天part1数据
*/
@Override
- @Scheduled(cron = "0 0 1,12,18 * * ?") // 分别在 1:00 12:00 和 18:00 执行
- @Scheduled(cron = "0 30 23 * * ?") // 在 23:30 执行
+ @Scheduled(cron = "0 0 * * * ?") // 每小时执行一次
public void runHourlyTaskPart1() {
Date today = new Date(); //取当天日期
for(String market : generalService.getMarket()){
@@ -49,10 +48,10 @@ public class StatisticsServiceImpl implements StatisticsService {
}
/*
- 12点,18点执行定时任务更新当天part2数据
+ 每小时执行定时任务更新当天part2数据
*/
@Override
- @Scheduled(cron = "0 0 12,18 * * ?")
+ @Scheduled(cron = "0 0 * * * ?") // 每小时执行一次
public void runHourlyTaskPart2() {
Date today = new Date(); //取当天日期
for(String market : generalService.getMarket()){
From 0df1b1dce8f0aeebf2594d7c008d3378f587464a Mon Sep 17 00:00:00 2001
From: sunjiabei
Date: Tue, 8 Jul 2025 10:59:06 +0800
Subject: [PATCH 06/11] =?UTF-8?q?=E7=B2=BE=E7=BD=91=E5=8F=B7=E6=A0=A1?=
=?UTF-8?q?=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/example/demo/serviceImpl/ConsumeServiceImpl.java | 4 ++++
.../com/example/demo/serviceImpl/RechargeServiceImpl.java | 4 ++++
.../com/example/demo/serviceImpl/RefundServiceImpl.java | 13 +++++++++----
3 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
index d14fa5e..8eb4811 100644
--- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
@@ -102,6 +102,10 @@ public class ConsumeServiceImpl implements ConsumeService {
if(consumeUser.getTaskGold()<0||consumeUser.getFreeGold()<0||consumeUser.getPermanentGold()<0){
return Result.error("金币不能为负数");
}
+ GoldUser goldUser = userMapper.selectUser(consumeUser.getJwcode().toString());
+ if(goldUser==null){
+ return Result.error("用户不存在");
+ }
UserGoldRecord userGoldRecord = new UserGoldRecord();
// 获取当前时间戳部分
diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
index 81b344c..9c75c69 100644
--- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
@@ -89,6 +89,10 @@ public class RechargeServiceImpl implements RechargeService {
if(rechargeUser.getFreeGold()<0||rechargeUser.getPermanentGold()<=0||rechargeUser.getMoney()<=0){
return Result.error("充值不能为负数或0");
}
+ GoldUser goldUser = userMapper.selectUser(rechargeUser.getJwcode().toString());
+ if(goldUser==null){
+ return Result.error("用户不存在");
+ }
UserGoldRecord userGoldRecord = new UserGoldRecord();
// 获取当前时间戳部分
diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
index db3e664..5b5ecc2 100644
--- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
@@ -1,10 +1,7 @@
package com.example.demo.serviceImpl;
import com.example.demo.domain.entity.UserGoldRecord;
-import com.example.demo.domain.vo.ConsumeUser;
-import com.example.demo.domain.vo.Gold;
-import com.example.demo.domain.vo.RefundUser;
-import com.example.demo.domain.vo.Result;
+import com.example.demo.domain.vo.*;
import com.example.demo.mapper.ConsumeMapper;
import com.example.demo.mapper.RefundMapper;
import com.example.demo.mapper.UserMapper;
@@ -43,6 +40,10 @@ public class RefundServiceImpl implements RefundService {
@Autowired
private ConsumeMapper consumeMapper;
+ @Autowired
+ private UserMapper userMapper;
+
+
@Override
public PageInfo selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) {
PageHelper.startPage(pageNum, pageSize);
@@ -100,6 +101,10 @@ public class RefundServiceImpl implements RefundService {
if (refundUser.getTaskGold() < 0 || refundUser.getFreeGold() < 0 || refundUser.getPermanentGold() < 0) {
return Result.error("金币不能为负数");
}
+ GoldUser goldUser = userMapper.selectUser(refundUser.getJwcode().toString());
+ if(goldUser==null){
+ return Result.error("用户不存在");
+ }
UserGoldRecord userGoldRecord = new UserGoldRecord();
String goodsNameWithOrder = refundUser.getGoodsName();
String orderCode = "";
From 27b0ee53a79504332069a1d84db9ad57492fefdd Mon Sep 17 00:00:00 2001
From: lijianlin
Date: Tue, 8 Jul 2025 11:46:02 +0800
Subject: [PATCH 07/11] =?UTF-8?q?=E5=85=85=E5=80=BC=E5=AE=A1=E6=A0=B8?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A9=B3=E5=9B=9E=E4=BB=8D=E5=8A=A0=E9=87=91?=
=?UTF-8?q?=E5=B8=81bug=EF=BC=8C=E9=87=91=E5=B8=81=E6=98=8E=E7=BB=86?=
=?UTF-8?q?=E7=AD=9B=E9=80=89=E4=BF=AE=E5=A4=8D=EF=BC=8C=E5=85=85=E5=80=BC?=
=?UTF-8?q?=E6=98=8E=E7=BB=86=E6=9C=AA=E7=AD=9B=E9=80=89=E9=A9=B3=E5=9B=9E?=
=?UTF-8?q?=E4=B8=8E=E6=9C=AA=E5=AE=A1=E6=A0=B8=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../example/demo/serviceImpl/AuditServiceImpl.java | 98 +++++++++++-----------
src/main/resources/application.yml | 6 +-
src/main/resources/mapper/GoldDetailMapper.xml | 1 +
src/main/resources/mapper/RechargeMapper.xml | 4 +-
src/main/resources/mapper/RefundMapper.xml | 4 +-
5 files changed, 58 insertions(+), 55 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
index 62c3838..851fc95 100644
--- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
@@ -47,7 +47,8 @@ public class AuditServiceImpl implements AuditService {
updateOrder.setAuditStatus(2);
updateOrder.setRejectReason(rejectReason);
updateOrder.setAuditTime(new Date());
-
+ // 执行审核更新
+ auditMapper.updateOrder(updateOrder);
if (order.getType()==2) { //退款
//2.获取对应的消费订单(退款订单号去掉开头"TK"即为对应消费订单)
String consumeOrderCode = order.getOrderCode().replaceFirst("TK", "");
@@ -62,55 +63,56 @@ public class AuditServiceImpl implements AuditService {
}else if (action==1) { //通过
updateOrder.setAuditStatus(1);
updateOrder.setAuditTime(new Date());
- }
- // 执行审核更新
- auditMapper.updateOrder(updateOrder);
- //判断是充值还是退款
- if (order.getType()==0){ //充值
- //更新用户余额
- User update = new User();
- update.setJwcode(order.getJwcode()); //精网号
- update.setSumPermanentGold(order.getPermanentGold()); //历史永久金币
- update.setSumFreeJune(order.getFreeJune()); //历史六月免费金币
- update.setSumFreeDecember(order.getFreeDecember()); //历史十二月免费金币
- update.setSumTaskGold(order.getTaskGold()); //历史任务金币
- update.setCurrentPermanentGold(order.getPermanentGold()); //当前永久金币
- update.setCurrentFreeJune(order.getFreeJune()); //当前六月免费金币
- update.setCurrentFreeDecember(order.getFreeDecember()); //当前十二月免费金币
- update.setCurrentTaskGold(order.getTaskGold()); //当前任务金币
- auditMapper.updateUserGold(update);
- //erp增加充值数据
- if(update.getJwcode().equals(94226013)){
- GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币
- (double) (order.getPermanentGold() ) /100,
- order.getRemark(),0, order.getPayPlatform(), "金币充值");
- GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费
- (double) (order.getFreeDecember()+order.getFreeJune() ) /100,
- order.getRemark(),0, order.getPayPlatform(), "金币充值");
- }
- }else if (order.getType()==2) { //退款
- //更新用户余额
- User update = new User();
- update.setJwcode(order.getJwcode());
- update.setCurrentPermanentGold(order.getPermanentGold()); //当前永久金币
- update.setCurrentFreeJune(order.getFreeJune()); //当前六月免费金币
- update.setCurrentFreeDecember(order.getFreeDecember()); //当前十二月免费金币
- update.setCurrentTaskGold(order.getTaskGold()); //当前任务金币
- auditMapper.updateUserGold(update);
- //erp增加退款数据
- if(update.getJwcode().equals(94226013)){
- GoldTistV2.addCoinNew(order.getJwcode().toString(), 56, //退款永久金币
- (double) (order.getPermanentGold() ) /100,
- order.getRemark(),0, order.getPayPlatform(), "退款商品"+order.getGoodsName());
- GoldTistV2.addCoinNew(order.getJwcode().toString(), 55, //退款免费
- (double) (order.getFreeDecember()+order.getFreeJune() ) /100,
- order.getRemark(),0, order.getPayPlatform(), "退款商品"+order.getGoodsName());
- GoldTistV2.addCoinNew(order.getJwcode().toString(), 57, //退款任务
- (double) (order.getTaskGold() ) /100,
- order.getRemark(),0, order.getPayPlatform(), "退款商品"+order.getGoodsName());
- }
+ // 执行审核更新
+ auditMapper.updateOrder(updateOrder);
+ //判断是充值还是退款
+ if (order.getType()==0){ //充值
+ //更新用户余额
+ User update = new User();
+ update.setJwcode(order.getJwcode()); //精网号
+ update.setSumPermanentGold(order.getPermanentGold()); //历史永久金币
+ update.setSumFreeJune(order.getFreeJune()); //历史六月免费金币
+ update.setSumFreeDecember(order.getFreeDecember()); //历史十二月免费金币
+ update.setSumTaskGold(order.getTaskGold()); //历史任务金币
+ update.setCurrentPermanentGold(order.getPermanentGold()); //当前永久金币
+ update.setCurrentFreeJune(order.getFreeJune()); //当前六月免费金币
+ update.setCurrentFreeDecember(order.getFreeDecember()); //当前十二月免费金币
+ update.setCurrentTaskGold(order.getTaskGold()); //当前任务金币
+ auditMapper.updateUserGold(update);
+ //erp增加充值数据
+ if(update.getJwcode().equals(94226013)){
+ GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币
+ (double) (order.getPermanentGold() ) /100,
+ order.getRemark(),0, order.getPayPlatform(), "金币充值");
+ GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费
+ (double) (order.getFreeDecember()+order.getFreeJune() ) /100,
+ order.getRemark(),0, order.getPayPlatform(), "金币充值");
+ }
+ }else if (order.getType()==2) { //退款
+ //更新用户余额
+ User update = new User();
+ update.setJwcode(order.getJwcode());
+ update.setCurrentPermanentGold(order.getPermanentGold()); //当前永久金币
+ update.setCurrentFreeJune(order.getFreeJune()); //当前六月免费金币
+ update.setCurrentFreeDecember(order.getFreeDecember()); //当前十二月免费金币
+ update.setCurrentTaskGold(order.getTaskGold()); //当前任务金币
+ auditMapper.updateUserGold(update);
+ //erp增加退款数据
+ if(update.getJwcode().equals(94226013)){
+ GoldTistV2.addCoinNew(order.getJwcode().toString(), 56, //退款永久金币
+ (double) (order.getPermanentGold() ) /100,
+ order.getRemark(),0, order.getPayPlatform(), "退款商品"+order.getGoodsName());
+ GoldTistV2.addCoinNew(order.getJwcode().toString(), 55, //退款免费
+ (double) (order.getFreeDecember()+order.getFreeJune() ) /100,
+ order.getRemark(),0, order.getPayPlatform(), "退款商品"+order.getGoodsName());
+ GoldTistV2.addCoinNew(order.getJwcode().toString(), 57, //退款任务
+ (double) (order.getTaskGold() ) /100,
+ order.getRemark(),0, order.getPayPlatform(), "退款商品"+order.getGoodsName());
+ }
+ }
}
+
return true;
}
/*
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index bb5201b..c069a50 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -4,9 +4,9 @@ spring:
fail-on-unknown-properties: false
datasource:
mysql1:
- jdbc-url: jdbc:mysql://18.143.76.3:3306/hwgoldc?serverTimezone=Asia/Shanghai
- username: hwgoldc
- password: zB48T55wCsHC8KPz
+ jdbc-url: jdbc:mysql://18.143.76.3:3306/hwgold?serverTimezone=Asia/Shanghai
+ username: hwgold
+ password: aDiw7MERSATdfGta
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
pool-name: mysql1HikariCP
diff --git a/src/main/resources/mapper/GoldDetailMapper.xml b/src/main/resources/mapper/GoldDetailMapper.xml
index fe5b351..5961ff2 100644
--- a/src/main/resources/mapper/GoldDetailMapper.xml
+++ b/src/main/resources/mapper/GoldDetailMapper.xml
@@ -13,6 +13,7 @@
left join `user` on `user`.jwcode = `ugr`.jwcode
left join `admin` on `admin`.id = `ugr`.admin_id
+ ugr.audit_status IN (1,3)
and ugr.jwcode = #{jwcode}
diff --git a/src/main/resources/mapper/RechargeMapper.xml b/src/main/resources/mapper/RechargeMapper.xml
index e8405f8..3358e7a 100644
--- a/src/main/resources/mapper/RechargeMapper.xml
+++ b/src/main/resources/mapper/RechargeMapper.xml
@@ -24,7 +24,7 @@
JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN admin a ON ugr.admin_id = a.id
JOIN rate r ON ugr.rate_id = r.id
- WHERE ugr.type = 0
+ WHERE ugr.type = 0 AND ugr.audit_status IN (1,3)
@@ -84,7 +84,7 @@
JOIN admin a ON ugr.admin_id = a.id
JOIN rate r ON ugr.rate_id = r.id
- ugr.type = 0
+ ugr.type = 0 AND ugr.audit_status IN (1,3)
AND ugr.jwcode = #{jwcode}
diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml
index 032593d..df4aaea 100644
--- a/src/main/resources/mapper/RefundMapper.xml
+++ b/src/main/resources/mapper/RefundMapper.xml
@@ -23,7 +23,7 @@
user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN
admin a ON ugr.admin_id = a.id
- WHERE ugr.type = 2
+ WHERE ugr.type = 2 AND ugr.audit_status IN (1,3)
@@ -82,7 +82,7 @@
JOIN
admin a ON ugr.admin_id = a.id
- ugr.type = 2
+ ugr.type = 2 AND ugr.audit_status IN (1,3)
AND ugr.jwcode = #{jwcode}
From 914eab6f70ad1f3a314c03d0e2993deac8695ace Mon Sep 17 00:00:00 2001
From: lijianlin
Date: Tue, 8 Jul 2025 13:06:50 +0800
Subject: [PATCH 08/11] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E6=89=A3=E5=87=8F?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E9=87=91=E5=B8=81=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java | 6 +++---
src/main/resources/application.yml | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
index 8eb4811..e8fd027 100644
--- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
@@ -163,12 +163,12 @@ public class ConsumeServiceImpl implements ConsumeService {
consumeMapper.add(userGoldRecord);
User user = new User();
user.setJwcode(userGoldRecord.getJwcode());
- user.setCurrentPermanentGold(gold.getNowPermanentGold() + consumeUser.getPermanentGold());
+ user.setCurrentPermanentGold(gold.getNowPermanentGold() - consumeUser.getPermanentGold());
user.setCurrentFreeJune(gold.getNowFreeJune() + userGoldRecord.getFreeJune());
user.setCurrentFreeDecember(gold.getNowFreeDecember() + userGoldRecord.getFreeDecember());
- user.setCurrentTaskGold(gold.getNowTaskGold() + consumeUser.getTaskGold());
+ user.setCurrentTaskGold(gold.getNowTaskGold() - consumeUser.getTaskGold());
user.setConsumeNum(gold.getConsumeNum() + 1);
- user.setSumConsume(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold());
+ user.setSumConsume(-(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold()));
userMapper.updateGold(user);
if(consumeUser.getJwcode().equals(94226013)){
GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65,
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c069a50..bb5201b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -4,9 +4,9 @@ spring:
fail-on-unknown-properties: false
datasource:
mysql1:
- jdbc-url: jdbc:mysql://18.143.76.3:3306/hwgold?serverTimezone=Asia/Shanghai
- username: hwgold
- password: aDiw7MERSATdfGta
+ jdbc-url: jdbc:mysql://18.143.76.3:3306/hwgoldc?serverTimezone=Asia/Shanghai
+ username: hwgoldc
+ password: zB48T55wCsHC8KPz
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
pool-name: mysql1HikariCP
From 2ba06397d23871213743814e35b916344806f1f5 Mon Sep 17 00:00:00 2001
From: sunjiabei
Date: Tue, 8 Jul 2025 14:57:44 +0800
Subject: [PATCH 09/11] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/example/demo/serviceImpl/ConsumeServiceImpl.java | 11 +++--------
.../com/example/demo/serviceImpl/RechargeServiceImpl.java | 10 ++++------
2 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
index e8fd027..49ac168 100644
--- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
@@ -110,16 +110,11 @@ public class ConsumeServiceImpl implements ConsumeService {
// 获取当前时间戳部分
String timestampPart = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
-
// 获取自增计数器部分(三位数,不足补零)
- AtomicInteger atomicInteger = new AtomicInteger(0);
-
- int count = atomicInteger.getAndUpdate(c -> (c >= 999) ? 0 : c + 1);
- String counterPart = String.format("%03d", count);
-
-
+ Random random = new Random();
+ int randomNumber = random.nextInt(900) + 100;
//订单号生成
- userGoldRecord.setOrderCode("XF" + timestampPart + counterPart);
+ userGoldRecord.setOrderCode("XF" + timestampPart + randomNumber);
userGoldRecord.setJwcode(consumeUser.getJwcode());
userGoldRecord.setGoodsName(consumeUser.getGoodsName());
userGoldRecord.setSumGold(-consumeUser.getSumGold());
diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
index 9c75c69..832db37 100644
--- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
@@ -17,6 +17,7 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
+import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -98,15 +99,12 @@ public class RechargeServiceImpl implements RechargeService {
// 获取当前时间戳部分
String timestampPart = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
- // 获取自增计数器部分(三位数,不足补零)
- AtomicInteger atomicInteger = new AtomicInteger(0);
-
- int count = atomicInteger.getAndUpdate(c -> (c >= 999) ? 0 : c + 1);
- String counterPart = String.format("%03d", count);
+ Random random = new Random();
+ int randomNumber = random.nextInt(900) + 100;
//订单号生成
- userGoldRecord.setOrderCode("CZ" + timestampPart + counterPart);
+ userGoldRecord.setOrderCode("CZ" + timestampPart + randomNumber);
userGoldRecord.setJwcode(rechargeUser.getJwcode());
userGoldRecord.setActivity(rechargeUser.getActivity());
userGoldRecord.setPermanentGold(rechargeUser.getPermanentGold());
From 0a068e447a574f616407d0f9911935d2072c8b44 Mon Sep 17 00:00:00 2001
From: sunjiabei
Date: Tue, 8 Jul 2025 15:12:07 +0800
Subject: [PATCH 10/11] =?UTF-8?q?=E6=B1=87=E7=8E=87=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/com/example/demo/controller/RateController.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/example/demo/controller/RateController.java b/src/main/java/com/example/demo/controller/RateController.java
index 1d34ac1..74376b9 100644
--- a/src/main/java/com/example/demo/controller/RateController.java
+++ b/src/main/java/com/example/demo/controller/RateController.java
@@ -13,6 +13,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.util.Map;
@@ -59,8 +60,8 @@ public class RateController {
if (ObjectUtils.isEmpty(rate.getRateName())) {
return Result.error("汇率名称不能为空");
}
- if (rate.getNum() == null) {
- return Result.error("汇率数值不能为空");
+ if(rate.getNum()==null || rate.getNum().compareTo(BigDecimal.ZERO) <= 0){
+ return Result.error(("汇率数值不能小于等于0"));
}
rateService.update(rate);
return Result.success("编辑成功");
From 8c40a9f4ba0a542034874ad4779c57808ef6fb46 Mon Sep 17 00:00:00 2001
From: lijianlin
Date: Tue, 8 Jul 2025 15:19:14 +0800
Subject: [PATCH 11/11] =?UTF-8?q?=E6=B1=87=E7=8E=87=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../example/demo/controller/RateController.java | 4 ++
.../java/com/example/demo/service/RateService.java | 3 +-
.../example/demo/serviceImpl/RateServiceImpl.java | 11 +++-
.../demo/serviceImpl/WorkbenchServiceImpl.java | 58 ----------------------
4 files changed, 15 insertions(+), 61 deletions(-)
diff --git a/src/main/java/com/example/demo/controller/RateController.java b/src/main/java/com/example/demo/controller/RateController.java
index 1d34ac1..3b0b66b 100644
--- a/src/main/java/com/example/demo/controller/RateController.java
+++ b/src/main/java/com/example/demo/controller/RateController.java
@@ -13,6 +13,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.util.Map;
@@ -63,6 +64,9 @@ public class RateController {
return Result.error("汇率数值不能为空");
}
rateService.update(rate);
+ if (rate.getNum() == null || rate.getNum().equals(BigDecimal.ZERO)) {
+ return Result.error("汇率数值存在异常");
+ }else
return Result.success("编辑成功");
}
diff --git a/src/main/java/com/example/demo/service/RateService.java b/src/main/java/com/example/demo/service/RateService.java
index 685f6aa..0a14b2f 100644
--- a/src/main/java/com/example/demo/service/RateService.java
+++ b/src/main/java/com/example/demo/service/RateService.java
@@ -2,6 +2,7 @@ package com.example.demo.service;
import com.example.demo.domain.entity.Rate;
import com.example.demo.domain.vo.RateDetail;
+import com.example.demo.domain.vo.Result;
import com.github.pagehelper.PageInfo;
public interface RateService {
@@ -12,5 +13,5 @@ public interface RateService {
void add(Rate rate);
- void update(Rate rate);
+ Result update(Rate rate);
}
diff --git a/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
index 57f933a..e2b55aa 100644
--- a/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
@@ -3,6 +3,7 @@ package com.example.demo.serviceImpl;
import com.example.demo.domain.entity.Rate;
import com.example.demo.domain.vo.ConsumeUser;
import com.example.demo.domain.vo.RateDetail;
+import com.example.demo.domain.vo.Result;
import com.example.demo.mapper.RateMapper;
import com.example.demo.service.RateService;
import com.github.pagehelper.PageHelper;
@@ -10,6 +11,7 @@ import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.List;
@@ -37,7 +39,12 @@ public class RateServiceImpl implements RateService {
}
@Override
- public void update(Rate rate) {
+ public Result update(Rate rate) {
+
rateMapper.update(rate);
- }
+ if (rate.getNum() == null || rate.getNum().equals(BigDecimal.ZERO)) {
+ return Result.error("汇率数值存在异常");
+ }else {
+ return Result.success("编辑成功");
+ }}
}
diff --git a/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
index afc3d8a..2f724b3 100644
--- a/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
@@ -84,65 +84,7 @@ public class WorkbenchServiceImpl implements WorkbenchService {
.collect(Collectors.toList());
return new WorkbenchCard(token, marketCards,new ArrayList<>(), markets, date, date);
- /* List marketCards = new ArrayList<>();
- // 遍历每个 marketCard 并填充数据
- for (String market : markets) {
- if (market == null || market.trim().isEmpty()) continue;
-
- // 查询该地区当天的数据
- Statistics statistics = statisticsMapper.selectByMarketAndDate(
- market,
- Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant()),
- Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant())
- );
- WorkbenchMarketCard card = new WorkbenchMarketCard();
- card.setMarket(market);
- if (statistics != null){
-
- // 卡片一:当前金币相关
- card.setCurrentPermanent(statistics.getCurrentPermanent());//余量-永久金币
- card.setCurrentFreeJune(statistics.getCurrentFreeJune()); //余量-免费六月金币
- card.setCurrentFreeDecember(statistics.getCurrentFreeDecember()); //余量-免费十二月金币
- card.setCurrentTask(statistics.getCurrentTask()); //余量-任务金币
- card.setCurrentFree(card.getCurrentFreeJune() + card.getCurrentFreeDecember()); //余量-免费金币
- card.setCurrentGold(card.getCurrentPermanent() + card.getCurrentFree() + card.getCurrentTask()); //余量-总金币
- card.setDailyChange(statistics.getDailyChange()); //较前一日变化
- // 卡片二:充值相关
- card.setRecharge(statistics.getRecharge()); //充值-当日充值
- card.setMoney(statistics.getMoney()); //充值-当日金额(永久)
- card.setYearlyRecharge(calculateSum(market, "recharge",yearlyStartDate ,date));//充值-全年累计充值
- card.setYearlyMoney(calculateSum(market, "money",yearlyStartDate ,date)); //充值-全年累计金额(永久)
- // 卡片三:消费与退款
- card.setConsumePermanent(statistics.getConsumePermanent());//消费-永久金币
- card.setConsumeFreeJune(statistics.getConsumeFreeJune());//消费-免费六月金币
- card.setConsumeFreeDecember(statistics.getConsumeFreeDecember());//消费-免费十二月金币
- card.setConsumeTask(statistics.getConsumeTask());//消费-任务金币
- card.setRefundPermanent(statistics.getRefundPermanent());//退款-永久金币
- card.setRefundFreeJune(statistics.getRefundFreeJune());//退款-免费六月金币
- card.setRefundFreeDecember(statistics.getRefundFreeDecember());//退款-免费十二月金币
- card.setRefundTask(statistics.getRefundTask());//退款-任务金币
- //当日总消费
- int totalConsume = card.getConsumePermanent() + card.getConsumeFreeJune() + card.getConsumeFreeDecember() + card.getConsumeTask();
- //当日总退款
- int totalRefund = card.getRefundPermanent() + card.getRefundFreeJune() + card.getRefundFreeDecember() + card.getRefundTask();
- card.setDailyReduce(totalConsume - totalRefund);//当日总消耗
- card.setYearlyConsume(calculateSum(market, "consume", yearlyStartDate,date));//年累计消费
- card.setYearlyRefund(calculateSum(market, "refund",yearlyStartDate ,date));//年累计退款
- card.setYearlyReduce(card.getYearlyConsume() - card.getYearlyRefund());//年累计消耗
- // 卡片四:人头数相关
- card.setRechargeNum(statistics.getRechargeNum());
- card.setFirstRecharge(statistics.getFirstRecharge());
- card.setYearlyRechargeNum(calculateSum(market,"rechargeNum",yearlyStartDate,date));
- // 周环比、日同比
- card.setWow(calculateWeekOverWeek(market, date));
- card.setDaily(calculateDayOverDay(market, date));
-
- marketCards.add(card);
- }
-
- }
- return new WorkbenchCard(token, marketCards,markets,date,date);*/
}
/*
获取卡片数据