init
This commit is contained in:
3
sl-express-ms-work-api/.gitignore
vendored
Normal file
3
sl-express-ms-work-api/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.idea
|
||||
target/
|
||||
*.iml
|
||||
41
sl-express-ms-work-api/pom.xml
Normal file
41
sl-express-ms-work-api/pom.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.sl-express</groupId>
|
||||
<artifactId>sl-express-parent</artifactId>
|
||||
<version>1.4</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.sl-express.ms.work</groupId>
|
||||
<artifactId>sl-express-ms-work-api</artifactId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<description>工作任务相关微服务-Feign接口</description>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<sl-express-common.version>1.2-SNAPSHOT</sl-express-common.version>
|
||||
<sl-express-work-domain.version>1.1-SNAPSHOT</sl-express-work-domain.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.sl-express.common</groupId>
|
||||
<artifactId>sl-express-common</artifactId>
|
||||
<version>${sl-express-common.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sl-express.ms.work</groupId>
|
||||
<artifactId>sl-express-ms-work-domain</artifactId>
|
||||
<version>${sl-express-work-domain.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.sl.ms.work.api;
|
||||
|
||||
|
||||
import com.sl.ms.work.domain.dto.CourierTaskCountDTO;
|
||||
import com.sl.ms.work.domain.dto.PickupDispatchTaskDTO;
|
||||
import com.sl.ms.work.domain.dto.request.PickupDispatchTaskPageQueryDTO;
|
||||
import com.sl.ms.work.domain.dto.response.PickupDispatchTaskStatisticsDTO;
|
||||
import com.sl.ms.work.domain.enums.pickupDispatchtask.PickupDispatchTaskIsDeleted;
|
||||
import com.sl.ms.work.domain.enums.pickupDispatchtask.PickupDispatchTaskStatus;
|
||||
import com.sl.ms.work.domain.enums.pickupDispatchtask.PickupDispatchTaskType;
|
||||
import com.sl.transport.common.util.PageResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(value = "sl-express-ms-work", contextId = "pickup-dispatch", path = "pickup-dispatch-task")
|
||||
public interface PickupDispatchTaskFeign {
|
||||
|
||||
/**
|
||||
* 更新取派件状态,不允许 NEW 状态
|
||||
*
|
||||
* @param pickupDispatchTaskDTO 修改的数据
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping
|
||||
Boolean updateStatus(@RequestBody PickupDispatchTaskDTO pickupDispatchTaskDTO);
|
||||
|
||||
/**
|
||||
* 改派快递员
|
||||
*
|
||||
* @param ids 任务id列表
|
||||
* @param originalCourierId 原快递员id
|
||||
* @param targetCourierId 目标快递员id
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping("courier")
|
||||
Boolean updateCourierId(@RequestParam("ids") List<Long> ids,
|
||||
@RequestParam("originalCourierId") Long originalCourierId,
|
||||
@RequestParam("targetCourierId") Long targetCourierId);
|
||||
|
||||
/**
|
||||
* 获取取派件任务分页数据
|
||||
*
|
||||
* @param dto 查询条件
|
||||
* @return 取派件分页数据
|
||||
*/
|
||||
@PostMapping("page")
|
||||
PageResponse<PickupDispatchTaskDTO> findByPage(@RequestBody PickupDispatchTaskPageQueryDTO dto);
|
||||
|
||||
/**
|
||||
* 根据id获取取派件任务信息
|
||||
*
|
||||
* @param id 任务id
|
||||
* @return 取派件任务信息
|
||||
*/
|
||||
@GetMapping("{id}")
|
||||
PickupDispatchTaskDTO findById(@PathVariable("id") Long id);
|
||||
|
||||
/**
|
||||
* 根据id批量查询取派件任务信息
|
||||
*
|
||||
* @param ids 任务id列表
|
||||
* @return 任务列表
|
||||
*/
|
||||
@GetMapping("ids")
|
||||
List<PickupDispatchTaskDTO> findByIds(@RequestParam("ids") List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据id批量删除取派件任务信息(逻辑删除)
|
||||
*
|
||||
* @param ids 任务id列表
|
||||
* @return 是否成功
|
||||
*/
|
||||
@DeleteMapping("ids")
|
||||
boolean deleteByIds(@RequestParam("ids") List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据订单id查询取派件任务
|
||||
*
|
||||
* @param orderId 订单id
|
||||
* @param taskType 任务类型
|
||||
* @return 任务
|
||||
*/
|
||||
@GetMapping("/orderId/{orderId}/{taskType}")
|
||||
List<PickupDispatchTaskDTO> findByOrderId(@PathVariable("orderId") Long orderId,
|
||||
@PathVariable("taskType") PickupDispatchTaskType taskType);
|
||||
|
||||
/**
|
||||
* 按照当日快递员id列表查询每个快递员的取派件任务数
|
||||
*
|
||||
* @param courierIds 订单id列表
|
||||
* @param taskType 任务类型
|
||||
* @param date 日期,格式:yyyy-MM-dd 或 yyyyMMdd
|
||||
* @return 任务列表
|
||||
*/
|
||||
@GetMapping("count")
|
||||
List<CourierTaskCountDTO> findCountByCourierIds(@RequestParam("courierIds") List<Long> courierIds,
|
||||
@RequestParam("taskType") PickupDispatchTaskType taskType,
|
||||
@RequestParam("date") String date);
|
||||
|
||||
/**
|
||||
* 今日任务分类计数
|
||||
*
|
||||
* @param courierId 快递员id
|
||||
* @param taskType 任务类型,1为取件任务,2为派件任务
|
||||
* @param status 任务状态,1新任务,2已完成,3已取消
|
||||
* @param isDeleted 是否逻辑删除
|
||||
* @return 任务数量
|
||||
*/
|
||||
@GetMapping("todayTasks/count")
|
||||
Integer todayTasksCount(@RequestParam("courierId") Long courierId,
|
||||
@RequestParam(value = "taskType", required = false) PickupDispatchTaskType taskType,
|
||||
@RequestParam(value = "status", required = false) PickupDispatchTaskStatus status,
|
||||
@RequestParam(value = "isDeleted", required = false) PickupDispatchTaskIsDeleted isDeleted);
|
||||
|
||||
/**
|
||||
* 条件查询所有
|
||||
*
|
||||
* @param courierId 快递员id
|
||||
* @param taskType 任务类型,1为取件任务,2为派件任务
|
||||
* @param taskStatus 任务状态,1新任务,2已完成,3已取消
|
||||
* @param isDeleted 是否逻辑删除
|
||||
* @return 取派件任务列表
|
||||
*/
|
||||
@GetMapping("/all")
|
||||
List<PickupDispatchTaskDTO> findAll(@RequestParam(name = "courierId", required = false) Long courierId,
|
||||
@RequestParam(name = "taskType", required = false) PickupDispatchTaskType taskType,
|
||||
@RequestParam(name = "taskStatus", required = false) PickupDispatchTaskStatus taskStatus,
|
||||
@RequestParam(name = "isDeleted", required = false) PickupDispatchTaskIsDeleted isDeleted);
|
||||
|
||||
/**
|
||||
* 今日任务分类统计
|
||||
*
|
||||
* @param courierId 快递员id
|
||||
* @return 统计结果
|
||||
*/
|
||||
@GetMapping("/todayTasksStatistics")
|
||||
PickupDispatchTaskStatisticsDTO todayTasksStatistics(@RequestParam(value = "courierId", required = false) Long courierId);
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package com.sl.ms.work.api;
|
||||
|
||||
import com.sl.ms.work.domain.dto.TransportOrderDTO;
|
||||
import com.sl.ms.work.domain.dto.request.TransportOrderQueryDTO;
|
||||
import com.sl.ms.work.domain.dto.response.OrderToTransportOrderDTO;
|
||||
import com.sl.ms.work.domain.dto.response.TransportOrderStatusCountDTO;
|
||||
import com.sl.ms.work.domain.enums.transportorder.TransportOrderStatus;
|
||||
import com.sl.transport.common.util.PageResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 运单相关Api
|
||||
*
|
||||
* @author jpfss
|
||||
*/
|
||||
@FeignClient(name = "sl-express-ms-work", contextId = "TransportOrder", path = "transport-order")
|
||||
public interface TransportOrderFeign {
|
||||
|
||||
/**
|
||||
* 新增运单(订单转运单)
|
||||
*
|
||||
* @param orderId 订单id
|
||||
* @return 运单信息
|
||||
*/
|
||||
@PostMapping
|
||||
OrderToTransportOrderDTO orderToTransportOrder(@RequestParam("orderId") Long orderId);
|
||||
|
||||
/**
|
||||
* 更新状态,不允许 CREATED 状态
|
||||
*
|
||||
* @param id 运单id
|
||||
* @param status 订单状态
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping
|
||||
Boolean updateStatus(@RequestParam("id") String id,
|
||||
@RequestParam("status") TransportOrderStatus status);
|
||||
|
||||
/**
|
||||
* 获取运单分页数据
|
||||
* @return 运单分页数据
|
||||
*/
|
||||
@PostMapping("page")
|
||||
PageResponse<TransportOrderDTO> findByPage(@RequestBody TransportOrderQueryDTO transportOrderQueryDTO);
|
||||
|
||||
/**
|
||||
* 根据id获取运单信息
|
||||
*
|
||||
* @param id 运单id
|
||||
* @return 运单信息
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
TransportOrderDTO findById(@PathVariable("id") String id);
|
||||
|
||||
/**
|
||||
* 根据id获取运单信息
|
||||
*
|
||||
* @param id 运单id
|
||||
* @return 运单信息
|
||||
*/
|
||||
@GetMapping("/batch")
|
||||
List<TransportOrderDTO> findByIds(@RequestParam("ids") String[] id);
|
||||
|
||||
/**
|
||||
* 根据订单id获取运单信息
|
||||
*
|
||||
* @param orderId 订单id
|
||||
* @return 运单信息
|
||||
*/
|
||||
@GetMapping("/orderId/{orderId}")
|
||||
TransportOrderDTO findByOrderId(@PathVariable("orderId") Long orderId);
|
||||
|
||||
/**
|
||||
* 根据多个订单id查询运单信息
|
||||
*
|
||||
* @param orderIds 订单id列表
|
||||
* @return 运单列表
|
||||
*/
|
||||
@PostMapping("list")
|
||||
List<TransportOrderDTO> findByOrderIds(@RequestParam(name = "orderIds") Long... orderIds);
|
||||
|
||||
/**
|
||||
* 根据运单号搜索运单
|
||||
*
|
||||
* @param id 运单号
|
||||
* @return 运单列表
|
||||
*/
|
||||
@GetMapping("search")
|
||||
List<TransportOrderDTO> searchById(@RequestParam("id") String id);
|
||||
|
||||
/**
|
||||
* 统计各个状态的数量
|
||||
*
|
||||
* @return 状态数量数据
|
||||
*/
|
||||
@GetMapping("count")
|
||||
List<TransportOrderStatusCountDTO> findStatusCount();
|
||||
|
||||
/**
|
||||
* 根据运输任务id修改运单
|
||||
*
|
||||
* @param taskId 运输任务id
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping("updateByTaskId/{taskId}")
|
||||
boolean updateByTaskId(@PathVariable("taskId") String taskId);
|
||||
|
||||
/**
|
||||
* 批量更新状态
|
||||
*
|
||||
* @param ids 运单id列表
|
||||
* @param status 订单状态
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping("batchUpdate")
|
||||
Boolean updateStatus(@RequestParam("ids") List<String> ids,
|
||||
@RequestParam("status") TransportOrderStatus status);
|
||||
|
||||
/**
|
||||
* 根据运输任务id分页查询运单信息
|
||||
*
|
||||
* @param page 页码
|
||||
* @param pageSize 页面大小
|
||||
* @param taskId 运输任务id
|
||||
* @param transportOrderId 运单id
|
||||
* @return 运单对象分页数据
|
||||
*/
|
||||
@GetMapping("pageQueryByTaskId")
|
||||
PageResponse<TransportOrderDTO> pageQueryByTaskId(@RequestParam(name = "page", defaultValue = "1") Integer page,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
@RequestParam(name = "taskId") String taskId,
|
||||
@RequestParam(name = "transportOrderId", required = false) String transportOrderId);
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
package com.sl.ms.work.api;
|
||||
|
||||
import com.sl.ms.work.domain.dto.TaskTransportUpdateDTO;
|
||||
import com.sl.ms.work.domain.dto.TransportTaskDTO;
|
||||
import com.sl.ms.work.domain.dto.request.TransportTaskCompleteDTO;
|
||||
import com.sl.ms.work.domain.dto.request.TransportTaskDelayDeliveryDTO;
|
||||
import com.sl.ms.work.domain.dto.request.TransportTaskPageQueryDTO;
|
||||
import com.sl.ms.work.domain.dto.request.TransportTaskStartDTO;
|
||||
import com.sl.ms.work.domain.dto.response.TransportTaskMonthlyDistanceDTO;
|
||||
import com.sl.ms.work.domain.dto.response.TransportTaskStatusCountDTO;
|
||||
import com.sl.ms.work.domain.enums.transporttask.TransportTaskStatus;
|
||||
import com.sl.transport.common.util.PageResponse;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(name = "sl-express-ms-work", contextId = "TransportTask", path = "transport-task")
|
||||
public interface TransportTaskFeign {
|
||||
|
||||
/**
|
||||
* 更新状态
|
||||
*
|
||||
* @param id 运输任务id
|
||||
* @param status 任务状态 PROCESSING:开始任务,COMPLETED:完成任务
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping
|
||||
Boolean updateStatus(@RequestParam("id") Long id,
|
||||
@RequestParam("status") TransportTaskStatus status);
|
||||
|
||||
/**
|
||||
* 获取运输任务分页数据
|
||||
*
|
||||
* @param pageQueryDTO 分页查询条件
|
||||
* @return 运输任务分页数据
|
||||
*/
|
||||
@PostMapping("page")
|
||||
PageResponse<TransportTaskDTO> findByPage(@RequestBody TransportTaskPageQueryDTO pageQueryDTO);
|
||||
|
||||
/**
|
||||
* 根据id获取运输任务信息
|
||||
*
|
||||
* @param id 运输任务id
|
||||
* @return 运输任务信息
|
||||
*/
|
||||
@GetMapping("{id}")
|
||||
TransportTaskDTO findById(@PathVariable("id") Long id);
|
||||
|
||||
/**
|
||||
* 根据运单id或运输任务id获取运输任务列表
|
||||
*
|
||||
* @param transportOrderId 运单id
|
||||
* @param taskTransportId 运输任务id
|
||||
* @return 运输任务列表
|
||||
*/
|
||||
@GetMapping("listByOrderIdOrTaskId")
|
||||
List<TransportTaskDTO> findAllByOrderIdOrTaskId(@RequestParam(name = "transportOrderId", required = false) String transportOrderId,
|
||||
@RequestParam(name = "taskTransportId", required = false) Long taskTransportId);
|
||||
|
||||
/**
|
||||
* 统计各个状态的数量
|
||||
*
|
||||
* @return 状态数量数据
|
||||
*/
|
||||
@GetMapping("count")
|
||||
List<TransportTaskStatusCountDTO> count();
|
||||
|
||||
/**
|
||||
* 手动调整
|
||||
*
|
||||
* @param id 运输任务id
|
||||
* @param dto 运输任务
|
||||
* @return 运输任务
|
||||
*/
|
||||
@PutMapping("adjust/{id}")
|
||||
TransportTaskDTO adjust(@PathVariable(name = "id") Long id, @RequestBody TaskTransportUpdateDTO dto);
|
||||
|
||||
/**
|
||||
* 开始运输任务
|
||||
*
|
||||
* @param transportTaskStartDTO 提货对象
|
||||
*/
|
||||
@PutMapping("startTransportTask")
|
||||
void startTransportTask(@RequestBody TransportTaskStartDTO transportTaskStartDTO);
|
||||
|
||||
/**
|
||||
* 完成运输任务
|
||||
*
|
||||
* @param transportTaskCompleteDTO 交付对象
|
||||
*/
|
||||
@PutMapping("completeTransportTask")
|
||||
@ApiOperation(value = "完成运输任务")
|
||||
void completeTransportTask(@RequestBody TransportTaskCompleteDTO transportTaskCompleteDTO);
|
||||
|
||||
/**
|
||||
* 根据运输任务id查询运单id列表
|
||||
*
|
||||
* @param id 运输任务id
|
||||
* @return 运单id列表
|
||||
*/
|
||||
@GetMapping("queryTransportOrderIdListById/{id}")
|
||||
List<String> queryTransportOrderIdListById(@PathVariable("id") Long id);
|
||||
|
||||
/**
|
||||
* 延迟提货,延迟时间以提货时间往后推最多不超过2小时
|
||||
*
|
||||
* @param transportTaskDelayDeliveryDTO 运输任务延时对象
|
||||
*/
|
||||
@PutMapping("delayDelivery")
|
||||
void delayedDelivery(@RequestBody TransportTaskDelayDeliveryDTO transportTaskDelayDeliveryDTO);
|
||||
|
||||
/**
|
||||
* 月度任务里程统计
|
||||
*
|
||||
* @param transportTaskIds 运输任务id列表
|
||||
* @param month 月份,格式:2022-06
|
||||
* @return 每日里程数据
|
||||
*/
|
||||
@GetMapping("monthlyDistanceStatistics")
|
||||
List<TransportTaskMonthlyDistanceDTO> monthlyDistanceStatistics(@RequestParam(name = "transportTaskIds") List<String> transportTaskIds,
|
||||
@RequestParam(name = "month") String month);
|
||||
|
||||
/**
|
||||
* 根据起始机构查询运输任务id列表
|
||||
*
|
||||
* @param startAgencyId 起始机构id
|
||||
* @param endAgencyId 结束机构id
|
||||
* @return 运输任务id列表
|
||||
*/
|
||||
@GetMapping("findByAgencyId")
|
||||
List<Long> findByAgencyId(@RequestParam(name = "startAgencyId", required = false) Long startAgencyId,
|
||||
@RequestParam(name = "endAgencyId", required = false) Long endAgencyId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据车辆ID统计
|
||||
*
|
||||
* @param truckId 车辆ID
|
||||
* @return 个数
|
||||
*/
|
||||
@GetMapping("countByTruckId")
|
||||
Long countByTruckId(@RequestParam(name = "truckId", required = false) Long truckId);
|
||||
}
|
||||
Reference in New Issue
Block a user