瀏覽代碼

fix: 修改订单详情接口

luofeiyun 1 月之前
父節點
當前提交
14a138b59a
共有 24 個文件被更改,包括 257 次插入26 次删除
  1. 18 2
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/distributorDiscount/DistributorDiscountController.java
  2. 29 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/distributorDiscount/vo/DistributorDiscountCountryRespVO.java
  3. 7 1
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/distributorDiscount/DistributorDiscountServiceImpl.java
  4. 2 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/priceroommodeltype/PriceRoomModelTypeService.java
  5. 9 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/priceroommodeltype/PriceRoomModelTypeServiceImpl.java
  6. 26 14
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java
  7. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/ShipTradeOrderCreateReqVO.java
  8. 9 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespNewVO.java
  9. 8 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRoomModelVO.java
  10. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderTotalVO.java
  11. 15 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeVisitorRespVO.java
  12. 6 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeVistorReqVO.java
  13. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderRoomModelDO.java
  14. 6 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeVisitorDO.java
  15. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeOrderTotalMapper.java
  16. 7 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeVisitorMapper.java
  17. 2 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderTotalService.java
  18. 10 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeVisitorService.java
  19. 2 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java
  20. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderTotalServiceImpl.java
  21. 33 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeVisitorServiceImpl.java
  22. 6 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/AppOtcTradeOrderServiceImpl.java
  23. 28 9
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java
  24. 9 0
      ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeVisitorMapper.xml

+ 18 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/distributorDiscount/DistributorDiscountController.java

@@ -6,11 +6,16 @@ import com.yc.ship.framework.common.pojo.PageParam;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.framework.excel.core.util.ExcelUtils;
+import com.yc.ship.framework.ip.core.Area;
+import com.yc.ship.framework.ip.core.utils.AreaUtils;
+import com.yc.ship.module.product.controller.admin.distributorDiscount.vo.DistributorDiscountCountryRespVO;
 import com.yc.ship.module.product.controller.admin.distributorDiscount.vo.DistributorDiscountPageReqVO;
 import com.yc.ship.module.product.controller.admin.distributorDiscount.vo.DistributorDiscountRespVO;
 import com.yc.ship.module.product.controller.admin.distributorDiscount.vo.DistributorDiscountSaveReqVO;
 import com.yc.ship.module.product.dal.dataobject.distributorDiscount.DistributorDiscountDO;
 import com.yc.ship.module.product.service.distributorDiscount.DistributorDiscountService;
+import com.yc.ship.module.system.api.area.AreaApi;
+import com.yc.ship.module.system.api.area.dto.AreaCountryDTO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -36,6 +41,10 @@ public class DistributorDiscountController {
     @Resource
     private DistributorDiscountService distributorDiscountService;
 
+    @Resource
+    private AreaApi areaApi;
+
+
     @PostMapping("/create")
     @Operation(summary = "创建分销商专属折扣")
     public CommonResult<Long> createDistributorDiscount(@Valid @RequestBody DistributorDiscountSaveReqVO createReqVO) {
@@ -69,13 +78,20 @@ public class DistributorDiscountController {
     @GetMapping("/getByTravlId")
     @Operation(summary = "获得分销商专属折扣")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
-    public CommonResult<DistributorDiscountRespVO> getByTravlId(@RequestParam("id") Long id,@RequestParam("shipId") String shipId) {
+    public CommonResult<List<DistributorDiscountCountryRespVO>> getByTravlId(@RequestParam("id") Long id, @RequestParam("shipId") String shipId) {
         DistributorDiscountDO distributorDiscount = distributorDiscountService.getByTravlId(id,shipId);
         if(distributorDiscount==null){
             return success(null);
         }
         DistributorDiscountRespVO bean = BeanUtils.toBean(distributorDiscount, DistributorDiscountRespVO.class);
-        return success(bean);
+        List<Long> areaId = bean.getAreaId();
+        List<AreaCountryDTO> areaCountry = areaApi.getAreaCountryListByAreaIds(areaId);
+        List<DistributorDiscountCountryRespVO> result = BeanUtils.toBean(areaCountry, DistributorDiscountCountryRespVO.class);
+        result.stream().forEach(item->{
+            item.setId(distributorDiscount.getId());
+            item.setDiscountNum(distributorDiscount.getDiscountNum());
+        });
+        return success(result);
     }
 
     @GetMapping("/page")

+ 29 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/distributorDiscount/vo/DistributorDiscountCountryRespVO.java

@@ -0,0 +1,29 @@
+package com.yc.ship.module.product.controller.admin.distributorDiscount.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "管理后台 - 分销商专属折扣 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class DistributorDiscountCountryRespVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11469")
+    @ExcelProperty("主键")
+    private Long id;
+
+    @Schema(description = "折扣比例")
+    private BigDecimal discountNum;
+
+    @Schema(description = "国家id")
+    private Integer countryId;
+    @Schema(description = "国家名称")
+    private String countryName;
+
+}

+ 7 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/distributorDiscount/DistributorDiscountServiceImpl.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.product.service.distributorDiscount;
 
+import cn.hutool.core.date.LocalDateTimeUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.object.BeanUtils;
@@ -16,6 +17,8 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 
+import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception0;
@@ -94,10 +97,13 @@ public class DistributorDiscountServiceImpl implements DistributorDiscountServic
 
     @Override
     public DistributorDiscountDO getByTravlId(Long id,String shipId) {
-         List<DistributorDiscountDO> distributorDiscountDOList = distributorDiscountMapper.selectList(
+        LocalDateTime now = LocalDateTimeUtil.now();
+        List<DistributorDiscountDO> distributorDiscountDOList = distributorDiscountMapper.selectList(
                  new LambdaQueryWrapperX<DistributorDiscountDO>()
                          .eq(DistributorDiscountDO::getDistributorId, id)
                          .likeIfPresent(DistributorDiscountDO::getShipId, shipId)
+                         .ge(DistributorDiscountDO::getEndTime, now)
+                         .le(DistributorDiscountDO::getStartTime, now)
          );
         if(distributorDiscountDOList!=null && !distributorDiscountDOList.isEmpty()){
             return distributorDiscountDOList.get(0);

+ 2 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/priceroommodeltype/PriceRoomModelTypeService.java

@@ -12,4 +12,6 @@ import java.util.List;
 public interface PriceRoomModelTypeService {
 
     List<PriceRoomModelTypeDO> getByObjectIdAndRoomModelId(Long id, Long roomModelId);
+
+    List<PriceRoomModelTypeDO> getByIds(List<Long> roomModelTypeIds);
 }

+ 9 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/priceroommodeltype/PriceRoomModelTypeServiceImpl.java

@@ -8,6 +8,7 @@ import org.springframework.validation.annotation.Validated;
 
 import com.yc.ship.module.product.dal.mysql.priceroommodeltype.PriceRoomModelTypeMapper;
 
+import java.util.Collections;
 import java.util.List;
 
 
@@ -28,4 +29,12 @@ public class PriceRoomModelTypeServiceImpl implements PriceRoomModelTypeService
     public List<PriceRoomModelTypeDO> getByObjectIdAndRoomModelId(Long id, Long roomModelId) {
         return priceRoomModelTypeMapper.selectByObjectIdAndRoomModelId(id, roomModelId);
     }
+
+    @Override
+    public List<PriceRoomModelTypeDO> getByIds(List<Long> roomModelTypeIds) {
+        if(roomModelTypeIds.isEmpty()) {
+            return Collections.emptyList();
+        }
+        return priceRoomModelTypeMapper.selectByIds(roomModelTypeIds);
+    }
 }

+ 26 - 14
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java

@@ -34,14 +34,12 @@ import com.yc.ship.module.trade.dal.dataobject.insurance.InsuranceDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeDetailBaseDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderCountryDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderTotalDO;
+import com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO;
 import com.yc.ship.module.trade.framework.annotation.PlatTenantEnv;
 import com.yc.ship.module.trade.framework.annotation.RequestDecryption;
 import com.yc.ship.module.trade.framework.annotation.TradeRateLimit;
 import com.yc.ship.module.trade.framework.common.ExceptionUtils;
-import com.yc.ship.module.trade.service.order.AdminTradeOrderService;
-import com.yc.ship.module.trade.service.order.TradeOrderCountryService;
-import com.yc.ship.module.trade.service.order.TradeOrderService;
-import com.yc.ship.module.trade.service.order.TradeOrderTotalService;
+import com.yc.ship.module.trade.service.order.*;
 import com.yc.ship.module.trade.service.otc.AppOtcTradeOrderService;
 import com.yc.ship.module.trade.service.otc.OtcTradeOrderService;
 import com.yc.ship.module.trade.service.pay.TradeOrderPayService;
@@ -50,6 +48,7 @@ import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -103,6 +102,9 @@ public class OtcTradeOrderController {
     @Resource
     private TradeOrderPayService tradeOrderPayService;
 
+    @Resource
+    private TradeVisitorService tradeVisitorService;
+
     @RequestDecryption
     @PostMapping("/window/createOrder")
     @Operation(summary = "win-窗口创建订单(内部)")
@@ -255,19 +257,28 @@ public class OtcTradeOrderController {
 
         //国籍数据
         List<Long> orderIds = CollectionUtils.convertList(list, TradeOrderRespNewVO::getId);
-        List<TradeOrderCountryDO> countryList = tradeOrderCountryService.getListByOrderIds(orderIds);
-        List<TradeOrderCountryBaseVO> countRespVOList = BeanUtils.toBean(countryList, TradeOrderCountryBaseVO.class);
-        countRespVOList.forEach(item -> {
-            if (item.getCountryId() != null) {
-                item.setCountryName(AreaUtils.format2Str(item.getCountryId()));
+//        List<TradeOrderCountryDO> countryList = tradeOrderCountryService.getListByOrderIds(orderIds);
+//        List<TradeOrderCountryBaseVO> countRespVOList = BeanUtils.toBean(countryList, TradeOrderCountryBaseVO.class);
+//        countRespVOList.forEach(item -> {
+//            if (item.getCountryId() != null) {
+//                item.setCountryName(AreaUtils.format2Str(item.getCountryId()));
+//            }
+//        });
+//        Map<Long, List<TradeOrderCountryBaseVO>> countryMap = CollectionUtils.convertMultiMap(countRespVOList, TradeOrderCountryBaseVO::getOrderId);
+        List<TradeVisitorDO> visitorDOS = tradeVisitorService.getShipByOrderIds(orderIds);
+        List<TradeVisitorRespVO> tradeVisitorRespVOS = BeanUtils.toBean(visitorDOS, TradeVisitorRespVO.class);
+        tradeVisitorRespVOS.stream().forEach(item -> {
+            if(StringUtils.isNotBlank(item.getNationality())) {
+                item.setNationalityName(AreaUtils.format2Str(Integer.valueOf(item.getNationality())));
+            }else {
+                item.setNationalityName("未知");
             }
         });
-        Map<Long, List<TradeOrderCountryBaseVO>> countryMap = CollectionUtils.convertMultiMap(countRespVOList, TradeOrderCountryBaseVO::getOrderId);
-
+        Map<Long, List<TradeVisitorRespVO>> visitorMap = CollectionUtils.convertMultiMap(tradeVisitorRespVOS, TradeVisitorRespVO::getOrderId);
         //订单汇总数据
-        List<TradeOrderTotalDO> tradeOrderTotalDOList = tradeOrderTotalService.getByOrderIds(orderIds);
+        List<TradeOrderTotalDO> tradeOrderTotalDOList = tradeOrderTotalService.getByOldOrderIds(orderIds);
         List<TradeOrderTotalVO> tradeOrderTotalVOList = BeanUtils.toBean(tradeOrderTotalDOList, TradeOrderTotalVO.class);
-        Map<Long, TradeOrderTotalVO> orderTotalVoMap = CollectionUtils.convertMap(tradeOrderTotalVOList, TradeOrderTotalVO::getOrderId);
+        Map<Long, TradeOrderTotalVO> orderTotalVoMap = CollectionUtils.convertMap(tradeOrderTotalVOList, TradeOrderTotalVO::getOldOrderId);
 
         //航次信息
         List<Long> voyageIds = CollectionUtils.convertList(list, TradeOrderRespNewVO::getVoyageId);
@@ -277,8 +288,9 @@ public class OtcTradeOrderController {
 
         list.forEach(item -> {
             MapUtils.findAndThen(shipMap, item.getShipId(), ship -> item.setShipName(ship.getName()));
-            MapUtils.findAndThen(countryMap, item.getId(), item::setCountryList);
+            MapUtils.findAndThen(visitorMap, item.getId(), item::setVisitors);
             MapUtils.findAndThen(orderTotalVoMap, item.getId(), totalVO -> {
+                item.setTotalPerson(totalVO.getAdultTotalNum() + totalVO.getChildTotalNum() + totalVO.getBabyTotalNum() + totalVO.getLeaderTotalNum() + totalVO.getWithTotalNum());
                 item.setSummary(totalVO);
                 item.setPersonStat(totalVO.getAdultTotalNum() + "大" + (totalVO.getChildTotalNum() + totalVO.getBabyTotalNum()) + "小");
             });

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/ShipTradeOrderCreateReqVO.java

@@ -341,6 +341,11 @@ public class ShipTradeOrderCreateReqVO implements Serializable {
 
         @Schema(description = "房间索引ID", example = "")
         private String roomIndexId;
+
+        @Schema(description = "房型ID", example = "")
+        private Long roomModelId;
+        @Schema(description = "楼层", example = "")
+        private Integer floor;
     }
 
 

+ 9 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespNewVO.java

@@ -74,6 +74,9 @@ public class TradeOrderRespNewVO {
     @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
     private Date travelDate;
 
+    @Schema(description = "总人数")
+    private Integer totalPerson;
+
     @Schema(description = "备注")
     @ExcelProperty("备注")
     private String remark;
@@ -169,4 +172,10 @@ public class TradeOrderRespNewVO {
     @Schema(description = "审核状态")
     private Integer auditStatus;
 
+    @Schema(description = "游客信息")
+    private List<TradeVisitorRespVO> visitors;
+
+    @Schema(description = "房型信息")
+    private List<TradeOrderRoomModelVO> roomModelList;
+
 }

+ 8 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRoomModelVO.java

@@ -32,6 +32,14 @@ public class TradeOrderRoomModelVO {
      */
     @Schema(description = "房型名称", example = "")
     private String roomModelName;
+
+    /**
+     * 票价ID
+     */
+    private Long roomModelTypeId;
+
+    @Schema(description = "房型票价名称", example = "")
+    private String roomModelTypeName;
     /**
      * 楼层
      */

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderTotalVO.java

@@ -16,6 +16,11 @@ public class TradeOrderTotalVO {
      */
     @Schema(description = "订单ID")
     private Long orderId;
+
+    /**
+     * 旧订单ID
+     */
+    private Long oldOrderId;
     /**
      * 成人总数
      */

+ 15 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeVisitorRespVO.java

@@ -49,4 +49,19 @@ public class TradeVisitorRespVO {
     @Schema(description = "是否重庆中转 0:否 1是")
     private Integer cqzz;
 
+    @Schema(description = "国籍")
+    private String nationality;
+
+    @Schema(description = "国籍名称")
+    private String nationalityName;
+
+    @Schema(description = "房型ID")
+    private Long roomModelId;
+
+    @Schema(description = "楼层")
+    private Integer floor;
+
+    @Schema(description = "房间ID")
+    private Long roomId;
+
 }

+ 6 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeVistorReqVO.java

@@ -68,4 +68,10 @@ public class TradeVistorReqVO {
 
     @Schema(description = "区域", example = "")
     private String area;
+
+    @Schema(description = "房型ID")
+    private Long roomModelId;
+
+    @Schema(description = "楼层")
+    private Integer floor;
 }

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderRoomModelDO.java

@@ -125,5 +125,10 @@ public class TradeOrderRoomModelDO extends TenantBaseDO {
      */
     private String roomIndexId;
 
+    /**
+     * 票价ID
+     */
+    private Long roomModelTypeId;
+
 
 }

+ 6 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeVisitorDO.java

@@ -155,4 +155,10 @@ public class TradeVisitorDO extends TenantBaseDO {
 
     @Schema(description = "区域", example = "")
     private String area;
+
+    @Schema(description = "房型ID", example = "")
+    private Long roomModelId;
+
+    @Schema(description = "楼层", example = "")
+    private Integer floor;
 }

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeOrderTotalMapper.java

@@ -19,4 +19,9 @@ public interface TradeOrderTotalMapper extends BaseMapperX<TradeOrderTotalDO> {
         return selectList(new LambdaQueryWrapperX<TradeOrderTotalDO>()
                 .inIfPresent(TradeOrderTotalDO::getOrderId, orderIds));
     }
+
+    default List<TradeOrderTotalDO> selectListByOldOrderIds(List<Long> orderIds) {
+        return selectList(new LambdaQueryWrapperX<TradeOrderTotalDO>()
+                .inIfPresent(TradeOrderTotalDO::getOldOrderId, orderIds));
+    }
 }

+ 7 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeVisitorMapper.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.trade.dal.mysql.order;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import com.yc.ship.framework.mybatis.core.mapper.BaseMapperX;
@@ -39,4 +40,10 @@ public interface TradeVisitorMapper extends BaseMapperX<TradeVisitorDO> {
 
     List<TradeVisitorDO> selectShipVisitor(@Param("orderId") Long orderId);
 
+    /**
+     * 获取游轮的游客
+     * @param orderIds
+     * @return
+     */
+    List<TradeVisitorDO> selectShipByOrderIds(@Param("orderIds") List<Long> orderIds);
 }

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderTotalService.java

@@ -13,4 +13,6 @@ public interface TradeOrderTotalService {
 
 
     List<TradeOrderTotalDO> getByOrderIds(List<Long> orderIds);
+
+    List<TradeOrderTotalDO> getByOldOrderIds(List<Long> orderIds);
 }

+ 10 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeVisitorService.java

@@ -0,0 +1,10 @@
+package com.yc.ship.module.trade.service.order;
+
+import com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO;
+
+import java.util.List;
+
+public interface TradeVisitorService {
+
+    List<TradeVisitorDO> getShipByOrderIds(List<Long> orderIds);
+}

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java

@@ -682,6 +682,8 @@ public class TradeOrderServiceImpl implements TradeOrderService {
                 tradeVisitorDO.setRoomIndexId(visitor.getRoomIndexId());
                 tradeVisitorDO.setDeleted(false);
                 tradeVisitorDO.setNationality(visitor.getNationality());
+                tradeVisitorDO.setRoomModelId(visitor.getRoomModelId());
+                tradeVisitorDO.setFloor(visitor.getFloor());
                 if (orderDetail.getProductType() == 0) {
                     tradeVisitorDO.setCohabitation(visitor.getCohabitation());
                     tradeVisitorDO.setRoomId(visitor.getRoomId());

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderTotalServiceImpl.java

@@ -28,4 +28,9 @@ public class TradeOrderTotalServiceImpl implements TradeOrderTotalService {
     public List<TradeOrderTotalDO> getByOrderIds(List<Long> orderIds) {
         return orderTotalMapper.selectListByOrderIds(orderIds);
     }
+
+    @Override
+    public List<TradeOrderTotalDO> getByOldOrderIds(List<Long> orderIds) {
+        return orderTotalMapper.selectListByOldOrderIds(orderIds);
+    }
 }

+ 33 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeVisitorServiceImpl.java

@@ -0,0 +1,33 @@
+package com.yc.ship.module.trade.service.order.impl;
+
+import com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO;
+import com.yc.ship.module.trade.dal.mysql.order.TradeVisitorMapper;
+import com.yc.ship.module.trade.service.order.TradeVisitorService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 游客数据
+ */
+@Slf4j
+@Service
+@Validated
+@RequiredArgsConstructor
+public class TradeVisitorServiceImpl implements TradeVisitorService {
+
+    @Resource
+    private TradeVisitorMapper tradeVisitorMapper;
+    @Override
+    public List<TradeVisitorDO> getShipByOrderIds(List<Long> orderIds) {
+        if(orderIds.isEmpty()) {
+            return Collections.emptyList();
+        }
+        return tradeVisitorMapper.selectShipByOrderIds(orderIds);
+    }
+}

+ 6 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/AppOtcTradeOrderServiceImpl.java

@@ -154,6 +154,8 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
                     visitor.setRoomId(tradeVistorReqVO.getRoomId());
                     visitor.setCohabitation(tradeVistorReqVO.getCohabitation());
                     visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+                    visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+                    visitor.setFloor(tradeVistorReqVO.getFloor());
                     visitorList1.add(visitor);
                     spuMoney = spuMoney.add(tradeSpuReqVO.getPrice());
                 }
@@ -174,6 +176,8 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
                     visitor.setNationality(tradeVistorReqVO.getNationality());
                     visitor.setCohabitation(tradeVistorReqVO.getCohabitation());
                     visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+                    visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+                    visitor.setFloor(tradeVistorReqVO.getFloor());
                     visitorList1.add(visitor);
                 }
                 orderDetail1.setVisitorList(visitorList1);
@@ -257,6 +261,8 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
         visitor.setRoomId(tradeVistorReqVO.getRoomId());
         visitor.setNationality(tradeVistorReqVO.getNationality());
         visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+        visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+        visitor.setFloor(tradeVistorReqVO.getFloor());
         return visitor;
     }
 

+ 28 - 9
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -40,7 +40,9 @@ import com.yc.ship.module.otc.api.store.dto.StoreInfoRespDTO;
 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.priceroommodeltype.PriceRoomModelTypeDO;
 import com.yc.ship.module.product.dal.dataobject.voyage.VoyageDO;
+import com.yc.ship.module.product.service.priceroommodeltype.PriceRoomModelTypeService;
 import com.yc.ship.module.product.service.voyage.VoyageService;
 import com.yc.ship.module.resource.api.route.RouteApi;
 import com.yc.ship.module.resource.api.route.dto.RouteRespDTO;
@@ -214,6 +216,9 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Resource
     private TradeOrderAuditMapper tradeOrderAuditMapper;
 
+    @Resource
+    private PriceRoomModelTypeService priceRoomModelTypeService;
+
 
     public final static String AGENCY_LOGIN_INFO = "agencyLoginInfo";
 
@@ -1958,6 +1963,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                     visitor.setType(tradeVistorReqVO.getType());
                     visitor.setAge(tradeVistorReqVO.getAge());
                     visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+                    visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+                    visitor.setFloor(tradeVistorReqVO.getFloor());
                     visitorList1.add(visitor);
                     spuMoney = spuMoney.add(tradeSpuReqVO.getPrice());
                 }
@@ -1982,6 +1989,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                     visitor.setType(tradeVistorReqVO.getType());
                     visitor.setAge(tradeVistorReqVO.getAge());
                     visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+                    visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+                    visitor.setFloor(tradeVistorReqVO.getFloor());
                     visitorList1.add(visitor);
                 }
                 orderDetail1.setVisitorList(visitorList1);
@@ -2079,6 +2088,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         visitor.setType(tradeVistorReqVO.getType());
         visitor.setAge(tradeVistorReqVO.getAge());
         visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+        visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+        visitor.setFloor(tradeVistorReqVO.getFloor());
         return visitor;
     }
 
@@ -2189,6 +2200,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             visitor.setCohabitation(tradeVistorReqVO.getCohabitation());
             visitor.setType(tradeVistorReqVO.getType());
             visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+            visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+            visitor.setFloor(tradeVistorReqVO.getFloor());
             visitorList.add(visitor);
         }
         orderDetail.setVisitorList(visitorList);
@@ -2233,6 +2246,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                     visitor.setRoomId(tradeVistorReqVO.getRoomId());
                     visitor.setType(tradeVistorReqVO.getType());
                     visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+                    visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+                    visitor.setFloor(tradeVistorReqVO.getFloor());
                     visitorList1.add(visitor);
                 }
                 orderDetail1.setVisitorList(visitorList1);
@@ -2343,6 +2358,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         visitor.setRoomId(tradeVistorReqVO.getRoomId());
         visitor.setType(tradeVistorReqVO.getType());
         visitor.setRoomIndexId(tradeVistorReqVO.getRoomIndexId());
+        visitor.setRoomModelId(tradeVistorReqVO.getRoomModelId());
+        visitor.setFloor(tradeVistorReqVO.getFloor());
         return visitor;
     }
 
@@ -2352,17 +2369,19 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         TradeOrderRespNewVO orderRespNewVO = BeanUtils.toBean(tradeOrderDO, TradeOrderRespNewVO.class);
         //设置房型数据
         List<TradeOrderRoomModelDO> roomModelDoList = tradeOrderRoomModelMapper.selectListByOrderId(id);
-        List<TradeOrderRoomModelBaseVO> roomModelList = BeanUtils.toBean(roomModelDoList, TradeOrderRoomModelBaseVO.class);
-        Map<Long, List<TradeOrderRoomModelBaseVO>> roomModelMap = CollectionUtils.convertMultiMap(roomModelList, TradeOrderRoomModelBaseVO::getCountryId);
-        //设置国籍数据
-        List<TradeOrderCountryDO> countryDoList = tradeOrderCountryMapper.selectListByOrderId(id);
-        List<TradeOrderCountryBaseVO> countryList = BeanUtils.toBean(countryDoList, TradeOrderCountryBaseVO.class);
-        countryList.forEach(item -> {
-            item.setCountryName(AreaUtils.format2Str(item.getCountryId()));
-            item.setRoomModelList(roomModelMap.get(item.getId()));
+        List<TradeOrderRoomModelVO> roomModelList = BeanUtils.toBean(roomModelDoList, TradeOrderRoomModelVO.class);
+
+        List<Long> roomModelTypeIds = convertList(roomModelList, TradeOrderRoomModelVO::getRoomModelTypeId);
+        List<PriceRoomModelTypeDO> roomModelTypeDOS = priceRoomModelTypeService.getByIds(roomModelTypeIds);
+        Map<Long, PriceRoomModelTypeDO> roomModelTypeDOMap = CollectionUtils.convertMap(roomModelTypeDOS, PriceRoomModelTypeDO::getId);
+        roomModelList.stream().forEach(item -> {
+            PriceRoomModelTypeDO roomModelTypeDO = roomModelTypeDOMap.get(item.getRoomModelTypeId());
+            if (roomModelTypeDO != null) {
+                item.setRoomModelTypeName(roomModelTypeDO.getTypeName());
+            }
         });
-        orderRespNewVO.setCountryList(countryList);
 
+        orderRespNewVO.setRoomModelList(roomModelList);
 
         if (tradeOrderDO.getPayStatus() == 0) {
             tradeOrderDO.setPayAmount(BigDecimal.ZERO);

+ 9 - 0
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeVisitorMapper.xml

@@ -159,4 +159,13 @@
         where td.order_id = #{orderId}
         and td.voucher_status !=5
     </select>
+    <select id="selectShipByOrderIds"
+            resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
+        select * from trade_visitor where detail_id in (
+            select id from trade_detail where order_id in
+            <foreach collection="orderIds" item="item" separator=","  open="(" close=")">
+                #{item}
+            </foreach>
+            )
+    </select>
 </mapper>