xiaoyong931011
2022-09-30 1fb1c749a2d18b80877518042c7a918756e1814f
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -74,6 +74,7 @@
    private final UnipayService unipayService;
    private final MallMemberBankSignMapper mallMemberBankSignMapper;
    private final MallMemberBankMapper mallMemberBankMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -235,10 +236,31 @@
        String rcResult = "";
        switch (payOrderDto.getType()) {
            case "1":
                UnipayDto unipayDtoWx = new UnipayDto();
//                unipayDto.setAmount(new BigDecimal("0.01"));
                unipayDtoWx.setAmount(orderInfo.getAmount());
                unipayDtoWx.setFrpCode("WEIXIN_APP3");
                unipayDtoWx.setTradeMerchantNo("777180800385820");
                unipayDtoWx.setOrderNo(orderInfo.getOrderNo());
                List<MallOrderItem> itemsWx = orderInfo.getItems();
                if(CollUtil.isEmpty(itemsWx)){
                    unipayDtoWx.setProductName("商品");
                }else{
                    unipayDtoWx.setProductName(itemsWx.get(0).getGoodsName());
                }
                String unipayStrWx = unipayService.unipay(unipayDtoWx);
                if("fail" == unipayStrWx){
                    throw new FebsException("支付失败");
                }else{
//                    JSONUtil.parseObj(unipayStr);
                    JSONObject jsonObject = JSONUtil.parseObj(unipayStrWx);
                    payResultStr = (String) jsonObject.get("r7_TrxNo");
                    rcResult = (String) jsonObject.get("rc_Result");
                }
                orderInfo.setPayOrderNo(payResultStr);
//                orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo());
//                orderInfo.setPayImage(payOrderDto.getPayImage());
                orderInfo.setPayMethod("微信支付");
                agentProducer.sendOrderReturn(orderInfo.getId());
                break;
            case "2":
//                if (StrUtil.isNotBlank(orderInfo.getPayOrderNo())) {
@@ -250,7 +272,7 @@
//                unipayDto.setAmount(new BigDecimal("0.01"));
                unipayDto.setAmount(orderInfo.getAmount());
                unipayDto.setFrpCode("ALIPAY_H5");
                unipayDto.setTradeMerchantNo("777180800385820");
                unipayDto.setTradeMerchantNo("777184100385821");
                unipayDto.setOrderNo(orderInfo.getOrderNo());
                List<MallOrderItem> items = orderInfo.getItems();
                if(CollUtil.isEmpty(items)){
@@ -372,7 +394,17 @@
                }else{
                    agreementPayDto.setOrderDesc(itemsGoods.get(0).getGoodsName());
                }
                agreementPayDto.setBankNo(payOrderDto.getBankNo());
                Long bankId = payOrderDto.getBankId() == null ? 0L : payOrderDto.getBankId();
                MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(bankId);
                if(ObjectUtil.isEmpty(mallMemberBank)){
                    throw new FebsException("银行卡未添加");
                }
                String bankNo = mallMemberBank.getBankNo();
                MallMemberBankSign mallMemberBankSign = mallMemberBankSignMapper.selectOneByMemberIdAndBankCardNo(member.getId(), bankNo);
                if(ObjectUtil.isEmpty(mallMemberBankSign)){
                    throw new FebsException("银行卡未签约");
                }
                agreementPayDto.setBankNo(bankNo);
                String agreementPayStr = unipayService.agreementPay(agreementPayDto);
                if("fail".equals(agreementPayStr)){