From 40f362f8c120a94f35e28dcba6e70b5e42c6d599 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 24 十月 2023 20:32:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
index 819ad25..1efa1f4 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -320,17 +320,18 @@
      */
     @Override
     public ResultUtil reservationSite(Integer uid, ReservationSite reservationSite) throws Exception {
+
         Site site = this.getById(reservationSite.getId());
         AppUser appUser = appUserClient.queryAppUser(uid);
         String[] split = reservationSite.getTimes().split(";");
-
         for (String s : split) {
             String day = s.split(" ")[0];
             String time = s.split(" ")[1];
             List<QuerySiteTimes> querySiteTimes = querySiteTimes(reservationSite.getId(), day,reservationSite.getHalfName(),reservationSite.getNextName());
             for (QuerySiteTimes querySiteTime : querySiteTimes) {
                 if(querySiteTime.getTime().equals(time) && querySiteTime.getSelectable() == 0){
-                    return ResultUtil.error("【" + s + "】时间段已被使用");
+                    return ResultUtil.error("【" + s + "】" +
+                            "时间段已被使用");
                 }
             }
         }
@@ -365,7 +366,7 @@
             UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(reservationSite.getCouponId(),uid));
 
 
-            if(userCoupon.getStatus() == 2){
+            if(userCoupon!=null && userCoupon.getStatus() == 2){
                 return ResultUtil.error("优惠券已被核销");
             }
             Coupon coupon = couponClient.queryCouponById(userCoupon.getCouponId());
@@ -373,7 +374,7 @@
             if(System.currentTimeMillis() >= time){
                 return ResultUtil.error("优惠券已过期");
             }
-            if(coupon.getType() == 1){//满减
+            if(userCoupon!=null && coupon.getType() == 1){//满减
 //                {"conditionalAmount":50,"deductionAmount":10,"experienceName":""}
                 JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                 Double num1 = jsonObject.getDouble("conditionalAmount");
@@ -384,7 +385,7 @@
 
                 payMoney = new BigDecimal(payMoney).subtract(new BigDecimal(num2)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
             }
-            if(coupon.getType() == 2){//代金券
+            if(userCoupon!=null && coupon.getType() == 2){//代金券
                 JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                 Double num1 = jsonObject.getDouble("conditionalAmount");
                 if(payMoney.compareTo(num1) <= 0){
@@ -426,7 +427,9 @@
         siteBookingService.save(siteBooking);
 
         if(reservationSite.getPayType() == 1){//微信支付
-            return weChatPaymentSite(payMoney, siteBooking);
+            ResultUtil resultUtil = weChatPaymentSite(payMoney, siteBooking);
+
+            return resultUtil;
         }
         if(reservationSite.getPayType() == 2){//支付宝支付
             return aliPaymentSite(payMoney, siteBooking);
@@ -451,7 +454,7 @@
     public ResultUtil weChatPaymentSite(Double paymentPrice, SiteBooking siteBooking) throws Exception{
         String code = siteBooking.getOrderNo();
         Integer id = siteBooking.getId();
-        ResultUtil weixinpay = payMoneyUtil.weixinpay("预约场地", "", code, paymentPrice.toString(), "/base/site/weChatPaymentSiteCallback", "APP", "");
+        ResultUtil weixinpay = payMoneyUtil.weixinpay("预约场地", id.toString(), code, paymentPrice.toString(), "/base/site/weChatPaymentSiteCallback", "APP", "");
         if(weixinpay.getCode() == 200){
             new Thread(new Runnable() {
                 @Override
@@ -515,7 +518,7 @@
     public ResultUtil aliPaymentSite(Double paymentPrice, SiteBooking siteBooking) throws Exception{
         String code = siteBooking.getOrderNo();
         Integer id = siteBooking.getId();
-        ResultUtil alipay = payMoneyUtil.alipay("预约场地", "预约场地", "", code, paymentPrice.toString(), "/base/site/aliPaymentSiteCallback");
+        ResultUtil alipay = payMoneyUtil.alipay("预约场地", "预约场地", id.toString(), code, paymentPrice.toString(), "/base/site/aliPaymentSiteCallback");
         if(alipay.getCode() == 200){
             new Thread(new Runnable() {
                 @Override
@@ -581,7 +584,9 @@
         siteBooking.setPayTime(new Date());
         siteBooking.setStatus(1);
         siteBookingService.updateById(siteBooking);
-        return ResultUtil.success();
+        HashMap<String, String> map = new HashMap<>();
+        map.put("siteBooking",siteBooking.getId().toString());
+        return ResultUtil.success(map);
     }
 
 
@@ -723,7 +728,11 @@
                 return ResultUtil.error("玩湃币不足");
             }
         }else{
-            payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+            if(siteBooking.getIsHalf()==2){
+                payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+            }else {
+                payMoney = new BigDecimal(site.getCashPriceOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+            }
         }
 
         //校验优惠券

--
Gitblit v1.7.1