nickchange
2023-10-28 2fed5b176458a3776be9ea39ae9bc52c461ca815
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -348,16 +349,21 @@
        Double payMoney = 0D;
        if(reservationSite.getPayType() == 3){
            if(reservationSite.getIsHalf()==2){
                payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() ;
            }else {
                payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() /2;
            }
            if(appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0){
                return new ResultUtil(3,"玩湃币不足");
            }
        }else{
            payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            if(reservationSite.getIsHalf()==2){
            payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() ;
            }else {
                payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() / 2;
            }
        }
        //校验优惠券
@@ -427,6 +433,9 @@
        siteBooking.setIsHalf(reservationSite.getIsHalf());
        siteBooking.setHalfName(reservationSite.getHalfName());
        siteBookingService.save(siteBooking);
        if(reservationSite.getPayType() == 1){//微信支付
            ResultUtil resultUtil = weChatPaymentSite(payMoney, siteBooking);
@@ -536,17 +545,18 @@
                            if(siteBooking.getStatus() != 0){
                                break;
                            }
                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code);
                            if(resultUtil.getCode() == 200 && siteBooking.getStatus() == 0){
                            AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code);
                            if(resultUtil.getCode().equals("10000") && siteBooking.getStatus() == 0){
                                /**
                                 * WAIT_BUYER_PAY(交易创建,等待买家付款)、
                                 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
                                 * TRADE_SUCCESS(交易支付成功)、
                                 * TRADE_FINISHED(交易结束,不可退款)
                                 */
                                Map<String, String> data1 = resultUtil.getData();
                                String s = data1.get("tradeStatus");
                                String tradeNo = data1.get("tradeNo");
//                                Map<String, String> data1 = resultUtil.getData();
//                                String s = data1.get("tradeStatus");
                                String tradeNo = resultUtil.getTradeNo();
                                String s = resultUtil.getTradeStatus();
                                if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
                                    break;
                                }
@@ -555,6 +565,7 @@
                                    siteBooking.setStatus(1);
                                    siteBooking.setPayOrderNo(tradeNo);
                                    siteBookingService.updateById(siteBooking);
                                    System.err.println("======完成支付");
                                    break;
                                }
                                if("WAIT_BUYER_PAY".equals(s)){