|
|
@ -62,6 +62,7 @@ import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
@ -537,13 +538,20 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
String depositPrice1 = hotelConfService.getConf("depositPrice"); |
|
|
|
BigDecimal depositPrice = new BigDecimal(depositPrice1); |
|
|
|
|
|
|
|
//优惠券开关 |
|
|
|
//押金优惠券开关 |
|
|
|
Integer couponFlag = Integer.parseInt(hotelConfService.getConf("couponFlag")); |
|
|
|
//券额 |
|
|
|
//押金券额 |
|
|
|
BigDecimal couponPrice = new BigDecimal(hotelConfService.getConf("couponPrice")); |
|
|
|
//优惠券条件 |
|
|
|
//押金优惠券条件 |
|
|
|
BigDecimal couponCondition = new BigDecimal(hotelConfService.getConf("couponCondition")); |
|
|
|
|
|
|
|
//租金优惠券开关 |
|
|
|
Integer leaseCouponFlag = Integer.parseInt(hotelConfService.getConf("leaseCouponFlag")); |
|
|
|
//租金券额 |
|
|
|
BigDecimal leaseCouponPrice = new BigDecimal(hotelConfService.getConf("leaseCouponPrice")); |
|
|
|
//租金优惠券条件 |
|
|
|
BigDecimal leaseCouponCondition = new BigDecimal(hotelConfService.getConf("leaseCouponCondition")); |
|
|
|
|
|
|
|
|
|
|
|
List<HotelOrderDetail> hotelOrderDetails = new ArrayList<>(); |
|
|
|
BigDecimal totalPrice = BigDecimal.ZERO; |
|
|
@ -632,17 +640,17 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
throw new JeecgBootException("还未确认收货,无法水洗"); |
|
|
|
} |
|
|
|
|
|
|
|
HotelOrderDetail hotelOrderDetail1 = hotelOrderDetailService.lambdaQuery() |
|
|
|
List<HotelOrderDetail> hotelOrderDetailList = hotelOrderDetailService.lambdaQuery() |
|
|
|
.eq(HotelOrderDetail::getDelFlag, 0) |
|
|
|
.eq(HotelOrderDetail::getLeaseId, hotelLeaseLog.getId()) |
|
|
|
.one(); |
|
|
|
.list(); |
|
|
|
|
|
|
|
if(hotelOrderDetail1 != null){ |
|
|
|
if(hotelOrderDetailList != null && hotelOrderDetailList.size() > 0){ |
|
|
|
HotelOrder hotelOrder1 = hotelOrderService.lambdaQuery() |
|
|
|
.eq(HotelOrder::getDelFlag, 0) |
|
|
|
.eq(HotelOrder::getType, 1) |
|
|
|
.in(HotelOrder::getStatus, 4, 5, 6, 16) |
|
|
|
.eq(HotelOrder::getId, hotelOrderDetail1.getOrderId()) |
|
|
|
.eq(HotelOrder::getId, hotelOrderDetailList.stream().map(HotelOrderDetail::getOrderId).collect(Collectors.toList())) |
|
|
|
.one(); |
|
|
|
if(hotelOrder1 != null){ |
|
|
|
throw new JeecgBootException("该租赁正在水洗中"); |
|
|
@ -716,10 +724,18 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
hotelOrder.setDiscountPrice(couponPrice); |
|
|
|
hotelOrder.setRentPay(totalRentPrice); |
|
|
|
hotelOrder.setWashPay(totalwashPrice); |
|
|
|
if(couponFlag == 1){ |
|
|
|
if(createOrderReqs.get(0).getType() == 0 && couponFlag == 1){ |
|
|
|
|
|
|
|
if(totalPrice.compareTo(couponCondition) >= 0){ |
|
|
|
totalPrice = totalPrice.subtract(couponPrice); |
|
|
|
} |
|
|
|
}else if(createOrderReqs.get(0).getType() == 1 && leaseCouponFlag == 1){ |
|
|
|
if(totalRentPrice.compareTo(leaseCouponCondition) >= 0){ |
|
|
|
totalRentPrice = totalRentPrice.subtract(leaseCouponPrice); |
|
|
|
totalPrice = totalRentPrice.add(totalwashPrice); |
|
|
|
hotelOrder.setRentPay(totalRentPrice); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
hotelOrder.setOrderPay(totalPrice); |
|
|
|
|
|
|
@ -1217,7 +1233,7 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
} |
|
|
|
|
|
|
|
/*已经处理过订单*/ |
|
|
|
if (hotelOrder.getStatus() !=0){ |
|
|
|
if (hotelOrder.getStatus() !=0 && hotelOrder.getStatus() != 3){ |
|
|
|
return "SUCCESS"; |
|
|
|
} |
|
|
|
|
|
|
@ -1283,7 +1299,7 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
.one(); |
|
|
|
/*水洗店*/ |
|
|
|
HotelOrderDetail hotelOrderDetail1 = new HotelOrderDetail(); |
|
|
|
hotelOrderDetail1.setPic(hotelGoods.getPic()); |
|
|
|
|
|
|
|
shopOrder.setUserName(hotelShop.getUserName()); |
|
|
|
shopOrder.setUserPhone(hotelShop.getPhone()); |
|
|
|
shopOrder.setUserAddress(hotelShop.getAddress()); |
|
|
@ -1293,6 +1309,7 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
shopOrder.setStatus(1); |
|
|
|
shopOrder.setOrderLogId(hotelOrderLog.getId()); |
|
|
|
shopOrder.setWashShopFlag(1); |
|
|
|
hotelOrderDetail1.setPic(hotelGoods.getPic()); |
|
|
|
hotelOrderDetail1.setGoodsId(hotelGoods.getId()); |
|
|
|
hotelOrderDetail1.setGoodsName(hotelGoods.getName()); |
|
|
|
hotelOrderDetail1.setSkuId(hotelGoodsSku.getId()); |
|
|
@ -1424,6 +1441,7 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
} |
|
|
|
List<HotelOrder> hotelOrders = hotelOrderService.lambdaQuery() |
|
|
|
.eq(HotelOrder::getDelFlag, 0) |
|
|
|
.eq(HotelOrder::getType,applyRefundOrderReq.getType() == 0?2:1) |
|
|
|
.eq(HotelOrder::getLeaseId, hotelLeaseLog.getId()) |
|
|
|
.ne(HotelOrder::getStatus, 15) |
|
|
|
.list(); |
|
|
@ -1630,6 +1648,80 @@ public class OrderServiceImpl implements IOrderService { |
|
|
|
hotelLeaseLog.setSku(uploadTableclothReq.getLength()+"*"+uploadTableclothReq.getWide()); |
|
|
|
hotelLeaseLogService.save(hotelLeaseLog); |
|
|
|
|
|
|
|
HotelShop hotelShop = hotelShopService.lambdaQuery() |
|
|
|
.eq(HotelShop::getDelFlag, 0) |
|
|
|
.eq(HotelShop::getId, hanHaiMember.getShopId()) |
|
|
|
.one(); |
|
|
|
|
|
|
|
HotelAddress hotelAddress = hotelAddressService.lambdaQuery() |
|
|
|
.eq(HotelAddress::getId, uploadTableclothReq.getAddressId()) |
|
|
|
.one(); |
|
|
|
|
|
|
|
HotelOrderLog hotelOrderLog = new HotelOrderLog(); |
|
|
|
hotelOrderLog.setOrderPay(BigDecimal.ZERO); |
|
|
|
hotelOrderLog.setType(0); |
|
|
|
hotelOrderLog.setUserId(hanHaiMember.getId()); |
|
|
|
hotelOrderLog.setShopId(hotelShop.getUserId()); |
|
|
|
hotelOrderLogService.save(hotelOrderLog); |
|
|
|
|
|
|
|
|
|
|
|
HotelOrder hotelOrder = new HotelOrder(); |
|
|
|
hotelOrder.setTitle("租赁押金"); |
|
|
|
hotelOrder.setUserName(hotelAddress.getName()); |
|
|
|
hotelOrder.setUserPhone(hotelAddress.getPhone()); |
|
|
|
hotelOrder.setUserAddress(hotelAddress.getAddress()+hotelAddress.getAddressDetail()); |
|
|
|
hotelOrder.setUserId(hanHaiMember.getId()); |
|
|
|
hotelOrder.setType(0); |
|
|
|
hotelOrder.setStatus(15); |
|
|
|
hotelOrder.setWashShopFlag(0); |
|
|
|
hotelOrder.setOrderPay(BigDecimal.ZERO); |
|
|
|
hotelOrder.setDeposit(BigDecimal.ZERO); |
|
|
|
hotelOrder.setRentPay(BigDecimal.ZERO); |
|
|
|
hotelOrder.setWashPay(BigDecimal.ZERO); |
|
|
|
hotelOrder.setOrderLogId(hotelOrderLog.getId()); |
|
|
|
hotelOrderService.save(hotelOrder); |
|
|
|
|
|
|
|
HotelOrderDetail hotelOrderDetail = new HotelOrderDetail(); |
|
|
|
hotelOrderDetail.setGoodsName(uploadTableclothReq.getName()); |
|
|
|
hotelOrderDetail.setPic(uploadTableclothReq.getPic()); |
|
|
|
hotelOrderDetail.setSku(hotelLeaseLog.getSku()); |
|
|
|
hotelOrderDetail.setNum(uploadTableclothReq.getNum()); |
|
|
|
hotelOrderDetail.setOrderPay(BigDecimal.ZERO); |
|
|
|
hotelOrderDetail.setCategoryId(uploadTableclothReq.getCategoryId()); |
|
|
|
hotelOrderDetail.setOrderId(hotelOrder.getId()); |
|
|
|
hotelOrderDetail.setCategoryId(uploadTableclothReq.getCategoryId()); |
|
|
|
hotelOrderDetail.setDeposit(BigDecimal.ZERO); |
|
|
|
hotelOrderDetailService.save(hotelOrderDetail); |
|
|
|
|
|
|
|
HotelOrder shopOrder = new HotelOrder(); |
|
|
|
shopOrder.setUserName(hotelShop.getUserName()); |
|
|
|
shopOrder.setUserPhone(hotelShop.getPhone()); |
|
|
|
shopOrder.setUserAddress(hotelShop.getAddress()); |
|
|
|
shopOrder.setUserId(hotelShop.getUserId()); |
|
|
|
shopOrder.setDeposit(hotelOrder.getDeposit()); |
|
|
|
shopOrder.setOrderPay(hotelOrder.getOrderPay()); |
|
|
|
shopOrder.setWashPay(hotelOrder.getWashPay()); |
|
|
|
shopOrder.setRentPay(hotelOrder.getRentPay()); |
|
|
|
shopOrder.setType(0); |
|
|
|
shopOrder.setStatus(15); |
|
|
|
shopOrder.setOrderLogId(hotelOrderLog.getId()); |
|
|
|
shopOrder.setWashShopFlag(1); |
|
|
|
hotelOrderService.save(shopOrder); |
|
|
|
|
|
|
|
HotelOrderDetail hotelOrderDetail1 = new HotelOrderDetail(); |
|
|
|
hotelOrderDetail.setGoodsName(uploadTableclothReq.getName()); |
|
|
|
hotelOrderDetail.setPic(uploadTableclothReq.getPic()); |
|
|
|
hotelOrderDetail.setSku(hotelLeaseLog.getSku()); |
|
|
|
hotelOrderDetail.setNum(uploadTableclothReq.getNum()); |
|
|
|
hotelOrderDetail.setOrderPay(BigDecimal.ZERO); |
|
|
|
hotelOrderDetail.setCategoryId(uploadTableclothReq.getCategoryId()); |
|
|
|
hotelOrderDetail.setOrderId(shopOrder.getId()); |
|
|
|
hotelOrderDetail.setCategoryId(uploadTableclothReq.getCategoryId()); |
|
|
|
hotelOrderDetail.setDeposit(BigDecimal.ZERO); |
|
|
|
hotelOrderDetailService.save(hotelOrderDetail1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Result.OK(); |
|
|
|
} |
|
|
|