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