diff --git a/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java b/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java index 8cb7d9d4..5beb9a86 100644 --- a/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java +++ b/ebike-feign/src/main/java/com/ebike/feign/clients/OperateFeignClient.java @@ -6,19 +6,20 @@ import com.ebike.feign.model.res.ReqUserOperateDto; import com.ebike.feign.model.res.ResFeignEbikeSysRcostsetDto; import com.ebike.feign.model.rsp.FeignEbikeRegionDto; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.concurrent.CompletableFuture; /** * 运营管理 外部调用。 * * @author dingchao * @date 2025/3/27 - * @modified by: */ @FeignClient(name = "ebike-operate") public interface OperateFeignClient { @@ -26,7 +27,7 @@ public interface OperateFeignClient { * 批量保存电池入库记录。 * * @param ebikeBatteryCodes 电池编码 - * @return + * @return 结果数据 */ @PostMapping("ebikeBatteryEnterRecords/batchSave") JsonResult batchSaveBatteryEnterRecords(@RequestBody List ebikeBatteryCodes); @@ -35,7 +36,7 @@ public interface OperateFeignClient { * 批量保存电池出库记录。 * * @param ebikeBatteryCodes 电池编码 - * @return + * @return 结果数据 */ @PostMapping("ebikeBatteryOutRecords/batchSave") JsonResult batchSaveBatteryOutRecords(@RequestBody List ebikeBatteryCodes); @@ -44,7 +45,7 @@ public interface OperateFeignClient { * 获取行政区域。 * * @param parent_id 父级行政区域ID - * @return + * @return 结果数据 */ @GetMapping("ebikeSystemCodeMapInfo/ebikeAdministrationZone") JsonResult getEbikeAdministrationZone(@RequestParam(name = "parent_id", required = false) String parent_id); @@ -53,7 +54,7 @@ public interface OperateFeignClient { * 根据行政区名称获取运营区域ID列表 * * @param zoneName 区域名称 - * @return 详情 + * @return 结果数据 详情 */ @GetMapping("ebikeRegion/getRegionIdsByZone") JsonResult getRegionIdsByZone(@RequestParam(name = "zoneName") String zoneName); @@ -62,7 +63,7 @@ public interface OperateFeignClient { * 保存车辆轨迹。 * * @param ebikeTracking 车辆轨迹 - * @return 返回结果 + * @return 结果数据 返回结果 */ @PostMapping("ebikeTracking/save") JsonResult saveEbikeTracking(@RequestBody EbikeTracking ebikeTracking); @@ -71,7 +72,7 @@ public interface OperateFeignClient { * 获取运营区详情。 * * @param regionId 运营区id - * @return 返回结果 + * @return 结果数据 返回结果 */ @GetMapping("ebikeRegion/getOperationById") JsonResult getOperationById(@RequestParam(name = "regionId") Long regionId); @@ -80,7 +81,7 @@ public interface OperateFeignClient { * 根据区域id获取计费规则。 * * @param operationRegionId 运营区id - * @return 返回结果 + * @return 结果数据 返回结果 */ @GetMapping("ebikesysrcostset/getRegionFeeConfigById") JsonResult getRegionFeeConfigById(@RequestParam(name = "operationRegionId") Long operationRegionId); @@ -88,8 +89,8 @@ public interface OperateFeignClient { /** * 设置用户所属运营区 * - * @param reqUserOperateDto - * @return + * @param reqUserOperateDto 信息 + * @return 结果数据 */ @PostMapping("ebikeRegion/setUserOperate") JsonResult setUserOperate(@RequestBody ReqUserOperateDto reqUserOperateDto); @@ -97,9 +98,29 @@ public interface OperateFeignClient { /** * 删除用户所属运营区 * - * @param staffId - * @return + * @param staffId 员工id + * @return 结果数据 */ @PostMapping("ebikeRegion/delUserOperate") JsonResult delUserOperate(@RequestParam("staffId") Long staffId); + + /** + * 删除用户所属运营区 + * + * @param siteRegionId 站点id + * @return 结果数据 + */ + @Async + @GetMapping("ebikeRegion/addBorrowing") + CompletableFuture addBorrowing(@RequestParam("siteRegionId") Long siteRegionId); + + /** + * 删除用户所属运营区 + * + * @param siteRegionId 站点id + * @return 结果数据 + */ + @Async + @GetMapping("ebikeRegion/addReturn") + CompletableFuture addReturn(@RequestParam("siteRegionId") Long siteRegionId); } diff --git a/ebike-feign/src/main/java/com/ebike/feign/config/ExampleFeignConfiguration.java b/ebike-feign/src/main/java/com/ebike/feign/config/ExampleFeignConfiguration.java new file mode 100644 index 00000000..de1c35fd --- /dev/null +++ b/ebike-feign/src/main/java/com/ebike/feign/config/ExampleFeignConfiguration.java @@ -0,0 +1,22 @@ +package com.ebike.feign.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; + +@Configuration +@EnableAsync +public class ExampleFeignConfiguration { + @Bean + public Executor asyncExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(10); + executor.setMaxPoolSize(50); + executor.setQueueCapacity(100); + executor.initialize(); + return executor; + } +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java index 4b86f498..5851a9b0 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java @@ -237,6 +237,29 @@ public class EbikeRegionController { return JsonResult.success(); } + /** + * 添加站点借车单量。 + * + * @return {@code 200} 添加成功,{@code 500} 添加失败 + */ + @GetMapping("addBorrowing") + public JsonResult addBorrowing(@RequestParam("siteRegionId") Long siteRegionId) { + siteRegionService.addBorrowing(siteRegionId); + return JsonResult.success(); + } + + + /** + * 添加站点还车单量。 + * + * @return {@code 200} 添加成功,{@code 500} 添加失败 + */ + @GetMapping("addReturn") + public JsonResult addReturn(@RequestParam("siteRegionId") Long siteRegionId) { + siteRegionService.addReturn(siteRegionId); + return JsonResult.success(); + } + /** * 获取当前登录用户所有行政区。 */ diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java index 8653800e..0fbc7a58 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java @@ -65,7 +65,19 @@ public interface EbikeSiteRegionService extends IService { /** * 站点附件上传 * @param file 附件 - * @return + * @return 文件id */ Long saveImages(MultipartFile file) throws Exception; + + /** + * 添加站点借车单量 + * @param siteRegionId 站点ID + */ + void addBorrowing(Long siteRegionId); + + /** + * 添加站点还车单量 + * @param siteRegionId 站点ID + */ + void addReturn(Long siteRegionId); } diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java index 9273cd6d..00139b11 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java @@ -122,6 +122,22 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl refundTime; }