From 61818816a41a2a11a80a9a3ed17a7d42de6656eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?LI-CCONG=5C=E6=9D=8E=E8=81=AA=E8=81=AA?= <1441652193@qq.com>
Date: Fri, 11 Aug 2023 11:59:00 +0800
Subject: [PATCH 1/4] =?UTF-8?q?demo=E6=A8=A1=E5=9D=97=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90v1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
node_modules/.yarn-integrity | 10 -----
.../yunxi-module-demo-biz/pom.xml | 8 ++++
.../admin/material/MaterialController.java | 41 +++++++++----------
.../web/config/DemoWebConfiguration.java | 24 +++++++++++
.../demo/framework/web/package-info.java | 4 ++
.../src/main/resources/application.yaml | 4 +-
6 files changed, 58 insertions(+), 33 deletions(-)
delete mode 100644 node_modules/.yarn-integrity
create mode 100644 yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/config/DemoWebConfiguration.java
create mode 100644 yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/package-info.java
diff --git a/node_modules/.yarn-integrity b/node_modules/.yarn-integrity
deleted file mode 100644
index 6b67134..0000000
--- a/node_modules/.yarn-integrity
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "systemParams": "win32-x64-93",
- "modulesFolders": [],
- "flags": [],
- "linkedModules": [],
- "topLevelPatterns": [],
- "lockfileEntries": {},
- "files": [],
- "artifacts": {}
-}
\ No newline at end of file
diff --git a/yunxi-module-demo/yunxi-module-demo-biz/pom.xml b/yunxi-module-demo/yunxi-module-demo-biz/pom.xml
index 27cd565..a7d7480 100644
--- a/yunxi-module-demo/yunxi-module-demo-biz/pom.xml
+++ b/yunxi-module-demo/yunxi-module-demo-biz/pom.xml
@@ -37,11 +37,18 @@
yunxi-spring-boot-starter-web
+
com.yunxi.scm
yunxi-spring-boot-starter-security
+
+
+ com.yunxi.scm
+ yunxi-spring-boot-starter-biz-data-permission
+
+
com.yunxi.scm
@@ -59,6 +66,7 @@
com.yunxi.scm
yunxi-spring-boot-starter-excel
+
\ No newline at end of file
diff --git a/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/controller/admin/material/MaterialController.java b/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/controller/admin/material/MaterialController.java
index adedc2e..bf1dafd 100644
--- a/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/controller/admin/material/MaterialController.java
+++ b/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/controller/admin/material/MaterialController.java
@@ -1,32 +1,30 @@
package com.yunxi.scm.module.demo.controller.admin.material;
-import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.security.access.prepost.PreAuthorize;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.Operation;
-
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
-import java.util.*;
-import java.io.IOException;
-
-import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.common.pojo.CommonResult;
-import static com.yunxi.scm.framework.common.pojo.CommonResult.success;
-
+import com.yunxi.scm.framework.common.pojo.PageResult;
+import com.yunxi.scm.framework.datapermission.core.annotation.DataPermission;
import com.yunxi.scm.framework.excel.core.util.ExcelUtils;
-
import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog;
-import static com.yunxi.scm.framework.operatelog.core.enums.OperateTypeEnum.*;
-
import com.yunxi.scm.module.demo.controller.admin.material.vo.*;
-import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
import com.yunxi.scm.module.demo.convert.material.MaterialConvert;
+import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
import com.yunxi.scm.module.demo.service.material.MaterialService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
+import static com.yunxi.scm.framework.common.pojo.CommonResult.success;
+import static com.yunxi.scm.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 物料管理")
@RestController
@@ -82,6 +80,7 @@ public class MaterialController {
@GetMapping("/page")
@Operation(summary = "获得物料管理分页")
@PreAuthorize("@ss.hasPermission('demo:material:query')")
+ @DataPermission // 数据权限功能,默认是开启的
public CommonResult> getMaterialPage(@Valid MaterialPageReqVO pageVO) {
PageResult pageResult = materialService.getMaterialPage(pageVO);
return success(MaterialConvert.INSTANCE.convertPage(pageResult));
diff --git a/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/config/DemoWebConfiguration.java b/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/config/DemoWebConfiguration.java
new file mode 100644
index 0000000..44f2b08
--- /dev/null
+++ b/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/config/DemoWebConfiguration.java
@@ -0,0 +1,24 @@
+package com.yunxi.scm.module.demo.framework.web.config;
+
+import com.yunxi.scm.framework.swagger.config.YunxiSwaggerAutoConfiguration;
+import org.springdoc.core.GroupedOpenApi;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * system 模块的 web 组件的 Configuration
+ *
+ * @author 芋道源码
+ */
+@Configuration(proxyBeanMethods = false)
+public class DemoWebConfiguration {
+
+ /**
+ * demo 模块的 API 分组
+ */
+ @Bean
+ public GroupedOpenApi dempGroupedOpenApi() {
+ return YunxiSwaggerAutoConfiguration.buildGroupedOpenApi("demo");
+ }
+
+}
diff --git a/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/package-info.java b/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/package-info.java
new file mode 100644
index 0000000..f71416f
--- /dev/null
+++ b/yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/framework/web/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * system 模块的 web 配置
+ */
+package com.yunxi.scm.module.demo.framework.web;
diff --git a/yunxi-server/src/main/resources/application.yaml b/yunxi-server/src/main/resources/application.yaml
index a7fb9e9..c4fdadf 100644
--- a/yunxi-server/src/main/resources/application.yaml
+++ b/yunxi-server/src/main/resources/application.yaml
@@ -86,7 +86,7 @@ aj:
cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存
timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行
type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选
- water-mark: 芋道源码 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
+ water-mark: \u957f\u6c5f\u4e91\u606f # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
interference-options: 0 # 滑动干扰项(0/1/2)
req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false
req-get-lock-limit: 5 # 验证失败 5 次,get接口锁定
@@ -113,7 +113,7 @@ yunxi:
maxOnlineCount: 0 # 最大连接人数
sessionMap: true # 保存sessionMap
swagger:
- title: 芋道快速开发平台
+ title: 云息供应链管理平台接口文档
description: 提供管理后台、用户 App 的所有功能
version: ${yunxi.info.version}
url: ${yunxi.web.admin-ui.url}
From f68b58448c56919400aca90145f270aa95cd4fb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?LI-CCONG=5C=E6=9D=8E=E8=81=AA=E8=81=AA?= <1441652193@qq.com>
Date: Thu, 17 Aug 2023 08:59:36 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=AF=BC=E5=85=A5?=
=?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD=E3=80=81=E6=B3=A8=E8=A7=A3?=
=?UTF-8?q?=E5=AD=97=E5=85=B8=E8=BD=AC=E6=8D=A2=E5=8A=9F=E8=83=BD=E6=A1=88?=
=?UTF-8?q?=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../excel/core/convert/JsonConvert.java | 4 +-
.../excel/core/convert/MutilDictConvert.java | 81 +++++++++++++++++++
.../controller/admin/DemoTestController.java | 66 ++++++++++++++-
.../admin/material/vo/MaterialBaseVO.java | 4 +-
.../admin/material/vo/MaterialExcelVO.java | 11 +--
.../material/vo/MaterialExportReqVO.java | 5 +-
.../material/vo/MaterialExportTestVO.java | 18 +++++
.../material/vo/MaterialImportTestVO.java | 27 +++++++
.../admin/material/vo/MaterialPageReqVO.java | 5 +-
.../convert/material/MaterialConvert.java | 13 +--
.../dal/dataobject/material/MaterialDO.java | 6 +-
.../dal/dataobject/material/MaterialXDO.java | 15 ++++
.../dal/mysql/material/MaterialMapper.java | 13 +--
.../demo/enums/material/CategoryEnum.java | 34 ++++++++
.../material/MaterialServiceImplTest.java | 46 +++++------
.../service/file/FileConfigServiceImpl.java | 4 +-
.../SensitiveWordController.java | 2 +-
.../controller/admin/user/UserController.java | 1 -
.../sensitiveword/SensitiveWordDO.java | 6 +-
.../SensitiveWordServiceImpl.java | 8 +-
.../service/sms/SmsChannelServiceImpl.java | 4 +-
.../src/layout/components/Message/index.vue | 6 +-
.../src/views/demo/material/index.vue | 22 ++---
.../src/views/system/sensitiveWord/index.vue | 3 +-
24 files changed, 317 insertions(+), 87 deletions(-)
create mode 100644 yunxi-framework/yunxi-spring-boot-starter-excel/src/main/java/com/yunxi/scm/framework/excel/core/convert/MutilDictConvert.java
create mode 100644 yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/controller/admin/material/vo/MaterialExportTestVO.java
create mode 100644 yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/controller/admin/material/vo/MaterialImportTestVO.java
create mode 100644 yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/dal/dataobject/material/MaterialXDO.java
create mode 100644 yunxi-module-demo/yunxi-module-demo-biz/src/main/java/com/yunxi/scm/module/demo/enums/material/CategoryEnum.java
diff --git a/yunxi-framework/yunxi-spring-boot-starter-excel/src/main/java/com/yunxi/scm/framework/excel/core/convert/JsonConvert.java b/yunxi-framework/yunxi-spring-boot-starter-excel/src/main/java/com/yunxi/scm/framework/excel/core/convert/JsonConvert.java
index 16d2060..df64aed 100644
--- a/yunxi-framework/yunxi-spring-boot-starter-excel/src/main/java/com/yunxi/scm/framework/excel/core/convert/JsonConvert.java
+++ b/yunxi-framework/yunxi-spring-boot-starter-excel/src/main/java/com/yunxi/scm/framework/excel/core/convert/JsonConvert.java
@@ -1,11 +1,11 @@
package com.yunxi.scm.framework.excel.core.convert;
-import com.yunxi.scm.framework.common.util.json.JsonUtils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.yunxi.scm.framework.common.util.json.JsonUtils;
/**
* Excel Json 转换器
@@ -16,11 +16,13 @@ public class JsonConvert implements Converter