From a3ac76efa8bb383dd8e2151760762aa14d048892 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期四, 14 三月 2024 09:49:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/shop/src/main/java/com/doumee/api/business/DuSolutionController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/MultifileController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/WorktypeController.java | 116 +
server/shop/src/main/java/com/doumee/api/system/SystemPositionController.java | 106 +
server/shop/src/main/java/com/doumee/api/system/SystemDictController.java | 82
server/shop/src/main/java/com/doumee/api/system/SystemUserController.java | 192 ++
server/shop/src/main/java/com/doumee/api/business/CompanyPermissionController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/SolutionWorktypeController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/MemberInsuranceController.java | 109 +
server/shop/src/main/java/com/doumee/api/business/ApplyChangeController.java | 143 +
server/shop/src/main/java/com/doumee/api/business/ApplyDetailController.java | 96 +
server/shop/src/main/java/com/doumee/api/business/SolutionsBaseController.java | 90 +
server/shop/src/main/java/com/doumee/api/common/CaptchaController.java | 36
server/shop/src/main/java/com/doumee/api/system/SystemRoleController.java | 118 +
server/shop/src/main/java/com/doumee/api/system/SystemController.java | 80
server/shop/src/main/java/com/doumee/api/system/SystemMonitorController.java | 31
server/shop/src/main/java/com/doumee/api/business/NoticesController.java | 92 +
server/shop/src/main/java/com/doumee/api/business/ApplyLogController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/AreasController.java | 90 +
server/shop/src/main/java/com/doumee/ShopApplication.java | 25
server/shop/src/main/java/com/doumee/api/system/SystemDataPermissionController.java | 106 +
server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java | 22
server/shop/src/main/java/com/doumee/api/business/DispatchUnitController.java | 113 +
server/shop/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java | 96 +
server/shop/src/main/java/com/doumee/api/business/SolutionsController.java | 105 +
server/shop/src/main/java/com/doumee/api/system/SystemDepartmentController.java | 109 +
server/shop/src/main/java/com/doumee/api/system/SystemMenuController.java | 102 +
server/shop/src/main/java/com/doumee/api/business/TaxDetialController.java | 90 +
server/shop/src/main/java/com/doumee/api/common/PublicController.java | 346 ++++
server/shop/src/main/java/com/doumee/api/system/SystemTraceLogController.java | 46
server/shop/src/main/java/com/doumee/api/business/SmsEmailController.java | 97 +
server/shop/src/main/java/com/doumee/api/business/CompanyController.java | 151 +
server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java | 45
server/shop/pom.xml | 58
server/shop/src/main/java/com/doumee/api/business/DuLogController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java | 142 +
server/shop/src/main/java/com/doumee/api/business/MemberController.java | 100 +
server/shop/src/main/java/com/doumee/api/system/SystemLoginLogController.java | 47
server/shop/src/main/java/com/doumee/Main.java | 7
server/shop/src/main/java/com/doumee/api/business/DuWorktypeController.java | 90 +
server/shop/src/main/java/com/doumee/api/BaseController.java | 60
server/shop/src/main/java/com/doumee/api/business/SignRecordController.java | 90 +
server/shop/src/main/java/com/doumee/config/swagger/SwaggerConfig.java | 99 +
server/shop/src/main/java/com/doumee/api/system/SystemDictDataController.java | 95 +
server/shop/src/main/java/com/doumee/api/business/InsuranceController.java | 104 +
server/shop/src/main/java/com/doumee/api/business/SettleClaimsController.java | 152 +
server/shop/src/main/java/com/doumee/api/business/UnionApplyController.java | 90 +
server/pom.xml | 3
server/shop/src/main/java/com/doumee/api/business/SettleClaimsLogController.java | 90 +
server/shop/src/main/resources/application.yml | 65
server/shop/src/main/java/com/doumee/api/system/SystemPermissionController.java | 91 +
server/company/src/main/java/com/doumee/api/common/PublicController.java | 1
server/shop/src/main/java/com/doumee/api/business/TaxesController.java | 105 +
server/shop/src/main/java/com/doumee/api/business/UnionChangeController.java | 90 +
server/shop/src/main/java/com/doumee/api/business/CompanySolutionController.java | 102 +
55 files changed, 5,053 insertions(+), 2 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/common/PublicController.java b/server/company/src/main/java/com/doumee/api/common/PublicController.java
index 9954481..d8754cb 100644
--- a/server/company/src/main/java/com/doumee/api/common/PublicController.java
+++ b/server/company/src/main/java/com/doumee/api/common/PublicController.java
@@ -305,7 +305,6 @@
if (true) {
// 鍏抽棴FTP娴�
// 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
-
/*context.put("error", 0);
context.put("url", remoteFileName);
context.put("fullurl", remoteFileName);
diff --git a/server/pom.xml b/server/pom.xml
index aa859e4..19ed8a1 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -14,7 +14,8 @@
<module>service</module>
<module>company</module>
<module>dianziqian</module>
- <module>emaysms</module>
+ <module>emaysms</module>
+ <module>shop</module>
</modules>
<parent>
diff --git a/server/shop/pom.xml b/server/shop/pom.xml
new file mode 100644
index 0000000..ed19a83
--- /dev/null
+++ b/server/shop/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>com.doumee</groupId>
+ <artifactId>yunyibao</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>shop</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>com.doumee</groupId>
+ <artifactId>service</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+ <build>
+ <finalName>shop</finalName>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <configuration>
+ <fork>true</fork>
+ <mainClass>com.doumee.ShopApplication</mainClass>
+ <layout>ZIP</layout>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!--<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.6</version>
+ </plugin>-->
+
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/server/shop/src/main/java/com/doumee/Main.java b/server/shop/src/main/java/com/doumee/Main.java
new file mode 100644
index 0000000..ada0d0d
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/Main.java
@@ -0,0 +1,7 @@
+package com.doumee;
+
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
\ No newline at end of file
diff --git a/server/shop/src/main/java/com/doumee/ShopApplication.java b/server/shop/src/main/java/com/doumee/ShopApplication.java
new file mode 100644
index 0000000..2c731bc
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/ShopApplication.java
@@ -0,0 +1,25 @@
+package com.doumee;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.ApplicationContext;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+/**
+ * 鍚姩绫�
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+@SpringBootApplication
+@MapperScan("com.doumee.dao")
+@EnableAsync
+public class ShopApplication {
+ public static void main(String[] args) {
+ ApplicationContext context = SpringApplication.run(ShopApplication.class);
+ context.getEnvironment();
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/BaseController.java b/server/shop/src/main/java/com/doumee/api/BaseController.java
new file mode 100644
index 0000000..c45000d
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/BaseController.java
@@ -0,0 +1,60 @@
+package com.doumee.api;
+
+import com.doumee.core.model.LoginUserInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Controller鍩虹被
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Slf4j
+public class BaseController {
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+ protected LoginUserInfo getLoginUser () {
+ return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+ }
+
+ /**
+ * 鑾峰彇ID闆嗗悎
+ *
+ * @param ids 浣跨敤","闅斿紑鐨勫涓狪D
+ * @return List<Integer>
+ */
+ protected List<Integer> getIdList (String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ return idList;
+ }
+
+ /**
+ * 鑾峰彇鏂囦欢瀛楄妭娴�
+ *
+ * @param is 杈撳叆娴�
+ * @return ByteArrayOutputStream
+ */
+ protected ByteArrayOutputStream getOutputStream (InputStream is) throws IOException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ byte[] bs = new byte[is.available()];
+ int len;
+ while ((len = is.read(bs)) != -1) {
+ baos.write(bs, 0, len);
+ }
+ return baos;
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java b/server/shop/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
new file mode 100644
index 0000000..51fa560
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
@@ -0,0 +1,96 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
+import com.doumee.dao.business.model.ApplyChagneDetail;
+import com.doumee.service.business.ApplyChagneDetailService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鍔犲噺淇濇崲鍘傜敵璇锋槑缁嗕俊鎭〃")
+@RestController
+@RequestMapping("/business/applyChagneDetail")
+public class ApplyChagneDetailController extends BaseController {
+
+ @Autowired
+ private ApplyChagneDetailService applyChagneDetailService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:applychagnedetail:create")
+ public ApiResponse create(@RequestBody ApplyChagneDetail applyChagneDetail) {
+ return ApiResponse.success(applyChagneDetailService.create(applyChagneDetail));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:applychagnedetail:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ applyChagneDetailService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:applychagnedetail:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ applyChagneDetailService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:applychagnedetail:update")
+ public ApiResponse updateById(@RequestBody ApplyChagneDetail applyChagneDetail) {
+ applyChagneDetailService.updateById(applyChagneDetail);
+ return ApiResponse.success(null);
+ }
+ //
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:applychagnedetail:query")
+ public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
+ return ApiResponse.success(applyChagneDetailService.findPageForCompany(pageWrap));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/list")
+ @RequiresPermissions("business:applychagnedetail:query")
+ public ApiResponse<List<ApplyChagneDetail>> findList (@RequestBody ApplyChagneDetail pageWrap) {
+ return ApiResponse.success(applyChagneDetailService.findList(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:applychagnedetail:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
+
+ }
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:applychagnedetail:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(applyChagneDetailService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/ApplyChangeController.java b/server/shop/src/main/java/com/doumee/api/business/ApplyChangeController.java
new file mode 100644
index 0000000..9bf62a2
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/ApplyChangeController.java
@@ -0,0 +1,143 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.ApplyChange;
+import com.doumee.service.business.ApplyChangeService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃")
+@RestController
+@RequestMapping("/business/applyChange")
+public class ApplyChangeController extends BaseController {
+
+ @Autowired
+ private ApplyChangeService applyChangeService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:applychange:create")
+ public ApiResponse create(@RequestBody ApplyChange applyChange) {
+ return ApiResponse.success(applyChangeService.create(applyChange));
+ }
+ @PreventRepeat
+ @ApiOperation("骞冲彴閫�鍥炴姇淇�")
+ @PostMapping("/back")
+ @RequiresPermissions("business:applychange:back")
+ public ApiResponse back(@RequestBody ApplyChange applyChange) {
+ return ApiResponse.success(applyChangeService.back(applyChange));
+ }
+ @PreventRepeat
+ @ApiOperation("骞冲彴澶勭悊閫�鍥炵敵璇�")
+ @PostMapping("/dealBackApply")
+ @RequiresPermissions("business:applychange:dealBackApply")
+ public ApiResponse dealBackApply(@RequestBody ApplyChange applyChange) {
+ return ApiResponse.success(applyChangeService.dealBackApply(applyChange));
+ }
+ @PreventRepeat
+ @ApiOperation("骞冲彴涓婁紶鎵瑰崟")
+ @PostMapping("/uploadPidan")
+ @RequiresPermissions("business:applychange:uploadPidan")
+ public ApiResponse uploadPidan(@RequestBody ApplyChange applyChange) {
+ return ApiResponse.success(applyChangeService.uploadPidan(applyChange));
+ }
+ @PreventRepeat
+ @ApiOperation("骞冲彴淇敼鎵瑰崟")
+ @PostMapping("/editPidan")
+ @RequiresPermissions("business:applychange:uploadPidan")
+ public ApiResponse editPidan(@RequestBody ApplyChange applyChange) {
+ return ApiResponse.success(applyChangeService.editPidan(applyChange));
+ }
+ @ApiOperation("鑾峰彇鍔犲噺淇濈绔犲湴鍧�")
+ @PostMapping("/getJiajianBaoSignLink")
+ @RequiresPermissions("business:applychange:sign")
+ public ApiResponse<String> getSignLinkJiajiabao (@RequestBody ApplyChange model, HttpServletResponse response) {
+ return ApiResponse.success( applyChangeService.getSignLinkJiajiabao(model));
+ }
+ @ApiOperation("鑾峰彇缂撳瓨鐢宠绛剧珷鍦板潃")
+ @PostMapping("/getChangeUnitSignLink")
+ @RequiresPermissions("business:applychange:sign")
+ public ApiResponse<String> getChangeUnitSignLink (@RequestBody ApplyChange model, HttpServletResponse response) {
+ return ApiResponse.success( applyChangeService.getSignLinkChangeUnit(model));
+ }
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:applychange:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ applyChangeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:applychange:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ applyChangeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:applychange:update")
+ public ApiResponse updateById(@RequestBody ApplyChange applyChange) {
+ applyChangeService.updateById(applyChange);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:applychange:query")
+ public ApiResponse<PageData<ApplyChange>> findPage (@RequestBody PageWrap<ApplyChange> pageWrap) {
+ return ApiResponse.success(applyChangeService.findPageForCompany(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:applychange:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ApplyChange> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(ApplyChange.class).export(applyChangeService.findPageForCompany(pageWrap).getRecords(), "鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃", response);
+ }
+
+ @ApiOperation("瀵煎嚭鍔犲噺淇濊鎯呭崟")
+ @PostMapping("/exportJiajianBaoExcel")
+ @RequiresPermissions("business:applychange:exportExcel")
+ public void exportJiajianBaoExcel (@RequestBody ApplyChange model, HttpServletResponse response) {
+ ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcel(applyChangeService.exportJiajianBaoExcel(model), response);
+ }
+ @ApiOperation("瀵煎嚭鎹㈠巶鐢宠璇︽儏鍗�")
+ @PostMapping("/exportChangeUnitExcel")
+ @RequiresPermissions("business:applychange:exportExcel")
+ public void exportChangeUnitExcel (@RequestBody ApplyChange model, HttpServletResponse response) {
+ ExcelExporter.build(ApplyChange.class).exportChangeUnitExcel(applyChangeService.exportChangeUnitExcel(model), response);
+ }
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:applychange:query")
+ public ApiResponse<ApplyChange> findById(@PathVariable Integer id) {
+ return ApiResponse.success(applyChangeService.findDetail(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/ApplyDetailController.java b/server/shop/src/main/java/com/doumee/api/business/ApplyDetailController.java
new file mode 100644
index 0000000..700d030
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/ApplyDetailController.java
@@ -0,0 +1,96 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
+import com.doumee.dao.business.model.ApplyDetail;
+import com.doumee.service.business.ApplyDetailService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鎶曚繚鐢宠鏄庣粏淇℃伅琛�")
+@RestController
+@RequestMapping("/business/applyDetail")
+public class ApplyDetailController extends BaseController {
+
+ @Autowired
+ private ApplyDetailService applyDetailService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:applydetail:create")
+ public ApiResponse create(@RequestBody ApplyDetail applyDetail) {
+ return ApiResponse.success(applyDetailService.create(applyDetail));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:applydetail:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ applyDetailService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:applydetail:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ applyDetailService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:applydetail:update")
+ public ApiResponse updateById(@RequestBody ApplyDetail applyDetail) {
+ applyDetailService.updateById(applyDetail);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:applydetail:query")
+ public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
+ return ApiResponse.success(applyDetailService.findPageForCompany(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴")
+ @PostMapping("/list")
+ @RequiresPermissions("business:applydetail:query")
+ public ApiResponse<List<ApplyDetail>> findList (@RequestBody ApplyDetail pageWrap) {
+ return ApiResponse.success(applyDetailService.findList(pageWrap));
+ }
+ @ApiOperation("瀵煎嚭鍦ㄤ繚浜哄憳璇﹀崟Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:applydetail:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(ApplyDetail.class).exportWithFirstAndEnd(applyDetailService.findPageForCompany(pageWrap).getRecords(),
+ pageWrap.getModel().getSolutionName(),"鍦ㄤ繚浜哄憳鍚嶅崟",null, response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:applydetail:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(applyDetailService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/ApplyLogController.java b/server/shop/src/main/java/com/doumee/api/business/ApplyLogController.java
new file mode 100644
index 0000000..dfc8d79
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/ApplyLogController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.ApplyLog;
+import com.doumee.service.business.ApplyLogService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鎶曚繚鐢宠鎿嶄綔鍘嗗彶琛�")
+@RestController
+@RequestMapping("/business/applyLog")
+public class ApplyLogController extends BaseController {
+
+ @Autowired
+ private ApplyLogService applyLogService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:applylog:create")
+ public ApiResponse create(@RequestBody ApplyLog applyLog) {
+ return ApiResponse.success(applyLogService.create(applyLog));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:applylog:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ applyLogService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:applylog:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ applyLogService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:applylog:update")
+ public ApiResponse updateById(@RequestBody ApplyLog applyLog) {
+ applyLogService.updateById(applyLog);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:applylog:query")
+ public ApiResponse<PageData<ApplyLog>> findPage (@RequestBody PageWrap<ApplyLog> pageWrap) {
+ return ApiResponse.success(applyLogService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:applylog:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ApplyLog> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(ApplyLog.class).export(applyLogService.findPage(pageWrap).getRecords(), "鎶曚繚鐢宠鎿嶄綔鍘嗗彶琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:applylog:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(applyLogService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/AreasController.java b/server/shop/src/main/java/com/doumee/api/business/AreasController.java
new file mode 100644
index 0000000..4ab4e89
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/AreasController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Areas;
+import com.doumee.service.business.AreasService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鐪佸競鍖轰俊鎭〃")
+@RestController
+@RequestMapping("/business/areas")
+public class AreasController extends BaseController {
+
+ @Autowired
+ private AreasService areasService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:areas:create")
+ public ApiResponse create(@RequestBody Areas areas) {
+ return ApiResponse.success(areasService.create(areas));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:areas:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ areasService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:areas:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ areasService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:areas:update")
+ public ApiResponse updateById(@RequestBody Areas areas) {
+ areasService.updateById(areas);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:areas:query")
+ public ApiResponse<PageData<Areas>> findPage (@RequestBody PageWrap<Areas> pageWrap) {
+ return ApiResponse.success(areasService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:areas:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Areas> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Areas.class).export(areasService.findPage(pageWrap).getRecords(), "鐪佸競鍖轰俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:areas:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(areasService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/CompanyController.java b/server/shop/src/main/java/com/doumee/api/business/CompanyController.java
new file mode 100644
index 0000000..22e5c5c
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/CompanyController.java
@@ -0,0 +1,151 @@
+package com.doumee.api.business;
+
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Company;
+import com.doumee.service.business.CompanyService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "浼佷笟淇℃伅琛�")
+@RestController
+@RequestMapping("/business/company")
+public class CompanyController extends BaseController {
+
+ @Autowired
+ private CompanyService companyService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:company:create")
+ public ApiResponse create(@RequestBody Company company) {
+ companyService.create(company);
+ companyService.startSignAuth(company.getId());
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:company:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ companyService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:company:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ companyService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:company:update")
+ public ApiResponse updateById(@RequestBody Company company) {
+ companyService.updateById(company);
+ companyService.startSignAuth(company.getId());
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID绂佺敤鍚敤")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("business:company:update")
+ public ApiResponse updateStatus(@RequestBody Company company) {
+ companyService.updateStatus(company);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("淇敼淇濋櫓鏂规")
+ @PostMapping("/updateSolutions")
+ @RequiresPermissions("business:company:update")
+ public ApiResponse updateSolutions(@RequestBody Company company) {
+ companyService.updateSolutions(company);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("浼佷笟鏇存崲鎵嬫満鍙�")
+ @PostMapping("/updatePhone")
+ @RequiresPermissions("business:company:update")
+ public ApiResponse updatePhone(@RequestBody Company company) {
+ companyService.updatePhone(company);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鏍规嵁ID鐢靛瓙绛捐璇佷紒涓氫俊鎭�")
+ @PostMapping("/startSignAuth/{id}")
+ @RequiresPermissions("business:company:update")
+ public ApiResponse startSignAuth(@PathVariable Integer id) {
+ companyService.startSignAuth(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:company:query")
+ public ApiResponse<PageData<Company>> findPage (@RequestBody PageWrap<Company> pageWrap) {
+ //鏉冮檺鑼冨洿鍐�
+ return ApiResponse.success(companyService.findPage(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴鏁版嵁(璐﹀彿鍒嗛厤浼佷笟浣跨敤)")
+ @PostMapping("/pageAll")
+ @RequiresPermissions("business:companypermission:create")
+ public ApiResponse<List<Company>> findPageAll (@RequestBody Company pageWrap) {
+ pageWrap.setQueryFlag(Constants.ONE);//鏌ヨ鍏ㄩ儴
+ return ApiResponse.success(companyService.findList(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴鏁版嵁")
+ @PostMapping("/list")
+ @RequiresPermissions("business:company:query")
+ public ApiResponse<List<Company>> findList (@RequestBody Company pageWrap) {
+ pageWrap.setQueryFlag(Constants.ZERO);//鏌ヨ鍏ㄩ儴鏉冮檺鑼冨洿鍐�
+ return ApiResponse.success(companyService.findList(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:company:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Company> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Company.class).export(companyService.findPage(pageWrap).getRecords(), "浼佷笟淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:company:query")
+ public ApiResponse<Company> findById(@PathVariable Integer id) {
+
+ return ApiResponse.success(companyService.findById(id));
+ }
+
+ @ApiOperation("浼佷笟璇佷欢涓嬭浇")
+ @PostMapping("/exportFiles")
+ @RequiresPermissions("business:company:exportExcel")
+ public void exportFiles(@RequestBody Company company,HttpServletResponse response) {
+ if(company.getId() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ companyService.exportFiles(company.getId(),response);
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/CompanyPermissionController.java b/server/shop/src/main/java/com/doumee/api/business/CompanyPermissionController.java
new file mode 100644
index 0000000..5cabd9f
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/CompanyPermissionController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CompanyPermission;
+import com.doumee.service.business.CompanyPermissionService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "绠$悊鍛樼鐞嗕紒涓氭潈闄�")
+@RestController
+@RequestMapping("/business/companyPermission")
+public class CompanyPermissionController extends BaseController {
+
+ @Autowired
+ private CompanyPermissionService companyPermissionService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:companypermission:create")
+ public ApiResponse create(@RequestBody CompanyPermission companyPermission) {
+ return ApiResponse.success(companyPermissionService.create(companyPermission));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:companypermission:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ companyPermissionService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:companypermission:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ companyPermissionService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:companypermission:update")
+ public ApiResponse updateById(@RequestBody CompanyPermission companyPermission) {
+ companyPermissionService.updateById(companyPermission);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:companypermission:query")
+ public ApiResponse<PageData<CompanyPermission>> findPage (@RequestBody PageWrap<CompanyPermission> pageWrap) {
+ return ApiResponse.success(companyPermissionService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:companypermission:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CompanyPermission> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CompanyPermission.class).export(companyPermissionService.findPage(pageWrap).getRecords(), "绠$悊鍛樼鐞嗕紒涓氭潈闄�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:companypermission:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(companyPermissionService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/CompanySolutionController.java b/server/shop/src/main/java/com/doumee/api/business/CompanySolutionController.java
new file mode 100644
index 0000000..d65c852
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/CompanySolutionController.java
@@ -0,0 +1,102 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.CompanySolution;
+import com.doumee.service.business.CompanySolutionService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "浼佷笟鍙敤淇濋櫓鏂规鍏宠仈琛�")
+@RestController
+@RequestMapping("/business/companySolution")
+public class CompanySolutionController extends BaseController {
+
+ @Autowired
+ private CompanySolutionService companySolutionService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:companysolution:create")
+ public ApiResponse create(@RequestBody CompanySolution companySolution) {
+ return ApiResponse.success(companySolutionService.create(companySolution));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:companysolution:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ companySolutionService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:companysolution:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ companySolutionService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:companysolution:update")
+ public ApiResponse updateById(@RequestBody CompanySolution companySolution) {
+ companySolutionService.updateById(companySolution);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:companysolution:query")
+ public ApiResponse<PageData<CompanySolution>> findPage (@RequestBody PageWrap<CompanySolution> pageWrap) {
+ return ApiResponse.success(companySolutionService.findPage(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴")
+ @PostMapping("/list")
+ @RequiresPermissions("business:companysolution:query")
+ public ApiResponse<List<CompanySolution>> findPage (@RequestBody CompanySolution pageWrap) {
+ return ApiResponse.success(companySolutionService.findList(pageWrap));
+ }
+ @ApiOperation("鏌ヨ浼佷笟鍏ㄩ儴鍏宠仈鏂规")
+ @PostMapping("/listForCompany")
+ @RequiresPermissions("business:companysolution:query")
+ public ApiResponse<List<CompanySolution>> findListForCompany (@RequestBody CompanySolution pageWrap) {
+ return ApiResponse.success(companySolutionService.findListForCompany(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:companysolution:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<CompanySolution> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(CompanySolution.class).export(companySolutionService.findPage(pageWrap).getRecords(), "浼佷笟鍙敤淇濋櫓鏂规鍏宠仈琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:companysolution:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(companySolutionService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/DispatchUnitController.java b/server/shop/src/main/java/com/doumee/api/business/DispatchUnitController.java
new file mode 100644
index 0000000..75d2484
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/DispatchUnitController.java
@@ -0,0 +1,113 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.DispatchUnitQueryDTO;
+import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
+import com.doumee.dao.business.model.DispatchUnit;
+import com.doumee.service.business.DispatchUnitService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "娲鹃仯鍗曚綅淇℃伅琛�")
+@RestController
+@RequestMapping("/business/dispatchUnit")
+public class DispatchUnitController extends BaseController {
+
+ @Autowired
+ private DispatchUnitService dispatchUnitService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:dispatchunit:create")
+ public ApiResponse create(@RequestBody SaveDispatchUnitDTO saveDispatchUnitDTO) {
+ return ApiResponse.success(dispatchUnitService.create(saveDispatchUnitDTO));
+ }
+ @ApiOperation("娲鹃仯鍗曚綅瀹℃牳")
+ @PostMapping("/check")
+ @RequiresPermissions("business:dispatchunit:check")
+ public ApiResponse check(@RequestBody DispatchUnit param) {
+ return ApiResponse.success(dispatchUnitService.check(param));
+ }
+ @ApiOperation("娲鹃仯鍗曚綅宸ョ瀹℃牳")
+ @PostMapping("/checkWorktype")
+ @RequiresPermissions("business:dispatchunit:checkWorktype")
+ public ApiResponse checkWorktype(@RequestBody DispatchUnit param) {
+ return ApiResponse.success(dispatchUnitService.checkWorktype(param));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:dispatchunit:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ dispatchUnitService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:dispatchunit:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ dispatchUnitService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("鏁版嵁鍒楄〃")
+ @PostMapping("/findListByDTO")
+ @RequiresPermissions("business:dispatchunit:query")
+ public ApiResponse<List<DispatchUnit>> findListByDTO (@RequestBody DispatchUnitQueryDTO dispatchUnitQueryDTO) {
+ return ApiResponse.success(dispatchUnitService.findByDTO(dispatchUnitQueryDTO));
+ }
+
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:dispatchunit:update")
+ public ApiResponse updateById(@RequestBody DispatchUnit dispatchUnit) {
+ dispatchUnitService.updateById(dispatchUnit);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:dispatchunit:query")
+ public ApiResponse<PageData<DispatchUnit>> findPage (@RequestBody PageWrap<DispatchUnit> pageWrap) {
+ return ApiResponse.success(dispatchUnitService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:dispatchunit:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DispatchUnit> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DispatchUnit.class).export(dispatchUnitService.findPage(pageWrap).getRecords(), "娲鹃仯鍗曚綅淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:dispatchunit:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(dispatchUnitService.detailById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/DuLogController.java b/server/shop/src/main/java/com/doumee/api/business/DuLogController.java
new file mode 100644
index 0000000..61fd2ee
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/DuLogController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.DuLog;
+import com.doumee.service.business.DuLogService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "娲鹃仯鍗曚綅鎿嶄綔鍘嗗彶琛�")
+@RestController
+@RequestMapping("/business/duLog")
+public class DuLogController extends BaseController {
+
+ @Autowired
+ private DuLogService duLogService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:dulog:create")
+ public ApiResponse create(@RequestBody DuLog duLog) {
+ return ApiResponse.success(duLogService.create(duLog));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:dulog:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ duLogService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:dulog:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ duLogService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:dulog:update")
+ public ApiResponse updateById(@RequestBody DuLog duLog) {
+ duLogService.updateById(duLog);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:dulog:query")
+ public ApiResponse<PageData<DuLog>> findPage (@RequestBody PageWrap<DuLog> pageWrap) {
+ return ApiResponse.success(duLogService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:dulog:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DuLog> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DuLog.class).export(duLogService.findPage(pageWrap).getRecords(), "娲鹃仯鍗曚綅鎿嶄綔鍘嗗彶琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:dulog:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(duLogService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/DuSolutionController.java b/server/shop/src/main/java/com/doumee/api/business/DuSolutionController.java
new file mode 100644
index 0000000..72e9ce5
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/DuSolutionController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.DuSolution;
+import com.doumee.service.business.DuSolutionService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "娲鹃仯鍗曚綅鏂规绠″叧鑱斾俊鎭〃")
+@RestController
+@RequestMapping("/business/duSolution")
+public class DuSolutionController extends BaseController {
+
+ @Autowired
+ private DuSolutionService duSolutionService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:dusolution:create")
+ public ApiResponse create(@RequestBody DuSolution duSolution) {
+ return ApiResponse.success(duSolutionService.create(duSolution));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:dusolution:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ duSolutionService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:dusolution:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ duSolutionService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:dusolution:update")
+ public ApiResponse updateById(@RequestBody DuSolution duSolution) {
+ duSolutionService.updateById(duSolution);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:dusolution:query")
+ public ApiResponse<PageData<DuSolution>> findPage (@RequestBody PageWrap<DuSolution> pageWrap) {
+ return ApiResponse.success(duSolutionService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:dusolution:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DuSolution> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DuSolution.class).export(duSolutionService.findPage(pageWrap).getRecords(), "娲鹃仯鍗曚綅鏂规绠″叧鑱斾俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:dusolution:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(duSolutionService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/DuWorktypeController.java b/server/shop/src/main/java/com/doumee/api/business/DuWorktypeController.java
new file mode 100644
index 0000000..4f3012f
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/DuWorktypeController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.DuWorktype;
+import com.doumee.service.business.DuWorktypeService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "娲鹃仯鍗曚綅鏂规绠″伐绉嶅叧鑱斾俊鎭〃")
+@RestController
+@RequestMapping("/business/duWorktype")
+public class DuWorktypeController extends BaseController {
+
+ @Autowired
+ private DuWorktypeService duWorktypeService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:duworktype:create")
+ public ApiResponse create(@RequestBody DuWorktype duWorktype) {
+ return ApiResponse.success(duWorktypeService.create(duWorktype));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:duworktype:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ duWorktypeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:duworktype:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ duWorktypeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:duworktype:update")
+ public ApiResponse updateById(@RequestBody DuWorktype duWorktype) {
+ duWorktypeService.updateById(duWorktype);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:duworktype:query")
+ public ApiResponse<PageData<DuWorktype>> findPage (@RequestBody PageWrap<DuWorktype> pageWrap) {
+ return ApiResponse.success(duWorktypeService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:duworktype:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DuWorktype> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DuWorktype.class).export(duWorktypeService.findPage(pageWrap).getRecords(), "娲鹃仯鍗曚綅鏂规绠″伐绉嶅叧鑱斾俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:duworktype:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(duWorktypeService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
new file mode 100644
index 0000000..d07fa18
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -0,0 +1,142 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
+import com.doumee.dao.business.model.InsuranceApply;
+import com.doumee.service.business.InsuranceApplyService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鎶曚繚鐢宠淇℃伅琛�")
+@RestController
+@RequestMapping("/business/insuranceApply")
+public class InsuranceApplyController extends BaseController {
+
+ @Autowired
+ private InsuranceApplyService insuranceApplyService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:insuranceapply:create")
+ public ApiResponse create(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.create(insuranceApply));
+ }
+ @ApiOperation("骞冲彴鎶曚繚瀹℃牳")
+ @PostMapping("/check")
+ @RequiresPermissions("business:insuranceapply:check")
+ public ApiResponse check(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.check(insuranceApply));
+ }
+ @ApiOperation("骞冲彴閫�鍥炴姇淇�")
+ @PostMapping("/back")
+ @RequiresPermissions("business:insuranceapply:back")
+ public ApiResponse back(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.back(insuranceApply));
+ }
+ @ApiOperation("骞冲彴涓婁紶鎶曚繚鍗�")
+ @PostMapping("/uploadToubaodan")
+ @RequiresPermissions("business:insuranceapply:uploadToubaodan")
+ public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.uploadToubaodan(insuranceApply));
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/getSignLink/{id}")
+ @RequiresPermissions("business:insuranceapply:query")
+ public ApiResponse<String> getSignLink(@PathVariable Integer id) {
+ return ApiResponse.success(insuranceApplyService.getSignLink(id));
+ }
+
+
+ @ApiOperation("骞冲彴涓婁紶淇濋櫓鍗�")
+ @PostMapping("/uploadBaoxiandan")
+ @RequiresPermissions("business:insuranceapply:uploadBaoxiandan")
+ public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply));
+ }
+ @ApiOperation("骞冲彴澶勭悊閫�鍗曠敵璇�")
+ @PostMapping("/dealBackApply")
+ @RequiresPermissions("business:insuranceapply:dealBackApply")
+ public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply));
+ }
+ @ApiOperation("骞冲彴淇敼淇濋櫓鍗�")
+ @PostMapping("/editBaoxiandan")
+ @RequiresPermissions("business:insuranceapply:editBaoxiandan")
+ public ApiResponse editBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
+ return ApiResponse.success(insuranceApplyService.editBaoxiandan(insuranceApply));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:insuranceapply:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ insuranceApplyService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:insuranceapply:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ insuranceApplyService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:insuranceapply:update")
+ public ApiResponse updateById(@RequestBody InsuranceApply insuranceApply) {
+ insuranceApplyService.updateById(insuranceApply);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:insuranceapply:query")
+ public ApiResponse<PageData<InsuranceApply>> findPage (@RequestBody PageWrap<InsuranceApplyQueryDTO> pageWrap) {
+ return ApiResponse.success(insuranceApplyService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:insuranceapply:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<InsuranceApplyQueryDTO> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(InsuranceApply.class).export(insuranceApplyService.findPage(pageWrap).getRecords(), "鎶曚繚鐢宠淇℃伅琛�", response);
+ }
+ @ApiOperation("瀵煎嚭鎶曚繚璇︽儏鍗�")
+ @PostMapping("/exportDetailExcel")
+ @RequiresPermissions("business:insuranceapply:exportExcel")
+ public void exportDetailExcel (@RequestBody InsuranceApply model, HttpServletResponse response) {
+ ExcelExporter.build(InsuranceApply.class).exportApplyDetail(insuranceApplyService.findDetailForExport(model), response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:insuranceapply:query")
+ public ApiResponse<InsuranceApply> findById(@PathVariable Integer id) {
+ return ApiResponse.success(insuranceApplyService.findDetail(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/InsuranceController.java b/server/shop/src/main/java/com/doumee/api/business/InsuranceController.java
new file mode 100644
index 0000000..4444b71
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/InsuranceController.java
@@ -0,0 +1,104 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Insurance;
+import com.doumee.service.business.InsuranceService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "淇濋櫓鍏徃淇℃伅琛�")
+@RestController
+@RequestMapping("/business/insurance")
+public class InsuranceController extends BaseController {
+
+ @Autowired
+ private InsuranceService insuranceService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:insurance:create")
+ public ApiResponse create(@RequestBody Insurance insurance) {
+ return ApiResponse.success(insuranceService.create(insurance));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:insurance:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ insuranceService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:insurance:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ insuranceService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:insurance:update")
+ public ApiResponse updateById(@RequestBody Insurance insurance) {
+ insuranceService.updateById(insurance);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("绂佺敤鍚敤")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("business:insurance:update")
+ public ApiResponse updateStatus(@RequestBody Insurance solutions) {
+ insuranceService.updateStatus(solutions);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:insurance:query")
+ public ApiResponse<PageData<Insurance>> findPage (@RequestBody PageWrap<Insurance> pageWrap) {
+ return ApiResponse.success(insuranceService.findPage(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴")
+ @PostMapping("/list")
+ @RequiresPermissions("business:insurance:query")
+ public ApiResponse<List<Insurance>> findList (@RequestBody Insurance pageWrap) {
+ return ApiResponse.success(insuranceService.findList(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:insurance:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Insurance> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Insurance.class).export(insuranceService.findPage(pageWrap).getRecords(), "淇濋櫓鍏徃淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:insurance:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(insuranceService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/MemberController.java b/server/shop/src/main/java/com/doumee/api/business/MemberController.java
new file mode 100644
index 0000000..9f9f3e4
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/MemberController.java
@@ -0,0 +1,100 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.MemberQueryDTO;
+import com.doumee.dao.business.model.Member;
+import com.doumee.service.business.MemberService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鐢ㄥ伐淇℃伅琛�")
+@RestController
+@RequestMapping("/business/member")
+public class MemberController extends BaseController {
+
+ @Autowired
+ private MemberService memberService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:member:create")
+ public ApiResponse create(@RequestBody Member member) {
+ return ApiResponse.success(memberService.create(member));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:member:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ memberService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:member:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ memberService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:member:update")
+ public ApiResponse updateById(@RequestBody Member member) {
+ memberService.updateById(member);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:member:query")
+ public ApiResponse<PageData<Member>> findPage (@RequestBody PageWrap<MemberQueryDTO> pageWrap) {
+// LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+// pageWrap.getModel().setCompanyId(user.getCompanyId());
+ return ApiResponse.success(memberService.findPageForCompany(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:member:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<MemberQueryDTO> pageWrap, HttpServletResponse response) {
+ /* LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ pageWrap.getModel().setCompanyId(user.getCompanyId());
+ List<Member> list = memberService.findPageForCompany(pageWrap).getRecords();
+ for (int i = 0; i < list.size(); i++) {
+ Member member = list.get(i);
+ member.setSn(i+1);
+ member.setAge(Constants.getAgeByIdCard(member.getIdcardNo()));
+ }*/
+ ExcelExporter.build(Member.class).exportWithFirstAndEnd( memberService.findPageForCompany(pageWrap).getRecords(), "鍛樺伐鍒楄〃璇﹀崟","鍛樺伐鍒楄〃璇﹀崟",null, response);
+ }
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:member:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(memberService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/MemberInsuranceController.java b/server/shop/src/main/java/com/doumee/api/business/MemberInsuranceController.java
new file mode 100644
index 0000000..b47cf33
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/MemberInsuranceController.java
@@ -0,0 +1,109 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.MemberInsurance;
+import com.doumee.service.business.MemberInsuranceService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+@Api(tags = "鍛樺伐鎶曚繚鏄庣粏璁板綍")
+@RestController
+@RequestMapping("/business/memberInsurance")
+public class MemberInsuranceController extends BaseController {
+
+ @Autowired
+ private MemberInsuranceService memberInsuranceService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:memberinsurance:create")
+ public ApiResponse create(@RequestBody MemberInsurance memberInsurance) {
+ return ApiResponse.success(memberInsuranceService.create(memberInsurance));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:memberinsurance:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ memberInsuranceService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:memberinsurance:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ memberInsuranceService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:memberinsurance:update")
+ public ApiResponse updateById(@RequestBody MemberInsurance memberInsurance) {
+ memberInsuranceService.updateById(memberInsurance);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/findList")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse<List<MemberInsurance>> findList (@RequestBody MemberInsurance memberInsurance) {
+ return ApiResponse.success(memberInsuranceService.findList(memberInsurance));
+ }
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse<PageData<MemberInsurance>> findPage (@RequestBody PageWrap<MemberInsurance> pageWrap) {
+ return ApiResponse.success(memberInsuranceService.findPage(pageWrap));
+ }
+
+// @ApiOperation("瀵煎嚭Excel")
+// @PostMapping("/exportExcel")
+// @RequiresPermissions("business:memberinsurance:exportExcel")
+// public void exportExcel (@RequestBody PageWrap<MemberInsurance> pageWrap, HttpServletResponse response) {
+// ExcelExporter.build(MemberInsurance.class).export(memberInsuranceService.findPage(pageWrap).getRecords(), "鍛樺伐鎶曚繚鏄庣粏璁板綍", response);
+// }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:memberinsurance:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<MemberInsurance> pageWrap, HttpServletResponse response) {
+ List<MemberInsurance> list = memberInsuranceService.findPage(pageWrap).getRecords();
+ for (int i = 0; i < list.size(); i++) {
+ MemberInsurance memberInsurance = list.get(i);
+ memberInsurance.setSn(i+1);
+ }
+ ExcelExporter.build(MemberInsurance.class).exportWithFirstAndEnd(list,
+ "浜哄憳鎶曚繚璇﹀崟_濮撳悕锛�"+pageWrap.getModel().getMemberName() +"_韬唤璇佸彿锛�"+pageWrap.getModel().getIdcardNo(),
+ "浜哄憳鎶曚繚璇﹀崟_濮撳悕锛�"+pageWrap.getModel().getMemberName() +"_韬唤璇佸彿锛�"+pageWrap.getModel().getIdcardNo(),null, response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(memberInsuranceService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/MultifileController.java b/server/shop/src/main/java/com/doumee/api/business/MultifileController.java
new file mode 100644
index 0000000..ce608d2
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/MultifileController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Multifile;
+import com.doumee.service.business.MultifileService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "闄勪欢涓婁紶淇℃伅琛�")
+@RestController
+@RequestMapping("/business/multifile")
+public class MultifileController extends BaseController {
+
+ @Autowired
+ private MultifileService multifileService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:multifile:create")
+ public ApiResponse create(@RequestBody Multifile multifile) {
+ return ApiResponse.success(multifileService.create(multifile));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:multifile:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ multifileService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:multifile:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ multifileService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:multifile:update")
+ public ApiResponse updateById(@RequestBody Multifile multifile) {
+ multifileService.updateById(multifile);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:multifile:query")
+ public ApiResponse<PageData<Multifile>> findPage (@RequestBody PageWrap<Multifile> pageWrap) {
+ return ApiResponse.success(multifileService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:multifile:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Multifile> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Multifile.class).export(multifileService.findPage(pageWrap).getRecords(), "闄勪欢涓婁紶淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:multifile:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(multifileService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/NoticesController.java b/server/shop/src/main/java/com/doumee/api/business/NoticesController.java
new file mode 100644
index 0000000..97d7836
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/NoticesController.java
@@ -0,0 +1,92 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Notices;
+import com.doumee.service.business.NoticesService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "绯荤粺娑堟伅淇℃伅琛�")
+@RestController
+@RequestMapping("/business/notices")
+public class NoticesController extends BaseController {
+
+ @Autowired
+ private NoticesService noticesService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:notices:create")
+ public ApiResponse create(@RequestBody Notices notices) {
+ return ApiResponse.success(noticesService.create(notices));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:notices:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ noticesService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:notices:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ noticesService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:notices:update")
+ public ApiResponse updateById(@RequestBody Notices notices) {
+ noticesService.updateById(notices);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:notices:query")
+ public ApiResponse<PageData<Notices>> findPage (@RequestBody PageWrap<Notices> pageWrap) {
+ pageWrap.getModel().setPalt(Constants.ZERO);
+ return ApiResponse.success(noticesService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:notices:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Notices> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Notices.class).export(noticesService.findPage(pageWrap).getRecords(), "绯荤粺娑堟伅淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:notices:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(noticesService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SettleClaimsController.java b/server/shop/src/main/java/com/doumee/api/business/SettleClaimsController.java
new file mode 100644
index 0000000..38abf43
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SettleClaimsController.java
@@ -0,0 +1,152 @@
+package com.doumee.api.business;
+
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.SCSupplementDTO;
+import com.doumee.dao.business.model.SettleClaims;
+import com.doumee.service.business.SettleClaimsService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鐞嗚禂鐢宠琛�")
+@RestController
+@RequestMapping("/business/settleClaims")
+public class SettleClaimsController extends BaseController {
+
+ @Autowired
+ private SettleClaimsService settleClaimsService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:settleclaims:create")
+ public ApiResponse create(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.create(settleClaims));
+ }
+ @ApiOperation("娣诲姞鎶ユ鍙�")
+ @PostMapping("/addCode")
+ @RequiresPermissions("business:settleclaims:addCode")
+ public ApiResponse addCode(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.addCode(settleClaims));
+ }
+ @ApiOperation("鐞嗚禂澶勭悊")
+ @PostMapping("/dealBiz")
+ @RequiresPermissions("business:settleclaims:dealBiz")
+ public ApiResponse dealBiz(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.dealBiz(settleClaims));
+ }
+ @ApiOperation("缁撴鎻愪氦")
+ @PostMapping("/doneCommit")
+ @RequiresPermissions("business:settleclaims:doneCommit")
+ public ApiResponse doneCommit(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.doneCommit(settleClaims));
+ }
+ @ApiOperation("鎾ら攢鐢宠")
+ @PostMapping("/back")
+ @RequiresPermissions("business:settleclaims:back")
+ public ApiResponse back(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.back(settleClaims));
+ }
+ @ApiOperation("闄勪欢涓婁紶")
+ @PostMapping("/claimsUploadFile")
+ @RequiresPermissions("business:settleclaims:update")
+ public ApiResponse claimsUploadFile(@RequestBody SCSupplementDTO scSupplementDTO) {
+ settleClaimsService.claimsUploadFile(scSupplementDTO);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("澶囨敞鏍囩")
+ @PostMapping("/remark")
+ @RequiresPermissions("business:settleclaims:remark")
+ public ApiResponse remark(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.remark(settleClaims));
+ }
+ @ApiOperation("璧勬枡纭")
+ @PostMapping("/confirm")
+ @RequiresPermissions("business:settleclaims:confirm")
+ public ApiResponse confirm(@RequestBody SettleClaims settleClaims) {
+ return ApiResponse.success(settleClaimsService.confirm(settleClaims));
+ }
+ @ApiOperation("璧勬枡涓嬭浇")
+ @PostMapping("/exportFiles")
+ @RequiresPermissions("business:settleclaims:exportExcel")
+ public void exportFiles(@RequestBody SettleClaims model,HttpServletResponse response) {
+ if(model.getId() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ settleClaimsService.exportFiles(model.getId(),response);
+ }
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:settleclaims:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ settleClaimsService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:settleclaims:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ settleClaimsService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:settleclaims:update")
+ public ApiResponse updateById(@RequestBody SettleClaims settleClaims) {
+ settleClaimsService.updateById(settleClaims);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:settleclaims:query")
+ public ApiResponse<PageData<SettleClaims>> findPage (@RequestBody PageWrap<SettleClaims> pageWrap) {
+ return ApiResponse.success(settleClaimsService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:settleclaims:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<SettleClaims> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SettleClaims.class).export(settleClaimsService.findPage(pageWrap).getRecords(), "鐞嗚禂鐢宠琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:settleclaims:query")
+ public ApiResponse<SettleClaims> findById(@PathVariable Integer id) {
+ return ApiResponse.success(settleClaimsService.getSettleClaimsDetail(id));
+ }
+ @ApiOperation("鍒犻櫎闄勪欢")
+ @GetMapping("/delFile/{id}/{fileId}")
+ @RequiresPermissions("business:settleclaims:query")
+ public ApiResponse delFile(@PathVariable(name = "id") Integer id,@PathVariable(name = "fileId") Integer fileId) {
+ return ApiResponse.success(settleClaimsService.delFile(id,fileId));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SettleClaimsLogController.java b/server/shop/src/main/java/com/doumee/api/business/SettleClaimsLogController.java
new file mode 100644
index 0000000..87a45ad
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SettleClaimsLogController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.SettleClaimsLog;
+import com.doumee.service.business.SettleClaimsLogService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鐞嗚碃鎿嶄綔鍘嗗彶琛�")
+@RestController
+@RequestMapping("/business/settleClaimsLog")
+public class SettleClaimsLogController extends BaseController {
+
+ @Autowired
+ private SettleClaimsLogService settleClaimsLogService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:settleclaimslog:create")
+ public ApiResponse create(@RequestBody SettleClaimsLog settleClaimsLog) {
+ return ApiResponse.success(settleClaimsLogService.create(settleClaimsLog));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:settleclaimslog:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ settleClaimsLogService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:settleclaimslog:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ settleClaimsLogService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:settleclaimslog:update")
+ public ApiResponse updateById(@RequestBody SettleClaimsLog settleClaimsLog) {
+ settleClaimsLogService.updateById(settleClaimsLog);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:settleclaimslog:query")
+ public ApiResponse<PageData<SettleClaimsLog>> findPage (@RequestBody PageWrap<SettleClaimsLog> pageWrap) {
+ return ApiResponse.success(settleClaimsLogService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:settleclaimslog:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<SettleClaimsLog> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SettleClaimsLog.class).export(settleClaimsLogService.findPage(pageWrap).getRecords(), "鐞嗚碃鎿嶄綔鍘嗗彶琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:settleclaimslog:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(settleClaimsLogService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SignRecordController.java b/server/shop/src/main/java/com/doumee/api/business/SignRecordController.java
new file mode 100644
index 0000000..9a0e93d
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SignRecordController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.SignRecord;
+import com.doumee.service.business.SignRecordService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:27
+ */
+@Api(tags = "鐢靛瓙绛剧缃茶褰曡〃")
+@RestController
+@RequestMapping("/business/signRecord")
+public class SignRecordController extends BaseController {
+
+ @Autowired
+ private SignRecordService signRecordService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:signrecord:create")
+ public ApiResponse create(@RequestBody SignRecord signRecord) {
+ return ApiResponse.success(signRecordService.create(signRecord));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:signrecord:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ signRecordService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:signrecord:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ signRecordService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:signrecord:update")
+ public ApiResponse updateById(@RequestBody SignRecord signRecord) {
+ signRecordService.updateById(signRecord);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:signrecord:query")
+ public ApiResponse<PageData<SignRecord>> findPage (@RequestBody PageWrap<SignRecord> pageWrap) {
+ return ApiResponse.success(signRecordService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:signrecord:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<SignRecord> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SignRecord.class).export(signRecordService.findPage(pageWrap).getRecords(), "鐢靛瓙绛剧缃茶褰曡〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:signrecord:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(signRecordService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SmsEmailController.java b/server/shop/src/main/java/com/doumee/api/business/SmsEmailController.java
new file mode 100644
index 0000000..9f545f7
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SmsEmailController.java
@@ -0,0 +1,97 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.service.business.SmsEmailService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鐭俊閭欢淇℃伅琛�")
+@RestController
+@RequestMapping("/business/smsEmail")
+public class SmsEmailController extends BaseController {
+
+ @Autowired
+ private SmsEmailService smsEmailService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:smsemail:create")
+ public ApiResponse create(@RequestBody SmsEmail smsEmail) {
+ return ApiResponse.success(smsEmailService.create(smsEmail));
+ }
+ @PreventRepeat
+ @ApiOperation("鍙戦�佺煭淇¢獙璇佺爜")
+ @PostMapping("/sendSms")
+// @RequiresPermissions("business:smsemail:sendSms")
+ public ApiResponse sendSms(@RequestBody SmsEmail smsEmail) {
+ return ApiResponse.success(smsEmailService.sendSms(smsEmail));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:smsemail:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ smsEmailService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:smsemail:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ smsEmailService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:smsemail:update")
+ public ApiResponse updateById(@RequestBody SmsEmail smsEmail) {
+ smsEmailService.updateById(smsEmail);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:smsemail:query")
+ public ApiResponse<PageData<SmsEmail>> findPage (@RequestBody PageWrap<SmsEmail> pageWrap) {
+ return ApiResponse.success(smsEmailService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:smsemail:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<SmsEmail> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SmsEmail.class).export(smsEmailService.findPage(pageWrap).getRecords(), "鐭俊閭欢淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:smsemail:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(smsEmailService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SolutionWorktypeController.java b/server/shop/src/main/java/com/doumee/api/business/SolutionWorktypeController.java
new file mode 100644
index 0000000..56483d2
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SolutionWorktypeController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.SolutionWorktype;
+import com.doumee.service.business.SolutionWorktypeService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "淇濋櫓鏂规宸ョ鍏宠仈琛�")
+@RestController
+@RequestMapping("/business/solutionWorktype")
+public class SolutionWorktypeController extends BaseController {
+
+ @Autowired
+ private SolutionWorktypeService solutionWorktypeService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:solutionworktype:create")
+ public ApiResponse create(@RequestBody SolutionWorktype solutionWorktype) {
+ return ApiResponse.success(solutionWorktypeService.create(solutionWorktype));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:solutionworktype:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ solutionWorktypeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:solutionworktype:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ solutionWorktypeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:solutionworktype:update")
+ public ApiResponse updateById(@RequestBody SolutionWorktype solutionWorktype) {
+ solutionWorktypeService.updateById(solutionWorktype);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:solutionworktype:query")
+ public ApiResponse<PageData<SolutionWorktype>> findPage (@RequestBody PageWrap<SolutionWorktype> pageWrap) {
+ return ApiResponse.success(solutionWorktypeService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:solutionworktype:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<SolutionWorktype> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SolutionWorktype.class).export(solutionWorktypeService.findPage(pageWrap).getRecords(), "淇濋櫓鏂规宸ョ鍏宠仈琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:solutionworktype:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(solutionWorktypeService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SolutionsBaseController.java b/server/shop/src/main/java/com/doumee/api/business/SolutionsBaseController.java
new file mode 100644
index 0000000..0d8b61a
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SolutionsBaseController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.SolutionsBase;
+import com.doumee.service.business.SolutionsBaseService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "淇濋櫓鏂规淇℃伅琛�(鍩鸿〃锛�")
+@RestController
+@RequestMapping("/business/solutionsBase")
+public class SolutionsBaseController extends BaseController {
+
+ @Autowired
+ private SolutionsBaseService solutionsBaseService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:solutionsbase:create")
+ public ApiResponse create(@RequestBody SolutionsBase solutionsBase) {
+ return ApiResponse.success(solutionsBaseService.create(solutionsBase));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:solutionsbase:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ solutionsBaseService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:solutionsbase:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ solutionsBaseService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:solutionsbase:update")
+ public ApiResponse updateById(@RequestBody SolutionsBase solutionsBase) {
+ solutionsBaseService.updateById(solutionsBase);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:solutionsbase:query")
+ public ApiResponse<PageData<SolutionsBase>> findPage (@RequestBody PageWrap<SolutionsBase> pageWrap) {
+ return ApiResponse.success(solutionsBaseService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:solutionsbase:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<SolutionsBase> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SolutionsBase.class).export(solutionsBaseService.findPage(pageWrap).getRecords(), "淇濋櫓鏂规淇℃伅琛�(鍩鸿〃锛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:solutionsbase:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(solutionsBaseService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/SolutionsController.java b/server/shop/src/main/java/com/doumee/api/business/SolutionsController.java
new file mode 100644
index 0000000..2549513
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/SolutionsController.java
@@ -0,0 +1,105 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Solutions;
+import com.doumee.service.business.SolutionsService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "淇濋櫓鏂规淇℃伅琛�")
+@RestController
+@RequestMapping("/business/solutions")
+public class SolutionsController extends BaseController {
+
+ @Autowired
+ private SolutionsService solutionsService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:solutions:create")
+ public ApiResponse create(@RequestBody Solutions solutions) {
+ return ApiResponse.success(solutionsService.create(solutions));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:solutions:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ solutionsService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:solutions:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ solutionsService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:solutions:update")
+ public ApiResponse updateById(@RequestBody Solutions solutions) {
+ solutionsService.updateById(solutions);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("绂佺敤鍚敤")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("business:solutions:update")
+ public ApiResponse updateStatus(@RequestBody Solutions solutions) {
+ solutionsService.updateStatus(solutions);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:solutions:query")
+ public ApiResponse<PageData<Solutions>> findPage (@RequestBody PageWrap<Solutions> pageWrap) {
+ return ApiResponse.success(solutionsService.findPage(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴")
+ @PostMapping("/list")
+ @RequiresPermissions("business:solutions:query")
+ public ApiResponse<List<Solutions>> findList (@RequestBody Solutions pageWrap) {
+ return ApiResponse.success(solutionsService.findList(pageWrap));
+ }
+
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:solutions:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Solutions> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Solutions.class).export(solutionsService.findPage(pageWrap).getRecords(), "淇濋櫓鏂规淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:solutions:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(solutionsService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/TaxDetialController.java b/server/shop/src/main/java/com/doumee/api/business/TaxDetialController.java
new file mode 100644
index 0000000..3b47fbd
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/TaxDetialController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.TaxDetial;
+import com.doumee.service.business.TaxDetialService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鍙戠エ鏄庣粏淇℃伅琛�")
+@RestController
+@RequestMapping("/business/taxDetial")
+public class TaxDetialController extends BaseController {
+
+ @Autowired
+ private TaxDetialService taxDetialService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:taxdetial:create")
+ public ApiResponse create(@RequestBody TaxDetial taxDetial) {
+ return ApiResponse.success(taxDetialService.create(taxDetial));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:taxdetial:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ taxDetialService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:taxdetial:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ taxDetialService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:taxdetial:update")
+ public ApiResponse updateById(@RequestBody TaxDetial taxDetial) {
+ taxDetialService.updateById(taxDetial);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:taxdetial:query")
+ public ApiResponse<PageData<TaxDetial>> findPage (@RequestBody PageWrap<TaxDetial> pageWrap) {
+ return ApiResponse.success(taxDetialService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:taxdetial:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<TaxDetial> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(TaxDetial.class).export(taxDetialService.findPage(pageWrap).getRecords(), "鍙戠エ鏄庣粏淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:taxdetial:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(taxDetialService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/TaxesController.java b/server/shop/src/main/java/com/doumee/api/business/TaxesController.java
new file mode 100644
index 0000000..4ff79c9
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/TaxesController.java
@@ -0,0 +1,105 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Taxes;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鍙戠エ淇℃伅琛�")
+@RestController
+@RequestMapping("/business/taxes")
+public class TaxesController extends BaseController {
+
+ @Autowired
+ private TaxesService taxesService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:taxes:create")
+ public ApiResponse create(@RequestBody Taxes taxes) {
+ return ApiResponse.success(taxesService.create(taxes));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:taxes:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ taxesService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:taxes:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ taxesService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:taxes:update")
+ public ApiResponse updateById(@RequestBody Taxes taxes) {
+ taxesService.updateById(taxes);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID閫�鍥炵敵璇�")
+ @PostMapping("/backApply")
+ @RequiresPermissions("business:taxes:update")
+ public ApiResponse backApply(@RequestBody Taxes taxes) {
+ taxesService.backApply(taxes);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("涓婁紶鍙戠エ鍑瘉鎻愪氦淇濆瓨")
+ @PostMapping("/doneApply")
+ @RequiresPermissions("business:taxes:update")
+ public ApiResponse doneApply(@RequestBody Taxes taxes) {
+ taxesService.doneApply(taxes);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:taxes:query")
+ public ApiResponse<PageData<Taxes>> findPage (@RequestBody PageWrap<Taxes> pageWrap) {
+ return ApiResponse.success(taxesService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:taxes:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Taxes> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Taxes.class).export(taxesService.findPage(pageWrap).getRecords(), "鍙戠エ淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:taxes:query")
+ public ApiResponse<Taxes> findById(@PathVariable Integer id) {
+ return ApiResponse.success(taxesService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/UnionApplyController.java b/server/shop/src/main/java/com/doumee/api/business/UnionApplyController.java
new file mode 100644
index 0000000..7e39a97
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/UnionApplyController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.UnionApply;
+import com.doumee.service.business.UnionApplyService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/03/12 11:34
+ */
+@Api(tags = "鍚堝苟鎶曚繚鍗曚俊鎭〃")
+@RestController
+@RequestMapping("/business/unionApply")
+public class UnionApplyController extends BaseController {
+
+ @Autowired
+ private UnionApplyService unionApplyService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:unionapply:create")
+ public ApiResponse create(@RequestBody UnionApply unionApply) {
+ return ApiResponse.success(unionApplyService.create(unionApply));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:unionapply:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ unionApplyService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:unionapply:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ unionApplyService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:unionapply:update")
+ public ApiResponse updateById(@RequestBody UnionApply unionApply) {
+ unionApplyService.updateById(unionApply);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:unionapply:query")
+ public ApiResponse<PageData<UnionApply>> findPage (@RequestBody PageWrap<UnionApply> pageWrap) {
+ return ApiResponse.success(unionApplyService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:unionapply:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<UnionApply> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(UnionApply.class).export(unionApplyService.findPage(pageWrap).getRecords(), "鍚堝苟鎶曚繚鍗曚俊鎭〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:unionapply:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(unionApplyService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/UnionChangeController.java b/server/shop/src/main/java/com/doumee/api/business/UnionChangeController.java
new file mode 100644
index 0000000..08d9a26
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/UnionChangeController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.UnionChange;
+import com.doumee.service.business.UnionChangeService;
+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.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/03/12 11:34
+ */
+@Api(tags = "鍔犲噺淇濇崲鍘傚悎骞跺崟淇℃伅琛�")
+@RestController
+@RequestMapping("/business/unionChange")
+public class UnionChangeController extends BaseController {
+
+ @Autowired
+ private UnionChangeService unionChangeService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:unionchange:create")
+ public ApiResponse create(@RequestBody UnionChange unionChange) {
+ return ApiResponse.success(unionChangeService.create(unionChange));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:unionchange:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ unionChangeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:unionchange:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ unionChangeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:unionchange:update")
+ public ApiResponse updateById(@RequestBody UnionChange unionChange) {
+ unionChangeService.updateById(unionChange);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:unionchange:query")
+ public ApiResponse<PageData<UnionChange>> findPage (@RequestBody PageWrap<UnionChange> pageWrap) {
+ return ApiResponse.success(unionChangeService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:unionchange:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<UnionChange> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(UnionChange.class).export(unionChangeService.findPage(pageWrap).getRecords(), "鍔犲噺淇濇崲鍘傚悎骞跺崟淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:unionchange:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(unionChangeService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/business/WorktypeController.java b/server/shop/src/main/java/com/doumee/api/business/WorktypeController.java
new file mode 100644
index 0000000..469bfd1
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/business/WorktypeController.java
@@ -0,0 +1,116 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+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.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.WorkTypeQueryDTO;
+import com.doumee.dao.business.model.Worktype;
+import com.doumee.service.business.WorktypeService;
+import io.swagger.annotations.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "宸ョ淇℃伅琛�")
+@RestController
+@RequestMapping("/business/worktype")
+public class WorktypeController extends BaseController {
+
+ @Autowired
+ private WorktypeService worktypeService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:worktype:create")
+ public ApiResponse create(@RequestBody Worktype worktype) {
+ return ApiResponse.success(worktypeService.create(worktype));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:worktype:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ worktypeService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:worktype:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ worktypeService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:worktype:update")
+ public ApiResponse updateById(@RequestBody Worktype worktype) {
+ worktypeService.updateById(worktype);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鏍规嵁鏉′欢宸ョ鍒楄〃")
+ @PostMapping("/findListByDTO")
+ public ApiResponse<List<Worktype>> findListByDTO (@RequestBody WorkTypeQueryDTO workTypeQueryDTO) {
+ return ApiResponse.success(worktypeService.findListByDTO(workTypeQueryDTO));
+ }
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:worktype:query")
+ public ApiResponse<PageData<Worktype>> findPage (@RequestBody PageWrap<Worktype> pageWrap) {
+ return ApiResponse.success(worktypeService.findPage(pageWrap));
+ }
+ @ApiOperation("鏌ヨ鍏ㄩ儴")
+ @PostMapping("/list")
+ @RequiresPermissions("business:worktype:query")
+ public ApiResponse<List<Worktype>> findList (@RequestBody Worktype pageWrap) {
+ return ApiResponse.success(worktypeService.findList(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:worktype:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Worktype> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Worktype.class).export(worktypeService.findPage(pageWrap).getRecords(), "宸ョ淇℃伅琛�", response);
+ }
+
+ @ApiOperation("瀵煎叆妯℃澘")
+ @PostMapping("/importExcel")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
+ })
+ @RequiresPermissions("business:worktype:create")
+ public ApiResponse<List<String>> importExcel (@ApiParam(value = "file") MultipartFile file ) {
+ return ApiResponse.success(worktypeService .importBatch(file));
+ }
+
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:worktype:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(worktypeService.findById(id));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/common/CaptchaController.java b/server/shop/src/main/java/com/doumee/api/common/CaptchaController.java
new file mode 100644
index 0000000..2162667
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/common/CaptchaController.java
@@ -0,0 +1,36 @@
+package com.doumee.api.common;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.service.common.CaptchaService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Api(tags = "鍥剧墖楠岃瘉鐮佹帴鍙�")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/common")
+public class CaptchaController extends BaseController {
+
+ @Autowired
+ private CaptchaService captchaService;
+
+ /**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+ @ApiOperation("鑾峰彇鍥剧墖楠岃瘉鐮�")
+ @GetMapping("/captcha")
+ public ApiResponse<CaptchaService.Captcha> getCaptcha() {
+ return ApiResponse.success(captchaService.genCaptcha());
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/common/PublicController.java b/server/shop/src/main/java/com/doumee/api/common/PublicController.java
new file mode 100644
index 0000000..d8754cb
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/common/PublicController.java
@@ -0,0 +1,346 @@
+package com.doumee.api.common;
+
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.excel.ExcelToPdfTool;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Api(tags = "鍏叡鎺ュ彛")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/public")
+@Slf4j
+public class PublicController extends BaseController {
+
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @ApiOperation("娴嬭瘯")
+ @PostMapping("/testPdf")
+ public String testPdf(@RequestParam Map<String,String> req, HttpServletResponse response) {
+ ExcelToPdfTool.excelToPdf(req.get("f1"),req.get("f2"));
+ return JSONObject.toJSONString(req);
+ }
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
+ public void uploadMobile(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+
+ @ApiOperation(value = "涓婁紶鍥剧墖", notes = "涓婁紶鍥剧墖", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadPicture", headers = "content-type=multipart/form-data")
+ public void uploadPicture(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> fileNames = multipartRequest.getFileNames();
+ Map<String, Object> context = new HashMap<>();
+ while (fileNames.hasNext()){
+ MultipartFile file = multipartRequest.getFile(fileNames.next());
+ String fileName = file.getOriginalFilename();
+ String suffix = fileName.substring(fileName.lastIndexOf("."));
+ if ( !StringUtils.equalsIgnoreCase(suffix, ".jpg") && !StringUtils.equalsIgnoreCase(suffix, ".png")) {
+ context.put("code", 0);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡涓婁紶鏈夎锛�");
+ return;
+ }
+ }
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+ public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName,
+ String access_id, String access_key, String resourcePath, String endpoint) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ Map<String, Object> context = new HashMap<>();
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ // 1銆佷笂浼犲埌鏈嶅姟鍣ㄤ复鏃舵枃浠跺す
+ String uploadFileName = file.getOriginalFilename();
+ String originname = uploadFileName;
+ if (originname.lastIndexOf("/") >= 0) {
+ originname = originname.substring(originname.lastIndexOf("/") + 1);
+ }
+ String nfix = "";// 鍚庣紑鍚�
+ if (StringUtils.isNotBlank(uploadFileName)) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+ String nowDate = DateUtil.getNowShortDate();// 褰撳墠鏃堕棿锛堝勾鏈堟棩锛�
+ String fileName = UUID.randomUUID().toString() + nfix;
+ String tempFileName = nowDate + "/" + fileName;
+ String key = folder + tempFileName;// 鏂囦欢鍚�
+ ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key);
+ int type = 2;
+ if(StringUtils.endsWith(key,".mp4")){
+ type =1;
+ }else if(StringUtils.endsWith(key,".jpg")
+ || StringUtils.endsWith(key,".JPG")
+ || StringUtils.endsWith(key,".png")
+ || StringUtils.endsWith(key,".PNG")
+ || StringUtils.endsWith(key,".jpeg")
+ || StringUtils.endsWith(key,".JPEG")){
+ type =0;
+ }
+ if (obs.uploadOnlineObject(file.getInputStream(),bucketName, key,null)) {
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+ // sendSuccessMessage(response, resourcePath+key);
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", resourcePath + key);
+ fileJSON.put("imgaddr", tempFileName);
+ fileJSON.put("imgname", fileName);
+ fileJSON.put("type", type);
+ fileJSON.put("originname", originname);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ context.put("errno",0);
+ writerJson(response, context);
+ return;
+ }
+
+ public static void writerJson(HttpServletResponse response, Object object) {
+ response.setContentType("application/json");
+ writer(response, JSONObject.toJSONString(object));
+ }
+
+ private static void writer(HttpServletResponse response, String str) {
+ try {
+ StringBuffer result = new StringBuffer();
+ //璁剧疆椤甸潰涓嶇紦瀛�
+ response.setHeader("Pragma", "No-cache");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setCharacterEncoding("UTF-8");
+ PrintWriter out = null;
+ out = response.getWriter();
+ out.print(str);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data")
+ public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+
+ // CommonsMultipartFile files = (CommonsMultipartFile) multipartRequest.getFile("filedata");
+ uploadFileLocal(multipartRequest, folder+ "/", response,
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.GOODS_IMG_DIR).getCode() ,
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode());
+
+ }
+
+ public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ Map<String, Object> context = new HashMap<>();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // =
+ // (CommonsMultipartFile)
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ if (file.getSize() > 200 * 1024 * 1024L) {
+ context.put("code", 4000);
+ context.put("message", "涓婁紶鏂囦欢杩囧ぇ");
+ return;
+ }
+ System.out.println(file.getOriginalFilename());
+ if (file.getOriginalFilename() == null) {
+ context.put("code", 4000);
+ context.put("message", "鏂囦欢鍚嶄笉鍙负绌�");
+ return;
+ }
+ /*
+ * if(file.getOriginalFilename().contains(",")||file.getOriginalFilename().
+ * contains(" ")){ sendFailureMessage(response,"鏂囦欢鍚嶇О鏈夎,涓嶅彲鍚湁閫楀彿绛夌壒娈婂瓧绗�"); }
+ */
+
+ String nowDate = DateUtil.getNowShortDate();
+ folder += nowDate + "/";
+ String strDirPath = rootPath + folder;
+ File dirPath = new File(strDirPath);
+ if (!dirPath.exists()) {
+ dirPath.mkdirs();
+ }
+ String uploadFileName = file.getOriginalFilename();
+ String x = UUID.randomUUID().toString().replace("-", "")
+ + uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ String fileName = folder + x;
+ String fileNames = nowDate + "/" + x;
+ uploadFileName = uploadFileName.replace(" ", "");
+ uploadFileName = uploadFileName.replace("锛�", ",");
+ uploadFileName = uploadFileName.replaceAll(",", "-");
+ System.err.println("R:" + fileName);
+ String fileAndPath = dir + fileName;
+ System.err.println("A:" + fileAndPath);
+ // 鍒ゆ柇濡傛灉涓存椂鐩綍涓瓨鍦ㄧ浉鍚屽悕绉扮殑鏂囦欢鍏堝垹闄わ紝鍦ㄤ笂浼�
+ File tempFile = new File(rootPath + fileName);
+ if (tempFile.isFile() && tempFile.exists()) {
+ tempFile.getAbsoluteFile().delete();
+ }
+ // 涓婁紶鍒版湇鍔″櫒涓存椂鏂囦欢澶�
+ file.transferTo(tempFile);
+ // 杞Щ鍒癋TP鏈嶅姟鍣�
+ String nfix = "";
+ if (null != uploadFileName) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+
+ String remoteName = fileName;
+ String remoteFileName = fileAndPath;
+
+ /* Map map = new HashMap();
+ map.put("url", remoteFileName);
+ map.put("alt", uploadFileName);
+ map.put("href", remoteFileName);
+ List maps = Arrays.asList(remoteFileName);*/
+
+ if (true) {
+ // 鍏抽棴FTP娴�
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+ /*context.put("error", 0);
+ context.put("url", remoteFileName);
+ context.put("fullurl", remoteFileName);
+ context.put("fname", uploadFileName);
+ context.put("data", maps);
+ context.put("halfurl", fileNames);*/
+
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", remoteFileName);
+ fileJSON.put("imgaddr", fileNames);
+ fileJSON.put("imgname", uploadFileName);
+ fileJSON.put("originname", uploadFileName);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemController.java b/server/shop/src/main/java/com/doumee/api/system/SystemController.java
new file mode 100644
index 0000000..3cdb87f
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemController.java
@@ -0,0 +1,80 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemUserBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.dto.LoginDTO;
+import com.doumee.dao.system.dto.LoginPhoneDTO;
+import com.doumee.dao.system.dto.UpdatePwdDto;
+import com.doumee.dao.system.dto.WebLoginDTO;
+import com.doumee.service.system.SystemLoginService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.subject.Subject;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "绯荤粺鍔熻兘")
+@Trace(exclude = true)
+@Slf4j
+@RestController
+@RequestMapping("/system")
+public class SystemController extends BaseController {
+
+ @Autowired
+ private SystemUserBiz systemUserBiz;
+
+ @Autowired
+ private SystemLoginService systemLoginService;
+
+ @PreventRepeat(limit = 10, lockTime = 10000)
+ @ApiOperation("鐧诲綍 - 鍚庣")
+ @PostMapping("/login")
+ public ApiResponse<String> login (@Validated @RequestBody LoginDTO dto, HttpServletRequest request) {
+ return ApiResponse.success(systemLoginService.loginByPassword(dto, Constants.TWO, request));
+ }
+
+ @PreventRepeat(limit = 10, lockTime = 10000)
+ @ApiOperation("鐭俊楠岃瘉鐮佺櫥褰�")
+ @PostMapping("/loginByPhone")
+ public ApiResponse<String> loginByPhone (@Validated @RequestBody LoginPhoneDTO dto, HttpServletRequest request) {
+ return ApiResponse.success(systemLoginService.loginByPhone(dto, Constants.TWO, request));
+ }
+
+
+ @ApiOperation("閫�鍑虹櫥褰�")
+ @PostMapping("/logout")
+ public ApiResponse logout () {
+ Subject subject = SecurityUtils.getSubject();
+ subject.logout();
+ return ApiResponse.success(null);
+ }
+ @Trace(withRequestParameters = false)
+ @ApiOperation("淇敼褰撳墠鐢ㄦ埛瀵嗙爜")
+ @PostMapping("/updatePwd")
+ public ApiResponse updatePwd (@Validated @RequestBody UpdatePwdDto dto) {
+ dto.setUserId(this.getLoginUser().getId());
+ systemUserBiz.updatePwd(dto);
+ return ApiResponse.success(null);
+ }
+ @ApiOperation("鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�")
+ @GetMapping("/getUserInfo")
+ public ApiResponse<LoginUserInfo> getUserInfo () {
+ return ApiResponse.success(this.getLoginUser());
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemDataPermissionController.java b/server/shop/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
new file mode 100644
index 0000000..fcb5b7c
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemDataPermissionController.java
@@ -0,0 +1,106 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDataPermissionBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.DataPermissionConstants;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.model.SystemDataPermission;
+import com.doumee.dao.system.vo.SystemDataPermissionListVO;
+import com.doumee.service.system.SystemDataPermissionService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@RestController
+@RequestMapping("/system/dataPermission")
+@Api(tags = "绯荤粺鏁版嵁鏉冮檺")
+public class SystemDataPermissionController extends BaseController {
+
+ @Autowired
+ private SystemDataPermissionService systemDataPermissionService;
+
+ @Autowired
+ private SystemDataPermissionBiz systemDataPermissionBiz;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:datapermission:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDataPermission systemDataPermission) {
+ return ApiResponse.success(systemDataPermissionBiz.create(systemDataPermission));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:datapermission:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemDataPermissionService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:datapermission:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemDataPermissionService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:datapermission:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDataPermission systemDataPermission) {
+ systemDataPermissionBiz.update(systemDataPermission);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("system:datapermission:update")
+ public ApiResponse updateStatus(@Validated(OperaType.UpdateStatus.class) @RequestBody SystemDataPermission systemDataPermission) {
+ systemDataPermissionBiz.updateStatus(systemDataPermission);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:datapermission:query")
+ public ApiResponse<PageData<SystemDataPermissionListVO>> findPage (@RequestBody PageWrap<SystemDataPermission> pageWrap) {
+ return ApiResponse.success(systemDataPermissionService.findPage(pageWrap));
+ }
+
+ @Trace(exclude = true)
+ @ApiOperation("鏌ヨ鏁版嵁鏉冮檺绫诲瀷")
+ @GetMapping("/types")
+ public ApiResponse<List<Map<String, Object>>> findTypes () {
+ return ApiResponse.success(DataPermissionConstants.Type.valueList());
+ }
+
+ @Trace(exclude = true)
+ @ApiOperation("鏌ヨ鏁版嵁鏉冮檺妯″潡")
+ @GetMapping("/modules")
+ public ApiResponse<List<Map<String, Object>>> findModules () {
+ return ApiResponse.success(DataPermissionConstants.Module.valueList());
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemDepartmentController.java b/server/shop/src/main/java/com/doumee/api/system/SystemDepartmentController.java
new file mode 100644
index 0000000..f013ef7
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemDepartmentController.java
@@ -0,0 +1,109 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDepartmentBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemUserDTO;
+import com.doumee.dao.system.model.SystemDepartment;
+import com.doumee.dao.system.vo.SystemDepartmentListVO;
+import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.service.system.SystemUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "閮ㄩ棬")
+@RestController
+@RequestMapping("/system/department")
+public class SystemDepartmentController extends BaseController {
+
+ @Autowired
+ private SystemDepartmentBiz systemDepartmentBiz;
+
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:department:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDepartment systemDepartment) {
+ systemDepartment.setCreateUser(getLoginUser().getId());
+ systemDepartment.setUpdateUser(getLoginUser().getId());
+ return ApiResponse.success(systemDepartmentBiz.create(systemDepartment));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:department:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemDepartmentBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @PreventRepeat
+ @RequiresPermissions("system:department:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemDepartmentBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:department:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDepartment systemDepartment) {
+ systemDepartment.setCreateUser(getLoginUser().getId());
+ systemDepartment.setUpdateUser(getLoginUser().getId());
+ systemDepartmentBiz.updateById(systemDepartment);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏌ヨ閮ㄩ棬鍒楄〃")
+ @PostMapping("/tree")
+ @RequiresPermissions("system:department:query")
+ public ApiResponse<List<SystemDepartmentListVO>> findTree () {
+ return ApiResponse.success(systemDepartmentBiz.findTree());
+ }
+
+ @ApiOperation("鏌ヨ閮ㄩ棬鍒楄〃鍙婇儴闂ㄤ笅鐨勪汉鍛�")
+ @GetMapping("/findTreeUser")
+ @RequiresPermissions("system:department:query")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "parentId", value = "parentId", paramType = "query", dataType = "Integer"),
+ })
+ public ApiResponse<SystemDepartmentListVO> findTreeUser(Integer parentId) {
+ return ApiResponse.success(systemDepartmentBiz.findTreeUser(parentId));
+ }
+
+ @Trace(exclude = true)
+ @ApiOperation("鏌ヨ閮ㄩ棬浜哄憳")
+ @PostMapping("/users")
+ @RequiresPermissions("system:department:queryUsers")
+ public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
+ return ApiResponse.success(systemUserService.findPage(pageWrap));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemDictController.java b/server/shop/src/main/java/com/doumee/api/system/SystemDictController.java
new file mode 100644
index 0000000..71a297a
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemDictController.java
@@ -0,0 +1,82 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemDictDTO;
+import com.doumee.dao.system.model.SystemDict;
+import com.doumee.dao.system.vo.SystemDictListVO;
+import com.doumee.service.system.SystemDictService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "绯荤粺瀛楀吀")
+@RestController
+@RequestMapping("/system/dict")
+public class SystemDictController extends BaseController {
+
+ @Autowired
+ private SystemDictService systemDictService;
+
+ @Autowired
+ private SystemDictBiz systemDictBiz;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:dict:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDict systemDict) {
+ return ApiResponse.success(systemDictBiz.create(systemDict));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:dict:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemDictService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:dict:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemDictService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDict systemDict) {
+ systemDictBiz.updateById(systemDict);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:dict:query")
+ public ApiResponse<PageData<SystemDictListVO>> findPage (@RequestBody PageWrap<QuerySystemDictDTO> pageWrap) {
+ return ApiResponse.success(systemDictService.findPage(pageWrap));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemDictDataController.java b/server/shop/src/main/java/com/doumee/api/system/SystemDictDataController.java
new file mode 100644
index 0000000..4c76bfc
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemDictDataController.java
@@ -0,0 +1,95 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.SystemDictDataListVO;
+import com.doumee.service.system.SystemDictDataService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "瀛楀吀鏁版嵁")
+@RestController
+@RequestMapping("/system/dictData")
+public class SystemDictDataController extends BaseController {
+
+ @Autowired
+ private SystemDictDataService systemDictDataService;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemDictData systemDictData) {
+ return ApiResponse.success(systemDictDataBiz.create(systemDictData));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemDictDataService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:dict:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemDictDataService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemDictData systemDictData) {
+ systemDictDataBiz.updateById(systemDictData);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse<PageData<SystemDictDataListVO>> findPage (@RequestBody PageWrap<QuerySystemDictDataDTO> pageWrap) {
+ return ApiResponse.success(systemDictDataService.findPage(pageWrap));
+ }
+
+
+
+
+
+ @ApiOperation("缂栬緫鏌ヨ鍜栬眴浠诲姟瑙勫垯")
+ @PostMapping("/createCoffeeTask")
+ @RequiresPermissions("system:dict:update")
+ public ApiResponse createCoffeeTask(@Validated(OperaType.Create.class) @RequestBody List<SystemDictData> list) {
+ systemDictDataBiz.updateByDicId(list);
+ return ApiResponse.success(null);
+ }
+
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemLoginLogController.java b/server/shop/src/main/java/com/doumee/api/system/SystemLoginLogController.java
new file mode 100644
index 0000000..3949e25
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemLoginLogController.java
@@ -0,0 +1,47 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemLoginLogDTO;
+import com.doumee.dao.system.model.SystemLoginLog;
+import com.doumee.service.system.SystemLoginLogService;
+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.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@RestController
+@RequestMapping("/system/loginLog")
+@Api(tags = "鐧诲綍鏃ュ織")
+public class SystemLoginLogController extends BaseController {
+
+ @Autowired
+ private SystemLoginLogService systemLoginLogService;
+
+ @PostMapping("/page")
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @RequiresPermissions("system:loginLog:query")
+ public ApiResponse<PageData<SystemLoginLog>> findPage (@RequestBody PageWrap<QuerySystemLoginLogDTO> pageWrap) {
+ return ApiResponse.success(systemLoginLogService.findPage(pageWrap));
+ }
+
+ @PostMapping("/exportExcel")
+ @ApiOperation("瀵煎嚭Excel")
+ @RequiresPermissions("system:loginLog:query")
+ public void export (@RequestBody PageWrap<QuerySystemLoginLogDTO> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SystemLoginLog.class).export(systemLoginLogService.findPage(pageWrap).getRecords(), "鐧诲綍鏃ュ織", response);
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemMenuController.java b/server/shop/src/main/java/com/doumee/api/system/SystemMenuController.java
new file mode 100644
index 0000000..402e765
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemMenuController.java
@@ -0,0 +1,102 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemMenuBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.dao.system.dto.UpdateSystemMenuSortDTO;
+import com.doumee.dao.system.model.SystemMenu;
+import com.doumee.dao.system.vo.SystemMenuListVO;
+import com.doumee.dao.system.vo.SystemMenuNodeVO;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "绯荤粺鑿滃崟")
+@RestController
+@RequestMapping("/system/menu")
+public class SystemMenuController extends BaseController {
+
+ @Autowired
+ private SystemMenuBiz systemMenuBiz;
+
+ @ApiOperation("鑿滃崟鎺掑簭")
+ @PostMapping("/updateSort")
+ @RequiresPermissions("system:menu:sort")
+ public ApiResponse updateSort (@Validated @RequestBody UpdateSystemMenuSortDTO dto) {
+ systemMenuBiz.updateSort(dto);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏌ヨ鑿滃崟鏍�")
+ @GetMapping("/treeNodes")
+ public ApiResponse<List<SystemMenuNodeVO>> getTreeMenu () {
+ LoginUserInfo loginUserInfo = this.getLoginUser();
+ return ApiResponse.success(systemMenuBiz.findTree(loginUserInfo.getId(),loginUserInfo.getType()));
+ }
+
+ @ApiOperation("鏌ヨ鍒楄〃鏍�")
+ @PostMapping("/treeList/{type}")
+ @RequiresPermissions("system:menu:query")
+ public ApiResponse<List<SystemMenuListVO>> treeList (@PathVariable Integer type) {
+ return ApiResponse.success(systemMenuBiz.findTreeByType(type));
+ }
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:menu:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemMenu systemMenu) {
+ return ApiResponse.success(systemMenuBiz.create(systemMenu));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:menu:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemMenuBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:menu:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemMenuBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:menu:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemMenu systemMenu) {
+ systemMenuBiz.updateById(systemMenu);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼鑿滃崟鐘舵��")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("system:menu:update")
+ public ApiResponse updateStatus(@Validated(OperaType.UpdateStatus.class) @RequestBody SystemMenu systemMenu) {
+ systemMenuBiz.updateById(systemMenu);
+ return ApiResponse.success(null);
+ }
+
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemMonitorController.java b/server/shop/src/main/java/com/doumee/api/system/SystemMonitorController.java
new file mode 100644
index 0000000..b16d68b
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemMonitorController.java
@@ -0,0 +1,31 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Monitor;
+import com.doumee.core.utils.Utils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "绯荤粺鐩戝惉")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/system/monitor")
+public class SystemMonitorController extends BaseController {
+
+ @ApiOperation("鑾峰彇绯荤粺淇℃伅")
+ @GetMapping("/getSystemInfo")
+ @RequiresPermissions("system:monitor:query")
+ public ApiResponse<Monitor> getSystemInfo () {
+ return ApiResponse.success(Utils.Monitor.current());
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemPermissionController.java b/server/shop/src/main/java/com/doumee/api/system/SystemPermissionController.java
new file mode 100644
index 0000000..327e24a
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemPermissionController.java
@@ -0,0 +1,91 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemPermissionBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemPermissionDTO;
+import com.doumee.dao.system.model.SystemPermission;
+import com.doumee.dao.system.vo.SystemPermissionListVO;
+import com.doumee.service.system.SystemPermissionService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "绯荤粺鏉冮檺")
+@RestController
+@RequestMapping("/system/permission")
+public class SystemPermissionController extends BaseController {
+
+ @Autowired
+ private SystemPermissionService systemPermissionService;
+
+ @Autowired
+ private SystemPermissionBiz systemPermissionBiz;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:permission:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemPermission systemPermission) {
+ return ApiResponse.success(systemPermissionBiz.create(systemPermission));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:permission:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemPermissionBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:permission:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemPermissionBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:permission:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemPermission systemPermission) {
+ systemPermissionBiz.updateById(systemPermission);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:permission:query")
+ public ApiResponse<PageData<SystemPermissionListVO>> findPage (@RequestBody PageWrap<QuerySystemPermissionDTO> pageWrap) {
+ return ApiResponse.success(systemPermissionService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鏌ヨ鎵�鏈�")
+ @GetMapping("/all")
+ @RequiresPermissions("system:permission:query")
+ public ApiResponse<List<SystemPermission>> findAll () {
+ SystemPermission systemPermission = new SystemPermission();
+ systemPermission.setDeleted(Boolean.FALSE);
+ return ApiResponse.success(systemPermissionService.findList(systemPermission));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemPositionController.java b/server/shop/src/main/java/com/doumee/api/system/SystemPositionController.java
new file mode 100644
index 0000000..4670e06
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemPositionController.java
@@ -0,0 +1,106 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemPositionBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemUserDTO;
+import com.doumee.dao.system.model.SystemPosition;
+import com.doumee.dao.system.vo.SystemPositionListVO;
+import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.service.system.SystemPositionService;
+import com.doumee.service.system.SystemUserService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 宀椾綅鎺ュ彛
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "宀椾綅")
+@RestController
+@RequestMapping("/system/position")
+public class SystemPositionController extends BaseController {
+
+ @Autowired
+ private SystemPositionService systemPositionService;
+
+ @Autowired
+ private SystemPositionBiz systemPositionBiz;
+
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:position:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemPosition systemPosition) {
+ return ApiResponse.success(systemPositionBiz.create(systemPosition));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:position:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemPositionBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:position:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemPositionBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:position:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemPosition systemPosition) {
+ systemPositionBiz.updateById(systemPosition);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏌ヨ宀椾綅鏍戝垪琛�")
+ @PostMapping("/tree")
+ @RequiresPermissions("system:position:query")
+ public ApiResponse<List<SystemPositionListVO>> findTree () {
+ return ApiResponse.success(systemPositionBiz.findTree());
+ }
+
+ @ApiOperation("鏌ヨ宀椾綅鍒楄〃")
+ @PostMapping("/all")
+ @RequiresPermissions("system:position:query")
+ public ApiResponse<List<SystemPosition>> findList () {
+ SystemPosition systemPosition = new SystemPosition();
+ systemPosition.setDeleted(Boolean.FALSE);
+ return ApiResponse.success(systemPositionService.findList(systemPosition));
+ }
+
+ @Trace(exclude = true)
+ @ApiOperation("鏌ヨ宀椾綅浜哄憳")
+ @PostMapping("/users")
+ @RequiresPermissions("system:position:queryUsers")
+ public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
+ return ApiResponse.success(systemUserService.findPage(pageWrap));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemRoleController.java b/server/shop/src/main/java/com/doumee/api/system/SystemRoleController.java
new file mode 100644
index 0000000..cf27fba
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemRoleController.java
@@ -0,0 +1,118 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemRoleBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.dto.CreateRoleMenuDTO;
+import com.doumee.dao.system.dto.CreateRolePermissionDTO;
+import com.doumee.dao.system.dto.QuerySystemRoleDTO;
+import com.doumee.dao.system.model.SystemRole;
+import com.doumee.dao.system.vo.SystemRoleListVO;
+import com.doumee.service.system.SystemRoleService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "绯荤粺瑙掕壊")
+@RestController
+@RequestMapping("/system/role")
+public class SystemRoleController extends BaseController {
+
+ @Autowired
+ private SystemRoleService systemRoleService;
+
+ @Autowired
+ private SystemRoleBiz systemRoleBiz;
+
+ @PreventRepeat
+ @ApiOperation("閰嶇疆瑙掕壊鑿滃崟")
+ @PostMapping("/createRoleMenu")
+ @RequiresPermissions("system:role:createRoleMenu")
+ public ApiResponse createRoleMenu (@Validated @RequestBody CreateRoleMenuDTO dto) {
+ systemRoleBiz.createRoleMenu(dto);
+ return ApiResponse.success(null);
+ }
+
+ @PreventRepeat
+ @ApiOperation("閰嶇疆瑙掕壊鏉冮檺")
+ @PostMapping("/createRolePermission")
+ @RequiresPermissions("system:role:createRolePermission")
+ public ApiResponse createRolePermission (@Validated @RequestBody CreateRolePermissionDTO dto) {
+ systemRoleBiz.createRolePermission(dto);
+ return ApiResponse.success(null);
+ }
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:role:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody SystemRole systemRole) {
+ systemRole.setType(Constants.ONE);
+ return ApiResponse.success(systemRoleBiz.create(systemRole));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:role:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemRoleBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:role:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemRoleBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:role:update")
+ public ApiResponse updateById(@Validated(OperaType.Update.class) @RequestBody SystemRole systemRole) {
+ systemRoleBiz.updateById(systemRole);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:role:query")
+ public ApiResponse<PageData<SystemRoleListVO>> findPage (@RequestBody PageWrap<QuerySystemRoleDTO> pageWrap) {
+ return ApiResponse.success(systemRoleService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鏌ヨ鎵�鏈�")
+ @GetMapping("/all")
+ @RequiresPermissions("system:role:query")
+ public ApiResponse<List<SystemRole>> findAll () {
+ LoginUserInfo userInfo = this.getLoginUser();
+ SystemRole systemRole = new SystemRole();
+ systemRole.setDeleted(Boolean.FALSE);
+ if(userInfo.getType().equals(Constants.ONE)){
+ systemRole.setType(userInfo.getType());
+ }
+ return ApiResponse.success(systemRoleService.findList(systemRole));
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemTraceLogController.java b/server/shop/src/main/java/com/doumee/api/system/SystemTraceLogController.java
new file mode 100644
index 0000000..e4745dc
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemTraceLogController.java
@@ -0,0 +1,46 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.QuerySystemTraceLogDTO;
+import com.doumee.dao.system.model.SystemTraceLog;
+import com.doumee.service.system.SystemTraceLogService;
+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.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "璺熻釜鏃ュ織")
+@RestController
+@RequestMapping("/system/traceLog")
+public class SystemTraceLogController extends BaseController {
+
+ @Autowired
+ private SystemTraceLogService systemTraceLogService;
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:traceLog:query")
+ public ApiResponse findPage (@RequestBody PageWrap<QuerySystemTraceLogDTO> pageWrap) {
+ return ApiResponse.success(systemTraceLogService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("system:traceLog:query")
+ public void exportExcel (@RequestBody PageWrap<QuerySystemTraceLogDTO> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(SystemTraceLog.class).export(systemTraceLogService.findPage(pageWrap).getRecords(), "鎿嶄綔鏃ュ織", response);
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/api/system/SystemUserController.java b/server/shop/src/main/java/com/doumee/api/system/SystemUserController.java
new file mode 100644
index 0000000..acebc5d
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/api/system/SystemUserController.java
@@ -0,0 +1,192 @@
+package com.doumee.api.system;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemUserBiz;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.OperaType;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.dto.*;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.vo.SystemUserListVO;
+import com.doumee.service.system.SystemUserService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import com.doumee.core.model.ApiResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Api(tags = "鐢ㄦ埛")
+@RestController
+@RequestMapping("/system/user")
+public class SystemUserController extends BaseController {
+
+ @Autowired
+ private SystemUserService systemUserService;
+
+ @Autowired
+ private SystemUserBiz systemUserBiz;
+
+ @PreventRepeat
+ @ApiOperation("閰嶇疆鐢ㄦ埛瑙掕壊")
+ @PostMapping("/createUserRole")
+ @RequiresPermissions("system:user:createUserRole")
+ public ApiResponse createUserRole (@Validated @RequestBody CreateUserRoleDTO dto) {
+ systemUserBiz.createUserRole(dto);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("閲嶇疆鐢ㄦ埛瀵嗙爜")
+ @PostMapping("/resetPwd")
+ @RequiresPermissions("system:user:resetPwd")
+ public ApiResponse resetPwd (@Validated @RequestBody ResetSystemUserPwdDTO dto) {
+ dto.setOperaUserId(this.getLoginUser().getId());
+ systemUserBiz.resetPwd(dto);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("system:user:create")
+ public ApiResponse create(@Validated(OperaType.Create.class) @RequestBody CreateSystemUserDTO systemUser) {
+ systemUser.setCreateUser(this.getLoginUser().getId());
+ systemUserBiz.create(systemUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("system:user:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ systemUserBiz.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("system:user:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ systemUserBiz.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @ApiOperation("淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("system:user:update")
+ public ApiResponse updateById( @RequestBody CreateSystemUserDTO systemUser) {
+ systemUser.setUpdateUser(this.getLoginUser().getId());
+ systemUserBiz.updateById(systemUser);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse<PageData<SystemUserListVO>> findPage (@RequestBody PageWrap<QuerySystemUserDTO> pageWrap) {
+ pageWrap.getModel().setCompanyId(this.getLoginUser().getCompanyId());
+ return ApiResponse.success(systemUserService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛")
+ @PostMapping("/findAllList")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse<PageData<SystemUser>> findAllList (@RequestBody PageWrap<SystemUser> pageWrap) {
+ return ApiResponse.success(systemUserService.findAllList(pageWrap));
+ }
+
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("system:user:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(systemUserService.findById(id));
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("鏂板缓鍛樺伐")
+ @PostMapping("/companyCreateUser")
+ @RequiresPermissions("system:user:create")
+ public ApiResponse companyCreate(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
+ createCompanyUserDTO.setType(Constants.UserType.COMPANY.getKey());
+ systemUserBiz.companyCreateUser(createCompanyUserDTO);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("鏂板缓涓绘挱")
+ @PostMapping("/companyCreateAnchor")
+// @RequiresPermissions("system:user:create")
+ public ApiResponse companyCreateAnchor(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
+ createCompanyUserDTO.setType(Constants.UserType.ZHUBO.getKey());
+ systemUserBiz.companyCreateUser(createCompanyUserDTO);
+ return ApiResponse.success(null);
+ }
+
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("淇敼鍛樺伐淇℃伅")
+ @PostMapping("/companyUpdUser")
+ @RequiresPermissions("system:user:create")
+ public ApiResponse companyUpdUser(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
+ createCompanyUserDTO.setType(Constants.UserType.COMPANY.getKey());
+ systemUserBiz.companyUpdUser(createCompanyUserDTO);
+ return ApiResponse.success(null);
+ }
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("淇敼涓绘挱淇℃伅")
+ @PostMapping("/companyUpdAnchor")
+ @RequiresPermissions("system:user:create")
+ public ApiResponse companyUpdAnchor(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
+ createCompanyUserDTO.setType(Constants.UserType.ZHUBO.getKey());
+ systemUserBiz.companyUpdUser(createCompanyUserDTO);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("淇敼鐢ㄦ埛鐘舵��")
+ @GetMapping("/updUserStatus")
+// @RequiresPermissions("system:user:create")
+ public ApiResponse updUserStatus( @RequestParam Integer id,@RequestParam Integer status) {
+ systemUserBiz.updUserStatus(id,status);
+ return ApiResponse.success(null);
+ }
+
+
+ @Trace(withRequestParameters = false)
+ @PreventRepeat
+ @ApiOperation("淇敼瀵嗙爜")
+ @PostMapping("/updPassword")
+// @RequiresPermissions("system:user:create")
+ public ApiResponse updPassword(@Validated(OperaType.Create.class) @RequestBody CreateCompanyUserDTO createCompanyUserDTO) {
+ systemUserBiz.updPassword(createCompanyUserDTO);
+ return ApiResponse.success(null);
+ }
+
+}
diff --git a/server/shop/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/shop/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
new file mode 100644
index 0000000..9817cda
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
@@ -0,0 +1,99 @@
+package com.doumee.config.swagger;
+
+import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.RequestHandler;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.oas.annotations.EnableOpenApi;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.function.Predicate;
+
+/**
+ * Swagger閰嶇疆
+ * @author Eva.Caesar Liu
+ * @date 2022/03/11 10:24
+ */
+@Configuration
+@EnableOpenApi
+@EnableKnife4j
+public class SwaggerConfig {
+
+ @Value("${swagger.host:}")
+ private String host;
+
+ @Value("${swagger.title:鎺ュ彛鏂囨。}")
+ private String title;
+
+ @Value("${swagger.description:}")
+ private String description;
+
+ @Value("${project.version:}")
+ private String version;
+
+ @Bean
+ public ApiInfo getApiInfo() {
+ return new ApiInfoBuilder()
+ .title(title)
+ .description(description)
+ .version(version)
+ .build();
+ }
+ @Bean
+ public Docket getDocket() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(this.getApiInfo()).groupName("銆愮郴缁熺鐞嗘帴鍙PI銆�")
+ .host(host)
+ .select()
+ .apis( basePackage("com.doumee.api.system;com.doumee.api.business;"))
+ // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+ .paths(PathSelectors.any())
+ .build();
+ }
+ @Bean
+ public Docket getDocket1() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(this.getApiInfo()).groupName("銆愬叕鍏辨帴鍙PI銆�")
+ .host(host)
+ .select()
+ .apis( basePackage("com.doumee.api.common"))
+ // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
+// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
+ .paths(PathSelectors.any())
+ .build();
+ }
+ /**
+ * 閲嶅啓basePackage鏂规硶锛屼娇鑳藉瀹炵幇澶氬寘璁块棶锛屽鍒惰创涓婂幓
+ * @author teavamc
+ * @date 2019/1/26
+ * @return com.google.common.base.Predicate<springfox.documentation.RequestHandler>
+ */
+ public static Predicate<RequestHandler> basePackage(String basePackage) {
+ return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
+ }
+
+ private static Function<Class<?>, Boolean> handlerPackage(String basePackage) {
+ return input -> {
+ // 寰幆鍒ゆ柇鍖归厤
+ for (String strPackage : basePackage.split(";")) {
+ boolean isMatch = input.getPackage().getName().startsWith(strPackage);
+ if (isMatch) {
+ return true;
+ }
+ }
+ return false;
+ };
+ }
+
+ private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {
+ return Optional.fromNullable(input.declaringClass());
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java b/server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java
new file mode 100644
index 0000000..8fd55c6
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptor.java
@@ -0,0 +1,45 @@
+package com.doumee.config.swagger;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * Swagger鎷︽埅鍣�
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Slf4j
+@Component
+public class SwaggerInterceptor implements HandlerInterceptor {
+
+ @Value("${swagger.enabled:false}")
+ private Boolean enabledSwagger;
+
+ @Value("${swagger.redirect-uri:/}")
+ private String redirectUri;
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+ if (!enabledSwagger) {
+ String uri = request.getContextPath();
+ if (StringUtils.isNotBlank(redirectUri))
+ uri = request.getContextPath() + redirectUri;
+ if (StringUtils.isBlank(uri))
+ uri = "/";
+ try {
+ response.sendRedirect(uri);
+ } catch (IOException e) {
+ log.error(String.format("Redirect to '%s' for swagger throw an exception : %s", uri, e.getMessage()), e);
+ }
+ return Boolean.FALSE;
+ }
+ return Boolean.TRUE;
+ }
+}
diff --git a/server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java b/server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java
new file mode 100644
index 0000000..ca3aa45
--- /dev/null
+++ b/server/shop/src/main/java/com/doumee/config/swagger/SwaggerInterceptorConfig.java
@@ -0,0 +1,22 @@
+package com.doumee.config.swagger;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * Swagger鎷︽埅鍣ㄩ厤缃�
+ * @author Eva.Caesar Liu
+ * @date 2022/04/18 18:12
+ */
+@Configuration
+public class SwaggerInterceptorConfig implements WebMvcConfigurer {
+
+ @Autowired
+ private SwaggerInterceptor swaggerInterceptor;
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(swaggerInterceptor).addPathPatterns("/swagger-ui.html", "/doc.html");
+ }
+}
diff --git a/server/shop/src/main/resources/application.yml b/server/shop/src/main/resources/application.yml
new file mode 100644
index 0000000..83ded24
--- /dev/null
+++ b/server/shop/src/main/resources/application.yml
@@ -0,0 +1,65 @@
+# 椤圭洰淇℃伅閰嶇疆
+project:
+ name: 浜戞槗淇濆鎴锋湇鍔$郴缁�
+ version: 1.0.0
+ env: development
+# env: production
+server:
+# port: 10022
+ port: 10031
+
+spring:
+# application:git
+# name: doumeemes
+ profiles:
+ active: dev
+
+ # JSON杩斿洖閰嶇疆
+ jackson:
+ # 榛樿鏃跺尯
+ time-zone: GMT+8
+ # 榛樿鏃ユ湡鏍煎紡鍖�
+ date-format: yyyy-MM-dd HH:mm:ss
+ servlet:
+ multipart:
+ max-file-size: 200MB
+ max-request-size: 200MB
+ enabled: true
+# MyBatis閰嶇疆
+mybatis-plus:
+ mapper-locations: classpath*:/mappers/**/*.xml
+ configuration:
+ map-underscore-to-camel-case: true
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+# 缂撳瓨鍐呭璁剧疆
+cache:
+ session:
+ # 浼氳瘽杩囨湡鏃堕暱(s)
+ expire: 18000
+ captcha:
+ # 楠岃瘉鐮佽繃鏈熸椂闀�(s)
+ expire: 300
+
+# 璺熻釜鏃ュ織
+trace:
+ # 寮�鍚櫤鑳借窡韪ā寮�
+ smart: true
+ # 鎺掗櫎璺熻釜鐨刄RL姝e垯
+ exclude-patterns: .+/list[a-zA-Z0-9\-\_]*$, .+/tree[a-zA-Z0-9\-\_]*$, .+/page[a-zA-Z0-9\-\_]*$, .+/all[a-zA-Z0-9\-\_]*$, /swagger-resources.*
+
+# 鏃ュ織閰嶇疆
+logback:
+ level: INFO
+ appender: ${project.env}
+# dao灞傜殑鏃ュ織璁剧疆涓篸ebug锛屾柟渚挎煡鐪媠ql
+logging:
+ level:
+ doumeemes.dao: debug
+
+knife4j:
+ enable: true
+ basic:
+ enable: true
+ username: admin
+ password: 111111
\ No newline at end of file
--
Gitblit v1.9.3