| | |
| | | */ |
| | | @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) { |
| | |
| | | */ |
| | | @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 + "】" + |
| | | "时间段已被使用"); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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(); |
| | |
| | | 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){ |
| | |
| | | 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 |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | //校验优惠券 |