| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |