From 856f526f823f5dad88c28657d82f971ff66afb1e Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 15 九月 2025 13:37:01 +0800
Subject: [PATCH] 优化

---
 server/web/src/main/java/com/doumee/api/web/BusinessApi.java |  198 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 186 insertions(+), 12 deletions(-)

diff --git a/server/web/src/main/java/com/doumee/api/web/BusinessApi.java b/server/web/src/main/java/com/doumee/api/web/BusinessApi.java
index f714118..4406c18 100644
--- a/server/web/src/main/java/com/doumee/api/web/BusinessApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/BusinessApi.java
@@ -1,18 +1,24 @@
 package com.doumee.api.web;
 
+//import com.doumee.api.Repeat.RepeatSubmit;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.annotation.LoginRequired;
+import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.constants.Constants;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.dao.business.model.BaseParam;
-import com.doumee.dao.business.model.MemberRides;
-import com.doumee.dao.business.model.RentSite;
-import com.doumee.dao.business.model.Transactions;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.web.request.BackElecBikeRequest;
+import com.doumee.dao.business.web.request.OpenElecBikeRequest;
 import com.doumee.dao.business.web.request.RepairRequest;
+import com.doumee.dao.business.web.response.HomeResponse;
 import com.doumee.dao.business.web.response.MemberRidesDetailResponse;
+import com.doumee.dao.business.web.response.MemberRidesResponse;
 import com.doumee.dao.business.web.response.RidesDetailResponse;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.jtt808.web.service.Jtt808Service;
 import com.doumee.service.business.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -21,6 +27,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.yzh.commons.model.APIResult;
+import org.yzh.protocol.t808.T0201_0500;
+import org.yzh.protocol.t808.T8500;
 
 import java.util.List;
 
@@ -40,6 +49,8 @@
 
     @Autowired
     private GoodsorderService goodsorderService;
+    @Autowired
+    private Jtt808Service jtt808Service;
 
     @Autowired
     private RentSiteService rentSiteService;
@@ -56,6 +67,19 @@
     @Autowired
     private MemberRidesService memberRidesService;
 
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private DiscountService discountService;
+
+    @Autowired
+    private SitesService  sitesService;
+
+    @Autowired
+    private BikesService bikesService;
+
+    @PreventRepeat
     @LoginRequired
     @ApiOperation(value = "鎶奸噾鏀粯", notes = "灏忕▼搴忕")
     @GetMapping("/createGoodsOrderPay")
@@ -65,6 +89,19 @@
     public ApiResponse<Object> createGoodsOrderPay() {
         return  ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.createGoodsOrderPay(getMemberId()));
     }
+
+    @PreventRepeat
+    @LoginRequired
+    @ApiOperation(value = "濂楅璐拱", notes = "灏忕▼搴忕")
+    @GetMapping("/createDiscountOrderPay")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "discountId", value = "濂楅涓婚敭", required = true)
+    })
+    public ApiResponse<Object> createDiscountOrderPay(@RequestParam String discountId) {
+        return  ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.createDiscountOrderPay(getMemberId(),discountId));
+    }
+
 
 
     @LoginRequired
@@ -77,8 +114,6 @@
     public ApiResponse<RidesDetailResponse> ridesDetail(@RequestParam String goodsOrderId) {
         return  ApiResponse.success("鏌ヨ鎴愬姛",goodsorderService.getRidesDetailResponse(goodsOrderId));
     }
-
-
 
     @LoginRequired
     @ApiOperation(value = "绉熻溅鐐瑰垪琛�", notes = "灏忕▼搴忕")
@@ -93,6 +128,37 @@
         return  ApiResponse.success("鏌ヨ鎴愬姛",rentSiteService.findList(rentSite));
     }
 
+    @LoginRequired
+    @ApiOperation(value = "鐢靛姩杞︾珯鐐瑰垪琛�", notes = "灏忕▼搴忕")
+    @GetMapping("/eleSiteList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<List<Sites>> eleSiteList() {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",sitesService.getSiteList(Constants.ONE));
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "鏌ヨ鎵�鏈夌數鍔ㄨ溅淇℃伅", notes = "灏忕▼搴忕")
+    @GetMapping("/eleBikeList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<List<Bikes>> eleBikeList() {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",bikesService.getEleBikes(getMemberId()));
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "鑾峰彇鐢靛姩杞﹁繍钀ュ尯鍩�", notes = "灏忕▼搴忕")
+    @GetMapping("/getEleBusinessArea")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<String> getEleBusinessArea() {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.PARK_LAT_LNG_LIST).getCode());
+    }
 
     @LoginRequired
     @ApiOperation("娑堣垂鏄庣粏")
@@ -103,6 +169,34 @@
     public ApiResponse<PageData<Transactions>> transactionsPage (@RequestBody PageWrap pageWrap) {
         return ApiResponse.success(transactionsService.findPageForMini(pageWrap,getMemberId()));
     }
+
+
+
+    @LoginRequired
+    @ApiOperation(value = "鐑攢濂楅", notes = "鐑攢濂楅")
+    @PostMapping("/discountPage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<PageData<Discount>> discountPage (@RequestBody PageWrap<Discount> pageWrap) {
+        Discount discount = new Discount();
+        discount.setStatus(Constants.ZERO);
+        discount.setMinShow(Constants.ZERO);
+        pageWrap.setModel(discount);
+        return ApiResponse.success(discountService.findPage(pageWrap));
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "濂楅璇︽儏", notes = "濂楅璇︽儏")
+    @GetMapping("/discountDetail")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "濂楅涓婚敭", required = true)
+    })
+    public ApiResponse<Discount> discountPage (@RequestParam String id) {
+        return ApiResponse.success(discountService.findById(id));
+    }
+
 
     @LoginRequired
     @ApiOperation("鍩虹閰嶇疆鏁版嵁")
@@ -125,7 +219,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
-    public ApiResponse<String> onlineBike() {
+    public ApiResponse<MemberRides> onlineBike() {
         return  ApiResponse.success("鏌ヨ鎴愬姛",memberRidesService.getOnlineBike(getMemberId()));
     }
 
@@ -142,6 +236,20 @@
     }
 
 
+    @PreventRepeat
+    @LoginRequired
+    @ApiOperation(value = "鎵爜鑾峰彇杞﹁締淇℃伅", notes = "灏忕▼搴忕")
+    @GetMapping("/getBikeChargingRule")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "閿佸ご鐮併�佺數杞︾爜", required = true)
+    })
+    public ApiResponse<MemberRidesResponse> getBikeChargingRule(@RequestParam String code) {
+        return  ApiResponse.success("鎿嶄綔鎴愬姛",memberRidesService.getBikeChargingRule(code,getMemberId()));
+    }
+
+
+    @PreventRepeat
     @LoginRequired
     @ApiOperation(value = "鎵爜瑙i攣", notes = "灏忕▼搴忕")
     @GetMapping("/openLock")
@@ -152,7 +260,6 @@
     public ApiResponse<MemberRidesDetailResponse> openLock(@RequestParam String code) {
         return  ApiResponse.success("鎿嶄綔鎴愬姛",memberRidesService.openLock(code,getMemberId()));
     }
-
 
     @LoginRequired
     @ApiOperation(value = "鍒锋柊瑙i攣鎯呭喌", notes = "灏忕▼搴忕")
@@ -165,17 +272,84 @@
         return  ApiResponse.success("鎿嶄綔鎴愬姛",memberRidesService.refreshLock(id));
     }
 
-
     @LoginRequired
+    @PreventRepeat
     @ApiOperation(value = "璁㈠崟缁撶畻", notes = "灏忕▼搴忕")
     @GetMapping("/goodsOrderSettlement")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-            @ApiImplicitParam(paramType = "query", dataType = "String", name = "orderId", value = "璁㈠崟涓婚敭", required = true)
     })
-    public ApiResponse goodsOrderSettlement(@RequestParam String orderId) {
-        goodsorderService.goodsOrderSettlement(orderId);
+    public ApiResponse goodsOrderSettlement() {
+        goodsorderService.goodsOrderSettlement(getMemberId());
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
+    @LoginRequired
+    @ApiOperation(value = "鑾峰彇瀛楀吀鍊间俊鎭�", notes = "灏忕▼搴忕")
+    @GetMapping("/getSysDict")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "dicCode", value = "瀛楀吀缂栫爜", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "label", value = "瀛楀吀鏁板�肩紪鐮�", required = true)
+    })
+    public ApiResponse<SystemDictData> getSysDict(@RequestParam String dicCode, @RequestParam String label) {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",systemDictDataBiz.queryByCode(dicCode,label));
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "鐢佃溅绔欑偣杩樿溅", notes = "鐢佃溅绔欑偣杩樿溅")
+    @PostMapping("/backElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse backElecBike(@RequestBody BackElecBikeRequest param) {
+        param.setMemberId(getMemberId());
+        jtt808Service.backElecBike(param);
+        return  ApiResponse.success( null);
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "鐢佃溅涓存椂鍋滆溅", notes = "鐢佃溅涓存椂鍋滆溅")
+    @PostMapping("/pauseElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse pauseElecBike(@RequestBody BackElecBikeRequest param) {
+        param.setMemberId(getMemberId());
+        jtt808Service.pauseElecBike(param);
+        return  ApiResponse.success( null);
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "鐢佃溅寮�閿�", notes = "鐢佃溅寮�閿�")
+    @PostMapping("/openElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<MemberRidesDetailResponse> openElecBike(@RequestBody OpenElecBikeRequest param) {
+        param.setMemberId(getMemberId());
+        return  ApiResponse.success(jtt808Service.openLock(param));
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "涓村仠寮�閿�", notes = "涓村仠寮�閿�")
+    @PostMapping("/pauseOpenElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse pauseOpenElecBike(@RequestBody BackElecBikeRequest param) {
+        param.setMemberId(getMemberId());
+        jtt808Service.pauseOpenElecBike(param);
+        return  ApiResponse.success( null);
+    }
+
+    @ApiOperation(value = "寮哄埗杩樿溅", notes = "寮哄埗杩樿溅")
+    @PostMapping("/forceBack")
+    public ApiResponse forceBack(@RequestBody Goodsorder goodsorder) {
+        jtt808Service.forceBack(goodsorder.getId());
+        return  ApiResponse.success( null);
+    }
+
+
 }

--
Gitblit v1.9.3