From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 16 五月 2025 10:27:41 +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