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

Commit 653e251f authored by wangyifan's avatar wangyifan

收钱吧-PayTool

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