|
|
@@ -14,15 +14,22 @@ import com.yc.ship.framework.common.lang.Asserts;
|
|
|
import com.yc.ship.framework.common.pojo.CommonResult;
|
|
|
import com.yc.ship.framework.common.pojo.PageResult;
|
|
|
import com.yc.ship.framework.common.util.collection.CollectionUtils;
|
|
|
+import com.yc.ship.framework.common.util.collection.MapUtils;
|
|
|
import com.yc.ship.framework.common.util.date.DateUtils;
|
|
|
import com.yc.ship.framework.common.util.object.ObjectUtils;
|
|
|
+import com.yc.ship.framework.ip.core.utils.AreaUtils;
|
|
|
import com.yc.ship.framework.security.core.LoginUser;
|
|
|
import com.yc.ship.module.ota.api.OtaDistributorApi;
|
|
|
import com.yc.ship.module.ota.api.dto.DistributorProductRespDTO;
|
|
|
import com.yc.ship.module.product.api.ProductApi;
|
|
|
import com.yc.ship.module.product.api.dto.*;
|
|
|
+import com.yc.ship.module.product.controller.admin.voyage.vo.VoyageRespVO;
|
|
|
+import com.yc.ship.module.product.dal.dataobject.voyage.VoyageDO;
|
|
|
import com.yc.ship.module.product.enums.ProductTypeEnum;
|
|
|
import com.yc.ship.module.product.enums.SpecTypeEnum;
|
|
|
+import com.yc.ship.module.product.service.voyage.VoyageService;
|
|
|
+import com.yc.ship.module.resource.api.ship.ShipApi;
|
|
|
+import com.yc.ship.module.resource.api.ship.dto.ShipRespDTO;
|
|
|
import com.yc.ship.module.system.api.permission.RoleApi;
|
|
|
import com.yc.ship.module.system.api.user.AdminUserApi;
|
|
|
import com.yc.ship.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
@@ -40,9 +47,7 @@ import com.yc.ship.module.trade.framework.common.ExceptionUtils;
|
|
|
import com.yc.ship.module.trade.framework.common.ThreadLocalUtil;
|
|
|
import com.yc.ship.module.trade.framework.common.TradeOrderLogUtils;
|
|
|
import com.yc.ship.module.trade.framework.mq.TradePublishUtils;
|
|
|
-import com.yc.ship.module.trade.service.order.TradeOrderRepositoryService;
|
|
|
-import com.yc.ship.module.trade.service.order.TradeOrderRuleValidate;
|
|
|
-import com.yc.ship.module.trade.service.order.TradeOrderService;
|
|
|
+import com.yc.ship.module.trade.service.order.*;
|
|
|
import com.yc.ship.module.trade.service.order.bo.TradeDetailBO;
|
|
|
import com.yc.ship.module.trade.service.order.bo.TradeOrderBO;
|
|
|
import com.yc.ship.module.trade.service.order.bo.TradeOrderDetailBO;
|
|
|
@@ -65,6 +70,7 @@ import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
|
import java.util.function.Supplier;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -121,6 +127,21 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
@Resource
|
|
|
private AdminUserApi adminUserApi;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private VoyageService voyageService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ShipApi shipApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TradeOrderRoomModelService tradeOrderRoomModelService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TradeOrderCountryService tradeOrderCountryService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TradeOrderTotalService tradeOrderTotalService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public PageResult<TradeOrderRespVO> getPlatOrderPage(TradeOrderPageReqVO pageReqVO) {
|
|
|
@@ -159,13 +180,18 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
if(StringUtils.isNotBlank(tradeOrderRespVO.getAuditUser())){
|
|
|
tradeOrderRespVO.setAuditUserName(userMap.get(Long.parseLong(tradeOrderRespVO.getAuditUser())));
|
|
|
}
|
|
|
- if(tradeOrderRespVO.getReadUser()!=null){
|
|
|
+ if (tradeOrderRespVO.getReadUser() != null) {
|
|
|
tradeOrderRespVO.setReadUserName(userMap.get(tradeOrderRespVO.getReadUser()));
|
|
|
}
|
|
|
});
|
|
|
return new PageResult<>(iPage.getRecords(), iPage.getTotal());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<TradeOrderRespExcelVO> getExportVisitorList(TradeOrderPageReqVO reqVO) {
|
|
|
+ return tradeVisitorMapper.getExportVisitorList(reqVO);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@TradeOrderLog(operateType = TradeOrderOperateTypeEnum.ORDER_CREATE)
|
|
|
public CommonResult<TradeOrderRespDTO> createOrder(TradeOrderCreateReqDTO orderCreateReqDTO) {
|
|
|
@@ -561,7 +587,6 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
|
|
|
List<TradeOrderDetailBO> tradeOrderDetailBOList = orderCreateReqDTO.getItemlList().stream().map(orderItem -> buildShipTradeOrderDetail(orderCreateReqDTO, tradeOrderDO, orderItem))
|
|
|
.collect(Collectors.toList());
|
|
|
- //订单金额验证
|
|
|
tradeOrderBO.setTradeOrderDO(tradeOrderDO);
|
|
|
tradeOrderBO.setTradeOrderUserDO(tradeOrderUserDO);
|
|
|
tradeOrderBO.setTradeOrderDetailBOList(tradeOrderDetailBOList);
|
|
|
@@ -609,7 +634,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
List<TradeDetailBaseDO> tradeDetailBaseDOList = new ArrayList<>();
|
|
|
List<TradeVisitorDO> tradeVisitorDOList = new ArrayList<>();
|
|
|
List<TradeDetailPriceDO> tradeDetailPriceDOList = new ArrayList<>();
|
|
|
-
|
|
|
+ Long voyageId = tradeOrderDO.getVoyageId();
|
|
|
ProductSpuRespDTO finalProductSpuRespDTO = productSpuRespDTO;
|
|
|
Map<String, Long> vmap = new HashMap<>(16);
|
|
|
orderItem.getDetailList().forEach(orderDetail -> {
|
|
|
@@ -673,6 +698,11 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
tradeVisitorDO.setFinalRoomId(visitor.getFinalRoomId());
|
|
|
}
|
|
|
tradeVisitorDO.setCreateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ int num = tradeVisitorMapper.queryVisitorByVovageId(voyageId, visitor.getCredentialNo());
|
|
|
+ if(num>0){
|
|
|
+ Asserts.isTrue(false,"该证件号`"+visitor.getCredentialNo()+"`已经购买过当前航次,请更换其他证件");
|
|
|
+ }
|
|
|
tradeVisitorDOList.add(tradeVisitorDO);
|
|
|
}
|
|
|
}
|