localizer
ljw 2025-09-29 10:41:11 +08:00
parent a2bea2e4ca
commit 62f0a410bd
5 changed files with 26 additions and 10 deletions

View File

@ -145,11 +145,10 @@ public class PaymentController {
} else if (PaymentWay.WX.getVal().equals(paymentParam.getPaymentCategory())) { } else if (PaymentWay.WX.getVal().equals(paymentParam.getPaymentCategory())) {
// 微信支付:创建微信支付订单 // 微信支付:创建微信支付订单
WechatPayJsapiOrderDto orderDto = new WechatPayJsapiOrderDto(); WechatPayJsapiOrderDto orderDto = new WechatPayJsapiOrderDto();
orderDto.setOutTradeNo("ORDER_" + paymentParam.getOrderId() + "_" + System.currentTimeMillis()); orderDto.setOutTradeNo("ORDER_" + ctx.getSn() + "_" + System.currentTimeMillis());
orderDto.setDescription("订单支付-" + paymentParam.getOrderId()); orderDto.setDescription("订单支付-" + ctx.getSn());
orderDto.setTotal(dbTotalAmount.multiply(new BigDecimal("100")).longValue()); // 转换为分 orderDto.setTotal(dbTotalAmount.multiply(new BigDecimal("100")).longValue()); // 转换为分
// TODO: 需要从上下文中获取用户openid暂时使用固定值 orderDto.setOpenid(ctx.getWechatOpenid());
orderDto.setOpenid("test_openid");
WechatPayJsapiOrderResponseDto response = wechatPayService.createMiniProgramOrder(orderDto); WechatPayJsapiOrderResponseDto response = wechatPayService.createMiniProgramOrder(orderDto);
@ -158,7 +157,7 @@ public class PaymentController {
.eq(OrderInfoEntity::getId, paymentParam.getOrderId()) .eq(OrderInfoEntity::getId, paymentParam.getOrderId())
.set(OrderInfoEntity::getPaymentStatus, PaymentStatus.WeiZhiFu) .set(OrderInfoEntity::getPaymentStatus, PaymentStatus.WeiZhiFu)
.set(OrderInfoEntity::getPaymentCategory, paymentParam.getPaymentCategory()) .set(OrderInfoEntity::getPaymentCategory, paymentParam.getPaymentCategory())
.set(OrderInfoEntity::getSn, orderDto.getOutTradeNo()) .set(OrderInfoEntity::getOutTradeNo, orderDto.getOutTradeNo())
.update(); .update();
log.info("微信支付订单创建成功订单ID{},微信订单号:{}", paymentParam.getOrderId(), orderDto.getOutTradeNo()); log.info("微信支付订单创建成功订单ID{},微信订单号:{}", paymentParam.getOrderId(), orderDto.getOutTradeNo());

View File

@ -270,4 +270,14 @@ public class OrderInfoEntity {
@TableLogic @TableLogic
private Boolean deleted; private Boolean deleted;
/**
*
*/
private String outTradeNo;
/**
*
*/
private LocalDateTime payTime;
} }

View File

@ -14,6 +14,7 @@ import java.math.BigDecimal;
public class PaymentContextResult { public class PaymentContextResult {
private Long orderId; private Long orderId;
private String sn;
private Long transCompanyId; private Long transCompanyId;
private Long companyUserId; private Long companyUserId;
@ -22,6 +23,8 @@ public class PaymentContextResult {
private String settlementWay; private String settlementWay;
private String wechatOpenid;
} }

View File

@ -56,15 +56,15 @@ mybatis-plus:
port: 33061 port: 33061
wechat: wechat:
app-id: wx3c06d9dd4e56c58d app-id: wx989ea47a5ddf9bfb
app-secret: ff280a71a4c06fc2956178f8c472ef96 app-secret: 66c98dc487a372acb4f1931b38fee8ff
base-url: https://api.weixin.qq.com base-url: https://api.weixin.qq.com
pay: pay:
# 子商户配置 # 子商户配置
sub-app-id: wx3c06d9dd4e56c58d sub-app-id: wx989ea47a5ddf9bfb
sub-mch-id: 1900000100 sub-mch-id: 1900000100
# API密钥32位字符串 # API密钥32位字符串
api-key: your-32-character-api-key-here api-key: 66c98dc487a372acb4f1931b38fee8ff
# 证书序列号 # 证书序列号
cert-serial-no: your-cert-serial-number cert-serial-no: your-cert-serial-number
# 私钥文件路径 # 私钥文件路径

View File

@ -195,13 +195,17 @@
SELECT SELECT
a.id AS orderId, a.id AS orderId,
a.trans_company_id AS transCompanyId, a.trans_company_id AS transCompanyId,
a.sn,
bc.user_id AS companyUserId, bc.user_id AS companyUserId,
ma1.id AS companyAccountId, ma1.id AS companyAccountId,
ma1.money AS companyBalance, ma1.money AS companyBalance,
bc.settlement_way bc.settlement_way,
sua.wechat_openid
FROM order_info a FROM order_info a
LEFT JOIN biz_company bc ON bc.id = a.trans_company_id LEFT JOIN biz_company bc ON bc.id = a.trans_company_id
LEFT JOIN money_account ma1 ON ma1.user_id = bc.user_id LEFT JOIN money_account ma1 ON ma1.user_id = bc.user_id
LEFT JOIN biz_driver bd ON a.driver_id = bd.id
LEFT JOIN sys_user_account sua ON bd.user_id = sua.user_id
WHERE a.id = #{orderId} WHERE a.id = #{orderId}
</select> </select>
<select id="getTruckInfo" resultType="com.njzscloud.supervisory.biz.pojo.entity.BizTruckEntity"> <select id="getTruckInfo" resultType="com.njzscloud.supervisory.biz.pojo.entity.BizTruckEntity">