|
@@ -7,14 +7,22 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.yc.ship.framework.common.pojo.CommonResult;
|
|
import com.yc.ship.framework.common.pojo.CommonResult;
|
|
import com.yc.ship.framework.common.pojo.PageResult;
|
|
import com.yc.ship.framework.common.pojo.PageResult;
|
|
|
|
+import com.yc.ship.framework.common.util.collection.CollectionUtils;
|
|
import com.yc.ship.framework.common.util.object.BeanUtils;
|
|
import com.yc.ship.framework.common.util.object.BeanUtils;
|
|
import com.yc.ship.framework.dict.core.DictFrameworkUtils;
|
|
import com.yc.ship.framework.dict.core.DictFrameworkUtils;
|
|
import com.yc.ship.framework.excel.core.annotations.DictFormat;
|
|
import com.yc.ship.framework.excel.core.annotations.DictFormat;
|
|
import com.yc.ship.framework.excel.core.util.ExcelUtils;
|
|
import com.yc.ship.framework.excel.core.util.ExcelUtils;
|
|
|
|
+import com.yc.ship.framework.ip.core.utils.AreaUtils;
|
|
import com.yc.ship.framework.operatelog.core.annotations.OperateLog;
|
|
import com.yc.ship.framework.operatelog.core.annotations.OperateLog;
|
|
import com.yc.ship.module.otc.api.agency.dto.CooperateRespDTO;
|
|
import com.yc.ship.module.otc.api.agency.dto.CooperateRespDTO;
|
|
import com.yc.ship.module.product.api.dto.CategoryRespDTO;
|
|
import com.yc.ship.module.product.api.dto.CategoryRespDTO;
|
|
import com.yc.ship.module.product.api.dto.ProductSpuRespDTO;
|
|
import com.yc.ship.module.product.api.dto.ProductSpuRespDTO;
|
|
|
|
+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.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.resource.dal.dataobject.ship.ResourceShipDO;
|
|
import com.yc.ship.module.trade.api.contract.dto.group.WindowCreateOrderGroup;
|
|
import com.yc.ship.module.trade.api.contract.dto.group.WindowCreateOrderGroup;
|
|
import com.yc.ship.module.trade.controller.admin.order.vo.order.*;
|
|
import com.yc.ship.module.trade.controller.admin.order.vo.order.*;
|
|
import com.yc.ship.module.trade.controller.admin.order.vo.otc.PrintRespVO;
|
|
import com.yc.ship.module.trade.controller.admin.order.vo.otc.PrintRespVO;
|
|
@@ -26,13 +34,17 @@ import com.yc.ship.module.trade.controller.app.otc.vo.AppTradeSuppTicketOrderVO;
|
|
import com.yc.ship.module.trade.dal.dataobject.contract.ContractDO;
|
|
import com.yc.ship.module.trade.dal.dataobject.contract.ContractDO;
|
|
import com.yc.ship.module.trade.dal.dataobject.insurance.InsuranceDO;
|
|
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.TradeDetailBaseDO;
|
|
|
|
+import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderCountryDO;
|
|
import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
|
|
import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
|
|
|
|
+import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderTotalDO;
|
|
import com.yc.ship.module.trade.framework.annotation.PlatTenantEnv;
|
|
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.RequestDecryption;
|
|
import com.yc.ship.module.trade.framework.annotation.TradeRateLimit;
|
|
import com.yc.ship.module.trade.framework.annotation.TradeRateLimit;
|
|
import com.yc.ship.module.trade.framework.common.ExceptionUtils;
|
|
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.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.TradeOrderService;
|
|
|
|
+import com.yc.ship.module.trade.service.order.TradeOrderTotalService;
|
|
import com.yc.ship.module.trade.service.otc.AppOtcTradeOrderService;
|
|
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.otc.OtcTradeOrderService;
|
|
import com.yc.ship.module.trade.utils.AgencyAuthUtils;
|
|
import com.yc.ship.module.trade.utils.AgencyAuthUtils;
|
|
@@ -80,6 +92,18 @@ public class OtcTradeOrderController {
|
|
@Resource
|
|
@Resource
|
|
private TradeOrderService tradeOrderService;
|
|
private TradeOrderService tradeOrderService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private TradeOrderTotalService tradeOrderTotalService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private TradeOrderCountryService tradeOrderCountryService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private VoyageService voyageService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private ShipApi shipApi;
|
|
|
|
+
|
|
@RequestDecryption
|
|
@RequestDecryption
|
|
@PostMapping("/window/createOrder")
|
|
@PostMapping("/window/createOrder")
|
|
@Operation(summary = "win-窗口创建订单(内部)")
|
|
@Operation(summary = "win-窗口创建订单(内部)")
|
|
@@ -194,9 +218,42 @@ public class OtcTradeOrderController {
|
|
@OperateLog(type = API)
|
|
@OperateLog(type = API)
|
|
@Operation(summary = "win-平台订单列表[分页]", description = "根据条件查询订单列表")
|
|
@Operation(summary = "win-平台订单列表[分页]", description = "根据条件查询订单列表")
|
|
@PlatTenantEnv
|
|
@PlatTenantEnv
|
|
- public CommonResult<PageResult<TradeOrderRespVO>> getTradeOrderPage(@Valid @RequestBody TradeOrderPageReqVO pageReqVO) {
|
|
|
|
|
|
+ public CommonResult<PageResult<TradeOrderRespNewVO>> getTradeOrderPage(@Valid @RequestBody TradeOrderPageReqVO pageReqVO) {
|
|
PageResult<TradeOrderDO> platOrderPage = tradeOrderService.getPlatOrderPage(pageReqVO);
|
|
PageResult<TradeOrderDO> platOrderPage = tradeOrderService.getPlatOrderPage(pageReqVO);
|
|
- PageResult<TradeOrderRespVO> page = BeanUtils.toBean(platOrderPage, TradeOrderRespVO.class);
|
|
|
|
|
|
+ PageResult<TradeOrderRespNewVO> page = BeanUtils.toBean(platOrderPage, TradeOrderRespNewVO.class);
|
|
|
|
+ List<TradeOrderRespNewVO> list = page.getList();
|
|
|
|
+ //处理游轮名称
|
|
|
|
+ List<Long> shipIds = CollectionUtils.convertList(list, TradeOrderRespNewVO::getShipId);
|
|
|
|
+ Map<Long, ShipRespDTO> shipMap = shipApi.queryShip(shipIds);
|
|
|
|
+
|
|
|
|
+ //国籍数据
|
|
|
|
+ List<Long> orderIds = CollectionUtils.convertList(list, TradeOrderRespNewVO::getId);
|
|
|
|
+ List<TradeOrderCountryDO> countryList = tradeOrderCountryService.getListByOrderIds(orderIds);
|
|
|
|
+ List<TradeOrderCountryBaseVO> countRespVOList = BeanUtils.toBean(countryList, TradeOrderCountryBaseVO.class);
|
|
|
|
+ countRespVOList.stream().forEach(item -> {
|
|
|
|
+ item.setCountryName(AreaUtils.format2Str(item.getCountryId()));
|
|
|
|
+ });
|
|
|
|
+ Map<Long, List<TradeOrderCountryBaseVO>> countryMap = CollectionUtils.convertMultiMap(countRespVOList, TradeOrderCountryBaseVO::getOrderId);
|
|
|
|
+
|
|
|
|
+ //订单汇总数据
|
|
|
|
+ List<TradeOrderTotalDO> tradeOrderTotalDOList = tradeOrderTotalService.getByOrderIds(orderIds);
|
|
|
|
+ List<TradeOrderTotalVO> tradeOrderTotalVOS = BeanUtils.toBean(tradeOrderTotalDOList, TradeOrderTotalVO.class);
|
|
|
|
+ Map<Long, TradeOrderTotalVO> orderTotalVOMap = CollectionUtils.convertMap(tradeOrderTotalVOS, TradeOrderTotalVO::getOrderId);
|
|
|
|
+
|
|
|
|
+ //航次信息
|
|
|
|
+ List<Long> voyageIds = CollectionUtils.convertList(list, TradeOrderRespNewVO::getVoyageId);
|
|
|
|
+ List<VoyageDO> voyageList = voyageService.getList(voyageIds);
|
|
|
|
+ List<VoyageRespVO> voyageRespVOS = BeanUtils.toBean(voyageList, VoyageRespVO.class);
|
|
|
|
+ Map<Long, VoyageRespVO> voyageRespVOMap = CollectionUtils.convertMap(voyageRespVOS, VoyageRespVO::getId);
|
|
|
|
+
|
|
|
|
+ list.stream().forEach(item -> {
|
|
|
|
+ item.setShipName(shipMap.get(item.getShipId()).getName());
|
|
|
|
+ item.setCountryList(countryMap.get(item.getId()));
|
|
|
|
+ TradeOrderTotalVO totalVO = orderTotalVOMap.get(item.getId());
|
|
|
|
+ item.setSummary(totalVO);
|
|
|
|
+ item.setPersonStat(totalVO.getAdultTotalNum()+"大"+(totalVO.getChildTotalNum()+totalVO.getBabyTotalNum())+"小");
|
|
|
|
+ item.setVoyage(voyageRespVOMap.get(item.getVoyageId()));
|
|
|
|
+ });
|
|
return success(page);
|
|
return success(page);
|
|
}
|
|
}
|
|
|
|
|