Browse Source

feate: 设备冷链监控模块

jackzhou 7 months ago
parent
commit
06d5679cfb
99 changed files with 460 additions and 4512 deletions
  1. 0 278
      README.md
  2. 0 9
      images/README.md
  3. 0 2
      pom.xml
  4. 0 14
      snowy-admin-web/README.md
  5. 0 1
      snowy-admin-web/src/assets/images/fileImg/README.md
  6. 0 15
      snowy-admin-web/src/components/Editor/README.md
  7. 0 187
      snowy-admin-web/src/components/Map/baiduMap/README.md
  8. 0 205
      snowy-admin-web/src/components/Map/gaodeMap/README.md
  9. 0 48
      snowy-admin-web/src/components/Selector/iconSelector_README.md
  10. 0 375
      snowy-admin-web/src/components/Table/README.md
  11. 0 62
      snowy-admin-web/src/components/XnCardList/README.md
  12. 0 67
      snowy-admin-web/src/components/XnDataList/README.md
  13. 0 9
      snowy-admin-web/src/components/XnFilePreview/README.md
  14. 0 36
      snowy-admin-web/src/components/XnOrgSelector/README.md
  15. 0 192
      snowy-admin-web/src/components/XnPageSelect/README.md
  16. 0 36
      snowy-admin-web/src/components/XnPositionSelector/README.md
  17. 0 36
      snowy-admin-web/src/components/XnRoleSelector/README.md
  18. 0 117
      snowy-admin-web/src/components/XnSignName/README.md
  19. 0 39
      snowy-admin-web/src/components/XnUpload/README.md
  20. 0 36
      snowy-admin-web/src/components/XnUserSelector/README.md
  21. 0 7
      snowy-admin-web/src/style/readme.md
  22. 0 15
      snowy-plugin-api/README.md
  23. 0 1
      snowy-plugin-api/snowy-plugin-auth-api/README.md
  24. 0 1
      snowy-plugin-api/snowy-plugin-biz-api/README.md
  25. 0 1
      snowy-plugin-api/snowy-plugin-client-api/README.md
  26. 0 1
      snowy-plugin-api/snowy-plugin-dev-api/README.md
  27. 0 1
      snowy-plugin-api/snowy-plugin-gen-api/README.md
  28. 0 1
      snowy-plugin-api/snowy-plugin-mobile-api/README.md
  29. 0 1
      snowy-plugin-api/snowy-plugin-mobile-api/src/main/java/vip/xiaonuo/mobile/README.md
  30. 0 1
      snowy-plugin-api/snowy-plugin-sys-api/README.md
  31. 0 1
      snowy-plugin-api/snowy-plugin-sys-api/src/main/java/vip/xiaonuo/sys/README.md
  32. 0 15
      snowy-plugin/README.md
  33. 0 1
      snowy-plugin/snowy-plugin-auth/README.md
  34. 0 1
      snowy-plugin/snowy-plugin-biz/README.md
  35. 0 1
      snowy-plugin/snowy-plugin-client/README.md
  36. 40 0
      snowy-plugin/snowy-plugin-coldchain/pom.xml
  37. 30 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/RKService.java
  38. 96 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/RenKeTest.java
  39. 15 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/config/JfcloudColdChainConstants.java
  40. 97 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/config/JfcloudColdChainServerAutoConfiguration.java
  41. 20 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/config/JfcloudColdChainServerProperties.java
  42. 79 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/listener/JfcloudColdChainDefaultDataListener.java
  43. 59 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/util/IPUtils.java
  44. 0 123
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/controller/TbalarmController.java
  45. 0 97
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/entity/Tbalarm.java
  46. 0 34
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/enums/TbalarmEnum.java
  47. 0 25
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/mapper/TbalarmMapper.java
  48. 0 5
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/mapper/mapping/TbalarmMapper.xml
  49. 0 94
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmAddParam.java
  50. 0 99
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmEditParam.java
  51. 0 35
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmIdParam.java
  52. 0 51
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmPageParam.java
  53. 0 80
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/service/TbalarmService.java
  54. 0 94
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/service/impl/TbalarmServiceImpl.java
  55. 0 123
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/controller/TbhistoryController.java
  56. 0 81
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/entity/Tbhistory.java
  57. 0 34
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/enums/TbhistoryEnum.java
  58. 0 25
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/mapper/TbhistoryMapper.java
  59. 0 5
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/mapper/mapping/TbhistoryMapper.xml
  60. 0 78
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryAddParam.java
  61. 0 83
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryEditParam.java
  62. 0 35
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryIdParam.java
  63. 0 51
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryPageParam.java
  64. 0 80
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/service/TbhistoryService.java
  65. 0 94
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/service/impl/TbhistoryServiceImpl.java
  66. 0 123
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/controller/TbnoticelogController.java
  67. 0 65
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/entity/Tbnoticelog.java
  68. 0 34
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/enums/TbnoticelogEnum.java
  69. 0 25
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/mapper/TbnoticelogMapper.java
  70. 0 5
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/mapper/mapping/TbnoticelogMapper.xml
  71. 0 62
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogAddParam.java
  72. 0 67
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogEditParam.java
  73. 0 35
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogIdParam.java
  74. 0 51
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogPageParam.java
  75. 0 80
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/service/TbnoticelogService.java
  76. 0 94
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/service/impl/TbnoticelogServiceImpl.java
  77. 0 123
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/controller/TbsyslogController.java
  78. 0 57
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/entity/Tbsyslog.java
  79. 0 34
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/enums/TbsyslogEnum.java
  80. 0 25
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/mapper/TbsyslogMapper.java
  81. 0 5
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/mapper/mapping/TbsyslogMapper.xml
  82. 0 54
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogAddParam.java
  83. 0 59
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogEditParam.java
  84. 0 35
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogIdParam.java
  85. 0 51
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogPageParam.java
  86. 0 80
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/service/TbsyslogService.java
  87. 0 94
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/service/impl/TbsyslogServiceImpl.java
  88. 1 0
      snowy-plugin/snowy-plugin-coldchain/src/main/resources/META-INF/spring.factories
  89. BIN
      snowy-plugin/snowy-plugin-coldchain/src/main/resources/lib/param.dat
  90. 0 1
      snowy-plugin/snowy-plugin-dev/README.md
  91. 0 1
      snowy-plugin/snowy-plugin-gen/README.md
  92. 0 1
      snowy-plugin/snowy-plugin-mobile/README.md
  93. 0 1
      snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/fileImg/README.md
  94. 0 1
      snowy-plugin/snowy-plugin-sys/README.md
  95. 0 1
      snowy-web-app/README.md
  96. 7 0
      snowy-web-app/pom.xml
  97. 11 0
      snowy-web-app/src/main/java/vip/xiaonuo/Application.java
  98. 0 6
      snowy-web-app/src/main/resources/README.md
  99. 5 3
      snowy-web-app/src/main/resources/application.properties

+ 0 - 278
README.md

@@ -1,278 +0,0 @@
-<div align="center">
-    <p align="center">
-        <img src="./snowy-admin-web/public/img/logo.png" height="150" alt="logo"/>
-    </p>
-</div>
-
-## 框架介绍
-
-Snowy(SnowyAdmin)是国内首个国密前后端分离快速开发平台,集成国密加解密插件,
-软件层面完全符合等保测评要求,同时实现国产化机型、中间件、数据库适配,是您的不二之选!
-技术框架与密码结合,让更多的人认识密码,使用密码;更是让前后分离“密”不可分。
-
-
-采用SpringBoot+MybatisPlus+AntDesignVue+Vite 等更多组件及前沿技术开发,注释丰富,代码简洁,开箱即用!
-
-Snowy谐音“小诺”,恰应小诺团队名称;意思为”下雪的、纯洁的“,寓意框架追求简洁至上,大道至简。
-
-<p align="center">     
-    <p align="center">
-        <a href="https://gitee.com/xiaonuobase/snowy">
-            <img src="https://gitee.com/xiaonuobase/snowy/badge/star.svg?theme=dark" alt="Gitee star">
-        </a>
-        <a href="https://gitee.com/xiaonuobase/snowy">
-            <img src="https://gitee.com/xiaonuobase/snowy/badge/fork.svg?theme=dark" alt="Gitee fork">
-        </a>
-        <a href="https://www.antdv.com/docs/vue/introduce-cn/">
-            <img src="https://img.shields.io/badge/vue-3-blue.svg" alt="bootstrap">
-        </a> 
-        <a href="http://spring.io/projects/spring-boot">
-            <img src="https://img.shields.io/badge/vite-5-green.svg" alt="spring-boot">
-        </a>
-        <a href="https://www.antdv.com/docs/vue/introduce-cn/">
-            <img src="https://img.shields.io/badge/vue--ant--design-4-blue.svg" alt="bootstrap">
-        </a> 
-        <a href="http://spring.io/projects/spring-boot">
-            <img src="https://img.shields.io/badge/spring--boot-3-green.svg" alt="spring-boot">
-        </a>
-        <a href="http://mp.baomidou.com">
-            <img src="https://img.shields.io/badge/mybatis--plus-3-blue.svg" alt="mybatis-plus">
-        </a>  
-        <a href="./LICENSE">
-            <img src="https://img.shields.io/badge/license-Apache%202-red" alt="license Apache 2.0">
-        </a>
-        <a href="https://old.murphysec.com/dr/mQ1xAybeOLMLOxH8pU" alt="OSCS Status">
-            <img src="https://www.oscs1024.com/platform/badge//xiaonuobase/snowy.git.svg?size=small"/>
-        </a>
-    </p>
-</p>
-
-## 快速链接
-
-gitee下载地址:[https://gitee.com/xiaonuobase/snowy](https://gitee.com/xiaonuobase/snowy)
-
-github下载地址(镜像):[https://github.com/xiaonuobase/Snowy](https://github.com/xiaonuobase/Snowy)
-
-gitcode下载地址:[https://gitcode.com/xiaonuobase/Snowy](https://gitcode.com/xiaonuobase/Snowy)
-
-演示地址:[https://snowy.xiaonuo.vip](https://snowy.xiaonuo.vip)
-
-文档地址:[https://xiaonuo.vip/doc](https://xiaonuo.vip/doc)
-
-## 快速启动
-
-全栈工程师推荐idea
-
-### 前端支撑
-| 插件 | 版本  | 用途 |
-|--- |-----| ----- |
-| node.js | ≥18 |  JavaScript运行环境 |
-
-### 启动前端
-
-```
-npm install
-```
-```
-npm run dev
-```
-### 后端支撑
-| 插件 | 版本        | 用途 |
-| --- |-----------|  ----- |
-| jdk | 17        |java环境 |
-| lombok | idea内     |代码简化插件 |
-| maven | 最新版       |包管理工具 |
-| redis | 最新版       | 缓存库 |
-| mysql | 8.0 / 5.7 | 数据库 |
-
-### 启动后端
-开发工具内配置好maven并在代码中配置数据库即可启动
-
-## 代码结构
-
-Snowy3.0框架对代码以插件化的模式进行分包,使得包层级结构更加清晰合理,同时降低了耦合度,关于插件模块化开发的规范请查阅文档【SNOWY开源文档——前端手册or后端手册——开发规范】板块。
-
-```
-snowy
-  |-snowy-admin-web == 前端
-    |-public == 基础静态文件
-    |-src == 前端源代码
-      |-api == API接口转发
-      |-assets == 静态文件
-      |-components == VUE组件
-      |-config == 基础配置
-      |-layout == 基础布局
-      |-locales == 多语言配置
-      |-router == 基础路由配置
-      |-store == Pinia缓存配置
-      |-style == 样式风格配置
-      |-utils == 工具类
-      |-views == 所有视图界面
-  |-snowy-common == 基础通用模块
-  |-snowy-plugin == 插件包
-    |-snowy-plugin-auth == 登录鉴权插件
-    |-snowy-plugin-biz == 业务功能插件
-    |-snowy-plugin-client == C端功能插件
-    |-snowy-plugin-dev == 开发工具插件
-    |-snowy-plugin-gen == 代码生成插件
-    |-snowy-plugin-mobile == 移动端管理插件
-    |-snowy-plugin-sys == 系统功能插件
-  |-snowy-plugin-api == 插件api包
-    |-snowy-plugin-auth-api == 登录鉴权插件api接口
-    |-snowy-plugin-biz-api == 业务功能插件api接口
-    |-snowy-plugin-client-api == C端功能插件api接口
-    |-snowy-plugin-dev-api == 开发工具插件api接口
-    |-snowy-plugin-gen == 代码生成插件api接口
-    |-snowy-plugin-mobile == 移动端管理插件api接口
-    |-snowy-plugin-sys-api == 系统功能插件api接口
-  |-snowy-web-app == 主启动模块
-```
-
-
-## 分支说明
-
-- master 
-
-正式稳定版本,具体版本升级内容看更新标签
-
-- dev 
-
-团队开发的分支(代码可能随时会推,不保证运行和使用)
-
-- snowy1.8 
-
-1.x分支,目前已停止新增功能,只限于bug的维护,推荐使用2x版本
-
-- snowy2.5
-
-2.x分支,目前已停止新增功能,只限于bug的维护,可以平滑过渡至3x版本
-
-## 视频教程
-
-教程地址(免费开放):[https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071](https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071)
-
-<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=8nOccuKg&path=%7BshareItemLink%3A8nOccuKg%7D%2F"/>
-
-作者也在上班工作,所以在利用休息时间为大家创作,录制视频的目的也是为各位小伙伴提供文档跟技术交流群聊之外的上手学习资料
-
-> 视频由小诺开源技术团队王同学(每天一点)进行录制
-
-## 架构原理
-* 业务架构
-<p align="center">
-    <img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=9ModuV8g&path=%7BshareItemLink%3A9ModuV8g%7D%2F"/>
-</p>
-
-* 应用架构
-<p align="center">
-    <img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=9MofgHWg&path=%7BshareItemLink%3A9MofgHWg%7D%2F"/>
-</p>
-
-* 数据架构
-<p align="center">
-    <img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=9Mof3msg&path=%7BshareItemLink%3A9Mof3msg%7D%2F"/>
-</p>
-
-* 技术架构
-<p align="center">
-    <img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=9MogF8ww&path=%7BshareItemLink%3A9MogF8ww%7D%2F"/>
-</p>
-
-* 部署架构
-<p align="center">
-    <img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=9MogXWKQ&path=%7BshareItemLink%3A9MogXWKQ%7D%2F"/>
-</p>
-
-## 效果展示
-
-<table>
-    <tr>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=a938SjhgZ5ayRmNxjyvqNeG4piLbdyB39rdXaFyKsqCVrkmwLRyBcBc&name=/%E7%99%BB%E5%BD%95%E9%A1%B5%E9%9D%A2.png"/></td>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=b5e9VS9CKAeez01eHUfUdGyzm9eRSvtPrw9AF90mt_vPImvieiU9BR0&name=/%E7%B3%BB%E7%BB%9F%E9%A6%96%E9%A1%B5.png"/></td>
-    </tr>
-    <tr>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=d173c7qJ7dgrK3vN1ovs55qtuDGW6bFOdiYglAsDNCJbI1LDifNuu_E&name=/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.png"/></td>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=0086BVQAINW_1mFSSz3Of4gsyreG3fX-6BZqiqLb0kWSXA-6ff6dD4Y&name=/%E6%9C%8D%E5%8A%A1%E7%9B%91%E6%8E%A7.png"/></td>
-    </tr>
-    <tr>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=1b72cVKHNtArl1A7qTeaAMicO1Pcv99U9PrPn4ESfwgk1VqCRmEIVqc&name=/%E6%8E%88%E6%9D%83%E6%9D%83%E9%99%90.png"/></td>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=1cc4CdKq2y5-hjuCfBLe5QiydnJMJfHWiM25mbobRsDBD7LK2Czkl3g&name=/%E6%93%8D%E4%BD%9C%E6%97%A5%E5%BF%97.png"/></td>
-    </tr>
-    <tr>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=f923EqvOkfbhNtN2pXA0Z55I5fRX4-_XWTmiGA8QBM_JJyIELv7ugLM&name=/EC%E6%95%A3%E7%82%B9%E5%9B%BE.png"/></td>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=e43fxc4TEVvJCZNuBNcueFAh5Mi9CDwnc25v25krItJ0iKj1wKBnqfY&name=/%E8%8F%9C%E5%8D%95%E7%AE%A1%E7%90%86.png"/></td>
-    </tr>
-</table>
-
-
-## 密码分步
-
-| 功能                        | 算法类型          |
-| ----------------------      | ------------- |
-| 登录        | SM2前端加密,后端解密 |
-| 登录登出日志        | SM2对登录登出日志做签名完整性保护存储    |
-| 操作日志        | SM2对操作日志做签名完整性保护存储    |
-| 用户密码        | SM3完整性保护存储,登录时做完整性校验    |
-| 用户手机号        | SM4(cbc模式)加解密使用字段脱敏    |
-
-## 官方群聊
-
-
-QQ技术群:732230670(已满)、685395081
-
-微信技术群:因群达到200人以上,需加微信拉群
-
-<table>
-    <tr>
-        <td>微信群</td>
-        <td><img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=7qwFVcdA&path=%7BshareItemLink%3A7qwFVcdA%7D%2F" width="120"/></td>
-    </tr>
-</table>
-
-## 代码贡献
-
-近期有很多热心开源的小伙伴陆续为咱们Snowy框架提交PR或者提出好的建议,基本合格的PR我们都接受,这样您的头像就列入到咱们Snowy仓库的贡献者列表啦!
-
-如何贡献
-
-1、fork一份代码至自己的账号下,本地修改您要提的代码,提交至您fork的仓库
-
-2、登录gitee后到Snowy仓库下创建Pull Requests,选择您的仓库到Snowy的dev分支,提交即可
-
-因为dev分支是团队开发分支,并不是统一发版本的测试过的,所以我们建议提代码至dev即可
-
-## 外包开发
-
-如果您(或您公司)有外包开发需求,可以通过联系客服方式,提交您的需求,经过工作量分析,出具合适的报价,合作开发并交付。
-
-本团队具备雄厚的技术人才力量,均跟随小诺团队发展至今,已完全熟练每一处细节代码,您的产品自然也是由Snowy平台进行开发并交付。
-
-1、工期保障
-2、源码质量保障
-3、节点按时汇报
-
-## 团队成员
-
-| 成员 | 技术 | 昵称 | 
-| :---: | :---: | :---: | 
-| 俞宝山 | 全栈 | 俞宝山 | 
-| 徐玉祥 | 全栈 | 就是那个锅 | 
-| 董夏雨 | 全栈 | 阿董 | 
-| 王鹏 | 全栈 | 每天一点 | 
-| 陈心雨 | 前端 | . | 
-
-## 曾获荣誉
-
-<p align="center">
-    <img src="https://pan.xiaonuo.vip/?explorer/share/file&hash=dbb3FuNNxaLbVqqyPAU5uGmVZfExktgLQCnmK76Oy7PocjmFHr12ob-x&name=/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20230423085040.jpg"/>
-</p>
-
-## 版权说明
-
-- Snowy生态技术框架全系版本采用 Apache License2.0协议
-
-- 代码可用于个人项目等接私活或企业项目脚手架使用,Snowy全系开源版完全免费
-
-- 二次开发如用于开源竞品请先联系群主沟通,禁止任何变相的二开行为,未经审核视为侵权
-
-- 请不要删除和修改Snowy源码头部的版权与作者声明及出处

+ 0 - 9
images/README.md

@@ -1,9 +0,0 @@
-## images 相关说明
-
-#### 【架构图】
-
-1. 【Snowy-2X_Biz_Architecture.jpg】              业务架构
-2. 【Snowy-2X_Application_Architecture.jpg】      应用架构
-3. 【Snowy-2X_Data_Architecture.jpg】             数据架构
-4. 【Snowy-2X_Tech_Architecture.jpg】             技术架构
-5. 【Snowy-2X_Deploy_Architecture.jpg】           部署架构

+ 0 - 2
pom.xml

@@ -41,7 +41,6 @@
 
     <dependencyManagement>
         <dependencies>
-
             <!-- snowy-common -->
             <dependency>
                 <groupId>vip.xiaonuo</groupId>
@@ -426,7 +425,6 @@
             </dependency>-->
         </dependencies>
     </dependencyManagement>
-
     <build>
         <plugins>
             <plugin>

+ 0 - 14
snowy-admin-web/README.md

@@ -1,14 +0,0 @@
-
-## 安装依赖
-
-```
-npm install
-```
-
-## 启动项目(开发模式)
-
-```
-npm run serve
-```
-
-启动完成后浏览器访问 http://localhost:81

+ 0 - 1
snowy-admin-web/src/assets/images/fileImg/README.md

@@ -1 +0,0 @@
-图标文件来源:https://www.aigei.com/s?q=%E6%96%87%E4%BB%B6&detailTab=file&type=icon_7&page=11#resContainer

+ 0 - 15
snowy-admin-web/src/components/Editor/README.md

@@ -1,15 +0,0 @@
-## 富文本
-
-### 说明
-
-这个组件将在3.2版本移除,请及时更新使用xn-editor
-
-> 更新提示
-> 
-> 1、将<editor /> 改为 <xn-editor /> 
-> 
-> 2、v-model绑定改为v-model:value
-> 
-> 3、整体写法为:<xn-editor v-model:value="formData.字段名" />
-> 
-> 4、移除业务内跟此组件无关的其他代码即可

+ 0 - 187
snowy-admin-web/src/components/Map/baiduMap/README.md


+ 0 - 205
snowy-admin-web/src/components/Map/gaodeMap/README.md

@@ -1,205 +0,0 @@
-AMap
-====
-
-> 高德地图组件,常用于地图展示使用
-
-该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装
-
-### 使用方式
-
-```text
-申请key
-```
-
-访问 [高德地图官网](https://console.amap.com/dev/index) 注册账号,申请应用获得key
-
-```vue
-
-<template>
-	<gaode-map ref="map" api-key="******" @complete="handleComplete"
-				   @marker-click="handleMarkerClick" />
-</template>
-
-<script setup name="exmAMap">
-	import GaodeMap from '@/components/Map/gaodeMap/index.vue'
-
-	const map = ref(null)
-
-	const handleComplete = () => {
-		// 渲染 点标记
-		map.value.renderMarker(
-			[
-				{
-					position: [116.39, 39.9],
-					title: 'TA',
-					content: 'CA',
-					label: {
-						content: 'LCA'
-					}
-				},
-				{
-					position: [116.33, 39.5],
-					title: 'TB',
-					icon: '//vdata.amap.com/icons/b18/1/2.png'
-				}
-			]
-		)
-	}
-
-	const handleMarkerClick = (position) => {
-		map.value.openInfoWindow(position)
-	}
-</script>
-```
-
-### Prop属性
-
-| 名称            | 说明                | 类型       | 默认值       |
-|---------------|-------------------|----------|-----------|
-| mid           | 容器ID              | String   | 时间戳       |
-| height        | 容器高度              | Number   | 800,单位px  |
-| apiKey        | 地图Key             | String   |           |
-| center        | 地图中心点             | String   | 自动定位      |
-| plugins       | 地图控件              | Array    |           |
-| viewMode      | 效果:2D,3D          | String   | 3D        |
-| zoom          | 地图缩放比例            | Number   | 12        |
-| pitch         | 地图俯仰角度,有效范围 0-83  | String   | 50        |
-| mapStyle      | 地图样式              | String   | normal    |
-| markerCluster | 点聚合               | Boolean  | true      |
-
-#### 地图控件
-
-- AMap.ToolBar:缩放工具条
-- AMap.Scale:比例尺
-- AMap.HawkEye:鹰眼
-- AMap.MapType:图层切换
-- AMap.Geolocation:定位
-- AMap.MarkerCluster:点聚合
-
-#### 地图样式
-
-- normal
-- macaron
-- dark
-- fresh
-- grey
-
-### 事件
-
-| 名称          | 说明            | 参数       | 参数类型  |
-|-------------|---------------|----------|-------|
-| complete    | 当地图初始化完成时触发   | -        | -     |
-| markerClick | 当点击了点覆盖物时触发   | position | Array |
-
-### 方法
-
-| 名称                  | 说明       | 参数                  | 参数类型              |
-|---------------------|----------|---------------------|-------------------|
-| renderMarker        | 渲染 点标记   | dataArr             | Array             |
-| renderCircleMarker  | 渲染 圆点标记  | dataArr             | Array             |
-| renderSimpleMarker  | 渲染 简单点标记 | dataArr, theme      | Array, String     |
-| renderAwesomeMarker | 渲染 字体点标记 | dataArr             | Array             |
-| renderPolyline      | 渲染 线     | dataArr,opt         | Array,JSON        |
-| renderCircle        | 渲染 圆     | position,radius,opt | Array,Number,JSON |
-| renderPolygon       | 渲染 面     | dataArr,opt         | Array,JSON        |
-| renderInfoWindow    | 渲染 信息窗体  | dataArr             | Array             |
-| openInfoWindow      | 打开 信息窗体  | position            | Array             |
-| clearOverlay        | 清理 覆盖物   |                     |                   |
-
-### 方法参数```dataArr```结构
-
-> 点标记
-
-```json
-[{
-	"position": "坐标数组",
-	"title": "鼠标滑过点标记时的文字提示",
-	"content": "显示内容,content有效时,icon属性将被覆盖",
-	"icon": "图标",
-	"label": {
-		"content": "文本标注"
-	}
-}]
-```
-
-> 圆点标记
-
-```json
-[{
-	"position": "坐标数组,圆心位置",
-	"radius": "圆点半径",
-	"strokeColor": "线条颜色,默认#006600",
-	"fillColor": "填充颜色,默认#006600"
-}]
-```
-
-> 简单点标记
-
-```json
-[{
-	"position": "坐标数组",
-	"label": "前景文字",
-	"labelStyle": {
-		"color": "颜色",
-		"fontSize": "字体大小"
-	},
-	"style": "背景图标样式"
-}]
-```
-
-> 字体点标记
-
-```json
-[{
-	"position": "坐标数组",
-	"awesomeIcon": "图标,参见:http://fontawesome.io/icons/",
-	"labelStyle": {
-		"color": "颜色",
-		"fontSize": "字体大小"
-	},
-	"style": "背景图标样式"
-}]
-```
-
-> 线、面
-
-```json
-[{
-	"position": "坐标数组"
-}]
-```
-
-> 信息窗体
-
-```json
-[{
-	"position": "坐标数组",
-	"content": "显示内容,文本数组,会以换行进行连接"
-}]
-```
-
-### 方法参数```opt```结构
-
-> 线
-
-```json
-{
-	"strokeColor": "边线颜色,默认blue",
-	"strokeWeight": "边线宽度,默认2",
-	"strokeOpacity": "边线透明度,默认0.5",
-	"isOutline": "是否显示描边,默认false",
-	"borderWeight": "描边宽度,默认1"
-}
-```
-
-> 圆、面
-
-```json
-{
-	"strokeColor": "边线颜色,默认blue",
-	"strokeWeight": "边线宽度,默认2",
-	"strokeOpacity": "边线透明度,默认0.5",
-	"fillColor": "填充颜色,默认blue",
-	"fllOpacity": "填充透明度,默认0.5"
-}
-```

+ 0 - 48
snowy-admin-web/src/components/Selector/iconSelector_README.md

@@ -1,48 +0,0 @@
-iconSelector
-====
-
-> 图标选择组件,常用于为某一个数据设定一个图标时使用
-> eg: 设定菜单列表时,为每个菜单设定一个图标
-
-该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装
-
-
-
-### 使用方式
-
-```vue
-<template>
-	<div>
-			<a-button type="primary" @click="openIcon(iconValue)">选择</a-button>
-		  <icon-selector ref="iconselector" @iconCallBack="iconCallBack" />
-    </div>
-</template>
-
-<script setup>
-	const iconselector = ref()  //  绑定ref="iconselector"
-
-  // 打开icon选择器
-	const openIcon = (iconValue) => {
-		iconselector.value.showIconModal(iconValue)
-	}
-  	// 选择后回调
-	const iconCallBack = (value) => {
-      console.log('iconCallBack Icon', value)
-	}
-
-</script>
-```
-
-
-
-### 事件
-
-| 名称         | 说明                       | 类型   | 默认值 |
-| ------------ | -------------------------- | ------ | ------ |
-| iconCallBack | 当改变了 `icon` 选中项触发 | String | -      |
-
-### 方法
-
-| 名称      | 说明                                    | 类型   | 默认值 |
-| --------- | --------------------------------------- | ------ | ------ |
-| showIconModal | 打开选择器Model触发,携带图标时默认选中 | String | -      |

+ 0 - 375
snowy-admin-web/src/components/Table/README.md

@@ -1,375 +0,0 @@
-Table 重封装组件说明
-====
-
-
-封装说明
-----
-
->  基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。
->
-> 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可
-
-该 `table` 由 [@Saraka](https://github.com/saraka-tsukai) 完成封装
-
-由 `小诺技术团队` 完成Vue3升级并二次封装改进
-
-例子1
-----
-(基础使用)
-
-```vue
-
-<template>
-  <s-table
-    ref="tableRef"
-    :rowKey="(record) => record.data.id"
-    :columns="columns"
-    :data="loadData"
-    :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
-  >
-  </s-table>
-</template>
-
-<script>
-import STable from '@/components'
-
-export default {
-  components: {
-    STable,
-  },
-  data() {
-    return {
-      columns: [
-        {
-          title: '规则编号',
-          dataIndex: 'no',
-        },
-        {
-          title: '描述',
-          dataIndex: 'description',
-        },
-        {
-          title: '服务调用次数',
-          dataIndex: 'callNo',
-          sorter: true,
-          needTotal: true,
-          customRender: text => `${text } 次`,
-        },
-        {
-          title: '状态',
-          dataIndex: 'status',
-          needTotal: true,
-        },
-        {
-          title: '更新时间',
-          dataIndex: 'updatedAt',
-          sorter: true,
-        },
-      ],
-      // 查询条件参数
-      queryParam: {},
-      // 加载数据方法 必须为 Promise 对象
-      loadData: (parameter) => {
-        return this.$http.get('/service', {
-          params: Object.assign(parameter, this.queryParam),
-        }).then((res) => {
-          return res.result
-        })
-      },
-      selectedRowKeys: [],
-      selectedRows: [],
-    }
-  },
-  methods: {
-    onSelectChange (selectedRowKeys, selectedRows) {
-      this.selectedRowKeys = selectedRowKeys
-      this.selectedRows = selectedRows
-    },
-  },
-}
-</script>
-```
-
-
-
-例子2
-----
-
-(简单的表格,最后一列是各种操作)
-
-```vue
-<template>
-  <s-table ref="tableRef" :columns="columns" :data="loadData" :alert="false" bordered :row-key="(record) => record.id">
-  <!-- #operator 插槽可以放入一些关于表格的操作,比如新增数据。 -->
-  <template #operator class="table-operator">
-      <a-space>
-        <a-button type="primary" @click="">
-          <template #icon><plus-outlined /></template>
-          新增
-        </a-button>
-      </a-space>
-    </template>
-    <!-- #bodyCell 放入column表格列需要显示的数据,可以通过判断进行一个自定义显示 -->
-   <template #bodyCell="{ column, record }">
-			<template >
-				<a-avatar class="xn-wh25" />
-			</template>
-			<template v-if="column.dataIndex === 'status'">
-			  <!-- 进行自定义显示内容 -->
-			</template>
-      <!-- column.dataIndex === 'action' 时,可以进行编辑删除等关于这行数据的一个操作,操作内容可进行自定义 -->
-			<template v-if="column.dataIndex === 'action'">
-				<a @click="">编辑</a>
-			</template>
-		</template>
-  </s-table>
-</template>
-
-<script setup>
-import STable from '@/components/table/'
-const tableRef = ref() //一定要进行一个表格的ref绑定
-const columns = ref([
-  {
-    title: '规则编号',
-    dataIndex: 'no',
-  },
-  {
-    title: '描述',
-    dataIndex: 'description',
-  },
-  {
-    title: '服务调用次数',
-    dataIndex: 'callNo',
-  },
-  {
-    title: '状态',
-    dataIndex: 'status',
-  },
-  {
-    title: '更新时间',
-    dataIndex: 'updatedAt',
-  },
-  {
-    table: '操作',
-    dataIndex: 'action',
-    scopedSlots: { customRender: 'action' },
-  },
-])
-const queryParam = ref({})
-// 加载按钮数据
-const loadData = (parameter) => {
-    return this.$http.get('/service', {
-      params: Object.assign(parameter, queryParam.value),
-    }).then((res) => {
-      return res.result
-    })
-}
-const edit = (row) => {
-    // axios 发送数据到后端 修改数据成功后
-    // 调用 refresh() 重新加载列表数据
-    // 这里 setTimeout 模拟发起请求的网络延迟..
-    setTimeout(() => {
-      tableRef.value.refresh() // refresh() 不传参默认值 false 不刷新到分页第一页
-    }, 1500)
-
-  }
-</script>
-```
-
-
-
-内置方法
-----
-
-通过 `声明的ref去调用 ==> tableRef.value` 调用
-
-`tableRef.value.refresh(true)` 刷新列表 (用户新增/修改数据后,重载列表数据)
-
-> 注意:要调用 `refresh(bool)` 需要给表格组件设定 `ref` 值
->
-> `refresh()` 方法可以传一个 `bool` 值,当有传值 或值为 `true` 时,则刷新时会强制刷新到第一页(常用户页面 搜索 按钮进行搜索时,结果从第一页开始分页)
-
-
-内置属性
-----
-> 除去 `a-table` 自带属性外,还而外提供了一些额外属性属性  
-
-
-| 属性           | 说明                                            | 类型              | 默认值 |
-| -------------- | ----------------------------------------------- | ----------------- | ------ |
-| alert          | 设置是否显示表格信息栏                          | [object, boolean] | null   |
-| showPagination | 显示分页选择器,可传 'auto' \| boolean          | [string, boolean] | 'auto' |
-| data           | 加载数据方法 必须为 `Promise` 对象 **必须绑定**  | Promise           | -      |
-| lineSelection  | 是否开启点击行高亮显示并选中                     | Boolean           | 'false'      |
-
-
-`alert` 属性对象:
-
-```javascript
-alert: {
-  show: Boolean, 
-  clear: [Function, Boolean]
-}
-```
-
-注意事项
-----
-
-> 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码:
-> (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。)
->
-> 文档中的结构有可能由于组件 bug 进行修正而改动。实际修改请以当时最新版本为准
-
-修改 `@/components/table/index.js`  第 348 行起
-
-
-
-```javascript
-const data = reactive({
-		needTotalList: [],
-		localLoading: false,
-		localDataSource: [],
-		localPagination: Object.assign({}, props.pagination),
-		isFullscreen: false,
-		customSize: props.compSize,
-		columnsSetting: [],
-		localSettings: {
-			rowClassName: props.rowClassName,
-			rowClassNameSwitch: Boolean(props.rowClassName)
-		}
-	})
-
-// 这里的 data.xxx 是之前声明的
-// 在 loadData() 方法中去获取后端数据,进行一个数据的加载更新
-result.then((r) => {
-				if (r == null) {
-					data.localLoading = false
-					return
-				}
-				// 获取分页数据及分页的显示内容
-				data.localPagination =
-					(props.showPagination &&
-						Object.assign({}, data.localPagination, {
-							current: r.current, // pageNo, // 返回结果中的当前分页数
-							total: r.total, // totalRows, // 返回结果中的总记录数
-							showSizeChanger: props.showSizeChanger,
-							pageSizeOptions: props.pageSizeOptions,
-							showTotal: (total, range) => {
-								return `${range[0]}-${range[1]} 共 ${total} 条 `
-							},
-							pageSize: (pagination && pagination.pageSize) || data.localPagination.pageSize
-						})) ||
-					false
-
-				// 后端数据records为null保存修复
-				if (r.records == null) {
-					r.records = []
-				}
-
-				// 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
-				if (r.records.length === 0 && props.showPagination && data.localPagination.current > 1) {
-					data.localPagination.current--
-					loadData()
-					return
-				}
-				
-				try {
-					// 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能
-					// 没有数据或只有一页数据时隐藏分页栏
-					// if ((['auto', true].includes(props.showPagination) && r.total <= (r.pages * data.localPagination.pageSize))) {
-					// 	data.localPagination.hideOnSinglePage = true
-					// }
-					if (!props.showPagination) {
-						data.localPagination.hideOnSinglePage = true
-					}
-				} catch (e) {
-					data.localPagination = false
-				}
-
-				// if (props.showPagination === false) {
-				// 	// 既然配置了不分页,那么我们这里接收到肯定是数组
-				// 	console.log(r);
-				// 	data.localDataSource = []
-				// 	if (r instanceof Array) {
-				// 		data.localDataSource = r
-				// 	}
-				// } else {
-				// 	data.localDataSource = r.records
-				// }
-
-				// 返回结果中的数组数据
-				data.localDataSource = r.records
-				data.localLoading = false
-				getTableProps()
-			})
-```
-返回 JSON 例子:
-```json
-{
-  "message": "",
-  "result": {
-    "data": [{
-        id: 1,
-        cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png',
-        title: 'Alipay',
-        description: '那是一种内在的东西, 他们到达不了,也无法触及的',
-        status: 1,
-        updatedAt: '2018-07-26 00:00:00'
-      },
-      {
-        id: 2,
-        cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png',
-        title: 'Angular',
-        description: '希望是一个好东西,也许是最好的,好东西是不会消亡的',
-        status: 1,
-        updatedAt: '2018-07-26 00:00:00'
-      },
-      {
-        id: 3,
-        cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
-        title: 'Ant Design',
-        description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆',
-        status: 1,
-        updatedAt: '2018-07-26 00:00:00'
-      },
-      {
-        id: 4,
-        cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png',
-        title: 'Snowy',
-        description: '那时候我只会想自己想要什么,从不想自己拥有什么',
-        status: 1,
-        updatedAt: '2018-07-26 00:00:00'
-      },
-      {
-        id: 5,
-        cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png',
-        title: 'Bootstrap',
-        description: '凛冬将至',
-        status: 1,
-        updatedAt: '2018-07-26 00:00:00'
-      },
-      {
-        id: 6,
-        cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png',
-        title: 'Vue',
-        description: '生命就像一盒巧克力,结果往往出人意料',
-        status: 1,
-        updatedAt: '2018-07-26 00:00:00'
-      }
-    ],
-    "pageSize": 10,
-    "pageNo": 0,
-    "totalPage": 6,
-    "totalCount": 57
-  },
-  "status": 200,
-  "timestamp": 1534955098193
-}
-```
-
-
-
-更新时间
-----
-
-该文档最后更新于: 2023-12-27 PM 16:45

+ 0 - 62
snowy-admin-web/src/components/XnCardList/README.md

@@ -1,62 +0,0 @@
-# 小诺卡片列表的组件
-
-## 说明
-
-### props定义
-
-| 序号 | 编码         | 类型      | 说明     | 示例                     |
-|----|------------|---------|--------|------------------------|
-| 1  | grid       | Object  | grid布局 | 见:and-design定义(Grid栅格) |
-| 2  | dataSource | Array   | 数据源    | 见:dataSource字段定义       |
-| 3  | page       | Object  | 分页     | 见:page字段定义             |
-| 4  | actions    | Array   | 操作数组   | 见:action字段定义           |
-| 5  | loading    | Boolean | 加载中提示  | -                      |
-
-> dataSource字段定义
-
-| 序号 | 编码       | 类型     | 说明              | 示例            |
-|----|----------|--------|-----------------|---------------|
-| 1  | title    | String | 标题              | 设备编码          |
-| 2  | subTitle | String | 副标题             | 设备名称          |
-| 3  | img      | String | 图片              |               |
-| 4  | contents | Array  | 内容              | 见:content字段定义 |
-| 5  | badge    | Object | 徽标              | 见:badge字段定义   |
-| 6  | record   | Object | 数据记录,emit触发回调参数 |               |
-
-> content字段定义
-
-| 序号 | 编码    | 类型     | 说明 | 示例   |
-|----|-------|--------|----|------|
-| 1  | label | String | 标签 | 所属产品 |
-| 2  | value | Object | 值  | 透传   |
-
-> badge字段定义
-
-| 序号 | 编码    | 类型     | 说明 | 示例                     |
-|----|-------|--------|----|------------------------|
-| 1  | text  | String | 标签 | 所属产品                   |
-| 2  | color | String | 颜色 | 见:ant-design定义(预设、自定义) |
-
-> action字段定义
-
-| 序号 | 编码    | 类型     | 说明 | 示例      |
-|----|-------|--------|----|---------|
-| 1  | key   | String | 键  | setting |
-| 2  | label | String | 标签 | 所属产品    |
-| 3  | icon  | String | 图标 | setting |
-| 4  | color | String | 颜色 | red     |
-
-> page字段定义
-
-| 序号 | 编码      | 类型     | 说明   | 示例 |
-|----|---------|--------|------|----|
-| 1  | current | Number | 当前页  | 1  |
-| 2  | size    | Number | 每页大小 | 6  |
-| 3  | total   | Number | 总数   | 0  |
-
-### emits定义
-
-| 序号 | 方法名         | 参数类型   | 参数示例                        |
-|----|-------------|--------|-----------------------------|
-| 1  | action      | Object | {key: 'edit', record:{...}} |
-| 2  | page-change | Number | 1                           |

+ 0 - 67
snowy-admin-web/src/components/XnDataList/README.md

@@ -1,67 +0,0 @@
-# 小诺数据列表的组件
-
-## 说明
-
-### props定义
-
-| 序号 | 编码         | 类型      | 说明    | 示例               |
-|----|------------|---------|-------|------------------|
-| 1  | dataSource | Array   | 数据源   | 见:dataSource字段定义 |
-| 2  | page       | Object  | 分页    | 见:page字段定义       |
-| 3  | actions    | Array   | 操作数组  | 见:action字段定义     |
-| 4  | loading    | Boolean | 加载中提示 | -                |
-
-> dataSource字段定义
-
-| 序号 | 编码           | 类型     | 说明              | 示例                |
-|----|--------------|--------|-----------------|-------------------|
-| 1  | title        | String | 标题              | 设备编码              |
-| 2  | descriptions | Array  | 描述              | 见:description字段定义 |
-| 3  | contents     | Array  | 内容              | 见:content字段定义     |
-| 4  | record       | Object | 数据记录,emit触发回调参数 |                   |
-
-> description字段定义
-
-| 序号 | 编码      | 类型     | 说明 | 示例   |
-|----|---------|--------|----|------|
-| 1  | title   | String | 标题 | 设备名称 |
-| 2  | content | Object | 内容 | 测试设备 |
-
-> content字段定义
-
-| 序号 | 编码      | 类型     | 说明 | 示例                  |
-|----|---------|--------|----|---------------------|
-| 1  | title   | String | 标题 | 数据更新时间              |
-| 2  | content | Object | 内容 | 2023-11-14 09:00:00 |
-
-> action字段定义
-
-| 序号 | 编码    | 类型     | 说明 | 示例      |
-|----|-------|--------|----|---------|
-| 1  | key   | String | 键  | setting |
-| 2  | label | String | 标签 | 所属产品    |
-| 3  | icon  | String | 图标 | setting |
-| 4  | color | String | 颜色 | red     |
-
-> page字段定义
-
-| 序号 | 编码      | 类型     | 说明   | 示例 |
-|----|---------|--------|------|----|
-| 1  | current | Number | 当前页  | 1  |
-| 2  | size    | Number | 每页大小 | 6  |
-| 3  | total   | Number | 总数   | 0  |
-
-### emits定义
-
-| 序号 | 方法名         | 参数类型   | 参数示例                        |
-|----|-------------|--------|-----------------------------|
-| 1  | title       | Object | {record: {...}}             |
-| 1  | action      | Object | {key: 'edit', record:{...}} |
-| 2  | page-change | Number | 1                           |
-
-### slots定义
-
-| 序号 | 名称           | 说明     | 示例 |
-|----|--------------|--------|----|
-| 1  | title-prefix | 标题前缀插槽 | -  |
-| 2  | title-suffix | 内容后缀插槽 | -  |

+ 0 - 9
snowy-admin-web/src/components/XnFilePreview/README.md

@@ -1,9 +0,0 @@
-# 小诺文件预览的组件
-
-## 说明
-
-该组件支持图片、PDF、OFFICE、WORD在线预览,其他类型的不支持
-
-## 使用
-
-使用的时候直接在界面引入即可,配置相关参数就能行

+ 0 - 36
snowy-admin-web/src/components/XnOrgSelector/README.md

@@ -1,36 +0,0 @@
-## 小诺机构选择器
-
-### 说明
-
-改组件为小诺机构选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式
-
-@author yubaoshan
-
-@data 2024年7月5日23:59:23
-
-### props定义
-
-| 序号  | 编码                      | 类型            | 说明                           | 默认     |
-|-----|-------------------------|---------------|------------------------------|--------|
-| 1   | radioModel              | Boolean       | 是否单选;与addShow隐藏同时可用          | false  |
-| 2   | dataIsConverterFlw      | Boolean       | 是否为工作流格式                     | false  |
-| 3   | orgTreeApi              | function      | 机构树接口                        | -      |
-| 4   | orgPageApi              | function      | 机构分页接口                       | -      |
-| 5   | orgListByIdListApi | function      | 通过id数组查询list数据接口             | 已配置    |
-| 6   | value                   | object或string | 通过v-model:value绑定数据          | -      |
-| 7   | dataType                | string        | 数据类型object或string            | string |
-| 8   | show                    | Boolean       | 是否显示已选择机构(非表单内、单纯的选择机构需要隐藏)  | true   |
-| 9   | addShow                 | Boolean       | 是否默认的增加人员按钮,与radioModel为或的关系 | true   |
-
-### emits定义
-
-| 序号 | 方法名    | 参数类型           | 说明                              |
-|----|--------|----------------|---------------------------------|
-| 1  | value  | 根据 dataType 而定         | 当选择机构后通过v-model:value绑定到组件上     |
-| 2  | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除机构 |
-
-### slot定义
-
-| 序号 | 插槽名    | 用途                | 用途                |
-|----|--------|-------------------|-------------------|
-| 1  | button | 在机构新增按钮后可以插入自定义按钮 | 不满足新增机构按钮样式,可以自定义 |

+ 0 - 192
snowy-admin-web/src/components/XnPageSelect/README.md

@@ -1,192 +0,0 @@
-XnPageSelect 分页下拉选择器
-====
-
-
-封装说明
-----
-
->  基础的使用方式与 API 与 [官方版(Select)](https://www.antdv.com/components/select-cn/) 本一致,在其基础上,封装了加载数据的方法。(调用后端分页接口,懒加载的效果查询下拉数据)
->
-> @zhanggengbi在此基础上完善了功能:下拉查询同时支持搜索框搜索--调用后端数据搜索。
-
-例子1
-----
-(基础使用)
-
-```vue
-
-<template>
-<a-col :span="8">
-    <a-form-item label="选择组织:" name="orgId">
-        <a-tree-select
-                       v-model:value="formData.orgId"
-                       style="width: 100%"
-                       :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
-                       placeholder="请选择组织"
-                       allow-clear
-                       tree-default-expand-all
-                       :tree-data="treeData"
-                       :tree-default-expanded-keys="treeDefaultExpandedKeys"
-                       :field-names="{
-                                     children: 'children',
-                                     label: 'name',
-                                     value: 'id'
-                                     }"
-                       @change="selePositionData(formData.orgId, 0)"
-                       ></a-tree-select>
-    </a-form-item>
-    </a-col>
-<a-col :span="8">
-    <a-form-item label="选择职位:" name="positionId">
-        <xn-page-select
-                        ref="xnPositionPageSelectRef"
-                        v-model:value="formData.positionId"
-                        placeholder="请选择职位"
-                        allow-clear
-                        :page-function="selectApiFunction.positionSelector"
-                        />
-    </a-form-item>
-    </a-col>
-</template>
-
-<script setup>
-import XnPageSelect from '@/components/XnPageSelect/'
-import bizUserApi from '@/api/biz/bizUserApi'
-
-// 表单数据
-const formData = ref({})
-const xnPositionPageSelectRef = ref()
-
-// 机构选择后查询对应的职位
-const selePositionData = (orgId, type) => {
-    if (orgId) {
-        const xnPositionPageSelectParam = {
-            orgId: orgId
-        }
-        xnPositionPageSelectRef.value.onPage(xnPositionPageSelectParam)
-        xnUserPageSelectRef.value.onPage()
-        // 此类型代表选择的时候重置后面的职位
-        if (type === 0) {
-            formData.value.positionId = undefined
-            formData.value.directorId = undefined
-        }
-    } else {
-        formData.value.positionId = undefined
-        formData.value.directorId = undefined
-    }
-}
-
-// 传递选择组件需要的API
-const selectApiFunction = {
-    positionSelector: (param) => {
-        return bizUserApi.userPositionSelector(param).then((data) => {
-            return Promise.resolve(data)
-        })
-    },
-}
-
-</script>
-```
-
-
-
-例子2
-----
-
-(支持搜索框搜索--调用后端数据搜索)
-
-```vue
-<template>
-  <xn-page-select
-                  ref="xnCustomerPageSelectRef"
-                  v-model:value="searchFormState.customerInfoId"
-                  placeholder="请选择客户名称"
-                  searchKeyName="customerName"
-                  @change="tableRef.refresh(true);"
-                  allow-clear
-                  show-search
-                  :page-function="selectApiFunction.customerSelector"
-                  />
-</template>
-
-<script setup>
-import XnPageSelect from '@/components/XnPageSelect/'
-import customerInfoApi from "@/api/eden/customerInfoApi";
-
-const xnCustomerPageSelectRef = ref();
-const searchFormState = ref();
-nextTick(() => {
-	xnCustomerPageSelectRef.value.onPage({current: 1});
-});
-const selectApiFunction = {
-	customerSelector: (param) => {
-		return customerInfoApi.customerPage(Object.assign(param, {envFlag: searchFormState.value.envFlag})).then((data) => {
-			if (data.records){
-				data.records = data.records.map((item) => {
-					return {
-						name: item.customerName,
-						id: item.customerInfoId,
-					};
-				});
-			}
-			return Promise.resolve(data)
-		})
-	}
-}
-</script>
-```
-
-![分页下拉查询展示](.\README.assets\分页下拉查询展示.gif)
-
-内置方法
-----
-
-
-| 方法   | 说明         | 参数类型 | 参数示例     |
-| ------ | ------------ | -------- | ------------ |
-| onPage | 请求分页数据 | Object   | {current: 1} |
-
-
-内置属性
-----
-> 除去 `a-select` 自带属性外,还而外提供了一些额外属性属性  
-
-
-| 属性          | 说明                                        | 类型    | 默认值 |
-| ------------- | ------------------------------------------- | ------- | ------ |
-| pageFunction  | 分页函数 必须为 `Promise` 对象 **必须绑定** | Promise | -      |
-| pageSize      | 分页条数                                    | Number  | 10     |
-| showSearch    | 配置是否可搜索                              | Boolean | false  |
-| searchKeyName | 搜索字段属性名                              | String  | ''     |
-
-注意事项
-----
-
-> 分页函数,返回的Promise对象的data数据是分页格式的数据
->
-> data.records格式如下:{ name: name, id: id }   id最后是你的value,name是你的显示名称 
-
-如果返回的数据data.records格式命名不对,可以重新封装一下
-
-```javascript
-// 示例重新封装一下data.records
-const selectApiFunction = {
-	customerSelector: (param) => {
-		return customerInfoApi.customerPage(Object.assign(param, {envFlag: searchFormState.value.envFlag})).then((data) => {
-			if (data.records){
-				data.records = data.records.map((item) => {
-					return {
-						name: item.customerName,
-						id: item.customerInfoId,
-					};
-				});
-			}
-			return Promise.resolve(data)
-		})
-	}
-}
-```
-更新时间
-----
-
-该文档最后更新于: 2024-06-28 PM 16:45

+ 0 - 36
snowy-admin-web/src/components/XnPositionSelector/README.md

@@ -1,36 +0,0 @@
-## 小诺职位选择器
-
-### 说明
-
-改组件为小诺职位选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式
-
-@author yubaoshan
-
-@data 2024年7月5日23:59:23
-
-### props定义
-
-| 序号  | 编码                  | 类型            | 说明                           | 默认     |
-|-----|---------------------|---------------|------------------------------|--------|
-| 1   | radioModel          | Boolean       | 是否单选;与addShow隐藏同时可用          | false  |
-| 2   | dataIsConverterFlw  | Boolean       | 是否为工作流格式                     | false  |
-| 3   | orgTreeApi          | function      | 机构树接口                        | -      |
-| 4   | positionPageApi     | function      | 职位分页接口                       | -      |
-| 5   | positionListByIdListApi | function      | 通过id数组查询list数据接口             | 已配置    |
-| 6   | value               | object或string | 通过v-model:value绑定数据          | -      |
-| 7   | dataType            | string        | 数据类型object或string            | string |
-| 8   | show                | Boolean       | 是否显示已选择职位(非表单内、单纯的选择职位需要隐藏)  | true   |
-| 9   | addShow             | Boolean       | 是否默认的增加人员按钮,与radioModel为或的关系 | true   |
-
-### emits定义
-
-| 序号 | 方法名    | 参数类型           | 说明                              |
-|----|--------|----------------|---------------------------------|
-| 1  | value  | 根据 dataType 而定         | 当选择职位后通过v-model:value绑定到组件上     |
-| 2  | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除职位 |
-
-### slot定义
-
-| 序号 | 插槽名    | 用途                | 用途                |
-|----|--------|-------------------|-------------------|
-| 1  | button | 在职位新增按钮后可以插入自定义按钮 | 不满足新增职位按钮样式,可以自定义 |

+ 0 - 36
snowy-admin-web/src/components/XnRoleSelector/README.md

@@ -1,36 +0,0 @@
-## 小诺角色选择器
-
-### 说明
-
-改组件为小诺角色选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式
-
-@author yubaoshan
-
-@data 2024年7月5日23:59:23
-
-### props定义
-
-| 序号  | 编码                  | 类型            | 说明                           | 默认     |
-|-----|---------------------|---------------|------------------------------|--------|
-| 1   | radioModel          | Boolean       | 是否单选;与addShow隐藏同时可用          | false  |
-| 2   | dataIsConverterFlw  | Boolean       | 是否为工作流格式                     | false  |
-| 3   | orgTreeApi          | function      | 机构树接口                        | -      |
-| 4   | rolePageApi         | function      | 角色分页接口                       | -      |
-| 5   | roleListByIdListApi | function      | 通过id数组查询list数据接口             | 已配置    |
-| 6   | value               | object或string | 通过v-model:value绑定数据          | -      |
-| 7   | dataType            | string        | 数据类型object或string            | string |
-| 8   | show                | Boolean       | 是否显示已选择角色(非表单内、单纯的选择角色需要隐藏)  | true   |
-| 9   | addShow             | Boolean       | 是否默认的增加人员按钮,与radioModel为或的关系 | true   |
-
-### emits定义
-
-| 序号 | 方法名    | 参数类型           | 说明                              |
-|----|--------|----------------|---------------------------------|
-| 1  | value  | 根据 dataType 而定         | 当选择角色后通过v-model:value绑定到组件上     |
-| 2  | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除角色 |
-
-### slot定义
-
-| 序号 | 插槽名    | 用途                | 用途                |
-|----|--------|-------------------|-------------------|
-| 1  | button | 在角色新增按钮后可以插入自定义按钮 | 不满足新增角色按钮样式,可以自定义 |

+ 0 - 117
snowy-admin-web/src/components/XnSignName/README.md

@@ -1,117 +0,0 @@
-# vue-esign
-
-https://github.com/JaimeCheng/vue-esign#readme
-
-> Canvas 手写签字 电子签名
-![npm](https://img.shields.io/npm/dm/vue-esign) ![GitHub package.json version](https://img.shields.io/github/package-json/v/jaimecheng/vue-esign)
-
-## 时隔三年的更新!!支持vue3
-- **支持vue3!!!!更新依赖后,仅`bgColor`原来的`.sync`修饰符需改为vue3写法`v-model:bgColor`**;
-- 新增属性 `isClearBgColor`,默认值`true`, 清空画布时(reset)是否同时清空设置的背景色(bgColor) ;
-- 直接`npm install vue-esign@latest --save`即可,对vue2版本无任何影响;
-## 功能
-1. 兼容 PC 和 Mobile;
-2. 画布自适应屏幕大小变化(窗口缩放、屏幕旋转时画布无需重置,自动校正坐标);
-3. 自定义画布尺寸(导出图尺寸),画笔粗细、颜色,画布背景色;
-4. 支持裁剪 (针对需求:有的签字需要裁剪掉四周空白)。
-5. 导出图片格式为 `base64`;
-6. [示例demo](https://jaimecheng.github.io/vue-esign/demo/)
-
-## 安装
-
-``` bash
-npm install vue-esign --save
-```
-
-## 使用
-1. 全局使用 、局部
-```js
-// 全局 vue2 main.js
-import vueEsign from 'vue-esign'
-Vue.use(vueEsign)
-// 全局vue3 main.js
-import { createApp } from 'vue'
-import App from './App.vue'
-import vueEsign from 'vue-esign'
-const app = createApp(App)
-app.use(vueEsign)
-// 局部
-import vueEsign from 'vue-esign'
-// vue3 中只需需引入组件就可以使用无需注册
-```
-2. 页面中使用
-    // 在组件中使用 ref="esign"
-    **在script中必须设置 `const esign = ref()` ,用来调用组件的两个内置方法 `reset()` 和 `generate()`**
-
-  无需给组件设置 `style` 的宽高,如果画布的 `width`属性值没超出父元素的样式宽度,则该组件的样式宽度就是画布宽度,超出的话,组件样式宽度则是父元素的100%;  所以只需设置好父元素的宽度即可;
-```html
-
-<!-- vue3 -->
-<vue-esign ref="esign" :width="800" :height="300" :isCrop="isCrop" :lineWidth="lineWidth" :lineColor="lineColor" v-model:bgColor="bgColor" :quality="1"/>
-
-<!-- isClearBgColor为false时,不必再给bgColor加sync修饰符或v-model -->
-
-<a-button type="primary" @click="handleGenerate">预览</a-button>
-<a-button @click="handleReset">清屏</a-button>
-```
-
-```vue
-<script setup>
-	const esign = ref(false) // 相当于$ref
-
-  // 这里const相当于vue2中的data()
-	const resultImg = ref('')
-	const isCrop = ref(false)
-	const lineWidth = ref(6)
-	const lineColor = ref('#000000')
-	const bgColor = ref('')
- 
-	const handleReset = () => {
-		esign.value.reset()
-		resultImg.value = ''
-	}
-	const handleGenerate = () => {
-		esign.value
-			.generate()
-			.then((res) => {
-				resultImg.value = res
-			})
-			.catch(() => {
-				message.warning('无任何签字') // 画布没有签字时会执行这里 'Not Signned'
-			})
-	}
-</script>
-3. 说明
-
-| 属性 | 类型 | 默认值 | 说明 |
-| :-: | :-- | :-: | :-- |
-| width | Number | 800 | 画布宽度,即导出图片的宽度 |
-| height | Number | 300 | 画布高度,即导出图片的高度 |
-| lineWidth | 4 | Number | 画笔粗细 |
-| lineColor | String | #000000 | 画笔颜色 |
-| bgColor | String | 空 | 画布背景色,为空时画布背景透明,<br />支持多种格式 '#ccc','#E5A1A1','rgb(229, 161, 161)','rgba(0,0,0,.6)','red' |
-| isCrop | Boolean | false | 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 |
-| isClearBgColor | Boolean | true | 清空画布时(reset)是否同时清空设置的背景色(bgColor) |
-| format | String | image/png | 生成图片格式 image/jpeg(jpg格式下生成的图片透明背景会变黑色请慎用或指定背景色)、 image/webp |
-| quality | Number | 1 | 生成图片质量;在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 |
-
-两个内置方法,通过给组件设置 `ref` 调用:
-
-**清空画布**
-```js
-esign.value.reset()
-```
-
-**生成图片**
-
-```js
-// 可选配置参数 ,在未设置format或quality属性时可在生成图片时配置 例如: {format:'image/jpeg', quality: 0.5}
-// this.$refs.esign.generate({format:'image/jpeg', quality: 0.5})
-esign.value.generate().then(res => {
-  console.log(res) // base64图片
-}).catch(err => {
-  alert(err) // 画布没有签字时会执行这里 'Not Signned'
-})
-```
-
-![](./static/demo.gif)

+ 0 - 39
snowy-admin-web/src/components/XnUpload/README.md

@@ -1,39 +0,0 @@
-## 小诺文件上传
-
-### 说明
-
-改组件为文件上传、支持单个、多个文件;返回id、返回数组、返回所有
-
-@author yubaoshan
-
-@data 2024年5月27日09:15:17
-
-### props定义
-
-| 序号  | 编码                        | 类型      | 说明                                                                                          | 默认                               |
-|-----|---------------------------|---------|---------------------------------------------------------------------------------------------|----------------------------------|
-| 1   | uploadReturnIdApi         | String  | 上传返回id接口地址                                                                                  | /dev/file/uploadLocalReturnId    |
-| 2   | uploadDynamicReturnUrlApi | String  | 上传返回url接口地址                                                                                 | /dev/file/uploadDynamicReturnUrl |
-| 3   | uploadIdDownloadUrl       | String  | 当上传接口为id的情况下,配置下载接口                                                                         | /dev/file/download?id=           |
-| 4   | uploadMode                | String  | 上传样式或图片方式 file、drag、image                                                                   | file                             |
-| 5   | uploadNumber              | Number  | 上传数量                                                                                        | 1                                |
-| 6   | uploadText                | String  | 上传文字                                                                                        | 上传                               |
-| 7   | uploadResultType          | String  | 上传返回分类 字符串逗号隔离或数组 interval、array                                                            | interval                         |
-| 8   | showUploadList      | Boolean | 跟antdv官方一样,是否显示文件列表                                                                         | true                             |
-| 9   | accept                   | String | 跟antdv官方一样,接受上传的文件类型,如果uploadMode配置了image类型,上传的必须是图片,该参数也只能配置图片的某一项或多项,具体百度查看文件上传accept类型配置 | -                                |
-| 10  | completeResult                   | Boolean | 是否是完整的结果(就是文件上传返回什么,该组件返回什么,uploadResultCategory必须为array)                                   | false                            |
-| 11  | value                   | String, Array | 父组件传来的参数,通过v-model:value绑定                                                                  | -                                |
-
-
-### emits定义
-
-| 序号 | 方法名    | 参数类型                                  | 说明                          |
-|----|--------|---------------------------------------|-----------------------------|
-| 1  | value  | 根据uploadResultType、completeResult 而定  | 当选择用户后通过v-model:value绑定到组件上 |
-| 2  | onChange | 根据uploadResultType、completeResult 而定  | 通过@onChange 方法返回上传的数据       |
-
-### slot定义
-
-| 序号 | 插槽名    | 用途          | 
-|----|--------|-------------|
-| 1  | explain | 主要用于一些提示性文字 |

+ 0 - 36
snowy-admin-web/src/components/XnUserSelector/README.md

@@ -1,36 +0,0 @@
-## 小诺人员选择器
-
-### 说明
-
-改组件为小诺人员选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式
-
-@author yubaoshan
-
-@data 2024年4月13日23:59:23
-
-### props定义
-
-| 序号  | 编码                  | 类型            | 说明                           | 默认     |
-|-----|---------------------|---------------|------------------------------|--------|
-| 1   | radioModel          | Boolean       | 是否单选;与addShow隐藏同时可用          | false  |
-| 2   | dataIsConverterFlw  | Boolean       | 是否为工作流格式                     | false  |
-| 3   | orgTreeApi          | function      | 机构树接口                        | -      |
-| 4   | userPageApi         | function      | 用户分页接口                       | -      |
-| 5   | userListByIdListApi | function      | 通过id数组查询list数据接口             | -      |
-| 6   | value               | object或string | 通过v-model:value绑定数据          | -      |
-| 7   | dataType            | string        | 数据类型object或string            | string |
-| 8   | userShow            | Boolean       | 是否显示已选择用户(非表单内、单纯的选择用户需要隐藏)  | true   |
-| 9   | addShow             | Boolean       | 是否默认的增加人员按钮,与radioModel为或的关系 | true   |
-
-### emits定义
-
-| 序号 | 方法名    | 参数类型           | 说明                              |
-|----|--------|----------------|---------------------------------|
-| 1  | value  | 根据 dataType 而定         | 当选择用户后通过v-model:value绑定到组件上     |
-| 2  | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除用户 |
-
-### slot定义
-
-| 序号 | 插槽名    | 用途                | 用途                |
-|----|--------|-------------------|-------------------|
-| 1  | button | 在人员新增按钮后可以插入自定义按钮 | 不满足新增人员按钮样式,可以自定义 |

+ 0 - 7
snowy-admin-web/src/style/readme.md

@@ -1,7 +0,0 @@
-
-适配暗黑模式的操作
-
-直接 var(--primary-color)
-
-例如:新建个变量,在default.less跟realdark.less中设定好,这个时候就会跟着颜色的主题变化
-

+ 0 - 15
snowy-plugin-api/README.md

@@ -1,15 +0,0 @@
-# 插件API接口模块
-
-####登录鉴权插件api接口: snowy-plugin-auth-api
-
-####业务功能插件api接口: snowy-plugin-biz-api
-
-####C端功能插件api接口: snowy-plugin-client-api
-
-####开发工具插件api接口: snowy-plugin-dev-api
-
-####代码生成api接口: snowy-plugin-gen-api
-
-####移动端管理api接口: snowy-plugin-mobile-api
-
-####系统功能插件api接口: snowy-plugin-sys-api

+ 0 - 1
snowy-plugin-api/snowy-plugin-auth-api/README.md

@@ -1 +0,0 @@
-# 登录鉴权插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-biz-api/README.md

@@ -1 +0,0 @@
-# 业务功能插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-client-api/README.md

@@ -1 +0,0 @@
-# C端功能插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-dev-api/README.md

@@ -1 +0,0 @@
-# 开发工具插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-gen-api/README.md

@@ -1 +0,0 @@
-# 代码生成插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-mobile-api/README.md

@@ -1 +0,0 @@
-# 移动端管理插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-mobile-api/src/main/java/vip/xiaonuo/mobile/README.md

@@ -1 +0,0 @@
-#移动端API接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-sys-api/README.md

@@ -1 +0,0 @@
-# 系统功能插件api接口

+ 0 - 1
snowy-plugin-api/snowy-plugin-sys-api/src/main/java/vip/xiaonuo/sys/README.md

@@ -1 +0,0 @@
-#系统API接口

+ 0 - 15
snowy-plugin/README.md

@@ -1,15 +0,0 @@
-# 插件模块
-
-####登录鉴权插件: snowy-plugin-auth
-
-####业务功能插件: snowy-plugin-biz
-
-####C端功能插件: snowy-plugin-client
-
-####开发工具插件: snowy-plugin-dev
-
-####代码生成插件: snowy-plugin-gen
-
-####移动端管理插件: snowy-plugin-mobile
-
-####系统功能插件: snowy-plugin-sys

+ 0 - 1
snowy-plugin/snowy-plugin-auth/README.md

@@ -1 +0,0 @@
-# 登录鉴权插件

+ 0 - 1
snowy-plugin/snowy-plugin-biz/README.md

@@ -1 +0,0 @@
-# 业务功能插件

+ 0 - 1
snowy-plugin/snowy-plugin-client/README.md

@@ -1 +0,0 @@
-# C端功能插件

+ 40 - 0
snowy-plugin/snowy-plugin-coldchain/pom.xml

@@ -17,4 +17,44 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
+    <dependencies>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.45.Final</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/src/main/resources/lib/NetDeviceSDKP2_V2_2_7.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>1.3.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.32</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId> <!-- 或者根据实际日志实现替换此依赖 -->
+            <version>1.7.32</version>
+        </dependency>
+        <dependency>
+            <groupId>vip.xiaonuo</groupId>
+            <artifactId>snowy-common</artifactId>
+        </dependency>
+    </dependencies>
 </project>

+ 30 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/RKService.java

@@ -0,0 +1,30 @@
+package vip.xiaonuo.coldchain.modular.renke;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+import rk.netDevice.sdk.p2.ParamIdsData;
+import rk.netDevice.sdk.p2.RSServer;
+import vip.xiaonuo.coldchain.modular.renke.listener.JfcloudColdChainDefaultDataListener;
+
+/**
+ * @author jackzhou
+ * @version 1.0
+ * @project jfcloud-coldchain
+ * @description
+ * @date 2024/11/1 16:23:41
+ */
+@Component
+@RequiredArgsConstructor
+public class RKService {
+    private final RSServer rsServer;
+
+    public void test() {
+        boolean b = rsServer.callParamList(30067080);
+    }
+
+    public void paramIdsData() {
+        ParamIdsData paramIdsData = JfcloudColdChainDefaultDataListener.paramIdsData;
+        rsServer.callParam(30067080, paramIdsData.getPararmIdList());
+    }
+
+}

+ 96 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/RenKeTest.java

@@ -0,0 +1,96 @@
+package vip.xiaonuo.coldchain.modular.renke;
+
+import rk.netDevice.sdk.p2.*;
+
+import java.util.Date;
+
+/**
+ * @author jackzhou
+ * @version 1.0
+ * @project jfcloud-coldchain
+ * @description
+ * @date 2024/11/1 13:55:44
+ */
+public class RenKeTest {
+
+    public static void main(String[] args) throws InterruptedException {
+
+        RSServer rsServer;
+        rsServer = RSServer.Initiate(2404);
+
+        final Integer[] deviceIds = new Integer[2];
+
+        rsServer.addDataListener(new IDataListener() {
+            @Override
+            public void receiveTimmingAck(TimmingAck data) {
+                // TODO 校时指令应答处理
+                deviceIds[0] = data.getDeviceId();
+            }
+            @Override
+            public void receiveTelecontrolAck(TelecontrolAck data) {
+                // TODO 遥控指令应答处理
+            }
+            @Override
+            public void receiveStoreData(StoreData data) {
+                // TODO 已存储数据接收处理
+                System.out.println("已存储数据接收处理:"+data.getDeviceId());
+                for (NodeData nodeData : data.getNodeList()) {
+                    System.out.println(nodeData.getRecordTime()+"  : "+nodeData.getTem() + "  : "+nodeData.getHum());
+                }
+            }
+            @Override
+            public void receiveRealtimeData(RealTimeData data) {
+                System.out.println(new Date().toLocaleString()+" "+data.getCoordinateType()+"实时数据接收处理:"+data.getRelayStatus()+"  "+data.getLat()+","+data.getLng() +data.getDeviceId());
+                // TODO 实时数据接收处理
+                for (NodeData nodeData : data.getNodeList()) {
+                    System.out.println(nodeData.getRecordTime()+"  : "+nodeData.getTem() + "  : "+nodeData.getHum() +" time: "+nodeData.getRecordTime());
+                }
+            }
+            @Override
+            public void receiveLoginData(LoginData data) {
+                // TODO 设备登录处理
+                deviceIds[0] = data.getDeviceId();
+            }
+            @Override
+            public void receiveParamIds(ParamIdsData data) {
+                // TODO 设备参数编号接收处理
+            }
+
+            @Override
+            public void receiveParam(ParamData data) {
+                // TODO 设备参数接收处理
+                System.out.println("设备参数接收处理");
+            }
+            @Override
+            public void receiveWriteParamAck(WriteParamAck data) {
+                // TODO 下载参数后设备应答处理
+                System.out.println("下载参数后设备应答处理");
+            }
+            @Override
+            public void receiveTransDataAck(TransDataAck data) {
+                // TODO
+                System.out.println("透传数据后设备应答处理");
+
+            }
+
+            @Override
+            public void receiveHeartbeatData(HeartbeatData heartbeatData) {
+                System.out.println("心跳包:"+heartbeatData.getDeviceId());
+
+            }
+        });
+        rsServer.start();
+        while (true){
+            Thread.sleep(1000);
+        }
+//
+//        System.out.println(rsServer.telecontrol(30067080, 5, 1, 0));
+//
+//        System.out.println(deviceIds[0]);
+//
+//        System.out.println(rsServer.callStoreData(30067080));
+//
+//        rsServer.stop();
+    }
+}
+

+ 15 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/config/JfcloudColdChainConstants.java

@@ -0,0 +1,15 @@
+package vip.xiaonuo.coldchain.modular.renke.config;
+
+/**
+ * @author jackzhou
+ * @version 1.0
+ * @project jfcloud-coldchain
+ * @description
+ * @date 2024/11/1 15:02:07
+ */
+public interface JfcloudColdChainConstants {
+    /**
+     * TCP 服务端口
+     */
+    Integer SERVER_PORT = 40404;
+}

+ 97 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/config/JfcloudColdChainServerAutoConfiguration.java

@@ -0,0 +1,97 @@
+package vip.xiaonuo.coldchain.modular.renke.config;
+
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import rk.netDevice.sdk.p2.IDataListener;
+import rk.netDevice.sdk.p2.RSServer;
+import vip.xiaonuo.coldchain.modular.renke.listener.JfcloudColdChainDefaultDataListener;
+import vip.xiaonuo.coldchain.modular.renke.util.IPUtils;
+
+import javax.annotation.PreDestroy;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@Configuration
+@EnableConfigurationProperties(JfcloudColdChainServerProperties.class)
+@EnableAsync
+@Slf4j
+public class JfcloudColdChainServerAutoConfiguration {
+
+    // 定义线程池用于异步启动 RSServer,避免阻塞主线程
+    private final ExecutorService executorService = Executors.newSingleThreadExecutor();
+    private RSServer rsServer;
+
+    /**
+     * 默认的数据监听器 Bean。如果用户没有自定义 IDataListener 实现,将会使用此默认实现。
+     *
+     * @return 默认的 IDataListener 实例
+     */
+    @Bean
+    @ConditionalOnMissingBean
+    public IDataListener defaultRkDataListener() {
+        // 使用默认实现 DefaultRKDataListener,便于处理数据
+        return new JfcloudColdChainDefaultDataListener();
+    }
+
+    /**
+     * RSServer Bean 配置,使用异步方式启动,以避免阻塞应用启动。
+     *
+     * @param properties   RSServer 配置属性,包含端口等配置信息
+     * @param dataListener 数据监听器,用于处理 RSServer 的各种数据回调
+     * @return RSServer 实例
+     */
+    @Bean
+    @ConditionalOnMissingBean
+    @SneakyThrows
+    public RSServer jfcloudColdChainServer(JfcloudColdChainServerProperties properties, IDataListener dataListener) {
+        // 初始化 RSServer,并注入数据监听器
+        String paramFilePath="C:\\code\\product\\jfcloud-coldchain\\snowy-plugin\\snowy-plugin-coldchain\\src\\main\\resources\\lib\\param.dat";
+        rsServer = RSServer.Initiate(properties.getPort(),paramFilePath);
+        rsServer.addDataListener(dataListener);
+        log.info("""
+                ----------------------------------------------------------
+                冷链通信服务(JfcloudColdChainServer)正在启动, Access URLs:
+                访问地址:    tcp://{}:{}
+                ----------------------------------------------------------
+                """, IPUtils.getIp(), properties.getPort()
+        );
+        // 异步启动 RSServer,避免阻塞主线程
+        startJfcloudColdChainServerAsync(rsServer);
+        return rsServer;
+    }
+
+    /**
+     * 异步启动 RSServer,确保不会阻塞主线程。
+     *
+     * @param rsServer 要启动的 RSServer 实例
+     */
+    @Async
+    public void startJfcloudColdChainServerAsync(RSServer rsServer) {
+        executorService.submit(() -> {
+            try {
+                rsServer.start();
+                log.info("RSServer 已成功启动");
+            } catch (Exception e) {
+                log.error("RSServer 启动失败", e);
+            }
+        });
+    }
+
+    /**
+     * 关闭 RSServer,在 Spring 容器销毁时调用。
+     */
+    @PreDestroy
+    public void shutdownJfcloudColdChainServer() {
+        if (rsServer != null) {
+            rsServer.stop();
+            log.info("RSServer 已停止");
+        }
+        executorService.shutdown();
+    }
+}

+ 20 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/config/JfcloudColdChainServerProperties.java

@@ -0,0 +1,20 @@
+package vip.xiaonuo.coldchain.modular.renke.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * @author jackzhou
+ * @version 1.0
+ * @project jfcloud-coldchain
+ * @description RSServer 配置属性类,用于配置端口号,默认使用 2404
+ * @date 2024/11/1 14:58:48
+ */
+@ConfigurationProperties(prefix = "coldchain")
+@Data
+public class JfcloudColdChainServerProperties {
+    /**
+     * 配置 RSServer 的端口号,默认为 2404
+     */
+    private int port = JfcloudColdChainConstants.SERVER_PORT;
+}

+ 79 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/listener/JfcloudColdChainDefaultDataListener.java

@@ -0,0 +1,79 @@
+package vip.xiaonuo.coldchain.modular.renke.listener;
+
+import cn.hutool.json.JSONUtil;
+import lombok.extern.slf4j.Slf4j;
+import rk.netDevice.sdk.p2.*;
+
+/**
+ * 默认的 RK 数据监听器,用于处理设备通信中的各种事件。
+ * 包括校时应答、遥控指令应答、存储数据接收、实时数据接收等。
+ * 提供统一的默认日志输出,方便调试和监控。
+ *
+ * @author jackzhou
+ * @version 1.0
+ * @project jfcloud-coldchain
+ * @date 2024/11/1 15:06:18
+ */
+@Slf4j
+public class JfcloudColdChainDefaultDataListener implements IDataListener {
+    public static ParamIdsData paramIdsData;
+
+    @Override
+    public void receiveTimmingAck(TimmingAck data) {
+        log.info("接收到校时应答: 设备ID = {}", data.getDeviceId());
+    }
+
+    @Override
+    public void receiveTelecontrolAck(TelecontrolAck data) {
+        log.info("接收到遥控指令应答: 设备ID = {}", data.getDeviceId());
+    }
+
+    @Override
+    public void receiveStoreData(StoreData data) {
+        log.info("接收到存储数据: 设备ID = {}", data.getDeviceId());
+        data.getNodeList().forEach(nodeData ->
+                log.info("记录ID: {}, 记录时间: {}, 温度: {}, 湿度: {}",
+                        nodeData.getNodeId(),nodeData.getRecordTime(), nodeData.getTem(), nodeData.getHum())
+        );
+    }
+
+    @Override
+    public void receiveRealtimeData(RealTimeData data) {
+        log.info("接收到实时数据: 设备ID = {}", data.getDeviceId());
+        data.getNodeList().forEach(nodeData ->
+                log.info("记录ID: {}, 记录时间: {}, 温度: {}, 湿度: {}",
+                        nodeData.getNodeId(),nodeData.getRecordTime(), nodeData.getTem(), nodeData.getHum())
+        );
+    }
+
+    @Override
+    public void receiveLoginData(LoginData data) {
+        log.info("接收到设备登录信息: 设备ID = {}", data.getDeviceId());
+    }
+
+    @Override
+    public void receiveParamIds(ParamIdsData data) {
+        log.info("接收到设备参数编号信息\n{}",JSONUtil.toJsonStr(data));
+        paramIdsData=data;
+    }
+
+    @Override
+    public void receiveParam(ParamData data) {
+        log.info("接收到设备参数信息: \n{}",JSONUtil.toJsonStr(data));
+    }
+
+    @Override
+    public void receiveWriteParamAck(WriteParamAck data) {
+        log.info("接收到参数下载应答:{}",data);
+    }
+
+    @Override
+    public void receiveTransDataAck(TransDataAck data) {
+        log.info("接收到透传数据应答:{}",data);
+    }
+
+    @Override
+    public void receiveHeartbeatData(HeartbeatData heartbeatData) {
+        log.info("接收到心跳包: 设备ID = {}", heartbeatData.getDeviceId());
+    }
+}

+ 59 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/renke/util/IPUtils.java

@@ -0,0 +1,59 @@
+package vip.xiaonuo.coldchain.modular.renke.util;
+
+/**
+ * @author jackzhou
+ * @version 1.0
+ * @project jfcloud-coldchain
+ * @description
+ * @date 2024/11/1 15:43:20
+ */
+
+import lombok.experimental.UtilityClass;
+import lombok.extern.slf4j.Slf4j;
+
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.util.Enumeration;
+
+@Slf4j
+@UtilityClass
+public class IPUtils {
+    public static String getIp() {
+        String ip = getLocalIp();
+        if (ip == null || "".equals(ip)) {
+            ip = getLocalIp2();
+        }
+        return ip;
+    }
+
+    private static String getLocalIp() {
+        try {
+            Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
+            while (en.hasMoreElements()) {
+                NetworkInterface networkInterface = en.nextElement();
+                Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
+                while (addresses.hasMoreElements()) {
+                    InetAddress address = addresses.nextElement();
+                    if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && !address.isSiteLocalAddress()) {
+                        String ipAddress = address.getHostAddress();
+                        log.info("获取到的IP为【{}】", ipAddress);
+                        return ipAddress;
+                    }
+                }
+            }
+        } catch (Exception e) {
+            log.error("getLocalIP1 获取IP报错", e);
+        }
+        return null;
+    }
+
+    public static String getLocalIp2() {
+        try {
+            return InetAddress.getLocalHost().getHostAddress();
+        } catch (Exception e) {
+            log.error("getLocalIp2 获取IP报错", e);
+        }
+        return null;
+    }
+
+}

+ 0 - 123
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/controller/TbalarmController.java

@@ -1,123 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.controller;
-
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.pojo.CommonResult;
-import vip.xiaonuo.coldchain.modular.tbalarm.entity.Tbalarm;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmAddParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmEditParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmIdParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmPageParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.service.TbalarmService;
-
-import jakarta.annotation.Resource;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotEmpty;
-import java.util.List;
-
-/**
- * tbalarm控制器
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- */
-@Tag(name = "tbalarm控制器")
-@RestController
-@Validated
-public class TbalarmController {
-
-    @Resource
-    private TbalarmService tbalarmService;
-
-    /**
-     * 获取tbalarm分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "获取tbalarm分页")
-    @SaCheckPermission("/coldchain/tbalarm/page")
-    @GetMapping("/coldchain/tbalarm/page")
-    public CommonResult<Page<Tbalarm>> page(TbalarmPageParam tbalarmPageParam) {
-        return CommonResult.data(tbalarmService.page(tbalarmPageParam));
-    }
-
-    /**
-     * 添加tbalarm
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "添加tbalarm")
-    @CommonLog("添加tbalarm")
-    @SaCheckPermission("/coldchain/tbalarm/add")
-    @PostMapping("/coldchain/tbalarm/add")
-    public CommonResult<String> add(@RequestBody @Valid TbalarmAddParam tbalarmAddParam) {
-        tbalarmService.add(tbalarmAddParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 编辑tbalarm
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "编辑tbalarm")
-    @CommonLog("编辑tbalarm")
-    @SaCheckPermission("/coldchain/tbalarm/edit")
-    @PostMapping("/coldchain/tbalarm/edit")
-    public CommonResult<String> edit(@RequestBody @Valid TbalarmEditParam tbalarmEditParam) {
-        tbalarmService.edit(tbalarmEditParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 删除tbalarm
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "删除tbalarm")
-    @CommonLog("删除tbalarm")
-    @SaCheckPermission("/coldchain/tbalarm/delete")
-    @PostMapping("/coldchain/tbalarm/delete")
-    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
-                                                   List<TbalarmIdParam> tbalarmIdParamList) {
-        tbalarmService.delete(tbalarmIdParamList);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 获取tbalarm详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "获取tbalarm详情")
-    @SaCheckPermission("/coldchain/tbalarm/detail")
-    @GetMapping("/coldchain/tbalarm/detail")
-    public CommonResult<Tbalarm> detail(@Valid TbalarmIdParam tbalarmIdParam) {
-        return CommonResult.data(tbalarmService.detail(tbalarmIdParam));
-    }
-}

+ 0 - 97
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/entity/Tbalarm.java

@@ -1,97 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.entity;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbalarm实体
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-@TableName("tbalarm")
-public class Tbalarm {
-
-    /** ID */
-    @TableId
-    @Schema(description = "ID")
-    private String id;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** ALARMTYPE */
-    @Schema(description = "ALARMTYPE")
-    private String alarmtype;
-
-    /** ALARMMESSAGE */
-    @Schema(description = "ALARMMESSAGE")
-    private String alarmmessage;
-
-    /** DATANO */
-    @Schema(description = "DATANO")
-    private Integer datano;
-
-    /** DATAVALUE */
-    @Schema(description = "DATAVALUE")
-    private Double datavalue;
-
-    /** ALARMRANGE */
-    @Schema(description = "ALARMRANGE")
-    private String alarmrange;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-    /** HANDINGFLAG */
-    @Schema(description = "HANDINGFLAG")
-    private Integer handingflag;
-
-    /** HANDLINGMETHOD */
-    @Schema(description = "HANDLINGMETHOD")
-    private String handlingmethod;
-
-    /** HANDLINGUSER */
-    @Schema(description = "HANDLINGUSER")
-    private String handlinguser;
-
-    /** HANDLINGTIME */
-    @Schema(description = "HANDLINGTIME")
-    private Date handlingtime;
-
-    /** LNG */
-    @Schema(description = "LNG")
-    private Float lng;
-
-    /** LAT */
-    @Schema(description = "LAT")
-    private Float lat;
-}

+ 0 - 34
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/enums/TbalarmEnum.java

@@ -1,34 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.enums;
-
-import lombok.Getter;
-
-/**
- * tbalarm枚举
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-public enum TbalarmEnum {
-
-    /** 测试 */
-    TEST("TEST");
-
-    private final String value;
-
-    TbalarmEnum(String value) {
-        this.value = value;
-    }
-}

+ 0 - 25
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/mapper/TbalarmMapper.java

@@ -1,25 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import vip.xiaonuo.coldchain.modular.tbalarm.entity.Tbalarm;
-
-/**
- * tbalarmMapper接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-public interface TbalarmMapper extends BaseMapper<Tbalarm> {
-}

+ 0 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/mapper/mapping/TbalarmMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="vip.xiaonuo.coldchain.modular.tbalarm.mapper.TbalarmMapper">
-
-</mapper>

+ 0 - 94
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmAddParam.java

@@ -1,94 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbalarm添加参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbalarmAddParam {
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** ALARMTYPE */
-    @Schema(description = "ALARMTYPE")
-    private String alarmtype;
-
-    /** ALARMMESSAGE */
-    @Schema(description = "ALARMMESSAGE")
-    private String alarmmessage;
-
-    /** DATANO */
-    @Schema(description = "DATANO")
-    private Integer datano;
-
-    /** DATAVALUE */
-    @Schema(description = "DATAVALUE")
-    private Double datavalue;
-
-    /** ALARMRANGE */
-    @Schema(description = "ALARMRANGE")
-    private String alarmrange;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-    /** HANDINGFLAG */
-    @Schema(description = "HANDINGFLAG")
-    private Integer handingflag;
-
-    /** HANDLINGMETHOD */
-    @Schema(description = "HANDLINGMETHOD")
-    private String handlingmethod;
-
-    /** HANDLINGUSER */
-    @Schema(description = "HANDLINGUSER")
-    private String handlinguser;
-
-    /** HANDLINGTIME */
-    @Schema(description = "HANDLINGTIME")
-    private Date handlingtime;
-
-    /** LNG */
-    @Schema(description = "LNG")
-    private Float lng;
-
-    /** LAT */
-    @Schema(description = "LAT")
-    private Float lat;
-
-}

+ 0 - 99
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmEditParam.java

@@ -1,99 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbalarm编辑参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbalarmEditParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** ALARMTYPE */
-    @Schema(description = "ALARMTYPE")
-    private String alarmtype;
-
-    /** ALARMMESSAGE */
-    @Schema(description = "ALARMMESSAGE")
-    private String alarmmessage;
-
-    /** DATANO */
-    @Schema(description = "DATANO")
-    private Integer datano;
-
-    /** DATAVALUE */
-    @Schema(description = "DATAVALUE")
-    private Double datavalue;
-
-    /** ALARMRANGE */
-    @Schema(description = "ALARMRANGE")
-    private String alarmrange;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-    /** HANDINGFLAG */
-    @Schema(description = "HANDINGFLAG")
-    private Integer handingflag;
-
-    /** HANDLINGMETHOD */
-    @Schema(description = "HANDLINGMETHOD")
-    private String handlingmethod;
-
-    /** HANDLINGUSER */
-    @Schema(description = "HANDLINGUSER")
-    private String handlinguser;
-
-    /** HANDLINGTIME */
-    @Schema(description = "HANDLINGTIME")
-    private Date handlingtime;
-
-    /** LNG */
-    @Schema(description = "LNG")
-    private Float lng;
-
-    /** LAT */
-    @Schema(description = "LAT")
-    private Float lat;
-
-}

+ 0 - 35
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmIdParam.java

@@ -1,35 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-
-/**
- * tbalarmId参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbalarmIdParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-}

+ 0 - 51
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/param/TbalarmPageParam.java

@@ -1,51 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbalarm查询参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbalarmPageParam {
-
-    /** 当前页 */
-    @Schema(description = "当前页码")
-    private Integer current;
-
-    /** 每页条数 */
-    @Schema(description = "每页条数")
-    private Integer size;
-
-    /** 排序字段 */
-    @Schema(description = "排序字段,字段驼峰名称,如:userName")
-    private String sortField;
-
-    /** 排序方式 */
-    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
-    private String sortOrder;
-
-    /** 关键词 */
-    @Schema(description = "关键词")
-    private String searchKey;
-
-}

+ 0 - 80
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/service/TbalarmService.java

@@ -1,80 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.service;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import vip.xiaonuo.coldchain.modular.tbalarm.entity.Tbalarm;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmAddParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmEditParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmIdParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmPageParam;
-
-import java.util.List;
-
-/**
- * tbalarmService接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-public interface TbalarmService extends IService<Tbalarm> {
-
-    /**
-     * 获取tbalarm分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    Page<Tbalarm> page(TbalarmPageParam tbalarmPageParam);
-
-    /**
-     * 添加tbalarm
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    void add(TbalarmAddParam tbalarmAddParam);
-
-    /**
-     * 编辑tbalarm
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    void edit(TbalarmEditParam tbalarmEditParam);
-
-    /**
-     * 删除tbalarm
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    void delete(List<TbalarmIdParam> tbalarmIdParamList);
-
-    /**
-     * 获取tbalarm详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    Tbalarm detail(TbalarmIdParam tbalarmIdParam);
-
-    /**
-     * 获取tbalarm详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     **/
-    Tbalarm queryEntity(String id);
-}

+ 0 - 94
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbalarm/service/impl/TbalarmServiceImpl.java

@@ -1,94 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbalarm.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollStreamUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
-import vip.xiaonuo.common.exception.CommonException;
-import vip.xiaonuo.common.page.CommonPageRequest;
-import vip.xiaonuo.coldchain.modular.tbalarm.entity.Tbalarm;
-import vip.xiaonuo.coldchain.modular.tbalarm.mapper.TbalarmMapper;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmAddParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmEditParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmIdParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.param.TbalarmPageParam;
-import vip.xiaonuo.coldchain.modular.tbalarm.service.TbalarmService;
-
-import java.util.List;
-
-/**
- * tbalarmService接口实现类
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Service
-public class TbalarmServiceImpl extends ServiceImpl<TbalarmMapper, Tbalarm> implements TbalarmService {
-
-    @Override
-    public Page<Tbalarm> page(TbalarmPageParam tbalarmPageParam) {
-        QueryWrapper<Tbalarm> queryWrapper = new QueryWrapper<Tbalarm>().checkSqlInjection();
-        if(ObjectUtil.isAllNotEmpty(tbalarmPageParam.getSortField(), tbalarmPageParam.getSortOrder())) {
-            CommonSortOrderEnum.validate(tbalarmPageParam.getSortOrder());
-            queryWrapper.orderBy(true, tbalarmPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
-                    StrUtil.toUnderlineCase(tbalarmPageParam.getSortField()));
-        } else {
-            queryWrapper.lambda().orderByAsc(Tbalarm::getId);
-        }
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void add(TbalarmAddParam tbalarmAddParam) {
-        Tbalarm tbalarm = BeanUtil.toBean(tbalarmAddParam, Tbalarm.class);
-        this.save(tbalarm);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void edit(TbalarmEditParam tbalarmEditParam) {
-        Tbalarm tbalarm = this.queryEntity(tbalarmEditParam.getId());
-        BeanUtil.copyProperties(tbalarmEditParam, tbalarm);
-        this.updateById(tbalarm);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void delete(List<TbalarmIdParam> tbalarmIdParamList) {
-        // 执行删除
-        this.removeByIds(CollStreamUtil.toList(tbalarmIdParamList, TbalarmIdParam::getId));
-    }
-
-    @Override
-    public Tbalarm detail(TbalarmIdParam tbalarmIdParam) {
-        return this.queryEntity(tbalarmIdParam.getId());
-    }
-
-    @Override
-    public Tbalarm queryEntity(String id) {
-        Tbalarm tbalarm = this.getById(id);
-        if(ObjectUtil.isEmpty(tbalarm)) {
-            throw new CommonException("tbalarm不存在,id值为:{}", id);
-        }
-        return tbalarm;
-    }
-}

+ 0 - 123
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/controller/TbhistoryController.java

@@ -1,123 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.controller;
-
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.pojo.CommonResult;
-import vip.xiaonuo.coldchain.modular.tbhistory.entity.Tbhistory;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryAddParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryEditParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryIdParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryPageParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.service.TbhistoryService;
-
-import jakarta.annotation.Resource;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotEmpty;
-import java.util.List;
-
-/**
- * tbhistory控制器
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- */
-@Tag(name = "tbhistory控制器")
-@RestController
-@Validated
-public class TbhistoryController {
-
-    @Resource
-    private TbhistoryService tbhistoryService;
-
-    /**
-     * 获取tbhistory分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "获取tbhistory分页")
-    @SaCheckPermission("/coldchain/tbhistory/page")
-    @GetMapping("/coldchain/tbhistory/page")
-    public CommonResult<Page<Tbhistory>> page(TbhistoryPageParam tbhistoryPageParam) {
-        return CommonResult.data(tbhistoryService.page(tbhistoryPageParam));
-    }
-
-    /**
-     * 添加tbhistory
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "添加tbhistory")
-    @CommonLog("添加tbhistory")
-    @SaCheckPermission("/coldchain/tbhistory/add")
-    @PostMapping("/coldchain/tbhistory/add")
-    public CommonResult<String> add(@RequestBody @Valid TbhistoryAddParam tbhistoryAddParam) {
-        tbhistoryService.add(tbhistoryAddParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 编辑tbhistory
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "编辑tbhistory")
-    @CommonLog("编辑tbhistory")
-    @SaCheckPermission("/coldchain/tbhistory/edit")
-    @PostMapping("/coldchain/tbhistory/edit")
-    public CommonResult<String> edit(@RequestBody @Valid TbhistoryEditParam tbhistoryEditParam) {
-        tbhistoryService.edit(tbhistoryEditParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 删除tbhistory
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "删除tbhistory")
-    @CommonLog("删除tbhistory")
-    @SaCheckPermission("/coldchain/tbhistory/delete")
-    @PostMapping("/coldchain/tbhistory/delete")
-    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
-                                                   List<TbhistoryIdParam> tbhistoryIdParamList) {
-        tbhistoryService.delete(tbhistoryIdParamList);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 获取tbhistory详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    @Operation(summary = "获取tbhistory详情")
-    @SaCheckPermission("/coldchain/tbhistory/detail")
-    @GetMapping("/coldchain/tbhistory/detail")
-    public CommonResult<Tbhistory> detail(@Valid TbhistoryIdParam tbhistoryIdParam) {
-        return CommonResult.data(tbhistoryService.detail(tbhistoryIdParam));
-    }
-}

+ 0 - 81
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/entity/Tbhistory.java

@@ -1,81 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.entity;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbhistory实体
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-@TableName("tbhistory")
-public class Tbhistory {
-
-    /** ID */
-    @TableId
-    @Schema(description = "ID")
-    private String id;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** HUM */
-    @Schema(description = "HUM")
-    private Double hum;
-
-    /** TEM */
-    @Schema(description = "TEM")
-    private Double tem;
-
-    /** COORDINATETYPE */
-    @Schema(description = "COORDINATETYPE")
-    private Boolean coordinatetype;
-
-    /** LNG */
-    @Schema(description = "LNG")
-    private Double lng;
-
-    /** LAT */
-    @Schema(description = "LAT")
-    private Double lat;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-    /** ISALARMDATA */
-    @Schema(description = "ISALARMDATA")
-    private Boolean isalarmdata;
-
-    /** SOURCE */
-    @Schema(description = "SOURCE")
-    private Boolean source;
-}

+ 0 - 34
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/enums/TbhistoryEnum.java

@@ -1,34 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.enums;
-
-import lombok.Getter;
-
-/**
- * tbhistory枚举
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-public enum TbhistoryEnum {
-
-    /** 测试 */
-    TEST("TEST");
-
-    private final String value;
-
-    TbhistoryEnum(String value) {
-        this.value = value;
-    }
-}

+ 0 - 25
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/mapper/TbhistoryMapper.java

@@ -1,25 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import vip.xiaonuo.coldchain.modular.tbhistory.entity.Tbhistory;
-
-/**
- * tbhistoryMapper接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-public interface TbhistoryMapper extends BaseMapper<Tbhistory> {
-}

+ 0 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/mapper/mapping/TbhistoryMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="vip.xiaonuo.coldchain.modular.tbhistory.mapper.TbhistoryMapper">
-
-</mapper>

+ 0 - 78
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryAddParam.java

@@ -1,78 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbhistory添加参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbhistoryAddParam {
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** HUM */
-    @Schema(description = "HUM")
-    private Double hum;
-
-    /** TEM */
-    @Schema(description = "TEM")
-    private Double tem;
-
-    /** COORDINATETYPE */
-    @Schema(description = "COORDINATETYPE")
-    private Boolean coordinatetype;
-
-    /** LNG */
-    @Schema(description = "LNG")
-    private Double lng;
-
-    /** LAT */
-    @Schema(description = "LAT")
-    private Double lat;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-    /** ISALARMDATA */
-    @Schema(description = "ISALARMDATA")
-    private Boolean isalarmdata;
-
-    /** SOURCE */
-    @Schema(description = "SOURCE")
-    private Boolean source;
-
-}

+ 0 - 83
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryEditParam.java

@@ -1,83 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbhistory编辑参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbhistoryEditParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** HUM */
-    @Schema(description = "HUM")
-    private Double hum;
-
-    /** TEM */
-    @Schema(description = "TEM")
-    private Double tem;
-
-    /** COORDINATETYPE */
-    @Schema(description = "COORDINATETYPE")
-    private Boolean coordinatetype;
-
-    /** LNG */
-    @Schema(description = "LNG")
-    private Double lng;
-
-    /** LAT */
-    @Schema(description = "LAT")
-    private Double lat;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-    /** ISALARMDATA */
-    @Schema(description = "ISALARMDATA")
-    private Boolean isalarmdata;
-
-    /** SOURCE */
-    @Schema(description = "SOURCE")
-    private Boolean source;
-
-}

+ 0 - 35
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryIdParam.java

@@ -1,35 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-
-/**
- * tbhistoryId参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbhistoryIdParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-}

+ 0 - 51
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/param/TbhistoryPageParam.java

@@ -1,51 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbhistory查询参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Getter
-@Setter
-public class TbhistoryPageParam {
-
-    /** 当前页 */
-    @Schema(description = "当前页码")
-    private Integer current;
-
-    /** 每页条数 */
-    @Schema(description = "每页条数")
-    private Integer size;
-
-    /** 排序字段 */
-    @Schema(description = "排序字段,字段驼峰名称,如:userName")
-    private String sortField;
-
-    /** 排序方式 */
-    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
-    private String sortOrder;
-
-    /** 关键词 */
-    @Schema(description = "关键词")
-    private String searchKey;
-
-}

+ 0 - 80
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/service/TbhistoryService.java

@@ -1,80 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.service;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import vip.xiaonuo.coldchain.modular.tbhistory.entity.Tbhistory;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryAddParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryEditParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryIdParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryPageParam;
-
-import java.util.List;
-
-/**
- * tbhistoryService接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-public interface TbhistoryService extends IService<Tbhistory> {
-
-    /**
-     * 获取tbhistory分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    Page<Tbhistory> page(TbhistoryPageParam tbhistoryPageParam);
-
-    /**
-     * 添加tbhistory
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    void add(TbhistoryAddParam tbhistoryAddParam);
-
-    /**
-     * 编辑tbhistory
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    void edit(TbhistoryEditParam tbhistoryEditParam);
-
-    /**
-     * 删除tbhistory
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    void delete(List<TbhistoryIdParam> tbhistoryIdParamList);
-
-    /**
-     * 获取tbhistory详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     */
-    Tbhistory detail(TbhistoryIdParam tbhistoryIdParam);
-
-    /**
-     * 获取tbhistory详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:49
-     **/
-    Tbhistory queryEntity(String id);
-}

+ 0 - 94
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbhistory/service/impl/TbhistoryServiceImpl.java

@@ -1,94 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbhistory.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollStreamUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
-import vip.xiaonuo.common.exception.CommonException;
-import vip.xiaonuo.common.page.CommonPageRequest;
-import vip.xiaonuo.coldchain.modular.tbhistory.entity.Tbhistory;
-import vip.xiaonuo.coldchain.modular.tbhistory.mapper.TbhistoryMapper;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryAddParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryEditParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryIdParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.param.TbhistoryPageParam;
-import vip.xiaonuo.coldchain.modular.tbhistory.service.TbhistoryService;
-
-import java.util.List;
-
-/**
- * tbhistoryService接口实现类
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:49
- **/
-@Service
-public class TbhistoryServiceImpl extends ServiceImpl<TbhistoryMapper, Tbhistory> implements TbhistoryService {
-
-    @Override
-    public Page<Tbhistory> page(TbhistoryPageParam tbhistoryPageParam) {
-        QueryWrapper<Tbhistory> queryWrapper = new QueryWrapper<Tbhistory>().checkSqlInjection();
-        if(ObjectUtil.isAllNotEmpty(tbhistoryPageParam.getSortField(), tbhistoryPageParam.getSortOrder())) {
-            CommonSortOrderEnum.validate(tbhistoryPageParam.getSortOrder());
-            queryWrapper.orderBy(true, tbhistoryPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
-                    StrUtil.toUnderlineCase(tbhistoryPageParam.getSortField()));
-        } else {
-            queryWrapper.lambda().orderByAsc(Tbhistory::getId);
-        }
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void add(TbhistoryAddParam tbhistoryAddParam) {
-        Tbhistory tbhistory = BeanUtil.toBean(tbhistoryAddParam, Tbhistory.class);
-        this.save(tbhistory);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void edit(TbhistoryEditParam tbhistoryEditParam) {
-        Tbhistory tbhistory = this.queryEntity(tbhistoryEditParam.getId());
-        BeanUtil.copyProperties(tbhistoryEditParam, tbhistory);
-        this.updateById(tbhistory);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void delete(List<TbhistoryIdParam> tbhistoryIdParamList) {
-        // 执行删除
-        this.removeByIds(CollStreamUtil.toList(tbhistoryIdParamList, TbhistoryIdParam::getId));
-    }
-
-    @Override
-    public Tbhistory detail(TbhistoryIdParam tbhistoryIdParam) {
-        return this.queryEntity(tbhistoryIdParam.getId());
-    }
-
-    @Override
-    public Tbhistory queryEntity(String id) {
-        Tbhistory tbhistory = this.getById(id);
-        if(ObjectUtil.isEmpty(tbhistory)) {
-            throw new CommonException("tbhistory不存在,id值为:{}", id);
-        }
-        return tbhistory;
-    }
-}

+ 0 - 123
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/controller/TbnoticelogController.java

@@ -1,123 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.controller;
-
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.pojo.CommonResult;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.entity.Tbnoticelog;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogAddParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogEditParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogIdParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogPageParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.service.TbnoticelogService;
-
-import jakarta.annotation.Resource;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotEmpty;
-import java.util.List;
-
-/**
- * tbnoticelog控制器
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- */
-@Tag(name = "tbnoticelog控制器")
-@RestController
-@Validated
-public class TbnoticelogController {
-
-    @Resource
-    private TbnoticelogService tbnoticelogService;
-
-    /**
-     * 获取tbnoticelog分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "获取tbnoticelog分页")
-    @SaCheckPermission("/coldchain/tbnoticelog/page")
-    @GetMapping("/coldchain/tbnoticelog/page")
-    public CommonResult<Page<Tbnoticelog>> page(TbnoticelogPageParam tbnoticelogPageParam) {
-        return CommonResult.data(tbnoticelogService.page(tbnoticelogPageParam));
-    }
-
-    /**
-     * 添加tbnoticelog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "添加tbnoticelog")
-    @CommonLog("添加tbnoticelog")
-    @SaCheckPermission("/coldchain/tbnoticelog/add")
-    @PostMapping("/coldchain/tbnoticelog/add")
-    public CommonResult<String> add(@RequestBody @Valid TbnoticelogAddParam tbnoticelogAddParam) {
-        tbnoticelogService.add(tbnoticelogAddParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 编辑tbnoticelog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "编辑tbnoticelog")
-    @CommonLog("编辑tbnoticelog")
-    @SaCheckPermission("/coldchain/tbnoticelog/edit")
-    @PostMapping("/coldchain/tbnoticelog/edit")
-    public CommonResult<String> edit(@RequestBody @Valid TbnoticelogEditParam tbnoticelogEditParam) {
-        tbnoticelogService.edit(tbnoticelogEditParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 删除tbnoticelog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "删除tbnoticelog")
-    @CommonLog("删除tbnoticelog")
-    @SaCheckPermission("/coldchain/tbnoticelog/delete")
-    @PostMapping("/coldchain/tbnoticelog/delete")
-    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
-                                                   List<TbnoticelogIdParam> tbnoticelogIdParamList) {
-        tbnoticelogService.delete(tbnoticelogIdParamList);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 获取tbnoticelog详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "获取tbnoticelog详情")
-    @SaCheckPermission("/coldchain/tbnoticelog/detail")
-    @GetMapping("/coldchain/tbnoticelog/detail")
-    public CommonResult<Tbnoticelog> detail(@Valid TbnoticelogIdParam tbnoticelogIdParam) {
-        return CommonResult.data(tbnoticelogService.detail(tbnoticelogIdParam));
-    }
-}

+ 0 - 65
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/entity/Tbnoticelog.java

@@ -1,65 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.entity;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbnoticelog实体
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-@TableName("tbnoticelog")
-public class Tbnoticelog {
-
-    /** ID */
-    @TableId
-    @Schema(description = "ID")
-    private String id;
-
-    /** NOTICETYPE */
-    @Schema(description = "NOTICETYPE")
-    private String noticetype;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** CONTACT */
-    @Schema(description = "CONTACT")
-    private String contact;
-
-    /** CONTENT */
-    @Schema(description = "CONTENT")
-    private String content;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-}

+ 0 - 34
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/enums/TbnoticelogEnum.java

@@ -1,34 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.enums;
-
-import lombok.Getter;
-
-/**
- * tbnoticelog枚举
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-public enum TbnoticelogEnum {
-
-    /** 测试 */
-    TEST("TEST");
-
-    private final String value;
-
-    TbnoticelogEnum(String value) {
-        this.value = value;
-    }
-}

+ 0 - 25
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/mapper/TbnoticelogMapper.java

@@ -1,25 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.entity.Tbnoticelog;
-
-/**
- * tbnoticelogMapper接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-public interface TbnoticelogMapper extends BaseMapper<Tbnoticelog> {
-}

+ 0 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/mapper/mapping/TbnoticelogMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="vip.xiaonuo.coldchain.modular.tbnoticelog.mapper.TbnoticelogMapper">
-
-</mapper>

+ 0 - 62
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogAddParam.java

@@ -1,62 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbnoticelog添加参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbnoticelogAddParam {
-
-    /** NOTICETYPE */
-    @Schema(description = "NOTICETYPE")
-    private String noticetype;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** CONTACT */
-    @Schema(description = "CONTACT")
-    private String contact;
-
-    /** CONTENT */
-    @Schema(description = "CONTENT")
-    private String content;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-}

+ 0 - 67
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogEditParam.java

@@ -1,67 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbnoticelog编辑参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbnoticelogEditParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-
-    /** NOTICETYPE */
-    @Schema(description = "NOTICETYPE")
-    private String noticetype;
-
-    /** DEVICEADDR */
-    @Schema(description = "DEVICEADDR")
-    private Integer deviceaddr;
-
-    /** NODEID */
-    @Schema(description = "NODEID")
-    private Integer nodeid;
-
-    /** DEVICENAME */
-    @Schema(description = "DEVICENAME")
-    private String devicename;
-
-    /** CONTACT */
-    @Schema(description = "CONTACT")
-    private String contact;
-
-    /** CONTENT */
-    @Schema(description = "CONTENT")
-    private String content;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-}

+ 0 - 35
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogIdParam.java

@@ -1,35 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-
-/**
- * tbnoticelogId参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbnoticelogIdParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-}

+ 0 - 51
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/param/TbnoticelogPageParam.java

@@ -1,51 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbnoticelog查询参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbnoticelogPageParam {
-
-    /** 当前页 */
-    @Schema(description = "当前页码")
-    private Integer current;
-
-    /** 每页条数 */
-    @Schema(description = "每页条数")
-    private Integer size;
-
-    /** 排序字段 */
-    @Schema(description = "排序字段,字段驼峰名称,如:userName")
-    private String sortField;
-
-    /** 排序方式 */
-    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
-    private String sortOrder;
-
-    /** 关键词 */
-    @Schema(description = "关键词")
-    private String searchKey;
-
-}

+ 0 - 80
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/service/TbnoticelogService.java

@@ -1,80 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.service;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.entity.Tbnoticelog;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogAddParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogEditParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogIdParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogPageParam;
-
-import java.util.List;
-
-/**
- * tbnoticelogService接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-public interface TbnoticelogService extends IService<Tbnoticelog> {
-
-    /**
-     * 获取tbnoticelog分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    Page<Tbnoticelog> page(TbnoticelogPageParam tbnoticelogPageParam);
-
-    /**
-     * 添加tbnoticelog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    void add(TbnoticelogAddParam tbnoticelogAddParam);
-
-    /**
-     * 编辑tbnoticelog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    void edit(TbnoticelogEditParam tbnoticelogEditParam);
-
-    /**
-     * 删除tbnoticelog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    void delete(List<TbnoticelogIdParam> tbnoticelogIdParamList);
-
-    /**
-     * 获取tbnoticelog详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    Tbnoticelog detail(TbnoticelogIdParam tbnoticelogIdParam);
-
-    /**
-     * 获取tbnoticelog详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     **/
-    Tbnoticelog queryEntity(String id);
-}

+ 0 - 94
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbnoticelog/service/impl/TbnoticelogServiceImpl.java

@@ -1,94 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbnoticelog.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollStreamUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
-import vip.xiaonuo.common.exception.CommonException;
-import vip.xiaonuo.common.page.CommonPageRequest;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.entity.Tbnoticelog;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.mapper.TbnoticelogMapper;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogAddParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogEditParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogIdParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.param.TbnoticelogPageParam;
-import vip.xiaonuo.coldchain.modular.tbnoticelog.service.TbnoticelogService;
-
-import java.util.List;
-
-/**
- * tbnoticelogService接口实现类
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Service
-public class TbnoticelogServiceImpl extends ServiceImpl<TbnoticelogMapper, Tbnoticelog> implements TbnoticelogService {
-
-    @Override
-    public Page<Tbnoticelog> page(TbnoticelogPageParam tbnoticelogPageParam) {
-        QueryWrapper<Tbnoticelog> queryWrapper = new QueryWrapper<Tbnoticelog>().checkSqlInjection();
-        if(ObjectUtil.isAllNotEmpty(tbnoticelogPageParam.getSortField(), tbnoticelogPageParam.getSortOrder())) {
-            CommonSortOrderEnum.validate(tbnoticelogPageParam.getSortOrder());
-            queryWrapper.orderBy(true, tbnoticelogPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
-                    StrUtil.toUnderlineCase(tbnoticelogPageParam.getSortField()));
-        } else {
-            queryWrapper.lambda().orderByAsc(Tbnoticelog::getId);
-        }
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void add(TbnoticelogAddParam tbnoticelogAddParam) {
-        Tbnoticelog tbnoticelog = BeanUtil.toBean(tbnoticelogAddParam, Tbnoticelog.class);
-        this.save(tbnoticelog);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void edit(TbnoticelogEditParam tbnoticelogEditParam) {
-        Tbnoticelog tbnoticelog = this.queryEntity(tbnoticelogEditParam.getId());
-        BeanUtil.copyProperties(tbnoticelogEditParam, tbnoticelog);
-        this.updateById(tbnoticelog);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void delete(List<TbnoticelogIdParam> tbnoticelogIdParamList) {
-        // 执行删除
-        this.removeByIds(CollStreamUtil.toList(tbnoticelogIdParamList, TbnoticelogIdParam::getId));
-    }
-
-    @Override
-    public Tbnoticelog detail(TbnoticelogIdParam tbnoticelogIdParam) {
-        return this.queryEntity(tbnoticelogIdParam.getId());
-    }
-
-    @Override
-    public Tbnoticelog queryEntity(String id) {
-        Tbnoticelog tbnoticelog = this.getById(id);
-        if(ObjectUtil.isEmpty(tbnoticelog)) {
-            throw new CommonException("tbnoticelog不存在,id值为:{}", id);
-        }
-        return tbnoticelog;
-    }
-}

+ 0 - 123
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/controller/TbsyslogController.java

@@ -1,123 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.controller;
-
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import vip.xiaonuo.common.annotation.CommonLog;
-import vip.xiaonuo.common.pojo.CommonResult;
-import vip.xiaonuo.coldchain.modular.tbsyslog.entity.Tbsyslog;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogAddParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogEditParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogIdParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogPageParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.service.TbsyslogService;
-
-import jakarta.annotation.Resource;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotEmpty;
-import java.util.List;
-
-/**
- * tbsyslog控制器
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- */
-@Tag(name = "tbsyslog控制器")
-@RestController
-@Validated
-public class TbsyslogController {
-
-    @Resource
-    private TbsyslogService tbsyslogService;
-
-    /**
-     * 获取tbsyslog分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "获取tbsyslog分页")
-    @SaCheckPermission("/coldchain/tbsyslog/page")
-    @GetMapping("/coldchain/tbsyslog/page")
-    public CommonResult<Page<Tbsyslog>> page(TbsyslogPageParam tbsyslogPageParam) {
-        return CommonResult.data(tbsyslogService.page(tbsyslogPageParam));
-    }
-
-    /**
-     * 添加tbsyslog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "添加tbsyslog")
-    @CommonLog("添加tbsyslog")
-    @SaCheckPermission("/coldchain/tbsyslog/add")
-    @PostMapping("/coldchain/tbsyslog/add")
-    public CommonResult<String> add(@RequestBody @Valid TbsyslogAddParam tbsyslogAddParam) {
-        tbsyslogService.add(tbsyslogAddParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 编辑tbsyslog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "编辑tbsyslog")
-    @CommonLog("编辑tbsyslog")
-    @SaCheckPermission("/coldchain/tbsyslog/edit")
-    @PostMapping("/coldchain/tbsyslog/edit")
-    public CommonResult<String> edit(@RequestBody @Valid TbsyslogEditParam tbsyslogEditParam) {
-        tbsyslogService.edit(tbsyslogEditParam);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 删除tbsyslog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "删除tbsyslog")
-    @CommonLog("删除tbsyslog")
-    @SaCheckPermission("/coldchain/tbsyslog/delete")
-    @PostMapping("/coldchain/tbsyslog/delete")
-    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
-                                                   List<TbsyslogIdParam> tbsyslogIdParamList) {
-        tbsyslogService.delete(tbsyslogIdParamList);
-        return CommonResult.ok();
-    }
-
-    /**
-     * 获取tbsyslog详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    @Operation(summary = "获取tbsyslog详情")
-    @SaCheckPermission("/coldchain/tbsyslog/detail")
-    @GetMapping("/coldchain/tbsyslog/detail")
-    public CommonResult<Tbsyslog> detail(@Valid TbsyslogIdParam tbsyslogIdParam) {
-        return CommonResult.data(tbsyslogService.detail(tbsyslogIdParam));
-    }
-}

+ 0 - 57
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/entity/Tbsyslog.java

@@ -1,57 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.entity;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbsyslog实体
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-@TableName("tbsyslog")
-public class Tbsyslog {
-
-    /** ID */
-    @TableId
-    @Schema(description = "ID")
-    private String id;
-
-    /** USERNAME */
-    @Schema(description = "USERNAME")
-    private String username;
-
-    /** OPERATE */
-    @Schema(description = "OPERATE")
-    private String operate;
-
-    /** DETAIL */
-    @Schema(description = "DETAIL")
-    private String detail;
-
-    /** RESULT */
-    @Schema(description = "RESULT")
-    private String result;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-}

+ 0 - 34
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/enums/TbsyslogEnum.java

@@ -1,34 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.enums;
-
-import lombok.Getter;
-
-/**
- * tbsyslog枚举
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-public enum TbsyslogEnum {
-
-    /** 测试 */
-    TEST("TEST");
-
-    private final String value;
-
-    TbsyslogEnum(String value) {
-        this.value = value;
-    }
-}

+ 0 - 25
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/mapper/TbsyslogMapper.java

@@ -1,25 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import vip.xiaonuo.coldchain.modular.tbsyslog.entity.Tbsyslog;
-
-/**
- * tbsyslogMapper接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-public interface TbsyslogMapper extends BaseMapper<Tbsyslog> {
-}

+ 0 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/mapper/mapping/TbsyslogMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="vip.xiaonuo.coldchain.modular.tbsyslog.mapper.TbsyslogMapper">
-
-</mapper>

+ 0 - 54
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogAddParam.java

@@ -1,54 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbsyslog添加参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbsyslogAddParam {
-
-    /** USERNAME */
-    @Schema(description = "USERNAME")
-    private String username;
-
-    /** OPERATE */
-    @Schema(description = "OPERATE")
-    private String operate;
-
-    /** DETAIL */
-    @Schema(description = "DETAIL")
-    private String detail;
-
-    /** RESULT */
-    @Schema(description = "RESULT")
-    private String result;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-}

+ 0 - 59
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogEditParam.java

@@ -1,59 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbsyslog编辑参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbsyslogEditParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-
-    /** USERNAME */
-    @Schema(description = "USERNAME")
-    private String username;
-
-    /** OPERATE */
-    @Schema(description = "OPERATE")
-    private String operate;
-
-    /** DETAIL */
-    @Schema(description = "DETAIL")
-    private String detail;
-
-    /** RESULT */
-    @Schema(description = "RESULT")
-    private String result;
-
-    /** RECORDTIME */
-    @Schema(description = "RECORDTIME")
-    private Date recordtime;
-
-}

+ 0 - 35
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogIdParam.java

@@ -1,35 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-
-import jakarta.validation.constraints.NotBlank;
-
-/**
- * tbsyslogId参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbsyslogIdParam {
-
-    /** ID */
-    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
-    private String id;
-}

+ 0 - 51
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/param/TbsyslogPageParam.java

@@ -1,51 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.param;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * tbsyslog查询参数
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Getter
-@Setter
-public class TbsyslogPageParam {
-
-    /** 当前页 */
-    @Schema(description = "当前页码")
-    private Integer current;
-
-    /** 每页条数 */
-    @Schema(description = "每页条数")
-    private Integer size;
-
-    /** 排序字段 */
-    @Schema(description = "排序字段,字段驼峰名称,如:userName")
-    private String sortField;
-
-    /** 排序方式 */
-    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
-    private String sortOrder;
-
-    /** 关键词 */
-    @Schema(description = "关键词")
-    private String searchKey;
-
-}

+ 0 - 80
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/service/TbsyslogService.java

@@ -1,80 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.service;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import vip.xiaonuo.coldchain.modular.tbsyslog.entity.Tbsyslog;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogAddParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogEditParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogIdParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogPageParam;
-
-import java.util.List;
-
-/**
- * tbsyslogService接口
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-public interface TbsyslogService extends IService<Tbsyslog> {
-
-    /**
-     * 获取tbsyslog分页
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    Page<Tbsyslog> page(TbsyslogPageParam tbsyslogPageParam);
-
-    /**
-     * 添加tbsyslog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    void add(TbsyslogAddParam tbsyslogAddParam);
-
-    /**
-     * 编辑tbsyslog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    void edit(TbsyslogEditParam tbsyslogEditParam);
-
-    /**
-     * 删除tbsyslog
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    void delete(List<TbsyslogIdParam> tbsyslogIdParamList);
-
-    /**
-     * 获取tbsyslog详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     */
-    Tbsyslog detail(TbsyslogIdParam tbsyslogIdParam);
-
-    /**
-     * 获取tbsyslog详情
-     *
-     * @author 黄渊昊
-     * @date  2024/10/29 14:50
-     **/
-    Tbsyslog queryEntity(String id);
-}

+ 0 - 94
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/tbsyslog/service/impl/TbsyslogServiceImpl.java

@@ -1,94 +0,0 @@
-/*
- * Copyright [2022] [https://www.xiaonuo.vip]
- *
- * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
- *
- * 1.请不要删除和修改根目录下的LICENSE文件。
- * 2.请不要删除和修改Snowy源码头部的版权声明。
- * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
- * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
- * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
- * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
- */
-package vip.xiaonuo.coldchain.modular.tbsyslog.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollStreamUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
-import vip.xiaonuo.common.exception.CommonException;
-import vip.xiaonuo.common.page.CommonPageRequest;
-import vip.xiaonuo.coldchain.modular.tbsyslog.entity.Tbsyslog;
-import vip.xiaonuo.coldchain.modular.tbsyslog.mapper.TbsyslogMapper;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogAddParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogEditParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogIdParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.param.TbsyslogPageParam;
-import vip.xiaonuo.coldchain.modular.tbsyslog.service.TbsyslogService;
-
-import java.util.List;
-
-/**
- * tbsyslogService接口实现类
- *
- * @author 黄渊昊
- * @date  2024/10/29 14:50
- **/
-@Service
-public class TbsyslogServiceImpl extends ServiceImpl<TbsyslogMapper, Tbsyslog> implements TbsyslogService {
-
-    @Override
-    public Page<Tbsyslog> page(TbsyslogPageParam tbsyslogPageParam) {
-        QueryWrapper<Tbsyslog> queryWrapper = new QueryWrapper<Tbsyslog>().checkSqlInjection();
-        if(ObjectUtil.isAllNotEmpty(tbsyslogPageParam.getSortField(), tbsyslogPageParam.getSortOrder())) {
-            CommonSortOrderEnum.validate(tbsyslogPageParam.getSortOrder());
-            queryWrapper.orderBy(true, tbsyslogPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
-                    StrUtil.toUnderlineCase(tbsyslogPageParam.getSortField()));
-        } else {
-            queryWrapper.lambda().orderByAsc(Tbsyslog::getId);
-        }
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void add(TbsyslogAddParam tbsyslogAddParam) {
-        Tbsyslog tbsyslog = BeanUtil.toBean(tbsyslogAddParam, Tbsyslog.class);
-        this.save(tbsyslog);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void edit(TbsyslogEditParam tbsyslogEditParam) {
-        Tbsyslog tbsyslog = this.queryEntity(tbsyslogEditParam.getId());
-        BeanUtil.copyProperties(tbsyslogEditParam, tbsyslog);
-        this.updateById(tbsyslog);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void delete(List<TbsyslogIdParam> tbsyslogIdParamList) {
-        // 执行删除
-        this.removeByIds(CollStreamUtil.toList(tbsyslogIdParamList, TbsyslogIdParam::getId));
-    }
-
-    @Override
-    public Tbsyslog detail(TbsyslogIdParam tbsyslogIdParam) {
-        return this.queryEntity(tbsyslogIdParam.getId());
-    }
-
-    @Override
-    public Tbsyslog queryEntity(String id) {
-        Tbsyslog tbsyslog = this.getById(id);
-        if(ObjectUtil.isEmpty(tbsyslog)) {
-            throw new CommonException("tbsyslog不存在,id值为:{}", id);
-        }
-        return tbsyslog;
-    }
-}

+ 1 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/resources/META-INF/spring.factories

@@ -0,0 +1 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=vip.xiaonuo.coldchain.modular.renke.config.JfcloudColdChainServerAutoConfiguration

BIN
snowy-plugin/snowy-plugin-coldchain/src/main/resources/lib/param.dat


+ 0 - 1
snowy-plugin/snowy-plugin-dev/README.md

@@ -1 +0,0 @@
-# 开发工具插件

+ 0 - 1
snowy-plugin/snowy-plugin-gen/README.md

@@ -1 +0,0 @@
-# 代码生成插件

+ 0 - 1
snowy-plugin/snowy-plugin-mobile/README.md

@@ -1 +0,0 @@
-# 移动端管理插件

+ 0 - 1
snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/fileImg/README.md

@@ -1 +0,0 @@
-图标文件来源:https://www.aigei.com/s?q=%E6%96%87%E4%BB%B6&detailTab=file&type=icon_7&page=11#resContainer

+ 0 - 1
snowy-plugin/snowy-plugin-sys/README.md

@@ -1 +0,0 @@
-# 系统功能插件

+ 0 - 1
snowy-web-app/README.md

@@ -1 +0,0 @@
-# 主启动模块

+ 7 - 0
snowy-web-app/pom.xml

@@ -117,6 +117,13 @@
             <groupId>vip.xiaonuo</groupId>
             <artifactId>snowy-plugin-sys</artifactId>
         </dependency>
+
+        <!-- 冷链功能插件 -->
+        <dependency>
+            <groupId>vip.xiaonuo</groupId>
+            <artifactId>snowy-plugin-coldchain</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 11 - 0
snowy-web-app/src/main/java/vip/xiaonuo/Application.java

@@ -14,6 +14,7 @@ package vip.xiaonuo;
 
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.Banner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -21,6 +22,7 @@ import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.core.env.Environment;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.coldchain.modular.renke.RKService;
 
 /**
  * SpringBoot方式启动类
@@ -32,6 +34,8 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @SpringBootApplication
 public class Application {
+    @Autowired
+    RKService service;
 
     /* 解决druid 日志报错:discard long time none received connection:xxx */
     static {
@@ -69,6 +73,13 @@ public class Application {
      **/
     @GetMapping("/")
     public String index() {
+        service.test();
+        try {
+            Thread.sleep(5000);
+            service.paramIdsData();
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
         return "WELCOME";
     }
 }

+ 0 - 6
snowy-web-app/src/main/resources/README.md

@@ -1,6 +0,0 @@
-#druid加密密码
-java -cp druid-1.2.8.jar com.alibaba.druid.filter.config.ConfigTools your password
-
-privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAxaJNW11cVWuAUcMMoQtkzRLLCRZjcqO6A33R5jlKiCifWPxjQKU8XufHcW4TukB4EqK/sKEhLS+/H/n1ZSkqZQIDAQABAkAN8PACBOjxgZ7QpbCrX5FhwfSelHy5ZoFFo8d9tQbj6dHOrfwHsRqAkAxGoZ/ivhDKUYf/G7eSwVUqv2H0T1m1AiEA9jRLwNL4/R5HhqfqNVMIF+GbuBhtM+HHPFOoOCR0f4sCIQDNf0ulYZf4DuyDiDuvpWjMtLEuNgnN0LOo1iVKFtM7zwIgfcdfwAXIEEAM2H0mSNG/e7vVeup3t56r02UFtpDhN1sCIQCGhrnnx07sJiDxLoMcRmWn9PY0sU2TvfePJLl+mhiogwIhAPPckbPRPJP52gutyn8GGNV28absrzjA6thi6KAej1aC
-publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMWiTVtdXFVrgFHDDKELZM0SywkWY3KjugN90eY5Sogon1j8Y0ClPF7nx3FuE7pAeBKiv7ChIS0vvx/59WUpKmUCAwEAAQ==
-password:DDnBgo6jKfgn7z+Qhn4/KTbzKzyT/ByFi7JDJA2w6yP/t++OQUjHJyApYeWaN4qVFV3V4fq0HbqTmkyWVj44yA==

+ 5 - 3
snowy-web-app/src/main/resources/application.properties

@@ -69,8 +69,8 @@ spring.datasource.dynamic.strict=true
 
 # druid monitor configuration
 spring.datasource.druid.stat-view-servlet.enabled=true
-spring.datasource.druid.stat-view-servlet.login-username=admin
-spring.datasource.druid.stat-view-servlet.login-password=123456
+spring.datasource.druid.stat-view-servlet.login-username=jfcloud
+spring.datasource.druid.stat-view-servlet.login-password=jfcloudjfcloud
 
 # druid global configuration
 spring.datasource.dynamic.public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMWiTVtdXFVrgFHDDKELZM0SywkWY3KjugN90eY5Sogon1j8Y0ClPF7nx3FuE7pAeBKiv7ChIS0vvx/59WUpKmUCAwEAAQ==
@@ -113,7 +113,8 @@ spring.data.redis.lettuce.pool.min-idle=0
 #########################################
 # mybatis-plus configuration
 #########################################
-mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl
 mybatis-plus.configuration.jdbc-type-for-null=null
 mybatis-plus.global-config.banner=false
 mybatis-plus.global-config.enable-sql-runner=true
@@ -123,6 +124,7 @@ mybatis-plus.global-config.db-config.logic-delete-value=DELETED
 mybatis-plus.global-config.db-config.logic-not-delete-value=NOT_DELETE
 mybatis-plus.mapper-locations=classpath*:vip/xiaonuo/**/mapping/*.xml
 mybatis-plus.type-handlers-package=vip.xiaonuo.common.handler
+logging.level.mybatis=warn
 
 #########################################
 # easy-trans configuration