fix(order): 修改配送员提成直接入账逻辑
- 配送员提成由先入冻结金额 freeze_money 改为直接加入可提现余额 money - 更新两个 LambdaUpdateWrapper SQL 语句,修改相关字段及注释 - total_money 字段保持累计不变 - 修复 Transaction 类路径和字段结构导致的回调字段映射失败问题 - 优化回调通知配置缓存,避免重复初始化带来的网络请求失败风险
This commit is contained in:
@@ -40,6 +40,16 @@ import com.wechat.pay.java.service.payments.model.Transaction;
|
|||||||
```
|
```
|
||||||
两个 Transaction 包路径不同,字段结构有差异(服务商 Transaction 有 spAppid/spMchid 等字段),用错误的类解析回调会导致字段映射失败,交易状态无法正确读取。**已修复**:改为正确的直连商户模式 Transaction。
|
两个 Transaction 包路径不同,字段结构有差异(服务商 Transaction 有 spAppid/spMchid 等字段),用错误的类解析回调会导致字段映射失败,交易状态无法正确读取。**已修复**:改为正确的直连商户模式 Transaction。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 配送员提成直接入账(01:15修改)
|
||||||
|
|
||||||
|
**文件**:`src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java`
|
||||||
|
|
||||||
|
**变更**:配送员提成(ticketOrderId 关联送水订单)从进入 `freeze_money` 改为直接进入 `money`(可提现余额)。修改了 2 处 `LambdaUpdateWrapper` SQL(`freeze_money` → `money`),注释同步更新。`total_money` 不变(仍累计)。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 次要原因
|
### 次要原因
|
||||||
|
|
||||||
`RSAAutoCertificateConfig` 每次回调都重新 `build()`,SDK 内部会发一次 `serial=test` 的探测验签,网络问题或并发场景下可能导致首次回调失败。**已优化**:添加 `notifyConfigCache`(ConcurrentHashMap)按 mchId 缓存 config,避免重复初始化。
|
`RSAAutoCertificateConfig` 每次回调都重新 `build()`,SDK 内部会发一次 `serial=test` 的探测验签,网络问题或并发场景下可能导致首次回调失败。**已优化**:添加 `notifyConfigCache`(ConcurrentHashMap)按 mchId 缓存 config,避免重复初始化。
|
||||||
|
|||||||
4
pom.xml
4
pom.xml
@@ -4,10 +4,10 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>com.gxwebsoft</groupId>
|
<groupId>com.gxwebsoft</groupId>
|
||||||
<artifactId>glt-api</artifactId>
|
<artifactId>mp-api</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
|
|
||||||
<name>glt-api</name>
|
<name>mp-api</name>
|
||||||
<description>WebSoftApi project for Spring Boot</description>
|
<description>WebSoftApi project for Spring Boot</description>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
|
|||||||
@@ -845,13 +845,13 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 送水订单提成:先入冻结金额 freeze_money(与分销订单佣金一致)
|
// 送水订单提成:直接入账可提现余额 money(配送员提成即时可用,无需冻结)
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
boolean updated = shopDealerUserService.update(
|
boolean updated = shopDealerUserService.update(
|
||||||
new LambdaUpdateWrapper<ShopDealerUser>()
|
new LambdaUpdateWrapper<ShopDealerUser>()
|
||||||
.eq(ShopDealerUser::getTenantId, tenantId)
|
.eq(ShopDealerUser::getTenantId, tenantId)
|
||||||
.eq(ShopDealerUser::getUserId, riderId)
|
.eq(ShopDealerUser::getUserId, riderId)
|
||||||
.setSql("freeze_money = IFNULL(freeze_money,0) + " + money.toPlainString())
|
.setSql("money = IFNULL(money,0) + " + money.toPlainString())
|
||||||
.setSql("total_money = IFNULL(total_money,0) + " + money.toPlainString())
|
.setSql("total_money = IFNULL(total_money,0) + " + money.toPlainString())
|
||||||
.set(ShopDealerUser::getUpdateTime, now)
|
.set(ShopDealerUser::getUpdateTime, now)
|
||||||
);
|
);
|
||||||
@@ -895,7 +895,7 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
|||||||
new LambdaUpdateWrapper<ShopDealerUser>()
|
new LambdaUpdateWrapper<ShopDealerUser>()
|
||||||
.eq(ShopDealerUser::getTenantId, tenantId)
|
.eq(ShopDealerUser::getTenantId, tenantId)
|
||||||
.eq(ShopDealerUser::getUserId, riderId)
|
.eq(ShopDealerUser::getUserId, riderId)
|
||||||
.setSql("freeze_money = IFNULL(freeze_money,0) + " + money.toPlainString())
|
.setSql("money = IFNULL(money,0) + " + money.toPlainString())
|
||||||
.setSql("total_money = IFNULL(total_money,0) + " + money.toPlainString())
|
.setSql("total_money = IFNULL(total_money,0) + " + money.toPlainString())
|
||||||
.set(ShopDealerUser::getUpdateTime, now)
|
.set(ShopDealerUser::getUpdateTime, now)
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user