nickchange
2023-10-23 12916db6e7946a31f4fbc5c48a27e7769683b034
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -170,56 +170,6 @@
     */
    @Override
    public List<QuerySiteTimes> querySiteTimes(Integer id, String day,String halfName,String siteName) throws Exception {
//        Site site = this.getById(id);
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        Calendar s = Calendar.getInstance();
//        s.setTime(sdf.parse(day + " " + site.getAppointmentStartTime()));
//        Calendar e = Calendar.getInstance();
//        e.setTime(sdf.parse(day + " " + site.getAppointmentEndTime()));
//
//        int hour = e.get(Calendar.HOUR_OF_DAY);
//
//        int minute = e.get(Calendar.MINUTE);
//
//        List<QuerySiteTimes> list = new ArrayList<>();
//
//        SimpleDateFormat sdfs = new SimpleDateFormat("HH:mm");
//
//        while (true){
//
//            String start = sdfs.format(s.getTime());
//
//            s.set(Calendar.MINUTE, s.get(Calendar.MINUTE) + 30);
//
//            int e_hour = s.get(Calendar.HOUR_OF_DAY);
//
//            int e_minute = s.get(Calendar.MINUTE);
//
//            String end = sdfs.format(s.getTime());
//
//            QuerySiteTimes querySiteTimes = new QuerySiteTimes();
//
//            querySiteTimes.setTime(start + "-" + end);
//
//            querySiteTimes.setSelectable(1);
//
//            SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("state", 1)
//                    .in("status", Arrays.asList(3, 4, 5)).last(" and DATE_FORMAT(startTime, '%Y-%m-%d %H:%i') <= '" + day + " " + start + "' and DATE_FORMAT(endTime, '%Y-%m-%d %H:%i') >= '" + day + " " + end + "'"));
//            if(null != siteBooking){
//                querySiteTimes.setSelectable(0);
//            }
//            int count = siteLockService.count(new QueryWrapper<SiteLock>().eq("siteId", id).last(" and DATE_FORMAT(startTime, '%Y-%m-%d %H:%i') <= '" + day + " " + start + "' and DATE_FORMAT(endTime, '%Y-%m-%d %H:%i') >= '" + day + " " + end + "'"));
//            if(count > 0){
//                querySiteTimes.setSelectable(0);
//            }
//
//            list.add(querySiteTimes);
//
//            if(e_hour == hour && minute == e_minute){
//                break;
//            }
//        }
//        return list;
        System.out.println("=======date======"+day);
@@ -230,6 +180,7 @@
        if (siteName==null|| siteName.equals("")){
            siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",day));
        }
        System.out.println("=======siteBookings======"+siteBookings);
        for (SiteBooking siteBooking : siteBookings) {
@@ -243,6 +194,12 @@
                    strings.add(convertedValue);
                }
            }else {
                if (halfName==null){
                    for (String s : split) {
                        String convertedValue = s.substring(11);
                        strings.add(convertedValue);
                    }
                }
                if (siteBooking.getHalfName().equals(halfName)){
                    for (String s : split) {
@@ -363,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 + "】" +
                            "时间段已被使用");
                }
            }
        }
@@ -393,7 +351,8 @@
                payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            }
            if(appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0){
                return ResultUtil.error("玩湃币不足");
                return new ResultUtil(3,"玩湃币不足");
            }
        }else{
            payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
@@ -407,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());
@@ -415,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");
@@ -426,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){
@@ -765,7 +724,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();
            }
        }
        //校验优惠券