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

Commit 653e251f authored by wangyifan's avatar wangyifan

收钱吧-PayTool

parent 18b8d9c9
......@@ -182,7 +182,7 @@ public class SqbBiz {
* @param amount 支付金额
* @param requestSn 支付请求号
* @param payTool 支付工具代码
* @param channelExt 通道扩展参数
* @param channelExt 通道扩展参数 {"sub_appid":"wx36e68952a6"}
* @param selectedSignature 支付工具签名
* @param seq 序列号 上一步seq(查询收银台)
* @return
......
......@@ -80,6 +80,14 @@ public class GoblinStoreMgtSqbGoodsController {
int addSuccess = 0, alreadyExists = 0, addFail = 0;
List<String> invalidReasons = new ArrayList<>();
for (GoblinSqbPerfGoodsVo sqbGoods : items) {
// TODO 测试用
// int i = 1;
// for (MallProductsQueryData.Sku skuResult : sqbGoods.getSkuResults()) {
// if (StringUtils.isBlank(skuResult.getSkuName())) {
// skuResult.setSkuName("未知SkuName-" + i);
// }
// }
String invalidReason = validateSqbGoodsForSync(sqbGoods);
if (StringUtils.isNotBlank(invalidReason)) {
addFail++;
......
......@@ -30,6 +30,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
......@@ -116,9 +117,9 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
log.info("[收钱吧下单] 扣减库存成功,skuId={}, 剩余库存={}", skuId, remaining);
// 获取该商品对应的商城的编号和密码
GoblinSqbGoodsExtVo sqbGoodsExt = goblinSqbRedisUtils.getSqbGoodsExt(skuId, spuId);
GoblinSqbGoodsExtVo sqbGoodsExt = goblinSqbRedisUtils.getSqbGoodsExt(spuId, skuId);
if (sqbGoodsExt == null) {
log.error("[收钱吧下单] 正在商品对应收钱吧参数为空, skuId: {}, spuId: {}", skuId, spuId);
log.error("[收钱吧下单] 正在商品对应收钱吧参数为空, spuId: {}, skuId: {}", spuId, skuId);
return ResponseDto.failure("下单失败");
}
......@@ -166,13 +167,30 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
String seq = cashierData.getSeq(); // 响应唯一序列号
log.info("[收钱吧下单] 查询收银台成功,selectedSignature={}, seq={}", selectedSignature, seq);
List<CashierQueryData.PayTool> payTools = cashierData.getPayTools();
if (payTools.isEmpty()) {
log.error("[收钱吧下单] 支付工具为空");
return ResponseDto.failure("下单失败");
}
CashierQueryData.PayTool payTool = payTools.stream().filter(p ->
p.getType().equals(0)).collect(Collectors.toList()).get(0);
if (null == payTool) {
log.error("[收钱吧下单] 微信支付工具为空");
return ResponseDto.failure("下单失败");
}
// TODO 设置AppID
Map<String, Object> channelExt = new HashMap<>();
channelExt.put("sub_appid", "wx4732efeaa2b08086");
CreateWechatPrepayOrderData prepayData = sqbBiz.createWechatPrepayOrder(sqbAcquiringSn,
sqbAcquiringSign,
userId,
String.valueOf(cashierData.getAmount()),
buildRequestId(IDGenerator.nextSnowId()),
cashierData.getPayTools().get(0),
new HashMap<String, Object>(), // TODO 设置AppID
payTool,
channelExt,
selectedSignature,
seq
);
......@@ -478,6 +496,23 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
CashierQueryData cashierData = sqbBiz.queryCashier(orderVo.getSqbAcquiringSn(), orderVo.getSqbOrderSignature(), userId);
if (cashierData == null) return ResponseDto.failure("查询收银台失败,请稍后重试");
List<CashierQueryData.PayTool> payTools = cashierData.getPayTools();
if (payTools.isEmpty()) {
log.error("[收钱吧下单] 支付工具为空");
return ResponseDto.failure("下单失败");
}
CashierQueryData.PayTool payTool = payTools.stream().filter(p ->
p.getType().equals(0)).collect(Collectors.toList()).get(0);
if (null == payTool) {
log.error("[收钱吧下单] 微信支付工具为空");
return ResponseDto.failure("下单失败");
}
// TODO 设置AppID
Map<String, Object> channelExt = new HashMap<>();
channelExt.put("sub_appid", "wx4732efeaa2b08086");
// 重新创建微信预支付
CreateWechatPrepayOrderData prepayData = sqbBiz.createWechatPrepayOrder(
orderVo.getSqbAcquiringSn(),
......@@ -485,8 +520,8 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
userId,
String.valueOf(cashierData.getAmount()),
buildRequestId(IDGenerator.nextSnowId()),
cashierData.getPayTools().get(0),
new HashMap<String, Object>(), // TODO 需要填写appID
payTool,
channelExt,
cashierData.getSelectedSignature(),
cashierData.getSeq()
);
......
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