|
@@ -6,6 +6,7 @@ import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -75,6 +76,7 @@ import java.util.function.Supplier;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
|
|
+import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
|
|
import static com.yc.ship.module.product.enums.YesOrNoEnum.NO;
|
|
import static com.yc.ship.module.product.enums.YesOrNoEnum.NO;
|
|
|
import static com.yc.ship.module.trade.enums.ApiConstants.*;
|
|
import static com.yc.ship.module.trade.enums.ApiConstants.*;
|
|
|
import static com.yc.ship.module.trade.enums.ErrorCodeConstants.*;
|
|
import static com.yc.ship.module.trade.enums.ErrorCodeConstants.*;
|
|
@@ -492,7 +494,6 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
private TradeOrderBO buildShipCreateOrder(ShipTradeOrderCreateReqVO orderCreateReqDTO) {
|
|
private TradeOrderBO buildShipCreateOrder(ShipTradeOrderCreateReqVO orderCreateReqDTO) {
|
|
|
//重置金额
|
|
//重置金额
|
|
|
TradeOrderBO tradeOrderBO = new TradeOrderBO();
|
|
TradeOrderBO tradeOrderBO = new TradeOrderBO();
|
|
|
- TradeOrderDO oldtradeOrderDO = orderCreateReqDTO.getOldtradeOrderDO();
|
|
|
|
|
//订单
|
|
//订单
|
|
|
TradeOrderDO tradeOrderDO = new TradeOrderDO();
|
|
TradeOrderDO tradeOrderDO = new TradeOrderDO();
|
|
|
tradeOrderDO.setSellMethod(orderCreateReqDTO.getOrderProperty().getSellMethod());
|
|
tradeOrderDO.setSellMethod(orderCreateReqDTO.getOrderProperty().getSellMethod());
|
|
@@ -637,6 +638,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
Long voyageId = tradeOrderDO.getVoyageId();
|
|
Long voyageId = tradeOrderDO.getVoyageId();
|
|
|
ProductSpuRespDTO finalProductSpuRespDTO = productSpuRespDTO;
|
|
ProductSpuRespDTO finalProductSpuRespDTO = productSpuRespDTO;
|
|
|
Map<String, Long> vmap = new HashMap<>(16);
|
|
Map<String, Long> vmap = new HashMap<>(16);
|
|
|
|
|
+ List<String> repeatVisitor = new ArrayList<>();
|
|
|
orderItem.getDetailList().forEach(orderDetail -> {
|
|
orderItem.getDetailList().forEach(orderDetail -> {
|
|
|
if (orderDetail.getProductType() == 0) {
|
|
if (orderDetail.getProductType() == 0) {
|
|
|
List<String> ticketNoList = tradeUUCodeUtils.generateTicketNo(orderDetail.getVisitorList().size());
|
|
List<String> ticketNoList = tradeUUCodeUtils.generateTicketNo(orderDetail.getVisitorList().size());
|
|
@@ -701,13 +703,15 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
|
|
|
|
|
|
|
int num = tradeVisitorMapper.queryVisitorByVovageId(voyageId, visitor.getCredentialNo());
|
|
int num = tradeVisitorMapper.queryVisitorByVovageId(voyageId, visitor.getCredentialNo());
|
|
|
if(num>0){
|
|
if(num>0){
|
|
|
- Asserts.isTrue(false,"该证件号`"+visitor.getCredentialNo()+"`已经购买过当前航次,请更换其他证件");
|
|
|
|
|
|
|
+ repeatVisitor.add(visitor.getCredentialNo());
|
|
|
}
|
|
}
|
|
|
tradeVisitorDOList.add(tradeVisitorDO);
|
|
tradeVisitorDOList.add(tradeVisitorDO);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
|
|
+ if(!repeatVisitor.isEmpty()) {
|
|
|
|
|
+ throw exception0(500, "该证件号`" + JSON.toJSONString(repeatVisitor) + "`已经购买过当前航次,请更换其他证件");
|
|
|
|
|
+ }
|
|
|
orderItem.getDetailList().forEach(orderDetail -> {
|
|
orderItem.getDetailList().forEach(orderDetail -> {
|
|
|
if (orderDetail.getProductType() != 0) {
|
|
if (orderDetail.getProductType() != 0) {
|
|
|
List<String> ticketNoList = tradeUUCodeUtils.generateTicketNo(orderDetail.getVisitorList().size());
|
|
List<String> ticketNoList = tradeUUCodeUtils.generateTicketNo(orderDetail.getVisitorList().size());
|