From 39fc2d6754953e41a7334a2166347baacfcfb40a Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期六, 11 十月 2025 18:21:18 +0800
Subject: [PATCH] 对接口

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java |   74 ++++++++++++++++++++++++++++++-------
 1 files changed, 60 insertions(+), 14 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
index dd1490d..8ba5ef2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
@@ -1,23 +1,32 @@
 package com.doumee.cloud.admin;
 
 import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.service.business.third.model.PageData;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.PlatformBooks;
+import com.doumee.dao.business.model.PlatformReason;
+import com.doumee.dao.web.reqeust.PlatformBooksApplyDTO;
+import com.doumee.dao.web.reqeust.PlatformBooksCheckNumDTO;
 import com.doumee.service.business.PlatformBooksService;
+import com.doumee.service.business.PlatformReasonService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author 姹熻箘韫�
@@ -31,25 +40,28 @@
     @Autowired
     private PlatformBooksService platformBooksService;
 
+    @Autowired
+    private PlatformReasonService platformReasonService;
+
     @PreventRepeat
     @ApiOperation("鏂板缓")
     @PostMapping("/create")
-    @RequiresPermissions("business:platformbooks:create")
+    @CloudRequiredPermission("business:platformbooks:create")
     public ApiResponse create(@RequestBody PlatformBooks platformBooks) {
         return ApiResponse.success(platformBooksService.create(platformBooks));
     }
 
     @ApiOperation("鏍规嵁ID鍒犻櫎")
     @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:platformbooks:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        platformBooksService.deleteById(id);
+    @CloudRequiredPermission("business:platformbooks:delete")
+    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        platformBooksService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
     @ApiOperation("鎵归噺鍒犻櫎")
     @GetMapping("/delete/batch")
-    @RequiresPermissions("business:platformbooks:delete")
+    @CloudRequiredPermission("business:platformbooks:delete")
     public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
         String [] idArray = ids.split(",");
         List<Integer> idList = new ArrayList<>();
@@ -62,7 +74,7 @@
 
     @ApiOperation("鏍规嵁ID淇敼")
     @PostMapping("/updateById")
-    @RequiresPermissions("business:platformbooks:update")
+    @CloudRequiredPermission("business:platformbooks:update")
     public ApiResponse updateById(@RequestBody PlatformBooks platformBooks) {
         platformBooksService.updateById(platformBooks);
         return ApiResponse.success(null);
@@ -70,22 +82,56 @@
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    @RequiresPermissions("business:platformbooks:query")
-    public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap) {
+    @CloudRequiredPermission("business:platformbooks:query")
+    public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         return ApiResponse.success(platformBooksService.findPage(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
-    @RequiresPermissions("business:platformbooks:exportExcel")
+    @CloudRequiredPermission("business:platformbooks:exportExcel")
     public void exportExcel (@RequestBody PageWrap<PlatformBooks> pageWrap, HttpServletResponse response) {
         ExcelExporter.build(PlatformBooks.class).export(platformBooksService.findPage(pageWrap).getRecords(), "鏈堝彴鍏ュ洯棰勭害淇℃伅琛�", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
-    @RequiresPermissions("business:platformbooks:query")
+    @CloudRequiredPermission("business:platformbooks:query")
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(platformBooksService.findById(id));
     }
+
+
+
+    @ApiOperation("鍏ュ洯鍘熷洜")
+    @GetMapping("/platformReasonList")
+    public ApiResponse<List<PlatformReason>> platformReasonList (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        List<PlatformReason> platformReasons = platformReasonService.findList(null);
+        return ApiResponse.success(platformReasons);
+    }
+
+    @ApiOperation("鏌ヨ鍙绾﹂噺")
+    @PostMapping("/checkSurplusNum")
+    public ApiResponse<BigDecimal> checkSurplusNum (@RequestBody PlatformBooksCheckNumDTO platformBooksCheckNumDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(platformBooksService.checkNum(platformBooksCheckNumDTO));
+    }
+
+    @ApiOperation("鐗╂祦杞﹂绾�")
+    @PostMapping("/apply")
+    public ApiResponse<Integer> apply (@RequestBody PlatformBooksApplyDTO platformBooksApplyDTO , @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        LoginUserInfo loginUserInfo = getLoginUser(token);
+        if(Objects.isNull(loginUserInfo.getMemberId())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲唴閮ㄤ汉鍛樻棤娉曡繘琛岃鎿嶄綔");
+        }
+        platformBooksApplyDTO.setUserId(loginUserInfo.getMemberId());
+        platformBooksApplyDTO.setDriverId(loginUserInfo.getMemberId());
+        return ApiResponse.success(platformBooksService.apply(platformBooksApplyDTO));
+    }
+
+    @ApiOperation("鐗╂祦杞﹂绾﹁鎯�")
+    @GetMapping("/getDetail")
+    public ApiResponse<PlatformBooks> getDetail (@RequestParam Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        PlatformBooks platformBooks = platformBooksService.getDetail(id,getLoginUser(token).getMemberId());
+        return ApiResponse.success(platformBooks);
+    }
 }

--
Gitblit v1.9.3