|
|
@@ -0,0 +1,64 @@
|
|
|
+package com.yc.ship.module.product.controller.app.voyage;
|
|
|
+
|
|
|
+import com.yc.ship.framework.common.pojo.CommonResult;
|
|
|
+import com.yc.ship.framework.common.util.collection.CollectionUtils;
|
|
|
+import com.yc.ship.framework.common.util.object.BeanUtils;
|
|
|
+import com.yc.ship.module.product.controller.admin.voyage.vo.VoyageCalendarReqVO;
|
|
|
+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.route.RouteApi;
|
|
|
+import com.yc.ship.module.resource.api.route.dto.RouteRespDTO;
|
|
|
+import com.yc.ship.module.resource.dal.dataobject.ship.ResourceShipDO;
|
|
|
+import com.yc.ship.module.resource.service.ship.ResourceShipService;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
+import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import static com.yc.ship.framework.common.pojo.CommonResult.success;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 航次(航期)APP接口
|
|
|
+ */
|
|
|
+@Tag(name = "航次(航期) APP - 航次管理")
|
|
|
+@RestController
|
|
|
+@RequestMapping("/product/voyage")
|
|
|
+@Validated
|
|
|
+public class AppVoyageController {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private VoyageService voyageService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ResourceShipService shipService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private RouteApi routeApi;
|
|
|
+
|
|
|
+ @GetMapping("/list-calendar")
|
|
|
+ @Operation(summary = "获取航次(航期)日历表")
|
|
|
+ public CommonResult<List<VoyageRespVO>> getVoyageListCalendar(VoyageCalendarReqVO reqVO) {
|
|
|
+ List<VoyageDO> list = voyageService.getListCalendar(reqVO);
|
|
|
+ List<VoyageRespVO> voyageRespVOS = BeanUtils.toBean(list, VoyageRespVO.class);
|
|
|
+
|
|
|
+ List<Long> shipIds = CollectionUtils.convertList(voyageRespVOS, VoyageRespVO::getShipId);
|
|
|
+ List<ResourceShipDO> shipList = shipService.getList(shipIds);
|
|
|
+ Map<Long, ResourceShipDO> shipDOMap = CollectionUtils.convertMap(shipList, ResourceShipDO::getId);
|
|
|
+
|
|
|
+ List<Long> routeIds = CollectionUtils.convertList(voyageRespVOS, VoyageRespVO::getRouteId);
|
|
|
+ Map<Long, RouteRespDTO> longRouteRespDTOMap = routeApi.queryRoute(routeIds);
|
|
|
+ voyageRespVOS.stream().forEach(item -> {
|
|
|
+ item.setRouteName(longRouteRespDTOMap.get(item.getRouteId()).getName());
|
|
|
+ item.setRouteResp(longRouteRespDTOMap.get(item.getRouteId()));
|
|
|
+ item.setShipName(shipDOMap.get(item.getShipId()).getName());
|
|
|
+ });
|
|
|
+ return success(voyageRespVOS);
|
|
|
+ }
|
|
|
+}
|