无关风月
3 天以前 df4733091b30b0434a04dacd0e844663114d4cfe
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -513,7 +513,8 @@
        return payment;
    }
    private String smidVx = "2088330203191220";//平台微信商户号
    private String smid = "2088330203191220";//平台支付宝商户号
    /**
     * 支付逻辑
@@ -569,30 +570,29 @@
            }
            //支付宝
            if(payType == 2){
                String smidRes = smid;// 结算资金到商户号
                worldCupPayment.setAmount(new BigDecimal(num).multiply(worldCup.getCash()));
                worldCupPayment.setUnitPrice(worldCupPayment.getAmount().divide(new BigDecimal(num)));
                worldCupPaymentService.save(worldCupPayment);
                List<WorldCupStore> list = worldCupStoreService.lambdaQuery().eq(WorldCupStore::getWorldCupId, worldCup.getId()).list();
                if (list.isEmpty()){
                    return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
                        worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
            }else{
                    Integer storeId = list.get(0).getStoreId();
                    Store store = storeClient.queryStoreById(storeId);
                    if (store.getOperatorId()==null||store.getOperatorId()==0){
                        return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
                                worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
                    }else{
                        String s2 = storeClient.getmerchantNumberAliByOperatorId(store.getOperatorId());
                        System.err.println("支付宝商户号"+s2);
                        if(!StringUtils.hasLength(s2)){
                            return ResultUtil.error("运营商未配置支付宝商户号,获取支付失败!");
                        }
                        return payMoneyUtil.alipay(s2, "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
                                worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
                        smidRes=s2;
                    }
                }
                return payMoneyUtil.alipay(smidRes, "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
                        worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
                }
            //玩湃币
            if(payType == 3){
@@ -756,7 +756,7 @@
     * @return
     */
    @Override
    public ResultUtil paymentWorldCupCallback(String code, String outTradeNo) {
    public ResultUtil paymentWorldCupCallback(String code, String outTradeNo) throws AlipayApiException {
        WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", code));
        Integer worldCupId = worldCupPayment.getWorldCupId();
        worldCupPayment.setPayStatus(2);
@@ -784,6 +784,35 @@
            worldCupPaymentParticipant.setCreateTime(new Date());
            worldCupPaymentParticipantService.save(worldCupPaymentParticipant);
        }
        if (worldCupPayment.getPayType()==2){
            List<WorldCupStore> list = worldCupStoreService.lambdaQuery().eq(WorldCupStore::getWorldCupId, worldCupPayment.getWorldCupId()).list();
            String resSmid = smid;
            if (!list.isEmpty()){
                Integer storeId = list.get(0).getStoreId();
                Store store = storeClient.queryStoreById(storeId);
                if (store.getOperatorId()==null||store.getOperatorId()==0){
                }else{
                    String s2 = storeClient.getmerchantNumberAliByOperatorId(store.getOperatorId());
                    System.err.println("支付宝商户号"+s2);
                    if(!StringUtils.hasLength(s2)){
                        return ResultUtil.error("运营商未配置支付宝商户号,获取支付失败!");
                    }
                    resSmid=s2;
                }
            }
            String finalResSmid = resSmid;
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(30000);
                        payMoneyUtil.confirm(finalResSmid, code, outTradeNo, worldCupPayment.getAmount().toString());
                    }catch (Exception e){
                    }
                }
            }).start();
        }
        return ResultUtil.success();
    }