diff --git a/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java b/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java index 9f46b0f..ff31584 100644 --- a/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java +++ b/ebike-feign/src/main/java/com/ebike/feign/clients/OperationsFeignClient.java @@ -7,6 +7,7 @@ import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo; import com.ebike.feign.model.dto.FeignEbikeUserLockDto; import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; +import com.ebike.feign.model.vo.FeignInspectionSwapOrderVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; @@ -69,7 +70,7 @@ public interface OperationsFeignClient { * * @return 结果 */ - @GetMapping("/ebikeBikeOrder/inspectionSwapOrder") - JsonResult inspectionSwapOrder(@RequestParam("bikeCode")String bikeCode); + @PostMapping("/ebikeBikeOrder/inspectionSwapOrder") + JsonResult inspectionSwapOrder(@RequestBody FeignInspectionSwapOrderVo inspectionSwapOrderVo); } diff --git a/ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignInspectionSwapOrderVo.java b/ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignInspectionSwapOrderVo.java new file mode 100644 index 0000000..7e76d8d --- /dev/null +++ b/ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignInspectionSwapOrderVo.java @@ -0,0 +1,29 @@ +package com.ebike.feign.model.vo; + +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author attiya + * @since 2025-11-26 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FeignInspectionSwapOrderVo { + + @NotNull(message = "车辆编号不能为空") + private String bikeCode; + + @NotNull(message = "故障部位不能为空") + private List parts; + + @NotNull(message = "故障部位图片不能为空") + private List fileUrls; +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBikeOrderController.java b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBikeOrderController.java index 821af19..663dc00 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBikeOrderController.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBikeOrderController.java @@ -4,6 +4,7 @@ import com.cdzy.common.model.request.PageParam; import com.cdzy.common.model.response.JsonResult; import com.cdzy.operations.enums.BikeOrderHandleState; import com.cdzy.operations.model.dto.EbikeBikeOrderPageDto; +import com.cdzy.operations.model.vo.InspectionSwapOrderVo; import com.cdzy.operations.service.EbikeBikeOrderService; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; @@ -11,9 +12,7 @@ import com.mybatisflex.core.util.StringUtil; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotNull; 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 org.springframework.web.bind.annotation.*; import java.util.Objects; @@ -68,12 +67,12 @@ public class EbikeBikeOrderController { /** * 生成巡检工单。 * - * @param bikeCode 车辆编号 + * @param inspectionSwapOrderVo 巡检信息 * @return 结果 */ - @GetMapping("inspectionSwapOrder") - public JsonResult inspectionSwapOrder(@NotNull(message = "车辆编号不能为空") String bikeCode) { - ebikeBikeOrderService.createInspectionSwapOrder(bikeCode); + @PostMapping("inspectionSwapOrder") + public JsonResult inspectionSwapOrder(@Validated @RequestBody InspectionSwapOrderVo inspectionSwapOrderVo) { + ebikeBikeOrderService.createInspectionSwapOrder(inspectionSwapOrderVo); return JsonResult.success(); } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeOrderPartMapper.java b/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeOrderPartMapper.java new file mode 100644 index 0000000..398ca73 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeOrderPartMapper.java @@ -0,0 +1,14 @@ +package com.cdzy.operations.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cdzy.operations.model.entity.EbikeOrderPart; + +/** + * 工单故障部位表 映射层。 + * + * @author attiya + * @since 2025-11-26 + */ +public interface EbikeOrderPartMapper extends BaseMapper { + +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/model/entity/EbikeOrderPart.java b/ebike-operations/src/main/java/com/cdzy/operations/model/entity/EbikeOrderPart.java new file mode 100644 index 0000000..b905539 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/model/entity/EbikeOrderPart.java @@ -0,0 +1,55 @@ +package com.cdzy.operations.model.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 工单故障部位表 实体类。 + * + * @author attiya + * @since 2025-11-26 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("ebike_order_part") +public class EbikeOrderPart implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @Id + private Long orderPartId; + + /** + * 报告id + */ + private Long orderId; + + /** + * 损坏部件 + */ + private Integer orderPart; + + /** + * 创建时间 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + private Boolean isDeleted; + +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/model/vo/InspectionSwapOrderVo.java b/ebike-operations/src/main/java/com/cdzy/operations/model/vo/InspectionSwapOrderVo.java new file mode 100644 index 0000000..cadfc3d --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/model/vo/InspectionSwapOrderVo.java @@ -0,0 +1,29 @@ +package com.cdzy.operations.model.vo; + +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author attiya + * @since 2025-11-26 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class InspectionSwapOrderVo { + + @NotNull(message = "车辆编号不能为空") + private String bikeCode; + + @NotNull(message = "故障部位不能为空") + private List parts; + + @NotNull(message = "故障部位图片不能为空") + private List fileUrls; +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeBikeOrderService.java b/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeBikeOrderService.java index 68a3619..7c3fd06 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeBikeOrderService.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/EbikeBikeOrderService.java @@ -1,5 +1,6 @@ package com.cdzy.operations.service; +import com.cdzy.operations.model.vo.InspectionSwapOrderVo; import com.mybatisflex.core.service.IService; import com.cdzy.operations.model.entity.EbikeBikeOrder; @@ -20,9 +21,9 @@ public interface EbikeBikeOrderService extends IService { /** * 根据车辆编号(bikeCode)生成车辆巡检工单 - * @param bikeCode 车辆编号 + * @param inspectionSwapOrderVo 巡检信息 */ - void createInspectionSwapOrder(String bikeCode); + void createInspectionSwapOrder(InspectionSwapOrderVo inspectionSwapOrderVo); /** * 根据车辆编号(bikeCode)生成车辆调度工单 diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java index 6ca2d2c..827b336 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeOrderServiceImpl.java @@ -10,6 +10,7 @@ import com.cdzy.operations.model.entity.EbikeBikeInfo; import com.cdzy.operations.model.entity.EbikeBikeOrder; import com.cdzy.operations.model.entity.EbikeRegion; import com.cdzy.operations.model.entity.EbikeSite; +import com.cdzy.operations.model.vo.InspectionSwapOrderVo; import com.cdzy.operations.service.EbikeBikeOrderService; import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator; import com.mybatisflex.core.query.QueryWrapper; @@ -77,8 +78,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl