Explorar o código

删除多余文件(移除素材接口)

tsurumure hai 3 meses
pai
achega
16c64055e4
Modificáronse 100 ficheiros con 1175 adicións e 7129 borrados
  1. 37 37
      db/med_material.sql
  2. 29 29
      db/med_material_category.sql
  3. 34 34
      db/med_my_material.sql
  4. 32 32
      db/sys_user_role_permission.sql
  5. 13 13
      db/sys_user_role_permission_relation.sql
  6. 0 1140
      src/main/java/com/backendsys/SDK/Meitu/AiClient.java
  7. 0 80
      src/main/java/com/backendsys/controller/Ai/AiChatController.java
  8. 0 51
      src/main/java/com/backendsys/controller/Ai/AiChatHistoryController.java
  9. 0 65
      src/main/java/com/backendsys/controller/Cms/CmsArticleCategoryController.java
  10. 0 108
      src/main/java/com/backendsys/controller/Cms/CmsArticleController.java
  11. 0 65
      src/main/java/com/backendsys/controller/Cms/CmsBannerController.java
  12. 0 74
      src/main/java/com/backendsys/controller/Cms/CmsPageController.java
  13. 0 39
      src/main/java/com/backendsys/controller/Cms/CmsSiteInfoController.java
  14. 56 56
      src/main/java/com/backendsys/controller/Med/MedMaterialCategoryController.java
  15. 118 118
      src/main/java/com/backendsys/controller/Med/MedMaterialController.java
  16. 240 240
      src/main/java/com/backendsys/controller/Med/MedMyMaterialController.java
  17. 0 14
      src/main/java/com/backendsys/controller/RedirectController.java
  18. 0 36
      src/main/java/com/backendsys/controller/Systems/SysActuatorController.java
  19. 0 65
      src/main/java/com/backendsys/controller/Systems/SysAgreementController.java
  20. 0 92
      src/main/java/com/backendsys/controller/Systems/SysAuthController.java
  21. 0 22
      src/main/java/com/backendsys/controller/Systems/SysCityController.java
  22. 0 36
      src/main/java/com/backendsys/controller/Systems/SysFileController.java
  23. 0 21
      src/main/java/com/backendsys/controller/Systems/SysLanguageController.java
  24. 0 54
      src/main/java/com/backendsys/controller/Systems/SysMenuController.java
  25. 0 26
      src/main/java/com/backendsys/controller/Systems/SysMobileAreaCodeController.java
  26. 0 63
      src/main/java/com/backendsys/controller/Systems/SysSMSController.java
  27. 0 237
      src/main/java/com/backendsys/controller/Systems/SysUserController.java
  28. 0 112
      src/main/java/com/backendsys/controller/Systems/SysUserPointController.java
  29. 0 106
      src/main/java/com/backendsys/controller/Systems/SysUserRoleV1Controller.java
  30. 0 81
      src/main/java/com/backendsys/controller/Upload/ResourceController.java
  31. 0 139
      src/main/java/com/backendsys/controller/Upload/UploadAliOSSController.java
  32. 0 119
      src/main/java/com/backendsys/controller/Upload/UploadLocalController.java
  33. 0 217
      src/main/java/com/backendsys/controller/Upload/UploadTencentCOSController.java
  34. 0 25
      src/main/java/com/backendsys/entity/Ai/AiChatConfigDTO.java
  35. 0 44
      src/main/java/com/backendsys/entity/Ai/AiChatDTO.java
  36. 0 34
      src/main/java/com/backendsys/entity/Ai/AiChatHistoryDTO.java
  37. 0 37
      src/main/java/com/backendsys/entity/Cms/CmsArticleCategoryDTO.java
  38. 0 59
      src/main/java/com/backendsys/entity/Cms/CmsArticleDTO.java
  39. 0 31
      src/main/java/com/backendsys/entity/Cms/CmsArticleTranslationsDTO.java
  40. 0 43
      src/main/java/com/backendsys/entity/Cms/CmsBannerDTO.java
  41. 0 34
      src/main/java/com/backendsys/entity/Cms/CmsPageDTO.java
  42. 0 31
      src/main/java/com/backendsys/entity/Cms/CmsPageTranslationsDTO.java
  43. 0 36
      src/main/java/com/backendsys/entity/Cms/CmsSiteInfoDTO.java
  44. 39 39
      src/main/java/com/backendsys/entity/Med/MedMaterialCategoryDTO.java
  45. 68 68
      src/main/java/com/backendsys/entity/Med/MedMaterialDTO.java
  46. 55 55
      src/main/java/com/backendsys/entity/Med/MedMyMaterialDTO.java
  47. 0 16
      src/main/java/com/backendsys/mapper/Ai/AiChatHistoryMapper.java
  48. 0 79
      src/main/java/com/backendsys/mapper/Ai/AiChatHistoryMapper.xml
  49. 0 15
      src/main/java/com/backendsys/mapper/Ai/AiChatMapper.java
  50. 0 83
      src/main/java/com/backendsys/mapper/Ai/AiChatMapper.xml
  51. 0 16
      src/main/java/com/backendsys/mapper/Cms/CmsArticleCategoryMapper.java
  52. 0 84
      src/main/java/com/backendsys/mapper/Cms/CmsArticleCategoryMapper.xml
  53. 0 21
      src/main/java/com/backendsys/mapper/Cms/CmsArticleMapper.java
  54. 0 238
      src/main/java/com/backendsys/mapper/Cms/CmsArticleMapper.xml
  55. 0 16
      src/main/java/com/backendsys/mapper/Cms/CmsBannerMapper.java
  56. 0 93
      src/main/java/com/backendsys/mapper/Cms/CmsBannerMapper.xml
  57. 0 15
      src/main/java/com/backendsys/mapper/Cms/CmsPageMapper.java
  58. 0 109
      src/main/java/com/backendsys/mapper/Cms/CmsPageMapper.xml
  59. 0 14
      src/main/java/com/backendsys/mapper/Cms/CmsSiteInfoMapper.java
  60. 0 43
      src/main/java/com/backendsys/mapper/Cms/CmsSiteInfoMapper.xml
  61. 16 16
      src/main/java/com/backendsys/mapper/Med/MedMaterialCategoryMapper.java
  62. 75 75
      src/main/java/com/backendsys/mapper/Med/MedMaterialCategoryMapper.xml
  63. 18 18
      src/main/java/com/backendsys/mapper/Med/MedMaterialMapper.java
  64. 170 170
      src/main/java/com/backendsys/mapper/Med/MedMaterialMapper.xml
  65. 18 18
      src/main/java/com/backendsys/mapper/Med/MedMyMaterialMapper.java
  66. 157 157
      src/main/java/com/backendsys/mapper/Med/MedMyMaterialMapper.xml
  67. 0 13
      src/main/java/com/backendsys/mapper/System/SysAgreementMapper.java
  68. 0 63
      src/main/java/com/backendsys/mapper/System/SysAgreementMapper.xml
  69. 0 12
      src/main/java/com/backendsys/mapper/System/SysCityMapper.java
  70. 0 18
      src/main/java/com/backendsys/mapper/System/SysCityMapper.xml
  71. 0 11
      src/main/java/com/backendsys/mapper/System/SysDictionaryMapper.java
  72. 0 18
      src/main/java/com/backendsys/mapper/System/SysDictionaryMapper.xml
  73. 0 11
      src/main/java/com/backendsys/mapper/System/SysFileCategoryMapper.java
  74. 0 42
      src/main/java/com/backendsys/mapper/System/SysFileCategoryMapper.xml
  75. 0 15
      src/main/java/com/backendsys/mapper/System/SysFileMapper.java
  76. 0 138
      src/main/java/com/backendsys/mapper/System/SysFileMapper.xml
  77. 0 11
      src/main/java/com/backendsys/mapper/System/SysLanguageMapper.java
  78. 0 16
      src/main/java/com/backendsys/mapper/System/SysLanguageMapper.xml
  79. 0 16
      src/main/java/com/backendsys/mapper/System/SysMenuMapper.java
  80. 0 93
      src/main/java/com/backendsys/mapper/System/SysMenuMapper.xml
  81. 0 12
      src/main/java/com/backendsys/mapper/System/SysMobileAreaCodeMapper.java
  82. 0 34
      src/main/java/com/backendsys/mapper/System/SysMobileAreaCodeMapper.xml
  83. 0 13
      src/main/java/com/backendsys/mapper/System/SysMobileSMSHistoryMapper.java
  84. 0 64
      src/main/java/com/backendsys/mapper/System/SysMobileSMSHistoryMapper.xml
  85. 0 19
      src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.java
  86. 0 146
      src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.xml
  87. 0 11
      src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.java
  88. 0 24
      src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.xml
  89. 0 14
      src/main/java/com/backendsys/service/Ai/AiChatHistoryService.java
  90. 0 75
      src/main/java/com/backendsys/service/Ai/AiChatHistoryServiceImpl.java
  91. 0 12
      src/main/java/com/backendsys/service/Ai/AiChatService.java
  92. 0 389
      src/main/java/com/backendsys/service/Ai/AiChatServiceImpl.java
  93. 0 13
      src/main/java/com/backendsys/service/Cms/CmsArticleCategoryService.java
  94. 0 74
      src/main/java/com/backendsys/service/Cms/CmsArticleCategoryServiceImpl.java
  95. 0 16
      src/main/java/com/backendsys/service/Cms/CmsArticleService.java
  96. 0 122
      src/main/java/com/backendsys/service/Cms/CmsArticleServiceImpl.java
  97. 0 13
      src/main/java/com/backendsys/service/Cms/CmsBannerService.java
  98. 0 74
      src/main/java/com/backendsys/service/Cms/CmsBannerServiceImpl.java
  99. 0 12
      src/main/java/com/backendsys/service/Cms/CmsPageService.java
  100. 0 62
      src/main/java/com/backendsys/service/Cms/CmsPageServiceImpl.java

+ 37 - 37
db/med_material.sql

@@ -1,37 +1,37 @@
-/**
-Source Server Version: 8.0.31
-Source Database: backendsys
-Date: 2023/05/23 17:09:22
-*/
-
-DROP TABLE IF EXISTS `med_material`;
-CREATE TABLE `med_material` (
-    PRIMARY KEY (`id`),
-    `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
-    `category_id` BIGINT NOT NULL COMMENT '素材分类ID',
-    `title` VARCHAR(255) NOT NULL COMMENT '标题',
-    `description` VARCHAR(500) COMMENT '描述',
-    `thumb` VARCHAR(500) COMMENT '缩略图',
-    `material_type` TINYINT(1) NOT NULL COMMENT '素材文件类型 (1图片, 2视频, 3音频, 4文案)',
-    `content` VARCHAR(10000) COMMENT '素材内容 (material_type: 4 时必填)',
-    `file` VARCHAR(500) COMMENT '素材文件 (material_type: 1,2,3 时必填)',
-    `is_top` TINYINT(1) DEFAULT '-1' NOT NULL COMMENT '是否置顶 (-1否, 1是)',
-    `status` TINYINT(1) DEFAULT '1' COMMENT '素材状态 (-1禁用, 1启用)',
-    `audit_status` TINYINT(1) DEFAULT '1' COMMENT '审核状态 (-1审核拒绝, 1待审核, 2审核通过)',
-    `audit_note` VARCHAR(255) COMMENT '审核备注',
-    `del_flag` TINYINT(1) DEFAULT '-1' COMMENT '删除标志 (-1未删除, 1删除)',
-    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-    INDEX `idx_title` (`title`),
-    INDEX `idx_description` (`description`),
-    INDEX `idx_category_id` (`category_id`),
-    INDEX `idx_status` (`status`),
-    INDEX `idx_audit_status` (`audit_status`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='素材中心表';
-
-INSERT INTO med_material(category_id, title, description, content, thumb, material_type, file, is_top, audit_status, status) VALUES
-    (1, '测试素材A', 'aa', null, '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png', -1, 2, 1),
-    (1, '勇敢前行', '勇敢前行,追寻内心光芒', '在人生的旅途中,勇敢前行,永不停歇。内心的光芒照亮前行的道路,指引我们走向梦想的彼岸。坚定的信念如磐石般支撑,让我们勇敢地面对挑战,不忘初心,砥砺前行。', null, 3, null, -1, 2, 1),
-    (7, '测试素材B', 'bbb', null, '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png', -1, 2, -1),
-    (7, '测试素材C', 'ccccc', null, '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png', -1, 2, -1)
-;
+# /**
+# Source Server Version: 8.0.31
+# Source Database: backendsys
+# Date: 2023/05/23 17:09:22
+# */
+#
+# DROP TABLE IF EXISTS `med_material`;
+# CREATE TABLE `med_material` (
+#     PRIMARY KEY (`id`),
+#     `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
+#     `category_id` BIGINT NOT NULL COMMENT '素材分类ID',
+#     `title` VARCHAR(255) NOT NULL COMMENT '标题',
+#     `description` VARCHAR(500) COMMENT '描述',
+#     `thumb` VARCHAR(500) COMMENT '缩略图',
+#     `material_type` TINYINT(1) NOT NULL COMMENT '素材文件类型 (1图片, 2视频, 3音频, 4文案)',
+#     `content` VARCHAR(10000) COMMENT '素材内容 (material_type: 4 时必填)',
+#     `file` VARCHAR(500) COMMENT '素材文件 (material_type: 1,2,3 时必填)',
+#     `is_top` TINYINT(1) DEFAULT '-1' NOT NULL COMMENT '是否置顶 (-1否, 1是)',
+#     `status` TINYINT(1) DEFAULT '1' COMMENT '素材状态 (-1禁用, 1启用)',
+#     `audit_status` TINYINT(1) DEFAULT '1' COMMENT '审核状态 (-1审核拒绝, 1待审核, 2审核通过)',
+#     `audit_note` VARCHAR(255) COMMENT '审核备注',
+#     `del_flag` TINYINT(1) DEFAULT '-1' COMMENT '删除标志 (-1未删除, 1删除)',
+#     `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+#     `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+#     INDEX `idx_title` (`title`),
+#     INDEX `idx_description` (`description`),
+#     INDEX `idx_category_id` (`category_id`),
+#     INDEX `idx_status` (`status`),
+#     INDEX `idx_audit_status` (`audit_status`)
+# ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='素材中心表';
+#
+# INSERT INTO med_material(category_id, title, description, content, thumb, material_type, file, is_top, audit_status, status) VALUES
+#     (1, '测试素材A', 'aa', null, '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png', -1, 2, 1),
+#     (1, '勇敢前行', '勇敢前行,追寻内心光芒', '在人生的旅途中,勇敢前行,永不停歇。内心的光芒照亮前行的道路,指引我们走向梦想的彼岸。坚定的信念如磐石般支撑,让我们勇敢地面对挑战,不忘初心,砥砺前行。', null, 3, null, -1, 2, 1),
+#     (7, '测试素材B', 'bbb', null, '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png', -1, 2, -1),
+#     (7, '测试素材C', 'ccccc', null, '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png', -1, 2, -1)
+# ;

+ 29 - 29
db/med_material_category.sql

@@ -1,29 +1,29 @@
-/**
-Source Server Version: 8.0.31
-Source Database: backendsys
-Date: 2023/05/23 17:09:22
-*/
-
-DROP TABLE IF EXISTS `med_material_category`;
-CREATE TABLE `med_material_category` (
-    PRIMARY KEY (`id`),
-    `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
-    `parent_id` BIGINT DEFAULT '-1' COMMENT '父ID',
-    `category_name` VARCHAR(100) NOT NULL COMMENT '素材分类名称',
-    `category_description` VARCHAR(500) COMMENT '素材分类描述',
-    `sort` INT DEFAULT '1' COMMENT '排序',
-    `status` TINYINT(1) DEFAULT '1' COMMENT '素材状态 (-1禁用, 1启用)'
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='素材分类表';
-
-INSERT INTO med_material_category(parent_id, category_name, category_description, sort) VALUES
-    (-1, '推荐', '推荐素材', 5),
-        (1, 'K1', 'kkkkkkkkk', 1),
-            (2, 'K1-1', 'kkkkkkkkk', 1),
-        (1, 'K2', 'kkkkkkkkk', 7),
-        (1, 'K3', 'kkkkkkkkk', 8),
-        (1, 'K4', 'kkkkkkkkk', 9),
-    (-1, '精选', '精选素材', 4),
-        (7, 'J1', 'jjjjjj', 3),
-    (-1, '人气', '人气素材', 3)
-;
-
+-- /**
+-- Source Server Version: 8.0.31
+-- Source Database: backendsys
+-- Date: 2023/05/23 17:09:22
+-- */
+--
+-- DROP TABLE IF EXISTS `med_material_category`;
+-- CREATE TABLE `med_material_category` (
+--     PRIMARY KEY (`id`),
+--     `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
+--     `parent_id` BIGINT DEFAULT '-1' COMMENT '父ID',
+--     `category_name` VARCHAR(100) NOT NULL COMMENT '素材分类名称',
+--     `category_description` VARCHAR(500) COMMENT '素材分类描述',
+--     `sort` INT DEFAULT '1' COMMENT '排序',
+--     `status` TINYINT(1) DEFAULT '1' COMMENT '素材状态 (-1禁用, 1启用)'
+-- ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='素材分类表';
+--
+-- INSERT INTO med_material_category(parent_id, category_name, category_description, sort) VALUES
+--     (-1, '推荐', '推荐素材', 5),
+--         (1, 'K1', 'kkkkkkkkk', 1),
+--             (2, 'K1-1', 'kkkkkkkkk', 1),
+--         (1, 'K2', 'kkkkkkkkk', 7),
+--         (1, 'K3', 'kkkkkkkkk', 8),
+--         (1, 'K4', 'kkkkkkkkk', 9),
+--     (-1, '精选', '精选素材', 4),
+--         (7, 'J1', 'jjjjjj', 3),
+--     (-1, '人气', '人气素材', 3)
+-- ;
+--

+ 34 - 34
db/med_my_material.sql

@@ -1,34 +1,34 @@
-/**
-Source Server Version: 8.0.31
-Source Database: backendsys
-Date: 2023/05/23 17:09:22
-*/
-
-DROP TABLE IF EXISTS `med_my_material`;
-CREATE TABLE `med_my_material` (
-    PRIMARY KEY (`id`),
-    `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
-    `user_id` BIGINT NOT NULL COMMENT '作者/用户ID',
-    `material_id` BIGINT COMMENT '素材ID',
-    `category_id` BIGINT NOT NULL COMMENT '素材分类ID',
-    `title` VARCHAR(255) NOT NULL COMMENT '标题',
-    `description` VARCHAR(500) COMMENT '描述',
-    `thumb` VARCHAR(500) COMMENT '缩略图',
-    `material_type` TINYINT(1) NOT NULL COMMENT '素材文件类型 (1图片, 2视频, 3音频, 4文案)',
-    `content` VARCHAR(10000) COMMENT '素材内容 (material_type: 4 时必填)',
-    `file` VARCHAR(500) COMMENT '素材文件 (material_type: 1,2,3 时必填)',
-    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-    INDEX `idx_title` (`title`),
-    INDEX `idx_description` (`description`),
-    INDEX `idx_category_id` (`category_id`)
-) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='我的素材表';
-
-INSERT INTO med_my_material(user_id, material_id, category_id, title, description, content, thumb, material_type, file) VALUES
-    (1, 1, 1, '测试素材A', 'aa', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
-    (1, 3, 7, '测试素材C', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
-    (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
-    (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
-    (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
-    (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png')
-;
+-- /**
+-- Source Server Version: 8.0.31
+-- Source Database: backendsys
+-- Date: 2023/05/23 17:09:22
+-- */
+--
+-- DROP TABLE IF EXISTS `med_my_material`;
+-- CREATE TABLE `med_my_material` (
+--     PRIMARY KEY (`id`),
+--     `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
+--     `user_id` BIGINT NOT NULL COMMENT '作者/用户ID',
+--     `material_id` BIGINT COMMENT '素材ID',
+--     `category_id` BIGINT NOT NULL COMMENT '素材分类ID',
+--     `title` VARCHAR(255) NOT NULL COMMENT '标题',
+--     `description` VARCHAR(500) COMMENT '描述',
+--     `thumb` VARCHAR(500) COMMENT '缩略图',
+--     `material_type` TINYINT(1) NOT NULL COMMENT '素材文件类型 (1图片, 2视频, 3音频, 4文案)',
+--     `content` VARCHAR(10000) COMMENT '素材内容 (material_type: 4 时必填)',
+--     `file` VARCHAR(500) COMMENT '素材文件 (material_type: 1,2,3 时必填)',
+--     `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+--     `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+--     INDEX `idx_title` (`title`),
+--     INDEX `idx_description` (`description`),
+--     INDEX `idx_category_id` (`category_id`)
+-- ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='我的素材表';
+--
+-- INSERT INTO med_my_material(user_id, material_id, category_id, title, description, content, thumb, material_type, file) VALUES
+--     (1, 1, 1, '测试素材A', 'aa', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
+--     (1, 3, 7, '测试素材C', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
+--     (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
+--     (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
+--     (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png'),
+--     (2, 3, 7, '测试素材333', 'ccccc', '', '/uploads/20240222/20240222134224.png', 1, '/uploads/20240222/20240222134224.png')
+-- ;

+ 32 - 32
db/sys_user_role_permission.sql

@@ -153,36 +153,36 @@ INSERT INTO sys_user_role_permission(id, parent_id, permission_name, sort) VALUE
 
 
 
-    ('20', -1, '素材管理', null),
-        ('20.1', '20', '素材列表', null),
-            ('20.1.1', '20.1', '素材中心', null),
-            ('20.1.2', '20.1', '素材列表详情', null),
-            ('20.1.3', '20.1', '创建素材', null),
-            ('20.1.4', '20.1', '编辑素材', null),
-            ('20.1.5', '20.1', '审核素材', null),
-            ('20.1.6', '20.1', '删除素材', null),
-        ('20.2', '20', '素材分类列表', null),
-            ('20.2.1', '20.2', '素材分类详情', null),
-            ('20.2.2', '20.2', '创建素材分类', null),
-            ('20.2.3', '20.2', '编辑素材分类', null),
-            ('20.2.4', '20.2', '删除素材分类', null),
-
-    ('21', -1, '个人中心', null),
-        ('21.1', '21', '我的素材', null),
-            ('21.1.1', '21.1', '我的素材详情', null),
-            ('21.1.2', '21.1', '加入我的素材 (从素材中心)', null),
-            ('21.1.3', '21.1', '分享我的素材 (到素材列表)', null),
-            ('21.1.4', '21.1', '创建我的素材', null),
-            ('21.1.5', '21.1', '编辑我的素材', null),
-            ('21.1.6', '21.1', '删除我的素材', null),
-        ('21.2', '21', '我的作品', null),
-            ('21.2.1', '21.2', '我的作品详情', null),
-            ('21.2.2', '21.2', '创建我的作品', null),
-            ('21.2.3', '21.2', '编辑我的作品', null),
-            ('21.2.4', '21.2', '删除我的作品', null),
-        ('21.3', '21', '我的草稿', null),
-            ('21.3.1', '21.3', '我的草稿详情', null),
-            ('21.3.2', '21.3', '创建我的草稿', null),
-            ('21.3.3', '21.3', '编辑我的草稿', null),
-            ('21.3.4', '21.3', '删除我的草稿', null)
+#     ('20', -1, '素材管理', null),
+#         ('20.1', '20', '素材列表', null),
+#             ('20.1.1', '20.1', '素材中心', null),
+#             ('20.1.2', '20.1', '素材列表详情', null),
+#             ('20.1.3', '20.1', '创建素材', null),
+#             ('20.1.4', '20.1', '编辑素材', null),
+#             ('20.1.5', '20.1', '审核素材', null),
+#             ('20.1.6', '20.1', '删除素材', null),
+#         ('20.2', '20', '素材分类列表', null),
+#             ('20.2.1', '20.2', '素材分类详情', null),
+#             ('20.2.2', '20.2', '创建素材分类', null),
+#             ('20.2.3', '20.2', '编辑素材分类', null),
+#             ('20.2.4', '20.2', '删除素材分类', null),
+#
+#     ('21', -1, '个人中心', null),
+#         ('21.1', '21', '我的素材', null),
+#             ('21.1.1', '21.1', '我的素材详情', null),
+#             ('21.1.2', '21.1', '加入我的素材 (从素材中心)', null),
+#             ('21.1.3', '21.1', '分享我的素材 (到素材列表)', null),
+#             ('21.1.4', '21.1', '创建我的素材', null),
+#             ('21.1.5', '21.1', '编辑我的素材', null),
+#             ('21.1.6', '21.1', '删除我的素材', null),
+#         ('21.2', '21', '我的作品', null),
+#             ('21.2.1', '21.2', '我的作品详情', null),
+#             ('21.2.2', '21.2', '创建我的作品', null),
+#             ('21.2.3', '21.2', '编辑我的作品', null),
+#             ('21.2.4', '21.2', '删除我的作品', null),
+#         ('21.3', '21', '我的草稿', null),
+#             ('21.3.1', '21.3', '我的草稿详情', null),
+#             ('21.3.2', '21.3', '创建我的草稿', null),
+#             ('21.3.3', '21.3', '编辑我的草稿', null),
+#             ('21.3.4', '21.3', '删除我的草稿', null)
 ;

+ 13 - 13
db/sys_user_role_permission_relation.sql

@@ -75,19 +75,19 @@ INSERT INTO sys_user_role_permission_relation(role_id, permission_id) VALUES
 #             (1, '11.6.1'), (1, '11.6.2'), (1, '11.6.3'), (1, '11.6.4'),
 
 
-    (1, '20'),
-        (1, '20.1'),
-            (1, '20.1.1'), (1, '20.1.2'), (1, '20.1.3'), (1, '20.1.4'), (1, '20.1.5'), (1, '20.1.6'),
-        (1, '20.2'),
-            (1, '20.2.1'), (1, '20.2.2'), (1, '20.2.3'), (1, '20.2.4'),
-
-    (1, '21'),
-        (1, '21.1'),
-            (1, '21.1.1'), (1, '21.1.2'), (1, '21.1.3'), (1, '21.1.4'), (1, '21.1.5'), (1, '21.1.6'),
-        (1, '21.2'),
-            (1, '21.2.1'), (1, '21.2.2'), (1, '21.2.3'), (1, '21.2.4'),
-        (1, '21.3'),
-            (1, '21.3.1'), (1, '21.3.2'), (1, '21.3.3'), (1, '21.3.4'),
+#     (1, '20'),
+#         (1, '20.1'),
+#             (1, '20.1.1'), (1, '20.1.2'), (1, '20.1.3'), (1, '20.1.4'), (1, '20.1.5'), (1, '20.1.6'),
+#         (1, '20.2'),
+#             (1, '20.2.1'), (1, '20.2.2'), (1, '20.2.3'), (1, '20.2.4'),
+#
+#     (1, '21'),
+#         (1, '21.1'),
+#             (1, '21.1.1'), (1, '21.1.2'), (1, '21.1.3'), (1, '21.1.4'), (1, '21.1.5'), (1, '21.1.6'),
+#         (1, '21.2'),
+#             (1, '21.2.1'), (1, '21.2.2'), (1, '21.2.3'), (1, '21.2.4'),
+#         (1, '21.3'),
+#             (1, '21.3.1'), (1, '21.3.2'), (1, '21.3.3'), (1, '21.3.4'),
 
     (1, '31'),
     (1, '32'),

+ 0 - 1140
src/main/java/com/backendsys/SDK/Meitu/AiClient.java

@@ -1,1140 +0,0 @@
-//package com.backendsys.SDK.Meitu;
-//
-//import java.io.File;
-//import java.io.FileInputStream;
-//import java.io.InputStream;
-//import java.net.URI;
-//import java.net.URISyntaxException;
-//import java.net.URL;
-//import java.util.ArrayList;
-//import java.util.HashMap;
-//import java.util.Iterator;
-//import java.util.List;
-//import java.util.Map;
-//import java.util.concurrent.Executors;
-//import java.util.concurrent.ScheduledExecutorService;
-//import java.util.concurrent.ThreadFactory;
-//import java.util.concurrent.TimeUnit;
-//import java.util.Map.Entry;
-//
-//import com.backendsys.SDK.Meitu.model.BizConfigResponseDTO;
-//import com.backendsys.SDK.Meitu.model.InferenceParamsDTO;
-//import com.backendsys.SDK.Meitu.model.MtlabParamsDTO;
-//import com.backendsys.SDK.Meitu.model.SdkRequestDTO;
-//import com.backendsys.SDK.Meitu.model.SdkResponseDTO;
-//import com.backendsys.SDK.Meitu.model.BizConfigResponseDTO.BizData;
-//import com.backendsys.SDK.Meitu.model.SdkRequestDTO.InitImage;
-//import com.obs.services.ObsClient;
-//import com.obs.services.ObsConfiguration;
-//import com.obs.services.exception.ObsException;
-//import com.obs.services.model.PutObjectResult;
-//
-//import lombok.Data;
-//import lombok.Getter;
-//import lombok.Setter;
-//import lombok.extern.slf4j.Slf4j;
-//import shade.fasterxml.jackson.annotation.JsonProperty;
-//import shade.fasterxml.jackson.databind.DeserializationFeature;
-//import shade.fasterxml.jackson.databind.JsonNode;
-//import shade.fasterxml.jackson.databind.ObjectMapper;
-//import shade.fasterxml.jackson.databind.node.ArrayNode;
-//import shade.okhttp3.HttpUrl;
-//import shade.okhttp3.MediaType;
-//import shade.okhttp3.OkHttpClient;
-//import shade.okhttp3.Request;
-//import shade.okhttp3.RequestBody;
-//import shade.okhttp3.Response;
-//
-///**
-// * ai 访问客户端
-// */
-//@Slf4j
-//public class AiClient {
-//    public static final String default_strategy_type = "mtai";
-//    public static final String default_strategy_host = "https://strategy.app.meitudata.com";
-//
-//    public static final int default_obs_socket_timeout = 30; // 单位秒
-//    public static final int default_obs_connect_timeout = 10; // 单位秒
-//
-//    public static final int default_api_socket_timeout = 45; // 单位秒 sync_timeout默认30秒,请求超时需要高于这个数
-//    public static final int default_api_connect_timeout = 5; // 单位秒
-//
-//    public static final int default_status_socket_timeout = 2; // 单位秒
-//    public static final int default_status_connect_timeout = 2; // 单位秒
-//
-//    public static final int status_code_suc = 10; // 成功
-//    public static final int status_code_timeout = 9; // 同步请求超时
-//    public static final int status_code_fail = 2; // 失败
-//
-//    public static final int get_strategy_retry_times = 3; // 获取策略重试次数
-//    public static final int get_strategy_retry_duration = 1000; // 重试间隔时间
-//    public static final int get_strategy_connect_timeout = 10; // 重试间隔时间
-//    public static final int get_strategy_socket_timeout = 30; // 重试间隔时间
-//
-//    public static final int get_biz_config_connect_timeout = 10; // 重试间隔时间
-//    public static final int get_biz_config_socket_timeout = 30; // 重试间隔时间
-//    public static final String process_type_mtlab = "mtlab";
-//    public static final String process_type_inference = "inference";
-//
-//    private String openapiHost = null;
-//
-//    @Setter(lombok.AccessLevel.PROTECTED)
-//    private String ak;
-//    @Setter(lombok.AccessLevel.PROTECTED)
-//    private String sk;
-//    @Setter(lombok.AccessLevel.PROTECTED)
-//    private String types;
-//    @Setter(lombok.AccessLevel.PROTECTED)
-//    private String strategyHost;
-//
-//    @Getter(lombok.AccessLevel.PROTECTED)
-//    private Map<String, List<ObsClientAware>> obsAwareMap;
-//    @Getter(lombok.AccessLevel.PROTECTED)
-//    private Map<String, List<ApiAware>> apiAwareMap;
-//    private OkHttpClient strategyOkHttpClient = new OkHttpClient.Builder()
-//            .connectTimeout(get_strategy_connect_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//            .readTimeout(get_strategy_socket_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//            .writeTimeout(get_strategy_socket_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//            .build();
-//
-//    private OkHttpClient bziConfigOkHttpClient = new OkHttpClient.Builder()
-//            .connectTimeout(get_biz_config_connect_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//            .readTimeout(get_strategy_socket_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//            .writeTimeout(get_biz_config_socket_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//            .build();
-//
-//    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1, new ThreadFactory() {
-//        private int count = 0;
-//
-//        @Override
-//        public Thread newThread(Runnable r) {
-//            count++;
-//            return new Thread(r, "refresh_strategy-" + count);
-//        }
-//    });
-//
-//    protected AiClient() {
-//
-//    }
-//
-//    /**
-//     *
-//     * @param accessKey
-//     * @param secret
-//     * @param "types"     需要获取处理token类型(效果类型,创意玩法/文生图/图生图等),支持多个名称,例:type=p1,p2
-//     */
-//    public AiClient(String accessKey, String secret) {
-//        this(accessKey, secret, default_strategy_type, default_strategy_host);
-//    }
-//
-//    /**
-//     *
-//     * @param ak
-//     * @param sk
-//     * @param types        需要获取处理token类型(效果类型,创意玩法/文生图/图生图等),支持多个名称,例:type=p1,p2
-//     * @param strategyHost 策略服务地址
-//     */
-//    public AiClient(String ak, String sk, String types, String strategyHost) {
-//        this.ak = ak;
-//        this.sk = sk;
-//        this.types = types;
-//        this.strategyHost = strategyHost;
-//        init();
-//    }
-//
-//    protected SdkResponseDTO.Result push(SdkRequestDTO sdkRequestDTO, String type, String processType) {
-//        log.info("push start, sdkRequestDTO:{}", sdkRequestDTO);
-//        if (sdkRequestDTO.getTask() == null || sdkRequestDTO.getTask().length() == 0) {
-//            throw new AIException(AIException.code_params_err, "task is null");
-//        }
-//        if (sdkRequestDTO.getTaskType() == null || sdkRequestDTO.getTaskType().length() == 0) {
-//            throw new AIException(AIException.code_params_err, "taskType is null");
-//        }
-//
-//        List<ApiAware> apiAwares = apiAwareMap.get(type);
-//        if (apiAwares == null) {
-//            throw new AIException(AIException.code_params_err,
-//                    String.format("type:%s is not configured", type));
-//        }
-//        SdkResponseDTO.Result result = retryPush(sdkRequestDTO, apiAwares, processType);
-//
-//        return result;
-//    }
-//
-//    /**
-//     * 美图设计室任务提交接口
-//     *
-//     * @param mtlabParamsDTO
-//     * @return
-//     */
-//    public SdkResponseDTO.Result pushMtlabTask(MtlabParamsDTO mtlabParamsDTO) {
-//        mtlabParamsDTO.setTaskType("mtlab");
-//        for (InitImage initImage : mtlabParamsDTO.getInitImages()) {
-//            String url = initImage.getUrl();
-//            url = upload(default_strategy_type, url);
-//            initImage.setUrl(url);
-//        }
-//        return push(mtlabParamsDTO, default_strategy_type, process_type_mtlab);
-//    }
-//
-//    /**
-//     * 获取业务配置,业务配置是AI服务在调用推理时,用来约定用户能使用的模型、风格与图像尺寸的配置。
-//     */
-//    public BizData getBusinessConfig() {
-//        String url = String.format("%s/whee/business/config.json", openapiHost);
-//        Map<String, String> header = new HashMap<>();
-//        Map<String, String> params = new HashMap<>();
-//
-//        Request reuqest = buildGetRequest(url, params, header);
-//
-//        Response response = null;
-//        try {
-//            response = bziConfigOkHttpClient.newCall(reuqest).execute();
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_cloud_biz_config_net_err, "Request exception", ex);
-//        }
-//        try {
-//            String body = "";
-//            try {
-//                body = response.body().string();
-//            } catch (Exception ex) {
-//                // 忽略异常
-//            }
-//
-//            // body反序列到BizConfigResponseDTO
-//            ObjectMapper objectMapper = new ObjectMapper();
-//            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-//            BizConfigResponseDTO bizConfigResponseDTO = null;
-//            try {
-//                bizConfigResponseDTO = objectMapper.readValue(body, BizConfigResponseDTO.class);
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_cloud_biz_config_err, "Deserialization Exception", ex);
-//            }
-//
-//            if (bizConfigResponseDTO.getCode() != 0) {
-//                throw new AIException(AIException.code_cloud_biz_config_err,
-//                        String.format("Request exception:httpCode=%s,messge=%s", response.code(), response.message()));
-//            }
-//            return bizConfigResponseDTO.getData();
-//        } finally {
-//            if (response != null) {
-//                response.close();
-//            }
-//        }
-//
-//    }
-//
-//    /**
-//     * 执行推理,推理接口包含文生图与图生图
-//     *
-//     * @param inferenceParamsDTO
-//     * @return
-//     */
-//    public SdkResponseDTO.Result inference(InferenceParamsDTO inferenceParamsDTO) {
-//        ObjectMapper objectMapper = new ObjectMapper();
-//        if (inferenceParamsDTO.getModel() == null || inferenceParamsDTO.getModel().length() == 0) {
-//            throw new AIException(AIException.code_params_err, "model is null");
-//        }
-//        if (inferenceParamsDTO.getPrompt() == null || inferenceParamsDTO.getPrompt().length() == 0) {
-//            throw new AIException(AIException.code_params_err, "prompt is null");
-//        }
-//        if (inferenceParamsDTO.getModelHash() == null || inferenceParamsDTO.getModelHash().length() == 0) {
-//            inferenceParamsDTO.setModelHash("XZKFKEVaKRPSDC5PHl2Fi0xBbYts25xnfA6hsfEp");
-//        }
-//        if (inferenceParamsDTO.getModelPlatform() == null || inferenceParamsDTO.getModelPlatform().length() == 0) {
-//            throw new AIException(AIException.code_params_err, "model platform is null");
-//        }
-//
-//        log.info("inference start, inferenceParamsDTO:{}", jsonToString(inferenceParamsDTO, objectMapper));
-//        long start = System.currentTimeMillis();
-//        SdkResponseDTO.Result result = doInference(inferenceParamsDTO, default_strategy_type);
-//
-//        log.info("inference end, result:{} latency:{}", jsonToString(result, objectMapper),
-//                System.currentTimeMillis() - start);
-//        return result;
-//
-//    }
-//
-//    /**
-//     * 推理接口,如果initImages有传入为图生图,没有传入为文生图
-//     *
-//     * @param inferenceParamsDTO
-//     * @param type
-//     */
-//    private SdkResponseDTO.Result doInference(InferenceParamsDTO inferenceParamsDTO, String type) {
-//        List<InitImage> initImageObjectList = new ArrayList<>();
-//        String[] initImage = inferenceParamsDTO.getInitImages();
-//        String task;
-//        if (initImage != null && initImage.length > 0) {
-//            String[] newInitImage = new String[initImage.length];
-//            for (int i = 0; i < initImage.length; i++) {
-//                String url = upload(type, initImage[i]);
-//                newInitImage[i] = url;
-//                InitImage image = new InitImage();
-//                image.setUrl(url);
-//                initImageObjectList.add(image);
-//            }
-//            task = "img2img";
-//            inferenceParamsDTO.setInitImages(newInitImage);
-//        } else {
-//            task = "txt2img";
-//        }
-//
-//        SdkRequestDTO request = new SdkRequestDTO();
-//        request.setInitImages(initImageObjectList);
-//        request.setTaskType("inference");
-//        request.setTask(task);
-//        request.setParams(jsonToString(inferenceParamsDTO, null));
-//        SdkResponseDTO.Result result = push(request, type, process_type_inference);
-//        return result;
-//
-//    }
-//
-//    /**
-//     * 重试的机制放在AiClientRefreshStrategyTask
-//     */
-//    private void init() {
-//        String configStr = getStrategy();
-//        log.info("Get Strategy Success, config:{}", configStr);
-//        ConfigAware configAware = parseTockenConfig(configStr);
-//        initObsClient(configAware.getObsConfigMap());
-//        initApiConfig(configAware.getApiConfigMap());
-//        int minTTL = configAware.getMinTTL();
-//        if (minTTL <= 0) {
-//            minTTL = 3600;
-//        }
-//        long delay = minTTL / 2;
-//        log.info("Add refresh strategy task, delay={} ttl={}", delay, minTTL);
-//        scheduledExecutorService.schedule(new AiClientRefreshStrategyTask(this), delay, TimeUnit.SECONDS);
-//    }
-//
-//    protected Request buildGetRequest(String url, Map<String, String> params, Map<String, String> headers) {
-//        HttpUrl.Builder httpUrlBuild = HttpUrl
-//                .parse(url)
-//                .newBuilder();
-//
-//        for (Entry<String, String> entry : params.entrySet()) {
-//            httpUrlBuild.addQueryParameter(entry.getKey(), entry.getValue());
-//        }
-//
-//        HttpUrl httpUrl = httpUrlBuild.build();
-//
-//        Signer signer = new Signer(ak, sk);
-//        Map<String, String> sigHeader = null;
-//
-//        try {
-//            sigHeader = signer.sign(httpUrl.toString(), "GET", headers, "");
-//        } catch (URISyntaxException ex) {
-//            throw new AIException(AIException.code_sig_err, "Sign exception", ex);
-//        }
-//
-//        log.info("get request, url={} header={}", httpUrl.toString(), jsonToString(sigHeader, null));
-//
-//        Request.Builder request = new Request.Builder()
-//                .url(httpUrlBuild.build()).get();
-//
-//        sigHeader.forEach((key, value) -> {
-//            request.addHeader(key, value);
-//        });
-//        return request.build();
-//    }
-//
-//    /**
-//     * 关闭客户端
-//     */
-//    public void close() {
-//        log.info("close ai client");
-//
-//        scheduledExecutorService.shutdownNow();
-//
-//        obsAwareMap.forEach((s, clientList) -> {
-//            for (ObsClientAware obsClientAware : clientList) {
-//                try {
-//                    obsClientAware.getObsClient().close();
-//                } catch (Exception ex) {
-//                    throw new AIException(AIException.code_obs_close_err, "Close obs client exception", ex);
-//                }
-//
-//            }
-//        });
-//
-//        bziConfigOkHttpClient.dispatcher().executorService().shutdownNow();
-//
-//        strategyOkHttpClient.dispatcher().executorService().shutdownNow();
-//
-//        apiAwareMap.forEach((k, clientList) -> {
-//            for (ApiAware apiAware : clientList) {
-//                if (!apiAware.getPushClient().dispatcher().executorService().isShutdown()) {
-//                    apiAware.getPushClient().dispatcher().executorService().shutdownNow();
-//                }
-//                if (!apiAware.getStatusClient().dispatcher().executorService().isShutdown()) {
-//                    apiAware.getStatusClient().dispatcher().executorService().shutdownNow();
-//                }
-//            }
-//        });
-//    }
-//
-//    /**
-//     * 请求策略服务获取策略配置
-//     *
-//     * @return 策略配置
-//     */
-//    protected String getStrategy() {
-//        long start = System.currentTimeMillis();
-//        String url = String.format("%s/ai/token_policy", strategyHost);
-//        Map<String, String> params = new HashMap<>();
-//        params.put("type", types);
-//        URI uri = URI.create(url);
-//        Map<String, String> headMap = new HashMap<>();
-//
-//        Request request = buildGetRequest(url, params, headMap);
-//
-//        log.info("get strategy request, url={}", request.url().toString());
-//
-//        Response response = null;
-//        try {
-//            response = strategyOkHttpClient.newCall(request).execute();
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_strategy_net_error, "Request exception", ex);
-//        }
-//        try {
-//
-//            String body = "";
-//            try {
-//                body = response.body().string();
-//            } catch (Exception ex) {
-//                // 忽略异常
-//            }
-//
-//            log.info("get strategy response, latency={} url={} httpcode={} body={}", System.currentTimeMillis() - start,
-//                    url, response.code(), body);
-//
-//            if (!response.isSuccessful()) {
-//                throw new AIException(AIException.code_strategy_err,
-//                        String.format("Request exception:httpCode=%s,messge=%s", response.code(), response.message()));
-//            }
-//            return body;
-//
-//        } finally {
-//            response.close();
-//        }
-//    }
-//
-//    /**
-//     * 解析返回后端返回的参数
-//     *
-//     * @param json
-//     * @return
-//     */
-//    protected ConfigAware parseTockenConfig(String jsonString) {
-//        ConfigAware configAware = new ConfigAware();
-//        ObjectMapper objectMapper = new ObjectMapper();
-//        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-//        JsonNode jsonNode = null;
-//        try {
-//            jsonNode = objectMapper.readTree(jsonString);
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_strategy_err, "反序列化异常", ex);
-//        }
-//
-//        int code = jsonNode.get("code").asInt();
-//
-//        if (code != 0) {
-//            int errorCode = jsonNode.get("error_code").asInt();
-//            String message = jsonNode.get("message").asText();
-//            throw new AIException(AIException.code_strategy_err, String.format("%s:%s", errorCode, message));
-//        }
-//        JsonNode dataNode = jsonNode.get("data");
-//        if (dataNode == null || dataNode.isNull()) {
-//            throw new AIException(AIException.code_strategy_err, "data is null");
-//        }
-//        Map<String, List<ObsConfig>> obsConfigMap = new HashMap<>();
-//        Map<String, List<APIConfig>> apiConfigMap = new HashMap<>();
-//        configAware.setApiConfigMap(apiConfigMap);
-//        configAware.setObsConfigMap(obsConfigMap);
-//        Iterator<Entry<String, JsonNode>> fields = dataNode.fields();
-//        int minTTL = Integer.MAX_VALUE;
-//        while (fields.hasNext()) {
-//            Entry<String, JsonNode> field = fields.next();
-//            String bizName = field.getKey();
-//            JsonNode bizConfig = field.getValue();
-//            List<ObsConfig> obsConfigs = obsConfigMap.get(bizName);
-//            if (obsConfigs == null) {
-//                obsConfigs = new ArrayList<>();
-//                obsConfigMap.put(bizName, obsConfigs);
-//            }
-//
-//            List<APIConfig> apiConfigs = apiConfigMap.get(bizName);
-//            if (apiConfigs == null) {
-//                apiConfigs = new ArrayList<>();
-//                apiConfigMap.put(bizName, apiConfigs);
-//            }
-//
-//            int ttl = parseObsConfig(objectMapper, bizConfig.get("upload"), obsConfigs);
-//            if (minTTL > ttl) {
-//                minTTL = ttl;
-//            }
-//            parseApiConfig(objectMapper, bizConfig.get("api"), apiConfigs);
-//        }
-//
-//        configAware.setMinTTL(minTTL);
-//
-//        return configAware;
-//    }
-//
-//    private void parseApiConfig(ObjectMapper objectMapper, JsonNode apiConfigJSON, List<APIConfig> apiConfigs) {
-//        List<JsonNode> configJSONArr = parseConfigJsonNodeArr(apiConfigJSON);
-//        for (JsonNode curConfigJSON : configJSONArr) {
-//            APIConfig apiConfig = null;
-//            try {
-//                apiConfig = objectMapper.treeToValue(curConfigJSON, APIConfig.class);
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_strategy_err, "Deserialization Exception", ex);
-//            }
-//            if (openapiHost == null && apiConfig.getUrl() != null) {
-//                openapiHost = apiConfig.getUrl();
-//            }
-//
-//            apiConfigs.add(apiConfig);
-//        }
-//    }
-//
-//    /**
-//     *
-//     * @param objectMapper
-//     * @param obsConfigJSON
-//     * @param obsConfigs
-//     * @return 最小的ttl
-//     * @throws Exception
-//     */
-//    private int parseObsConfig(ObjectMapper objectMapper, JsonNode obsConfigJSON, List<ObsConfig> obsConfigs) {
-//        int minTTL = Integer.MAX_VALUE;
-//        List<JsonNode> configJSONArr = parseConfigJsonNodeArr(obsConfigJSON);
-//        for (JsonNode curConfigJSON : configJSONArr) {
-//            ObsConfig apiConfig = null;
-//            try {
-//                apiConfig = objectMapper.treeToValue(curConfigJSON, ObsConfig.class);
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_strategy_err, "Deserialization Exception", ex);
-//            }
-//            if (minTTL > apiConfig.getTtl()) {
-//                minTTL = apiConfig.getTtl();
-//            }
-//            obsConfigs.add(apiConfig);
-//        }
-//        return minTTL;
-//    }
-//
-//    private List<JsonNode> parseConfigJsonNodeArr(JsonNode configJSON) {
-//        List<JsonNode> resultList = new ArrayList<>();
-//        ArrayNode orderJSONArr = configJSON.withArray("order");
-//        for (JsonNode jsonNode : orderJSONArr) {
-//            String order = jsonNode.asText();
-//            JsonNode curConfigJSON = configJSON.get(order);
-//            if (curConfigJSON == null || curConfigJSON.isNull()) {
-//                continue;
-//            }
-//            resultList.add(curConfigJSON);
-//        }
-//
-//        return resultList;
-//
-//    }
-//
-//    /**
-//     * 初始化api访问配置
-//     */
-//    protected void initApiConfig(Map<String, List<APIConfig>> apiConfigMap) {
-//        // 为了允许多个type有多个配置
-//        Map<String, List<ApiAware>> apiAwareMap = new HashMap<>();
-//        // 当前status是一个不可变更的值
-//        OkHttpClient statusClient = new OkHttpClient.Builder()
-//                .connectTimeout(default_status_connect_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//                .writeTimeout(default_status_socket_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//                .readTimeout(default_status_socket_timeout, java.util.concurrent.TimeUnit.SECONDS)
-//                .build();
-//
-//        for (Entry<String, List<APIConfig>> entry : apiConfigMap.entrySet()) {
-//            List<APIConfig> apiConfigs = entry.getValue();
-//            String type = entry.getKey();
-//            List<ApiAware> apiAwaress = apiAwareMap.get(type);
-//            if (apiAwaress == null) {
-//                apiAwaress = new ArrayList<>();
-//                apiAwareMap.put(type, apiAwaress);
-//            }
-//            for (APIConfig apiConfig : apiConfigs) {
-//                OkHttpClient httpClient = new OkHttpClient.Builder()
-//                        .connectTimeout(apiConfig.getConnectTimeout() <= 0 ? default_api_connect_timeout
-//                                : apiConfig.getConnectTimeout(), java.util.concurrent.TimeUnit.SECONDS)
-//                        .readTimeout(apiConfig.getSocketTimeout() <= 0 ? default_api_socket_timeout
-//                                : apiConfig.getSocketTimeout(), java.util.concurrent.TimeUnit.SECONDS)
-//                        .build();
-//
-//                apiAwaress.add(new ApiAware(httpClient, statusClient, apiConfig, apiConfig.getUrl()));
-//                if (apiConfig.getBackupUrl() != null && apiConfig.getBackupUrl().length() > 0) {
-//                    apiAwaress.add(new ApiAware(httpClient, statusClient, apiConfig, apiConfig.getBackupUrl()));
-//                }
-//            }
-//        }
-//        this.apiAwareMap = apiAwareMap;
-//
-//    }
-//
-//    /**
-//     * 根据下发的obsConfig初始化obs客户端
-//     */
-//    protected void initObsClient(Map<String, List<ObsConfig>> obsConfigMap) {
-//        Map<String, List<ObsClientAware>> obsClientAwareMap = new HashMap<>();
-//        for (Entry<String, List<ObsConfig>> entry : obsConfigMap.entrySet()) {
-//            List<ObsConfig> obsConfigs = entry.getValue();
-//            String type = entry.getKey();
-//            List<ObsClientAware> obsClientAwares = obsClientAwareMap.get(type);
-//            if (obsClientAwares == null) {
-//                obsClientAwares = new ArrayList<>();
-//                obsClientAwareMap.put(type, obsClientAwares);
-//            }
-//            for (ObsConfig obsConfig : obsConfigs) {
-//
-//                ObsConfiguration config = buildObjConfiguration(obsConfig, obsConfig.getUrl());
-//                ObsClient obsClient = new ObsClient(obsConfig.getCredentials().getAccessKey(),
-//                        obsConfig.getCredentials().getSecretKey(),
-//                        obsConfig.getCredentials().getSessionToken(),
-//                        config);
-//                obsClientAwares.add(new ObsClientAware(obsClient, obsConfig));
-//
-//                if (obsConfig.getBackupUrl() != null && obsConfig.getBackupUrl().length() > 0) {
-//                    ObsConfiguration backupConfig = buildObjConfiguration(obsConfig, obsConfig.getBackupUrl());
-//                    ObsClient bakcupClient = new ObsClient(obsConfig.getCredentials().getAccessKey(),
-//                            obsConfig.getCredentials().getSecretKey(),
-//                            obsConfig.getCredentials().getSessionToken(),
-//                            backupConfig);
-//                    obsClientAwares.add(new ObsClientAware(bakcupClient, obsConfig));
-//                }
-//
-//            }
-//        }
-//        this.obsAwareMap = obsClientAwareMap;
-//    }
-//
-//    private ObsConfiguration buildObjConfiguration(ObsConfig obsConfig, String url) {
-//        ObsConfiguration config = new ObsConfiguration();
-//        if (obsConfig.getSocketTimeout() <= 0) {
-//            config.setSocketTimeout(default_obs_socket_timeout * 1000);
-//        } else {
-//            config.setSocketTimeout(obsConfig.getSocketTimeout() * 1000);
-//        }
-//
-//        if (obsConfig.getConnectTimeout() <= 0) {
-//            config.setConnectionTimeout(default_obs_connect_timeout * 1000);
-//        } else {
-//            config.setConnectionTimeout(obsConfig.getConnectTimeout() * 1000);
-//        }
-//
-//        config.setEndPoint(url);
-//        return config;
-//    }
-//
-//    /**
-//     *
-//     * @throws Exception
-//     */
-//    protected String upload(String type, String uri) {
-//        InputStream inputStream = null;
-//        // 允许上传http的资源链接,因为需要从网络现在后上传到obs,需要控制资源大小在10M以内
-//        if (uri.startsWith("https://") || uri.startsWith("http://")) {
-//            try {
-//                URL url = new URL(uri);
-//                inputStream = url.openStream();
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_params_resource,
-//                        String.format("Resource access errorm, file:%s", uri), ex);
-//            }
-//        } else {
-//            File file = new File(uri);
-//            if (!file.exists()) {
-//                throw new AIException(AIException.code_params_resource_notfound,
-//                        (String.format("file:%s is not exists", uri)));
-//            }
-//            try {
-//                inputStream = new FileInputStream(file);
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_params_resource,
-//                        String.format("Resource access errorm, file:%s", uri), ex);
-//            }
-//        }
-//
-//        List<ObsClientAware> obsClientAwares = obsAwareMap.get(type);
-//        if (obsClientAwares == null) {
-//            throw new AIException(AIException.code_params_err, String.format("type:%s is not configured", type));
-//        }
-//
-//        Exception ex = null;
-//
-//        for (ObsClientAware obsClientAware : obsClientAwares) {
-//            try {
-//                log.info("upload start, type={} uri={} key={} bucket={} client={}", type, uri,
-//                        obsClientAware.getObsConfig().getKey(),
-//                        obsClientAware.getObsConfig().getBucket(),
-//                        obsClientAware.getObsClient().toString());
-//
-//                PutObjectResult result = obsClientAware.getObsClient()
-//                        .putObject(obsClientAware.getObsConfig().getBucket(),
-//                                obsClientAware.getObsConfig().getKey(),
-//                                inputStream);
-//                String objUrl = result.getObjectUrl();
-//                return objUrl;
-//            } catch (ObsException obsException) {
-//                log.warn(String.format("Upload OBS exception,code:%s,message:%s", obsException.getResponseCode(),
-//                        obsException.getLocalizedMessage()), obsException);
-//                ex = obsException;
-//            }
-//        }
-//        throw new AIException(AIException.code_upload_err, "Upload OBS exception", ex);
-//    }
-//
-//    /**
-//     * 重试创建AI处理任务
-//     *
-//     * @param sdkRequestDTO
-//     * @return
-//     * @throws Exception
-//     */
-//    private SdkResponseDTO.Result retryPush(SdkRequestDTO sdkRequestDTO, List<ApiAware> apiAwares, String processType) {
-//        AIException finalEx = null;
-//        for (ApiAware apiAware : apiAwares) {
-//            APIConfig apConfig = apiAware.getApiConfig();
-//            for (int i = 0; i < apConfig.getRetry().times; i++) {
-//                sleepRetry(i, apConfig.getRetry());
-//                SdkResponseDTO response = null;
-//                try {
-//                    response = doPush(sdkRequestDTO, apiAware, processType);
-//                } catch (AIException ex) {
-//                    log.info("push retry, times=" + i, ex);
-//                    // 权限问题直接返回
-//                    if (ex.getErrorCode() == AIException.code_cloud_process_unauthorized
-//                            || ex.getErrorCode() == AIException.code_params_err) {
-//                        throw ex;
-//                    }
-//                    finalEx = ex;
-//                    continue;
-//                } catch (Exception ex) {
-//                    log.info("push retry, times=" + i, ex);
-//                    finalEx = new AIException(AIException.code_cloud_process_err, "Request exception", ex);
-//                    continue;
-//                }
-//                if (response == null) {
-//                    continue;
-//                }
-//
-//                // 使用status异步获取结果
-//                if (response.getCode() == 0 && response.getData().getStatus() == status_code_suc) {
-//                    return response.getData().getResult();
-//                }
-//                if (response.getCode() == 0 && response.getData().getStatus() == status_code_timeout) {
-//                    if (response.getData() == null || response.getData().getResult() == null
-//                            || response.getData().getResult().getId() == null) {
-//                        throw new AIException(AIException.code_cloud_process_err,
-//                                "Task ID not found in backend request");
-//                    }
-//                    return getResultStatus(sdkRequestDTO, response.getData().getResult().getId(), apiAware);
-//                } else {
-//                    // 后端出现异常,不在进行循环
-//                    throw new AIException(response.getCode(),
-//                            response.getMessage());
-//                }
-//            }
-//        }
-//        throw finalEx;
-//    }
-//
-//    /**
-//     * 重新获取状态
-//     *
-//     * @param taskId
-//     * @return
-//     * @throws Exception
-//     */
-//    private SdkResponseDTO.Result getResultStatus(SdkRequestDTO requestDTO, String taskId, ApiAware apiAware) {
-//        AIException finalEx = null;
-//        StatusQuery statusQuery = apiAware.getApiConfig().getStatusQuery();
-//        String durations = statusQuery.durations;
-//        if (durations == null || durations.length() == 0) {
-//            durations = String.valueOf(statusQuery.defaultDuration);
-//        }
-//
-//        String[] durationArr = durations.split(",");
-//        for (String duration : durationArr) {
-//            try {
-//                Thread.sleep(Integer.parseInt(duration));
-//            } catch (InterruptedException e) {
-//                log.warn("sleep异常", e);
-//            }
-//            SdkResponseDTO responseDTO = null;
-//            try {
-//                responseDTO = doResultStatus(requestDTO.getContext(), taskId, apiAware);
-//            } catch (AIException ex) {
-//                finalEx = ex;
-//                continue;
-//            } catch (Exception ex) {
-//                finalEx = new AIException(AIException.code_cloud_get_status_err, "Get status exception", ex);
-//                continue;
-//
-//            }
-//
-//            if (responseDTO == null) {
-//                continue;
-//            }
-//
-//            if (responseDTO.getCode() == 0 && responseDTO.getData().getStatus() == status_code_suc) {
-//                // 使用status异步获取结果
-//                return responseDTO.getData().getResult();
-//            } else if (responseDTO.getCode() == 0 && responseDTO.getData().getStatus() == status_code_fail) {
-//                // 后端出现异常,不在进行循环
-//                throw new AIException(responseDTO.getCode(),
-//                        responseDTO.getMessage());
-//            } else if (responseDTO.getCode() != 0) {
-//                throw new AIException(responseDTO.getCode(),
-//                        responseDTO.getMessage());
-//            }
-//
-//        }
-//
-//        if (finalEx != null) {
-//            throw finalEx;
-//        } else {
-//            throw new AIException(AIException.code_cloud_process_timeout, "Process timeout");
-//        }
-//    }
-//
-//    /**
-//     * 获取
-//     *
-//     * @param requestDTO
-//     * @param taskId
-//     * @param apiAware
-//     * @return
-//     */
-//    private SdkResponseDTO doResultStatus(String contextParam, String taskId, ApiAware apiAware) {
-//        long start = System.currentTimeMillis();
-//        ObjectMapper objectMapper = new ObjectMapper();
-//        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-//        Map<String, String> headers = new HashMap<>();
-//        Map<String, String> params = new HashMap<>();
-//        params.put("task_id", taskId);
-//        if (contextParam != null && contextParam.length() > 0) {
-//            params.put("context", contextParam);
-//        }
-//
-//        Request request = buildGetRequest(apiAware.getStatusUrl(), params, headers);
-//
-//        Response response = null;
-//        try {
-//            response = apiAware.getPushClient().newCall(request).execute();
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_cloud_process_net_err, "Request exception", ex);
-//        }
-//
-//        try {
-//            String body = "";
-//            try {
-//                body = response.body().string();
-//            } catch (Exception ex) {
-//                // 忽略异常
-//            }
-//
-//            log.info("get status response, latency={} url={} httpcode={} body={}", System.currentTimeMillis() - start,
-//                    apiAware.getPushUrl(), response.code(), body);
-//
-//            if (!response.isSuccessful()) {
-//                throw new AIException(AIException.code_cloud_process_err,
-//                        String.format("Request exception:httpCode:", response.code()));
-//            }
-//
-//            try {
-//                SdkResponseDTO responseDTO = objectMapper.readValue(body, SdkResponseDTO.class);
-//                return responseDTO;
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_cloud_process_err, "Result deserialization exception", ex);
-//            }
-//        } finally {
-//            response.close();
-//        }
-//    }
-//
-//    private void sleepRetry(int index, RetryConfig retryConfig) {
-//        if (index == 0) {
-//            return;
-//        }
-//        try {
-//            Thread.sleep(retryConfig.duration);
-//        } catch (InterruptedException e) {
-//            log.warn("sleep异常", e);
-//        }
-//    }
-//
-//    /**
-//     * 提交ai 任务
-//     *
-//     * @param sdkRequestDTO
-//     * @return
-//     */
-//    protected SdkResponseDTO doPush(SdkRequestDTO sdkRequestDTO, ApiAware apiAware, String processType) {
-//        String url = apiAware.getPushUrl();
-//        if (process_type_inference.equals(processType)) {
-//            url = apiAware.getInferenceUrl();
-//        }
-//        long start = System.currentTimeMillis();
-//        String json = null;
-//        ObjectMapper objectMapper = new ObjectMapper();
-//        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-//        try {
-//            json = objectMapper.writeValueAsString(sdkRequestDTO);
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_serialization_err, "Json exception", ex);
-//        }
-//        URI uri = URI.create(url);
-//        String host = uri.getHost();
-//        Map<String, String> headers = new HashMap<>();
-//        headers.put(Signer.HeaderHost, host);
-//
-//        Signer signer = new Signer(ak, sk);
-//        Map<String, String> sigHeader = null;
-//        try {
-//            sigHeader = signer.sign(url, "POST", headers, json);
-//        } catch (URISyntaxException ex) {
-//            throw new AIException(AIException.code_cloud_process_err, "Sign exception", ex);
-//        }
-//
-//        Request.Builder request = new Request.Builder()
-//                .post(RequestBody.create(json, MediaType.parse("application/json")))
-//                .url(url);
-//
-//        sigHeader.forEach((key, value) -> {
-//            if (Signer.HeaderHost.equals(key)) {
-//                return;
-//            }
-//            request.addHeader(key, value);
-//        });
-//
-//        log.info("push request, url={} body={} header={}", url, json,
-//                jsonToString(sigHeader, objectMapper));
-//
-//        OkHttpClient okHttpClient = apiAware.getPushClient();
-//
-//        /**
-//         * 设置同步超时时间
-//         */
-//        if (sdkRequestDTO.getSyncTimeout() > 0) {
-//            OkHttpClient.Builder builder = apiAware.getPushClient().newBuilder();
-//            int socketTimeout = sdkRequestDTO.getSyncTimeout() * 2;
-//            if (sdkRequestDTO.getSyncTimeout() > 0) {
-//                builder.readTimeout(socketTimeout, TimeUnit.SECONDS);
-//                builder.writeTimeout(socketTimeout, TimeUnit.SECONDS);
-//            }
-//            okHttpClient = builder.build();
-//        }
-//
-//        Response response = null;
-//        try {
-//            response = okHttpClient.newCall(request.build()).execute();
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_cloud_process_net_err, "Request exception", ex);
-//        }
-//
-//        try {
-//            String body = null;
-//            try {
-//                body = response.body().string();
-//            } catch (Exception ex) {
-//                // 忽略异常
-//            }
-//
-//            log.info("push response, latency={} url={} httpcode={} body={}", System.currentTimeMillis() - start,
-//                    url, response.code(), body);
-//
-//            if (!response.isSuccessful()) {
-//                if (response.code() == 400) {
-//                    int code = response.code();
-//                    String msg = response.message();
-//                    try {
-//                        SdkResponseDTO responseDTO = objectMapper.readValue(body, SdkResponseDTO.class);
-//                        code = responseDTO.getCode();
-//                        msg = responseDTO.getMessage();
-//                    } catch (Exception ex) {
-//                        // 忽略错误,出现错误也是正常情况。
-//                    }
-//                    throw new AIException(AIException.code_params_err,
-//                            String.format("Request exception:code=%s, message=%s", code, msg));
-//                } else if (response.code() == 401 || response.code() == 403) {
-//                    throw new AIException(AIException.code_cloud_process_unauthorized,
-//                            String.format("Request exception:httpCode=%s, message=%s", response.code(),
-//                                    response.message()));
-//                } else {
-//                    throw new AIException(AIException.code_cloud_process_err,
-//                            String.format("Request exception:httpCode=%s, message=%s", response.code(),
-//                                    response.message()));
-//                }
-//
-//            }
-//
-//            try {
-//                SdkResponseDTO responseDTO = objectMapper.readValue(body, SdkResponseDTO.class);
-//                return responseDTO;
-//            } catch (Exception ex) {
-//                throw new AIException(AIException.code_cloud_process_err, "Result deserialization exception", ex);
-//            }
-//        } finally {
-//            response.close();
-//        }
-//    }
-//
-//    protected String jsonToString(Object obj, ObjectMapper objectMapper) {
-//        if (objectMapper == null) {
-//            objectMapper = new ObjectMapper();
-//        }
-//
-//        try {
-//            return objectMapper.writeValueAsString(obj);
-//        } catch (Exception ex) {
-//            throw new AIException(AIException.code_serialization_err, "Json exception", ex);
-//        }
-//    }
-//
-//    @Data
-//    protected static class ConfigAware {
-//        private Map<String, List<ObsConfig>> obsConfigMap;
-//        private Map<String, List<APIConfig>> apiConfigMap;
-//        private int minTTL; // token最小存活时间,单位秒。所有obsconfig中ttl最小的
-//    }
-//
-//    @Data
-//    protected static class ObsConfig {
-//        @JsonProperty("socket_timeout")
-//        private int socketTimeout = default_obs_socket_timeout; // 单位秒
-//        @JsonProperty("connect_timeout")
-//        private int connectTimeout = default_obs_connect_timeout; // 单位秒
-//
-//        private String url;
-//
-//        @JsonProperty("backup_url")
-//        private String backupUrl;
-//
-//        private Credentials credentials;
-//
-//        private String key;
-//
-//        private String bucket;
-//
-//        /**
-//         * token存活时间,单位秒
-//         */
-//        private int ttl;
-//    }
-//
-//    @Data
-//    protected static class Credentials {
-//        @JsonProperty("access_key")
-//        private String accessKey;
-//        @JsonProperty("secret_key")
-//        private String secretKey;
-//        @JsonProperty("session_token")
-//        private String sessionToken;
-//    }
-//
-//    @Data
-//    protected static class ObsClientAware {
-//        private ObsClient obsClient;
-//        private ObsConfig obsConfig;
-//
-//        public ObsClientAware(ObsClient obsClient, ObsConfig obsConfig) {
-//            this.obsClient = obsClient;
-//            this.obsConfig = obsConfig;
-//        }
-//    }
-//
-//    @Data
-//    protected static class APIConfig {
-//        private String url;
-//        @JsonProperty("backup_url")
-//        private String backupUrl;
-//        @JsonProperty("push_path")
-//        private String pushPath;
-//        @JsonProperty("status_path")
-//        private String statusPath;
-//        private RetryConfig retry;
-//        @JsonProperty("connect_timeout")
-//        private int connectTimeout = 5; // 单位秒
-//        @JsonProperty("socket_timeout")
-//        private int socketTimeout = 10; // 单位秒
-//        @JsonProperty("status_query")
-//        private StatusQuery statusQuery;
-//        private String type;
-//    }
-//
-//    @Data
-//    protected static class RetryConfig {
-//        private String strategy;
-//        private int duration; // 单位毫秒
-//        private int times; // 重试次数
-//    }
-//
-//    @Data
-//    protected static class StatusQuery {
-//        private String path;
-//        private String durations; // "2000,2000,2000,1000,1000,500,500" 点位毫秒
-//        @JsonProperty("default")
-//        private String defaultDuration;
-//
-//    }
-//
-//    @Data
-//    protected static class ApiAware {
-//        private OkHttpClient pushClient;
-//        private OkHttpClient statusClient;
-//        private APIConfig apiConfig;
-//        private String pushUrl;
-//        private String statusUrl;
-//        private String inferenceUrl;
-//
-//        public ApiAware(OkHttpClient pushClient, OkHttpClient statusClient, APIConfig apiConfig, String host) {
-//            this.pushClient = pushClient;
-//            this.statusClient = statusClient;
-//            this.apiConfig = apiConfig;
-//            this.pushUrl = host + "/" + apiConfig.pushPath;
-//            this.statusUrl = host + "/" + apiConfig.statusPath;
-//            this.inferenceUrl = host + "/whee/business/push.json";
-//
-//        }
-//    }
-//
-//    /**
-//     * 自动刷新策略任务,如果无法获取策略将进行轮询获取,知道获取到策略为止
-//     */
-//    private static class AiClientRefreshStrategyTask implements Runnable {
-//        private AiClient aiClient;
-//
-//        public AiClientRefreshStrategyTask(AiClient aiClient) {
-//            this.aiClient = aiClient;
-//        }
-//
-//        public void run() {
-//            log.info("refresh strategy task start");
-//            Exception finalEx = null;
-//            for (int i = 0; i < get_strategy_retry_times; i++) {
-//                try {
-//                    aiClient.init();
-//                    return;
-//                } catch (Exception ex) {
-//                    log.info("Retry getting strategy exception", ex);
-//                    finalEx = ex;
-//                    continue;
-//                }
-//            }
-//
-//            if (finalEx != null) {
-//                log.error("Getting strategy exception", finalEx);
-//            }
-//
-//        }
-//    }
-//}

+ 0 - 80
src/main/java/com/backendsys/controller/Ai/AiChatController.java

@@ -1,80 +0,0 @@
-//package com.backendsys.controller.Ai;
-//
-//import com.backendsys.aspect.HttpRequestAspect;
-//
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.utils.response.Result;
-//
-//import com.backendsys.entity.Ai.AiChatDTO;
-//import com.backendsys.mapper.Ai.AiChatHistoryMapper;
-//import com.backendsys.service.Ai.AiChatService;
-//
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//import com.backendsys.utils.response.ResultEnum;
-//
-///**
-// * Ai 对话框
-// */
-//@Validated
-//@RestController
-//public class AiChatController {
-//
-//    @Autowired
-//    private HttpRequestAspect httpRequestAspect;
-//
-//    @Autowired
-//    private AiChatService aiChatService;
-//
-//    @Autowired
-//    private AiChatHistoryMapper aiChatHistoryMapper;
-//
-//    /**
-//     * 获得 对话列表
-//     * @param pageDTO
-//     * @param aiChatDTO
-//     * @return
-//     */
-//    @PreAuthorize("@sr.hasPermission('31')")
-//    @GetMapping("/api/ai/chat/getAiChat")
-//    public Result getAiChat(@Validated PageDTO pageDTO, @Validated AiChatDTO aiChatDTO) {
-//        return Result.success(aiChatService.queryAiChatList(pageDTO.getPage_num(), pageDTO.getPage_size(), aiChatDTO));
-//    }
-//
-//    /**
-//     * 获得 我的 对话列表
-//     * @param pageDTO
-//     * @param aiChatDTO
-//     * @return
-//     */
-//    @PreAuthorize("@sr.hasPermission('31')")
-//    @GetMapping("/api/ai/chat/getMyAiChat")
-//    public Result getMyAiChat(@Validated PageDTO pageDTO, @Validated AiChatDTO aiChatDTO) {
-//
-//        // [查询] 自身 UserId
-//        Long user_id = httpRequestAspect.getUserId();
-//        aiChatDTO.setUser_id(user_id);
-//
-//        // 判断 history_code 必填项
-//        String history_code = aiChatDTO.getHistory_code();
-//        if (history_code == null || history_code == "") {
-//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "history_code 不能为空");
-//        }
-//
-//        return Result.success(aiChatService.queryAiChatList(pageDTO.getPage_num(), pageDTO.getPage_size(), aiChatDTO));
-//    }
-//
-//    /**
-//     * 创建 我的 对话
-//     * @param aiChatDTO
-//     * @return
-//     */
-//    @PreAuthorize("@sr.hasPermission('31')")
-//    @PostMapping("/api/ai/chat/createMyAiChat")
-//    public Result createMyAiChat(@Validated(AiChatDTO.Create.class) @RequestBody AiChatDTO aiChatDTO) {
-//        return Result.success(aiChatService.insertAiChat(aiChatDTO), "创建成功");
-//    }
-//
-//}

+ 0 - 51
src/main/java/com/backendsys/controller/Ai/AiChatHistoryController.java

@@ -1,51 +0,0 @@
-//package com.backendsys.controller.Ai;
-//
-//import com.backendsys.aspect.HttpRequestAspect;
-//import com.backendsys.aspect.QueryNullCheck;
-//import com.backendsys.entity.Ai.AiChatHistoryDTO;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.service.Ai.AiChatHistoryService;
-//import com.backendsys.utils.response.Result;
-//
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-///**
-// * Ai 对话框
-// */
-//@Validated
-//@RestController
-//public class AiChatHistoryController {
-//
-//    @Autowired
-//    private HttpRequestAspect httpRequestAspect;
-//
-//    @Autowired
-//    private AiChatHistoryService AiChatHistoryService;
-//
-//    /**
-//     * 获得 我的对话历史记录列表
-//     * @param pageDTO
-//     * @param aiChatHistoryDTO
-//     * @return
-//     */
-//    @PreAuthorize("@sr.hasPermission('31')")
-//    @GetMapping("/api/ai/chat/getMyAiChatHistory")
-//    public Result getMyAiChatHistory(@Validated PageDTO pageDTO, @Validated AiChatHistoryDTO aiChatHistoryDTO) {
-//
-//        // [查询] 自身 UserId
-//        Long user_id = httpRequestAspect.getUserId();
-//        aiChatHistoryDTO.setUser_id(user_id);
-//
-//        return Result.success(AiChatHistoryService.queryAiChatHistoryList(pageDTO.getPage_num(), pageDTO.getPage_size(), aiChatHistoryDTO));
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('31')")
-//    @QueryNullCheck(serviceClass = AiChatHistoryService.class, serviceMethod = "queryAiChatHistoryByCode", argField = "history_code", message = "对话记录不存在")
-//    @DeleteMapping("/api/ai/chat/deleteAiChatHistory")
-//    public Result deleteAiChatHistory(@Validated(AiChatHistoryDTO.Delete.class) @RequestBody AiChatHistoryDTO aiChatHistoryDTO) {
-//     return Result.success(AiChatHistoryService.deleteAiChatHistory(aiChatHistoryDTO), "删除成功");
-//    }
-//}

+ 0 - 65
src/main/java/com/backendsys/controller/Cms/CmsArticleCategoryController.java

@@ -1,65 +0,0 @@
-//package com.backendsys.controller.Cms;
-//
-//import com.backendsys.aspect.QueryNullCheck;
-//import com.backendsys.aspect.QueryNullCheckAspect;
-//import com.backendsys.entity.Cms.CmsArticleCategoryDTO;
-//import com.backendsys.service.Cms.CmsArticleCategoryService;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-///**
-// * 资讯分类
-// */
-//@RestController
-//public class CmsArticleCategoryController {
-//
-//    @Autowired
-//    private CmsArticleCategoryService cmsArticleCategoryService;
-//
-//    @PreAuthorize("@sr.hasPermission('10.2')")
-//    @GetMapping("/api/cms/article/getArticleCategory")
-//    public Result getArticleCategory(@Validated PageDTO pageDTO, @Validated CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        return Result.success(cmsArticleCategoryService.queryArticleCategory(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsArticleCategoryDTO));
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.2.1')")
-//    @QueryNullCheck(serviceClass = CmsArticleCategoryService.class, serviceMethod = "queryArticleCategoryDetail", argField = "article_category_id", message = "资讯分类不存在")
-//    @GetMapping("/api/cms/article/getArticleCategoryDetail")
-//    public Result getArticleCategoryDetail(@Validated(CmsArticleCategoryDTO.Detail.class) CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        return Result.success(QueryNullCheckAspect.getQueryResult());
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.2.2')")
-//    @PostMapping("/api/cms/article/createArticleCategory")
-//    public Result createArticleCategory(@Validated(CmsArticleCategoryDTO.Create.class) @RequestBody CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        return Result.success(cmsArticleCategoryService.insertArticleCategory(cmsArticleCategoryDTO), "创建成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.2.3')")
-//    @QueryNullCheck(serviceClass = CmsArticleCategoryService.class, serviceMethod = "queryArticleCategoryDetail", argField = "article_category_id", message = "资讯分类不存在")
-//    @PutMapping("/api/cms/article/updateArticleCategory")
-//    public Result updateArticleCategory(@Validated(CmsArticleCategoryDTO.Update.class) @RequestBody CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        return Result.success(cmsArticleCategoryService.updateArticleCategory(cmsArticleCategoryDTO), "更新成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.2.4')")
-//    @QueryNullCheck(serviceClass = CmsArticleCategoryService.class, serviceMethod = "queryArticleCategoryDetail", argField = "article_category_id", message = "资讯分类不存在")
-//    @DeleteMapping("/api/cms/article/deleteArticleCategory")
-//    public Result deleteArticleCategory(@Validated(CmsArticleCategoryDTO.Delete.class) @RequestBody CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        return Result.success(cmsArticleCategoryService.deleteArticleCategory(cmsArticleCategoryDTO), "删除成功");
-//    }
-//
-//    /**
-//     * 资讯分类 (公共)
-//     */
-//    @GetMapping("/api/public/cms/article/getArticleCategory")
-//    public Result getPublicArticleCategory(@Validated PageDTO pageDTO, @Validated CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        cmsArticleCategoryDTO.setStatus(1);
-//        return Result.success(cmsArticleCategoryService.queryArticleCategory(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsArticleCategoryDTO));
-//    }
-//
-//}

+ 0 - 108
src/main/java/com/backendsys/controller/Cms/CmsArticleController.java

@@ -1,108 +0,0 @@
-//package com.backendsys.controller.Cms;
-//
-//import com.backendsys.aspect.HttpRequestAspect;
-//import com.backendsys.entity.Cms.CmsArticleDTO;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.service.Cms.CmsArticleService;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.utils.response.ResultEnum;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.util.Map;
-//
-///**
-// * 资讯
-// */
-//@RestController
-//public class CmsArticleController {
-//
-//    @Autowired
-//    private HttpRequestAspect httpRequestAspect;
-//
-//    @Autowired
-//    private CmsArticleService cmsArticleService;
-//
-//    // @Validated @Translate CmsArticleDTO cmsArticleDTO
-//    // 使用这个写法,让实体类自动添加 lang 参数,这个参数来自于 Cookie
-//
-//    @PreAuthorize("@sr.hasPermission('10.3')")
-//    @GetMapping("/api/cms/article/getArticle")
-//    public Result getArticle(@Validated PageDTO pageDTO, @Validated CmsArticleDTO cmsArticleDTO) {
-//        return Result.success(cmsArticleService.queryArticle(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsArticleDTO));
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.3.1')")
-//    @GetMapping("/api/cms/article/getArticleDetail")
-//    public Result getArticleDetail(@Validated(CmsArticleDTO.Detail.class) CmsArticleDTO cmsArticleDTO) {
-//        return Result.success(cmsArticleService.queryArticleDetail(cmsArticleDTO));
-//    }
-//
-//    // @PreAuthorize("@sr.hasPermission('5.3.1')")
-//    // @GetMapping("/api/cms/article/getArticleTranslation")
-//    // public Result getArticleTranslation(@Validated(CmsArticleDTO.Detail.class) CmsArticleDTO cmsArticleDTO) {
-//    //     return Result.success(cmsArticleService.queryArticleTranslation(cmsArticleDTO));
-//    // }
-//
-//    @PreAuthorize("@sr.hasPermission('10.3.2')")
-//    @PostMapping("/api/cms/article/createArticle")
-//    public Result createArticle(@Validated(CmsArticleDTO.Create.class) @RequestBody CmsArticleDTO cmsArticleDTO) {
-//        // [查询] 自身 UserId
-//        Long user_id = httpRequestAspect.getUserId();
-//        cmsArticleDTO.setUser_id(user_id);
-//        return Result.success(cmsArticleService.insertArticle(cmsArticleDTO), "创建成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.3.3')")
-//    // @QueryNullCheck(serviceClass = CmsArticleService.class, serviceMethod = "queryArticleDetail", argField = "article_id", message = "资讯不存在")
-//    @PutMapping("/api/cms/article/updateArticle")
-//    public Result updateArticle(@Validated(CmsArticleDTO.Update.class) @RequestBody CmsArticleDTO cmsArticleDTO) {
-//        return Result.success(cmsArticleService.updateArticle(cmsArticleDTO), "更新成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.3.4')")
-//    // @QueryNullCheck(serviceClass = CmsArticleService.class, serviceMethod = "queryArticleDetail", argField = "article_id", message = "资讯不存在")
-//    @DeleteMapping("/api/cms/article/deleteArticle")
-//    public Result deleteArticle(@Validated(CmsArticleDTO.Delete.class) @RequestBody CmsArticleDTO cmsArticleDTO) {
-//        return Result.success(cmsArticleService.deleteArticle(cmsArticleDTO), "删除成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.3.4')")
-//    @DeleteMapping("/api/cms/article/deleteArticleBatch")
-//    public Result deleteArticleBatch(@Validated(CmsArticleDTO.Delete.class) @RequestBody CmsArticleDTO cmsArticleDTO) {
-//        return Result.success(cmsArticleService.deleteArticleBatch(cmsArticleDTO.getArticle_ids()), "删除成功");
-//    }
-//
-//    /**
-//     * 资讯列表 (公共)
-//     */
-//    @GetMapping("/api/public/cms/article/getArticle")
-//    public Result getPublicArticle(@Validated PageDTO pageDTO, @Validated CmsArticleDTO cmsArticleDTO) {
-//        cmsArticleDTO.setStatus(1); // 已启用
-//        // cmsArticleDTO.setAudit_status(2); // 审核通过
-//        return Result.success(cmsArticleService.queryArticle(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsArticleDTO));
-//    }
-//    /**
-//     * 资讯详情 (公共)
-//     */
-//    @GetMapping("/api/public/cms/article/getArticleDetail")
-//    public Result getPublicArticleDetail(@Validated CmsArticleDTO cmsArticleDTO) {
-//
-//        Map<String, Object> cmsArticle = cmsArticleService.queryArticleDetailPublic(cmsArticleDTO);
-//        if (cmsArticle == null) {
-//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "资讯不存在");
-//        }
-//        if ((Integer) cmsArticle.get("status") != 1) {
-//            return Result.error(ResultEnum.STATUS_ERROR.getCode(), ResultEnum.STATUS_ERROR.getMessage());
-//        }
-//        // if ((Integer) cmsArticle.get("audit_status") != 2) {
-//        //     return Result.error(ResultEnum.STATUS_ERROR.getCode(), "资讯审核中");
-//        // }
-//        Long article_id = cmsArticleDTO.getArticle_id();
-//        cmsArticle.put("article_id", article_id);
-//        return Result.success(cmsArticle);
-//    }
-//
-//}

+ 0 - 65
src/main/java/com/backendsys/controller/Cms/CmsBannerController.java

@@ -1,65 +0,0 @@
-//package com.backendsys.controller.Cms;
-//
-//import com.backendsys.aspect.QueryNullCheck;
-//import com.backendsys.aspect.QueryNullCheckAspect;
-//import com.backendsys.entity.Cms.CmsBannerDTO;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.service.Cms.CmsBannerService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-///**
-// * 幻灯片
-// */
-//@RestController
-//public class CmsBannerController {
-//
-//    @Autowired
-//    private CmsBannerService cmsBannerService;
-//
-//    @PreAuthorize("@sr.hasPermission('10.1')")
-//    @GetMapping("/api/cms/banner/getBanner")
-//    public Result getBanner(@Validated PageDTO pageDTO, @Validated CmsBannerDTO cmsBannerDTO) {
-//        return Result.success(cmsBannerService.queryBanner(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsBannerDTO));
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.1.1')")
-//    @QueryNullCheck(serviceClass = CmsBannerService.class, serviceMethod = "queryBannerDetail", argField = "banner_id", message = "幻灯片不存在")
-//    @GetMapping("/api/cms/banner/getBannerDetail")
-//    public Result getBannerDetail(@Validated(CmsBannerDTO.Detail.class) CmsBannerDTO cmsBannerDTO) {
-//        return Result.success(QueryNullCheckAspect.getQueryResult());
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.1.2')")
-//    @PostMapping("/api/cms/banner/createBanner")
-//    public Result createBanner(@Validated(CmsBannerDTO.Create.class) @RequestBody CmsBannerDTO cmsBannerDTO) {
-//        return Result.success(cmsBannerService.insertBanner(cmsBannerDTO), "创建成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.1.3')")
-//    @QueryNullCheck(serviceClass = CmsBannerService.class, serviceMethod = "queryBannerDetail", argField = "banner_id", message = "幻灯片不存在")
-//    @PutMapping("/api/cms/banner/updateBanner")
-//    public Result updateBanner(@Validated(CmsBannerDTO.Update.class) @RequestBody CmsBannerDTO cmsBannerDTO) {
-//        return Result.success(cmsBannerService.updateBanner(cmsBannerDTO), "更新成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('10.1.4')")
-//    @QueryNullCheck(serviceClass = CmsBannerService.class, serviceMethod = "queryBannerDetail", argField = "banner_id", message = "幻灯片不存在")
-//    @DeleteMapping("/api/cms/banner/deleteBanner")
-//    public Result deleteBanner(@Validated(CmsBannerDTO.Delete.class) @RequestBody CmsBannerDTO cmsBannerDTO) {
-//        return Result.success(cmsBannerService.deleteBanner(cmsBannerDTO), "删除成功");
-//    }
-//
-//    /**
-//     * 幻灯片列表 (公共)
-//     */
-//    @GetMapping("/api/public/cms/banner/getBanner")
-//    public Result getPublicBanner(@Validated PageDTO pageDTO, @Validated CmsBannerDTO cmsBannerDTO) {
-//        cmsBannerDTO.setStatus(1); // 已启用
-//        return Result.success(cmsBannerService.queryBanner(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsBannerDTO));
-//    }
-//
-//}

+ 0 - 74
src/main/java/com/backendsys/controller/Cms/CmsPageController.java

@@ -1,74 +0,0 @@
-//package com.backendsys.controller.Cms;
-//
-//import com.backendsys.entity.Cms.CmsPageDTO;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.service.Cms.CmsPageService;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.utils.response.ResultEnum;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.util.Map;
-//
-///**
-// * 资讯
-// */
-//@RestController
-//public class CmsPageController {
-//
-//    @Autowired
-//    private CmsPageService cmsPageService;
-//
-//    // @Validated @Translate CmsPageDTO cmsPageDTO
-//    // 使用这个写法,让实体类自动添加 lang 参数,这个参数来自于 Cookie
-//
-//
-////    @PreAuthorize("@sr.hasPermission('12.1')")
-////    @GetMapping("/api/cms/page/getPage")
-////    public Result getPage(@Validated PageDTO pageDTO, @Validated CmsPageDTO cmsPageDTO) {
-////        return Result.success(cmsPageService.queryPage(pageDTO.getPage_num(), pageDTO.getPage_size(), cmsPageDTO));
-////    }
-//
-////    /**
-////     * 详情
-////     */
-////    @PreAuthorize("@sr.hasPermission('12.2')")
-////    @GetMapping("/api/cms/page/getPageDetail")
-////    public Result getPageDetail(@Validated CmsPageDTO cmsPageDTO) {
-////
-////        Map<String, Object> cmsPage = cmsPageService.queryPageDetail(cmsPageDTO);
-////        if (cmsPage == null) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "内容不存在");
-////        }
-////        String page_sign = cmsPageDTO.getPage_sign();
-////        cmsPage.put("page_sign", page_sign);
-////
-////        return Result.success(cmsPageService.queryPageDetail(cmsPageDTO));
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('12.3')")
-////    // @QueryNullCheck(serviceClass = CmsPageService.class, serviceMethod = "queryPageDetail", argField = "page_id", message = "资讯不存在")
-////    @PutMapping("/api/cms/page/updatePage")
-////    public Result updatePage(@Validated(CmsPageDTO.Update.class) @RequestBody CmsPageDTO cmsPageDTO) {
-////        return Result.success(cmsPageService.updatePage(cmsPageDTO), "更新成功");
-////    }
-//
-//    /**
-//     * 详情 (公共)
-//     */
-//    @GetMapping("/api/public/cms/page/getPageDetail")
-//    public Result getPageDetailPublic(@Validated CmsPageDTO cmsPageDTO) {
-//
-//        Map<String, Object> cmsPage = cmsPageService.queryPageDetailPublic(cmsPageDTO);
-//        if (cmsPage == null) {
-//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "内容不存在");
-//        }
-//        String page_sign = cmsPageDTO.getPage_sign();
-//        cmsPage.put("page_sign", page_sign);
-//
-//        return Result.success(cmsPage);
-//    }
-//
-//}

+ 0 - 39
src/main/java/com/backendsys/controller/Cms/CmsSiteInfoController.java

@@ -1,39 +0,0 @@
-//package com.backendsys.controller.Cms;
-//
-//import com.backendsys.entity.Cms.CmsSiteInfoDTO;
-//import com.backendsys.service.Cms.CmsSiteInfoService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-///**
-// * 系统信息
-// */
-//@Validated
-//@RestController
-//public class CmsSiteInfoController {
-//
-//    @Autowired
-//    private CmsSiteInfoService cmsSiteInfoService;
-//
-//    @PreAuthorize("@sr.hasPermission('13')")
-//    @GetMapping("/api/cms/site/getSiteInfo")
-//    public Result getSiteInfo(@Validated CmsSiteInfoDTO cmsSiteInfoDTO) {
-//        return Result.success(cmsSiteInfoService.querySiteInfo(cmsSiteInfoDTO));
-//    }
-//
-//    @GetMapping("/api/public/cms/site/getSiteInfo")
-//    public Result getSiteInfoPublic(@Validated CmsSiteInfoDTO cmsSiteInfoDTO) {
-//        return Result.success(cmsSiteInfoService.querySiteInfo(cmsSiteInfoDTO));
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('13.1')")
-//    @PutMapping("/api/cms/site/updateSiteInfo")
-//    public Result updateSiteInfo(@Validated(CmsSiteInfoDTO.Update.class) @RequestBody CmsSiteInfoDTO cmsSiteInfoDTO) {
-//        cmsSiteInfoDTO.setId(Long.valueOf(1));
-//        return Result.success(cmsSiteInfoService.updateSiteInfo(cmsSiteInfoDTO), "更新成功");
-//    }
-//
-//}

+ 56 - 56
src/main/java/com/backendsys/controller/Med/MedMaterialCategoryController.java

@@ -1,56 +1,56 @@
-package com.backendsys.controller.Med;
-
-import com.backendsys.aspect.QueryNullCheck;
-import com.backendsys.aspect.QueryNullCheckAspect;
-import com.backendsys.entity.Med.MedMaterialCategoryDTO;
-import com.backendsys.service.Med.MedMaterialCategoryService;
-import com.backendsys.entity.PageDTO;
-import com.backendsys.utils.response.Result;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * 素材分类
- */
-@RestController
-public class MedMaterialCategoryController {
-
-    @Autowired
-    private MedMaterialCategoryService medMaterialCategoryService;
-
-    @PreAuthorize("@sr.hasPermission('20.2')")
-    @GetMapping("/api/med/material/getMaterialCategory")
-    public Result getMaterialCategory(@Validated PageDTO pageDTO, @Validated MedMaterialCategoryDTO medMaterialCategoryDTO) {
-        return Result.success(medMaterialCategoryService.queryMaterialCategory(pageDTO.getPage_num(), pageDTO.getPage_size(), medMaterialCategoryDTO));
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.2.1')")
-    @QueryNullCheck(serviceClass = MedMaterialCategoryService.class, serviceMethod = "queryMaterialCategoryDetail", argField = "material_category_id", message = "素材分类不存在")
-    @GetMapping("/api/med/material/getMaterialCategoryDetail")
-    public Result getMaterialCategoryDetail(@Validated(MedMaterialCategoryDTO.Detail.class) MedMaterialCategoryDTO medMaterialCategoryDTO) {
-        return Result.success(QueryNullCheckAspect.getQueryResult());
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.2.2')")
-    @PostMapping("/api/med/material/createMaterialCategory")
-    public Result createMaterialCategory(@Validated(MedMaterialCategoryDTO.Create.class) @RequestBody MedMaterialCategoryDTO medMaterialCategoryDTO) {
-        return Result.success(medMaterialCategoryService.insertMaterialCategory(medMaterialCategoryDTO), "创建成功");
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.2.3')")
-    @QueryNullCheck(serviceClass = MedMaterialCategoryService.class, serviceMethod = "queryMaterialCategoryDetail", argField = "material_category_id", message = "素材分类不存在")
-    @PutMapping("/api/med/material/updateMaterialCategory")
-    public Result updateMaterialCategory(@Validated(MedMaterialCategoryDTO.Update.class) @RequestBody MedMaterialCategoryDTO medMaterialCategoryDTO) {
-        return Result.success(medMaterialCategoryService.updateMaterialCategory(medMaterialCategoryDTO), "更新成功");
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.2.4')")
-    @QueryNullCheck(serviceClass = MedMaterialCategoryService.class, serviceMethod = "queryMaterialCategoryDetail", argField = "material_category_id", message = "素材分类不存在")
-    @DeleteMapping("/api/med/material/deleteMaterialCategory")
-    public Result deleteMaterialCategory(@Validated(MedMaterialCategoryDTO.Delete.class) @RequestBody MedMaterialCategoryDTO medMaterialCategoryDTO) {
-        return Result.success(medMaterialCategoryService.deleteMaterialCategory(medMaterialCategoryDTO), "删除成功");
-    }
-
-}
+//package com.backendsys.controller.Med;
+//
+//import com.backendsys.aspect.QueryNullCheck;
+//import com.backendsys.aspect.QueryNullCheckAspect;
+//import com.backendsys.entity.Med.MedMaterialCategoryDTO;
+//import com.backendsys.service.Med.MedMaterialCategoryService;
+//import com.backendsys.entity.PageDTO;
+//import com.backendsys.utils.response.Result;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.security.access.prepost.PreAuthorize;
+//import org.springframework.validation.annotation.Validated;
+//import org.springframework.web.bind.annotation.*;
+//
+///**
+// * 素材分类
+// */
+//@RestController
+//public class MedMaterialCategoryController {
+//
+//    @Autowired
+//    private MedMaterialCategoryService medMaterialCategoryService;
+//
+//    @PreAuthorize("@sr.hasPermission('20.2')")
+//    @GetMapping("/api/med/material/getMaterialCategory")
+//    public Result getMaterialCategory(@Validated PageDTO pageDTO, @Validated MedMaterialCategoryDTO medMaterialCategoryDTO) {
+//        return Result.success(medMaterialCategoryService.queryMaterialCategory(pageDTO.getPage_num(), pageDTO.getPage_size(), medMaterialCategoryDTO));
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.2.1')")
+//    @QueryNullCheck(serviceClass = MedMaterialCategoryService.class, serviceMethod = "queryMaterialCategoryDetail", argField = "material_category_id", message = "素材分类不存在")
+//    @GetMapping("/api/med/material/getMaterialCategoryDetail")
+//    public Result getMaterialCategoryDetail(@Validated(MedMaterialCategoryDTO.Detail.class) MedMaterialCategoryDTO medMaterialCategoryDTO) {
+//        return Result.success(QueryNullCheckAspect.getQueryResult());
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.2.2')")
+//    @PostMapping("/api/med/material/createMaterialCategory")
+//    public Result createMaterialCategory(@Validated(MedMaterialCategoryDTO.Create.class) @RequestBody MedMaterialCategoryDTO medMaterialCategoryDTO) {
+//        return Result.success(medMaterialCategoryService.insertMaterialCategory(medMaterialCategoryDTO), "创建成功");
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.2.3')")
+//    @QueryNullCheck(serviceClass = MedMaterialCategoryService.class, serviceMethod = "queryMaterialCategoryDetail", argField = "material_category_id", message = "素材分类不存在")
+//    @PutMapping("/api/med/material/updateMaterialCategory")
+//    public Result updateMaterialCategory(@Validated(MedMaterialCategoryDTO.Update.class) @RequestBody MedMaterialCategoryDTO medMaterialCategoryDTO) {
+//        return Result.success(medMaterialCategoryService.updateMaterialCategory(medMaterialCategoryDTO), "更新成功");
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.2.4')")
+//    @QueryNullCheck(serviceClass = MedMaterialCategoryService.class, serviceMethod = "queryMaterialCategoryDetail", argField = "material_category_id", message = "素材分类不存在")
+//    @DeleteMapping("/api/med/material/deleteMaterialCategory")
+//    public Result deleteMaterialCategory(@Validated(MedMaterialCategoryDTO.Delete.class) @RequestBody MedMaterialCategoryDTO medMaterialCategoryDTO) {
+//        return Result.success(medMaterialCategoryService.deleteMaterialCategory(medMaterialCategoryDTO), "删除成功");
+//    }
+//
+//}

+ 118 - 118
src/main/java/com/backendsys/controller/Med/MedMaterialController.java

@@ -1,119 +1,119 @@
-package com.backendsys.controller.Med;
-
-import com.backendsys.aspect.QueryNullCheck;
-import com.backendsys.entity.Med.MedMaterialDTO;
-import com.backendsys.entity.PageDTO;
-import com.backendsys.service.Med.MedMaterialService;
-import com.backendsys.utils.response.Result;
-import com.backendsys.utils.response.ResultEnum;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * 素材
- */
-@RestController
-public class MedMaterialController {
-
-    @Autowired
-    private MedMaterialService medMaterialService;
-
-    // 素材列表
-    @PreAuthorize("@sr.hasPermission('20.1')")
-    @GetMapping("/api/med/material/getMaterial")
-    public Result getMaterial(@Validated PageDTO pageDTO, @Validated MedMaterialDTO medMaterialDTO) {
-        return Result.success(medMaterialService.queryMaterial(pageDTO.getPage_num(), pageDTO.getPage_size(), medMaterialDTO));
-    }
-
-    // 素材中心 (仅显示启用/审核通过的)
-    @PreAuthorize("@sr.hasPermission('20.1.1')")
-    @GetMapping("/api/med/material/getMaterialPublish")
-    public Result getMaterialPublish(@Validated PageDTO pageDTO, @Validated MedMaterialDTO medMaterialDTO) {
-        return Result.success(medMaterialService.queryMaterialPublish(pageDTO.getPage_num(), pageDTO.getPage_size(), medMaterialDTO));
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.1.2')")
-    @GetMapping("/api/med/material/getMaterialDetail")
-    public Result getMaterialDetail(@Validated(MedMaterialDTO.Detail.class) MedMaterialDTO medMaterialDTO) {
-        return Result.success(medMaterialService.queryMaterialDetail(medMaterialDTO));
-    }
-
-
-    /**
-     * [方法] 根据 素材类型 (material_type) 判断对应必填字段
-     * 当 material_type 为:
-     * - 4 时,content 不为空
-     * - 1,2,3 时,file 不为空
-     */
-    private Result checkMaterialContent(MedMaterialDTO medMaterialDTO) {
-        Integer material_type = medMaterialDTO.getMaterial_type();
-        if (material_type == 4) {
-            String content = medMaterialDTO.getContent();
-            if (content == null || content == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:4) (content) 内容不能为空");
-        }
-        Set<Integer> materialTypes = new HashSet<>(Arrays.asList(1, 2, 3));
-        if (materialTypes.contains(material_type)) {
-            String file = medMaterialDTO.getFile();
-            if (file == null || file == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:" + material_type + ") (file) 文件路径不能为空");
-        }
-        return null;
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.1.3')")
-    @PostMapping("/api/med/material/createMaterial")
-    public Result createMaterial(@Validated(MedMaterialDTO.Create.class) @RequestBody MedMaterialDTO medMaterialDTO) {
-
-        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
-        Result valid = checkMaterialContent(medMaterialDTO);
-        if (valid != null) {
-            return valid;
-        }
-        return Result.success(medMaterialService.insertMaterial(medMaterialDTO), "创建成功");
-    }
-
-//    @GetMapping("/api/med/material/getTempCredentials")
-//    public Result getTempCredentials() {
-//        return Result.success(medMaterialService.getTempCredentials());
+//package com.backendsys.controller.Med;
+//
+//import com.backendsys.aspect.QueryNullCheck;
+//import com.backendsys.entity.Med.MedMaterialDTO;
+//import com.backendsys.entity.PageDTO;
+//import com.backendsys.service.Med.MedMaterialService;
+//import com.backendsys.utils.response.Result;
+//import com.backendsys.utils.response.ResultEnum;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.security.access.prepost.PreAuthorize;
+//import org.springframework.validation.annotation.Validated;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.util.Arrays;
+//import java.util.HashSet;
+//import java.util.Set;
+//
+///**
+// * 素材
+// */
+//@RestController
+//public class MedMaterialController {
+//
+//    @Autowired
+//    private MedMaterialService medMaterialService;
+//
+//    // 素材列表
+//    @PreAuthorize("@sr.hasPermission('20.1')")
+//    @GetMapping("/api/med/material/getMaterial")
+//    public Result getMaterial(@Validated PageDTO pageDTO, @Validated MedMaterialDTO medMaterialDTO) {
+//        return Result.success(medMaterialService.queryMaterial(pageDTO.getPage_num(), pageDTO.getPage_size(), medMaterialDTO));
 //    }
-
-
-
-    @PreAuthorize("@sr.hasPermission('20.1.4')")
-    @PutMapping("/api/med/material/updateMaterial")
-    public Result updateMaterial(@Validated(MedMaterialDTO.Update.class) @RequestBody MedMaterialDTO medMaterialDTO) {
-
-        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
-        Result valid = checkMaterialContent(medMaterialDTO);
-        if (valid != null) {
-            return valid;
-        }
-        return Result.success(medMaterialService.updateMaterial(medMaterialDTO), "更新成功");
-    }
-
-
-    @PreAuthorize("@sr.hasPermission('20.1.5')")
-    @QueryNullCheck(serviceClass = MedMaterialService.class, serviceMethod = "queryMaterialById", argField = "material_id", message = "素材不存在")
-    @PutMapping("/api/med/material/auditMaterial")
-    public Result auditMaterial(@Validated(MedMaterialDTO.Audit.class) @RequestBody MedMaterialDTO medMaterialDTO) {
-        return Result.success(medMaterialService.auditMaterial(medMaterialDTO), "审核成功");
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.1.6')")
-    @DeleteMapping("/api/med/material/deleteMaterial")
-    public Result deleteMaterial(@Validated(MedMaterialDTO.Delete.class) @RequestBody MedMaterialDTO medMaterialDTO) {
-        return Result.success(medMaterialService.deleteMaterial(medMaterialDTO), "删除成功");
-    }
-
-    @PreAuthorize("@sr.hasPermission('20.1.6')")
-    @DeleteMapping("/api/med/material/deleteMaterialBatch")
-    public Result deleteMaterialBatch(@Validated(MedMaterialDTO.Delete.class) @RequestBody MedMaterialDTO medMaterialDTO) {
-        return Result.success(medMaterialService.deleteMaterialBatch(medMaterialDTO.getMaterial_ids()), "删除成功");
-    }
-
-}
+//
+//    // 素材中心 (仅显示启用/审核通过的)
+//    @PreAuthorize("@sr.hasPermission('20.1.1')")
+//    @GetMapping("/api/med/material/getMaterialPublish")
+//    public Result getMaterialPublish(@Validated PageDTO pageDTO, @Validated MedMaterialDTO medMaterialDTO) {
+//        return Result.success(medMaterialService.queryMaterialPublish(pageDTO.getPage_num(), pageDTO.getPage_size(), medMaterialDTO));
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.1.2')")
+//    @GetMapping("/api/med/material/getMaterialDetail")
+//    public Result getMaterialDetail(@Validated(MedMaterialDTO.Detail.class) MedMaterialDTO medMaterialDTO) {
+//        return Result.success(medMaterialService.queryMaterialDetail(medMaterialDTO));
+//    }
+//
+//
+//    /**
+//     * [方法] 根据 素材类型 (material_type) 判断对应必填字段
+//     * 当 material_type 为:
+//     * - 4 时,content 不为空
+//     * - 1,2,3 时,file 不为空
+//     */
+//    private Result checkMaterialContent(MedMaterialDTO medMaterialDTO) {
+//        Integer material_type = medMaterialDTO.getMaterial_type();
+//        if (material_type == 4) {
+//            String content = medMaterialDTO.getContent();
+//            if (content == null || content == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:4) (content) 内容不能为空");
+//        }
+//        Set<Integer> materialTypes = new HashSet<>(Arrays.asList(1, 2, 3));
+//        if (materialTypes.contains(material_type)) {
+//            String file = medMaterialDTO.getFile();
+//            if (file == null || file == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:" + material_type + ") (file) 文件路径不能为空");
+//        }
+//        return null;
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.1.3')")
+//    @PostMapping("/api/med/material/createMaterial")
+//    public Result createMaterial(@Validated(MedMaterialDTO.Create.class) @RequestBody MedMaterialDTO medMaterialDTO) {
+//
+//        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
+//        Result valid = checkMaterialContent(medMaterialDTO);
+//        if (valid != null) {
+//            return valid;
+//        }
+//        return Result.success(medMaterialService.insertMaterial(medMaterialDTO), "创建成功");
+//    }
+//
+////    @GetMapping("/api/med/material/getTempCredentials")
+////    public Result getTempCredentials() {
+////        return Result.success(medMaterialService.getTempCredentials());
+////    }
+//
+//
+//
+//    @PreAuthorize("@sr.hasPermission('20.1.4')")
+//    @PutMapping("/api/med/material/updateMaterial")
+//    public Result updateMaterial(@Validated(MedMaterialDTO.Update.class) @RequestBody MedMaterialDTO medMaterialDTO) {
+//
+//        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
+//        Result valid = checkMaterialContent(medMaterialDTO);
+//        if (valid != null) {
+//            return valid;
+//        }
+//        return Result.success(medMaterialService.updateMaterial(medMaterialDTO), "更新成功");
+//    }
+//
+//
+//    @PreAuthorize("@sr.hasPermission('20.1.5')")
+//    @QueryNullCheck(serviceClass = MedMaterialService.class, serviceMethod = "queryMaterialById", argField = "material_id", message = "素材不存在")
+//    @PutMapping("/api/med/material/auditMaterial")
+//    public Result auditMaterial(@Validated(MedMaterialDTO.Audit.class) @RequestBody MedMaterialDTO medMaterialDTO) {
+//        return Result.success(medMaterialService.auditMaterial(medMaterialDTO), "审核成功");
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.1.6')")
+//    @DeleteMapping("/api/med/material/deleteMaterial")
+//    public Result deleteMaterial(@Validated(MedMaterialDTO.Delete.class) @RequestBody MedMaterialDTO medMaterialDTO) {
+//        return Result.success(medMaterialService.deleteMaterial(medMaterialDTO), "删除成功");
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('20.1.6')")
+//    @DeleteMapping("/api/med/material/deleteMaterialBatch")
+//    public Result deleteMaterialBatch(@Validated(MedMaterialDTO.Delete.class) @RequestBody MedMaterialDTO medMaterialDTO) {
+//        return Result.success(medMaterialService.deleteMaterialBatch(medMaterialDTO.getMaterial_ids()), "删除成功");
+//    }
+//
+//}

+ 240 - 240
src/main/java/com/backendsys/controller/Med/MedMyMaterialController.java

@@ -1,240 +1,240 @@
-package com.backendsys.controller.Med;
-
-import com.backendsys.aspect.HttpRequestAspect;
-import com.backendsys.entity.Med.MedMaterialDTO;
-import com.backendsys.entity.Med.MedMyMaterialDTO;
-import com.backendsys.mapper.Med.MedMaterialMapper;
-import com.backendsys.mapper.Med.MedMyMaterialMapper;
-import com.backendsys.entity.PageDTO;
-import com.backendsys.service.Med.MedMyMaterialService;
-import com.backendsys.utils.response.Result;
-import com.backendsys.utils.response.ResultEnum;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Arrays;
-
-/**
- * 素材
- */
-@RestController
-public class MedMyMaterialController {
-
-    @Autowired
-    private HttpRequestAspect httpRequestAspect;
-
-    @Autowired
-    private MedMyMaterialService medMyMaterialService;
-
-    @Autowired
-    private MedMyMaterialMapper medMyMaterialMapper;
-
-    @Autowired
-    private MedMaterialMapper medMaterialMapper;
-
-    @PreAuthorize("@sr.hasPermission('21.1')")
-    @GetMapping("/api/med/material/getMyMaterial")
-    public Result getMyMaterial(@Validated PageDTO pageDTO, @Validated MedMyMaterialDTO medMyMaterialDTO) {
-
-        // [查询] 自身 UserId
-        Long user_id = httpRequestAspect.getUserId();
-        medMyMaterialDTO.setUser_id(user_id);
-
-        return Result.success(medMyMaterialService.queryMyMaterial(pageDTO.getPage_num(), pageDTO.getPage_size(), medMyMaterialDTO));
-    }
-
-    @PreAuthorize("@sr.hasPermission('21.1.1')")
-    @GetMapping("/api/med/material/getMyMaterialDetail")
-    public Result getMyMaterialDetail(@Validated(MedMyMaterialDTO.Detail.class) MedMyMaterialDTO medMyMaterialDTO) {
-
-        // 判断是否当前用户所有,不是则不可操作
-        Map<String, Object> myMaterial = medMyMaterialService.queryMyMaterialDetail(medMyMaterialDTO);
-        Long user_id = (Long) myMaterial.get("user_id");
-        Long self_user_id = httpRequestAspect.getUserId();
-        if (user_id != self_user_id) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该资源非用户所有,不可操作");
-        }
-
-        return Result.success(myMaterial);
-    }
-
-    /**
-     * 加入我的素材 (从素材中心)
-     * @param medMyMaterialDTO
-     * @return
-     */
-    @PreAuthorize("@sr.hasPermission('21.1.2')")
-    @PostMapping("/api/med/material/addToMyMaterial")
-    public Result addToMyMaterial(@Validated(MedMyMaterialDTO.Create.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
-
-        // [查询] 自身 UserId
-        Long user_id = httpRequestAspect.getUserId();
-        medMyMaterialDTO.setUser_id(user_id);
-
-        // 查询素材详情
-        Long material_id = (Long) medMyMaterialDTO.getMaterial_id();
-        MedMaterialDTO medMaterialDTO = new MedMaterialDTO();
-        medMaterialDTO.setMaterial_id(material_id);
-        Map<String, Object> materialDetail = medMaterialMapper.queryMaterialDetail(medMaterialDTO);
-        if (materialDetail == null) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材不存在");
-        }
-
-        // 判断要加入的素材,必须是 (启用/审核通过) 的
-        // 素材状态 (-1禁用, 1启用),审核状态 (-1审核拒绝, 1待审核, 2审核通过)
-        Integer status = (Integer) materialDetail.get("status");
-        Integer audit_status = (Integer) materialDetail.get("audit_status");
-        if (status != 1 || audit_status != 2) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材未公开或未审核通过");
-        }
-
-        return Result.success(medMyMaterialService.addToMyMaterial(medMyMaterialDTO, materialDetail), "创建成功");
-    }
-
-    /**
-     * 分享我的素材 (到素材列表)
-     * @param medMyMaterialDTO
-     * @return
-     */
-    @PreAuthorize("@sr.hasPermission('21.1.3')")
-    @PostMapping("/api/med/material/shareToMaterial")
-    public Result shareToMaterial(@Validated(MedMyMaterialDTO.Detail.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
-
-        // [查询] 自身 UserId
-        Long user_id = httpRequestAspect.getUserId();
-        medMyMaterialDTO.setUser_id(user_id);
-
-        // 查询素材详情
-        Map<String, Object> myMaterialDetail = medMyMaterialMapper.queryMyMaterialDetail(medMyMaterialDTO);
-        if (myMaterialDetail == null) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材不存在");
-        }
-
-        // // 判断要加入的素材,必须是 (启用/审核通过) 的
-        // // 素材状态 (-1禁用, 1启用),审核状态 (-1审核拒绝, 1待审核, 2审核通过)
-        // Integer status = (Integer) materialDetail.get("status");
-        // Integer audit_status = (Integer) materialDetail.get("audit_status");
-        // if (status != 1 || audit_status != 2) {
-        //     return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材未公开或未审核通过");
-        // }
-
-        return Result.success(medMyMaterialService.shareToMaterial(medMyMaterialDTO, myMaterialDetail), "创建成功");
-    }
-
-    
-
-    /**
-     * [方法] 根据 素材类型 (material_type) 判断对应必填字段
-     * 当 material_type 为:
-     * - 4 时,content 不为空
-     * - 1,2,3 时,file 不为空
-     */
-    private Result checkMaterialContent(MedMyMaterialDTO medMyMaterialDTO) {
-        Integer material_type = medMyMaterialDTO.getMaterial_type();
-        if (material_type == 4) {
-            String content = medMyMaterialDTO.getContent();
-            if (content == null || content == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:4) (content) 内容不能为空");
-        }
-        Set<Integer> materialTypes = new HashSet<>(Arrays.asList(1, 2, 3));
-        if (materialTypes.contains(material_type)) {
-            String file = medMyMaterialDTO.getFile();
-            if (file == null || file == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:" + material_type + ") (file) 文件路径不能为空");
-        }
-        return null;
-    }
-
-    /**
-     * 创建我的素材 (用户)
-     * @param medMyMaterialDTO
-     * @return
-     */
-    @PreAuthorize("@sr.hasPermission('21.1.4')")
-    @PostMapping("/api/med/material/createMyMaterial")
-    public Result createMyMaterial(@Validated(MedMyMaterialDTO.Create.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
-
-        // 获得自身账号 user_id
-        Long self_user_id = httpRequestAspect.getUserId();
-        medMyMaterialDTO.setUser_id(self_user_id);
-
-        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
-        Result valid = checkMaterialContent(medMyMaterialDTO);
-        if (valid != null) {
-            return valid;
-        }
-
-        return Result.success(medMyMaterialService.insertMyMaterial(medMyMaterialDTO), "创建成功");
-    }
-
-    @PreAuthorize("@sr.hasPermission('21.1.5')")
-    @PutMapping("/api/med/material/updateMyMaterial")
-    public Result updateMyMaterial(@Validated(MedMaterialDTO.Update.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
-
-        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
-        Result valid = checkMaterialContent(medMyMaterialDTO);
-        if (valid != null) {
-            return valid;
-        }
-        
-        return Result.success(medMyMaterialService.updateMyMaterial(medMyMaterialDTO), "更新成功");
-    }
-
-
-
-    @PreAuthorize("@sr.hasPermission('21.1.6')")
-    @DeleteMapping("/api/med/material/deleteMyMaterial")
-    public Result deleteMyMaterial(@Validated(MedMyMaterialDTO.Delete.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
-        
-        Map<String, Object> myMaterial = medMyMaterialService.queryMyMaterialDetail(medMyMaterialDTO);
-
-        // 判断是否存在
-        if (myMaterial == null) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "资源不存在");
-        }
-
-        // 判断是否当前用户所有 (匹配 user_id),不是则不可操作
-        Long user_id = (Long) myMaterial.get("user_id");
-        Long self_user_id = httpRequestAspect.getUserId();
-        if (user_id != self_user_id) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该资源非用户所有,不可操作");
-        }
-
-        return Result.success(medMyMaterialService.deleteMyMaterial(medMyMaterialDTO), "删除成功");
-    }
-
-    @PreAuthorize("@sr.hasPermission('21.1.6')")
-    @DeleteMapping("/api/med/material/deleteMyMaterialBatch")
-    public Result deleteMyMaterialBatch(@Validated(MedMyMaterialDTO.Delete.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
-
-        List<Map<String, Object>> myMaterials = medMyMaterialMapper.queryMyMaterialList(medMyMaterialDTO);
-
-        // 判断是否存在
-        if (myMaterials.isEmpty()) {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "资源不存在");
-        }
-
-        // 判断是否当前用户所有 (匹配 user_id),不是则不可操作 (批量遍历)
-        Long self_user_id = httpRequestAspect.getUserId();
-        boolean isCurrentUserAll = true;
-        for (Map<String, Object> myMaterial : myMaterials) {
-            Long user_id = (Long) myMaterial.get("user_id");
-            if (!self_user_id.equals(user_id)) {
-                isCurrentUserAll = false;
-                break;
-            }
-        }
-
-        if (isCurrentUserAll) {
-            List<Long> my_material_ids = medMyMaterialDTO.getMy_material_ids();
-            return Result.success(medMyMaterialService.deleteMyMaterialBatch(my_material_ids), "删除成功");
-        } else {
-            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该资源非用户所有,不可操作");
-        }
-    }
-
-}
+//package com.backendsys.controller.Med;
+//
+//import com.backendsys.aspect.HttpRequestAspect;
+//import com.backendsys.entity.Med.MedMaterialDTO;
+//import com.backendsys.entity.Med.MedMyMaterialDTO;
+//import com.backendsys.mapper.Med.MedMaterialMapper;
+//import com.backendsys.mapper.Med.MedMyMaterialMapper;
+//import com.backendsys.entity.PageDTO;
+//import com.backendsys.service.Med.MedMyMaterialService;
+//import com.backendsys.utils.response.Result;
+//import com.backendsys.utils.response.ResultEnum;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.security.access.prepost.PreAuthorize;
+//import org.springframework.validation.annotation.Validated;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.util.Map;
+//import java.util.Set;
+//import java.util.HashSet;
+//import java.util.List;
+//import java.util.Arrays;
+//
+///**
+// * 素材
+// */
+//@RestController
+//public class MedMyMaterialController {
+//
+//    @Autowired
+//    private HttpRequestAspect httpRequestAspect;
+//
+//    @Autowired
+//    private MedMyMaterialService medMyMaterialService;
+//
+//    @Autowired
+//    private MedMyMaterialMapper medMyMaterialMapper;
+//
+//    @Autowired
+//    private MedMaterialMapper medMaterialMapper;
+//
+//    @PreAuthorize("@sr.hasPermission('21.1')")
+//    @GetMapping("/api/med/material/getMyMaterial")
+//    public Result getMyMaterial(@Validated PageDTO pageDTO, @Validated MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        // [查询] 自身 UserId
+//        Long user_id = httpRequestAspect.getUserId();
+//        medMyMaterialDTO.setUser_id(user_id);
+//
+//        return Result.success(medMyMaterialService.queryMyMaterial(pageDTO.getPage_num(), pageDTO.getPage_size(), medMyMaterialDTO));
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('21.1.1')")
+//    @GetMapping("/api/med/material/getMyMaterialDetail")
+//    public Result getMyMaterialDetail(@Validated(MedMyMaterialDTO.Detail.class) MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        // 判断是否当前用户所有,不是则不可操作
+//        Map<String, Object> myMaterial = medMyMaterialService.queryMyMaterialDetail(medMyMaterialDTO);
+//        Long user_id = (Long) myMaterial.get("user_id");
+//        Long self_user_id = httpRequestAspect.getUserId();
+//        if (user_id != self_user_id) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该资源非用户所有,不可操作");
+//        }
+//
+//        return Result.success(myMaterial);
+//    }
+//
+//    /**
+//     * 加入我的素材 (从素材中心)
+//     * @param medMyMaterialDTO
+//     * @return
+//     */
+//    @PreAuthorize("@sr.hasPermission('21.1.2')")
+//    @PostMapping("/api/med/material/addToMyMaterial")
+//    public Result addToMyMaterial(@Validated(MedMyMaterialDTO.Create.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        // [查询] 自身 UserId
+//        Long user_id = httpRequestAspect.getUserId();
+//        medMyMaterialDTO.setUser_id(user_id);
+//
+//        // 查询素材详情
+//        Long material_id = (Long) medMyMaterialDTO.getMaterial_id();
+//        MedMaterialDTO medMaterialDTO = new MedMaterialDTO();
+//        medMaterialDTO.setMaterial_id(material_id);
+//        Map<String, Object> materialDetail = medMaterialMapper.queryMaterialDetail(medMaterialDTO);
+//        if (materialDetail == null) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材不存在");
+//        }
+//
+//        // 判断要加入的素材,必须是 (启用/审核通过) 的
+//        // 素材状态 (-1禁用, 1启用),审核状态 (-1审核拒绝, 1待审核, 2审核通过)
+//        Integer status = (Integer) materialDetail.get("status");
+//        Integer audit_status = (Integer) materialDetail.get("audit_status");
+//        if (status != 1 || audit_status != 2) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材未公开或未审核通过");
+//        }
+//
+//        return Result.success(medMyMaterialService.addToMyMaterial(medMyMaterialDTO, materialDetail), "创建成功");
+//    }
+//
+//    /**
+//     * 分享我的素材 (到素材列表)
+//     * @param medMyMaterialDTO
+//     * @return
+//     */
+//    @PreAuthorize("@sr.hasPermission('21.1.3')")
+//    @PostMapping("/api/med/material/shareToMaterial")
+//    public Result shareToMaterial(@Validated(MedMyMaterialDTO.Detail.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        // [查询] 自身 UserId
+//        Long user_id = httpRequestAspect.getUserId();
+//        medMyMaterialDTO.setUser_id(user_id);
+//
+//        // 查询素材详情
+//        Map<String, Object> myMaterialDetail = medMyMaterialMapper.queryMyMaterialDetail(medMyMaterialDTO);
+//        if (myMaterialDetail == null) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材不存在");
+//        }
+//
+//        // // 判断要加入的素材,必须是 (启用/审核通过) 的
+//        // // 素材状态 (-1禁用, 1启用),审核状态 (-1审核拒绝, 1待审核, 2审核通过)
+//        // Integer status = (Integer) materialDetail.get("status");
+//        // Integer audit_status = (Integer) materialDetail.get("audit_status");
+//        // if (status != 1 || audit_status != 2) {
+//        //     return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "素材未公开或未审核通过");
+//        // }
+//
+//        return Result.success(medMyMaterialService.shareToMaterial(medMyMaterialDTO, myMaterialDetail), "创建成功");
+//    }
+//
+//
+//
+//    /**
+//     * [方法] 根据 素材类型 (material_type) 判断对应必填字段
+//     * 当 material_type 为:
+//     * - 4 时,content 不为空
+//     * - 1,2,3 时,file 不为空
+//     */
+//    private Result checkMaterialContent(MedMyMaterialDTO medMyMaterialDTO) {
+//        Integer material_type = medMyMaterialDTO.getMaterial_type();
+//        if (material_type == 4) {
+//            String content = medMyMaterialDTO.getContent();
+//            if (content == null || content == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:4) (content) 内容不能为空");
+//        }
+//        Set<Integer> materialTypes = new HashSet<>(Arrays.asList(1, 2, 3));
+//        if (materialTypes.contains(material_type)) {
+//            String file = medMyMaterialDTO.getFile();
+//            if (file == null || file == "") return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "(material_type:" + material_type + ") (file) 文件路径不能为空");
+//        }
+//        return null;
+//    }
+//
+//    /**
+//     * 创建我的素材 (用户)
+//     * @param medMyMaterialDTO
+//     * @return
+//     */
+//    @PreAuthorize("@sr.hasPermission('21.1.4')")
+//    @PostMapping("/api/med/material/createMyMaterial")
+//    public Result createMyMaterial(@Validated(MedMyMaterialDTO.Create.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        // 获得自身账号 user_id
+//        Long self_user_id = httpRequestAspect.getUserId();
+//        medMyMaterialDTO.setUser_id(self_user_id);
+//
+//        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
+//        Result valid = checkMaterialContent(medMyMaterialDTO);
+//        if (valid != null) {
+//            return valid;
+//        }
+//
+//        return Result.success(medMyMaterialService.insertMyMaterial(medMyMaterialDTO), "创建成功");
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('21.1.5')")
+//    @PutMapping("/api/med/material/updateMyMaterial")
+//    public Result updateMyMaterial(@Validated(MedMaterialDTO.Update.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        // [方法] 根据 素材类型 (material_type) 判断对应必填字段
+//        Result valid = checkMaterialContent(medMyMaterialDTO);
+//        if (valid != null) {
+//            return valid;
+//        }
+//
+//        return Result.success(medMyMaterialService.updateMyMaterial(medMyMaterialDTO), "更新成功");
+//    }
+//
+//
+//
+//    @PreAuthorize("@sr.hasPermission('21.1.6')")
+//    @DeleteMapping("/api/med/material/deleteMyMaterial")
+//    public Result deleteMyMaterial(@Validated(MedMyMaterialDTO.Delete.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        Map<String, Object> myMaterial = medMyMaterialService.queryMyMaterialDetail(medMyMaterialDTO);
+//
+//        // 判断是否存在
+//        if (myMaterial == null) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "资源不存在");
+//        }
+//
+//        // 判断是否当前用户所有 (匹配 user_id),不是则不可操作
+//        Long user_id = (Long) myMaterial.get("user_id");
+//        Long self_user_id = httpRequestAspect.getUserId();
+//        if (user_id != self_user_id) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该资源非用户所有,不可操作");
+//        }
+//
+//        return Result.success(medMyMaterialService.deleteMyMaterial(medMyMaterialDTO), "删除成功");
+//    }
+//
+//    @PreAuthorize("@sr.hasPermission('21.1.6')")
+//    @DeleteMapping("/api/med/material/deleteMyMaterialBatch")
+//    public Result deleteMyMaterialBatch(@Validated(MedMyMaterialDTO.Delete.class) @RequestBody MedMyMaterialDTO medMyMaterialDTO) {
+//
+//        List<Map<String, Object>> myMaterials = medMyMaterialMapper.queryMyMaterialList(medMyMaterialDTO);
+//
+//        // 判断是否存在
+//        if (myMaterials.isEmpty()) {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "资源不存在");
+//        }
+//
+//        // 判断是否当前用户所有 (匹配 user_id),不是则不可操作 (批量遍历)
+//        Long self_user_id = httpRequestAspect.getUserId();
+//        boolean isCurrentUserAll = true;
+//        for (Map<String, Object> myMaterial : myMaterials) {
+//            Long user_id = (Long) myMaterial.get("user_id");
+//            if (!self_user_id.equals(user_id)) {
+//                isCurrentUserAll = false;
+//                break;
+//            }
+//        }
+//
+//        if (isCurrentUserAll) {
+//            List<Long> my_material_ids = medMyMaterialDTO.getMy_material_ids();
+//            return Result.success(medMyMaterialService.deleteMyMaterialBatch(my_material_ids), "删除成功");
+//        } else {
+//            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该资源非用户所有,不可操作");
+//        }
+//    }
+//
+//}

+ 0 - 14
src/main/java/com/backendsys/controller/RedirectController.java

@@ -1,14 +0,0 @@
-//package com.backendsys.controller;
-//
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//@RestController
-//public class RedirectController {
-//
-//    @GetMapping("/")
-//    public String redirectRoot() {
-//        return "";
-//    }
-//
-//}

+ 0 - 36
src/main/java/com/backendsys/controller/Systems/SysActuatorController.java

@@ -1,36 +0,0 @@
-//package com.backendsys.controller.api.Systems;
-//
-//import com.backendsys.service.System.SysActuatorService;
-//import com.backendsys.service.System.SysDictionaryService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//@RestController
-//public class SysActuatorController {
-//
-//    @Autowired
-//    private SysActuatorService sysActuatorService;
-//
-//    //@GetMapping("/api/actuator/metricsInfo")
-//    //public Result metricsInfo() {
-//    //    return Result.success(sysActuatorService.requestActuatorMetrics());
-//    //}
-//    @GetMapping("/api/system/actuator/systemInfo")
-//    public Result systemInfo() {
-//        return Result.success(sysActuatorService.querySystemInfo());
-//    }
-//
-//    @RestController
-//    public static class SysDictionaryController<T> {
-//        @Autowired
-//        private SysDictionaryService sysDictionaryService;
-//
-//        @GetMapping("/api/public/system/sysDictionary")
-//        public Result getDictionary(T data) {
-//            return Result.success(sysDictionaryService.queryDictionary());
-//        }
-//    }
-//
-//}

+ 0 - 65
src/main/java/com/backendsys/controller/Systems/SysAgreementController.java

@@ -1,65 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import cn.hutool.core.util.StrUtil;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.entity.System.SysAgreementDTO;
-//import com.backendsys.service.System.SysAgreementService;
-//import com.backendsys.utils.response.Result;
-//import jakarta.servlet.http.HttpServletResponse;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RequestParam;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import java.util.Map;
-//
-//@Validated
-//@RestController
-//public class SysAgreementController {
-//
-//    @Autowired
-//    private SysAgreementService sysAgreementService;
-//
-//
-//    @GetMapping("/api/public/system/getAgreementView")
-//    public String getAgreementView(HttpServletResponse response, @RequestParam(name = "tag", required = false) String tag) {
-//
-//        // 校验
-//        if (StrUtil.isEmpty(tag)) return "tag 参数不能为空";
-//        Map<String, Object> detail = sysAgreementService.querySysAgreementByTag(tag);
-//        if (detail == null) return "找不到内容";
-//
-//        String title = (String) detail.get("title");
-//        String content = (String) detail.get("content");
-//
-//        // 设置响应的类型为 text/html,这样浏览器就知道接收到的是 HTML 内容
-//        response.setContentType("text/html;charset=UTF-8");
-//
-//        // 直接返回 HTML 字符串
-//        return "<html>" +
-//                "<head><title>" + title + "</title></head>" +
-//                "<body>" +
-//                content +
-//                "</body>" +
-//                "</html>";
-//
-//    }
-//
-//    /**
-//     * 获得协议
-//     */
-//    @GetMapping("/api/public/system/getAgreement")
-//    public Result getUser(@Validated PageDTO pageDTO, @Validated(SysAgreementDTO.List.class) SysAgreementDTO sysAgreementDTO) {
-//        return Result.success(sysAgreementService.querySysAgreement(pageDTO.getPage_num(), pageDTO.getPage_size(), sysAgreementDTO));
-//    }
-//
-//    /**
-//     * 获得协议详情
-//     */
-//    @GetMapping("/api/public/system/getAgreementByTag")
-//    public Result getUser(@Validated(SysAgreementDTO.Detail.class) SysAgreementDTO sysAgreementDTO) {
-//        return Result.success(sysAgreementService.querySysAgreementByTag(sysAgreementDTO.getTag()));
-//    }
-//
-//}

+ 0 - 92
src/main/java/com/backendsys/controller/Systems/SysAuthController.java

@@ -1,92 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.aspect.RateLimiting;
-//import com.backendsys.modules.common.config.redis.utils.RedisUtil;
-//import com.backendsys.modules.common.config.security.utils.TokenUtil;
-//import com.backendsys.entity.System.SysUserDTO;
-//import com.backendsys.mapper.System.SysUserMapper;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.service.System.SysAuthService;
-//
-//import jakarta.servlet.http.HttpServletRequest;
-//import jakarta.servlet.http.HttpServletResponse;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.data.redis.core.StringRedisTemplate;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.io.IOException;
-//
-////@Tag(name = "登录管理")
-//@RestController
-//public class SysAuthController {
-//
-//    @Autowired
-//    private StringRedisTemplate stringRedisTemplate;
-//
-//    @Autowired
-//    private RedisUtil redisUtil;
-//
-//    @Autowired
-//    private TokenUtil tokenUtil;
-//
-//    @Autowired
-//    private SysUserMapper sysUserMapper;
-//
-//    @Value("${spring.config.name}")
-//    private String configName;
-//
-//    @Autowired
-//    private SysAuthService sysAuthService;
-//
-////    /**
-////     * 获得图形验证码
-////     */
-////    @GetMapping("/api/system/auth/getCaptcha")
-////    public void getCaptcha(HttpServletRequest request, HttpServletResponse response) throws IOException {
-////        sysAuthService.renderCaptcha(request, response);
-////    }
-//
-//    /** --------------------------------------------------------------------------------------- */
-////    /**
-////     * 登录 (用户名)
-////     */
-////    @PostMapping(value = "/api/system/auth/login")
-////    @RateLimiting(key = "systemLogin", limit = 5)
-////    public Result systemLogin(HttpServletRequest request, @Validated(SysUserDTO.Login.class) @RequestBody SysUserDTO sysUserDTO) {
-////        return Result.success(sysAuthService.login(request, sysUserDTO));
-////    }
-////    /**
-////     * 登录 (手机号码)
-////     */
-////    @PostMapping(value = "/api/system/auth/loginWithPhone")
-////    @RateLimiting(key = "systemLoginWithPhone", limit = 5)
-////    public Result systemLoginWithPhone(HttpServletRequest request, @Validated(SysUserDTO.LoginWithPhone.class) @RequestBody SysUserDTO sysUserDTO) {
-////        return Result.success(sysAuthService.loginWithPhone(request, sysUserDTO));
-////    }
-//
-////    /**
-////     * 注册系统用户 (用户名 和 手机号码 必填)
-////     */
-////    @PostMapping("/api/public/system/user/registerUser")
-////    @RateLimiting(key = "registerUser", limit = 5)
-////    public Result registerUser(HttpServletRequest request, @Validated(SysUserDTO.Register.class) @RequestBody SysUserDTO sysUserDTO) {
-////        return Result.success(sysAuthService.registerUser(request, sysUserDTO), "注册成功");
-////    }
-//
-////    /**
-////     * 忘记密码
-////     */
-////    @PostMapping("/api/public/system/user/forgotPassword")
-////    public Result forgotPassword(@Validated(SysUserDTO.ForgotPassword.class) @RequestBody SysUserDTO sysUserDTO) {
-////        return Result.success(sysAuthService.forgotPassword(sysUserDTO));
-////    }
-//
-////    // 注意:如果使用 /api/system/auth/* 会被 SecurityConfig 过滤掉 Token (获取不到 Token)
-////    @PostMapping(value = "/api/system/user/logout")
-////    public Result systemLogout(HttpServletRequest request) {
-////        return Result.success(sysAuthService.logout(request));
-////    }
-//
-//}

+ 0 - 22
src/main/java/com/backendsys/controller/Systems/SysCityController.java

@@ -1,22 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.entity.System.SysCityDTO;
-//import com.backendsys.service.System.SysCityService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//@RestController
-//public class SysCityController {
-//
-//    @Autowired
-//    private SysCityService sysCityService;
-//
-//    @GetMapping("/api/public/system/getSysCity")
-//    public Result getSysCity(@Validated SysCityDTO sysCityDTO) {
-//        return Result.success(sysCityService.querySysCity(sysCityDTO));
-//    }
-//
-//}

+ 0 - 36
src/main/java/com/backendsys/controller/Systems/SysFileController.java

@@ -1,36 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.entity.System.SysFile.SysFileCategoryDTO;
-//import com.backendsys.entity.System.SysFile.SysFileDTO;
-//import com.backendsys.service.System.SysFileService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//@Validated
-//@RestController
-//public class SysFileController {
-//
-//    @Autowired
-//    private SysFileService sysFileService;
-//
-//    /**
-//     * 获得上传文件列表
-//     */
-//    @GetMapping("/api/upload/getUploadFileList")
-//    public Result getUploadFileList(@Validated PageDTO pageDTO, @Validated SysFileDTO sysFileDTO) {
-//        return Result.success(sysFileService.getUploadFileList(pageDTO.getPage_num(), pageDTO.getPage_size(), sysFileDTO));
-//    }
-//
-//    /**
-//     * 获得上传文件分类列表
-//     */
-//    @GetMapping("/api/upload/getUploadFileCategoryList")
-//    public Result getUploadFileCategoryList(@Validated PageDTO pageDTO, @Validated SysFileCategoryDTO sysFileCategoryDTO) {
-//        return Result.success(sysFileService.getUploadFileCategoryList(sysFileCategoryDTO));
-//    }
-//
-//}

+ 0 - 21
src/main/java/com/backendsys/controller/Systems/SysLanguageController.java

@@ -1,21 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import com.backendsys.service.System.SysLanguageService;
-//import com.backendsys.utils.response.Result;
-//
-//@RestController
-//public class SysLanguageController {
-//
-//    @Autowired
-//    private SysLanguageService sysLanguageService;
-//
-//    @GetMapping("/api/public/system/sysLanguage")
-//    public Result getLanguage() {
-//        return Result.success(sysLanguageService.queryLanguage());
-//    }
-//
-//}

+ 0 - 54
src/main/java/com/backendsys/controller/Systems/SysMenuController.java

@@ -1,54 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.aspect.QueryNullCheck;
-//import com.backendsys.entity.System.SysMenuDTO;
-//import com.backendsys.service.System.SysMenuService;
-//import com.backendsys.utils.response.Result;
-//import com.fasterxml.jackson.core.JsonProcessingException;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-///**
-// * 系统后台菜单
-// */
-//@Validated
-//@RestController
-//public class SysMenuController {
-//
-//    @Autowired
-//    private SysMenuService sysMenuService;
-//
-//    // @PreAuthorize("@sr.hasPermission('1.3')")
-//    // 由于动态路由需要提前加载,在 /login 时就必须调用,所以此处设置为公共
-//    @GetMapping("/api/public/system/menu/getMenu")
-//    public Result getMenu(@Validated SysMenuDTO sysMenuDTO) {
-//        try {
-//            return Result.success(sysMenuService.queryMenu(sysMenuDTO));
-//        } catch (JsonProcessingException e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('1.3.1')")
-//    @PostMapping("/api/system/menu/createMenu")
-//    public Result createMenu(@Validated(SysMenuDTO.Create.class) @RequestBody SysMenuDTO sysMenuDTO) {
-//        return Result.success(sysMenuService.insertMenu(sysMenuDTO), "创建成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('1.3.2')")
-//    @QueryNullCheck(serviceClass = SysMenuService.class, serviceMethod = "queryMenuDetail", argField = "menu_id", message = "系统菜单不存在")
-//    @PutMapping("/api/system/menu/updateMenu")
-//    public Result updateMenu(@Validated(SysMenuDTO.Update.class) @RequestBody SysMenuDTO sysMenuDTO) {
-//        return Result.success(sysMenuService.updateMenu(sysMenuDTO), "更新成功");
-//    }
-//
-//    @PreAuthorize("@sr.hasPermission('1.3.3')")
-//    @QueryNullCheck(serviceClass = SysMenuService.class, serviceMethod = "queryMenuDetail", argField = "menu_id", message = "系统菜单不存在")
-//    @DeleteMapping("/api/system/menu/deleteMenu")
-//    public Result deleteMenu(@Validated(SysMenuDTO.Delete.class) @RequestBody SysMenuDTO sysMenuDTO) {
-//        return Result.success(sysMenuService.deleteMenu(sysMenuDTO), "删除成功");
-//    }
-//}

+ 0 - 26
src/main/java/com/backendsys/controller/Systems/SysMobileAreaCodeController.java

@@ -1,26 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.entity.System.SysMobileAreaCodeDTO;
-//import com.backendsys.mapper.System.SysMobileAreaCodeMapper;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//@Validated
-//@RestController
-//public class SysMobileAreaCodeController {
-//
-//    @Autowired
-//    private SysMobileAreaCodeMapper sysMobileAreaCodeMapper;
-//
-//    /**
-//     * 获得手机号地区列表
-//     */
-//    @GetMapping("/api/public/system/getMobileAreaCode")
-//    public Result getMobileAreaCode(@Validated SysMobileAreaCodeDTO sysMobileAreaCodeDTO) {
-//        return Result.success(sysMobileAreaCodeMapper.queryMobileAreaCodeList(sysMobileAreaCodeDTO));
-//    }
-//
-//}

+ 0 - 63
src/main/java/com/backendsys/controller/Systems/SysSMSController.java

@@ -1,63 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.entity.System.SysSMSDTO;
-//import com.backendsys.service.SDKService.SDKTencent.SDKTencentSMSService;
-//import com.backendsys.utils.response.Result;
-//import jakarta.servlet.http.HttpServletRequest;
-//import org.springframework.beans.factory.annotation.Autowired;
-//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;
-//
-//@Validated
-//@RestController
-//public class SysSMSController {
-//
-//    @Autowired
-//    private SDKTencentSMSService sdkTencentSMSService;
-//
-////    /**
-////     * [腾讯云] 获得短信验证码
-////     */
-////    @PostMapping("/api/public/system/sms/getSMS")
-////    public Result getSMS(@Validated(SysSMSDTO.Send.class) @RequestBody SysSMSDTO sysSMSDTO, HttpServletRequest request) {
-////        sysSMSDTO.setIp(request.getRemoteAddr());
-////        sysSMSDTO.setUa(request.getHeader("User-Agent"));
-////        return Result.success(sdkTencentSMSService.sendSMS(sysSMSDTO));
-////    }
-//
-////    /**
-////     * [腾讯云] 拉取回执状态
-////     */
-////    @GetMapping("/api/system/sms/getSMSCallbackStatistics")
-////    public Result getSMSPullStatus(String beginTime, String endTime, String limit) {
-////        return Result.success(sdkTencentSMSService.getSMSCallbackStatistics(beginTime, endTime, limit));
-////    }
-//
-////    /**
-////     * [腾讯云] 获得统计短信发送数据
-////     */
-////    @GetMapping("/api/system/sms/getSMSStatistics")
-////    public Result getSMSStatistics(String beginTime, String endTime) {
-////        return Result.success(sdkTencentSMSService.getSMSStatistics(beginTime, endTime));
-////    }
-//
-////    /**
-////     * [腾讯云] 套餐包信息统计
-////     */
-////    @GetMapping("/api/system/sms/getSmsPackagesStatistics")
-////    public Result getSmsPackagesStatistics(String beginTime, String endTime) {
-////        return Result.success(sdkTencentSMSService.getSmsPackagesStatistics(beginTime, endTime));
-////    }
-//
-////    /**
-////     * [腾讯云] 号码信息查询 { phones: "13xxxxx, 13xxxxx" }
-////     */
-////    @GetMapping("/api/system/sms/getDescribePhoneNumberInfo")
-////    public Result getDescribePhoneNumberInfo(String phones) {
-////        return Result.success(sdkTencentSMSService.getDescribePhoneNumberInfo(phones));
-////    }
-//
-//}

+ 0 - 237
src/main/java/com/backendsys/controller/Systems/SysUserController.java

@@ -1,237 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.aspect.HttpRequestAspect;
-//import com.backendsys.aspect.QueryNullCheck;
-//import com.backendsys.modules.common.config.security.utils.PermissionUtil;
-//import com.backendsys.modules.common.config.security.utils.TokenUtil;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.entity.System.SysUserDTO;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.service.System.SysUserService;
-//import com.backendsys.utils.response.ResultEnum;
-//
-//import io.jsonwebtoken.Claims;
-//import jakarta.servlet.http.HttpServletRequest;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.security.NoSuchAlgorithmException;
-//import java.util.Arrays;
-//import java.util.List;
-//import java.util.Map;
-//
-///**
-// * 系统用户
-// */
-//@Validated
-//@RestController
-//public class SysUserController {
-//
-//    @Autowired
-//    private HttpRequestAspect httpRequestAspect;
-//
-//    @Autowired
-//    private PermissionUtil permissionUtil;
-//
-//    @Autowired
-//    private SysUserService sysUserService;
-//
-//    @Autowired
-//    private TokenUtil tokenUtil;
-//
-//
-//    // 判断是否 超级管理员(首位)(id:1),仅首位可查看自己的信息
-//    private Boolean OnlySuperAdmin(SysUserDTO sysUserDTO) {
-//        Long user_id = sysUserDTO.getUser_id();
-//        if (user_id == 1) {
-//            Claims loginUserInfo = tokenUtil.getRedisTokenInfo();
-//            Boolean bool = (Integer) loginUserInfo.get("user_id") == 1;
-//            return bool;
-//        }
-//        return true;
-//    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.1')")
-////    @GetMapping("/api/system/user/getUserLogined")
-////    public Result getUserLogined(@Validated PageDTO pageDTO, @Validated SysUserDTO sysUserDTO) {
-////        return Result.success(sysUserService.queryUserWithLogined(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserDTO));
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2')")
-////    @GetMapping("/api/system/user/getUser")
-////    public Result getUser(@Validated PageDTO pageDTO, @Validated SysUserDTO sysUserDTO) {
-////        return Result.success(sysUserService.queryUserList(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserDTO));
-////    }
-//
-////    /**
-////     * 查看用户详情
-////     * - 1.如果不传 user_id 则查看自己的用户信息
-////     * - 2.如果传 user_id,需要具备权限才能查看他人用户信息
-////     * - 3.除了超管自己其他人不可以查看超管信息
-////     */
-////    @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
-////    @GetMapping("/api/system/user/getUserDetail")
-////    public Result getUserDetail(@Validated(SysUserDTO.Detail.class) SysUserDTO sysUserDTO) {
-////
-////        // [查询] 自身 UserId
-////        Long user_id = httpRequestAspect.getUserId();
-////
-////        // 1.如果 user_id 为空,则查看自己
-////        if (sysUserDTO.getUser_id() == null) sysUserDTO.setUser_id(user_id);
-////        // 2.判断是否匹配当前 {用户ID} 与 {用户权限},不是则抛出错误
-////        permissionUtil.checkUserIdAndPermission(sysUserDTO.getUser_id(), Arrays.asList("3.2.1"));
-////        // 3.判断是否 首位超级管理员 (id:1),不是则抛出错误
-////        permissionUtil.checkSuperAdminOfFirst(sysUserDTO.getUser_id());
-////
-////        return Result.success(sysUserService.queryUserById(sysUserDTO.getUser_id()));
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.2')")
-////    @PostMapping("/api/system/user/createUser")
-////    public Result createUser(@Validated(SysUserDTO.Create.class) @RequestBody SysUserDTO sysUserDTO) {
-////        return Result.success(sysUserService.insertUser(sysUserDTO), "创建成功");
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.3')")
-////    @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
-////    @PutMapping("/api/system/user/updateUserInfo")
-////    public Result updateUser(@Validated(SysUserDTO.Update.class) @RequestBody SysUserDTO sysUserDTO) {
-////
-////        // 判断不可为超级管理员(首位)
-////        Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
-////        if (!isOnlySuperAdmin) {
-////            return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
-////        }
-////
-////        sysUserDTO.setLast_login_time(null);
-////        sysUserDTO.setLast_login_ip(null);
-////
-////        return Result.success(sysUserService.updateUserInfo(sysUserDTO), "更新成功");
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.6')")
-////    @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
-////    @PutMapping("/api/system/user/auditUser")
-////    public Result auditUser(@Validated(SysUserDTO.Audit.class) @RequestBody SysUserDTO sysUserDTO) {
-////
-////        // 判断不可为超级管理员(首位)
-////        Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
-////        if (!isOnlySuperAdmin) {
-////            return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
-////        }
-////
-////        return Result.success(sysUserService.auditUser(sysUserDTO), "审核成功");
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.3')")
-////    @PutMapping("/api/system/user/updateUserPasswordSelf")
-////    public Result updateUserPassword(@Validated(SysUserDTO.UpdatePasswordSelf.class) @RequestBody SysUserDTO sysUserDTO, HttpServletRequest request) {
-////
-////        // [查询] 自身 UserId
-////        Long user_id = httpRequestAspect.getUserId();
-////        sysUserDTO.setUser_id(user_id);
-////
-////        // [查询] 原密码
-////        Map<String, Object> queryUserPassword = sysUserService.queryUserPassword(user_id);
-////        if (queryUserPassword == null) {
-////            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), ResultEnum.INTERNAL_ERROR.getMessage());
-////        }
-////
-////        // [判断] 原密码是否正确
-////        String old_password_request = sysUserDTO.getOld_password();
-////        String old_password = (String) queryUserPassword.get("password");
-////        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
-////        if (!encoder.matches(old_password_request, old_password)) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "原密码不正确");
-////        }
-////        // 更新操作
-////        return Result.success(sysUserService.updateUserPasswordSelf(sysUserDTO), "更新成功");
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.3') && @ss.isSuper()")
-////    @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
-////    @PutMapping("/api/system/user/resetUserPassword")
-////    public Result resetUserPassword(@Validated(SysUserDTO.ResetPassword.class) @RequestBody SysUserDTO sysUserDTO, HttpServletRequest request) throws NoSuchAlgorithmException {
-////
-////        // 判断不可为超级管理员(首位)
-////        Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
-////        if (!isOnlySuperAdmin) {
-////            return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
-////        }
-////
-////        // 判断是否为自身重置,自身密码不能重置,只能修改
-////        Long self_user_id = httpRequestAspect.getUserId();
-////        Long request_user_id = sysUserDTO.getUser_id();
-////        if (self_user_id.longValue() == request_user_id) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "不能重置自身密码,请在个人设置中修改密码");
-////        }
-////        return Result.success(sysUserService.resetUserPassword(sysUserDTO), "重置成功");
-////    }
-//
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.4')")
-////    @QueryNullCheck(serviceClass = SysUserService.class, serviceMethod = "queryUserById", argField = "user_id", message = "用户不存在")
-////    @DeleteMapping("/api/system/user/deleteUser")
-////    public Result deleteUser(@Validated(SysUserDTO.Delete.class) @RequestBody SysUserDTO sysUserDTO) {
-////
-////        // 判断不可为超级管理员(首位)
-////        Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
-////        if (!isOnlySuperAdmin) {
-////            return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
-////        }
-////
-////        // 判断是否为自身账号
-////        Long self_user_id = httpRequestAspect.getUserId();
-////        Long request_user_id = sysUserDTO.getUser_id();
-////        if (self_user_id.longValue() == request_user_id) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "不能删除自身账号");
-////        }
-////        // 删除操作 (物理删除)
-////        return Result.success(sysUserService.deleteUser(sysUserDTO.getUser_id()), "删除成功");
-////        // 删除用户 (逻辑删除)
-////        // return Result.success(sysUserService.deactivateUser(user_id), "删除成功 (flag)");
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.5')")
-////    @DeleteMapping("/api/system/user/deleteUserBatch")
-////    public Result deleteUserBatch(@Validated(SysUserDTO.Delete.class) @RequestBody SysUserDTO sysUserDTO) {
-////
-////        // 判断用户ID集合不能出现自身账号 (及超级管理员首位的账号)
-////        Long super_user_id = 1L;
-////        Long self_user_id = httpRequestAspect.getUserId();
-////        List<Long> user_ids = sysUserDTO.getUser_ids();
-////        if (user_ids.contains(self_user_id)) {
-////            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "删除的用户ID中存在自身用户,不可删除,请重新选择");
-////        }
-////        if (user_ids.contains(super_user_id)) {
-////            return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
-////        }
-////
-////        // 删除操作 (批量)
-////        return Result.success(sysUserService.deleteUserBatch(sysUserDTO.getUser_ids()), "删除成功 (批量)");
-////    }
-//
-////    @PreAuthorize("@sr.hasPermission('3.2.7')")
-////    @PostMapping("/api/system/user/kickUser")
-////    public Result kickUser(@Validated(SysUserDTO.Delete.class) @RequestBody SysUserDTO sysUserDTO) {
-////
-////        // 判断不可为超级管理员(首位)
-////        Boolean isOnlySuperAdmin = OnlySuperAdmin(sysUserDTO);
-////        if (!isOnlySuperAdmin) {
-////            return Result.error(ResultEnum.AUTH_USER_ERROR.getCode(), ResultEnum.AUTH_USER_ERROR.getMessage());
-////        }
-////
-////        // 判断是否为自身账号
-////        Long self_user_id = httpRequestAspect.getUserId();
-////        Long request_user_id = sysUserDTO.getUser_id();
-////        if (self_user_id.longValue() == request_user_id) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "不能踢除自身账号");
-////        }
-////
-////        return Result.success(sysUserService.kickUser(sysUserDTO.getUser_id()), "操作成功");
-////    }
-//
-//}

+ 0 - 112
src/main/java/com/backendsys/controller/Systems/SysUserPointController.java

@@ -1,112 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import com.backendsys.aspect.HttpRequestAspect;
-//import com.backendsys.exception.CustException;
-//import com.backendsys.entity.PageDTO;
-//import com.backendsys.entity.System.SysUserPointsDTO;
-//import com.backendsys.enums.UserPointActivityType;
-//import com.backendsys.enums.UserPointOperatorType;
-//import com.backendsys.mapper.System.SysUserPointsHistoryMapper;
-//import com.backendsys.modules.common.config.security.utils.SecurityUtil;
-//import com.backendsys.service.System.SysUserPointHistoryService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.transaction.annotation.Transactional;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.PutMapping;
-//import org.springframework.web.bind.annotation.RequestBody;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import java.util.Map;
-//
-//@Validated
-//@RestController
-//public class SysUserPointController {
-//
-//    @Autowired
-//    private HttpRequestAspect httpRequestAspect;
-//
-//    @Autowired
-//    private SysUserPointHistoryService sysUserPointHistoryService;
-//
-//    @Autowired
-//    private SysUserPointsHistoryMapper sysUserPointsHistoryMapper;
-//
-//    /**
-//     * 检查积分操作,制定相应规则:
-//     * - 判断如果该值为空值,则获取自己
-//     * - 判断如果查询的不是自己,则判断是否为超管,都不是则抛出异常
-//     */
-//    private void inspectPointOperation(SysUserPointsDTO sysUserPointsDTO) {
-//        Long user_id = httpRequestAspect.getUserId();
-//        // 如果目标用户ID为空,则设置为当前用户ID
-//
-//        if (sysUserPointsDTO.getTarget_user_id() == null) {
-//            sysUserPointsDTO.setTarget_user_id(user_id);
-//        }
-//        // 检查是否为超级管理员
-//        boolean isSuper = SecurityUtil.isSuper();
-//        // 如果非超级管理员且目标用户ID与当前用户ID不匹配,则抛出权限异常
-//        if (!isSuper && sysUserPointsDTO.getTarget_user_id() != null && !sysUserPointsDTO.getTarget_user_id().equals(user_id)) {
-//            throw new CustException("当前用户没有权限查看或操作其他用户积分");
-//        }
-//    }
-//
-//    /**
-//     * 操作用户积分 (增加/减少)
-//     */
-//    @Transactional
-//    @PreAuthorize("@sr.hasPermission('3.3.8')")
-//    @PutMapping("/api/system/user/adjustmentUserPoint")
-//    public Result adjustmentUserPoint(@Validated(SysUserPointsDTO.Adjustment.class) @RequestBody SysUserPointsDTO sysUserPointsDTO) {
-//
-//        // 检查积分操作
-//        inspectPointOperation(sysUserPointsDTO);
-//
-//        Map<String, Object> resp = sysUserPointHistoryService.adjustmentUserPoint(sysUserPointsDTO);
-//
-//        // -- 积分操作记录 ----------------------------------------------------------
-//        // 触发事件类型 (枚举)
-//        sysUserPointsDTO.setActivity_type(UserPointActivityType.BACKEND.getCode());
-//        sysUserPointsDTO.setActivity_type_description(UserPointActivityType.BACKEND.getDescription());
-//
-//        // 操作人类型 (枚举)
-//        sysUserPointsDTO.setOperator_type(UserPointOperatorType.USER.getCode());
-//        // 操作人 (用户ID) (查询) 自身 UserId
-//        Long user_id = httpRequestAspect.getUserId();
-//        sysUserPointsDTO.setOperator_user_id(user_id);
-//        sysUserPointsDTO.setActivity_detail("手动操作积分");
-//        // [插入] 积分操作记录
-//        System.out.println(sysUserPointsDTO);
-//        sysUserPointsHistoryMapper.insertUserPointsHistory(sysUserPointsDTO);
-//        // --------------------------------------------------------------------------
-//
-//        return Result.success(resp, "更新成功");
-//    }
-//
-//    /**
-//     * 查询单个用户积分 (超级管理员可查看其他人)
-//     */
-//    @PreAuthorize("@sr.hasPermission('3.3.9')")
-//    @GetMapping("/api/system/user/getUserPoint")
-//    public Result getUserPoint(@Validated(SysUserPointsDTO.Detail.class) SysUserPointsDTO sysUserPointsDTO) {
-//        // 检查积分操作
-//        inspectPointOperation(sysUserPointsDTO);
-//        return Result.success(sysUserPointHistoryService.queryUserPoint(sysUserPointsDTO));
-//    }
-//
-//    /**
-//     * 查询用户积分操作记录列表
-//     */
-//    @PreAuthorize("@sr.hasPermission('3.3.10')")
-//    @GetMapping("/api/system/user/getUserPointHistory")
-//    public Result getUserPointHistory(@Validated PageDTO pageDTO, @Validated SysUserPointsDTO sysUserPointsDTO) {
-//        // 检查积分操作
-//        inspectPointOperation(sysUserPointsDTO);
-////        return Result.success(sysUserService.queryUserPointHistoryList(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserPointsDTO));
-//        return Result.success(sysUserPointHistoryService.queryUserPointHistoryList(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserPointsDTO));
-//    }
-//
-//}

+ 0 - 106
src/main/java/com/backendsys/controller/Systems/SysUserRoleV1Controller.java

@@ -1,106 +0,0 @@
-//package com.backendsys.controller.Systems;
-//
-//import cn.hutool.core.collection.CollUtil;
-//import com.backendsys.aspect.QueryNullCheck;
-//import com.backendsys.aspect.QueryNullCheckAspect;
-//import com.backendsys.entity.System.SysUserRoleDTO;
-//import com.backendsys.service.System.SysUserRoleModuleService;
-//import com.backendsys.service.System.SysUserRoleService;
-//import com.backendsys.utils.response.Result;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.util.List;
-//
-///**
-// * 系统用户角色
-// */
-//@Validated
-//@RestController
-//public class SysUserRoleV1Controller {
-//    @Autowired
-//    private SysUserRoleService sysUserRoleService;
-//
-//    @Autowired
-//    private SysUserRoleModuleService sysUserRoleModuleService;
-//
-//    // 判断 role.modules: [{ id: 1 }, { id: 2 }],是否有重复值
-//    //public boolean hasDuplicateIds(List<LinkedHashMap<String, Object>> modules) {
-//    //    List<Object> ids = CollUtil.getFieldValues(modules, "id");
-//    //    return CollUtil.isNotEmpty(ids) && ids.size() != CollUtil.distinct(ids).size();
-//    //}
-//    public boolean hasDuplicateIds(List<Object> ids) {
-//        return CollUtil.isNotEmpty(ids) && ids.size() != CollUtil.distinct(ids).size();
-//    }
-//
-////    // @Operation(summary = "系统用户角色列表")
-////    @PreAuthorize("@sr.hasPermission('4.1')")
-////    @GetMapping("/api/system/user/getUserRole")
-////    public Result getUserRole(@Validated PageDTO pageDTO, @Validated SysUserRoleDTO sysUserRoleDTO) {
-////        return Result.success(sysUserRoleService.queryUserRole(pageDTO.getPage_num(), pageDTO.getPage_size(), sysUserRoleDTO));
-////    }
-//
-//    //@Operation(summary = "系统用户角色详情")
-////    @PreAuthorize("@sr.hasPermission('4.1.1')")
-////    @QueryNullCheck(serviceClass = SysUserRoleService.class, serviceMethod = "queryUserRoleDetail", argField = "role_id", message = "用户角色不存在")
-////    @GetMapping("/api/v1/system/user/getUserRoleDetail")
-////    public Result getUserRoleDetail(@Validated(SysUserRoleDTO.Detail.class) SysUserRoleDTO sysUserRoleDTO) {
-////        return Result.success(QueryNullCheckAspect.getQueryResult());
-////    }
-//
-////    //@Operation(summary = "创建系统用户角色")
-////    @PreAuthorize("@sr.hasPermission('4.1.2')")
-////    @PostMapping("/api/system/user/createUserRole")
-////    public Result createUserRole(@Validated(SysUserRoleDTO.Create.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) {
-////        // 判断 role.modules 是否重复
-////        if (hasDuplicateIds(sysUserRoleDTO.getModules())) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "权限ID出现重复值");
-////        }
-////        // 创建
-////        return Result.success(sysUserRoleService.insertUserRole(sysUserRoleDTO), "创建成功");
-////    }
-//
-////    //@Operation(summary = "更新系统用户角色")
-////    @PreAuthorize("@sr.hasPermission('4.1.3')")
-////    @QueryNullCheck(serviceClass = SysUserRoleService.class, serviceMethod = "queryUserRoleDetail", argField = "role_id", message = "用户角色不存在")
-////    @PutMapping("/api/system/user/updateUserRole")
-////    public Result updateUserRole(@Validated(SysUserRoleDTO.Update.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) {
-////        // 判断 role.modules 是否重复
-////        if (hasDuplicateIds(sysUserRoleDTO.getModules())) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "权限ID出现重复值");
-////        }
-////        // 更新
-////        return Result.success(sysUserRoleService.updateUserRole(sysUserRoleDTO), "更新成功");
-////    }
-//
-////    //@Operation(summary = "删除系统用户角色")
-////    @PreAuthorize("@sr.hasPermission('4.1.4')")
-////    @QueryNullCheck(serviceClass = SysUserRoleService.class, serviceMethod = "queryUserRoleDetail", argField = "role_id", message = "用户角色不存在")
-////    @DeleteMapping("/api/system/user/deleteUserRole")
-////    public Result deleteUserRole(@Validated(SysUserRoleDTO.Delete.class) @RequestBody SysUserRoleDTO sysUserRoleDTO) {
-////
-////        // 如果角色ID: 1管理员, 2游客,则不可删除
-////        Long role_id = sysUserRoleDTO.getRole_id();
-////        Set<Long> filterRoles = new HashSet<>(Arrays.asList(1L, 2L));
-////        if (filterRoles.contains(role_id)) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "该角色不可删除");
-////        }
-////
-////        // 判断角色是否有关联用户,如有则不可删除
-////        Map<String, Object> query = QueryNullCheckAspect.getQueryResult();
-////        Long user_count = (Long) query.get("user_count");
-////        if (user_count != 0) {
-////            return Result.error(ResultEnum.DATABASE_OPERATION_FAILED.getCode(), "角色已关联 " + user_count + " 个用户,请解除关联后再删除");
-////        }
-////        // 删除用户 (物理删除)
-////        return Result.success(sysUserRoleService.deleteUserRole(sysUserRoleDTO), "删除成功");
-////    }
-////
-////    @PreAuthorize("@sr.hasPermission('4.1.5')")
-////    @GetMapping("/api/system/user/getUserRoleModule")
-////    public Result getUserRoleModule() {
-////        return Result.success(sysUserRoleModuleService.queryUserRoleModule());
-////    }
-//}

+ 0 - 81
src/main/java/com/backendsys/controller/Upload/ResourceController.java

@@ -1,81 +0,0 @@
-//package com.backendsys.controller.Upload;
-//
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.core.io.InputStreamResource;
-//import org.springframework.core.io.Resource;
-//import org.springframework.http.*;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.PathVariable;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import java.io.*;
-//import java.nio.charset.StandardCharsets;
-//import java.util.Arrays;
-//
-///**
-// * 下载本地文件
-// */
-//@RestController
-//public class ResourceController {
-//
-//    @Value("${file.upload.directory}") // 配置保存文件的目录
-//    private String uploadDirectory;
-//
-//    // 判断文件是否为图片文件
-//    private boolean isImageFile(File file) {
-//        String extension = getExtension(file.getName());
-//        return Arrays.asList("jpg", "jpeg", "png", "gif").contains(extension.toLowerCase());
-//    }
-//
-//    // 获取图片文件对应的MediaType
-//    private MediaType getImageMediaType(File file) {
-//        String extension = getExtension(file.getName());
-//        switch (extension.toLowerCase()) {
-//            case "jpg":
-//            case "jpeg": return MediaType.IMAGE_JPEG;
-//            case "png": return MediaType.IMAGE_PNG;
-//            case "gif": return MediaType.IMAGE_GIF;
-//            default: return MediaType.APPLICATION_OCTET_STREAM;
-//        }
-//    }
-//
-//    public static String getExtension(String filename) {
-//        if (filename == null) { return ""; }
-//        int dotIndex = filename.lastIndexOf(".");
-//        if (dotIndex > 0 && dotIndex < filename.length() - 1) {
-//            return filename.substring(dotIndex + 1);
-//        }
-//        return "";
-//    }
-//
-//    @GetMapping("/uploads/{folder}/{filename:.+}")
-//    public ResponseEntity<Resource> serveFile(@PathVariable String folder, @PathVariable String filename) throws IOException {
-//
-//        File file = new File(uploadDirectory + folder + "/" + filename);
-//        // 如果是图片,则直接显示;如果是文件,则是下载
-//        HttpHeaders headers = new HttpHeaders();
-//        if (isImageFile(file)) {
-//            // 如果是图片文件,设置Content-Type为对应的图片MIME类型
-//            headers.setContentType(getImageMediaType(file));
-//        } else {
-//            // 如果不是图片文件,设置Content-Disposition以附件形式下载
-//            headers.setContentDisposition(ContentDisposition.attachment().filename(file.getName()).build());
-//            headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
-//        }
-//        if (!file.exists()) {
-//            String message = "图片不存在";
-//            InputStream inputStream = new ByteArrayInputStream(message.getBytes(StandardCharsets.UTF_8));
-//            InputStreamResource resource = new InputStreamResource(inputStream);
-//            return ResponseEntity.status(HttpStatus.NOT_FOUND)
-//                .contentType(MediaType.valueOf("text/plain; charset=UTF-8"))
-//                .body(resource);
-//        }
-//        InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
-//        return ResponseEntity.ok()
-//            .headers(headers)
-//            .contentLength(file.length())
-//            //.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getName() + "\"")
-//            //.contentType(MediaType.APPLICATION_OCTET_STREAM)
-//            .body(resource);
-//    }
-//}

+ 0 - 139
src/main/java/com/backendsys/controller/Upload/UploadAliOSSController.java

@@ -1,139 +0,0 @@
-//package com.backendsys.controller.Upload;
-//
-//import com.aliyun.oss.OSS;
-//import com.aliyun.oss.OSSClientBuilder;
-//import com.aliyun.oss.OSSException;
-//import com.aliyun.oss.model.PutObjectRequest;
-//import com.aliyun.oss.model.PutObjectResult;
-//import com.aliyuncs.exceptions.ClientException;
-//import com.backendsys.utils.CommonUtil;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.utils.response.ResultEnum;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.web.bind.annotation.PostMapping;
-//import org.springframework.web.bind.annotation.RequestParam;
-//import org.springframework.web.bind.annotation.RestController;
-//import org.springframework.web.multipart.MultipartFile;
-//
-//import java.io.File;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.text.SimpleDateFormat;
-//import java.util.Date;
-//import java.util.LinkedHashMap;
-//import java.util.Map;
-//
-//@RestController
-//public class UploadAliOSSController {
-//
-//    /**
-//     * 文档:图片处理(水印)(大小)
-//     * https://help.aliyun.com/zh/oss/developer-reference/img-2?spm=a2c4g.11186623.0.0.28dc3af2212Yhe
-//     *
-//     * 注意:需要绑定自定义域名,才能获得图片浏览器访问的效果
-//     * https://help.aliyun.com/zh/oss/user-guide/how-to-ensure-an-object-is-previewed-when-you-access-the-object?spm=a2c4g.11186623.0.0.60c2431eiMgwZB
-//     * 图片地址示例:
-//     * https://backendsys.oss-cn-shenzhen.aliyuncs.com/20230812/20230812132756.png
-//     */
-//
-//    @Value("${aliyun.oss.max-size}")
-//    private long maxSize;
-//    @Value("${aliyun.oss.access-key-id}")
-//    private String accessKeyId;
-//    @Value("${aliyun.oss.access-key-secret}")
-//    private String accessKeySecret;
-//    @Value("${aliyun.oss.endpoint}")
-//    private String endpoint;
-//    @Value("${aliyun.oss.bucket-name}")
-//    private String bucketName;
-//    @Value("${aliyun.oss.accessible-domain}")
-//    private String accessibleDomain;
-//
-//    /**
-//     * 阿里云 OSS
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @PostMapping("/api/ali/ossUpload")
-//    public Result upload(@RequestParam("file") MultipartFile file) throws ClientException {
-//
-//        // 检查上传的文件是否为空
-//        if (file.isEmpty()) {
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "文件不能为空");
-//        }
-//        // 判断文件大小是否超过
-//        if (file.getSize() > maxSize) {
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "文件不能大于 " + maxSize/1024/1024 + " MB");
-//        }
-//
-//        //System.out.println("accessKeyId = " + accessKeyId);
-//        //System.out.println("accessKeySecret = " + accessKeySecret);
-//        //System.out.println("endpoint = " + endpoint);
-//        //System.out.println("bucketName = " + bucketName);
-//
-//        // 填写Object完整路径,例如exampledir/exampleobject.txt。
-//        // 按日期作为文件目录
-//        String dateDir = new SimpleDateFormat("yyyyMMdd").format(new Date()) + File.separator;
-//
-//        // 获得后缀名
-//        String originalFileName = file.getOriginalFilename();
-//        String suffix = originalFileName.substring(originalFileName.lastIndexOf("."));
-//
-//        // 生成新的文件名
-//        String newFileName = CommonUtil.generateFilename(suffix);
-//
-//        //
-//        String objectName = dateDir + newFileName;
-//
-//        // 创建OSSClient实例
-//        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
-//
-//        // 简单上传文件
-//        try {
-//            // 获取文件内容
-//            InputStream inputStream = file.getInputStream();
-//            // 创建PutObjectRequest对象。
-//            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
-//            // 创建PutObject请求。
-//            PutObjectResult result = ossClient.putObject(putObjectRequest);
-//
-//        } catch (OSSException oe) {
-//            System.out.println("Caught an OSSException, which means your request made it to OSS, "
-//                    + "but was rejected with an error response for some reason.");
-//            System.out.println("Error Message:" + oe.getErrorMessage());
-//            System.out.println("Error Code:" + oe.getErrorCode());
-//            System.out.println("Request ID:" + oe.getRequestId());
-//            System.out.println("Host ID:" + oe.getHostId());
-//        } catch (IOException ce) {
-//            System.out.println(ce);
-//        } finally {
-//            if (ossClient != null) {
-//                ossClient.shutdown();
-//            }
-//        }
-//
-//        // 获取临时访问权限
-//        //GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectName);
-//        //Date expiration = new Date(new Date().getTime() + 3600 * 1000);
-//        //request.setExpiration(expiration);
-//        //////方法一: 直接覆盖请求头
-//        ////ResponseHeaderOverrides Headers=new ResponseHeaderOverrides();
-//        ////Headers.setContentDisposition(String.format("attachment;filename=%s", fileName));
-//        ////request.setResponseHeaders(Headers);
-//        ////方法二: 设置setQueryParameter();其实方法一源码也是这样设置的
-//        // Map<String, String> queryParams = new LinkedHashMap<>(8);
-//        // queryParams.put("response-content-disposition", String.format("attachment;filename=%s", newFileName));
-//        // request.setQueryParameter(queryParams);
-//        // URL url = ossClient.generatePresignedUrl(request);
-//
-//        Map<String, Object> map = new LinkedHashMap<>();
-//        map.put("filename", newFileName);
-//        map.put("url", accessibleDomain + File.separator + objectName);
-//        map.put("type", suffix.replace(".", ""));
-//        map.put("size", file.getSize());
-//
-//        return Result.success(map);
-//    }
-//
-//
-//}

+ 0 - 119
src/main/java/com/backendsys/controller/Upload/UploadLocalController.java

@@ -1,119 +0,0 @@
-//package com.backendsys.controller.Upload;
-//
-//import com.backendsys.utils.CommonUtil;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.utils.response.ResultEnum;
-//import net.coobird.thumbnailator.Thumbnails;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.web.bind.annotation.PostMapping;
-//import org.springframework.web.bind.annotation.RequestParam;
-//import org.springframework.web.bind.annotation.RestController;
-//import org.springframework.web.multipart.MultipartFile;
-//
-//import java.io.*;
-//import java.text.SimpleDateFormat;
-//import java.util.Date;
-//import java.util.LinkedHashMap;
-//import java.util.Map;
-//
-///**
-// * 上传 (本地)
-// */
-//@RestController
-//public class UploadLocalController {
-//
-//    @Value("${file.upload.directory}") // 配置保存文件的目录
-//    private String uploadDirectory;
-//
-//    @Value("${file.upload.url-prefix}") // 指定文件访问的 URL前缀
-//    private String uploadUrlPrefix;
-//
-//    @Value("${file.upload.max-size}")
-//    private long maxSize;
-//
-//    @PreAuthorize("@sr.hasPermission(1)")
-//    @PostMapping("/api/upload")
-//    public Result uploadLocal(@RequestParam("file") MultipartFile file) {
-//
-//        // 检查上传的文件是否为空
-//        if (file.isEmpty()) {
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "文件不能为空");
-//        }
-//        // 判断文件大小是否超过
-//        if (file.getSize() > maxSize) {
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "文件不能超过 " + maxSize/1024/1024 + " MB,请使用大文件上传功能");
-//        }
-//
-//        try {
-//            // 创建保存文件的目录,如果不存在
-//            File directory = new File(uploadDirectory);
-//            if (!directory.exists()) { directory.mkdirs(); }
-//
-//            // 获取文件原始名
-//            String originalFileName = file.getOriginalFilename();
-//
-//            // 生成后缀名
-//            String suffix = originalFileName.substring(originalFileName.lastIndexOf("."));
-//
-//            // 生成新的文件名
-//            String newFileName = CommonUtil.generateFilename(suffix);
-//            String newFileNameThumb = newFileName.replaceAll(suffix, "-thumb" + suffix);
-//
-//            // 按日期作为文件目录
-//            String pathDir = new SimpleDateFormat("yyyyMMdd").format(new Date());
-//            String dateDir = pathDir + File.separator;
-//
-//            File dateDirectory = new File(uploadDirectory + dateDir);
-//            if (!dateDirectory.exists()) { dateDirectory.mkdirs(); }
-//
-////            System.out.println("uploadDirectory = " + uploadDirectory);
-////            System.out.println("dateDir = " + dateDir);
-////            System.out.println("newFileName = " + newFileName);
-//
-//            // 确定文件保存的路径
-//            String sourceFilePath = uploadDirectory + dateDir + newFileName;
-//            String sourceFilePathThumb = uploadDirectory + dateDir + newFileNameThumb;
-//
-//            System.out.println(sourceFilePath);
-//            System.out.println(sourceFilePathThumb);
-//
-//            File sourceFile = new File(sourceFilePath);
-////            File sourceFileThumb = new File(sourceFilePathThumb);
-//
-//            // 保存文件到本地
-//            file.transferTo(sourceFile);
-//
-//
-//            // 创建缩略图
-//            // .scale(0.5)  // 缩放
-//            // .outputFormat("png") // 类型
-//            // .sourceRegion(Positions.TOP_RIGHT, 1800, 1800) // 裁剪
-//            // .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)  // 添加水印
-//            // .outputQuality(0.2) // 质量
-//            // 文件批量操作
-//            // Thumbnails.of(new File("/images/202401/").listFiles()).size(400, 400).toFiles(Rename.PREFIX_DOT_THUMBNAIL);
-//            Thumbnails.of(sourceFilePath).size(200, 200).toFile(sourceFilePathThumb);
-//
-//
-//            // 返回文件的路径 (绝对路径)
-//            String fileUrl = uploadUrlPrefix + pathDir + "/" + newFileName;
-//            String fileThumbUrl = uploadUrlPrefix + pathDir + "/" + newFileNameThumb;
-//
-//            Map<String, Object> map = new LinkedHashMap<>();
-//            map.put("filename", newFileName);
-//            map.put("url", fileUrl);
-//            map.put("url_thumb", fileThumbUrl);
-//            map.put("type", suffix.replace(".", ""));
-//            map.put("size", sourceFile.length());
-//
-//            // 返回响应
-//            return Result.success(map);
-//
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "上传失败");
-//        }
-//    }
-//
-//}

+ 0 - 217
src/main/java/com/backendsys/controller/Upload/UploadTencentCOSController.java

@@ -1,217 +0,0 @@
-//package com.backendsys.controller.Upload;
-//
-//import com.backendsys.entity.System.SysFile.SysFileDTO;
-//import com.backendsys.entity.Tencent.TencentCos.MultipartUploadDTO;
-//import com.backendsys.service.SDKService.SDKTencent.SDKTencentCOSService;
-//import com.backendsys.utils.CommonUtil;
-//import com.backendsys.utils.response.Result;
-//import com.backendsys.utils.response.ResultEnum;
-//import com.qcloud.cos.COSClient;
-//import com.qcloud.cos.ClientConfig;
-//import com.qcloud.cos.auth.BasicCOSCredentials;
-//import com.qcloud.cos.auth.COSCredentials;
-//import com.qcloud.cos.model.*;
-//import com.qcloud.cos.region.Region;
-//
-//import com.qcloud.cos.utils.IOUtils;
-//import jakarta.validation.constraints.NotEmpty;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.security.access.prepost.PreAuthorize;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//import org.springframework.web.multipart.MultipartFile;
-//
-//import java.io.File;
-//import java.io.FileOutputStream;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.text.SimpleDateFormat;
-//import java.util.Date;
-//import java.util.LinkedHashMap;
-//import java.util.Map;
-//
-//@Validated
-//@RestController
-//public class UploadTencentCOSController {
-//
-//    @Value("${tencent.cos.max-size}")
-//    private long maxSize;
-//    @Value("${tencent.cos.secret-id}")
-//    private String secretId;
-//    @Value("${tencent.cos.secret-key}")
-//    private String secretKey;
-//    @Value("${tencent.cos.region}")
-//    private String region;
-//    @Value("${tencent.cos.bucket-name}")
-//    private String bucketName;
-//    @Value("${tencent.cos.accessible-domain}")
-//    private String accessibleDomain;
-//
-//    @Autowired
-//    private SDKTencentCOSService sdkTencentCOSService;
-//
-//
-////    /**
-////     * 权限:待定
-////     * 获得临时上传密钥 (用于前端单文件上传、分片上传)
-////     */
-////    @GetMapping("/api/upload/getTempCredentials")
-////    public Result getTempCredentials() {
-////        return Result.success(sdkTencentCOSService.getTempCredentials("*"));
-////    }
-//
-//
-////    /**
-////     * 权限:待定
-////     * 获得素材文件列表
-////     */
-////    @GetMapping("/api/upload/getBucketList")
-////    public Result getBucketList(String next_marker) {
-////        return Result.success(sdkTencentCOSService.getBucketList(next_marker));
-////    }
-//
-//
-//    // 【腾讯云 COS】
-//    // 文档中心 > 对象存储 > API 文档 > Object 接口 > 基本操作 > PUT Object
-//    // https://cloud.tencent.com/document/product/436/7749
-//    // https://github.com/tencentyun/cos-java-sdk-v5/blob/master/src/main/java/com/qcloud/cos/demo/PutObjectDemo.java
-//
-//    /**
-//     * 上传文件 (旧)
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @PostMapping("/api/tencent/cosUpload")
-//    public Result uploadTencentCOS(@RequestParam("file") MultipartFile file) {
-//
-//        // 检查上传的文件是否为空
-//        if (file.isEmpty()) {
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "文件不能为空");
-//        }
-//        // 判断文件大小是否超过
-//        if (file.getSize() > maxSize) {
-//            return Result.error(ResultEnum.INTERNAL_ERROR.getCode(), "文件不能大于 " + maxSize/1024/1024 + " MB");
-//        }
-//
-//        // 按日期作为文件目录 (腾讯云使用 /,所以不需要配置 File.separator)
-//        String dateDir = new SimpleDateFormat("yyyyMMdd").format(new Date()) + '/';
-//
-//        // 生成后缀名
-//        String originalFileName = file.getOriginalFilename();
-//        String suffix = originalFileName.substring(originalFileName.lastIndexOf("."));
-//
-//        // 生成新的文件名
-//        String newFileName = CommonUtil.generateFilename(suffix);
-//
-//        //
-//        String objectName = dateDir + newFileName;
-//
-//        // -- COS ------------------------------------------------------------------
-//        // 初始化用户身份信息(secretId, secretKey)
-//        COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
-//
-//        // 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
-//        Region region1 = new Region(region);
-//        ClientConfig clientConfig = new ClientConfig(region1);
-//        clientConfig.setRegion(region1);
-//
-//        // 生成cos客户端
-//        COSClient cosClient = new COSClient(cred, clientConfig);
-//
-//        try {
-//
-//            // 获取文件内容
-//            InputStream inputStream = file.getInputStream();
-//
-//            // 将文件内容写入临时文件
-//            File tempFile = File.createTempFile("temp", null);
-//            try (FileOutputStream outputStream = new FileOutputStream(tempFile)) {
-//                IOUtils.copy(inputStream, outputStream);
-//            }
-//
-//            // 创建 PutObjectRequest 对象。
-//            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, tempFile);
-//
-//            ObjectMetadata objectMetadata = new ObjectMetadata();
-//            putObjectRequest.withMetadata(objectMetadata);
-//
-//            // 创建 PutObject 请求。(异步)
-//            PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
-//
-//        } catch (IOException e) {
-//            System.out.println("IOException e:");
-//            System.out.println(e);
-//        } finally {
-//            if (cosClient != null) {
-//                cosClient.shutdown();
-//            }
-//        }
-//
-//        // 返回值 结构
-//        Map<String, Object> map = new LinkedHashMap<>();
-//        map.put("filename", newFileName);
-//        map.put("url", accessibleDomain + "/" + objectName); // File.separator
-//        map.put("type", suffix.replace(".", ""));
-//        map.put("size", file.getSize());
-//
-//        return Result.success(map);
-//
-//    }
-//
-//
-//    /**
-//     * 简单上传文件
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @PostMapping("/api/upload/simpleUpload")
-//    public Result simpleUpload(@RequestParam("file") MultipartFile file) {
-//        return Result.success(sdkTencentCOSService.simpleUpload(file));
-//    }
-//
-//
-//    /**
-//     * 大文件分块上传
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @PostMapping("/api/upload/multipartUpload")
-//    public Result multipartUpload(@Validated(MultipartUploadDTO.Upload.class) MultipartUploadDTO multipartUploadDTO) {
-//        return Result.success(sdkTencentCOSService.multipartUpload(multipartUploadDTO));
-//    }
-//
-//    /**
-//     * 查询已上传分块
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @GetMapping("/api/upload/listParts")
-//    public Result listParts(@NotEmpty(message="upload_id 不能为空") String upload_id, @NotEmpty(message="key 不能为空") String key) {
-//        return Result.success(sdkTencentCOSService.listParts(upload_id, key));
-//    }
-//
-//    /**
-//     * 查询分块上传任务ID
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @GetMapping("/api/upload/getMultipartUploadIds")
-//    public Result getMultipartUploadIds(@NotEmpty(message="key 不能为空") String key) {
-//        return Result.success(sdkTencentCOSService.listMultipartUploads(key));
-//    }
-//
-//    /**
-//     * 终止分块上传任务
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @PostMapping("/api/upload/abortMultipartUpload")
-//    public Result abortMultipartUpload(@Validated(MultipartUploadDTO.Abort.class) @RequestBody MultipartUploadDTO multipartUploadDTO) {
-//        return Result.success(sdkTencentCOSService.abortMultipartUpload(multipartUploadDTO));
-//    }
-//
-//    /**
-//     * 删除文件
-//     */
-//    @PreAuthorize("@sr.hasPermission(1.1)")
-//    @DeleteMapping("/api/upload/removeUploadFile")
-//    public Result removeUploadFile(@Validated(SysFileDTO.Remove.class) @RequestBody SysFileDTO sysFileDTO) {
-//        return Result.success(sdkTencentCOSService.removeUploadFile(sysFileDTO));
-//    }
-//
-//}

+ 0 - 25
src/main/java/com/backendsys/entity/Ai/AiChatConfigDTO.java

@@ -1,25 +0,0 @@
-//package com.backendsys.entity.Ai;
-//
-//import jakarta.validation.constraints.NotNull;
-//import jakarta.validation.constraints.Size;
-//import lombok.Data;
-//
-//@Data
-//public class AiChatConfigDTO {
-//    public static interface Update{}
-//
-//    /**
-//     * ai_chat_config
-//     */
-//    private Long id;
-//    @NotNull(message = "对话配置ID不能为空", groups = { AiChatConfigDTO.Update.class })
-//    private Long chat_history_code;
-//
-//    @NotNull(message = "对话配置名称不能为空", groups = { AiChatConfigDTO.Update.class })
-//    @Size(max = 100, message = "对话配置名称长度不超过 {max} 字符", groups = { AiChatConfigDTO.Update.class })
-//    private String config_key;
-//
-//    @NotNull(message = "对话配置值不能为空", groups = { AiChatConfigDTO.Update.class })
-//    @Size(max = 100, message = "对话配置值长度不超过 {max} 字符", groups = { AiChatConfigDTO.Update.class })
-//    private String config_value;
-//}

+ 0 - 44
src/main/java/com/backendsys/entity/Ai/AiChatDTO.java

@@ -1,44 +0,0 @@
-package com.backendsys.entity.Ai;
-
-import com.backendsys.entity.validator.RangeStringArray;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-
-@Data
-public class AiChatDTO {
-
-    public static interface Create{}
-    public static interface Update{}
-    public static interface Delete{}
-
-    /**
-     * ai_chat
-     */
-    private Long id;
-    @NotNull(message = "对话ID不能为空", groups = { AiChatDTO.Update.class, AiChatDTO.Delete.class })
-    private Long chat_id;
-
-    @Size(max = 36, message = "对话历史记录ID长度不超过 {max} 字符", groups = { AiChatDTO.Create.class, AiChatDTO.Update.class })
-    @NotNull(message = "对话历史记录ID不能为空", groups = { AiChatDTO.Update.class })
-    private String history_code;
-
-    private Long user_id;
-    @Size(min = 2, max = 20, message = "用户昵称长度在 {min}-{max} 字符", groups = { AiChatDTO.Create.class, AiChatDTO.Update.class })
-    private String user_nickname;
-
-    @Size(max = 1000, message = "用户头像路径长度不超过 {max} 字符", groups = { AiChatDTO.Create.class, AiChatDTO.Update.class })
-    private String user_avatar;
-
-    @Size(max = 255, message = "机器人编码长度不超过 {max} 字符", groups = { AiChatDTO.Create.class, AiChatDTO.Update.class })
-    private String robot_code;
-
-    @RangeStringArray(message="对话角色取值有误,范围应是(user, assistant)", value = {"user", "assistant"}, groups = { Create.class, Update.class })
-    private String role;
-
-    @Size(max = 2500, message = "对话内容长度不超过 {max} 字符", groups = { AiChatDTO.Create.class, AiChatDTO.Update.class })
-    private String content;
-
-    private String create_time;
-    private String update_time;
-}

+ 0 - 34
src/main/java/com/backendsys/entity/Ai/AiChatHistoryDTO.java

@@ -1,34 +0,0 @@
-package com.backendsys.entity.Ai;
-
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-
-@Data
-public class AiChatHistoryDTO {
-    public static interface Create{}
-    public static interface Update{}
-    public static interface Delete{}
-
-    /**
-     * ai_chat_history
-     */
-    private Long id;
-    private Long chat_history_id;
-
-    @Size(max = 36, message = "对话历史记录ID长度不超过 {max} 字符", groups = { AiChatHistoryDTO.Create.class, AiChatHistoryDTO.Update.class })
-    @NotNull(message = "对话历史记录ID不能为空", groups = { AiChatHistoryDTO.Update.class, AiChatHistoryDTO.Delete.class })
-    private String history_code;
-
-    @NotNull(message="用户ID不能为空", groups = { AiChatHistoryDTO.Create.class, AiChatHistoryDTO.Update.class })
-    private Long user_id;
-
-    @Size(max = 255, message = "机器人编码长度不超过 {max} 字符", groups = { AiChatHistoryDTO.Create.class, AiChatHistoryDTO.Update.class })
-    private String robot_code;
-
-    @Size(max = 255, message = "最后一次对话内容长度不超过 {max} 字符", groups = { AiChatHistoryDTO.Create.class, AiChatHistoryDTO.Update.class })
-    private String last_content;
-
-    private String create_time;
-    private String update_time;
-}

+ 0 - 37
src/main/java/com/backendsys/entity/Cms/CmsArticleCategoryDTO.java

@@ -1,37 +0,0 @@
-//package com.backendsys.entity.Cms;
-//
-//import com.backendsys.entity.validator.RangeArray;
-//import jakarta.validation.constraints.NotBlank;
-//import jakarta.validation.constraints.NotNull;
-//import jakarta.validation.constraints.Size;
-//import lombok.Data;
-//import org.hibernate.validator.constraints.Range;
-//
-//@Data
-//public class CmsArticleCategoryDTO {
-//    public static interface Detail{}
-//    public static interface Create{}
-//    public static interface Update{}
-//    public static interface Delete{}
-//
-//    /**
-//     * cms_article_category
-//     */
-//    private Long id;
-//    @NotNull(message="article_category_id 不能为空", groups = { Detail.class, Update.class, Delete.class})
-//    private Long article_category_id;
-//
-//    private Long parent_id;
-//
-//    @Size(max = 50, message = "资讯分类名称长度不超过 {max} 字符", groups = {Create.class, Update.class})
-//    @NotBlank(message="资讯分类名称不能为空", groups = {Create.class, Update.class, })
-//    private String category_name;
-//
-//    @Size(max = 200, message = "资讯分类描述长度不超过 {max} 字符", groups = {Create.class, Update.class})
-//    private String category_description;
-//    @Range(min = 1, max = 9999, message = "排序必须在 {min} 到 {max} 之间", groups = {Create.class, Update.class})
-//    private Integer sort;
-//    @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {Create.class, Update.class})
-//    private Integer status;
-//
-//}

+ 0 - 59
src/main/java/com/backendsys/entity/Cms/CmsArticleDTO.java

@@ -1,59 +0,0 @@
-//package com.backendsys.entity.Cms;
-//
-//import com.backendsys.entity.validator.RangeArray;
-//import jakarta.validation.constraints.NotEmpty;
-//import jakarta.validation.constraints.NotNull;
-//import jakarta.validation.constraints.Size;
-//import lombok.Data;
-//
-//import java.util.List;
-//
-//@Data
-//public class CmsArticleDTO {
-//    public static interface Detail{}
-//    public static interface Create{}
-//    public static interface Update{}
-//    public static interface Delete{}
-//
-//    /**
-//     * cms_article
-//     */
-//
-//    private String lang;
-//
-//    private Long id;
-//    @NotNull(message="article_id 不能为空", groups = { Detail.class, Update.class })
-//    private Long article_id;
-//    private List<Long> article_ids;
-//    // @NotNull(message="作者/用户ID不能为空", groups = { Create.class, Update.class })
-//    private Long user_id;
-//    private String user_nickname; // 简易写法
-//    //private Map<String, Object> user;
-//
-//    @NotNull(message="资讯分类ID不能为空", groups = {Create.class, Update.class })
-//    private Long category_id;
-//    private String category_name; // 简易写法
-//
-//    private String title;
-//    private String description;
-//    private String content;
-//
-//    @NotEmpty(message="内容不能为空", groups = {Create.class, Update.class})
-//    private List<CmsArticleTranslationsDTO> translations;
-//
-//    // 建议 5-8 个关键字
-//    @Size(max = 100, message = "关键词长度不超过 {max} 字符", groups = {Create.class, Update.class})
-//    private String meta_keyword;
-//    @Size(max = 200, message = "关键词描述长度不超过 {max} 字符", groups = {Create.class, Update.class})
-//    private String meta_description;
-//
-//    @RangeArray(message="资讯状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {Create.class, Update.class})
-//    private Integer status;
-//    // @RangeArray(message="资讯审核状态取值有误,范围应是(-1审核拒绝, 1待审核, 2审核通过)", value = {"-1", "1", "2"}, groups = {Update.class})
-//    // private Integer audit_status;
-//
-//    private Integer is_top;
-//    private String create_time;
-//    private String update_time;
-//
-//}

+ 0 - 31
src/main/java/com/backendsys/entity/Cms/CmsArticleTranslationsDTO.java

@@ -1,31 +0,0 @@
-//package com.backendsys.entity.Cms;
-//
-//import jakarta.validation.constraints.NotEmpty;
-//import jakarta.validation.constraints.NotNull;
-//import jakarta.validation.constraints.Size;
-//import lombok.Data;
-//
-//@Data
-//public class CmsArticleTranslationsDTO {
-//
-//    /**
-//     * cms_article_i18n
-//     */
-//    @NotNull(message="article_id 不能为空")
-//    private Long article_id;
-//
-//    @NotEmpty(message="语言不能为空")
-//    private String language;
-//
-//    @Size(max = 100, message = "资讯标题长度不超过 {max} 字符")
-//    @NotEmpty(message="资讯标题不能为空")
-//    private String title;
-//
-//    @Size(max = 200, message = "资讯描述长度不超过 {max} 字符")
-//    private String description;
-//
-//    @Size(max = 10000, message = "资讯内容长度不超过 {max} 字符")
-//    @NotEmpty(message="资讯内容不能为空")
-//    private String content;
-//
-//}

+ 0 - 43
src/main/java/com/backendsys/entity/Cms/CmsBannerDTO.java

@@ -1,43 +0,0 @@
-package com.backendsys.entity.Cms;
-
-import com.backendsys.entity.validator.RangeArray;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-import org.hibernate.validator.constraints.Range;
-
-@Data
-public class CmsBannerDTO {
-    public static interface Detail{}
-    public static interface Create{}
-    public static interface Update{}
-    public static interface Delete{}
-
-    /**
-     * cms_banner
-     */
-    private Long id;
-    @NotNull(message="banner_id 不能为空", groups = { CmsBannerDTO.Detail.class, CmsBannerDTO.Update.class, CmsBannerDTO.Delete.class })
-    private Long banner_id;
-    @Size(max = 50, message = "资讯标题长度不超过 {max} 字符", groups = {CmsBannerDTO.Create.class, CmsBannerDTO.Update.class})
-    @NotNull(message="幻灯片标题不能为空", groups = { CmsBannerDTO.Create.class, CmsBannerDTO.Update.class })
-    private String title;
-    @RangeArray(message="幻灯片类型取值有误,范围应是(1首页幻灯片, 2内页幻灯片)", value = {"1", "2"}, groups = { CmsBannerDTO.Create.class })
-    private Integer type;
-    @Size(max = 500, message = "链接路径长度不超过 {max} 字符", groups = {CmsBannerDTO.Create.class, CmsBannerDTO.Update.class})
-    private String link;
-    @Size(max = 500, message = "图片路径长度不超过 {max} 字符", groups = {CmsBannerDTO.Create.class, CmsBannerDTO.Update.class})
-    @NotNull(message="图片路径不能为空", groups = { CmsBannerDTO.Create.class, CmsBannerDTO.Update.class })
-    private String image;
-    @Size(max = 500, message = "图片(缩略图)路径长度不超过 {max} 字符", groups = {CmsBannerDTO.Create.class, CmsBannerDTO.Update.class})
-    @NotNull(message="图片(缩略图)路径不能为空", groups = { CmsBannerDTO.Create.class, CmsBannerDTO.Update.class })
-    private String image_thumb;
-    @Range(min = 1, max = 9999, message = "排序必须在 {min} 到 {max} 之间", groups = {CmsBannerDTO.Create.class, CmsBannerDTO.Update.class})
-    private Integer sort;
-    @RangeArray(message="幻灯片状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {CmsBannerDTO.Create.class, CmsBannerDTO.Update.class})
-    private Integer status;
-
-    private String create_time;
-    private String update_time;
-
-}

+ 0 - 34
src/main/java/com/backendsys/entity/Cms/CmsPageDTO.java

@@ -1,34 +0,0 @@
-package com.backendsys.entity.Cms;
-
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class CmsPageDTO {
-    public static interface Detail{}
-    public static interface Update{}
-
-    /**
-     * cms_page
-     */
-
-    private String lang;
-
-    private Long id;
-    @NotNull(message="page_sign 不能为空", groups = { CmsPageDTO.Detail.class, CmsPageDTO.Update.class })
-    private String page_sign;
-
-    private String title;
-    private String description;
-    private String content;
-
-    @NotEmpty(message="内容不能为空", groups = { CmsPageDTO.Update.class})
-    private List<CmsPageTranslationsDTO> translations;
-
-    private String create_time;
-    private String update_time;
-
-}

+ 0 - 31
src/main/java/com/backendsys/entity/Cms/CmsPageTranslationsDTO.java

@@ -1,31 +0,0 @@
-package com.backendsys.entity.Cms;
-
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-
-@Data
-public class CmsPageTranslationsDTO {
-
-    /**
-     * cms_page_translations
-     */
-    @NotNull(message="page_id 不能为空")
-    private Long page_id;
-
-    @NotEmpty(message="语言不能为空")
-    private String language;
-
-    @Size(max = 100, message = "内容标题长度不超过 {max} 字符")
-    @NotEmpty(message="内容标题不能为空")
-    private String title;
-
-    @Size(max = 200, message = "内容描述长度不超过 {max} 字符")
-    private String description;
-
-    @Size(max = 10000, message = "内容内容长度不超过 {max} 字符")
-    @NotEmpty(message="内容内容不能为空")
-    private String content;
-
-}

+ 0 - 36
src/main/java/com/backendsys/entity/Cms/CmsSiteInfoDTO.java

@@ -1,36 +0,0 @@
-//package com.backendsys.entity.Cms;
-//
-//import com.backendsys.entity.validator.RangeArray;
-//
-//import jakarta.validation.constraints.*;
-//import lombok.Data;
-//
-//@Data
-//public class CmsSiteInfoDTO {
-//    public static interface Detail{}
-//    public static interface Update{}
-//
-//    private Long id;
-//    @NotNull(message="site_info_id 不能为空", groups = { Detail.class })
-//
-//    @NotEmpty(message="网站名称不能为空", groups = { Update.class })
-//    @Size(min = 2, max = 50, message = "网站名称长度在 {min}-{max} 字符", groups = { Update.class })
-//    private String name;
-//
-//    @Size(max = 100, message = "关键词长度不超过 {max} 字符", groups = { Update.class })
-//    private String meta_keyword;
-//    @Size(max = 200, message = "关键词描述长度不超过 {max} 字符", groups = { Update.class })
-//    private String meta_description;
-//
-//    @Size(max = 100, message = "版权信息长度不超过 {max} 字符", groups = { Update.class })
-//    private String copyright;
-//
-//    @Size(max = 50, message = "备案信息长度不超过 {max} 字符", groups = { Update.class })
-//    private String icp;
-//
-//    @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = { Update.class })
-//    private Integer status;
-//
-//    private String create_time;
-//    private String update_time;
-//}

+ 39 - 39
src/main/java/com/backendsys/entity/Med/MedMaterialCategoryDTO.java

@@ -1,39 +1,39 @@
-package com.backendsys.entity.Med;
-
-import com.backendsys.entity.validator.RangeArray;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-import org.hibernate.validator.constraints.Range;
-
-@Data
-public class MedMaterialCategoryDTO {
-    public static interface Detail{}
-    public static interface Create{}
-    public static interface Update{}
-    public static interface Delete{}
-
-    /**
-     * med_material_category
-     */
-    private Long id;
-    @NotNull(message="material_category_id 不能为空", groups = { MedMaterialCategoryDTO.Detail.class, MedMaterialCategoryDTO.Update.class, MedMaterialCategoryDTO.Delete.class})
-    private Long material_category_id;
-
-    private Long parent_id;
-
-    @Size(max = 50, message = "素材分类名称长度不超过 {max} 字符", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
-    @NotBlank(message="素材分类名称不能为空", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class, })
-    private String category_name;
-
-    @Size(max = 200, message = "素材分类描述长度不超过 {max} 字符", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
-    private String category_description;
-
-    @Range(min = 1, max = 9999, message = "排序必须在 {min} 到 {max} 之间", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
-    private Integer sort;
-    
-    @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
-    private Integer status;
-
-}
+//package com.backendsys.entity.Med;
+//
+//import com.backendsys.entity.validator.RangeArray;
+//import jakarta.validation.constraints.NotBlank;
+//import jakarta.validation.constraints.NotNull;
+//import jakarta.validation.constraints.Size;
+//import lombok.Data;
+//import org.hibernate.validator.constraints.Range;
+//
+//@Data
+//public class MedMaterialCategoryDTO {
+//    public static interface Detail{}
+//    public static interface Create{}
+//    public static interface Update{}
+//    public static interface Delete{}
+//
+//    /**
+//     * med_material_category
+//     */
+//    private Long id;
+//    @NotNull(message="material_category_id 不能为空", groups = { MedMaterialCategoryDTO.Detail.class, MedMaterialCategoryDTO.Update.class, MedMaterialCategoryDTO.Delete.class})
+//    private Long material_category_id;
+//
+//    private Long parent_id;
+//
+//    @Size(max = 50, message = "素材分类名称长度不超过 {max} 字符", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
+//    @NotBlank(message="素材分类名称不能为空", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class, })
+//    private String category_name;
+//
+//    @Size(max = 200, message = "素材分类描述长度不超过 {max} 字符", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
+//    private String category_description;
+//
+//    @Range(min = 1, max = 9999, message = "排序必须在 {min} 到 {max} 之间", groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
+//    private Integer sort;
+//
+//    @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {MedMaterialCategoryDTO.Create.class, MedMaterialCategoryDTO.Update.class})
+//    private Integer status;
+//
+//}

+ 68 - 68
src/main/java/com/backendsys/entity/Med/MedMaterialDTO.java

@@ -1,68 +1,68 @@
-package com.backendsys.entity.Med;
-
-import com.backendsys.entity.validator.RangeArray;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MedMaterialDTO {
-    public static interface Detail{}
-    public static interface Create{}
-    public static interface Update{}
-    public static interface Audit{}
-    public static interface Delete{}
-
-    /**
-     * med_material
-     */
-
-    private Long id;
-
-    @NotNull(message="material_id 不能为空", groups = { MedMaterialDTO.Detail.class, MedMaterialDTO.Update.class, MedMaterialDTO.Audit.class })
-    private Long material_id;
-
-    private List<Long> material_ids;
-
-    @NotNull(message="素材分类ID不能为空", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
-    private Long category_id;
-    private String category_name; // 简易写法
-
-    @Size(max = 100, message = "素材标题长度不超过 {max} 字符")
-    @NotEmpty(message="素材标题不能为空", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
-    private String title;
-
-    @Size(max = 200, message = "素材描述长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
-    private String description;
-
-    @Size(max = 10000, message = "素材内容长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
-    private String content;
-
-    @Size(max = 500, message = "缩略图路径长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
-    private String thumb;
-
-    @RangeArray(message="素材类型取值有误,范围应是(1图片, 2视频, 3音频, 4文案)", value = {"1", "2", "3", "4"}, groups = { MedMaterialDTO.Create.class })
-    private Integer material_type;
-    @Size(max = 500, message = "文件路径长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
-    private String file;
-
-    @RangeArray(message="素材状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
-    private Integer status;
-
-    @RangeArray(message="审核状态取值有误,范围应是(-1审核拒绝, 1待审核, 2审核通过)", value = {"-1", "1", "2"}, groups = { MedMaterialDTO.Audit.class })
-    private Integer audit_status;
-    @Size(max = 1000, message = "审核备注长度不超过 {max} 字符", groups = { MedMaterialDTO.Audit.class })
-    private String audit_note;
-
-    @RangeArray(message="del_flag 取值有误,范围应是(-1未删除, 1删除)", value = {"-1", "1"}, groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
-    private Integer del_flag;
-
-    @RangeArray(message="是否置顶取值有误,范围应是(-1不置顶, 1置顶)", value = {"-1", "1"}, groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
-    private Integer is_top;
-    private String create_time;
-    private String update_time;
-
-}
+//package com.backendsys.entity.Med;
+//
+//import com.backendsys.entity.validator.RangeArray;
+//import jakarta.validation.constraints.NotEmpty;
+//import jakarta.validation.constraints.NotNull;
+//import jakarta.validation.constraints.Size;
+//import lombok.Data;
+//
+//import java.util.List;
+//
+//@Data
+//public class MedMaterialDTO {
+//    public static interface Detail{}
+//    public static interface Create{}
+//    public static interface Update{}
+//    public static interface Audit{}
+//    public static interface Delete{}
+//
+//    /**
+//     * med_material
+//     */
+//
+//    private Long id;
+//
+//    @NotNull(message="material_id 不能为空", groups = { MedMaterialDTO.Detail.class, MedMaterialDTO.Update.class, MedMaterialDTO.Audit.class })
+//    private Long material_id;
+//
+//    private List<Long> material_ids;
+//
+//    @NotNull(message="素材分类ID不能为空", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
+//    private Long category_id;
+//    private String category_name; // 简易写法
+//
+//    @Size(max = 100, message = "素材标题长度不超过 {max} 字符")
+//    @NotEmpty(message="素材标题不能为空", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
+//    private String title;
+//
+//    @Size(max = 200, message = "素材描述长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
+//    private String description;
+//
+//    @Size(max = 10000, message = "素材内容长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class })
+//    private String content;
+//
+//    @Size(max = 500, message = "缩略图路径长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
+//    private String thumb;
+//
+//    @RangeArray(message="素材类型取值有误,范围应是(1图片, 2视频, 3音频, 4文案)", value = {"1", "2", "3", "4"}, groups = { MedMaterialDTO.Create.class })
+//    private Integer material_type;
+//    @Size(max = 500, message = "文件路径长度不超过 {max} 字符", groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
+//    private String file;
+//
+//    @RangeArray(message="素材状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
+//    private Integer status;
+//
+//    @RangeArray(message="审核状态取值有误,范围应是(-1审核拒绝, 1待审核, 2审核通过)", value = {"-1", "1", "2"}, groups = { MedMaterialDTO.Audit.class })
+//    private Integer audit_status;
+//    @Size(max = 1000, message = "审核备注长度不超过 {max} 字符", groups = { MedMaterialDTO.Audit.class })
+//    private String audit_note;
+//
+//    @RangeArray(message="del_flag 取值有误,范围应是(-1未删除, 1删除)", value = {"-1", "1"}, groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
+//    private Integer del_flag;
+//
+//    @RangeArray(message="是否置顶取值有误,范围应是(-1不置顶, 1置顶)", value = {"-1", "1"}, groups = {MedMaterialDTO.Create.class, MedMaterialDTO.Update.class})
+//    private Integer is_top;
+//    private String create_time;
+//    private String update_time;
+//
+//}

+ 55 - 55
src/main/java/com/backendsys/entity/Med/MedMyMaterialDTO.java

@@ -1,55 +1,55 @@
-package com.backendsys.entity.Med;
-
-import com.backendsys.entity.validator.RangeArray;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MedMyMaterialDTO {
-    public static interface Detail{}
-    public static interface Create{}
-    public static interface Update{}
-    public static interface Delete{}
-
-    /**
-     * med_material
-     */
-
-    private Long id;
-
-    @NotNull(message="my_material_id 不能为空", groups = { MedMyMaterialDTO.Detail.class })
-    private Long my_material_id;
-    private List<Long> my_material_ids;
-
-    // @NotNull(message="素材ID不能为空", groups = {MedMyMaterialDTO.Create.class })
-    private Long material_id;
-
-    private Long user_id;
-
-    @NotNull(message="素材分类ID不能为空", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class })
-    private Long category_id;
-    private String category_name;
-
-    @Size(max = 100, message = "素材标题长度不超过 {max} 字符")
-    private String title;
-
-    @Size(max = 200, message = "素材描述长度不超过 {max} 字符", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class })
-    private String description;
-
-    @Size(max = 10000, message = "素材内容长度不超过 {max} 字符", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class })
-    private String content;
-    private String thumb;
-
-    @RangeArray(message="素材类型取值有误,范围应是(1图片, 2视频, 3音频, 4文案)", value = {"1", "2", "3", "4"}, groups = { MedMyMaterialDTO.Create.class })
-    private Integer material_type;
-
-    @Size(max = 500, message = "文件路径长度不超过 {max} 字符", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class})
-    private String file;
-
-    private String create_time;
-    private String update_time;
-
-}
+//package com.backendsys.entity.Med;
+//
+//import com.backendsys.entity.validator.RangeArray;
+//import jakarta.validation.constraints.NotNull;
+//import jakarta.validation.constraints.Size;
+//import lombok.Data;
+//
+//import java.util.List;
+//
+//@Data
+//public class MedMyMaterialDTO {
+//    public static interface Detail{}
+//    public static interface Create{}
+//    public static interface Update{}
+//    public static interface Delete{}
+//
+//    /**
+//     * med_material
+//     */
+//
+//    private Long id;
+//
+//    @NotNull(message="my_material_id 不能为空", groups = { MedMyMaterialDTO.Detail.class })
+//    private Long my_material_id;
+//    private List<Long> my_material_ids;
+//
+//    // @NotNull(message="素材ID不能为空", groups = {MedMyMaterialDTO.Create.class })
+//    private Long material_id;
+//
+//    private Long user_id;
+//
+//    @NotNull(message="素材分类ID不能为空", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class })
+//    private Long category_id;
+//    private String category_name;
+//
+//    @Size(max = 100, message = "素材标题长度不超过 {max} 字符")
+//    private String title;
+//
+//    @Size(max = 200, message = "素材描述长度不超过 {max} 字符", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class })
+//    private String description;
+//
+//    @Size(max = 10000, message = "素材内容长度不超过 {max} 字符", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class })
+//    private String content;
+//    private String thumb;
+//
+//    @RangeArray(message="素材类型取值有误,范围应是(1图片, 2视频, 3音频, 4文案)", value = {"1", "2", "3", "4"}, groups = { MedMyMaterialDTO.Create.class })
+//    private Integer material_type;
+//
+//    @Size(max = 500, message = "文件路径长度不超过 {max} 字符", groups = {MedMyMaterialDTO.Create.class, MedMyMaterialDTO.Update.class})
+//    private String file;
+//
+//    private String create_time;
+//    private String update_time;
+//
+//}

+ 0 - 16
src/main/java/com/backendsys/mapper/Ai/AiChatHistoryMapper.java

@@ -1,16 +0,0 @@
-package com.backendsys.mapper.Ai;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.backendsys.entity.Ai.AiChatHistoryDTO;
-
-@Mapper
-public interface AiChatHistoryMapper {
-    List<Map<String, Object>> queryAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-    Map<String, Object> queryAiChatHistoryByCode(String history_code);
-    long insertAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-    long deleteAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-    // long updateAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-}

+ 0 - 79
src/main/java/com/backendsys/mapper/Ai/AiChatHistoryMapper.xml

@@ -1,79 +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="com.backendsys.mapper.Ai.AiChatHistoryMapper">
-
-    <sql id="includeAiChatHistory">
-        ath.id id,
-        ath.id chat_history_id,
-        ath.history_code history_code,
-        ath.user_id user_id,
-        COALESCE(ath.robot_code, '') robot_code,
-        ath.last_content last_content,
-        ath.create_time create_time,
-        ath.update_time update_time
-    </sql>
-    <resultMap id="resultMapAiChatHistory" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="chat_history_id" column="chat_history_id" javaType="java.lang.Long"/>
-        <result property="history_code" column="history_code" />
-        <result property="user_id" column="user_id" javaType="java.lang.Long"/>
-        <result property="robot_code" column="robot_code" />
-        <result property="last_content" column="last_content" />
-        <result property="chat_count" column="chat_count" />
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
-    </resultMap>
-
-    <select id="queryAiChatHistory" resultMap="resultMapAiChatHistory">
-        SELECT <include refid="includeAiChatHistory" />, COUNT(at.id) chat_count
-        FROM ai_chat_history ath
-            LEFT JOIN ai_chat at ON at.history_code = ath.history_code
-        <where>
-            <if test="user_id != null and user_id != ''">
-                AND ath.user_id = #{user_id}
-            </if>
-            <if test="history_code != null and history_code != ''">
-                AND ath.history_code = #{history_code}
-            </if>
-            <if test="robot_code != null and robot_code != ''">
-                AND ath.robot_code = #{robot_code}
-            </if>
-        </where>
-        GROUP BY ath.id, ath.history_code
-        ORDER BY ath.update_time DESC
-    </select>
-
-    <!-- 查询历史记录下的 对话数量 -->
-    <select id="queryAiChatHistoryByCode" resultType="java.util.LinkedHashMap">
-        SELECT <include refid="includeAiChatHistory" />
-        FROM ai_chat_history ath
-        WHERE ath.history_code = #{history_code}
-    </select>
-
-    <insert id="insertAiChatHistory" parameterType="com.backendsys.entity.Ai.AiChatHistoryDTO"
-        useGeneratedKeys="true" keyProperty="history_code">
-        INSERT INTO ai_chat_history (history_code, last_content
-        <if test="user_id != null and user_id != ''">, user_id</if>
-        <if test="robot_code != null and robot_code != ''">, robot_code</if>
-        )
-        VALUES (#{history_code}, #{last_content}
-        <if test="user_id != null and user_id != ''">, #{user_id}</if>
-        <if test="robot_code != null and robot_code != ''">, #{robot_code}</if>
-        )
-    </insert>
-
-    <!-- <update id="updateAiChatHistory" parameterType="com.backendsys.entity.Ai.AiChatHistoryDTO"
-        useGeneratedKeys="true" keyProperty="history_code">
-        UPDATE ai_chat_history
-        SET content = #{content}
-            <if test="user_nickname != null and user_nickname != ''">, user_nickname = #{user_nickname}</if>
-            <if test="user_avatar != null and user_avatar != ''">, user_avatar = #{user_avatar}</if>
-        WHERE history_code = #{history_code}
-    </update> -->
-
-    <delete id="deleteAiChatHistory">
-        DELETE FROM ai_chat WHERE history_code = #{history_code};
-        DELETE FROM ai_chat_history WHERE history_code = #{history_code};
-    </delete>
-
-</mapper>

+ 0 - 15
src/main/java/com/backendsys/mapper/Ai/AiChatMapper.java

@@ -1,15 +0,0 @@
-package com.backendsys.mapper.Ai;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.backendsys.entity.Ai.AiChatDTO;
-
-@Mapper
-public interface AiChatMapper {
-    List<Map<String, Object>> queryAiChatList(AiChatDTO aiChatDTO);
-    long insertAiChat(AiChatDTO aiChatDTO);
-    long deleteAiChat(AiChatDTO aiChatDTO);
-    // long updateAiChat(AiChatDTO aiChatDTO);
-}

+ 0 - 83
src/main/java/com/backendsys/mapper/Ai/AiChatMapper.xml

@@ -1,83 +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="com.backendsys.mapper.Ai.AiChatMapper">
-
-    <sql id="includeAiChat">
-        id id,
-        id chat_id,
-        history_code,
-        user_id,
-        COALESCE(user_nickname, '') user_nickname,
-        COALESCE(user_avatar, '') user_avatar,
-        COALESCE(robot_code, '') robot_code,
-        role,
-        content,
-        create_time,
-        update_time
-    </sql>
-    <resultMap id="resultMapAiChat" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="chat_id" column="chat_id" javaType="java.lang.Long"/>
-        <result property="history_code" column="history_code" />
-        <result property="user_id" column="user_id" javaType="java.lang.Long"/>
-        <result property="user_nickname" column="user_nickname" />
-        <result property="user_avatar" column="user_avatar" />
-        <result property="robot_code" column="robot_code" />
-        <result property="role" column="role" />
-        <result property="content" column="content" />
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
-    </resultMap>
-
-    <select id="queryAiChatList" resultMap="resultMapAiChat">
-        SELECT
-        <include refid="includeAiChat" />
-        FROM ai_chat
-        <where>
-            <if test="history_code != null and history_code != ''">
-                AND history_code = #{history_code}
-            </if>
-            <if test="user_id != null and user_id != ''">
-                AND user_id = #{user_id}
-            </if>
-            <if test="robot_code != null and robot_code != ''">
-                AND robot_code = #{robot_code}
-            </if>
-            <if test="role != null and role != ''">
-                AND role = #{role}
-            </if>
-        </where>
-        ORDER BY update_time ASC
-    </select>
-
-    <insert id="insertAiChat" parameterType="com.backendsys.entity.Ai.AiChatDTO">
-        INSERT INTO ai_chat (history_code, content
-        <if test="user_id != null and user_id != ''">, user_id</if>
-        <if test="user_nickname != null and user_nickname != ''">, user_nickname</if>
-        <if test="user_avatar != null and user_avatar != ''">, user_avatar</if>
-        <if test="robot_code != null and robot_code != ''">, robot_code</if>
-        <if test="role != null and role != ''">, role</if>
-        )
-        VALUES (#{history_code}, #{content}
-        <if test="user_id != null and user_id != ''">, #{user_id}</if>
-        <if test="user_nickname != null and user_nickname != ''">, #{user_nickname}</if>
-        <if test="user_avatar != null and user_avatar != ''">, #{user_avatar}</if>
-        <if test="robot_code != null and robot_code != ''">, #{robot_code}</if>
-        <if test="role != null and role != ''">, #{role}</if>
-        )
-    </insert>
-
-    <!-- <update id="updateAiChat" parameterType="com.backendsys.entity.Ai.AiChatDTO"
-        useGeneratedKeys="true" keyProperty="history_code">
-        UPDATE ai_chat
-        SET content = #{content}
-            <if test="user_nickname != null and user_nickname != ''">, user_nickname = #{user_nickname}</if>
-            <if test="user_avatar != null and user_avatar != ''">, user_avatar = #{user_avatar}</if>
-        WHERE history_code = #{history_code}
-    </update> -->
-
-    <delete id="deleteAiChat">
-        DELETE FROM ai_chat WHERE history_code = #{history_code}
-    </delete>
-
-</mapper>

+ 0 - 16
src/main/java/com/backendsys/mapper/Cms/CmsArticleCategoryMapper.java

@@ -1,16 +0,0 @@
-//package com.backendsys.mapper.Cms;
-//
-//import com.backendsys.entity.Cms.CmsArticleCategoryDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface CmsArticleCategoryMapper {
-//    List<Map<String, Object>> queryArticleCategoryList(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//    Map<String, Object> queryArticleCategoryDetail(Long article_category_id);
-//    long insertArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//    long deleteArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//    long updateArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//}

+ 0 - 84
src/main/java/com/backendsys/mapper/Cms/CmsArticleCategoryMapper.xml

@@ -1,84 +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="com.backendsys.mapper.Cms.CmsArticleCategoryMapper">-->
-
-<!--    <sql id="includeArticleCategory">-->
-<!--        id,-->
-<!--        id article_category_id,-->
-<!--        COALESCE(parent_id, '') parent_id,-->
-<!--        category_name,-->
-<!--        COALESCE(category_description, '') category_description,-->
-<!--        sort,-->
-<!--        status-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapArticleCategory" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT"/>-->
-<!--        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_name" column="category_name" />-->
-<!--        <result property="category_description" column="category_description" />-->
-<!--        <result property="sort" column="sort" javaType="java.lang.Integer" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
-<!--    </resultMap>-->
-
-<!--    <resultMap id="resultMapArticleCategoryDetail" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT"/>-->
-<!--        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_name" column="category_name" />-->
-<!--        <result property="category_description" column="category_description" />-->
-<!--        <result property="sort" column="sort" javaType="java.lang.Integer" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
-<!--    </resultMap>-->
-
-<!--    <select id="queryArticleCategoryList" resultMap="resultMapArticleCategory">-->
-<!--        SELECT <include refid="includeArticleCategory" />-->
-<!--        FROM cms_article_category-->
-<!--        <where>-->
-<!--            <if test="category_name != null and category_name != ''">-->
-<!--                AND category_name LIKE CONCAT('%', #{category_name}, '%')-->
-<!--            </if>-->
-<!--            <if test="status != null and status != ''">-->
-<!--                AND status = #{status}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY sort DESC-->
-<!--    </select>-->
-
-<!--    <select id="queryArticleCategoryDetail" resultMap="resultMapArticleCategoryDetail">-->
-<!--        SELECT <include refid="includeArticleCategory" />-->
-<!--        FROM cms_article_category-->
-<!--        WHERE id = #{article_category_id}-->
-<!--    </select>-->
-
-<!--    <insert id="insertArticleCategory" parameterType="com.backendsys.entity.Cms.CmsArticleCategoryDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="article_category_id">-->
-<!--        INSERT INTO cms_article_category (category_name-->
-<!--            <if test="category_description != null and category_description != ''">, category_description</if>-->
-<!--            <if test="parent_id != null and parent_id != ''">, parent_id</if>-->
-<!--            <if test="sort != null and sort != ''">, sort</if>-->
-<!--            <if test="status != null and status != ''">, status</if>-->
-<!--        )-->
-<!--        VALUES (#{category_name}-->
-<!--            <if test="category_description != null and category_description != ''">, #{category_description}</if>-->
-<!--            <if test="parent_id != null and parent_id != ''">, #{parent_id}</if>-->
-<!--            <if test="sort != null and sort != ''">, #{sort}</if>-->
-<!--            <if test="status != null and status != ''">, #{status}</if>-->
-<!--        )-->
-<!--    </insert>-->
-
-<!--    <update id="updateArticleCategory" parameterType="com.backendsys.entity.Cms.CmsArticleCategoryDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="article_category_id">-->
-<!--        UPDATE cms_article_category-->
-<!--        SET category_name = #{category_name}-->
-<!--            <if test="category_description != null and category_description != ''">, category_description = #{category_description}</if>-->
-<!--            <if test="parent_id != null and parent_id != ''">, parent_id = #{parent_id}</if>-->
-<!--            <if test="sort != null and sort != ''">, sort = #{sort}</if>-->
-<!--            <if test="status != null and status != ''">, status = #{status}</if>-->
-<!--        WHERE id = #{article_category_id}-->
-<!--    </update>-->
-
-<!--    <delete id="deleteArticleCategory">-->
-<!--        DELETE FROM cms_article_category WHERE id = #{article_category_id}-->
-<!--    </delete>-->
-
-<!--</mapper>-->

+ 0 - 21
src/main/java/com/backendsys/mapper/Cms/CmsArticleMapper.java

@@ -1,21 +0,0 @@
-//package com.backendsys.mapper.Cms;
-//
-//import com.backendsys.entity.Cms.CmsArticleDTO;
-//import com.backendsys.entity.Cms.CmsArticleTranslationsDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface CmsArticleMapper {
-//    List<Map<String, Object>> queryArticleList(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> queryArticleDetail(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> queryArticleDetailPublic(CmsArticleDTO cmsArticleDTO);
-//    long insertArticle(CmsArticleDTO cmsArticleDTO);
-//    long insertArticleTranslations(List<Map<String, Object>> translations);
-//    long deleteArticle(CmsArticleDTO cmsArticleDTO);
-//    long deleteArticleBatch(List<Long> ids);
-//    long updateArticle(CmsArticleDTO cmsArticleDTO);
-//    long updateArticleTranslations(List<CmsArticleTranslationsDTO> translations);
-//}

+ 0 - 238
src/main/java/com/backendsys/mapper/Cms/CmsArticleMapper.xml

@@ -1,238 +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="com.backendsys.mapper.Cms.CmsArticleMapper">-->
-
-<!--    &lt;!&ndash;ac.user,&ndash;&gt;-->
-<!--    &lt;!&ndash;ac.category,&ndash;&gt;-->
-<!--    &lt;!&ndash; a.audit_status audit_status, &ndash;&gt;-->
-<!--    <sql id="includeArticle">-->
-<!--        a.id id,-->
-<!--        a.id article_id,-->
-<!--        uf.user_id user_id,-->
-<!--        COALESCE(uf.nickname, '') user_nickname,-->
-<!--        ac.id category_id,-->
-<!--        ac.category_name category_name,-->
-<!--        at.title title,-->
-<!--        COALESCE(at.description, '') description,-->
-<!--        a.status status,-->
-<!--        a.is_top is_top,-->
-<!--        a.create_time create_time,-->
-<!--        a.update_time update_time-->
-<!--    </sql>-->
-
-<!--    &lt;!&ndash; at.title title,-->
-<!--    at.content content,-->
-<!--    COALESCE(at.description, '') description, &ndash;&gt;-->
-<!--    &lt;!&ndash; a.audit_status audit_status, &ndash;&gt;-->
-<!--    <sql id="includeArticleDetail">-->
-<!--        a.id id,-->
-<!--        a.id article_id,-->
-<!--        uf.user_id user_id,-->
-<!--        COALESCE(uf.nickname, '') user_nickname,-->
-<!--        ac.id category_id,-->
-<!--        ac.category_name category_name,-->
-<!--        COALESCE(a.meta_keyword, '') meta_keyword,-->
-<!--        COALESCE(a.meta_description, '') meta_description,-->
-<!--        a.status status,-->
-<!--        a.is_top is_top,-->
-<!--        a.create_time create_time,-->
-<!--        a.update_time update_time-->
-<!--    </sql>-->
-<!--    -->
-<!--    -->
-<!--    <sql id="includeArticleTranslation">-->
-<!--        id,-->
-<!--        article_id,-->
-<!--        language,-->
-<!--        title,-->
-<!--        description,-->
-<!--        content-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapArticle" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="article_id" column="article_id" javaType="java.lang.Long"/>-->
-<!--        <result property="user_id" column="user_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_name" column="category_name" />-->
-<!--        <result property="title" column="title" />-->
-<!--        <result property="description" column="description" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--        &lt;!&ndash; <result property="audit_status" column="audit_status" javaType="java.lang.Integer"/> &ndash;&gt;-->
-<!--        <result property="is_top" column="is_top" javaType="java.lang.Integer"/>-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--    </resultMap>-->
-
-<!--    <resultMap id="resultMapArticleDetail" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="article_id" column="article_id" javaType="java.lang.Long"/>-->
-<!--        <result property="user_id" column="user_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_name" column="category_name" />-->
-<!--        &lt;!&ndash; <result property="title" column="title" />-->
-<!--        <result property="content" column="content" />-->
-<!--        <result property="description" column="description" /> &ndash;&gt;-->
-<!--        <result property="meta_keyword" column="meta_keyword" />-->
-<!--        <result property="meta_description" column="meta_description" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--        &lt;!&ndash; <result property="audit_status" column="audit_status" javaType="java.lang.Integer"/> &ndash;&gt;-->
-<!--        <result property="is_top" column="is_top" javaType="java.lang.Integer"/>-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--        <collection property="translations" javaType="java.util.List"-->
-<!--            select="queryTranslationsById" column="id">-->
-<!--            <id property="id" column="id" />-->
-<!--            <result property="title" column="title" />-->
-<!--            <result property="content" column="content" />-->
-<!--            <result property="description" column="description" />-->
-<!--        </collection>-->
-<!--    </resultMap>-->
-
-<!--    <sql id="leftJoinCategory">-->
-<!--        LEFT JOIN cms_article_category ac ON a.category_id = ac.id-->
-<!--    </sql>-->
-<!--    <sql id="leftJoinUser">-->
-<!--        LEFT JOIN sys_user_info uf ON a.user_id = uf.user_id-->
-<!--    </sql>-->
-<!--    <sql id="leftJoinTranslations">-->
-<!--        LEFT JOIN cms_article_i18n at ON a.id = at.article_id-->
-<!--    </sql>-->
-
-<!--    &lt;!&ndash; 查 列表 &ndash;&gt;-->
-<!--    <select id="queryArticleList" resultMap="resultMapArticle">-->
-<!--        SELECT-->
-<!--           <include refid="includeArticle" />-->
-<!--        FROM cms_article a-->
-<!--        <include refid="leftJoinCategory" />-->
-<!--        <include refid="leftJoinUser" />-->
-<!--        <include refid="leftJoinTranslations" />-->
-<!--        <where>-->
-<!--            at.language = #{lang}-->
-<!--            <if test="title != null and title != ''">-->
-<!--                AND at.title LIKE CONCAT('%', #{title}, '%')-->
-<!--            </if>-->
-<!--            <if test="user_id != null and user_id != ''">-->
-<!--                AND a.user_id = #{user_id}-->
-<!--            </if>-->
-<!--            <if test="category_id != null and category_id != ''">-->
-<!--                AND a.category_id = #{category_id}-->
-<!--            </if>-->
-<!--            <if test="status != null and status != ''">-->
-<!--                AND a.status = #{status}-->
-<!--            </if>-->
-
-<!--            <if test="create_time != null and create_time != ''">-->
-<!--                AND a.create_time >= #{create_time}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY a.is_top = 1 DESC, a.update_time DESC-->
-<!--    </select>-->
-<!--    &lt;!&ndash; <if test="audit_status != null and audit_status != ''">-->
-<!--        AND a.audit_status = #{audit_status}-->
-<!--    </if> &ndash;&gt;-->
-
-<!--    &lt;!&ndash; 查 详情 (带翻译 Array) (二次查询) &ndash;&gt;-->
-<!--    <select id="queryArticleDetail" resultMap="resultMapArticleDetail">-->
-<!--        SELECT <include refid="includeArticleDetail" />-->
-<!--        FROM cms_article a-->
-<!--        <include refid="leftJoinCategory" />-->
-<!--        <include refid="leftJoinUser" />-->
-<!--        WHERE a.id = #{article_id}-->
-<!--    </select>-->
-<!--     &lt;!&ndash; and at.language = #{lang} &ndash;&gt;-->
-<!--     &lt;!&ndash; 查 翻译集合 (子查询) &ndash;&gt;-->
-<!--    <select id="queryTranslationsById" resultType="java.util.LinkedHashMap">-->
-<!--        SELECT <include refid="includeArticleTranslation" />-->
-<!--        FROM cms_article_i18n-->
-<!--        WHERE article_id = #{id}-->
-<!--    </select>-->
-
-
-<!--    &lt;!&ndash; 查 详情 (公共) (带翻译 Object) (关联查询) &ndash;&gt;-->
-<!--    <select id="queryArticleDetailPublic" resultMap="resultMapArticle">-->
-<!--        SELECT <include refid="includeArticle" />, content-->
-<!--        FROM cms_article a-->
-<!--        <include refid="leftJoinCategory" />-->
-<!--        <include refid="leftJoinUser" />-->
-<!--        <include refid="leftJoinTranslations" />-->
-<!--        WHERE a.id = #{article_id} AND at.language = #{lang}-->
-<!--    </select>-->
-
-
-<!--    &lt;!&ndash; 审核功能,参考 /System/SysUserMapper.xml &ndash;&gt;-->
-
-<!--    <insert id="insertArticle" parameterType="com.backendsys.entity.Cms.CmsArticleDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="article_id">-->
-<!--        INSERT INTO cms_article (-->
-<!--            user_id, category_id-->
-<!--            <if test="meta_keyword != null and meta_keyword != ''">, meta_keyword</if>-->
-<!--            <if test="meta_description != null and meta_description != ''">, meta_description</if>-->
-<!--            <if test="status != null and status != ''">, status</if>-->
-<!--            <if test="is_top != null and is_top != ''">, is_top</if>-->
-<!--        )-->
-<!--        VALUES (-->
-<!--            #{user_id}, #{category_id}-->
-<!--            <if test="meta_keyword != null and meta_keyword != ''">, #{meta_keyword}</if>-->
-<!--            <if test="meta_description != null and meta_description != ''">, #{meta_description}</if>-->
-<!--            <if test="status != null and status != ''">, #{status}</if>-->
-<!--            <if test="is_top != null and is_top != ''">, #{is_top}</if>-->
-<!--        );-->
-<!--    </insert>-->
-<!--    <insert id="insertArticleTranslations" parameterType="java.util.List">-->
-<!--        INSERT INTO cms_article_i18n (-->
-<!--            article_id, language, title, content, description-->
-<!--        )-->
-<!--        VALUES -->
-<!--        <foreach collection="translations" item="translation" separator=",">-->
-<!--            (#{translation.article_id}, #{translation.language}, #{translation.title}, #{translation.content}, #{translation.description})-->
-<!--        </foreach>-->
-<!--    </insert>-->
-
-
-<!--    <update id="updateArticle" parameterType="com.backendsys.entity.Cms.CmsArticleDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="article_id">-->
-<!--        UPDATE cms_article-->
-<!--        SET-->
-<!--            category_id = #{category_id}-->
-<!--            <if test="meta_keyword != null and meta_keyword != ''">, meta_keyword = #{meta_keyword}</if>-->
-<!--            <if test="meta_description != null and meta_description != ''">, meta_description = #{meta_description}</if>-->
-<!--            <if test="status != null and status != ''">, status = #{status}</if>-->
-<!--            <if test="is_top != null and is_top != ''">, is_top = #{is_top}</if>-->
-<!--        WHERE id = #{article_id};-->
-
-<!--        <foreach collection="translations" item="translation" separator=";">-->
-<!--            UPDATE cms_article_i18n-->
-<!--            <set>-->
-<!--                title = #{translation.title},-->
-<!--                content = #{translation.content},-->
-<!--                <if test="translation.description != null and translation.description != ''">-->
-<!--                    description = #{translation.description}-->
-<!--                </if>-->
-<!--            </set>-->
-<!--            WHERE article_id = ${article_id} AND language = #{translation.language}-->
-<!--        </foreach>-->
-
-<!--    </update>-->
-<!--    &lt;!&ndash; <if test="audit_status != null and audit_status != ''">, audit_status = #{audit_status}</if> &ndash;&gt;-->
-
-<!--    &lt;!&ndash; 删除 &ndash;&gt;-->
-<!--    <delete id="deleteArticle" parameterType="java.lang.Long">-->
-<!--        DELETE FROM cms_article WHERE id = #{article_id};-->
-<!--        DELETE FROM cms_article_i18n WHERE article_id = #{article_id};-->
-<!--    </delete>-->
-
-<!--    &lt;!&ndash; 删除 (批量) &ndash;&gt;-->
-<!--    <delete id="deleteArticleBatch" parameterType="java.lang.Long">-->
-<!--        DELETE FROM cms_article WHERE id IN-->
-<!--        <foreach collection="ids" item="id" open="(" separator="," close=")">-->
-<!--            #{id}-->
-<!--        </foreach>;-->
-
-<!--        DELETE FROM cms_article_i18n WHERE article_id IN-->
-<!--        <foreach collection="ids" item="id" open="(" separator="," close=")">-->
-<!--            #{id}-->
-<!--        </foreach>;-->
-<!--    </delete>-->
-
-<!--</mapper>-->

+ 0 - 16
src/main/java/com/backendsys/mapper/Cms/CmsBannerMapper.java

@@ -1,16 +0,0 @@
-//package com.backendsys.mapper.Cms;
-//
-//import com.backendsys.entity.Cms.CmsBannerDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface CmsBannerMapper {
-//    List<Map<String, Object>> queryBannerList(CmsBannerDTO cmsBannerDTO);
-//    Map<String, Object> queryBannerDetail(Long id);
-//    long insertBanner(CmsBannerDTO cmsBannerDTO);
-//    long deleteBanner(CmsBannerDTO cmsBannerDTO);
-//    long updateBanner(CmsBannerDTO cmsBannerDTO);
-//}

+ 0 - 93
src/main/java/com/backendsys/mapper/Cms/CmsBannerMapper.xml

@@ -1,93 +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="com.backendsys.mapper.Cms.CmsBannerMapper">-->
-
-<!--    <sql id="includeBanner">-->
-<!--        id,-->
-<!--        id banner_id,-->
-<!--        title,-->
-<!--        type,-->
-<!--        link,-->
-<!--        image,-->
-<!--        image_thumb,-->
-<!--        sort,-->
-<!--        status,-->
-<!--        create_time,-->
-<!--        update_time-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapBanner" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="banner_id" column="banner_id" javaType="java.lang.Long"/>-->
-<!--        <result property="title" column="title" />-->
-<!--        <result property="type" column="type" javaType="java.lang.Integer"/>-->
-<!--        <result property="link" column="link" />-->
-<!--        <result property="image" column="image" />-->
-<!--        <result property="image_thumb" column="image_thumb" />-->
-<!--        <result property="sort" column="sort" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--    </resultMap>-->
-
-<!--    <select id="queryBannerList" resultMap="resultMapBanner">-->
-<!--        SELECT-->
-<!--           <include refid="includeBanner" />-->
-<!--        FROM cms_banner-->
-<!--        <where>-->
-<!--            <if test="title != null and title != ''">-->
-<!--                AND title LIKE CONCAT('%', #{title}, '%')-->
-<!--            </if>-->
-<!--            <if test="status != null and status != ''">-->
-<!--                AND status = #{status}-->
-<!--            </if>-->
-<!--            <if test="create_time != null and create_time != ''">-->
-<!--                AND create_time >= #{create_time}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY update_time DESC-->
-<!--    </select>-->
-
-<!--    <select id="queryBannerDetail" resultMap="resultMapBanner">-->
-<!--        SELECT <include refid="includeBanner" />-->
-<!--        FROM cms_banner-->
-<!--        WHERE id = #{banner_id}-->
-<!--    </select>-->
-
-<!--    <insert id="insertBanner" parameterType="com.backendsys.entity.Cms.CmsBannerDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="banner_id">-->
-<!--        INSERT INTO cms_banner (-->
-<!--            title, image, image_thumb-->
-<!--            <if test="type != null and type != ''">, type</if>-->
-<!--            <if test="link != null and link != ''">, link</if>-->
-<!--            <if test="sort != null and sort != ''">, sort</if>-->
-<!--            <if test="status != null and status != ''">, status</if>-->
-<!--        )-->
-<!--        VALUES (-->
-<!--            #{title}, #{image}, #{image_thumb}-->
-<!--            <if test="type != null and type != ''">, #{type}</if>-->
-<!--            <if test="link != null and link != ''">, #{link}</if>-->
-<!--            <if test="sort != null and sort != ''">, #{sort}</if>-->
-<!--            <if test="status != null and status != ''">, #{status}</if>-->
-<!--        );-->
-<!--    </insert>-->
-
-<!--    <update id="updateBanner" parameterType="com.backendsys.entity.Cms.CmsBannerDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="banner_id">-->
-<!--        UPDATE cms_banner-->
-<!--        SET-->
-<!--            title = #{title},-->
-<!--            image = #{image},-->
-<!--            image_thumb = #{image_thumb}-->
-<!--            <if test="type != null and type != ''">, type = #{type}</if>-->
-<!--            <if test="link != null and link != ''">, link = #{link}</if>-->
-<!--            <if test="sort != null and sort != ''">, sort = #{sort}</if>-->
-<!--            <if test="status != null and status != ''">, status = #{status}</if>-->
-<!--        WHERE id = #{banner_id}-->
-<!--    </update>-->
-
-<!--    <delete id="deleteBanner" >-->
-<!--        DELETE FROM cms_banner WHERE id = #{banner_id}-->
-<!--    </delete>-->
-
-<!--</mapper>-->

+ 0 - 15
src/main/java/com/backendsys/mapper/Cms/CmsPageMapper.java

@@ -1,15 +0,0 @@
-//package com.backendsys.mapper.Cms;
-//
-//import com.backendsys.entity.Cms.CmsPageDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface CmsPageMapper {
-//    List<Map<String, Object>> queryPageList(CmsPageDTO cmsPageDTO);
-//    Map<String, Object> queryPageDetailPublic(CmsPageDTO cmsPageDTO);
-//    Map<String, Object> queryPageDetail(CmsPageDTO cmsPageDTO);
-//    long updatePage(CmsPageDTO cmsPageDTO);
-//}

+ 0 - 109
src/main/java/com/backendsys/mapper/Cms/CmsPageMapper.xml

@@ -1,109 +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="com.backendsys.mapper.Cms.CmsPageMapper">-->
-
-<!--    -->
-<!--    <sql id="includePage">-->
-<!--        p.id id,-->
-<!--        p.id page_id,-->
-<!--        pt.title title,-->
-<!--        COALESCE(pt.description, '') description,-->
-<!--        p.create_time create_time,-->
-<!--        p.update_time update_time-->
-<!--    </sql>-->
-
-<!--    <sql id="includePageDetail">-->
-<!--        p.id id,-->
-<!--        p.id page_id,-->
-<!--        p.create_time create_time,-->
-<!--        p.update_time update_time-->
-<!--    </sql>-->
-<!--    -->
-<!--    <sql id="includePageTranslation">-->
-<!--        id,-->
-<!--        page_id,-->
-<!--        language,-->
-<!--        title,-->
-<!--        description,-->
-<!--        content-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapPage" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="page_id" column="page_id" javaType="java.lang.Long"/>-->
-<!--        <result property="title" column="title" />-->
-<!--        <result property="description" column="description" />-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--    </resultMap>-->
-
-<!--    <resultMap id="resultMapPageDetail" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="page_id" column="page_id" javaType="java.lang.Long"/>-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--        <collection property="translations" javaType="java.util.List"-->
-<!--            select="queryTranslationsById" column="id">-->
-<!--            <id property="id" column="id" />-->
-<!--            <result property="title" column="title" />-->
-<!--            <result property="content" column="content" />-->
-<!--            <result property="description" column="description" />-->
-<!--        </collection>-->
-<!--    </resultMap>-->
-
-<!--    <sql id="leftJoinTranslations">-->
-<!--        LEFT JOIN cms_page_translations pt ON p.id = pt.page_id-->
-<!--    </sql>-->
-
-
-
-<!--    &lt;!&ndash; 查 列表 &ndash;&gt;-->
-<!--    <select id="queryPageList" resultMap="resultMapPage">-->
-<!--        SELECT-->
-<!--           <include refid="includePage" />-->
-<!--        FROM cms_article p-->
-<!--        <include refid="leftJoinTranslations" />-->
-<!--        WHERE pt.language = #{lang}-->
-<!--    </select>-->
-
-
-<!--    &lt;!&ndash; 查 详情 (带翻译 Array) (二次查询) &ndash;&gt;-->
-<!--    <select id="queryPageDetail" resultMap="resultMapPageDetail">-->
-<!--        SELECT <include refid="includePageDetail" />-->
-<!--        FROM cms_page p-->
-<!--        WHERE p.page_sign = #{page_sign}-->
-<!--    </select>-->
-<!--    &lt;!&ndash; 查 翻译集合 (子查询) &ndash;&gt;-->
-<!--    <select id="queryTranslationsById" resultType="java.util.LinkedHashMap">-->
-<!--        SELECT <include refid="includePageTranslation" />-->
-<!--        FROM cms_page_translations-->
-<!--        WHERE page_id = #{id}-->
-<!--    </select>-->
-
-
-<!--    &lt;!&ndash; 查 详情 (公共) (带翻译 Object) (关联查询) &ndash;&gt;-->
-<!--    <select id="queryPageDetailPublic" resultMap="resultMapPage">-->
-<!--        SELECT <include refid="includePage" />, content-->
-<!--        FROM cms_page p-->
-<!--        <include refid="leftJoinTranslations" />-->
-<!--        WHERE p.page_sign = #{page_sign} AND pt.language = #{lang}-->
-<!--    </select>-->
-<!--    -->
-
-<!--    &lt;!&ndash; 改 &ndash;&gt;-->
-<!--    <update id="updatePage" parameterType="com.backendsys.entity.Cms.CmsPageDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="page_id">-->
-<!--        <foreach collection="translations" item="translation" separator=";">-->
-<!--            UPDATE cms_page_translations-->
-<!--            <set>-->
-<!--                title = #{translation.title},-->
-<!--                content = #{translation.content},-->
-<!--                <if test="translation.description != null and translation.description != ''">-->
-<!--                    description = #{translation.description}-->
-<!--                </if>-->
-<!--            </set>-->
-<!--            WHERE page_sign = ${page_sign} AND language = #{translation.language}-->
-<!--        </foreach>-->
-<!--    </update>-->
-
-<!--</mapper>-->

+ 0 - 14
src/main/java/com/backendsys/mapper/Cms/CmsSiteInfoMapper.java

@@ -1,14 +0,0 @@
-//package com.backendsys.mapper.Cms;
-//
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import com.backendsys.entity.Cms.CmsSiteInfoDTO;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface CmsSiteInfoMapper {
-//    List<Map<String, Object>> querySiteInfoList(CmsSiteInfoDTO cmsSiteInfoDTO);
-//    long updateSiteInfo(CmsSiteInfoDTO cmsSiteInfoDTO);
-//}

+ 0 - 43
src/main/java/com/backendsys/mapper/Cms/CmsSiteInfoMapper.xml

@@ -1,43 +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="com.backendsys.mapper.Cms.CmsSiteInfoMapper">-->
-
-<!--    <sql id="includeSiteInfo">-->
-<!--        id,-->
-<!--        name,-->
-<!--        COALESCE(meta_keyword, '') meta_keyword,-->
-<!--        COALESCE(meta_description, '') meta_description,-->
-<!--        COALESCE(copyright, '') copyright,-->
-<!--        COALESCE(icp, '') icp,-->
-<!--        status-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapSiteInfo" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT"/>-->
-<!--        <result property="name" column="name" />-->
-<!--        <result property="meta_keyword" column="meta_keyword" />-->
-<!--        <result property="meta_description" column="meta_description" />-->
-<!--        <result property="copyright" column="copyright" />-->
-<!--        <result property="icp" column="icp" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
-<!--    </resultMap>-->
-
-<!--    <select id="querySiteInfoList" resultMap="resultMapSiteInfo">-->
-<!--        SELECT <include refid="includeSiteInfo" />-->
-<!--        FROM cms_site_info-->
-<!--        LIMIT 1-->
-<!--    </select>-->
-
-<!--    <update id="updateSiteInfo" parameterType="com.backendsys.entity.Cms.CmsSiteInfoDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="site_info_id">-->
-<!--        UPDATE cms_site_info-->
-<!--        SET name = #{name}-->
-<!--            <if test="meta_keyword != null and meta_keyword != ''">, meta_keyword = #{meta_keyword}</if>-->
-<!--            <if test="meta_description != null and meta_description != ''">, meta_description = #{meta_description}</if>-->
-<!--            <if test="copyright != null and copyright != ''">, copyright = #{copyright}</if>-->
-<!--            <if test="icp != null and icp != ''">, icp = #{icp}</if>-->
-<!--            <if test="status != null and status != ''">, status = #{status}</if>-->
-<!--        WHERE id = #{id}-->
-<!--    </update>-->
-
-<!--</mapper>-->

+ 16 - 16
src/main/java/com/backendsys/mapper/Med/MedMaterialCategoryMapper.java

@@ -1,16 +1,16 @@
-package com.backendsys.mapper.Med;
-
-import com.backendsys.entity.Med.MedMaterialCategoryDTO;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface MedMaterialCategoryMapper {
-    List<Map<String, Object>> queryMaterialCategoryList(MedMaterialCategoryDTO medMaterialCategoryDTO);
-    Map<String, Object> queryMaterialCategoryDetail(Long material_category_id);
-    long insertMaterialCategory(MedMaterialCategoryDTO medMaterialCategoryDTO);
-    long deleteMaterialCategory(MedMaterialCategoryDTO medMaterialCategoryDTO);
-    long updateMaterialCategory(MedMaterialCategoryDTO medMaterialCategoryDTO);
-}
+//package com.backendsys.mapper.Med;
+//
+//import com.backendsys.entity.Med.MedMaterialCategoryDTO;
+//import org.apache.ibatis.annotations.Mapper;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Mapper
+//public interface MedMaterialCategoryMapper {
+//    List<Map<String, Object>> queryMaterialCategoryList(MedMaterialCategoryDTO medMaterialCategoryDTO);
+//    Map<String, Object> queryMaterialCategoryDetail(Long material_category_id);
+//    long insertMaterialCategory(MedMaterialCategoryDTO medMaterialCategoryDTO);
+//    long deleteMaterialCategory(MedMaterialCategoryDTO medMaterialCategoryDTO);
+//    long updateMaterialCategory(MedMaterialCategoryDTO medMaterialCategoryDTO);
+//}

+ 75 - 75
src/main/java/com/backendsys/mapper/Med/MedMaterialCategoryMapper.xml

@@ -1,84 +1,84 @@
-<?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="com.backendsys.mapper.Med.MedMaterialCategoryMapper">
+<!--<?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="com.backendsys.mapper.Med.MedMaterialCategoryMapper">-->
 
-    <sql id="includeMaterialCategory">
-        id,
-        id material_category_id,
-        COALESCE(parent_id, '') parent_id,
-        category_name,
-        COALESCE(category_description, '') category_description,
-        sort,
-        status
-    </sql>
+<!--    <sql id="includeMaterialCategory">-->
+<!--        id,-->
+<!--        id material_category_id,-->
+<!--        COALESCE(parent_id, '') parent_id,-->
+<!--        category_name,-->
+<!--        COALESCE(category_description, '') category_description,-->
+<!--        sort,-->
+<!--        status-->
+<!--    </sql>-->
 
-    <resultMap id="resultMapMaterialCategory" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT"/>
-        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>
-        <result property="category_name" column="category_name" />
-        <result property="category_description" column="category_description" />
-        <result property="sort" column="sort" javaType="java.lang.Integer" />
-        <result property="status" column="status" javaType="java.lang.Integer" />
-    </resultMap>
+<!--    <resultMap id="resultMapMaterialCategory" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT"/>-->
+<!--        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_name" column="category_name" />-->
+<!--        <result property="category_description" column="category_description" />-->
+<!--        <result property="sort" column="sort" javaType="java.lang.Integer" />-->
+<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
+<!--    </resultMap>-->
 
-    <resultMap id="resultMapMaterialCategoryDetail" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT"/>
-        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>
-        <result property="category_name" column="category_name" />
-        <result property="category_description" column="category_description" />
-        <result property="sort" column="sort" javaType="java.lang.Integer" />
-        <result property="status" column="status" javaType="java.lang.Integer" />
-    </resultMap>
+<!--    <resultMap id="resultMapMaterialCategoryDetail" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT"/>-->
+<!--        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_name" column="category_name" />-->
+<!--        <result property="category_description" column="category_description" />-->
+<!--        <result property="sort" column="sort" javaType="java.lang.Integer" />-->
+<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
+<!--    </resultMap>-->
 
-    <select id="queryMaterialCategoryList" resultMap="resultMapMaterialCategory">
-        SELECT <include refid="includeMaterialCategory" />
-        FROM med_material_category
-        <where>
-            <if test="category_name != null and category_name != ''">
-                AND category_name LIKE CONCAT('%', #{category_name}, '%')
-            </if>
-            <if test="status != null and status != ''">
-                AND status = #{status}
-            </if>
-        </where>
-        ORDER BY sort DESC
-    </select>
+<!--    <select id="queryMaterialCategoryList" resultMap="resultMapMaterialCategory">-->
+<!--        SELECT <include refid="includeMaterialCategory" />-->
+<!--        FROM med_material_category-->
+<!--        <where>-->
+<!--            <if test="category_name != null and category_name != ''">-->
+<!--                AND category_name LIKE CONCAT('%', #{category_name}, '%')-->
+<!--            </if>-->
+<!--            <if test="status != null and status != ''">-->
+<!--                AND status = #{status}-->
+<!--            </if>-->
+<!--        </where>-->
+<!--        ORDER BY sort DESC-->
+<!--    </select>-->
 
-    <select id="queryMaterialCategoryDetail" resultMap="resultMapMaterialCategoryDetail">
-        SELECT <include refid="includeMaterialCategory" />
-        FROM med_material_category
-        WHERE id = #{material_category_id}
-    </select>
+<!--    <select id="queryMaterialCategoryDetail" resultMap="resultMapMaterialCategoryDetail">-->
+<!--        SELECT <include refid="includeMaterialCategory" />-->
+<!--        FROM med_material_category-->
+<!--        WHERE id = #{material_category_id}-->
+<!--    </select>-->
 
-    <insert id="insertMaterialCategory" parameterType="com.backendsys.entity.Med.MedMaterialCategoryDTO"
-        useGeneratedKeys="true" keyProperty="material_category_id">
-        INSERT INTO med_material_category (category_name
-            <if test="category_description != null and category_description != ''">, category_description</if>
-            <if test="parent_id != null and parent_id != ''">, parent_id</if>
-            <if test="sort != null and sort != ''">, sort</if>
-            <if test="status != null and status != ''">, status</if>
-        )
-        VALUES (#{category_name}
-            <if test="category_description != null and category_description != ''">, #{category_description}</if>
-            <if test="parent_id != null and parent_id != ''">, #{parent_id}</if>
-            <if test="sort != null and sort != ''">, #{sort}</if>
-            <if test="status != null and status != ''">, #{status}</if>
-        )
-    </insert>
+<!--    <insert id="insertMaterialCategory" parameterType="com.backendsys.entity.Med.MedMaterialCategoryDTO"-->
+<!--        useGeneratedKeys="true" keyProperty="material_category_id">-->
+<!--        INSERT INTO med_material_category (category_name-->
+<!--            <if test="category_description != null and category_description != ''">, category_description</if>-->
+<!--            <if test="parent_id != null and parent_id != ''">, parent_id</if>-->
+<!--            <if test="sort != null and sort != ''">, sort</if>-->
+<!--            <if test="status != null and status != ''">, status</if>-->
+<!--        )-->
+<!--        VALUES (#{category_name}-->
+<!--            <if test="category_description != null and category_description != ''">, #{category_description}</if>-->
+<!--            <if test="parent_id != null and parent_id != ''">, #{parent_id}</if>-->
+<!--            <if test="sort != null and sort != ''">, #{sort}</if>-->
+<!--            <if test="status != null and status != ''">, #{status}</if>-->
+<!--        )-->
+<!--    </insert>-->
 
-    <update id="updateMaterialCategory" parameterType="com.backendsys.entity.Med.MedMaterialCategoryDTO"
-        useGeneratedKeys="true" keyProperty="material_category_id">
-        UPDATE med_material_category
-        SET category_name = #{category_name}
-            <if test="category_description != null and category_description != ''">, category_description = #{category_description}</if>
-            <if test="parent_id != null and parent_id != ''">, parent_id = #{parent_id}</if>
-            <if test="sort != null and sort != ''">, sort = #{sort}</if>
-            <if test="status != null and status != ''">, status = #{status}</if>
-        WHERE id = #{material_category_id}
-    </update>
+<!--    <update id="updateMaterialCategory" parameterType="com.backendsys.entity.Med.MedMaterialCategoryDTO"-->
+<!--        useGeneratedKeys="true" keyProperty="material_category_id">-->
+<!--        UPDATE med_material_category-->
+<!--        SET category_name = #{category_name}-->
+<!--            <if test="category_description != null and category_description != ''">, category_description = #{category_description}</if>-->
+<!--            <if test="parent_id != null and parent_id != ''">, parent_id = #{parent_id}</if>-->
+<!--            <if test="sort != null and sort != ''">, sort = #{sort}</if>-->
+<!--            <if test="status != null and status != ''">, status = #{status}</if>-->
+<!--        WHERE id = #{material_category_id}-->
+<!--    </update>-->
 
-    <delete id="deleteMaterialCategory">
-        DELETE FROM med_material_category WHERE id = #{material_category_id}
-    </delete>
+<!--    <delete id="deleteMaterialCategory">-->
+<!--        DELETE FROM med_material_category WHERE id = #{material_category_id}-->
+<!--    </delete>-->
 
-</mapper>
+<!--</mapper>-->

+ 18 - 18
src/main/java/com/backendsys/mapper/Med/MedMaterialMapper.java

@@ -1,18 +1,18 @@
-package com.backendsys.mapper.Med;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.backendsys.entity.Med.MedMaterialDTO;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface MedMaterialMapper {
-    List<Map<String, Object>> queryMaterialList(MedMaterialDTO medMaterialDTO);
-    Map<String, Object> queryMaterialDetail(MedMaterialDTO medMaterialDTO);
-    long insertMaterial(MedMaterialDTO medMaterialDTO);
-    long auditMaterial(MedMaterialDTO medMaterialDTO);
-    long deleteMaterial(MedMaterialDTO medMaterialDTO);
-    long deleteMaterialBatch(List<Long> ids);
-    long updateMaterial(MedMaterialDTO medMaterialDTO);
-}
+//package com.backendsys.mapper.Med;
+//
+//import org.apache.ibatis.annotations.Mapper;
+//import com.backendsys.entity.Med.MedMaterialDTO;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Mapper
+//public interface MedMaterialMapper {
+//    List<Map<String, Object>> queryMaterialList(MedMaterialDTO medMaterialDTO);
+//    Map<String, Object> queryMaterialDetail(MedMaterialDTO medMaterialDTO);
+//    long insertMaterial(MedMaterialDTO medMaterialDTO);
+//    long auditMaterial(MedMaterialDTO medMaterialDTO);
+//    long deleteMaterial(MedMaterialDTO medMaterialDTO);
+//    long deleteMaterialBatch(List<Long> ids);
+//    long updateMaterial(MedMaterialDTO medMaterialDTO);
+//}

+ 170 - 170
src/main/java/com/backendsys/mapper/Med/MedMaterialMapper.xml

@@ -1,184 +1,184 @@
-<?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="com.backendsys.mapper.Med.MedMaterialMapper">
+<!--<?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="com.backendsys.mapper.Med.MedMaterialMapper">-->
 
-    <sql id="includeMaterial">
-        m.id id,
-        m.id material_id,
-        mc.id category_id,
-        mc.category_name category_name,
-        m.title title,
-        COALESCE(m.description, '') description,
-        COALESCE(m.thumb, '') thumb,
-        m.material_type material_type,
-        <!-- COALESCE(m.content, '') content, -->
-        <!-- COALESCE(m.file, '') file, -->
-        m.is_top is_top,
-        m.status status,
-        m.audit_status audit_status,
-        m.create_time create_time,
-        m.update_time update_time
-    </sql>
+<!--    <sql id="includeMaterial">-->
+<!--        m.id id,-->
+<!--        m.id material_id,-->
+<!--        mc.id category_id,-->
+<!--        mc.category_name category_name,-->
+<!--        m.title title,-->
+<!--        COALESCE(m.description, '') description,-->
+<!--        COALESCE(m.thumb, '') thumb,-->
+<!--        m.material_type material_type,-->
+<!--        &lt;!&ndash; COALESCE(m.content, '') content, &ndash;&gt;-->
+<!--        &lt;!&ndash; COALESCE(m.file, '') file, &ndash;&gt;-->
+<!--        m.is_top is_top,-->
+<!--        m.status status,-->
+<!--        m.audit_status audit_status,-->
+<!--        m.create_time create_time,-->
+<!--        m.update_time update_time-->
+<!--    </sql>-->
 
-    <sql id="includeMaterialDetail">
-        m.id id,
-        m.id material_id,
-        mc.id category_id,
-        mc.category_name category_name,
-        m.title title,
-        COALESCE(m.description, '') description,
-        COALESCE(m.thumb, '') thumb,
-        m.material_type material_type,
-        COALESCE(m.content, '') content,
-        COALESCE(m.file, '') file,
-        m.is_top is_top,
-        m.status status,
-        m.audit_status audit_status,
-        m.create_time create_time,
-        m.update_time update_time
-    </sql>
-    
+<!--    <sql id="includeMaterialDetail">-->
+<!--        m.id id,-->
+<!--        m.id material_id,-->
+<!--        mc.id category_id,-->
+<!--        mc.category_name category_name,-->
+<!--        m.title title,-->
+<!--        COALESCE(m.description, '') description,-->
+<!--        COALESCE(m.thumb, '') thumb,-->
+<!--        m.material_type material_type,-->
+<!--        COALESCE(m.content, '') content,-->
+<!--        COALESCE(m.file, '') file,-->
+<!--        m.is_top is_top,-->
+<!--        m.status status,-->
+<!--        m.audit_status audit_status,-->
+<!--        m.create_time create_time,-->
+<!--        m.update_time update_time-->
+<!--    </sql>-->
+<!--    -->
 
-    <resultMap id="resultMapMaterial" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="material_id" column="material_id" javaType="java.lang.Long"/>
-        <result property="category_id" column="category_id" javaType="java.lang.Long"/>
-        <result property="category_name" column="category_name" />
-        <result property="title" column="title" />
-        <result property="description" column="description" />
-        <result property="thumb" column="thumb" />
-        <result property="material_type" column="material_type" javaType="java.lang.Integer"/>
-        <!-- <result property="content" column="content" /> -->
-        <!-- <result property="file" column="file" /> -->
-        <result property="is_top" column="is_top" javaType="java.lang.Integer"/>
-        <result property="status" column="status" javaType="java.lang.Integer"/>
-        <result property="audit_status" column="audit_status" javaType="java.lang.Integer"/>
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
-    </resultMap>
+<!--    <resultMap id="resultMapMaterial" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="material_id" column="material_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_name" column="category_name" />-->
+<!--        <result property="title" column="title" />-->
+<!--        <result property="description" column="description" />-->
+<!--        <result property="thumb" column="thumb" />-->
+<!--        <result property="material_type" column="material_type" javaType="java.lang.Integer"/>-->
+<!--        &lt;!&ndash; <result property="content" column="content" /> &ndash;&gt;-->
+<!--        &lt;!&ndash; <result property="file" column="file" /> &ndash;&gt;-->
+<!--        <result property="is_top" column="is_top" javaType="java.lang.Integer"/>-->
+<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
+<!--        <result property="audit_status" column="audit_status" javaType="java.lang.Integer"/>-->
+<!--        <result property="create_time" column="create_time" />-->
+<!--        <result property="update_time" column="update_time" />-->
+<!--    </resultMap>-->
 
-    <resultMap id="resultMapMaterialDetail" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="material_id" column="material_id" javaType="java.lang.Long"/>
-        <result property="category_id" column="category_id" javaType="java.lang.Long"/>
-        <result property="category_name" column="category_name" />
-        <result property="title" column="title" />
-        <result property="description" column="description" />
-        <result property="thumb" column="thumb" />
-        <result property="material_type" column="material_type" javaType="java.lang.Integer" />
-        <result property="content" column="content" />
-        <result property="file" column="file" />
-        <result property="is_top" column="is_top" javaType="java.lang.Integer"/>
-        <result property="status" column="status" javaType="java.lang.Integer"/>
-        <result property="audit_status" column="audit_status" javaType="java.lang.Integer"/>
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
-    </resultMap>
+<!--    <resultMap id="resultMapMaterialDetail" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="material_id" column="material_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_name" column="category_name" />-->
+<!--        <result property="title" column="title" />-->
+<!--        <result property="description" column="description" />-->
+<!--        <result property="thumb" column="thumb" />-->
+<!--        <result property="material_type" column="material_type" javaType="java.lang.Integer" />-->
+<!--        <result property="content" column="content" />-->
+<!--        <result property="file" column="file" />-->
+<!--        <result property="is_top" column="is_top" javaType="java.lang.Integer"/>-->
+<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
+<!--        <result property="audit_status" column="audit_status" javaType="java.lang.Integer"/>-->
+<!--        <result property="create_time" column="create_time" />-->
+<!--        <result property="update_time" column="update_time" />-->
+<!--    </resultMap>-->
 
-    <sql id="leftJoinCategory">
-        LEFT JOIN med_material_category mc ON m.category_id = mc.id
-    </sql>
+<!--    <sql id="leftJoinCategory">-->
+<!--        LEFT JOIN med_material_category mc ON m.category_id = mc.id-->
+<!--    </sql>-->
 
-    <!-- 查 列表 -->
-    <select id="queryMaterialList" resultMap="resultMapMaterial">
-        SELECT
-           <include refid="includeMaterial" />
-        FROM med_material m
-        <include refid="leftJoinCategory" />
-        <where>
-            <if test="title != null and title != ''">
-                AND m.title LIKE CONCAT('%', #{title}, '%')
-            </if>
-            <if test="description != null and description != ''">
-                AND m.description LIKE CONCAT('%', #{description}, '%')
-            </if>
-            <if test="category_id != null and category_id != ''">
-                AND m.category_id = #{category_id}
-            </if>
-            <if test="status != null and status != ''">
-                AND m.status = #{status}
-            </if>
-            <if test="audit_status != null and audit_status != ''">
-                AND m.audit_status = #{audit_status}
-            </if>
-            <if test="create_time != null and create_time != ''">
-                AND m.create_time >= #{create_time}
-            </if>
-        </where>
-        ORDER BY m.is_top = 1 DESC, m.update_time DESC
-    </select>
+<!--    &lt;!&ndash; 查 列表 &ndash;&gt;-->
+<!--    <select id="queryMaterialList" resultMap="resultMapMaterial">-->
+<!--        SELECT-->
+<!--           <include refid="includeMaterial" />-->
+<!--        FROM med_material m-->
+<!--        <include refid="leftJoinCategory" />-->
+<!--        <where>-->
+<!--            <if test="title != null and title != ''">-->
+<!--                AND m.title LIKE CONCAT('%', #{title}, '%')-->
+<!--            </if>-->
+<!--            <if test="description != null and description != ''">-->
+<!--                AND m.description LIKE CONCAT('%', #{description}, '%')-->
+<!--            </if>-->
+<!--            <if test="category_id != null and category_id != ''">-->
+<!--                AND m.category_id = #{category_id}-->
+<!--            </if>-->
+<!--            <if test="status != null and status != ''">-->
+<!--                AND m.status = #{status}-->
+<!--            </if>-->
+<!--            <if test="audit_status != null and audit_status != ''">-->
+<!--                AND m.audit_status = #{audit_status}-->
+<!--            </if>-->
+<!--            <if test="create_time != null and create_time != ''">-->
+<!--                AND m.create_time >= #{create_time}-->
+<!--            </if>-->
+<!--        </where>-->
+<!--        ORDER BY m.is_top = 1 DESC, m.update_time DESC-->
+<!--    </select>-->
 
-    <select id="queryMaterialDetail" resultMap="resultMapMaterialDetail">
-        SELECT <include refid="includeMaterialDetail" />
-        FROM med_material m
-        <include refid="leftJoinCategory" />
-        WHERE m.id = #{material_id}
-    </select>
+<!--    <select id="queryMaterialDetail" resultMap="resultMapMaterialDetail">-->
+<!--        SELECT <include refid="includeMaterialDetail" />-->
+<!--        FROM med_material m-->
+<!--        <include refid="leftJoinCategory" />-->
+<!--        WHERE m.id = #{material_id}-->
+<!--    </select>-->
 
 
-    <insert id="insertMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO"
-        useGeneratedKeys="true" keyProperty="material_id">
-        INSERT INTO med_material (
-            category_id, title, material_type
-            <if test="description != null and description != ''">, description</if>
-            <if test="thumb != null and thumb != ''">, thumb</if>
-            <if test="content != null and content != ''">, content</if>
-            <if test="file != null and file != ''">, file</if>
-            <if test="is_top != null and is_top != ''">, is_top</if>
-            <!-- <if test="audit_status != null and audit_status != ''">, audit_status</if> -->
-            <if test="status != null and status != ''">, status</if>
-        )
-        VALUES (
-            #{category_id}, #{title}, #{material_type}
-            <if test="description != null and description != ''">, #{description}</if>
-            <if test="thumb != null and thumb != ''">, #{thumb}</if>
-            <if test="content != null and content != ''">, #{content}</if>
-            <if test="file != null and file != ''">, #{file}</if>
-            <if test="is_top != null and is_top != ''">, #{is_top}</if>
-            <!-- <if test="audit_status != null and audit_status != ''">, #{audit_status}</if> -->
-            <if test="status != null and status != ''">, #{status}</if>
-        );
-    </insert>
+<!--    <insert id="insertMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO"-->
+<!--        useGeneratedKeys="true" keyProperty="material_id">-->
+<!--        INSERT INTO med_material (-->
+<!--            category_id, title, material_type-->
+<!--            <if test="description != null and description != ''">, description</if>-->
+<!--            <if test="thumb != null and thumb != ''">, thumb</if>-->
+<!--            <if test="content != null and content != ''">, content</if>-->
+<!--            <if test="file != null and file != ''">, file</if>-->
+<!--            <if test="is_top != null and is_top != ''">, is_top</if>-->
+<!--            &lt;!&ndash; <if test="audit_status != null and audit_status != ''">, audit_status</if> &ndash;&gt;-->
+<!--            <if test="status != null and status != ''">, status</if>-->
+<!--        )-->
+<!--        VALUES (-->
+<!--            #{category_id}, #{title}, #{material_type}-->
+<!--            <if test="description != null and description != ''">, #{description}</if>-->
+<!--            <if test="thumb != null and thumb != ''">, #{thumb}</if>-->
+<!--            <if test="content != null and content != ''">, #{content}</if>-->
+<!--            <if test="file != null and file != ''">, #{file}</if>-->
+<!--            <if test="is_top != null and is_top != ''">, #{is_top}</if>-->
+<!--            &lt;!&ndash; <if test="audit_status != null and audit_status != ''">, #{audit_status}</if> &ndash;&gt;-->
+<!--            <if test="status != null and status != ''">, #{status}</if>-->
+<!--        );-->
+<!--    </insert>-->
 
-    <update id="updateMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO"
-        useGeneratedKeys="true" keyProperty="material_id">
-        UPDATE med_material
-        SET
-            category_id = #{category_id},
-            title = #{title},
-            material_type = #{material_type},
-            <if test="description != null and description != ''">, description = #{description}</if>
-            <if test="thumb != null and thumb != ''">, thumb = #{thumb}</if>
-            <if test="content != null and content != ''">, content = #{content}</if>
-            <if test="file != null and file != ''">, file = #{file}</if>
-            <if test="is_top != null and is_top != ''">, is_top = #{is_top}</if>
-            <!-- <if test="audit_status != null and audit_status != ''">, audit_status = #{audit_status}</if> -->
-            <if test="status != null and status != ''">, status = #{status}</if>
-        WHERE id = #{material_id};
-    </update>
-    <!--  -->
+<!--    <update id="updateMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO"-->
+<!--        useGeneratedKeys="true" keyProperty="material_id">-->
+<!--        UPDATE med_material-->
+<!--        SET-->
+<!--            category_id = #{category_id},-->
+<!--            title = #{title},-->
+<!--            material_type = #{material_type},-->
+<!--            <if test="description != null and description != ''">, description = #{description}</if>-->
+<!--            <if test="thumb != null and thumb != ''">, thumb = #{thumb}</if>-->
+<!--            <if test="content != null and content != ''">, content = #{content}</if>-->
+<!--            <if test="file != null and file != ''">, file = #{file}</if>-->
+<!--            <if test="is_top != null and is_top != ''">, is_top = #{is_top}</if>-->
+<!--            &lt;!&ndash; <if test="audit_status != null and audit_status != ''">, audit_status = #{audit_status}</if> &ndash;&gt;-->
+<!--            <if test="status != null and status != ''">, status = #{status}</if>-->
+<!--        WHERE id = #{material_id};-->
+<!--    </update>-->
+<!--    &lt;!&ndash;  &ndash;&gt;-->
 
-    <!-- 审核 -->
-    <update id="auditMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO">
-        UPDATE med_material SET
-        <trim suffixOverrides="," suffix=" ">
-            <if test="audit_status != null and audit_status != ''">audit_status = #{audit_status},</if>
-            <if test="audit_note != null and audit_note != ''">audit_note = #{audit_note},</if>
-        </trim>
-        WHERE id = #{material_id};
-    </update>
+<!--    &lt;!&ndash; 审核 &ndash;&gt;-->
+<!--    <update id="auditMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO">-->
+<!--        UPDATE med_material SET-->
+<!--        <trim suffixOverrides="," suffix=" ">-->
+<!--            <if test="audit_status != null and audit_status != ''">audit_status = #{audit_status},</if>-->
+<!--            <if test="audit_note != null and audit_note != ''">audit_note = #{audit_note},</if>-->
+<!--        </trim>-->
+<!--        WHERE id = #{material_id};-->
+<!--    </update>-->
 
-    <!-- 删除 -->
-    <delete id="deleteMaterial" parameterType="java.lang.Long">
-        DELETE FROM med_material WHERE id = #{material_id};
-    </delete>
+<!--    &lt;!&ndash; 删除 &ndash;&gt;-->
+<!--    <delete id="deleteMaterial" parameterType="java.lang.Long">-->
+<!--        DELETE FROM med_material WHERE id = #{material_id};-->
+<!--    </delete>-->
 
-    <!-- 删除 (批量) -->
-    <delete id="deleteMaterialBatch" parameterType="java.lang.Long">
-        DELETE FROM med_material WHERE id IN
-        <foreach collection="ids" item="id" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-    </delete>
+<!--    &lt;!&ndash; 删除 (批量) &ndash;&gt;-->
+<!--    <delete id="deleteMaterialBatch" parameterType="java.lang.Long">-->
+<!--        DELETE FROM med_material WHERE id IN-->
+<!--        <foreach collection="ids" item="id" open="(" separator="," close=")">-->
+<!--            #{id}-->
+<!--        </foreach>-->
+<!--    </delete>-->
 
-</mapper>
+<!--</mapper>-->

+ 18 - 18
src/main/java/com/backendsys/mapper/Med/MedMyMaterialMapper.java

@@ -1,18 +1,18 @@
-package com.backendsys.mapper.Med;
-
-import org.apache.ibatis.annotations.Mapper;
-
-import com.backendsys.entity.Med.MedMyMaterialDTO;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface MedMyMaterialMapper {
-    List<Map<String, Object>> queryMyMaterialList(MedMyMaterialDTO medMyMaterialDTO);
-    Map<String, Object> queryMyMaterialDetail(MedMyMaterialDTO medMyMaterialDTO);
-    long insertMyMaterial(MedMyMaterialDTO medMyMaterialDTO);
-    long updateMyMaterial(MedMyMaterialDTO medMyMaterialDTO);
-    long deleteMyMaterial(MedMyMaterialDTO medMyMaterialDTO);
-    long deleteMyMaterialBatch(List<Long> ids);
-}
+//package com.backendsys.mapper.Med;
+//
+//import org.apache.ibatis.annotations.Mapper;
+//
+//import com.backendsys.entity.Med.MedMyMaterialDTO;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Mapper
+//public interface MedMyMaterialMapper {
+//    List<Map<String, Object>> queryMyMaterialList(MedMyMaterialDTO medMyMaterialDTO);
+//    Map<String, Object> queryMyMaterialDetail(MedMyMaterialDTO medMyMaterialDTO);
+//    long insertMyMaterial(MedMyMaterialDTO medMyMaterialDTO);
+//    long updateMyMaterial(MedMyMaterialDTO medMyMaterialDTO);
+//    long deleteMyMaterial(MedMyMaterialDTO medMyMaterialDTO);
+//    long deleteMyMaterialBatch(List<Long> ids);
+//}

+ 157 - 157
src/main/java/com/backendsys/mapper/Med/MedMyMaterialMapper.xml

@@ -1,170 +1,170 @@
-<?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="com.backendsys.mapper.Med.MedMyMaterialMapper">
+<!--<?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="com.backendsys.mapper.Med.MedMyMaterialMapper">-->
 
-    <sql id="includeMyMaterial">
-        m.id id,
-        m.id my_material_id,
-        m.material_id material_id,
-        m.user_id user_id,
-        mc.id category_id,
-        mc.category_name category_name,
-        m.title title,
-        COALESCE(m.description, '') description,
-        COALESCE(m.thumb, '') thumb,
-        m.material_type material_type,
-        <!-- COALESCE(m.content, '') content, -->
-        <!-- COALESCE(m.file, '') file, -->
-        m.create_time create_time,
-        m.update_time update_time
-    </sql>
+<!--    <sql id="includeMyMaterial">-->
+<!--        m.id id,-->
+<!--        m.id my_material_id,-->
+<!--        m.material_id material_id,-->
+<!--        m.user_id user_id,-->
+<!--        mc.id category_id,-->
+<!--        mc.category_name category_name,-->
+<!--        m.title title,-->
+<!--        COALESCE(m.description, '') description,-->
+<!--        COALESCE(m.thumb, '') thumb,-->
+<!--        m.material_type material_type,-->
+<!--        &lt;!&ndash; COALESCE(m.content, '') content, &ndash;&gt;-->
+<!--        &lt;!&ndash; COALESCE(m.file, '') file, &ndash;&gt;-->
+<!--        m.create_time create_time,-->
+<!--        m.update_time update_time-->
+<!--    </sql>-->
 
-    <sql id="includeMyMaterialDetail">
-        m.id id,
-        m.id my_material_id,
-        m.material_id material_id,
-        m.user_id user_id,
-        mc.id category_id,
-        mc.category_name category_name,
-        m.title title,
-        COALESCE(m.description, '') description,
-        COALESCE(m.thumb, '') thumb,
-        m.material_type material_type,
-        COALESCE(m.content, '') content,
-        COALESCE(m.file, '') file,
-        m.create_time create_time,
-        m.update_time update_time
-    </sql>
+<!--    <sql id="includeMyMaterialDetail">-->
+<!--        m.id id,-->
+<!--        m.id my_material_id,-->
+<!--        m.material_id material_id,-->
+<!--        m.user_id user_id,-->
+<!--        mc.id category_id,-->
+<!--        mc.category_name category_name,-->
+<!--        m.title title,-->
+<!--        COALESCE(m.description, '') description,-->
+<!--        COALESCE(m.thumb, '') thumb,-->
+<!--        m.material_type material_type,-->
+<!--        COALESCE(m.content, '') content,-->
+<!--        COALESCE(m.file, '') file,-->
+<!--        m.create_time create_time,-->
+<!--        m.update_time update_time-->
+<!--    </sql>-->
 
-    <resultMap id="resultMapMaterial" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="my_material_id" column="my_material_id" javaType="java.lang.Long"/>
-        <result property="material_id" column="material_id" javaType="java.lang.Long"/>
-        <result property="user_id" column="user_id" javaType="java.lang.Long"/>
-        <result property="category_id" column="category_id" javaType="java.lang.Long"/>
-        <result property="category_name" column="category_name" />
-        <result property="title" column="title" />
-        <result property="description" column="description" />
-        <result property="thumb" column="thumb" />
-        <result property="material_type" column="material_type" javaType="java.lang.Integer"/>
-        <!-- <result property="content" column="content" /> -->
-        <!-- <result property="file" column="file" /> -->
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
-    </resultMap>
+<!--    <resultMap id="resultMapMaterial" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="my_material_id" column="my_material_id" javaType="java.lang.Long"/>-->
+<!--        <result property="material_id" column="material_id" javaType="java.lang.Long"/>-->
+<!--        <result property="user_id" column="user_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_name" column="category_name" />-->
+<!--        <result property="title" column="title" />-->
+<!--        <result property="description" column="description" />-->
+<!--        <result property="thumb" column="thumb" />-->
+<!--        <result property="material_type" column="material_type" javaType="java.lang.Integer"/>-->
+<!--        &lt;!&ndash; <result property="content" column="content" /> &ndash;&gt;-->
+<!--        &lt;!&ndash; <result property="file" column="file" /> &ndash;&gt;-->
+<!--        <result property="create_time" column="create_time" />-->
+<!--        <result property="update_time" column="update_time" />-->
+<!--    </resultMap>-->
 
-    <resultMap id="resultMapMaterialDetail" type="java.util.LinkedHashMap">
-        <id property="id" column="id" jdbcType="BIGINT" />
-        <result property="my_material_id" column="my_material_id" javaType="java.lang.Long"/>
-        <result property="material_id" column="material_id" javaType="java.lang.Long"/>
-        <result property="user_id" column="user_id" javaType="java.lang.Long"/>
-        <result property="category_id" column="category_id" javaType="java.lang.Long"/>
-        <result property="category_name" column="category_name" />
-        <result property="title" column="title" />
-        <result property="description" column="description" />
-        <result property="thumb" column="thumb" />
-        <result property="material_type" column="material_type" javaType="java.lang.Integer"/>
-        <result property="content" column="content" />
-        <result property="file" column="file" />
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
-    </resultMap>
+<!--    <resultMap id="resultMapMaterialDetail" type="java.util.LinkedHashMap">-->
+<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
+<!--        <result property="my_material_id" column="my_material_id" javaType="java.lang.Long"/>-->
+<!--        <result property="material_id" column="material_id" javaType="java.lang.Long"/>-->
+<!--        <result property="user_id" column="user_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
+<!--        <result property="category_name" column="category_name" />-->
+<!--        <result property="title" column="title" />-->
+<!--        <result property="description" column="description" />-->
+<!--        <result property="thumb" column="thumb" />-->
+<!--        <result property="material_type" column="material_type" javaType="java.lang.Integer"/>-->
+<!--        <result property="content" column="content" />-->
+<!--        <result property="file" column="file" />-->
+<!--        <result property="create_time" column="create_time" />-->
+<!--        <result property="update_time" column="update_time" />-->
+<!--    </resultMap>-->
 
-    <sql id="leftJoinCategory">
-        LEFT JOIN med_material_category mc ON m.category_id = mc.id
-    </sql>
+<!--    <sql id="leftJoinCategory">-->
+<!--        LEFT JOIN med_material_category mc ON m.category_id = mc.id-->
+<!--    </sql>-->
 
-    <!-- 查 列表 -->
-    <select id="queryMyMaterialList" resultMap="resultMapMaterial">
-        SELECT
-           <include refid="includeMyMaterial" />
-        FROM med_my_material m
-        <include refid="leftJoinCategory" />
-        <where>
-            <if test="my_material_ids != null and my_material_ids.size() > 0">
-                AND m.id IN
-                <foreach item="id" collection="my_material_ids" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-            <if test="title != null and title != ''">
-                AND m.title LIKE CONCAT('%', #{title}, '%')
-            </if>
-            <if test="description != null and description != ''">
-                AND m.description LIKE CONCAT('%', #{description}, '%')
-            </if>
-            <if test="category_id != null and category_id != ''">
-                AND m.category_id = #{category_id}
-            </if>
-            <if test="user_id != null and user_id != ''">
-                AND m.user_id = #{user_id}
-            </if>
-            <if test="material_id != null and material_id != ''">
-                AND m.material_id = #{material_id}
-            </if>
-            <if test="create_time != null and create_time != ''">
-                AND m.create_time >= #{create_time}
-            </if>
-        </where>
-        ORDER BY m.update_time DESC
-    </select>
+<!--    &lt;!&ndash; 查 列表 &ndash;&gt;-->
+<!--    <select id="queryMyMaterialList" resultMap="resultMapMaterial">-->
+<!--        SELECT-->
+<!--           <include refid="includeMyMaterial" />-->
+<!--        FROM med_my_material m-->
+<!--        <include refid="leftJoinCategory" />-->
+<!--        <where>-->
+<!--            <if test="my_material_ids != null and my_material_ids.size() > 0">-->
+<!--                AND m.id IN-->
+<!--                <foreach item="id" collection="my_material_ids" open="(" separator="," close=")">-->
+<!--                    #{id}-->
+<!--                </foreach>-->
+<!--            </if>-->
+<!--            <if test="title != null and title != ''">-->
+<!--                AND m.title LIKE CONCAT('%', #{title}, '%')-->
+<!--            </if>-->
+<!--            <if test="description != null and description != ''">-->
+<!--                AND m.description LIKE CONCAT('%', #{description}, '%')-->
+<!--            </if>-->
+<!--            <if test="category_id != null and category_id != ''">-->
+<!--                AND m.category_id = #{category_id}-->
+<!--            </if>-->
+<!--            <if test="user_id != null and user_id != ''">-->
+<!--                AND m.user_id = #{user_id}-->
+<!--            </if>-->
+<!--            <if test="material_id != null and material_id != ''">-->
+<!--                AND m.material_id = #{material_id}-->
+<!--            </if>-->
+<!--            <if test="create_time != null and create_time != ''">-->
+<!--                AND m.create_time >= #{create_time}-->
+<!--            </if>-->
+<!--        </where>-->
+<!--        ORDER BY m.update_time DESC-->
+<!--    </select>-->
 
-    <!-- 查 详情 (二次查询) -->
-    <select id="queryMyMaterialDetail" resultMap="resultMapMaterialDetail">
-        SELECT <include refid="includeMyMaterialDetail" />
-        FROM med_my_material m
-        <include refid="leftJoinCategory" />
-        WHERE m.id = #{my_material_id}
-    </select>
+<!--    &lt;!&ndash; 查 详情 (二次查询) &ndash;&gt;-->
+<!--    <select id="queryMyMaterialDetail" resultMap="resultMapMaterialDetail">-->
+<!--        SELECT <include refid="includeMyMaterialDetail" />-->
+<!--        FROM med_my_material m-->
+<!--        <include refid="leftJoinCategory" />-->
+<!--        WHERE m.id = #{my_material_id}-->
+<!--    </select>-->
 
 
-    <insert id="insertMyMaterial" parameterType="com.backendsys.entity.Med.MedMyMaterialDTO"
-        useGeneratedKeys="true" keyProperty="my_material_id">
-        INSERT INTO med_my_material (
-            category_id, user_id, title, material_type
-            <if test="material_id != null and material_id != ''">, material_id</if>
-            <if test="description != null and description != ''">, description</if>
-            <if test="thumb != null and thumb != ''">, thumb</if>
-            <if test="content != null and content != ''">, content</if>
-            <if test="file != null and file != ''">, file</if>
-        )
-        VALUES (
-            #{category_id}, #{user_id}, #{title}, #{material_type}
-            <if test="material_id != null and material_id != ''">, #{material_id}</if>
-            <if test="description != null and description != ''">, #{description}</if>
-            <if test="thumb != null and thumb != ''">, #{thumb}</if>
-            <if test="content != null and content != ''">, #{content}</if>
-            <if test="file != null and file != ''">, #{file}</if>
-        );
-    </insert>
+<!--    <insert id="insertMyMaterial" parameterType="com.backendsys.entity.Med.MedMyMaterialDTO"-->
+<!--        useGeneratedKeys="true" keyProperty="my_material_id">-->
+<!--        INSERT INTO med_my_material (-->
+<!--            category_id, user_id, title, material_type-->
+<!--            <if test="material_id != null and material_id != ''">, material_id</if>-->
+<!--            <if test="description != null and description != ''">, description</if>-->
+<!--            <if test="thumb != null and thumb != ''">, thumb</if>-->
+<!--            <if test="content != null and content != ''">, content</if>-->
+<!--            <if test="file != null and file != ''">, file</if>-->
+<!--        )-->
+<!--        VALUES (-->
+<!--            #{category_id}, #{user_id}, #{title}, #{material_type}-->
+<!--            <if test="material_id != null and material_id != ''">, #{material_id}</if>-->
+<!--            <if test="description != null and description != ''">, #{description}</if>-->
+<!--            <if test="thumb != null and thumb != ''">, #{thumb}</if>-->
+<!--            <if test="content != null and content != ''">, #{content}</if>-->
+<!--            <if test="file != null and file != ''">, #{file}</if>-->
+<!--        );-->
+<!--    </insert>-->
 
-    <update id="updateMyMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO"
-        useGeneratedKeys="true" keyProperty="my_material_id">
-        UPDATE med_my_material
-        SET
-            category_id = #{category_id},
-            user_id = #{user_id},
-            title = #{title},
-            material_type = #{material_type},
-            <if test="material_id != null and material_id != ''">, material_id = #{material_id}</if>
-            <if test="description != null and description != ''">, description = #{description}</if>
-            <if test="thumb != null and thumb != ''">, thumb = #{thumb}</if>
-            <if test="content != null and content != ''">, content = #{content}</if>
-            <if test="file != null and file != ''">, file = #{file}</if>
-        WHERE id = #{my_material_id};
-    </update>
+<!--    <update id="updateMyMaterial" parameterType="com.backendsys.entity.Med.MedMaterialDTO"-->
+<!--        useGeneratedKeys="true" keyProperty="my_material_id">-->
+<!--        UPDATE med_my_material-->
+<!--        SET-->
+<!--            category_id = #{category_id},-->
+<!--            user_id = #{user_id},-->
+<!--            title = #{title},-->
+<!--            material_type = #{material_type},-->
+<!--            <if test="material_id != null and material_id != ''">, material_id = #{material_id}</if>-->
+<!--            <if test="description != null and description != ''">, description = #{description}</if>-->
+<!--            <if test="thumb != null and thumb != ''">, thumb = #{thumb}</if>-->
+<!--            <if test="content != null and content != ''">, content = #{content}</if>-->
+<!--            <if test="file != null and file != ''">, file = #{file}</if>-->
+<!--        WHERE id = #{my_material_id};-->
+<!--    </update>-->
 
-    <!-- 删除 -->
-    <delete id="deleteMyMaterial" parameterType="java.lang.Long">
-        DELETE FROM med_my_material WHERE id = #{my_material_id};
-    </delete>
+<!--    &lt;!&ndash; 删除 &ndash;&gt;-->
+<!--    <delete id="deleteMyMaterial" parameterType="java.lang.Long">-->
+<!--        DELETE FROM med_my_material WHERE id = #{my_material_id};-->
+<!--    </delete>-->
 
-    <!-- 删除 (批量) -->
-    <delete id="deleteMyMaterialBatch" parameterType="java.lang.Long">
-        DELETE FROM med_my_material WHERE id IN
-        <foreach collection="ids" item="id" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-    </delete>
+<!--    &lt;!&ndash; 删除 (批量) &ndash;&gt;-->
+<!--    <delete id="deleteMyMaterialBatch" parameterType="java.lang.Long">-->
+<!--        DELETE FROM med_my_material WHERE id IN-->
+<!--        <foreach collection="ids" item="id" open="(" separator="," close=")">-->
+<!--            #{id}-->
+<!--        </foreach>-->
+<!--    </delete>-->
 
-</mapper>
+<!--</mapper>-->

+ 0 - 13
src/main/java/com/backendsys/mapper/System/SysAgreementMapper.java

@@ -1,13 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysAgreementDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysAgreementMapper {
-//    List<Map<String, Object>> querySysAgreement(SysAgreementDTO sysAgreementDTO);
-//    Map<String, Object> querySysAgreementDetailByTag(String tag);
-//}

+ 0 - 63
src/main/java/com/backendsys/mapper/System/SysAgreementMapper.xml

@@ -1,63 +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="com.backendsys.mapper.System.SysAgreementMapper">-->
-
-<!--    <sql id="includeSysAgreement">-->
-<!--        id,-->
-<!--        id agreement_id,-->
-<!--        tag,-->
-<!--        title,-->
-<!--        COALESCE(sort, '') sort,-->
-<!--        status,-->
-<!--        create_time,-->
-<!--        update_time-->
-<!--    </sql>-->
-
-<!--    <sql id="includeSysAgreementDetail">-->
-<!--        id,-->
-<!--        id agreement_id,-->
-<!--        tag,-->
-<!--        title,-->
-<!--        content,-->
-<!--        COALESCE(sort, '') sort,-->
-<!--        status,-->
-<!--        create_time,-->
-<!--        update_time-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapSysAgreement" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="agreement_id" column="agreement_id" javaType="java.lang.Long"/>-->
-<!--        <result property="tag" column="tag" />-->
-<!--        <result property="title" column="title" />-->
-<!--        <result property="sort" column="sort" javaType="java.lang.Integer" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--    </resultMap>-->
-
-<!--    <resultMap id="resultMapSysAgreementDetail" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="agreement_id" column="agreement_id" javaType="java.lang.Long"/>-->
-<!--        <result property="tag" column="tag" />-->
-<!--        <result property="title" column="title" />-->
-<!--        <result property="content" column="content" />-->
-<!--        <result property="sort" column="sort" javaType="java.lang.Integer" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer" />-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--    </resultMap>-->
-
-<!--    <select id="querySysAgreement" resultMap="resultMapSysAgreement">-->
-<!--        SELECT <include refid="includeSysAgreement" />-->
-<!--        FROM sys_agreement-->
-<!--        ORDER BY sort DESC-->
-<!--    </select>-->
-
-<!--    <select id="querySysAgreementDetailByTag" resultMap="resultMapSysAgreementDetail">-->
-<!--        SELECT <include refid="includeSysAgreementDetail" />-->
-<!--        FROM sys_agreement-->
-<!--        WHERE tag = #{tag}-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 12
src/main/java/com/backendsys/mapper/System/SysCityMapper.java

@@ -1,12 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysCityDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysCityMapper {
-//    List<Map<String, Object>> querySysCity(SysCityDTO sysCityDTO);
-//}

+ 0 - 18
src/main/java/com/backendsys/mapper/System/SysCityMapper.xml

@@ -1,18 +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="com.backendsys.mapper.System.SysCityMapper">-->
-
-<!--    <select id="querySysCity" resultType="java.util.LinkedHashMap">-->
-<!--        SELECT code, name, parent_code, full_name-->
-<!--        FROM sys_city-->
-<!--        <where>-->
-<!--            <if test="code != null and code != ''">-->
-<!--                AND code = #{code}-->
-<!--            </if>-->
-<!--            <if test="parent_code != null and parent_code != ''">-->
-<!--                AND parent_code = #{parent_code}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 11
src/main/java/com/backendsys/mapper/System/SysDictionaryMapper.java

@@ -1,11 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysDictionaryMapper {
-//    List<Map<String, Object>> queryDictionary();
-//}

+ 0 - 18
src/main/java/com/backendsys/mapper/System/SysDictionaryMapper.xml

@@ -1,18 +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="com.backendsys.mapper.System.SysDictionaryMapper">-->
-
-<!--    &lt;!&ndash;-->
-<!--        CASE WHEN id < 0 THEN 1 ELSE 0 END 这个表达式将 id 列根据正负性映射为 1 或 0,负数会被映射为 1。-->
-<!--        ABS(id) 计算出 id 列的绝对值,以便在相同正负性(即排序键为 0 或 1)的记录中使用。-->
-<!--        由于先按 sign 排序,再按 abs_id 排序,所以负数会被排在正数后面。-->
-<!--    &ndash;&gt;-->
-<!--    <select id="queryDictionary" resultType="java.util.LinkedHashMap">-->
-<!--        SELECT id, category_value, key_value, key_translation, key_translation_en,-->
-<!--            CASE WHEN key_value &lt; 0 THEN 1 ELSE 0 END AS sign,-->
-<!--            ABS(key_value) AS abs_key_value-->
-<!--        FROM sys_dictionary-->
-<!--        ORDER BY sign, abs_key_value, id;-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 11
src/main/java/com/backendsys/mapper/System/SysFileCategoryMapper.java

@@ -1,11 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysFile.SysFileCategoryDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//
-//@Mapper
-//public interface SysFileCategoryMapper {
-//    List<SysFileCategoryDTO> queryFileCategoryList(SysFileCategoryDTO sysFileCategoryDTO);
-//}

+ 0 - 42
src/main/java/com/backendsys/mapper/System/SysFileCategoryMapper.xml

@@ -1,42 +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="com.backendsys.mapper.System.SysFileCategoryMapper">-->
-
-<!--    <sql id="includeFileCategory">-->
-<!--        id,-->
-<!--        id category_id,-->
-<!--        category_name,-->
-<!--        suffix,-->
-<!--        sort,-->
-<!--        status-->
-<!--    </sql>-->
-
-<!--&lt;!&ndash;    type="java.util.LinkedHashMap"&ndash;&gt;-->
-<!--    <resultMap id="resultMapFileCategory" type="com.backendsys.entity.System.SysFile.SysFileCategoryDTO">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_name" column="category_name" />-->
-<!--        <result property="suffix" column="suffix" />-->
-<!--        <result property="sort" column="sort" javaType="java.lang.Integer"/>-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--    </resultMap>-->
-
-<!--    &lt;!&ndash; 查询 列表 &ndash;&gt;-->
-<!--    <select id="queryFileCategoryList" resultMap="resultMapFileCategory">-->
-<!--        SELECT <include refid="includeFileCategory" />-->
-<!--        FROM sys_file_category-->
-<!--        <where>-->
-<!--            <if test="category_name != null and category_name != ''">-->
-<!--                AND category_name = #{category_name}-->
-<!--            </if>-->
-<!--            <if test="suffix != null and suffix != ''">-->
-<!--                AND suffix LIKE CONCAT('%', #{suffix}, '%')-->
-<!--            </if>-->
-<!--            <if test="status != null and status != ''">-->
-<!--                AND status = #{status}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY sort DESC-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 15
src/main/java/com/backendsys/mapper/System/SysFileMapper.java

@@ -1,15 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysFile.SysFileDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//
-//@Mapper
-//public interface SysFileMapper {
-//    List<SysFileDTO> queryFileList(SysFileDTO sysFileDTO);
-//    SysFileDTO queryFileByKey(String file_key);
-//    long insertFile(SysFileDTO sysFileDTO);
-//    long updateFile(SysFileDTO sysFileDTO);
-//    long deleteFile(String file_key);
-//}

+ 0 - 138
src/main/java/com/backendsys/mapper/System/SysFileMapper.xml

@@ -1,138 +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="com.backendsys.mapper.System.SysFileMapper">-->
-
-<!--    <sql id="includeFile">-->
-<!--        sf.id id,-->
-<!--        sf.id file_id,-->
-<!--        COALESCE(sf.user_id, '') user_id,-->
-<!--        COALESCE(sf.category_id, '') category_id,-->
-<!--        COALESCE(sfc.category_name, '') category_name,-->
-<!--        sf.name name,-->
-<!--        COALESCE(sf.file_local_path, '') file_local_path,-->
-<!--        COALESCE(sf.file_remote_path, '') file_remote_path,-->
-<!--        COALESCE(sf.file_remote_path_thumb, '') file_remote_path_thumb,-->
-<!--        COALESCE(sf.file_key, '') file_key,-->
-<!--        COALESCE(sf.size, '') size,-->
-<!--        COALESCE(sf.md5, '') md5,-->
-<!--        COALESCE(sf.chunk_upload_id, '') chunk_upload_id,-->
-<!--        COALESCE(sf.chunk_count, '') chunk_count,-->
-<!--        COALESCE(sf.chunk_current_index, '') chunk_current_index,-->
-<!--        COALESCE(sf.notes, '') notes,-->
-<!--        sf.create_time create_time,-->
-<!--        sf.update_time update_time-->
-<!--    </sql>-->
-
-<!--&lt;!&ndash;    type="java.util.LinkedHashMap"&ndash;&gt;-->
-<!--    <resultMap id="resultMapFile" type="com.backendsys.entity.System.SysFile.SysFileDTO">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="file_id" column="file_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_id" column="category_id" javaType="java.lang.Long"/>-->
-<!--        <result property="category_name" column="category_name" />-->
-<!--        <result property="user_id" column="user_id" javaType="java.lang.Long"/>-->
-<!--        <result property="name" column="name" />-->
-<!--        <result property="file_local_path" column="file_local_path" />-->
-<!--        <result property="file_remote_path" column="file_remote_path" />-->
-<!--        <result property="file_remote_path_thumb" column="file_remote_path_thumb" />-->
-<!--        <result property="file_key" column="file_key" />-->
-<!--        <result property="size" column="size" javaType="java.lang.Long"/>-->
-<!--        <result property="md5" column="md5" />-->
-<!--        <result property="chunk_upload_id" column="chunk_upload_id" />-->
-<!--        <result property="chunk_count" column="chunk_count" javaType="java.lang.Integer"/>-->
-<!--        <result property="chunk_current_index" column="chunk_current_index" javaType="java.lang.Integer"/>-->
-<!--        <result property="notes" column="notes" />-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--        <result property="update_time" column="update_time" />-->
-<!--    </resultMap>-->
-
-
-<!--    &lt;!&ndash; 查询 列表 &ndash;&gt;-->
-<!--    <select id="queryFileList" resultMap="resultMapFile">-->
-<!--        SELECT <include refid="includeFile" />-->
-<!--        FROM sys_file sf-->
-<!--        LEFT JOIN sys_file_category sfc ON sf.category_id = sfc.id-->
-<!--        <where>-->
-<!--            <if test="category_id != null and category_id != ''">-->
-<!--                AND sf.category_id = #{category_id}-->
-<!--            </if>-->
-<!--            <if test="user_id != null and user_id != ''">-->
-<!--                AND sf.user_id = #{user_id}-->
-<!--            </if>-->
-<!--            <if test="name != null and name != ''">-->
-<!--                AND sf.name LIKE CONCAT('%', #{name}, '%')-->
-<!--            </if>-->
-<!--            <if test="md5 != null and md5 != ''">-->
-<!--                AND sf.md5 = #{md5}-->
-<!--            </if>-->
-<!--            <if test="chunk_upload_id != null and chunk_upload_id != ''">-->
-<!--                AND sf.chunk_upload_id = #{chunk_upload_id}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY sf.create_time DESC-->
-<!--    </select>-->
-<!--    &lt;!&ndash; 查询 详情 &ndash;&gt;-->
-<!--    <select id="queryFileByKey" resultMap="resultMapFile">-->
-<!--        SELECT <include refid="includeFile" />-->
-<!--        FROM sys_file sf-->
-<!--        LEFT JOIN sys_file_category sfc ON sf.category_id = sfc.id-->
-<!--        WHERE sf.file_key = #{file_key}-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 创建 &ndash;&gt;-->
-<!--    <insert id="insertFile" parameterType="com.backendsys.entity.System.SysFile.SysFileDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="file_id">-->
-<!--        INSERT INTO sys_file (name-->
-<!--            <if test="user_id != null and user_id != ''">, user_id</if>-->
-<!--            <if test="category_id != null and category_id != ''">, category_id</if>-->
-<!--            <if test="file_local_path != null and file_local_path != ''">, file_local_path</if>-->
-<!--            <if test="file_remote_path != null and file_remote_path != ''">, file_remote_path</if>-->
-<!--            <if test="file_remote_path_thumb != null and file_remote_path_thumb != ''">, file_remote_path_thumb</if>-->
-<!--            <if test="file_key != null and file_key != ''">, file_key</if>-->
-<!--            <if test="size != null and size != ''">, size</if>-->
-<!--            <if test="md5 != null and md5 != ''">, md5</if>-->
-<!--            <if test="chunk_upload_id != null and chunk_upload_id != ''">, chunk_upload_id</if>-->
-<!--            <if test="chunk_count != null and chunk_count != ''">, chunk_count</if>-->
-<!--            <if test="chunk_current_index != null and chunk_current_index != ''">, chunk_current_index</if>-->
-<!--            <if test="notes != null and notes != ''">, notes</if>-->
-<!--        ) VALUES (#{name}-->
-<!--            <if test="user_id != null and user_id != ''">, #{user_id}</if>-->
-<!--            <if test="category_id != null and category_id != ''">, #{category_id}</if>-->
-<!--            <if test="file_local_path != null and file_local_path != ''">, #{file_local_path}</if>-->
-<!--            <if test="file_remote_path != null and file_remote_path != ''">, #{file_remote_path}</if>-->
-<!--            <if test="file_remote_path_thumb != null and file_remote_path_thumb != ''">, #{file_remote_path_thumb}</if>-->
-<!--            <if test="file_key != null and file_key != ''">, #{file_key}</if>-->
-<!--            <if test="size != null and size != ''">, #{size}</if>-->
-<!--            <if test="md5 != null and md5 != ''">, #{md5}</if>-->
-<!--            <if test="chunk_upload_id != null and chunk_upload_id != ''">, #{chunk_upload_id}</if>-->
-<!--            <if test="chunk_count != null and chunk_count != ''">, #{chunk_count}</if>-->
-<!--            <if test="chunk_current_index != null and chunk_current_index != ''">, #{chunk_current_index}</if>-->
-<!--            <if test="notes != null and notes != ''">, #{notes}</if>-->
-<!--        )-->
-<!--    </insert>-->
-
-<!--    &lt;!&ndash; 编辑 &ndash;&gt;-->
-<!--    <update id="updateFile" parameterType="com.backendsys.entity.System.SysFile.SysFileDTO">-->
-<!--        UPDATE sys_file SET-->
-<!--            file_key = #{file_key},-->
-<!--            chunk_count = #{chunk_count},-->
-<!--            chunk_current_index = #{chunk_current_index}-->
-<!--            <if test="name != null and name != ''">, name = #{name}</if>-->
-<!--            <if test="category_id != null and category_id != ''">, category_id = #{category_id}</if>-->
-<!--            <if test="user_id != null and user_id != ''">, user_id = #{user_id}</if>-->
-<!--            <if test="file_local_path != null and file_local_path != ''">, file_local_path = #{file_local_path}</if>-->
-<!--            <if test="file_remote_path != null and file_remote_path != ''">, file_remote_path = #{file_remote_path}</if>-->
-<!--            <if test="file_remote_path_thumb != null and file_remote_path_thumb != ''">, file_remote_path_thumb = #{file_remote_path_thumb}</if>-->
-<!--            <if test="file_key != null and file_key != ''">, file_key = #{file_key}</if>-->
-<!--            <if test="size != null and size != ''">, size = #{size}</if>-->
-<!--            <if test="md5 != null and md5 != ''">, md5 = #{md5}</if>-->
-<!--            <if test="chunk_upload_id != null and chunk_upload_id != ''">, chunk_upload_id = #{chunk_upload_id}</if>-->
-<!--            <if test="notes != null and notes != ''">, notes = #{notes}</if>-->
-<!--        WHERE file_key = #{file_key}-->
-<!--    </update>-->
-
-<!--    &lt;!&ndash; 删除 &ndash;&gt;-->
-<!--    <delete id="deleteFile" parameterType="java.lang.String">-->
-<!--        DELETE FROM sys_file WHERE file_key = #{file_key};-->
-<!--    </delete>-->
-
-<!--</mapper>-->

+ 0 - 11
src/main/java/com/backendsys/mapper/System/SysLanguageMapper.java

@@ -1,11 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysLanguageMapper {
-//    List<Map<String, Object>> queryLanguage();
-//}

+ 0 - 16
src/main/java/com/backendsys/mapper/System/SysLanguageMapper.xml

@@ -1,16 +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="com.backendsys.mapper.System.SysLanguageMapper">-->
-
-<!--    <resultMap id="resultMapLanguage" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="language" column="language"/>-->
-<!--        <result property="name" column="name"/>-->
-<!--        <result property="is_default" column="is_default" javaType="java.lang.Integer" />-->
-<!--    </resultMap>-->
-
-<!--    <select id="queryLanguage" resultMap="resultMapLanguage">-->
-<!--        SELECT id, language, name, is_default FROM sys_language-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 16
src/main/java/com/backendsys/mapper/System/SysMenuMapper.java

@@ -1,16 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysMenuDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysMenuMapper {
-//    List<Map<String, Object>> queryMenuList(SysMenuDTO sysMenuDTO);
-//    Map<String, Object> queryMenuDetail(Long menu_id);
-//    long insertMenu(SysMenuDTO sysMenuDTO);
-//    long updateMenu(SysMenuDTO sysMenuDTO);
-//    long deleteMenu(SysMenuDTO sysMenuDTO);
-//}

+ 0 - 93
src/main/java/com/backendsys/mapper/System/SysMenuMapper.xml

@@ -1,93 +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="com.backendsys.mapper.System.SysMenuMapper">-->
-
-<!--    <sql id="includeMenu">-->
-<!--        id,-->
-<!--        id menu_id,-->
-<!--        parent_id,-->
-<!--        title,-->
-<!--        title_en,-->
-<!--        path,-->
-<!--        component,-->
-<!--        meta,-->
-<!--        COALESCE(icon, '') icon,-->
-<!--        COALESCE(permission, '') permission,-->
-<!--        sort,-->
-<!--        status-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapMenu" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="menu_id" column="menu_id" javaType="java.lang.Long"/>-->
-<!--        <result property="parent_id" column="parent_id" javaType="java.lang.Long"/>-->
-<!--        <result property="title" column="title" />-->
-<!--        <result property="title_en" column="title_en" />-->
-<!--        <result property="path" column="path" />-->
-<!--        <result property="component" column="component" />-->
-<!--        <result property="meta" column="meta" />-->
-<!--        <result property="icon" column="icon" />-->
-<!--        <result property="permission" column="permission" />-->
-<!--        <result property="sort" column="sort" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--    </resultMap>-->
-
-<!--    &lt;!&ndash; 查询 列表 &ndash;&gt;-->
-<!--    <select id="queryMenuList" resultMap="resultMapMenu">-->
-<!--        SELECT <include refid="includeMenu" />-->
-<!--        FROM sys_menu-->
-<!--        <where>-->
-<!--            <if test="status != null and status != ''">-->
-<!--                AND status = #{status}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY sort ASC-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 查询 详情 &ndash;&gt;-->
-<!--    <select id="queryMenuDetail" resultMap="resultMapMenu">-->
-<!--        SELECT <include refid="includeMenu" />-->
-<!--        FROM sys_menu-->
-<!--        WHERE id = #{menu_id}-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 创建 &ndash;&gt;-->
-<!--    <insert id="insertMenu" parameterType="com.backendsys.entity.System.SysMenuDTO" useGeneratedKeys="true" keyProperty="id">-->
-<!--        INSERT INTO sys_menu (title, title_en, path, component, meta-->
-<!--            <if test="parent_id != null">, parent_id</if>-->
-<!--            <if test="icon != null">, icon</if>-->
-<!--            <if test="permission != null">, permission</if>-->
-<!--            <if test="sort != null">, sort</if>-->
-<!--            <if test="status != null">, status</if>-->
-<!--        ) VALUES (#{title}, #{title_en}, #{path}, #{component}, #{meta}-->
-<!--            <if test="icon != null">, #{icon}</if>-->
-<!--            <if test="permission != null">, #{permission}</if>-->
-<!--            <if test="sort != null">, #{sort}</if>-->
-<!--            <if test="status != null">, #{status}</if>-->
-<!--        )-->
-<!--    </insert>-->
-
-<!--    &lt;!&ndash; 编辑 &ndash;&gt;-->
-<!--    <update id="updateMenu" parameterType="com.backendsys.entity.System.SysMenuDTO">-->
-<!--        UPDATE sys_menu SET-->
-<!--        <trim suffixOverrides="," suffix=" ">-->
-<!--            <if test="title != null and title != ''">title = #{title},</if>-->
-<!--            <if test="title_en != null and title_en != ''">title_en = #{title_en},</if>-->
-<!--            <if test="parent_id != null and parent_id != ''">parent_id = #{parent_id},</if>-->
-<!--            <if test="path != null and path != ''">path = #{path},</if>-->
-<!--            <if test="component != null and component != ''">component = #{component},</if>-->
-<!--            <if test="meta != null and meta != ''">meta = #{meta},</if>-->
-<!--            <if test="icon != null and icon != ''">icon = #{icon},</if>-->
-<!--            <if test="permission != null and permission != ''">permission = #{permission},</if>-->
-<!--            <if test="sort != null">sort = #{sort},</if>-->
-<!--            <if test="status != null">status = #{status},</if>-->
-<!--        </trim>-->
-<!--        WHERE id = #{menu_id}-->
-<!--    </update>-->
-
-<!--    &lt;!&ndash; 删除 &ndash;&gt;-->
-<!--    <delete id="deleteMenu" parameterType="java.lang.Long">-->
-<!--        DELETE FROM sys_menu WHERE id = #{menu_id};-->
-<!--    </delete>-->
-
-<!--</mapper>-->

+ 0 - 12
src/main/java/com/backendsys/mapper/System/SysMobileAreaCodeMapper.java

@@ -1,12 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysMobileAreaCodeDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysMobileAreaCodeMapper {
-//    List<Map<String, Object>> queryMobileAreaCodeList(SysMobileAreaCodeDTO sysMobileAreaCodeDTO);
-//}

+ 0 - 34
src/main/java/com/backendsys/mapper/System/SysMobileAreaCodeMapper.xml

@@ -1,34 +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="com.backendsys.mapper.System.SysMobileAreaCodeMapper">-->
-
-<!--    <sql id="includeMobileAreaCode">-->
-<!--        id,-->
-<!--        area_name,-->
-<!--        COALESCE(area_name_abbr, '') area_name_abbr,-->
-<!--        area_code-->
-<!--    </sql>-->
-<!--    <resultMap id="resultMapMobileAreaCode" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="area_name" column="area_name" />-->
-<!--        <result property="area_name_abbr" column="area_name_abbr" />-->
-<!--        <result property="area_code" column="area_code" javaType="java.lang.Integer" />-->
-<!--    </resultMap>-->
-<!--    &lt;!&ndash; 查询 列表 &ndash;&gt;-->
-<!--    <select id="queryMobileAreaCodeList" resultMap="resultMapMobileAreaCode">-->
-<!--        SELECT <include refid="includeMobileAreaCode" />-->
-<!--        FROM sys_mobile_area_code-->
-<!--        <where>-->
-<!--            <if test="area_name != null and area_name != ''">-->
-<!--                AND area_name = #{area_name}-->
-<!--            </if>-->
-<!--            <if test="area_name_abbr != null and area_name_abbr != ''">-->
-<!--                AND area_name_abbr = #{area_name_abbr}-->
-<!--            </if>-->
-<!--            <if test="area_code != null and area_code != ''">-->
-<!--                AND area_code = #{area_code}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 13
src/main/java/com/backendsys/mapper/System/SysMobileSMSHistoryMapper.java

@@ -1,13 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysSMSDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysMobileSMSHistoryMapper {
-//    List<Map<String, Object>> queryMobileSMSHistoryList(SysSMSDTO sysSMSDTO);
-//    long insertMobileSMSHistory(SysSMSDTO sysSMSDTO);
-//}

+ 0 - 64
src/main/java/com/backendsys/mapper/System/SysMobileSMSHistoryMapper.xml

@@ -1,64 +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="com.backendsys.mapper.System.SysMobileSMSHistoryMapper">-->
-
-<!--    <sql id="includeMobileSMSHistory">-->
-<!--        id,-->
-<!--        COALESCE(origin, '') origin,-->
-<!--        phone,-->
-<!--        COALESCE(sms_code, '') sms_code,-->
-<!--        COALESCE(ip, '') ip,-->
-<!--        COALESCE(ua, '') ua,-->
-<!--        create_time-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapMobileSMSHistoryList" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="origin" column="origin" />-->
-<!--        <result property="phone" column="phone" />-->
-<!--        <result property="sms_code" column="sms_code" />-->
-<!--        <result property="ip" column="ip" />-->
-<!--        <result property="ua" column="ua" />-->
-<!--        <result property="create_time" column="create_time" />-->
-<!--    </resultMap>-->
-
-<!--    &lt;!&ndash; 查询 列表 &ndash;&gt;-->
-<!--    <select id="queryMobileSMSHistoryList" resultMap="resultMapMobileSMSHistoryList">-->
-<!--        SELECT <include refid="includeMobileSMSHistory" />-->
-<!--        FROM sys_mobile_sms_history-->
-<!--        <where>-->
-<!--            <if test="origin != null and origin != ''">-->
-<!--                AND origin = #{origin}-->
-<!--            </if>-->
-<!--            <if test="phone != null and phone != ''">-->
-<!--                AND phone = #{phone}-->
-<!--            </if>-->
-<!--            <if test="ip != null and ip != ''">-->
-<!--                AND ip = #{ip}-->
-<!--            </if>-->
-<!--            <if test="create_time_begin != null and create_time_begin != '' and create_time_end != null and create_time_end != ''">-->
-<!--                AND create_time BETWEEN #{create_time_begin} AND #{create_time_end}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        ORDER BY create_time DESC-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 创建 &ndash;&gt;-->
-<!--    <insert id="insertMobileSMSHistory" parameterType="com.backendsys.entity.System.SysSMSDTO"-->
-<!--        useGeneratedKeys="true" keyProperty="id">-->
-<!--        INSERT INTO sys_mobile_sms_history (-->
-<!--            phone-->
-<!--            <if test="origin != null and origin != ''">, origin</if>-->
-<!--            <if test="sms_code != null and sms_code != ''">, sms_code</if>-->
-<!--            <if test="ip != null and ip != ''">, ip</if>-->
-<!--            <if test="ua != null and ua != ''">, ua</if>-->
-<!--        ) VALUES (-->
-<!--            #{phone}-->
-<!--            <if test="origin != null and origin != ''">, #{origin}</if>-->
-<!--            <if test="sms_code != null and sms_code != ''">, #{sms_code}</if>-->
-<!--            <if test="ip != null and ip != ''">, #{ip}</if>-->
-<!--            <if test="ua != null and ua != ''">, #{ua}</if>-->
-<!--        )-->
-<!--    </insert>-->
-
-<!--</mapper>-->

+ 0 - 19
src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.java

@@ -1,19 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import com.backendsys.entity.System.SysUserRoleDTO;
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysUserRoleMapper {
-//    List<Map<String, Object>> queryUserRoleList(SysUserRoleDTO sysUserRoleDTO);
-//    Map<String, Object> queryUserRoleDetail(Long role_id);
-//    Map<String, Object> queryUserCountByRoleId(Long role_id);
-//    long insertUserRole(SysUserRoleDTO sysUserRoleDTO);
-//    long insertUserRolePermissionRelation(SysUserRoleDTO sysUserRoleDTO);
-//    long updateUserRole(SysUserRoleDTO sysUserRoleDTO);
-//    long updateUserRolePermissionRelation(SysUserRoleDTO sysUserRoleDTO);
-//    long deleteUserRole(SysUserRoleDTO sysUserRoleDTO);
-//}

+ 0 - 146
src/main/java/com/backendsys/mapper/System/SysUserRoleMapper.xml

@@ -1,146 +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="com.backendsys.mapper.System.SysUserRoleMapper">-->
-
-<!--    <sql id="includeUserRole">-->
-<!--        ur.id id,-->
-<!--        ur.id role_id,-->
-<!--        ur.role_name role_name,-->
-<!--&#45;&#45;         ur.role_description role_description,-->
-<!--        COALESCE(ur.role_description, '') role_description,-->
-<!--&#45;&#45;         COUNT(us.id) user_count,-->
-<!--&#45;&#45;         NULLIF(COUNT(us.id), 0) AS user_count,-->
-<!--&#45;&#45;         CASE WHEN COUNT(us.id) = 0 THEN NULL ELSE COUNT(us.id) END AS user_count,-->
-<!--        ur.sort sort,-->
-<!--        ur.status status-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapUserRoleList" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="role_id" column="role_id" javaType="java.lang.Long"/>-->
-<!--        <result property="role_name" column="role_name" />-->
-<!--        <result property="role_description" column="role_description" />-->
-<!--        <result property="user_count" column="user_count" />-->
-<!--        <result property="sort" column="sort" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--    </resultMap>-->
-
-<!--    <resultMap id="resultMapUserRoleDetail" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="role_name" column="role_name" />-->
-<!--        <result property="role_description" column="role_description" />-->
-<!--        <result property="user_count" column="user_count" />-->
-<!--        <result property="sort" column="sort" />-->
-<!--        <result property="status" column="status" javaType="java.lang.Integer"/>-->
-<!--        &lt;!&ndash;<result property="module_code" column="module_code" />&ndash;&gt;-->
-<!--        <collection property="modules" javaType="java.util.List" ofType="java.util.LinkedHashMap"-->
-<!--            select="queryModulesByRoleId" column="id">-->
-<!--            <id property="module_id" column="module_id" />-->
-<!--            <result property="parent_id" column="parent_id" />-->
-<!--            <result property="module_name" column="module_name" />-->
-<!--        </collection>-->
-<!--    </resultMap>-->
-<!--    &lt;!&ndash; [嵌套查询] 查询角色下的全部权限 &ndash;&gt;-->
-<!--    &lt;!&ndash;um.module_code,&ndash;&gt;-->
-<!--    <select id="queryModulesByRoleId" resultType="java.util.LinkedHashMap">-->
-<!--        SELECT-->
-<!--            um.id, um.module_name,-->
-<!--            COALESCE(um.parent_id, '') AS parent_id-->
-<!--        FROM sys_user_role_module_relation umr-->
-<!--            LEFT JOIN sys_user_role_module um ON umr.module_id = um.id-->
-<!--        WHERE umr.role_id = #{id}-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 查询 用户角色列表 &ndash;&gt;-->
-<!--    <select id="queryUserRoleList" resultMap="resultMapUserRoleList">-->
-<!--        SELECT <include refid="includeUserRole" />, COUNT(us.id) user_count-->
-<!--        FROM sys_user_role ur-->
-<!--            LEFT JOIN sys_user_role_relation urr ON ur.id = urr.role_id-->
-<!--            LEFT JOIN sys_user us ON us.id = urr.user_id-->
-<!--        <where>-->
-<!--            <if test="role_name != null and role_name != ''">-->
-<!--                AND ur.role_name LIKE CONCAT('%', #{role_name}, '%')-->
-<!--            </if>-->
-<!--            <if test="status != null and status != ''">-->
-<!--                AND ur.status = #{status}-->
-<!--            </if>-->
-<!--        </where>-->
-<!--        GROUP BY ur.id, ur.role_name-->
-<!--        ORDER BY ur.sort ASC-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 查询 用户角色详情 &ndash;&gt;-->
-<!--    &lt;!&ndash; 由于,在使用关联查询时,COUNT() 会导致输出的格式有误,从而导致原本输出 null 会变成 { user_count: 0 } &ndash;&gt;-->
-<!--    &lt;!&ndash; 因此,在使用 @QueryNullCheck 判断是否存在时,不要出现 COUNT 语法 &ndash;&gt;-->
-<!--    &lt;!&ndash; 此处关联查询改为 impl 中查询合并 &ndash;&gt;-->
-<!--    <select id="queryUserRoleDetail" resultMap="resultMapUserRoleDetail">-->
-<!--        SELECT <include refid="includeUserRole" />-->
-<!--        FROM sys_user_role ur-->
-<!--&#45;&#45;             LEFT JOIN sys_user_role_relation urr ON ur.id = urr.role_id-->
-<!--&#45;&#45;             LEFT JOIN sys_user us ON us.id = urr.user_id-->
-<!--        WHERE ur.id = #{role_id}-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; 根据角色关系表,查询用户数量 &ndash;&gt;-->
-<!--    <select id="queryUserCountByRoleId" resultType="java.util.LinkedHashMap">-->
-<!--        SELECT COUNT(us.id) user_count-->
-<!--            FROM sys_user_role_relation urr-->
-<!--            LEFT JOIN sys_user us ON us.id = urr.user_id-->
-<!--        WHERE urr.role_id = #{role_id}-->
-<!--    </select>-->
-
-
-<!--    &lt;!&ndash; 创建 用户角色 &ndash;&gt;-->
-<!--    <insert id="insertUserRole" parameterType="com.backendsys.entity.System.SysUserRoleDTO" useGeneratedKeys="true" keyProperty="id">-->
-<!--        INSERT INTO sys_user_role (role_name-->
-<!--            <if test="role_description != null">, role_description</if>-->
-<!--            <if test="sort != null">, sort</if>-->
-<!--            <if test="status != null">, status</if>-->
-<!--        ) VALUES (#{role_name}-->
-<!--            <if test="role_description != null">, #{role_description}</if>-->
-<!--            <if test="sort != null">, #{sort}</if>-->
-<!--            <if test="status != null">, #{status}</if>-->
-<!--        )-->
-<!--    </insert>-->
-<!--    &lt;!&ndash; 创建 用户角色 对应的 权限关系 &ndash;&gt;-->
-<!--    <insert id="insertUserRolePermissionRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">-->
-<!--        INSERT INTO sys_user_role_module_relation (role_id, module_id)-->
-<!--        VALUES-->
-<!--        <foreach collection="modules" item="module" separator=",">-->
-<!--            (#{id}, #{module.id})-->
-<!--        </foreach>-->
-<!--    </insert>-->
-
-
-<!--    &lt;!&ndash; 编辑 用户角色 &ndash;&gt;-->
-<!--    <update id="updateUserRole" parameterType="com.backendsys.entity.System.SysUserRoleDTO">-->
-<!--        UPDATE sys_user_role SET-->
-<!--        <trim suffixOverrides="," suffix=" ">-->
-<!--            <if test="role_name != null and role_name != ''">role_name = #{role_name},</if>-->
-<!--            <if test="role_description != null and role_description != ''">role_description = #{role_description},</if>-->
-<!--            <if test="sort != null and sort != ''">sort = #{sort},</if>-->
-<!--            <if test="status != null and status != ''">status = #{status},</if>-->
-<!--        </trim>-->
-<!--        WHERE id = #{role_id}-->
-<!--    </update>-->
-<!--    &lt;!&ndash; 编辑 用户角色 对应的 权限关系&ndash;&gt;-->
-<!--    <update id="updateUserRolePermissionRelation" parameterType="com.backendsys.entity.System.SysUserRoleDTO">-->
-<!--        &lt;!&ndash;删除符合条件的数据&ndash;&gt;-->
-<!--        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};-->
-<!--        &lt;!&ndash;判断是否有新的数据需要插入&ndash;&gt;-->
-<!--        <if test="modules != null and modules.size() > 0">-->
-<!--            INSERT INTO sys_user_role_module_relation (role_id, module_id)-->
-<!--            VALUES-->
-<!--            <foreach collection="modules" item="module" separator=",">-->
-<!--                (#{role_id}, #{module.id})-->
-<!--            </foreach>-->
-<!--        </if>-->
-<!--    </update>-->
-
-<!--    &lt;!&ndash; 删除 用户角色 (同时删除权限关系) &ndash;&gt;-->
-<!--    <delete id="deleteUserRole" parameterType="java.lang.Long">-->
-<!--        DELETE FROM sys_user_role WHERE id = #{role_id};-->
-<!--        DELETE FROM sys_user_role_module_relation WHERE role_id = #{role_id};-->
-<!--    </delete>-->
-
-<!--</mapper>-->

+ 0 - 11
src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.java

@@ -1,11 +0,0 @@
-//package com.backendsys.mapper.System;
-//
-//import org.apache.ibatis.annotations.Mapper;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Mapper
-//public interface SysUserRoleModuleMapper {
-//    List<Map<String, Object>> queryUserRoleModuleList();
-//}

+ 0 - 24
src/main/java/com/backendsys/mapper/System/SysUserRoleModuleMapper.xml

@@ -1,24 +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="com.backendsys.mapper.System.SysUserRoleModuleMapper">-->
-
-<!--    &lt;!&ndash;, module_code&ndash;&gt;-->
-<!--    <sql id="includeUserRoleModule">-->
-<!--        id, COALESCE(parent_id, '') AS parent_id, module_name-->
-<!--    </sql>-->
-
-<!--    <resultMap id="resultMapUserRoleModuleList" type="java.util.LinkedHashMap">-->
-<!--        <id property="id" column="id" jdbcType="BIGINT" />-->
-<!--        <result property="parent_id" column="parent_id" />-->
-<!--        <result property="module_name" column="module_name" />-->
-<!--        &lt;!&ndash;<result property="module_code" column="module_code" />&ndash;&gt;-->
-<!--    </resultMap>-->
-
-<!--    &lt;!&ndash; 查询 用户角色列表 &ndash;&gt;-->
-<!--    <select id="queryUserRoleModuleList" resultMap="resultMapUserRoleModuleList">-->
-<!--        SELECT <include refid="includeUserRoleModule" />-->
-<!--        FROM sys_user_role_module-->
-<!--        ORDER BY sort ASC-->
-<!--    </select>-->
-
-<!--</mapper>-->

+ 0 - 14
src/main/java/com/backendsys/service/Ai/AiChatHistoryService.java

@@ -1,14 +0,0 @@
-package com.backendsys.service.Ai;
-
-import com.backendsys.entity.Ai.AiChatHistoryDTO;
-
-import java.util.Map;
-
-public interface AiChatHistoryService {
-    Map<String, Object> queryAiChatHistoryList(Integer pageNum, Integer pageSize, AiChatHistoryDTO aiChatHistoryDTO);
-    Map<String, Object> queryAiChatHistoryByCode(String history_code);
-
-    Map<String, Object> insertAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-    // Map<String, Object> updateAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-    Map<String, Object> deleteAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO);
-}

+ 0 - 75
src/main/java/com/backendsys/service/Ai/AiChatHistoryServiceImpl.java

@@ -1,75 +0,0 @@
-package com.backendsys.service.Ai;
-
-import com.backendsys.entity.Ai.AiChatHistoryDTO;
-import com.backendsys.mapper.Ai.AiChatHistoryMapper;
-import com.backendsys.utils.response.PageInfoResult;
-import com.github.pagehelper.PageHelper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-import java.util.Map;
-
-@Service
-public class AiChatHistoryServiceImpl implements AiChatHistoryService {
-
-    @Autowired
-    private AiChatHistoryMapper aiChatHistoryMapper;
-
-    /**
-     * 查询 列表
-     */
-    public Map<String, Object> queryAiChatHistoryList(Integer pageNum, Integer pageSize, AiChatHistoryDTO aiChatHistoryDTO) {
-        // 分页查询
-        if (pageNum != null && pageSize != null) {
-            PageHelper.startPage(pageNum, pageSize);
-            PageHelper.getLocalPage().setPageSizeZero(true);
-        }
-        // 分页输出 (自定义)
-        List<Map<String, Object>> list = aiChatHistoryMapper.queryAiChatHistory(aiChatHistoryDTO);
-        PageInfoResult pageInfoResult = new PageInfoResult(list);
-        return pageInfoResult.toMap();
-    }
-
-
-    /**
-     * 获得历史记录详情 (适用于 @QueryNullCheck 查询)
-     */
-    @Override
-    public Map<String, Object> queryAiChatHistoryByCode(String history_code) {
-        Map<String, Object> response = aiChatHistoryMapper.queryAiChatHistoryByCode(history_code);
-        if (response == null) { return null; }
-        return response;
-    }
-
-    /**
-     * 创建
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> insertAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO) {
-        aiChatHistoryMapper.insertAiChatHistory(aiChatHistoryDTO);
-        return Map.of("history_code", aiChatHistoryDTO.getHistory_code());
-    }
-
-    // /**
-    //  * 更新
-    //  */
-    // @Override
-    // @Transactional
-    // public Map<String, Object> updateAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO) {
-    //     aiChatHistoryMapper.updateAiChatHistory(aiChatHistoryDTO);
-    //     return Map.of("history_code", aiChatHistoryDTO.getHistory_code());
-    // }
-
-    /**
-     * 删除
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> deleteAiChatHistory(AiChatHistoryDTO aiChatHistoryDTO) {
-        aiChatHistoryMapper.deleteAiChatHistory(aiChatHistoryDTO);
-        return Map.of("history_code", aiChatHistoryDTO.getHistory_code());
-    }
-}

+ 0 - 12
src/main/java/com/backendsys/service/Ai/AiChatService.java

@@ -1,12 +0,0 @@
-package com.backendsys.service.Ai;
-
-import com.backendsys.entity.Ai.AiChatDTO;
-
-import java.util.Map;
-
-public interface AiChatService {
-    Map<String, Object> queryAiChatList(Integer pageNum, Integer pageSize, AiChatDTO aiChatDTO);
-    Map<String, Object> insertAiChat(AiChatDTO aiChatDTO);
-    // Map<String, Object> updateAiChat(AiChatDTO aiChatDTO);
-    Map<String, Object> deleteAiChat(AiChatDTO aiChatDTO);
-}

+ 0 - 389
src/main/java/com/backendsys/service/Ai/AiChatServiceImpl.java

@@ -1,389 +0,0 @@
-package com.backendsys.service.Ai;
-
-import cn.hutool.core.convert.Convert;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import com.backendsys.aspect.HttpRequestAspect;
-import com.backendsys.modules.common.config.security.entity.SecurityUserInfo;
-import com.backendsys.modules.common.config.security.utils.SecurityUtil;
-import com.backendsys.modules.common.config.security.utils.TokenUtil;
-import com.backendsys.entity.Ai.AiChatDTO;
-import com.backendsys.mapper.Ai.AiChatHistoryMapper;
-import com.backendsys.mapper.Ai.AiChatMapper;
-import com.backendsys.mapper.System.SysUserMapper;
-import com.backendsys.entity.Ai.AiChatHistoryDTO;
-import com.backendsys.modules.sse.utils.SseUtil;
-import com.backendsys.utils.response.PageInfoResult;
-import com.github.pagehelper.PageHelper;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.tencentcloudapi.common.Credential;
-import com.tencentcloudapi.common.SSEResponseModel;
-import com.tencentcloudapi.common.exception.TencentCloudSDKException;
-import com.tencentcloudapi.common.profile.ClientProfile;
-import com.tencentcloudapi.hunyuan.v20230901.HunyuanClient;
-
-import com.tencentcloudapi.hunyuan.v20230901.models.ChatStdRequest;
-import com.tencentcloudapi.hunyuan.v20230901.models.ChatStdResponse;
-
-import com.tencentcloudapi.hunyuan.v20230901.models.Message;
-import io.jsonwebtoken.Claims;
-import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.messaging.simp.SimpMessagingTemplate;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
-
-@Service
-@RequiredArgsConstructor
-public class AiChatServiceImpl implements AiChatService {
-
-    @Value("${tencent.hunyuan.secret-id}")
-    private String SECRET_ID;
-    @Value("${tencent.hunyuan.secret-key}")
-    private String SECRET_KEY;
-    @Value("${tencent.hunyuan.region}")
-    private String REGION;
-
-    @Value("${spring.application.name}")
-    private String APPLICATION_NAME;
-    @Autowired
-    private SseUtil sseUtil;
-
-//    @Autowired
-//    private TokenUtil tokenUtil;
-
-    private final SimpMessagingTemplate messagingTemplate;
-
-    // -----------------------------------------------------------
-
-//    @Autowired
-//    private HttpRequestAspect httpRequestAspect;
-
-    @Autowired
-    private AiChatMapper aiChatMapper;
-
-    @Autowired
-    private AiChatHistoryMapper aiChatHistoryMapper;
-
-//    @Autowired
-//    private SysUserMapper sysUserMapper;
-
-    /**
-     * 查询 列表
-     */
-    public Map<String, Object> queryAiChatList(Integer pageNum, Integer pageSize, AiChatDTO aiChatDTO) {
-        // 分页查询
-        if (pageNum != null && pageSize != null) {
-            PageHelper.startPage(pageNum, pageSize);
-            PageHelper.getLocalPage().setPageSizeZero(true);
-        }
-        // 分页输出 (自定义)
-        List<Map<String, Object>> list = aiChatMapper.queryAiChatList(aiChatDTO);
-        PageInfoResult pageInfoResult = new PageInfoResult(list);
-        return pageInfoResult.toMap();
-    }
-
-
-
-    /**
-     * 格式化 AI 回复内容的 实体类
-     * 【腾讯云-混元大模型】 https://cloud.tencent.com/document/api/1729/101836
-     */
-    private AiChatDTO receiveAiChatDTO(AiChatDTO aiChatDTO) {
-
-
-
-        // [查询] 自身 UserId (并加入)
-        Long user_id = aiChatDTO.getUser_id();
-        String history_code = aiChatDTO.getHistory_code();
-
-        /**
-         * 使用 Webstock 将 AI回复的内容 发送回给自己
-         */
-        SecurityUserInfo userInfo = SecurityUtil.getUserInfo();
-        String receiver = userInfo.getUsername();
-
-//        // 获得我的用户名
-//        Claims loginUserInfo = tokenUtil.getRedisTokenInfo();
-//        String receiver = (String) loginUserInfo.get("username");
-
-
-
-        // [发送/接收] 内容
-        String sendContent = aiChatDTO.getContent();
-        String receiveContent = "";
-        String receiveRobotCode = "";
-
-        try {
-
-            Credential cred = new Credential(SECRET_ID, SECRET_KEY);
-
-            ClientProfile clientProfile = new ClientProfile();
-            HunyuanClient client = new HunyuanClient(cred, REGION, clientProfile);
-
-
-            // 根据 history_code 查询全部的对话历史记录
-            AiChatDTO aiChatDTO_by_history = new AiChatDTO();
-            aiChatDTO_by_history.setHistory_code(history_code);
-            List<Map<String, Object>> aiChat_list_by_history = aiChatMapper.queryAiChatList(aiChatDTO_by_history);
-
-            // 遍历历史记录,将历史记录赋值到 要提交的内容数组上
-            // https://cloud.tencent.com/document/product/1729/101836
-            // (2. 输入参数 Messages.N 聊天上下文信息。)
-            Message[] msgList = new Message[aiChat_list_by_history.size()];
-            if (!aiChat_list_by_history.isEmpty()) {
-                for (int i = 0; i < aiChat_list_by_history.size(); i++) {
-                    Map<String, Object> aiChat = aiChat_list_by_history.get(i);
-                    Message msg = new Message();
-                    msg.setRole((String) aiChat.get("role"));
-                    msg.setContent((String) aiChat.get("content"));
-                    msgList[i] = msg;
-                }
-            }
-
-//            // 追加新的 对话内容 (当前的)
-//            Message additionalMsg = new Message();
-//            additionalMsg.setRole("user");
-//            additionalMsg.setContent(sendContent);
-//            // [Hutool] 追加内容
-//            msgList = ArrayUtil.append(msgList, additionalMsg);
-
-//            System.out.println("msgList:");
-//            for (Message msg : msgList) {
-//                System.out.println("Role: " + msg.getRole() + ", Content: " + msg.getContent());
-//            }
-
-
-//            // 发送对话 (高级版)
-//            ChatProRequest req = new ChatProRequest();
-//            req.setMessages(msgList);
-//            ChatProResponse resp = client.ChatPro(req);
-
-            // 发送对话 (标准版)
-            ChatStdRequest req = new ChatStdRequest();
-            req.setMessages(msgList);
-            ChatStdResponse resp = client.ChatStd(req);
-
-//            System.out.println(resp);
-
-            Gson gson = new GsonBuilder().create();
-            for (SSEResponseModel.SSE e : resp) {
-
-//                 System.out.println(e.Data);
-                /**
-                 *
-                 * .Data:
-                 *  {"Note":"以上内容为AI生成,不代表开发者立场,请勿删除或修改本标记","Choices":[{"FinishReason":"","Delta":{"Role":"assistant","Content":"当然"}}],"Created":1709618061,"Id":"e73c0a71-5c98-4893-ba90-ad5056d5871a","Usage":{"PromptTokens":7,"CompletionTokens":1,"TotalTokens":8}}
-                 * e.Data:
-                 *  {"Note":"以上内容为AI生成,不代表开发者立场,请勿删除或修改本标记","Choices":[{"FinishReason":"","Delta":{"Role":"assistant","Content":"可以"}}],"Created":1709618061,"Id":"e73c0a71-5c98-4893-ba90-ad5056d5871a","Usage":{"PromptTokens":7,"CompletionTokens":2,"TotalTokens":9}}
-                 * e.Data:
-                 *  {"Note":"以上内容为AI生成,不代表开发者立场,请勿删除或修改本标记","Choices":[{"FinishReason":"","Delta":{"Role":"assistant","Content":","}}],"Created":1709618061,"Id":"e73c0a71-5c98-4893-ba90-ad5056d5871a","Usage":{"PromptTokens":7,"CompletionTokens":3,"TotalTokens":10}}
-                 * e.Data:
-                 */
-                JSONObject dataObject = JSONUtil.parseObj(e.Data);
-
-                // [Webstock] 将消息推送到前台
-                messagingTemplate.convertAndSendToUser(receiver, "/queue/ai-chating", e.Data);
-
-                // [SSE] 发送消息
-                sseUtil.send(user_id, e.Data);
-
-                receiveRobotCode = dataObject.getStr("Id");
-                JSONArray choicesArray = dataObject.getJSONArray("Choices");
-                if (choicesArray != null && choicesArray.size() > 0) {
-                    JSONObject firstChoice = choicesArray.getJSONObject(0);
-                    JSONObject deltaObject = firstChoice.getJSONObject("Delta");
-                    receiveContent += deltaObject.getStr("Content");
-                }
-
-            }
-
-        } catch (TencentCloudSDKException e) {
-            e.printStackTrace();
-        }
-
-        AiChatDTO robotChatDTO = new AiChatDTO();
-        robotChatDTO.setUser_id(user_id);
-        robotChatDTO.setHistory_code(history_code);
-        robotChatDTO.setRobot_code(receiveRobotCode);
-        robotChatDTO.setRole("assistant");
-        robotChatDTO.setContent(receiveContent);
-
-        return robotChatDTO;
-    }
-
-    /**
-     * 欺骗的AI回复内容
-     */
-    private AiChatDTO cheatAiChatDTO(AiChatDTO aiChatDTO, String content) {
-
-        SecurityUserInfo userInfo = SecurityUtil.getUserInfo();
-        String receiver = userInfo.getUsername();
-
-//        // 获得我的用户名
-//        Claims loginUserInfo = tokenUtil.getRedisTokenInfo();
-//        String receiver = (String) loginUserInfo.get("username");
-
-        // [查询] 自身 UserId (并加入)
-        Long user_id = aiChatDTO.getUser_id();
-        String history_code = aiChatDTO.getHistory_code();
-
-        AiChatDTO robotChatDTO = new AiChatDTO();
-        robotChatDTO.setUser_id(user_id);
-        robotChatDTO.setHistory_code(history_code);
-        robotChatDTO.setRobot_code("Cheat");
-        robotChatDTO.setRole("assistant");
-        robotChatDTO.setContent(content);
-
-        String uuid = String.valueOf(UUID.randomUUID());
-        long timestamp = DateUtil.currentSeconds();
-        String data = "{\"Note\":\"Cheat Content\",\"Choices\":[{\"FinishReason\":\"stop\",\"Delta\":{\"Role\":\"assistant\",\"Content\":\"" + content + "\"}}],\"Created\":" + timestamp + ",\"Id\":\"" + uuid + "\",\"Usage\":{\"PromptTokens\":1,\"CompletionTokens\":1,\"TotalTokens\":1}}";
-
-        // [Webstock] 将消息推送到前台
-        messagingTemplate.convertAndSendToUser(receiver, "/queue/ai-chating", data);
-
-        return robotChatDTO;
-    }
-
-
-    /**
-     * 创建
-     * 
-     * 传参有几种情况:
-     * - { content }:[新增] 对话内容;[新增] 历史记录;
-     * - { content, history_code }:在对应的 {历史记录} 下新增对话内容;
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> insertAiChat(AiChatDTO aiChatDTO) {
-
-        String[] cheatKeyword = {"你是谁","你是什么","介绍一下自己"};
-
-        // [查询] 自身 UserId (并加入)
-//        Long user_id = httpRequestAspect.getUserId();
-//        aiChatDTO.setUser_id(user_id);
-
-        // 添加 当前用户名/对话角色
-        SecurityUserInfo userInfo = SecurityUtil.getUserInfo();
-        aiChatDTO.setUser_id(userInfo.getUser_id());
-        aiChatDTO.setUser_nickname(userInfo.getUsername());
-        aiChatDTO.setRole("user");
-
-//        // [查询] 自身 用户信息 (并加入)
-//        Map<String, Object> userDetail = sysUserMapper.queryUserDetail(user_id);
-//        aiChatDTO.setUser_nickname((String) userDetail.get("nickname"));
-//        aiChatDTO.setUser_avatar((String) userDetail.get("avatar"));
-//        aiChatDTO.setRole("user");
-
-        // [Create] 如果参数中没有带 { history_code } 时,则在新增的同时创建 chat_history表 记录
-        String history_code = aiChatDTO.getHistory_code();
-        // 当 { history_code} 为空时
-        if (history_code == null || history_code == "") {
-            
-            // 生成新的 history_code
-            history_code = String.valueOf(UUID.randomUUID());
-            aiChatDTO.setHistory_code(history_code);
-
-            // -- [新增] 历史记录 -------------------------------------------------------
-            AiChatHistoryDTO aiChatHistoryDTO = new AiChatHistoryDTO();
-//            aiChatHistoryDTO.setUser_id(user_id);
-            aiChatHistoryDTO.setUser_id(userInfo.getUser_id());
-            aiChatHistoryDTO.setHistory_code(history_code);
-
-            // 最后一次发送的内容 (超过 255 字符时截取)
-            String content = aiChatDTO.getContent();
-            if (content.length() > 255) content = content.substring(0, 255);
-            aiChatHistoryDTO.setLast_content(content);
-            // -------------------------------------------------------------------------
-
-            // [插入] 新的历史记录
-            aiChatHistoryMapper.insertAiChatHistory(aiChatHistoryDTO);
-
-            // [插入] 新的对话 (用户)
-            aiChatMapper.insertAiChat(aiChatDTO);
-
-            // [插入] 新的对话 (机器人)
-            AiChatDTO robotChatDTO = null;
-            // 带着欺骗的
-            if (StrUtil.containsAny(aiChatDTO.getContent(), cheatKeyword)) {
-                robotChatDTO = cheatAiChatDTO(aiChatDTO, "嗨,我是你的AI人工智能助手。无论你有什么问题或需要帮助,我都在这里为你服务。让我们一起探索今天你需要解决的吧!");
-            } else {
-                robotChatDTO = receiveAiChatDTO(aiChatDTO);
-            }
-            aiChatMapper.insertAiChat(robotChatDTO);
-
-        } else {
-
-            // 当 { history_code } 不为空时
-
-            // 判断历史记录是否存在
-            AiChatHistoryDTO chatHistoryDTO = new AiChatHistoryDTO();
-            chatHistoryDTO.setHistory_code(history_code);
-            // 查询
-            List<Map<String, Object>> chatHistoryList = aiChatHistoryMapper.queryAiChatHistory(chatHistoryDTO);
-            // 当历史记录不存在时,创建新的历史记录
-            if (chatHistoryList.isEmpty()) {
-                System.out.println("chatHistoryList is Empty!");
-                // -- [新增] 历史记录 -------------------------------------------------------
-                AiChatHistoryDTO aiChatHistoryDTO = new AiChatHistoryDTO();
-//                aiChatHistoryDTO.setUser_id(user_id);
-                aiChatHistoryDTO.setUser_id(userInfo.getUser_id());
-                aiChatHistoryDTO.setHistory_code(history_code);
-
-                // 最后一次发送的内容 (超过 255 字符时截取)
-                String content = aiChatDTO.getContent();
-                if (content.length() > 255) content = content.substring(0, 255);
-                aiChatHistoryDTO.setLast_content(content);
-                
-                // [插入] 新的对话历史记录
-                aiChatHistoryMapper.insertAiChatHistory(aiChatHistoryDTO);
-                // -------------------------------------------------------------------------
-            }
-
-            // [已存在历史记录]
-
-            // [插入] 新的对话 (用户)
-            aiChatMapper.insertAiChat(aiChatDTO);
-
-            // [插入] 新的对话 (机器人)
-            AiChatDTO robotChatDTO = null;
-            // 带着欺骗的
-            if (StrUtil.containsAny(aiChatDTO.getContent(), cheatKeyword)) {
-                robotChatDTO = cheatAiChatDTO(aiChatDTO, "嗨,我是你的AI人工智能助手。无论你有什么问题或需要帮助,我都在这里为你服务。让我们一起探索今天你需要解决的吧!");
-            } else {
-                robotChatDTO = receiveAiChatDTO(aiChatDTO);
-            }
-            aiChatMapper.insertAiChat(robotChatDTO);
-
-        }
-
-        return Map.of("history_code", history_code);
-    }
-
-    // /**
-    //  * 更新
-    //  */
-    // @Override
-    // @Transactional
-    // public Map<String, Object> updateAiChat(AiChatDTO aiChatDTO) {
-    //     aiChatMapper.updateAiChat(aiChatDTO);
-    //     return Map.of("history_code", aiChatDTO.getHistory_code());
-    // }
-
-    /**
-     * 删除
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> deleteAiChat(AiChatDTO aiChatDTO) {
-        aiChatMapper.deleteAiChat(aiChatDTO);
-        return Map.of("history_code", aiChatDTO.getHistory_code());
-    }
-}

+ 0 - 13
src/main/java/com/backendsys/service/Cms/CmsArticleCategoryService.java

@@ -1,13 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsArticleCategoryDTO;
-//
-//import java.util.Map;
-//
-//public interface CmsArticleCategoryService<T> {
-//    Map<String, Object> queryArticleCategory(Integer pageNum, Integer pageSize, CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//    Map<String, Object> queryArticleCategoryDetail(Long article_category_id);
-//    Map<String, Object> insertArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//    Map<String, Object> updateArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//    Map<String, Object> deleteArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO);
-//}

+ 0 - 74
src/main/java/com/backendsys/service/Cms/CmsArticleCategoryServiceImpl.java

@@ -1,74 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsArticleCategoryDTO;
-//import com.backendsys.mapper.Cms.CmsArticleCategoryMapper;
-//import com.backendsys.utils.response.PageInfoResult;
-//import com.github.pagehelper.PageHelper;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//import org.springframework.transaction.annotation.Transactional;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Service
-//public class CmsArticleCategoryServiceImpl<T> implements CmsArticleCategoryService {
-//
-//    @Autowired
-//    private CmsArticleCategoryMapper cmsArticleCategoryMapper;
-//
-//    /**
-//     * 查询 资讯分类列表
-//     */
-//    @Override
-//    public Map<String, Object> queryArticleCategory(Integer pageNum, Integer pageSize, CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        // 分页查询
-//        if (pageNum != null && pageSize != null) {
-//            PageHelper.startPage(pageNum, pageSize);
-//            PageHelper.getLocalPage().setPageSizeZero(true);
-//        }
-//        // 分页输出 (自定义)
-//        List<Map<String, Object>> list = cmsArticleCategoryMapper.queryArticleCategoryList(cmsArticleCategoryDTO);
-//        PageInfoResult pageInfoResult = new PageInfoResult(list);
-//        return pageInfoResult.toMap();
-//    }
-//
-//    /**
-//     * 查询 资讯分类详情
-//     */
-//    @Override
-//    public Map<String, Object> queryArticleCategoryDetail(Long article_category_id) {
-//        return cmsArticleCategoryMapper.queryArticleCategoryDetail(article_category_id);
-//    }
-//
-//    /**
-//     * 创建 资讯分类
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> insertArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        cmsArticleCategoryMapper.insertArticleCategory(cmsArticleCategoryDTO);
-//        return Map.of("article_category_id", cmsArticleCategoryDTO.getArticle_category_id());
-//    }
-//
-//    /**
-//     * 更新 资讯分类
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> updateArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        cmsArticleCategoryMapper.updateArticleCategory(cmsArticleCategoryDTO);
-//        return Map.of("article_category_id", cmsArticleCategoryDTO.getArticle_category_id());
-//    }
-//
-//    /**
-//     * 删除 资讯分类
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> deleteArticleCategory(CmsArticleCategoryDTO cmsArticleCategoryDTO) {
-//        cmsArticleCategoryMapper.deleteArticleCategory(cmsArticleCategoryDTO);
-//        return Map.of("article_category_id", cmsArticleCategoryDTO.getArticle_category_id());
-//    }
-//
-//}

+ 0 - 16
src/main/java/com/backendsys/service/Cms/CmsArticleService.java

@@ -1,16 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsArticleDTO;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//public interface CmsArticleService {
-//    Map<String, Object> queryArticle(Integer pageNum, Integer pageSize, CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> queryArticleDetail(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> queryArticleDetailPublic(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> insertArticle(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> updateArticle(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> deleteArticle(CmsArticleDTO cmsArticleDTO);
-//    Map<String, Object> deleteArticleBatch(List<Long> ids);
-//}

+ 0 - 122
src/main/java/com/backendsys/service/Cms/CmsArticleServiceImpl.java

@@ -1,122 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.utils.LanguageUtil;
-//import com.backendsys.entity.Cms.CmsArticleDTO;
-//import com.backendsys.entity.Cms.CmsArticleTranslationsDTO;
-//import com.backendsys.mapper.Cms.CmsArticleMapper;
-//import com.backendsys.utils.response.PageInfoResult;
-//import com.github.pagehelper.PageHelper;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//import org.springframework.transaction.annotation.Transactional;
-//
-//import java.util.List;
-//import java.util.Map;
-//import java.util.Collections;
-//
-//@Service
-//public class CmsArticleServiceImpl implements CmsArticleService {
-//
-//    @Autowired
-//    private CmsArticleMapper cmsArticleMapper;
-//
-//    /**
-//     * 查询 资讯列表
-//     */
-//    @Override
-//    public Map<String, Object> queryArticle(Integer pageNum, Integer pageSize, CmsArticleDTO cmsArticleDTO) {
-//        // 分页查询
-//        if (pageNum != null && pageSize != null) {
-//            PageHelper.startPage(pageNum, pageSize);
-//            PageHelper.getLocalPage().setPageSizeZero(true);
-//        }
-//        // 分页输出 (自定义)
-//        List<Map<String, Object>> list = cmsArticleMapper.queryArticleList(cmsArticleDTO);
-//        PageInfoResult pageInfoResult = new PageInfoResult(list);
-//        return pageInfoResult.toMap();
-//    }
-//
-//    /**
-//     * 查询 资讯翻译 (无分页)
-//     */
-//    // @Override
-//    // public List<Map<String, Object>> queryArticleTranslation(CmsArticleDTO cmsArticleDTO) {
-//    //     return cmsArticleMapper.queryArticleTranslation(cmsArticleDTO);
-//    // }
-//
-//    /**
-//     * 查询 资讯详情
-//     */
-//    @Override
-//    public Map<String, Object> queryArticleDetail(CmsArticleDTO cmsArticleDTO) {
-//        return cmsArticleMapper.queryArticleDetail(cmsArticleDTO);
-//    }
-//
-//    @Override
-//    public Map<String, Object> queryArticleDetailPublic(CmsArticleDTO cmsArticleDTO) {
-//        return cmsArticleMapper.queryArticleDetailPublic(cmsArticleDTO);
-//    }
-//
-//
-//
-//    @Autowired
-//    private LanguageUtil languageUtil;
-//
-//    /**
-//     * 创建 资讯
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> insertArticle(CmsArticleDTO cmsArticleDTO) {
-//
-//        cmsArticleMapper.insertArticle(cmsArticleDTO);
-//
-//        // 获得翻译字段数组,并批量添加
-//        Map<String, Object> fieldPrimary = Collections.singletonMap("article_id", cmsArticleDTO.getArticle_id());
-//        cmsArticleMapper.insertArticleTranslations(languageUtil.getTranslationsField(fieldPrimary, cmsArticleDTO, CmsArticleTranslationsDTO.class));
-//
-//        // 相当于
-//        // List<CmsArticleTranslationsDTO> translations = cmsArticleDTO.getTranslations().stream().map(dto -> {
-//        //     CmsArticleTranslationsDTO translation = new CmsArticleTranslationsDTO();
-//        //     translation.setArticle_id(cmsArticleDTO.getArticle_id());
-//        //     translation.setLanguage(dto.getLanguage());
-//        //     translation.setTitle(dto.getTitle());
-//        //     translation.setDescription(dto.getDescription());
-//        //     translation.setContent(dto.getContent());
-//        //     return translation;
-//        // }).collect(Collectors.toList());
-//
-//        return Map.of("article_id", cmsArticleDTO.getArticle_id());
-//    }
-//
-//    /**
-//     * 更新 资讯
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> updateArticle(CmsArticleDTO cmsArticleDTO) {
-//        cmsArticleMapper.updateArticle(cmsArticleDTO);
-//        return Map.of("article_id", cmsArticleDTO.getArticle_id());
-//    }
-//
-//    /**
-//     * 删除 资讯
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> deleteArticle(CmsArticleDTO cmsArticleDTO) {
-//        cmsArticleMapper.deleteArticle(cmsArticleDTO);
-//        return Map.of("article_id", cmsArticleDTO.getArticle_id());
-//    }
-//
-//    /**
-//     * 删除 资讯 (批量)
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> deleteArticleBatch(List<Long> ids) {
-//        cmsArticleMapper.deleteArticleBatch(ids);
-//        return Map.of("article_ids", ids);
-//    }
-//
-//}

+ 0 - 13
src/main/java/com/backendsys/service/Cms/CmsBannerService.java

@@ -1,13 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsBannerDTO;
-//
-//import java.util.Map;
-//
-//public interface CmsBannerService<T> {
-//    Map<String, Object> queryBanner(Integer pageNum, Integer pageSize, CmsBannerDTO cmsBannerDTO);
-//    Map<String, Object> queryBannerDetail(Long article_id);
-//    Map<String, Object> insertBanner(CmsBannerDTO cmsBannerDTO);
-//    Map<String, Object> updateBanner(CmsBannerDTO cmsBannerDTO);
-//    Map<String, Object> deleteBanner(CmsBannerDTO cmsBannerDTO);
-//}

+ 0 - 74
src/main/java/com/backendsys/service/Cms/CmsBannerServiceImpl.java

@@ -1,74 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsBannerDTO;
-//import com.backendsys.mapper.Cms.CmsBannerMapper;
-//import com.backendsys.utils.response.PageInfoResult;
-//import com.github.pagehelper.PageHelper;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//import org.springframework.transaction.annotation.Transactional;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Service
-//public class CmsBannerServiceImpl<T> implements CmsBannerService {
-//
-//    @Autowired
-//    private CmsBannerMapper cmsBannerMapper;
-//
-//    /**
-//     * 查询 幻灯片列表
-//     */
-//    @Override
-//    public Map<String, Object> queryBanner(Integer pageNum, Integer pageSize, CmsBannerDTO cmsBannerDTO) {
-//        // 分页查询
-//        if (pageNum != null && pageSize != null) {
-//            PageHelper.startPage(pageNum, pageSize);
-//            PageHelper.getLocalPage().setPageSizeZero(true);
-//        }
-//        // 分页输出 (自定义)
-//        List<Map<String, Object>> list = cmsBannerMapper.queryBannerList(cmsBannerDTO);
-//        PageInfoResult pageInfoResult = new PageInfoResult(list);
-//        return pageInfoResult.toMap();
-//    }
-//
-//    /**
-//     * 查询 幻灯片详情
-//     */
-//    @Override
-//    public Map<String, Object> queryBannerDetail(Long banner_id) {
-//        return cmsBannerMapper.queryBannerDetail(banner_id);
-//    }
-//
-//    /**
-//     * 创建 幻灯片
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> insertBanner(CmsBannerDTO cmsBannerDTO) {
-//        cmsBannerMapper.insertBanner(cmsBannerDTO);
-//        return Map.of("banner_id", cmsBannerDTO.getBanner_id());
-//    }
-//
-//    /**
-//     * 更新 幻灯片
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> updateBanner(CmsBannerDTO cmsBannerDTO) {
-//        cmsBannerMapper.updateBanner(cmsBannerDTO);
-//        return Map.of("banner_id", cmsBannerDTO.getBanner_id());
-//    }
-//
-//    /**
-//     * 删除 幻灯片
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> deleteBanner(CmsBannerDTO cmsBannerDTO) {
-//        cmsBannerMapper.deleteBanner(cmsBannerDTO);
-//        return Map.of("banner_id", cmsBannerDTO.getBanner_id());
-//    }
-//
-//}

+ 0 - 12
src/main/java/com/backendsys/service/Cms/CmsPageService.java

@@ -1,12 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsPageDTO;
-//
-//import java.util.Map;
-//
-//public interface CmsPageService {
-//    Map<String, Object> queryPage(Integer pageNum, Integer pageSize, CmsPageDTO cmsPageDTO);
-//    Map<String, Object> queryPageDetailPublic(CmsPageDTO cmsPageDTO);
-//    Map<String, Object> queryPageDetail(CmsPageDTO cmsPageDTO);
-//    Map<String, Object> updatePage(CmsPageDTO cmsPageDTO);
-//}

+ 0 - 62
src/main/java/com/backendsys/service/Cms/CmsPageServiceImpl.java

@@ -1,62 +0,0 @@
-//package com.backendsys.service.Cms;
-//
-//import com.backendsys.entity.Cms.CmsPageDTO;
-//import com.backendsys.mapper.Cms.CmsPageMapper;
-//import com.backendsys.utils.response.PageInfoResult;
-//import com.github.pagehelper.PageHelper;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//import org.springframework.transaction.annotation.Transactional;
-//
-//import java.util.List;
-//import java.util.Map;
-//
-//@Service
-//public class CmsPageServiceImpl implements CmsPageService {
-//
-//    @Autowired
-//    private CmsPageMapper cmsPageMapper;
-//
-//    /**
-//     * 查询 资讯列表
-//     */
-//    @Override
-//    public Map<String, Object> queryPage(Integer pageNum, Integer pageSize, CmsPageDTO cmsPageDTO) {
-//        // 分页查询
-//        if (pageNum != null && pageSize != null) {
-//            PageHelper.startPage(pageNum, pageSize);
-//            PageHelper.getLocalPage().setPageSizeZero(true);
-//        }
-//        // 分页输出 (自定义)
-//        List<Map<String, Object>> list = cmsPageMapper.queryPageList(cmsPageDTO);
-//        PageInfoResult pageInfoResult = new PageInfoResult(list);
-//        return pageInfoResult.toMap();
-//    }
-//
-//    /**
-//     * 查询 详情
-//     */
-//    @Override
-//    public Map<String, Object> queryPageDetailPublic(CmsPageDTO cmsPageDTO) {
-//        return cmsPageMapper.queryPageDetailPublic(cmsPageDTO);
-//    }
-//
-//    /**
-//     * 查询 详情
-//     */
-//    @Override
-//    public Map<String, Object> queryPageDetail(CmsPageDTO cmsPageDTO) {
-//        return cmsPageMapper.queryPageDetail(cmsPageDTO);
-//    }
-//
-//    /**
-//     * 更新
-//     */
-//    @Override
-//    @Transactional
-//    public Map<String, Object> updatePage(CmsPageDTO cmsPageDTO) {
-//        cmsPageMapper.updatePage(cmsPageDTO);
-//        return Map.of("page_sign", cmsPageDTO.getPage_sign());
-//    }
-//
-//}

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio