Browse Source

8月6日金币导出

huangqizheng/feature-20250808172612-bug修复
sunjiabei 2 weeks ago
parent
commit
7ce2c0f9ce
  1. 12
      src/main/java/com/example/demo/controller/coin/ExportController.java
  2. 3
      src/main/java/com/example/demo/controller/coin/RechargeController.java
  3. 15
      src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java
  4. 2
      src/main/resources/application-test.yml
  5. 10
      src/main/resources/application.yml

12
src/main/java/com/example/demo/controller/coin/ExportController.java

@ -10,12 +10,15 @@ import com.example.demo.domain.vo.coin.Result;
import com.example.demo.service.coin.ExportExcelService; import com.example.demo.service.coin.ExportExcelService;
import com.example.demo.service.coin.GoldDetailService; import com.example.demo.service.coin.GoldDetailService;
import com.example.demo.Export.ExportService; import com.example.demo.Export.ExportService;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.util.UUID; import java.util.UUID;
@ -57,6 +60,9 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken(); // 锁的 Key可按用户/业务区分 String lockKey = "export:lock:" + dto.getToken(); // 锁的 Key可按用户/业务区分
String requestId = UUID.randomUUID().toString(); // 请求 ID防止误删锁 String requestId = UUID.randomUUID().toString(); // 请求 ID防止误删锁
long expireTime = 5000; // 锁过期时间5秒s long expireTime = 5000; // 锁过期时间5秒s
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
dto.setToken(token);
try { try {
// 尝试获取锁 // 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -74,6 +80,9 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken(); // 锁的 Key可按用户/业务区分 String lockKey = "export:lock:" + dto.getToken(); // 锁的 Key可按用户/业务区分
String requestId = UUID.randomUUID().toString(); // 请求 ID防止误删锁 String requestId = UUID.randomUUID().toString(); // 请求 ID防止误删锁
long expireTime = 5000; // 锁过期时间5秒s long expireTime = 5000; // 锁过期时间5秒s
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
dto.setToken(token);
try { try {
// 尝试获取锁 // 尝试获取锁
if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) {
@ -91,6 +100,9 @@ public class ExportController {
String lockKey = "export:lock:" + dto.getToken(); // 锁的 Key可按用户/业务区分 String lockKey = "export:lock:" + dto.getToken(); // 锁的 Key可按用户/业务区分
String requestId = UUID.randomUUID().toString(); // 请求 ID防止误删锁 String requestId = UUID.randomUUID().toString(); // 请求 ID防止误删锁
long expireTime = 5000; // 锁过期时间5秒s long expireTime = 5000; // 锁过期时间5秒s
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
dto.setToken(token);
try { try {
return exportService.addExportConsume(dto); return exportService.addExportConsume(dto);
} finally { } finally {

3
src/main/java/com/example/demo/controller/coin/RechargeController.java

@ -91,6 +91,7 @@ public class RechargeController {
return Result.success(rechargeService.selectBy(page.getPageNum(), page.getPageSize(), page.getRechargeUser())); return Result.success(rechargeService.selectBy(page.getPageNum(), page.getPageSize(), page.getRechargeUser()));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return Result.error("请检查筛选数据的格式"); return Result.error("请检查筛选数据的格式");
} }
@ -105,7 +106,7 @@ public class RechargeController {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token"); String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));;
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
rechargeUser.setMarkets(markets); rechargeUser.setMarkets(markets);
} }
Gold gold = rechargeService.statsGold(rechargeUser); Gold gold = rechargeService.statsGold(rechargeUser);

15
src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

@ -125,7 +125,12 @@ public class ExportExcelServiceImpl implements ExportExcelService {
JsonNode rootNode = objectMapper.readTree(message); JsonNode rootNode = objectMapper.readTree(message);
JsonNode requestDataNode = rootNode.path("requestData"); JsonNode requestDataNode = rootNode.path("requestData");
JsonNode rechargeUserNode = requestDataNode.path("rechargeUser"); JsonNode rechargeUserNode = requestDataNode.path("rechargeUser");
JsonNode tokenNode = rootNode.path("token");
String token = tokenNode.asText();
RechargeUser rechargeUser = objectMapper.treeToValue(rechargeUserNode, RechargeUser.class); RechargeUser rechargeUser = objectMapper.treeToValue(rechargeUserNode, RechargeUser.class);
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
rechargeUser.setMarkets(markets);
page.setRechargeUser(rechargeUser); page.setRechargeUser(rechargeUser);
return rechargeController.selcet(page); return rechargeController.selcet(page);
} catch (Exception e) { } catch (Exception e) {
@ -141,7 +146,12 @@ public class ExportExcelServiceImpl implements ExportExcelService {
JsonNode rootNode = objectMapper.readTree(message); JsonNode rootNode = objectMapper.readTree(message);
JsonNode requestDataNode = rootNode.path("requestData"); JsonNode requestDataNode = rootNode.path("requestData");
JsonNode consumeUserNode = requestDataNode.path("consumeUser"); JsonNode consumeUserNode = requestDataNode.path("consumeUser");
JsonNode tokenNode = rootNode.path("token");
String token = tokenNode.asText();
ConsumeUser consumeUser = objectMapper.treeToValue(consumeUserNode, ConsumeUser.class); ConsumeUser consumeUser = objectMapper.treeToValue(consumeUserNode, ConsumeUser.class);
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
consumeUser.setMarkets(markets);
page.setConsumeUser(consumeUser); page.setConsumeUser(consumeUser);
return consumeController.select(page); return consumeController.select(page);
} catch (Exception e) { } catch (Exception e) {
@ -158,7 +168,12 @@ public class ExportExcelServiceImpl implements ExportExcelService {
JsonNode rootNode = objectMapper.readTree(message); JsonNode rootNode = objectMapper.readTree(message);
JsonNode requestDataNode = rootNode.path("requestData"); JsonNode requestDataNode = rootNode.path("requestData");
JsonNode refundUserNode = requestDataNode.path("refundUser"); JsonNode refundUserNode = requestDataNode.path("refundUser");
JsonNode tokenNode = rootNode.path("token");
String token = tokenNode.asText();
RefundUser refundUser = objectMapper.treeToValue(refundUserNode, RefundUser.class); RefundUser refundUser = objectMapper.treeToValue(refundUserNode, RefundUser.class);
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
refundUser.setMarkets(markets);
page.setRefundUser(refundUser); page.setRefundUser(refundUser);
return refundController.selcet(page); return refundController.selcet(page);
} catch (Exception e) { } catch (Exception e) {

2
src/main/resources/application-test.yml

@ -37,7 +37,7 @@ spring:
database: 0 database: 0
host: localhost host: localhost
port: 6379 port: 6379
password: 123456
# password: 123456
lettuce: lettuce:
pool: pool:

10
src/main/resources/application.yml

@ -68,11 +68,11 @@ spring:
max-request-size: 10MB max-request-size: 10MB
data: data:
redis:
database: 0
host: 18.143.76.3
port: 10703
password: Ngc0FYUTA6h3wC5J
# redis:
# database: 0
# host: 18.143.76.3
# port: 10703
# password: Ngc0FYUTA6h3wC5J
lettuce: lettuce:
pool: pool:

Loading…
Cancel
Save