From acad524bfb7f376c09ff8e6600fab207780156e1 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 23 十一月 2023 18:46:05 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java |   74 ++++++++++++++++++++++++++++++-------
 1 files changed, 60 insertions(+), 14 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 0765054..da5ad28 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
@@ -29,6 +29,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalTime;
 import java.util.*;
@@ -173,15 +174,14 @@
     public List<QuerySiteTimes> querySiteTimes(Integer id, String day,String halfName,String siteName) throws Exception {
 
         System.out.println("=======date======"+day);
-
         List<String> strings = new ArrayList<>();
 
 //        List<SiteBooking> siteBookings = siteClient.listBooks(id);
-        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("nextName",siteName).like("times",day));
+        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status",5).eq("nextName",siteName).like("times",day));
 
 
         if (siteName==null|| siteName.equals("")){
-            siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",day));
+            siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status",5).like("times",day));
         }
 
 
@@ -260,6 +260,13 @@
                     if(stringDateBetween){
                         orderDto.setSelectable(0);
                     }
+                    if (DateComparisonExample.isStringWithinTimeRange(stime, siteLock.getStartTime(), siteLock.getEndTime())){
+                        orderDto.setSelectable(0);
+                    }
+                    if (DateComparisonExample.isStringWithinTimeRange(etime, siteLock.getStartTime(), siteLock.getEndTime())){
+                        orderDto.setSelectable(0);
+                    }
+
                 }
 
 
@@ -276,6 +283,9 @@
 
 
     }
+
+
+
 
 
     public static String getNextTime(String currentTime) {
@@ -351,7 +361,7 @@
             if(reservationSite.getIsHalf()==2){
                 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() /2;
+                payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
             }
             if(appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0){
 
@@ -361,7 +371,7 @@
             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;
+                payMoney = new BigDecimal(site.getCashPriceOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
 
             }
         }
@@ -387,7 +397,7 @@
                 JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                 Double num1 = jsonObject.getDouble("conditionalAmount");
                 Double num2 = jsonObject.getDouble("deductionAmount");
-                if(payMoney.compareTo(num1) <= 0){
+                if(payMoney.compareTo(num1) < 0){
                     return ResultUtil.error("该优惠券无法使用");
                 }
 
@@ -520,6 +530,7 @@
     }
 
 
+
     /**
      * 课程支付宝支付
      * @param paymentPrice
@@ -623,8 +634,11 @@
             Site site = this.getById(siteBooking.getSiteId());
             String[] split = siteBooking.getTimes().split(";");
             if(site!=null){
-
-                queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
+                if (queryMySiteVo.getIsHalf()==1) {
+                    queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
+                }else {
+                    queryMySiteVo.setPlayPaiCoin((int) (site.getPlayPaiCoinOne() * split.length));
+                }
             }
         }
         return queryMySiteVos;
@@ -643,11 +657,23 @@
 
         SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
         Date startTime = siteBooking.getStartTime();
-        if(format.format(new Date()).equals(format.format(startTime))){
+        if(format.format(new Date()).equals(format.format(startTime))&&siteBooking.getStatus() != 0){
             return ResultUtil.error("预约当天,不能取消");
         }
+
         if(siteBooking.getStatus() == 0){
-            return ResultUtil.error("请先进行支付");
+//            return ResultUtil.error("请先进行支付");
+            siteBooking.setStatus(5);
+            siteBookingService.updateById(siteBooking);
+            AppUser appUser = appUserClient.queryAppUser(siteBooking.getAppUserId());
+
+            if(null != siteBooking.getUserCouponId()&&siteBooking.getUserCouponId()!=0){
+                UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(),appUser.getId()));
+                userCoupon.setStatus(1);
+                userCouponClient.updateUserCoupon(userCoupon);
+            }
+
+            return ResultUtil.success();
         }
         if(siteBooking.getStatus() != 1 && siteBooking.getStatus() != 2){
             return ResultUtil.error("不能进行取消操作");
@@ -686,7 +712,7 @@
             siteBooking.setCancelTime(new Date());
             siteBooking.setRefundOrderNo(trade_no);
             siteBookingService.updateById(siteBooking);
-            if(null != siteBooking.getUserCouponId()){
+            if(null != siteBooking.getUserCouponId()&&siteBooking.getUserCouponId()!=0){
                 UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(),siteBooking.getAppUserId()));
                 userCoupon.setStatus(1);
                 userCouponClient.updateUserCoupon(userCoupon);
@@ -709,7 +735,7 @@
             siteBooking.setCancelUserId(uid);
             siteBooking.setCancelTime(new Date());
             siteBookingService.updateById(siteBooking);
-            if(null != siteBooking.getUserCouponId()){
+            if(null != siteBooking.getUserCouponId()&&siteBooking.getUserCouponId()!=0){
                 UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(),appUser.getId()));
                 userCoupon.setStatus(1);
                 userCouponClient.updateUserCoupon(userCoupon);
@@ -738,9 +764,15 @@
         String[] split = siteBooking.getTimes().split(";");
         Double payMoney = 0D;
         if(payType == 3){
-            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();
             if(appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0){
                 return ResultUtil.error("玩湃币不足");
+            }
+
+            if(siteBooking.getIsHalf()==2){
+                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();
             }
         }else{
             if(siteBooking.getIsHalf()==2){
@@ -813,12 +845,26 @@
         String[] split = siteBooking.getTimes().split(";");
         Map<String, Double> map = new HashMap<>();
         Double payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+
+
+        if(siteBooking.getIsHalf()==2){
+            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();
+        }
+
         map.put("playPaiCoin", payMoney);
         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();
+        }
+
         //校验优惠券
         Long couponId = siteBooking.getUserCouponId();
-        if(null != couponId){
+        if(null != couponId&&couponId!=0){
             UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(),siteBooking.getAppUserId()));
             Coupon coupon = couponClient.queryCouponById(userCoupon.getCouponId());
             if(coupon.getType() == 1){//满减

--
Gitblit v1.7.1