|
|
@@ -1,6 +1,7 @@
|
|
|
package com.yc.ship.module.trade.service.otc.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
@@ -2085,8 +2086,12 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
storeInfo = storeApi.getStoreInfo(storeId);
|
|
|
}
|
|
|
VoyageRespDTO voyage = productApi.getVoyage(createVO.getVoyageId());
|
|
|
- String date = DateUtils.format(new Date(), "yyyyMMddmmss");
|
|
|
- String orderNo = distributorDO.getCode() + "-" + voyage.getCode() + "-" + date;
|
|
|
+ int maxOrderNo = tradeOrderService.getMaxOrderNo(createVO.getVoyageId());
|
|
|
+ String date = DateUtils.format(new Date(), "yyyyMMddmm");
|
|
|
+ String orderNo = distributorDO.getCode() + "-" + date + "-" + voyage.getCode()+"-"+(maxOrderNo+1);
|
|
|
+ if(distributorDO.getCode()==null){
|
|
|
+ orderNo = date + "-" + voyage.getCode()+"-"+(maxOrderNo+1);
|
|
|
+ }
|
|
|
List<TradeOrderCountryReqVO> countryData = createVO.getCountryData();
|
|
|
ShipTradeOrderCreateReqVO shipTradeOrderCreateReqVO = BeanUtils.toBean(createVO, ShipTradeOrderCreateReqVO.class);
|
|
|
shipTradeOrderCreateReqVO.setDistributorId(loginUser.getDistributorId());
|
|
|
@@ -2212,7 +2217,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
|
|
|
BigDecimal price;
|
|
|
if (createVO.getSummary().getOrderMoney() != null && createVO.getSummary().getOrderMoney().compareTo(new BigDecimal(0)) > 0) {
|
|
|
- if(createVO.getSummary().getOrderMoney().compareTo(spuMoney) < 0){
|
|
|
+ if(createVO.getSummary().getOrderMoney().compareTo(spuMoney) < 0 || visitorList.isEmpty()){
|
|
|
price = BigDecimal.ZERO;
|
|
|
}else {
|
|
|
price = createVO.getSummary().getOrderMoney().subtract(spuMoney).divide(new BigDecimal(visitorList.size()), 2, RoundingMode.HALF_UP);
|
|
|
@@ -2233,6 +2238,15 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
|
|
|
shipTradeOrderCreateReqVO.setSpuAmount(spuMoney);
|
|
|
|
|
|
+ Date travelDate = shipTradeOrderCreateReqVO.getTravelDate();
|
|
|
+ if(loginUser.getDistributorId()!=null && DateUtil.compare(DateUtil.beginOfDay(shipTradeOrderCreateReqVO.getTravelDate()),new Date())<0){
|
|
|
+ Asserts.isTrue(false,"选择的游玩日期不能早于当前时间");
|
|
|
+ }
|
|
|
+
|
|
|
+ if(DateUtil.compare(travelDate,new Date())<0){
|
|
|
+ Asserts.isTrue(false,"选择的游玩日期不能早于当前时间");
|
|
|
+ }
|
|
|
+
|
|
|
CommonResult<TradeOrderRespDTO> result = doShipCreateOrder(loginUser, shipTradeOrderCreateReqVO);
|
|
|
if (result.isError()) {
|
|
|
return CommonResult.error(result);
|
|
|
@@ -2443,7 +2457,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
|
|
|
BigDecimal price;
|
|
|
if (createVO.getSummary().getOrderMoney() != null && createVO.getSummary().getOrderMoney().compareTo(new BigDecimal(0)) > 0) {
|
|
|
- if(createVO.getSummary().getOrderMoney().compareTo(spuMoney) < 0){
|
|
|
+ if(createVO.getSummary().getOrderMoney().compareTo(spuMoney) < 0|| visitorList.isEmpty()){
|
|
|
price = BigDecimal.ZERO;
|
|
|
}else {
|
|
|
price = createVO.getSummary().getOrderMoney().subtract(spuMoney).divide(new BigDecimal(visitorList.size()), 2, RoundingMode.HALF_UP);
|
|
|
@@ -2464,6 +2478,18 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
|
|
|
shipTradeOrderCreateReqVO.setSpuAmount(spuMoney);
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ Date travelDate = shipTradeOrderCreateReqVO.getTravelDate();
|
|
|
+
|
|
|
+ if(loginUser.getDistributorId()!=null && DateUtil.compare(DateUtil.beginOfDay(shipTradeOrderCreateReqVO.getTravelDate()), DateUtil.offsetDay(new Date(),3))<0){
|
|
|
+ Asserts.isTrue(false,"已过最晚修改时间");
|
|
|
+ }
|
|
|
+
|
|
|
+ if(loginUser.getDistributorId()==null &&DateUtil.compare(travelDate, DateUtil.offsetDay(new Date(),-2))<0){
|
|
|
+ Asserts.isTrue(false,"已过最晚修改时间");
|
|
|
+ }
|
|
|
+
|
|
|
CommonResult<TradeOrderRespDTO> result = doShipModifyOrder(loginUser, shipTradeOrderCreateReqVO);
|
|
|
if (result.isError()) {
|
|
|
return CommonResult.error(result);
|
|
|
@@ -2640,4 +2666,9 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
return StrUtil.equals(value, orderId.toString());
|
|
|
}
|
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
+
|
|
|
+ System.out.println(DateUtil.beginOfDay(new Date()));
|
|
|
+ }
|
|
|
+
|
|
|
}
|