From f88507a761ae5b8f47e52b81627ca485b500431a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 21 三月 2025 18:49:18 +0800
Subject: [PATCH] 修改bug
---
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java | 55 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 45 insertions(+), 10 deletions(-)
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
index 5b31f26..1c8eb10 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SettlementRecordController.java
@@ -1,9 +1,14 @@
package com.stylefeng.guns.modular.api;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.core.util.MD5Util;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.model.SettlementRecord;
import com.stylefeng.guns.modular.system.service.IDriverService;
+import com.stylefeng.guns.modular.system.service.IIncomeService;
import com.stylefeng.guns.modular.system.service.ISettlementRecordService;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackRequest;
import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackResponse;
@@ -14,9 +19,11 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
@@ -25,6 +32,7 @@
* @author zhibing.pu
* @Date 2023/8/17 9:39
*/
+@Slf4j
@RestController
@RequestMapping("")
public class SettlementRecordController {
@@ -34,6 +42,15 @@
@Autowired
private IDriverService driverService;
+
+ @Autowired
+ private RedisUtil redisUtil;
+
+ @Resource
+ private IIncomeService incomeService;
+
+
+
@ResponseBody
@@ -72,6 +89,13 @@
if(null == uid){
return ResultUtil.tokenErr();
}
+ String format = String.format("uid=%s&payType=%s&language=%s", uid, payType, language);
+ String key = MD5Util.encrypt(format);
+ String value = redisUtil.getValue(key);
+ if(ToolUtil.isNotEmpty(value) && (System.currentTimeMillis() - Long.valueOf(value)) <= 1000){
+ return ResultUtil.error(language == 1 ? "请勿重复操作" : language == 2 ? "Don't repeat the operation" : "Ne répétez pas l’opération");
+ }
+ redisUtil.setStrValue(key, System.currentTimeMillis() + "", 5);
return settlementRecordService.paymentSettlementAmount(uid, payType, bankCardId, language);
}catch (Exception e){
e.printStackTrace();
@@ -83,19 +107,19 @@
@ResponseBody
@PostMapping("/api/settlementRecord/queryHistoricalSettlement")
- @ApiOperation(value = "获取结算历史记录", tags = {"司机端-个人中心"}, notes = "")
+ @ApiOperation(value = "获取结算历史记录【2.0】", tags = {"司机端-个人中心"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<QueryHistoricalSettlement>> queryHistoricalSettlement(Integer pageNum, Integer size, HttpServletRequest request){
+ public ResultUtil<List<QueryHistoricalSettlement>> queryHistoricalSettlement(Integer language, Integer pageNum, Integer size, HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- List<QueryHistoricalSettlement> queryHistoricalSettlements = settlementRecordService.queryHistoricalSettlement(uid, pageNum, size);
+ List<QueryHistoricalSettlement> queryHistoricalSettlements = settlementRecordService.queryHistoricalSettlement(language, uid, pageNum, size);
return ResultUtil.success(queryHistoricalSettlements);
}catch (Exception e){
e.printStackTrace();
@@ -137,8 +161,9 @@
* @return
*/
@ResponseBody
- @PostMapping("/base/settlementRecord/querySettlementAmount")
+ @PostMapping("/base/settlementRecord/paymentSettlementAmountCallback")
public CallbackResponse paymentSettlementAmountCallback(@RequestBody CallbackRequest callbackRequest){
+ log.info("结算支付回调结果:{}", JSON.toJSONString(callbackRequest));
CallbackResponse callbackResponse = new CallbackResponse();
try {
/**
@@ -158,13 +183,21 @@
String order_id = payments.getPayer_transaction_id();
if(ToolUtil.isNotEmpty(out_trade_no)){
Integer language = Integer.valueOf(out_trade_no.substring(17, 18));
- Integer id = Integer.valueOf(out_trade_no.substring(18));
+ Integer payType = Integer.valueOf(out_trade_no.substring(18, 19));
+ Integer id = Integer.valueOf(out_trade_no.substring(19));
- SettlementRecord settlementRecord = settlementRecordService.selectById(id);
- settlementRecord.setPaymentStatus(2);
- settlementRecord.setPayTime(new Date());
- settlementRecord.setCode(order_id);
- settlementRecordService.updateById(settlementRecord);
+ List<SettlementRecord> settlementRecords = settlementRecordService.selectList(new EntityWrapper<SettlementRecord>().eq("driverId", id).eq("paymentStatus", 1));
+ for (SettlementRecord settlementRecord : settlementRecords) {
+ settlementRecord.setPayType(payType);
+ settlementRecord.setPaymentStatus(2);
+ settlementRecord.setPayTime(new Date());
+ settlementRecord.setCode(order_id);
+ settlementRecordService.updateById(settlementRecord);
+ }
+ //添加司机结算的平台收入记录
+ if(settlementRecords.size() > 0){
+ incomeService.saveData(1, 1, 8, id, null, payments.getAmount_paid());
+ }
callbackResponse.setCheckout_request_id(order_id);
callbackResponse.setMerchant_transaction_id(out_trade_no);
@@ -182,6 +215,8 @@
}catch (Exception e){
e.printStackTrace();
}
+
+ log.info("结算支付回调结果处理结束:{}", JSON.toJSONString(callbackResponse));
return callbackResponse;
}
}
--
Gitblit v1.7.1