From 31a2a1e82c6d1a80b62ef65bcfba46e084e372aa Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 31 一月 2024 09:37:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/company/src/main/java/com/doumee/api/business/TaxesController.java |   61 +++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 7 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/api/business/TaxesController.java b/server/company/src/main/java/com/doumee/api/business/TaxesController.java
index a1a982e..bc5bcdf 100644
--- a/server/company/src/main/java/com/doumee/api/business/TaxesController.java
+++ b/server/company/src/main/java/com/doumee/api/business/TaxesController.java
@@ -3,14 +3,22 @@
 import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.dto.DirectInvoicingDTO;
+import com.doumee.dao.business.dto.EntrustInvoicingDTO;
 import com.doumee.dao.business.model.Taxes;
+import com.doumee.dao.business.vo.TaxesInvoicingVO;
 import com.doumee.service.business.TaxesService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.apache.shiro.SecurityUtils;
+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;
@@ -20,7 +28,7 @@
 
 /**
  * @author 姹熻箘韫�
- * @date 2024/01/15 11:15
+ * @date 2024/01/16 10:03
  */
 @Api(tags = "鍙戠エ淇℃伅琛�")
 @RestController
@@ -71,7 +79,7 @@
     @PostMapping("/page")
     @RequiresPermissions("business:taxes:query")
     public ApiResponse<PageData<Taxes>> findPage (@RequestBody PageWrap<Taxes> pageWrap) {
-        return ApiResponse.success(taxesService.findPage(pageWrap));
+        return ApiResponse.success(taxesService.findPageForCompany(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
@@ -81,10 +89,49 @@
         ExcelExporter.build(Taxes.class).export(taxesService.findPage(pageWrap).getRecords(), "鍙戠エ淇℃伅琛�", response);
     }
 
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
+    @ApiOperation("鑾峰彇浼佷笟淇℃伅")
+    @GetMapping("/getCompanyDetail")
     @RequiresPermissions("business:taxes:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(taxesService.findById(id));
+    public ApiResponse<Taxes> getCompanyDetail() {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!loginUserInfo.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱被鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+        }
+        return ApiResponse.success(taxesService.findById(loginUserInfo.getCompanyId()));
     }
+
+    @ApiOperation("鎻愪氦濮旀墭鎶曟姤寮�绁�")
+    @PostMapping("/entrustInvoicing")
+    public ApiResponse entrustInvoicing(@RequestBody EntrustInvoicingDTO entrustInvoicingDTOs) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!loginUserInfo.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱被鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+        }
+        taxesService.entrustInvoicing(entrustInvoicingDTOs);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎻愪氦鐩存墭鎶曟姤寮�绁�")
+    @PostMapping("/directInvoicing")
+    public ApiResponse directInvoicing(@RequestBody DirectInvoicingDTO directInvoicingDTO) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!loginUserInfo.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱被鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+        }
+        taxesService.directInvoicing(directInvoicingDTO);
+        return ApiResponse.success(null);
+    }
+
+
+    @ApiOperation(value = "鑾峰彇鐩翠繚鏁版嵁淇℃伅",notes = "")
+    @GetMapping("/getDirectTaxes")
+    @RequiresPermissions("business:taxes:query")
+    public ApiResponse<List<TaxesInvoicingVO>> getDirectTaxes(@RequestParam Integer id) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!loginUserInfo.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱被鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+        }
+        return ApiResponse.success(taxesService.getDirectTaxes(id));
+    }
+
 }

--
Gitblit v1.9.3