记得上下班打卡 | git大法好,push需谨慎

Commit 1736355b authored by 姜秀龙's avatar 姜秀龙

收钱吧-换购价校验与自定义商品结算修复

已购票用户才使用演出换购价;商品结算采用 type=1 且不传顶层 amount,补齐非空图片;下单与预支付金额统一由 unitPriceYuan 转分;退款明细 type 与下单对齐;更新 dev/test 收钱吧应用配置。
Co-authored-by: 's avatarCursor <cursoragent@cursor.com>
parent 037dd94f
...@@ -90,12 +90,24 @@ public class SqbBiz { ...@@ -90,12 +90,24 @@ public class SqbBiz {
* @return * @return
*/ */
public SettlementCreateData createSettlement(String mallSn, String signature, String userId, List<SettlementCreateRequest.CheckoutItem> checkoutItems) { public SettlementCreateData createSettlement(String mallSn, String signature, String userId, List<SettlementCreateRequest.CheckoutItem> checkoutItems) {
return createSettlement(mallSn, signature, userId, checkoutItems, null);
}
/**
* @param totalAmountFen 纯金额结算时传总金额(分);商品结算(type=1 的 checkoutItems) 须传 null,勿与 checkoutItems 同时带 amount
*/
public SettlementCreateData createSettlement(String mallSn, String signature, String userId,
List<SettlementCreateRequest.CheckoutItem> checkoutItems,
Long totalAmountFen) {
SettlementCreateRequest request = new SettlementCreateRequest(); SettlementCreateRequest request = new SettlementCreateRequest();
request.setAppid(sqbConfig.getAppId()); request.setAppid(sqbConfig.getAppId());
request.setMallID(buildMall(mallSn, signature)); request.setMallID(buildMall(mallSn, signature));
request.setSeller(cachedSeller); request.setSeller(cachedSeller);
request.setBuyer(buildBuyer(userId)); request.setBuyer(buildBuyer(userId));
request.setCheckoutItems(checkoutItems); request.setCheckoutItems(checkoutItems);
if (totalAmountFen != null) {
request.setAmount(totalAmountFen);
}
return createSettlement(request); return createSettlement(request);
} }
...@@ -179,7 +191,7 @@ public class SqbBiz { ...@@ -179,7 +191,7 @@ public class SqbBiz {
* @param acquiringSn 收单号 * @param acquiringSn 收单号
* @param signature 收单签名 * @param signature 收单签名
* @param userId 正在用户ID * @param userId 正在用户ID
* @param amount 支付金额 * @param amount 支付金额(分,字符串,如 "3" 表示 0.03 元)
* @param requestSn 支付请求号 * @param requestSn 支付请求号
* @param payTool 支付工具代码 * @param payTool 支付工具代码
* @param channelExt 通道扩展参数 {"sub_appid":"wx36e68952a6"} * @param channelExt 通道扩展参数 {"sub_appid":"wx36e68952a6"}
......
...@@ -42,7 +42,7 @@ public class SettlementCreateRequest implements Serializable { ...@@ -42,7 +42,7 @@ public class SettlementCreateRequest implements Serializable {
private List<CheckoutItem> checkoutItems; private List<CheckoutItem> checkoutItems;
/** /**
* 结算总金额(单位:分) * 结算总金额(单位:分);纯金额结算时必填。商品结算走 checkoutItems 且 type=1 时不要传
*/ */
private Long amount; private Long amount;
......
...@@ -254,9 +254,9 @@ liquidnet: ...@@ -254,9 +254,9 @@ liquidnet:
#application-dev-end #application-dev-end
sqb: sqb:
base-api: 'https://open-api.shouqianba.com' base-api: 'https://open-api.shouqianba.com'
app-id: '2026040900011060' app-id: '2026033100010967'
app-key: '5cd1e48eba44a5264914115cd31df494' app-key: '5423d413f8349b186893892dcef6f76b'
app-code: 'MDTEST' app-code: 'MDWH'
public-key: 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf1oOZm3u5NraTs4F8AABXbtU2jSiWYp+IWmQ36vokuq6s2s3eKQR6l4RkrPPxjC86bIvjT4pApJZJrFMA4YcjY4G49wFZySfom4IPaZlKsOrNGJH0Kag0BSO9U5el1z7dMz7oP9cChbdl4mjKuqYtgnNtaPT+SqhXRQdFcc9kiVybAGs8WEGqsdwxsmD9aZTd4rQMvLEGWIj/MLdo7w1avc0WVSPQSM5jRHjjQmUzEuusv+QGcDt3ttNaip2uo1xoQdcwILYmS6fnWL8xKw4V8lX0CWypUKIZcIc1Y/1N8VeUN+8MirdrS5JSghq62Yifu9A3W/mANB+S6yYwD+WQIDAQAB' public-key: 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf1oOZm3u5NraTs4F8AABXbtU2jSiWYp+IWmQ36vokuq6s2s3eKQR6l4RkrPPxjC86bIvjT4pApJZJrFMA4YcjY4G49wFZySfom4IPaZlKsOrNGJH0Kag0BSO9U5el1z7dMz7oP9cChbdl4mjKuqYtgnNtaPT+SqhXRQdFcc9kiVybAGs8WEGqsdwxsmD9aZTd4rQMvLEGWIj/MLdo7w1avc0WVSPQSM5jRHjjQmUzEuusv+QGcDt3ttNaip2uo1xoQdcwILYmS6fnWL8xKw4V8lX0CWypUKIZcIc1Y/1N8VeUN+8MirdrS5JSghq62Yifu9A3W/mANB+S6yYwD+WQIDAQAB'
merchant-id: 'b2d63146-934f-401f-a864-14926d952c16' merchant-id: 'b2d63146-934f-401f-a864-14926d952c16'
merchant-user-id: '6d0d632e-50e9-464e-bbb3-be76047ec835' merchant-user-id: '6d0d632e-50e9-464e-bbb3-be76047ec835'
......
...@@ -253,9 +253,9 @@ liquidnet: ...@@ -253,9 +253,9 @@ liquidnet:
#application-test-end #application-test-end
sqb: sqb:
base-api: 'https://open-api.shouqianba.com' base-api: 'https://open-api.shouqianba.com'
app-id: '2026040900011060' app-id: '2026033100010967'
app-key: '5cd1e48eba44a5264914115cd31df494' app-key: '5423d413f8349b186893892dcef6f76b'
app-code: 'MDTEST' app-code: 'MDWH'
public-key: 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf1oOZm3u5NraTs4F8AABXbtU2jSiWYp+IWmQ36vokuq6s2s3eKQR6l4RkrPPxjC86bIvjT4pApJZJrFMA4YcjY4G49wFZySfom4IPaZlKsOrNGJH0Kag0BSO9U5el1z7dMz7oP9cChbdl4mjKuqYtgnNtaPT+SqhXRQdFcc9kiVybAGs8WEGqsdwxsmD9aZTd4rQMvLEGWIj/MLdo7w1avc0WVSPQSM5jRHjjQmUzEuusv+QGcDt3ttNaip2uo1xoQdcwILYmS6fnWL8xKw4V8lX0CWypUKIZcIc1Y/1N8VeUN+8MirdrS5JSghq62Yifu9A3W/mANB+S6yYwD+WQIDAQAB' public-key: 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf1oOZm3u5NraTs4F8AABXbtU2jSiWYp+IWmQ36vokuq6s2s3eKQR6l4RkrPPxjC86bIvjT4pApJZJrFMA4YcjY4G49wFZySfom4IPaZlKsOrNGJH0Kag0BSO9U5el1z7dMz7oP9cChbdl4mjKuqYtgnNtaPT+SqhXRQdFcc9kiVybAGs8WEGqsdwxsmD9aZTd4rQMvLEGWIj/MLdo7w1avc0WVSPQSM5jRHjjQmUzEuusv+QGcDt3ttNaip2uo1xoQdcwILYmS6fnWL8xKw4V8lX0CWypUKIZcIc1Y/1N8VeUN+8MirdrS5JSghq62Yifu9A3W/mANB+S6yYwD+WQIDAQAB'
merchant-id: 'b2d63146-934f-401f-a864-14926d952c16' merchant-id: 'b2d63146-934f-401f-a864-14926d952c16'
merchant-user-id: '6d0d632e-50e9-464e-bbb3-be76047ec835' merchant-user-id: '6d0d632e-50e9-464e-bbb3-be76047ec835'
......
...@@ -51,6 +51,9 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -51,6 +51,9 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
private SqbBiz sqbBiz; private SqbBiz sqbBiz;
private static final DateTimeFormatter DTF = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); private static final DateTimeFormatter DTF = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
/** 与下单结算 CheckoutItem.type 一致:1=自定义商品(按实付单价下单时) */
private static final byte SQB_LINE_ITEM_TYPE_CUSTOM = 1;
@Autowired @Autowired
private GoblinSqbOrderMapper goblinSqbOrderMapper; private GoblinSqbOrderMapper goblinSqbOrderMapper;
...@@ -224,7 +227,7 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService { ...@@ -224,7 +227,7 @@ public class GoblinSqbServiceImpl implements IGoblinSqbService {
item.setTitle(orderSkuVo.getSkuName()); item.setTitle(orderSkuVo.getSkuName());
item.setImg(orderSkuVo.getSkuImage()); item.setImg(orderSkuVo.getSkuImage());
item.setQuantity(String.valueOf(orderSkuVo.getNum())); item.setQuantity(String.valueOf(orderSkuVo.getNum()));
item.setType((byte) 0); item.setType(SQB_LINE_ITEM_TYPE_CUSTOM);
refundItems.add(item); refundItems.add(item);
} }
return refundItems; return refundItems;
......
package com.liquidnet.service.order.utils; package com.liquidnet.service.order.utils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment