|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | import com.dsh.other.entity.*; | 
|---|
|  |  |  | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Map<String, Double> distance = GeodesyUtil.getDistance(querySiteList.getLon() + "," + querySiteList.getLat(), querySiteListVo.getStoreLon() + "," + querySiteListVo.getStoreLat()); | 
|---|
|  |  |  | querySiteListVo.setDistance(distance.get("WGS84")); | 
|---|
|  |  |  | double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); | 
|---|
|  |  |  | querySiteListVo.setDistance(wgs84); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return querySiteListVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        List<SiteBooking> siteBookings = siteClient.listBooks(id); | 
|---|
|  |  |  | List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("nextName",siteName).like("times",day)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | System.out.println("======strings======="+strings); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String currentTime = appointmentStartTime; | 
|---|
|  |  |  | while (currentTime.compareTo(appointmentEndTime) < 0) { | 
|---|
|  |  |  | String nextTime = getNextTime(currentTime); | 
|---|
|  |  |  | String nextTime=null; | 
|---|
|  |  |  | if("智慧场地".equals(site.getTypeName())){ | 
|---|
|  |  |  | nextTime=getNextTimeOne(currentTime); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | nextTime= getNextTime(currentTime); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String timeRange = currentTime + "-" + nextTime; | 
|---|
|  |  |  | QuerySiteTimes orderDto = new QuerySiteTimes(); | 
|---|
|  |  |  | orderDto.setTime(timeRange); | 
|---|
|  |  |  | 
|---|
|  |  |  | //                orderDto.setSelectable(0); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | if (strings.contains(timeRange)){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | orderDto.setSelectable(0); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String stime = day+" "+currentTime; | 
|---|
|  |  |  | String etime = day+" "+nextTime; | 
|---|
|  |  |  | orderDto.setSelectable(1); | 
|---|
|  |  |  | // 查出lock | 
|---|
|  |  |  | List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id)); | 
|---|
|  |  |  | for (SiteLock siteLock : list) { | 
|---|
|  |  |  | boolean stringDateBetween = DateComparisonExample.isStringDateBetween(stime + " - " + etime, siteLock.getStartTime(), siteLock.getEndTime()); | 
|---|
|  |  |  | if(stringDateBetween){ | 
|---|
|  |  |  | orderDto.setSelectable(0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | System.out.println("-------------"+timeRanges); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return timeRanges; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return String.format("%02d:%02d", hour, minute); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        String[] parts = currentTime.split(":"); | 
|---|
|  |  |  | //        int hour = Integer.parseInt(parts[0]); | 
|---|
|  |  |  | //        int minute = Integer.parseInt(parts[1]); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        if (minute == 45) { | 
|---|
|  |  |  | //            hour++; | 
|---|
|  |  |  | //            minute = 0; | 
|---|
|  |  |  | //        } else if (minute == 0){ | 
|---|
|  |  |  | //            minute = 15; | 
|---|
|  |  |  | //        }else if (minute == 15){ | 
|---|
|  |  |  | //            minute = 30; | 
|---|
|  |  |  | //        }else if (minute == 30){ | 
|---|
|  |  |  | //            minute = 45; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        return String.format("%02d:%02d", hour, minute); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getNextTimeOne(String currentTime) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String[] parts = currentTime.split(":"); | 
|---|
|  |  |  | int hour = Integer.parseInt(parts[0]); | 
|---|
|  |  |  | int minute = Integer.parseInt(parts[1]); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (minute == 45) { | 
|---|
|  |  |  | hour++; | 
|---|
|  |  |  | minute = 0; | 
|---|
|  |  |  | } else if (minute == 0){ | 
|---|
|  |  |  | minute = 15; | 
|---|
|  |  |  | }else if (minute == 15){ | 
|---|
|  |  |  | minute = 30; | 
|---|
|  |  |  | }else if (minute == 30){ | 
|---|
|  |  |  | minute = 45; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return String.format("%02d:%02d", hour, minute); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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 + "】" + | 
|---|
|  |  |  | "时间段已被使用"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 ResultUtil.error("玩湃币不足"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //校验优惠券 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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){ | 
|---|
|  |  |  | 
|---|
|  |  |  | siteBooking.setHalfName(reservationSite.getHalfName()); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | siteBooking.setStatus(1); | 
|---|
|  |  |  | siteBooking.setPayOrderNo(tradeNo); | 
|---|
|  |  |  | siteBookingService.updateById(siteBooking); | 
|---|
|  |  |  | System.err.println("======完成支付"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if("WAIT_BUYER_PAY".equals(s)){ | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //校验优惠券 | 
|---|