From 5cbd7130dfdfa50e5cccc09d1c7aa1df35fe8a8f Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Tue, 10 Mar 2026 09:22:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(menu):=20=E6=B7=BB=E5=8A=A0=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在HwWebMenu实体类中新增order字段及对应的getter/setter方法 - 更新数据库映射文件中的resultMap,添加order字段映射 - 在查询SQL中增加order字段的查询条件和排序规则 - 在插入和更新操作中添加对order字段的处理 - 修复了XML文件格式化问题 --- hw-portal-抽离迁移指导.md | 9493 ----------------- .../main/java/com/ruoyi/RuoYiApplication.java | 2 + .../src/main/resources/application.yml | 17 + ruoyi-common/pom.xml | 39 + .../impl/HwWebDocumentServiceImpl.java | 52 +- .../service/impl/HwWebMenuServiceImpl.java | 52 +- .../portal/service/impl/HwWebServiceImpl.java | 52 +- .../service/impl/HwWebServiceImpl1.java | 52 +- .../mapper/system/SysNoticeMapper.xml | 4 +- 9 files changed, 252 insertions(+), 9511 deletions(-) delete mode 100644 hw-portal-抽离迁移指导.md diff --git a/hw-portal-抽离迁移指导.md b/hw-portal-抽离迁移指导.md deleted file mode 100644 index 4ce4347..0000000 --- a/hw-portal-抽离迁移指导.md +++ /dev/null @@ -1,9493 +0,0 @@ -# hw-portal 抽离迁移指导(SpringBoot2/JDK8 -> SpringBoot3.5.8/JDK17) - -## 1. 目标与约束 -- 目标:将 hw-portal 从原微服务形态抽离为当前单体工程中的独立业务模块。 -- 硬约束:数据库表结构与 SQL 不变;Mapper 接口与 XML 语句逻辑不变;Service/Controller 方法业务逻辑不允许改变。 -- 允许改动范围:仅限框架兼容性改造(包名、注解、依赖、配置接入方式),不改变业务分支和返回语义。 - -## 2. 模块现状盘点(hw-portal) -- Controller: 14 个 -- Service 接口: 13 个 -- Service 实现: 13 个 -- Domain: 15 个 -- Mapper 接口: 13 个 -- Mapper XML: 13 个 -- 关键特点:存在 *1 平行模型(HwWeb/HwWeb1、HwWebMenu/HwWebMenu1、对应 Controller/Service/Mapper/XML)。 - -## 3. 接口总表(URL + 方法 + 调用链) -| Controller | HTTP | URL | 返回 | 方法 | Service 调用 | -|---|---|---|---|---|---| -| HwAboutUsInfoController | POST | /aboutUsInfo | AjaxResult | add | hwAboutUsInfoService.insertHwAboutUsInfo | -| HwAboutUsInfoController | PUT | /aboutUsInfo | AjaxResult | edit | hwAboutUsInfoService.updateHwAboutUsInfo | -| HwAboutUsInfoController | GET | /aboutUsInfo/{aboutUsInfoId} | AjaxResult | getInfo | hwAboutUsInfoService.selectHwAboutUsInfoByAboutUsInfoId | -| HwAboutUsInfoController | DELETE | /aboutUsInfo/{aboutUsInfoIds} | AjaxResult | remove | hwAboutUsInfoService.deleteHwAboutUsInfoByAboutUsInfoIds | -| HwAboutUsInfoController | POST | /aboutUsInfo/export | void | export | hwAboutUsInfoService.selectHwAboutUsInfoList | -| HwAboutUsInfoController | GET | /aboutUsInfo/list | TableDataInfo | list | hwAboutUsInfoService.selectHwAboutUsInfoList | -| HwAboutUsInfoDetailController | POST | /aboutUsInfoDetail | AjaxResult | add | hwAboutUsInfoDetailService.insertHwAboutUsInfoDetail | -| HwAboutUsInfoDetailController | PUT | /aboutUsInfoDetail | AjaxResult | edit | hwAboutUsInfoDetailService.updateHwAboutUsInfoDetail | -| HwAboutUsInfoDetailController | GET | /aboutUsInfoDetail/{usInfoDetailId} | AjaxResult | getInfo | hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailByUsInfoDetailId | -| HwAboutUsInfoDetailController | DELETE | /aboutUsInfoDetail/{usInfoDetailIds} | AjaxResult | remove | hwAboutUsInfoDetailService.deleteHwAboutUsInfoDetailByUsInfoDetailIds | -| HwAboutUsInfoDetailController | POST | /aboutUsInfoDetail/export | void | export | hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList | -| HwAboutUsInfoDetailController | GET | /aboutUsInfoDetail/list | TableDataInfo | list | hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList | -| HwContactUsInfoController | POST | /contactUsInfo | AjaxResult | add | hwContactUsInfoService.insertHwContactUsInfo | -| HwContactUsInfoController | PUT | /contactUsInfo | AjaxResult | edit | hwContactUsInfoService.updateHwContactUsInfo | -| HwContactUsInfoController | GET | /contactUsInfo/{contactUsInfoId} | AjaxResult | getInfo | hwContactUsInfoService.selectHwContactUsInfoByContactUsInfoId | -| HwContactUsInfoController | DELETE | /contactUsInfo/{contactUsInfoIds} | AjaxResult | remove | hwContactUsInfoService.deleteHwContactUsInfoByContactUsInfoIds | -| HwContactUsInfoController | POST | /contactUsInfo/export | void | export | hwContactUsInfoService.selectHwContactUsInfoList | -| HwContactUsInfoController | GET | /contactUsInfo/list | TableDataInfo | list | hwContactUsInfoService.selectHwContactUsInfoList | -| HwPortalConfigController | POST | /portalConfig | AjaxResult | add | hwPortalConfigService.insertHwPortalConfig | -| HwPortalConfigController | PUT | /portalConfig | AjaxResult | edit | hwPortalConfigService.updateHwPortalConfig | -| HwPortalConfigController | GET | /portalConfig/{portalConfigId} | AjaxResult | getInfo | hwPortalConfigService.selectHwPortalConfigByPortalConfigId | -| HwPortalConfigController | DELETE | /portalConfig/{portalConfigIds} | AjaxResult | remove | hwPortalConfigService.deleteHwPortalConfigByPortalConfigIds | -| HwPortalConfigController | POST | /portalConfig/export | void | export | hwPortalConfigService.selectHwPortalConfigList | -| HwPortalConfigController | GET | /portalConfig/list | TableDataInfo | list | hwPortalConfigService.selectHwPortalConfigJoinList | -| HwPortalConfigController | GET | /portalConfig/portalConfigTypeTree | AjaxResult | portalConfigTypeTree | hwPortalConfigTypeService.selectPortalConfigTypeTreeList | -| HwPortalConfigTypeController | POST | /portalConfigType | AjaxResult | add | hwPortalConfigTypeService.insertHwPortalConfigType | -| HwPortalConfigTypeController | PUT | /portalConfigType | AjaxResult | edit | hwPortalConfigTypeService.updateHwPortalConfigType | -| HwPortalConfigTypeController | GET | /portalConfigType/{configTypeId} | AjaxResult | getInfo | hwPortalConfigTypeService.selectHwPortalConfigTypeByConfigTypeId | -| HwPortalConfigTypeController | DELETE | /portalConfigType/{configTypeIds} | AjaxResult | remove | hwPortalConfigTypeService.deleteHwPortalConfigTypeByConfigTypeIds | -| HwPortalConfigTypeController | POST | /portalConfigType/export | void | export | hwPortalConfigTypeService.selectHwPortalConfigTypeList | -| HwPortalConfigTypeController | GET | /portalConfigType/list | AjaxResult | list | hwPortalConfigTypeService.selectHwPortalConfigTypeList | -| HwPortalController | POST | /portal/addContactUsInfo | AjaxResult | addContactUsInfo | hwContactUsInfoService.insertHwContactUsInfo | -| HwPortalController | GET | /portal/getAboutUsInfo | AjaxResult | getAboutUsInfo | hwAboutUsInfoService.selectHwAboutUsInfoList | -| HwPortalController | GET | /portal/getAboutUsInfoDetails | AjaxResult | getAboutUsInfoDetails | hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList | -| HwPortalController | GET | /portal/getCaseCenterCaseInfo/{caseInfoId} | AjaxResult | getCaseCenterCaseInfo | hwProductCaseInfoService.selectHwProductCaseInfoByCaseInfoId | -| HwPortalController | GET | /portal/getCaseCenterCaseInfos | AjaxResult | getCaseCenterCaseInfos | hwProductCaseInfoService.selectHwProductCaseInfoList | -| HwPortalController | GET | /portal/getHomeCaseTitleList | TableDataInfo | getHomeCaseTitleList | hwPortalConfigTypeService.selectHwPortalConfigTypeList | -| HwPortalController | GET | /portal/getPortalConfigList | TableDataInfo | getPortalConfigList | hwPortalConfigService.selectHwPortalConfigList | -| HwPortalController | GET | /portal/getPortalConfigTypeList | TableDataInfo | getPortalConfigTypeList | hwPortalConfigTypeService.selectHwPortalConfigTypeList | -| HwPortalController | GET | /portal/getProductCenterProductDetailInfos | AjaxResult | getProductCenterProductDetailInfos | hwProductInfoDetailService.selectHwProductInfoDetailList | -| HwPortalController | GET | /portal/getProductCenterProductInfos | AjaxResult | getProductCenterProductInfos | productInfoService.selectHwProductInfoJoinDetailList | -| HwPortalController | GET | /portal/getTypicalHomeCaseInfo | AjaxResult | getTypicalHomeCaseInfo | hwProductCaseInfoService.getTypicalHomeCaseInfo | -| HwPortalController | GET | /portal/selectConfigTypeList | TableDataInfo | selectConfigTypeList | hwPortalConfigTypeService.selectConfigTypeList | -| HwProductCaseInfoController | POST | /productCaseInfo | AjaxResult | add | hwProductCaseInfoService.insertHwProductCaseInfo | -| HwProductCaseInfoController | PUT | /productCaseInfo | AjaxResult | edit | hwProductCaseInfoService.updateHwProductCaseInfo | -| HwProductCaseInfoController | GET | /productCaseInfo/{caseInfoId} | AjaxResult | getInfo | hwProductCaseInfoService.selectHwProductCaseInfoByCaseInfoId | -| HwProductCaseInfoController | DELETE | /productCaseInfo/{caseInfoIds} | AjaxResult | remove | hwProductCaseInfoService.deleteHwProductCaseInfoByCaseInfoIds | -| HwProductCaseInfoController | POST | /productCaseInfo/export | void | export | hwProductCaseInfoService.selectHwProductCaseInfoList | -| HwProductCaseInfoController | GET | /productCaseInfo/list | TableDataInfo | list | hwProductCaseInfoService.selectHwProductCaseInfoList | -| HwProductCaseInfoController | GET | /productCaseInfo/portalConfigTypeTree | AjaxResult | portalConfigTypeTree | hwPortalConfigTypeService.selectPortalConfigTypeTreeList | -| HwProductInfoController | POST | /productInfo | AjaxResult | add | hwProductInfoService.insertHwProductInfo | -| HwProductInfoController | PUT | /productInfo | AjaxResult | edit | hwProductInfoService.updateHwProductInfo | -| HwProductInfoController | GET | /productInfo/{productInfoId} | AjaxResult | getInfo | hwProductInfoService.selectHwProductInfoByProductInfoId | -| HwProductInfoController | DELETE | /productInfo/{productInfoIds} | AjaxResult | remove | hwProductInfoService.deleteHwProductInfoByProductInfoIds | -| HwProductInfoController | POST | /productInfo/export | void | export | hwProductInfoService.selectHwProductInfoList | -| HwProductInfoController | GET | /productInfo/list | TableDataInfo | list | hwProductInfoService.selectHwProductInfoJoinList | -| HwProductInfoController | GET | /productInfo/portalConfigTypeTree | AjaxResult | portalConfigTypeTree | hwPortalConfigTypeService.selectPortalConfigTypeTreeList | -| HwProductInfoDetailController | POST | /productInfoDetail | AjaxResult | add | hwProductInfoDetailService.insertHwProductInfoDetail | -| HwProductInfoDetailController | PUT | /productInfoDetail | AjaxResult | edit | hwProductInfoDetailService.updateHwProductInfoDetail | -| HwProductInfoDetailController | GET | /productInfoDetail/{productInfoDetailId} | AjaxResult | getInfo | hwProductInfoDetailService.selectHwProductInfoDetailByProductInfoDetailId | -| HwProductInfoDetailController | DELETE | /productInfoDetail/{productInfoDetailIds} | AjaxResult | remove | hwProductInfoDetailService.deleteHwProductInfoDetailByProductInfoDetailIds | -| HwProductInfoDetailController | POST | /productInfoDetail/export | void | export | hwProductInfoDetailService.selectHwProductInfoDetailList | -| HwProductInfoDetailController | GET | /productInfoDetail/list | AjaxResult | list | hwProductInfoDetailService.selectHwProductInfoDetailList | -| HwWebController | POST | /hwWeb | AjaxResult | add | hwWebService.insertHwWeb | -| HwWebController | PUT | /hwWeb | AjaxResult | edit | hwWebService.updateHwWeb | -| HwWebController | GET | /hwWeb/{webCode} | AjaxResult | getInfo | hwWebService.selectHwWebByWebcode | -| HwWebController | DELETE | /hwWeb/{webIds} | AjaxResult | remove | hwWebService.deleteHwWebByWebIds | -| HwWebController | POST | /hwWeb/export | void | export | hwWebService.selectHwWebList | -| HwWebController | GET | /hwWeb/getHwWebList | AjaxResult | getHwWebList | hwWebService.selectHwWebList | -| HwWebController | GET | /hwWeb/list | TableDataInfo | list | hwWebService.selectHwWebList | -| HwWebController1 | POST | /hwWeb1 | AjaxResult | add | hwWebService1.insertHwWeb | -| HwWebController1 | PUT | /hwWeb1 | AjaxResult | edit | hwWebService1.updateHwWeb | -| HwWebController1 | GET | /hwWeb1/{webCode} | AjaxResult | getInfo | hwWebService1.selectHwWebByWebcode | -| HwWebController1 | DELETE | /hwWeb1/{webIds} | AjaxResult | remove | hwWebService1.deleteHwWebByWebIds | -| HwWebController1 | POST | /hwWeb1/export | void | export | hwWebService1.selectHwWebList | -| HwWebController1 | GET | /hwWeb1/getHwWeb1List | AjaxResult | getHwWeb1List | hwWebService1.selectHwWebList | -| HwWebController1 | GET | /hwWeb1/list | TableDataInfo | list | hwWebService1.selectHwWebList | -| HwWebDocumentController | POST | /hwWebDocument | AjaxResult | add | hwWebDocumentService.insertHwWebDocument | -| HwWebDocumentController | PUT | /hwWebDocument | AjaxResult | edit | hwWebDocumentService.updateHwWebDocument | -| HwWebDocumentController | GET | /hwWebDocument/{documentId} | AjaxResult | getInfo | hwWebDocumentService.selectHwWebDocumentByDocumentId | -| HwWebDocumentController | DELETE | /hwWebDocument/{documentIds} | AjaxResult | remove | hwWebDocumentService.deleteHwWebDocumentByDocumentIds | -| HwWebDocumentController | POST | /hwWebDocument/export | void | export | hwWebDocumentService.selectHwWebDocumentList | -| HwWebDocumentController | POST | /hwWebDocument/getSecureDocumentAddress | AjaxResult | getSecureDocumentAddress | hwWebDocumentService.verifyAndGetDocumentAddress | -| HwWebDocumentController | GET | /hwWebDocument/list | TableDataInfo | list | hwWebDocumentService.selectHwWebDocumentList | -| HwWebMenuController | POST | /hwWebMenu | AjaxResult | add | hwWebMenuService.insertHwWebMenu | -| HwWebMenuController | PUT | /hwWebMenu | AjaxResult | edit | hwWebMenuService.updateHwWebMenu | -| HwWebMenuController | GET | /hwWebMenu/{webMenuId} | AjaxResult | getInfo | hwWebMenuService.selectHwWebMenuByWebMenuId | -| HwWebMenuController | DELETE | /hwWebMenu/{webMenuIds} | AjaxResult | remove | hwWebMenuService.deleteHwWebMenuByWebMenuIds | -| HwWebMenuController | POST | /hwWebMenu/export | void | export | hwWebMenuService.selectHwWebMenuList | -| HwWebMenuController | GET | /hwWebMenu/list | AjaxResult | list | hwWebMenuService.selectHwWebMenuList | -| HwWebMenuController | GET | /hwWebMenu/selectMenuTree | AjaxResult | selectMenuTree | hwWebMenuService.selectMenuTree | -| HwWebMenuController1 | POST | /hwWebMenu1 | AjaxResult | add | hwWebMenuService1.insertHwWebMenu | -| HwWebMenuController1 | PUT | /hwWebMenu1 | AjaxResult | edit | hwWebMenuService1.updateHwWebMenu | -| HwWebMenuController1 | GET | /hwWebMenu1/{webMenuId} | AjaxResult | getInfo | hwWebMenuService1.selectHwWebMenuByWebMenuId | -| HwWebMenuController1 | DELETE | /hwWebMenu1/{webMenuIds} | AjaxResult | remove | hwWebMenuService1.deleteHwWebMenuByWebMenuIds | -| HwWebMenuController1 | POST | /hwWebMenu1/export | void | export | hwWebMenuService1.selectHwWebMenuList | -| HwWebMenuController1 | GET | /hwWebMenu1/list | AjaxResult | list | hwWebMenuService1.selectHwWebMenuList | -| HwWebMenuController1 | GET | /hwWebMenu1/selectMenuTree | AjaxResult | selectMenuTree | hwWebMenuService1.selectMenuTree | - -## 4. 业务逻辑保持清单(迁移时禁止改动) -- HwWebServiceImpl.updateHwWeb:按 webCode 查询已存在记录 -> 逻辑删除旧记录(is_delete=1)-> 插入新记录并设 isDelete=0。 -- HwWebServiceImpl1.updateHwWeb:按 (webCode, typeId, deviceId) 做同样删旧插新逻辑。 -- HwWebDocumentServiceImpl.updateHwWebDocument:secretKey == null 时强制置空字符串,依赖 XML 动态 if 触发数据库字段更新。 -- HwWebDocumentServiceImpl.verifyAndGetDocumentAddress:密钥为空时直返地址;密钥存在时必须校验 providedKey,错误抛 ServiceException。 -- HwWebDocumentController.list/getInfo:返回前清空 secretKey;若 hasSecret=true 则隐藏 documentAddress。 -- HwPortalController.addContactUsInfo:写入 userIp(当前请求 IP)后再落库。 -- HwPortalConfigServiceImpl.selectHwPortalConfigList:portalConfigType == 2 走 selectHwPortalConfigList2,其余走 selectHwPortalConfigList。 -- HwProductCaseInfoServiceImpl.getTypicalHomeCaseInfo:先 homeTypicalFlag=1 过滤;优先返回 typicalFlag=1 的第一条,否则返回列表首条,否则返回空对象。 -- HwPortalConfigTypeServiceImpl.selectConfigTypeList:存在 configTypeClassfication 条件时先查全量再补齐全部子孙节点,最后构树。 -- HwProductInfoServiceImpl.selectHwProductInfoJoinDetailList:配置模式 13 时将明细列表转换为树结构(两段判定均保留)。 -- HwProductInfoDetailServiceImpl.insertHwProductInfoDetail:parentId/ancestors 填充规则必须保持一致,并写入 createBy/createTime。 -- HwPortalConfigTypeServiceImpl.insertHwPortalConfigType:parentId/ancestors 与 createBy/createTime 填充规则必须保持一致。 - -## 5. SpringBoot3/JDK17 兼容改造矩阵(仅改兼容,不改逻辑) -| 旧实现(hw-portal) | 单体目标实现 | 说明 | -|---|---|---| -| javax.servlet.http.HttpServletResponse | jakarta.servlet.http.HttpServletResponse | Spring Boot 3 必改 | -| com.ruoyi.common.core.web.controller.BaseController | com.ruoyi.common.core.controller.BaseController | 包路径调整 | -| com.ruoyi.common.core.web.domain.AjaxResult | com.ruoyi.common.core.domain.AjaxResult | 包路径调整 | -| com.ruoyi.common.core.web.page.TableDataInfo | com.ruoyi.common.core.page.TableDataInfo | 包路径调整 | -| com.ruoyi.common.core.web.domain.BaseEntity | com.ruoyi.common.core.domain.BaseEntity | 包路径调整 | -| com.ruoyi.common.core.web.domain.TreeEntity | com.ruoyi.common.core.domain.TreeEntity | 包路径调整 | -| com.ruoyi.common.core.annotation.Excel | com.ruoyi.common.annotation.Excel | 包路径调整 | -| com.ruoyi.common.core.utils.* | com.ruoyi.common.utils.* | 工具类路径调整 | -| com.ruoyi.common.core.utils.poi.ExcelUtil | com.ruoyi.common.utils.poi.ExcelUtil | 工具类路径调整 | -| com.ruoyi.common.core.exception.ServiceException | com.ruoyi.common.exception.ServiceException | 异常类路径调整 | -| com.ruoyi.common.core.constant.UserConstants | com.ruoyi.common.constant.UserConstants | 常量路径调整 | -| com.ruoyi.common.log.annotation.Log | com.ruoyi.common.annotation.Log | 注解路径调整 | -| com.ruoyi.common.log.enums.BusinessType | com.ruoyi.common.enums.BusinessType | 枚举路径调整 | -| com.ruoyi.common.security.utils.SecurityUtils | com.ruoyi.common.utils.SecurityUtils | 安全工具路径调整 | -| com.ruoyi.common.core.utils.ip.IpUtils | com.ruoyi.common.utils.ip.IpUtils | IP 工具路径调整 | -| @RequiresPermissions(微服务注解) | @PreAuthorize("@ss.hasPermi('xxx')") 或保持注释 | 当前单体默认使用 Spring Security 表达式 | -| @EnableCustomConfig/@EnableRyFeignClients/@EnableCustomSwagger2 | 删除 | 单体不需要微服务启动增强注解 | -| Nacos bootstrap.yml 配置 | 合并到单体 application.yml/按需删除 | 单体本地化配置,不走服务注册发现 | - -### 5.1 当前已检测到的 javax 引用 -```text -hw-portal/src/main/java/com/ruoyi/portal/controller/HwAboutUsInfoController.java:15:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwContactUsInfoController.java:15:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwPortalConfigTypeController.java:14:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwAboutUsInfoDetailController.java:15:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwPortalConfigController.java:17:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwProductInfoDetailController.java:14:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwWebController.java:5:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwProductInfoController.java:17:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwProductCaseInfoController.java:17:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwWebController1.java:14:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwWebDocumentController.java:5:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwWebMenuController.java:5:import javax.servlet.http.HttpServletResponse; -hw-portal/src/main/java/com/ruoyi/portal/controller/HwWebMenuController1.java:13:import javax.servlet.http.HttpServletResponse; -``` - -## 6. 模块接入步骤(单体多模块) -1. 新建模块(建议名 ruoyi-portal),将 hw-portal/src/main/java/com/ruoyi/portal/** 与 mapper/portal/*.xml 拷入。 -2. 根 pom.xml 的 modules 增加该模块,并在 ruoyi-admin/pom.xml 增加依赖。 -3. 保持包名前缀 com.ruoyi.portal,利用现有 SpringBoot 组件扫描和 MapperScan(com.ruoyi.**.mapper) 自动发现。 -4. 按上表执行导包替换与 javax->jakarta 替换;删除微服务专属启动注解和无效依赖。 -5. Mapper Java 与 Mapper XML 保持方法名和 SQL ID 一一对应,不改 SQL 文本。 -6. 对业务逻辑保持清单中的方法做逐项回归(输入/输出/异常文本必须一致)。 - -## 7. 风险与回归用例 -- 风险1:包路径替换不完整导致编译失败(重点:core.web、core.utils、security、log)。 -- 风险2:HwWebDocument 密钥字段在更新/查询链路被误改,导致泄露或无法清空。 -- 风险3:树结构构建(菜单、配置类型、产品明细)在过滤条件下丢层级。 -- 风险4:hw_web/hw_web1 逻辑删除+重插流程被改写,导致唯一性语义变化。 -- 风险5:门户聚合接口分页行为(startPage)与返回结构发生漂移。 - -## 8. 全量源码附录(完整代码) -### C:\D\WORK\NewP\HwWeb\hw-portal\pom.xml -```xml - - - - com.ruoyi - ruoyi-modules - 3.6.3 - - 4.0.0 - - ruoyi-modules-portal - - - ruoyi-modules-portal系统模块 - - - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-config - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-sentinel - - - - - org.springframework.boot - spring-boot-starter-actuator - - - - - io.springfox - springfox-swagger-ui - ${swagger.fox.version} - - - - - com.mysql - mysql-connector-j - - - - - com.ruoyi - ruoyi-common-datasource - - - - - com.ruoyi - ruoyi-common-datascope - - - - - com.ruoyi - ruoyi-common-log - - - - - com.ruoyi - ruoyi-common-swagger - - - - - com.ruoyi - hw-common-i18n - - - org.springframework.boot - spring-boot-starter-web - - - - - com.ruoyi - hw-api-basic - - - - - ${project.artifactId} - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\bootstrap.yml -```yaml -# Tomcat -server: - port: 9669 - -# Spring -spring: - application: - # 应用名称 - name: hw-portal - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 127.0.0.1:8848 - namespace: hwsaas-xs92 - group: DEFAULT_GROUP - username: nacos - password: nacos - config: - # 配置中心地址 - server-addr: 127.0.0.1:8848 - namespace: hwsaas-xs92 - group: DEFAULT_GROUP - username: nacos - password: nacos - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - - -## Tomcat -#server: -# port: 9669 -# -## Spring -#spring: -# application: -# # 应用名称 -# name: hw-portal -# profiles: -# # 环境配置 -# active: dev -# cloud: -# nacos: -# discovery: -# # 服务注册地址 -# server-addr: 175.27.215.92:8848 -# namespace: hwsaas-xs -# group: DEFAULT_GROUP -# config: -# # 配置中心地址 -# server-addr: 175.27.215.92:8848 -# namespace: hwsaas-xs -# group: DEFAULT_GROUP -# # 配置文件格式 -# file-extension: yml -# # 共享配置 -# shared-configs: -# - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\logback.xml -```xml - - - - - - - - - - - ${log.pattern} - - - - - - ${log.path}/info.log - - - - ${log.path}/info.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - INFO - - ACCEPT - - DENY - - - - - ${log.path}/error.log - - - - ${log.path}/error.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - ERROR - - ACCEPT - - DENY - - - - - - - - - - - - - - - - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\banner.txt -```text -Spring Boot Version: ${spring-boot.version} -Spring Application Name: ${spring.application.name} - _ _ - (_) | | - _ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___ -| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ -| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | | -|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_| - __/ | __/ | - |___/ |___/ -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwAboutUsInfoController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwAboutUsInfo; -import com.ruoyi.portal.service.IHwAboutUsInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 关于我们信息Controller - * - * @author xins - * @date 2024-12-01 - */ -@RestController -@RequestMapping("/aboutUsInfo") -public class HwAboutUsInfoController extends BaseController -{ - @Autowired - private IHwAboutUsInfoService hwAboutUsInfoService; - - /** - * 查询关于我们信息列表 - */ - //@RequiresPermissions("portalaboutUsInfo:list") - @GetMapping("/list") - public TableDataInfo list(HwAboutUsInfo hwAboutUsInfo) - { - startPage(); - List list = hwAboutUsInfoService.selectHwAboutUsInfoList(hwAboutUsInfo); - return getDataTable(list); - } - - /** - * 导出关于我们信息列表 - */ - //@RequiresPermissions("portalaboutUsInfo:export") - //@Log(title = "关于我们信息", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwAboutUsInfo hwAboutUsInfo) - { - List list = hwAboutUsInfoService.selectHwAboutUsInfoList(hwAboutUsInfo); - ExcelUtil util = new ExcelUtil(HwAboutUsInfo.class); - util.exportExcel(response, list, "关于我们信息数据"); - } - - /** - * 获取关于我们信息详细信息 - */ - //@RequiresPermissions("portalaboutUsInfo:query") - @GetMapping(value = "/{aboutUsInfoId}") - public AjaxResult getInfo(@PathVariable("aboutUsInfoId") Long aboutUsInfoId) - { - return success(hwAboutUsInfoService.selectHwAboutUsInfoByAboutUsInfoId(aboutUsInfoId)); - } - - /** - * 新增关于我们信息 - */ - //@RequiresPermissions("portalaboutUsInfo:add") - //@Log(title = "关于我们信息", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwAboutUsInfo hwAboutUsInfo) - { - return toAjax(hwAboutUsInfoService.insertHwAboutUsInfo(hwAboutUsInfo)); - } - - /** - * 修改关于我们信息 - */ - //@RequiresPermissions("portalaboutUsInfo:edit") - //@Log(title = "关于我们信息", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwAboutUsInfo hwAboutUsInfo) - { - return toAjax(hwAboutUsInfoService.updateHwAboutUsInfo(hwAboutUsInfo)); - } - - /** - * 删除关于我们信息 - */ - //@RequiresPermissions("portalaboutUsInfo:remove") - //@Log(title = "关于我们信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{aboutUsInfoIds}") - public AjaxResult remove(@PathVariable Long[] aboutUsInfoIds) - { - return toAjax(hwAboutUsInfoService.deleteHwAboutUsInfoByAboutUsInfoIds(aboutUsInfoIds)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwAboutUsInfoDetailController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwAboutUsInfoDetail; -import com.ruoyi.portal.service.IHwAboutUsInfoDetailService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 关于我们信息明细Controller - * - * @author ruoyi - * @date 2024-12-01 - */ -@RestController -@RequestMapping("/aboutUsInfoDetail") -public class HwAboutUsInfoDetailController extends BaseController -{ - @Autowired - private IHwAboutUsInfoDetailService hwAboutUsInfoDetailService; - - /** - * 查询关于我们信息明细列表 - */ - //@RequiresPermissions("portalaboutUsInfoDetail:list") - @GetMapping("/list") - public TableDataInfo list(HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - startPage(); - List list = hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList(hwAboutUsInfoDetail); - return getDataTable(list); - } - - /** - * 导出关于我们信息明细列表 - */ - //@RequiresPermissions("portalaboutUsInfoDetail:export") - //@Log(title = "关于我们信息明细", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - List list = hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList(hwAboutUsInfoDetail); - ExcelUtil util = new ExcelUtil(HwAboutUsInfoDetail.class); - util.exportExcel(response, list, "关于我们信息明细数据"); - } - - /** - * 获取关于我们信息明细详细信息 - */ - //@RequiresPermissions("portalaboutUsInfoDetail:query") - @GetMapping(value = "/{usInfoDetailId}") - public AjaxResult getInfo(@PathVariable("usInfoDetailId") Long usInfoDetailId) - { - return success(hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailByUsInfoDetailId(usInfoDetailId)); - } - - /** - * 新增关于我们信息明细 - */ - //@RequiresPermissions("portalaboutUsInfoDetail:add") - //@Log(title = "关于我们信息明细", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - return toAjax(hwAboutUsInfoDetailService.insertHwAboutUsInfoDetail(hwAboutUsInfoDetail)); - } - - /** - * 修改关于我们信息明细 - */ - //@RequiresPermissions("portalaboutUsInfoDetail:edit") - //@Log(title = "关于我们信息明细", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - return toAjax(hwAboutUsInfoDetailService.updateHwAboutUsInfoDetail(hwAboutUsInfoDetail)); - } - - /** - * 删除关于我们信息明细 - */ - //@RequiresPermissions("portalaboutUsInfoDetail:remove") - //@Log(title = "关于我们信息明细", businessType = BusinessType.DELETE) - @DeleteMapping("/{usInfoDetailIds}") - public AjaxResult remove(@PathVariable Long[] usInfoDetailIds) - { - return toAjax(hwAboutUsInfoDetailService.deleteHwAboutUsInfoDetailByUsInfoDetailIds(usInfoDetailIds)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwContactUsInfoController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwContactUsInfo; -import com.ruoyi.portal.service.IHwContactUsInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 联系我们信息Controller - * - * @author xins - * @date 2024-12-01 - */ -@RestController -@RequestMapping("/contactUsInfo") -public class HwContactUsInfoController extends BaseController -{ - @Autowired - private IHwContactUsInfoService hwContactUsInfoService; - - /** - * 查询联系我们信息列表 - */ - //@RequiresPermissions("portalcontactUsInfo:list") - @GetMapping("/list") - public TableDataInfo list(HwContactUsInfo hwContactUsInfo) - { - startPage(); - List list = hwContactUsInfoService.selectHwContactUsInfoList(hwContactUsInfo); - return getDataTable(list); - } - - /** - * 导出联系我们信息列表 - */ - //@RequiresPermissions("portalcontactUsInfo:export") - //@Log(title = "联系我们信息", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwContactUsInfo hwContactUsInfo) - { - List list = hwContactUsInfoService.selectHwContactUsInfoList(hwContactUsInfo); - ExcelUtil util = new ExcelUtil(HwContactUsInfo.class); - util.exportExcel(response, list, "联系我们信息数据"); - } - - /** - * 获取联系我们信息详细信息 - */ - //@RequiresPermissions("portalcontactUsInfo:query") - @GetMapping(value = "/{contactUsInfoId}") - public AjaxResult getInfo(@PathVariable("contactUsInfoId") Long contactUsInfoId) - { - return success(hwContactUsInfoService.selectHwContactUsInfoByContactUsInfoId(contactUsInfoId)); - } - - /** - * 新增联系我们信息 - */ - //@RequiresPermissions("portalcontactUsInfo:add") - //@Log(title = "联系我们信息", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwContactUsInfo hwContactUsInfo) - { - return toAjax(hwContactUsInfoService.insertHwContactUsInfo(hwContactUsInfo)); - } - - /** - * 修改联系我们信息 - */ - //@RequiresPermissions("portalcontactUsInfo:edit") - //@Log(title = "联系我们信息", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwContactUsInfo hwContactUsInfo) - { - return toAjax(hwContactUsInfoService.updateHwContactUsInfo(hwContactUsInfo)); - } - - /** - * 删除联系我们信息 - */ - //@RequiresPermissions("portalcontactUsInfo:remove") - //@Log(title = "联系我们信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{contactUsInfoIds}") - public AjaxResult remove(@PathVariable Long[] contactUsInfoIds) - { - return toAjax(hwContactUsInfoService.deleteHwContactUsInfoByContactUsInfoIds(contactUsInfoIds)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwPortalConfigController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwPortalConfig; -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.service.IHwPortalConfigService; -import com.ruoyi.portal.service.IHwPortalConfigTypeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 门户网站配置Controller - * - * @author xins - * @date 2024-12-01 - */ -@RestController -@RequestMapping("/portalConfig") -public class HwPortalConfigController extends BaseController -{ - @Autowired - private IHwPortalConfigService hwPortalConfigService; - - @Autowired - private IHwPortalConfigTypeService hwPortalConfigTypeService; - - /** - * 查询门户网站配置列表 - */ - //@RequiresPermissions("portalportalConfig:list") - @GetMapping("/list") - public TableDataInfo list(HwPortalConfig hwPortalConfig) - { - startPage(); - List list = hwPortalConfigService.selectHwPortalConfigJoinList(hwPortalConfig); - return getDataTable(list); - } - - /** - * 导出门户网站配置列表 - */ - //@RequiresPermissions("portalportalConfig:export") - //@Log(title = "门户网站配置", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwPortalConfig hwPortalConfig) - { - List list = hwPortalConfigService.selectHwPortalConfigList(hwPortalConfig); - ExcelUtil util = new ExcelUtil(HwPortalConfig.class); - util.exportExcel(response, list, "门户网站配置数据"); - } - - /** - * 获取门户网站配置详细信息 - */ - //@RequiresPermissions("portalportalConfig:query") - @GetMapping(value = "/{portalConfigId}") - public AjaxResult getInfo(@PathVariable("portalConfigId") Long portalConfigId) - { - return success(hwPortalConfigService.selectHwPortalConfigByPortalConfigId(portalConfigId)); - } - - /** - * 新增门户网站配置 - */ - //@RequiresPermissions("portalportalConfig:add") - //@Log(title = "门户网站配置", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwPortalConfig hwPortalConfig) - { - return toAjax(hwPortalConfigService.insertHwPortalConfig(hwPortalConfig)); - } - - /** - * 修改门户网站配置 - */ - //@RequiresPermissions("portalportalConfig:edit") - //@Log(title = "门户网站配置", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwPortalConfig hwPortalConfig) - { - return toAjax(hwPortalConfigService.updateHwPortalConfig(hwPortalConfig)); - } - - /** - * 删除门户网站配置 - */ - //@RequiresPermissions("portalportalConfig:remove") - //@Log(title = "门户网站配置", businessType = BusinessType.DELETE) - @DeleteMapping("/{portalConfigIds}") - public AjaxResult remove(@PathVariable Long[] portalConfigIds) - { - return toAjax(hwPortalConfigService.deleteHwPortalConfigByPortalConfigIds(portalConfigIds)); - } - - - /** - * 获取门户网站配置树列表 - */ - //@RequiresPermissions("portalportalConfig:list") - @GetMapping("/portalConfigTypeTree") - public AjaxResult portalConfigTypeTree(HwPortalConfigType hwPortalConfigType) { - - return success(hwPortalConfigTypeService.selectPortalConfigTypeTreeList(hwPortalConfigType)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwPortalConfigTypeController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.service.IHwPortalConfigTypeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 门户网站配置类型Controller - * - * @author xins - * @date 2024-12-11 - */ -@RestController -@RequestMapping("/portalConfigType") -public class HwPortalConfigTypeController extends BaseController -{ - @Autowired - private IHwPortalConfigTypeService hwPortalConfigTypeService; - - /** - * 查询门户网站配置类型列表 - */ - //@RequiresPermissions("portalportalConfigType:list") - @GetMapping("/list") - public AjaxResult list(HwPortalConfigType hwPortalConfigType) - { - List list = hwPortalConfigTypeService.selectHwPortalConfigTypeList(hwPortalConfigType); - return success(list); - } - - /** - * 导出门户网站配置类型列表 - */ - //@RequiresPermissions("portalportalConfigType:export") - //@Log(title = "门户网站配置类型", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwPortalConfigType hwPortalConfigType) - { - List list = hwPortalConfigTypeService.selectHwPortalConfigTypeList(hwPortalConfigType); - ExcelUtil util = new ExcelUtil(HwPortalConfigType.class); - util.exportExcel(response, list, "门户网站配置类型数据"); - } - - /** - * 获取门户网站配置类型详细信息 - */ - //@RequiresPermissions("portalportalConfigType:query") - @GetMapping(value = "/{configTypeId}") - public AjaxResult getInfo(@PathVariable("configTypeId") Long configTypeId) - { - return success(hwPortalConfigTypeService.selectHwPortalConfigTypeByConfigTypeId(configTypeId)); - } - - /** - * 新增门户网站配置类型 - */ - //@RequiresPermissions("portalportalConfigType:add") - //@Log(title = "门户网站配置类型", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwPortalConfigType hwPortalConfigType) - { - return toAjax(hwPortalConfigTypeService.insertHwPortalConfigType(hwPortalConfigType)); - } - - /** - * 修改门户网站配置类型 - */ - //@RequiresPermissions("portalportalConfigType:edit") - //@Log(title = "门户网站配置类型", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwPortalConfigType hwPortalConfigType) - { - return toAjax(hwPortalConfigTypeService.updateHwPortalConfigType(hwPortalConfigType)); - } - - /** - * 删除门户网站配置类型 - */ - //@RequiresPermissions("portalportalConfigType:remove") - //@Log(title = "门户网站配置类型", businessType = BusinessType.DELETE) - @DeleteMapping("/{configTypeIds}") - public AjaxResult remove(@PathVariable Long[] configTypeIds) - { - return toAjax(hwPortalConfigTypeService.deleteHwPortalConfigTypeByConfigTypeIds(configTypeIds)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwPortalController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.ip.IpUtils; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.portal.domain.*; -import com.ruoyi.portal.service.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 门户网站前端Controller - * - * @author xins - * @date 2024-12-12 - */ -@RestController -@RequestMapping("/portal") -public class HwPortalController extends BaseController -{ - @Autowired - private IHwPortalConfigService hwPortalConfigService; - - @Autowired - private IHwPortalConfigTypeService hwPortalConfigTypeService; - - @Autowired - private IHwProductCaseInfoService hwProductCaseInfoService; - - @Autowired - private IHwContactUsInfoService hwContactUsInfoService; - - @Autowired - private IHwProductInfoService productInfoService; - - @Autowired - private IHwProductInfoDetailService hwProductInfoDetailService; - - @Autowired - private IHwAboutUsInfoService hwAboutUsInfoService; - - @Autowired - private IHwAboutUsInfoDetailService hwAboutUsInfoDetailService; - - - /** - * 查询门户网站配置列表(首页大图,portal_config_type为1;产品中心大图,portal_config_type为2,并且需要根据portalConfigTypeId获取) - */ - @GetMapping("/getPortalConfigList") - public TableDataInfo getPortalConfigList(HwPortalConfig hwPortalConfig) - { - startPage(); - List list = hwPortalConfigService.selectHwPortalConfigList(hwPortalConfig); - return getDataTable(list); - } - - - /** - * 门户网站配置类型(首页产品中心,config_type_classfication为1,按homeConfigTypeName显示;产品中心页面上面的按configTypeName显示) - */ - @GetMapping("/getPortalConfigTypeList") - public TableDataInfo getPortalConfigTypeList(HwPortalConfigType hwPortalConfigType) - { - List list = hwPortalConfigTypeService.selectHwPortalConfigTypeList(hwPortalConfigType); - return getDataTable(list); - } - - - /** - * 门户网站配置类型(首页产品中心,config_type_classfication为1,按homeConfigTypeName显示;产品中心页面上面的按configTypeName显示) - */ - @GetMapping("/selectConfigTypeList") - public TableDataInfo selectConfigTypeList(HwPortalConfigType hwPortalConfigType) - { - List list = hwPortalConfigTypeService.selectConfigTypeList(hwPortalConfigType); - return getDataTable(list); - } - - /** - * 获取首页案例tab title(例如物联网、制造中心和快递物流) - */ - @GetMapping("/getHomeCaseTitleList") - public TableDataInfo getHomeCaseTitleList(HwPortalConfigType hwPortalConfigType) - { - startPage(); - List list = hwPortalConfigTypeService.selectHwPortalConfigTypeList(hwPortalConfigType); - return getDataTable(list); - } - - - /** - * 获取首页案例信息 - */ - @GetMapping("/getTypicalHomeCaseInfo") - public AjaxResult getTypicalHomeCaseInfo(HwProductCaseInfo queryProductCaseInfo) - { - HwProductCaseInfo hwProductCaseInfo = hwProductCaseInfoService.getTypicalHomeCaseInfo(queryProductCaseInfo); - - return success(hwProductCaseInfo); - } - - - - /** - * 新增联系我们 - */ - //@Log(title = "联系我们", businessType = BusinessType.INSERT) - @PostMapping("/addContactUsInfo") - public AjaxResult addContactUsInfo(@RequestBody HwContactUsInfo hwContactUsInfo) - { - hwContactUsInfo.setUserIp(IpUtils.getIpAddr()); - return toAjax(hwContactUsInfoService.insertHwContactUsInfo(hwContactUsInfo)); - } - - - - /** - * 获取产品中心产品信息(平台简介,hw_product_info获取,(配置模式2左标题+内容,右图片)读取中文标题和英文标题,下面内容从hw_product_info_detail获取,读取标题,内容和图片) - */ - @GetMapping("/getProductCenterProductInfos") - public AjaxResult getProductCenterProductInfos(HwProductInfo hwProductInfo) - { -// 配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8左图右列表9上图下内容,一行4个) - return success(productInfoService.selectHwProductInfoJoinDetailList(hwProductInfo)); - } - - /** - * 产品中心如果tab的话,根据tab的product_info_detail_id获取children productinfodetail - * @param hwProductInfoDetail - * @return - */ - @GetMapping("/getProductCenterProductDetailInfos") - public AjaxResult getProductCenterProductDetailInfos(HwProductInfoDetail hwProductInfoDetail) - { -// productinfodetail的config_modal 配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8一张图9上图下内容,一行4个) - return success(hwProductInfoDetailService.selectHwProductInfoDetailList(hwProductInfoDetail)); - } - - - /** - * 产品中心如果tab的话,根据tab的portalconfigtypeid获取productcaseinfo - * @param hwProductCaseInfo - * @return - */ - @GetMapping("/getCaseCenterCaseInfos") - public AjaxResult getCaseCenterCaseInfos(HwProductCaseInfo hwProductCaseInfo) - { - return success(hwProductCaseInfoService.selectHwProductCaseInfoList(hwProductCaseInfo)); - } - - /** - * 根据案例ID获取案例详情 - * @param caseInfoId - * @return - */ - @GetMapping("/getCaseCenterCaseInfo/{caseInfoId}") - public AjaxResult getCaseCenterCaseInfo(@PathVariable("caseInfoId") Long caseInfoId) - { - return success(hwProductCaseInfoService.selectHwProductCaseInfoByCaseInfoId(caseInfoId)); - } - - - /** - * 获取关于我们信息 - * @param hwAboutUsInfo - * @return - */ - @GetMapping("/getAboutUsInfo") - public AjaxResult getAboutUsInfo(HwAboutUsInfo hwAboutUsInfo) - { - return success(hwAboutUsInfoService.selectHwAboutUsInfoList(hwAboutUsInfo)); - } - - - /** - * 获取关于我们信息详情 - * @param hwAboutUsInfoDetail - * @return - */ - @GetMapping("/getAboutUsInfoDetails") - public AjaxResult getAboutUsInfoDetails(HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - return success(hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList(hwAboutUsInfoDetail)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwProductCaseInfoController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.domain.HwProductCaseInfo; -import com.ruoyi.portal.service.IHwPortalConfigTypeService; -import com.ruoyi.portal.service.IHwProductCaseInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 案例内容Controller - * - * @author xins - * @date 2024-12-01 - */ -@RestController -@RequestMapping("/productCaseInfo") -public class HwProductCaseInfoController extends BaseController -{ - @Autowired - private IHwProductCaseInfoService hwProductCaseInfoService; - - @Autowired - private IHwPortalConfigTypeService hwPortalConfigTypeService; - - /** - * 查询案例内容列表 - */ - //@RequiresPermissions("portalproductCaseInfo:list") - @GetMapping("/list") - public TableDataInfo list(HwProductCaseInfo hwProductCaseInfo) - { - startPage(); - List list = hwProductCaseInfoService.selectHwProductCaseInfoList(hwProductCaseInfo); - return getDataTable(list); - } - - /** - * 导出案例内容列表 - */ - //@RequiresPermissions("portalproductCaseInfo:export") - //@Log(title = "案例内容", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwProductCaseInfo hwProductCaseInfo) - { - List list = hwProductCaseInfoService.selectHwProductCaseInfoList(hwProductCaseInfo); - ExcelUtil util = new ExcelUtil(HwProductCaseInfo.class); - util.exportExcel(response, list, "案例内容数据"); - } - - /** - * 获取案例内容详细信息 - */ - //@RequiresPermissions("portalproductCaseInfo:query") - @GetMapping(value = "/{caseInfoId}") - public AjaxResult getInfo(@PathVariable("caseInfoId") Long caseInfoId) - { - return success(hwProductCaseInfoService.selectHwProductCaseInfoByCaseInfoId(caseInfoId)); - } - - /** - * 新增案例内容 - */ - //@RequiresPermissions("portalproductCaseInfo:add") - //@Log(title = "案例内容", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwProductCaseInfo hwProductCaseInfo) - { - return toAjax(hwProductCaseInfoService.insertHwProductCaseInfo(hwProductCaseInfo)); - } - - /** - * 修改案例内容 - */ - //@RequiresPermissions("portalproductCaseInfo:edit") - //@Log(title = "案例内容", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwProductCaseInfo hwProductCaseInfo) - { - return toAjax(hwProductCaseInfoService.updateHwProductCaseInfo(hwProductCaseInfo)); - } - - /** - * 删除案例内容 - */ - //@RequiresPermissions("portalproductCaseInfo:remove") - //@Log(title = "案例内容", businessType = BusinessType.DELETE) - @DeleteMapping("/{caseInfoIds}") - public AjaxResult remove(@PathVariable Long[] caseInfoIds) - { - return toAjax(hwProductCaseInfoService.deleteHwProductCaseInfoByCaseInfoIds(caseInfoIds)); - } - - - /** - * 查询门户网站配置类型s树列表 - */ - /** - * 获取门户网站配置树列表 - */ - //@RequiresPermissions("portalproductCaseInfo:list") - @GetMapping("/portalConfigTypeTree") - public AjaxResult portalConfigTypeTree(HwPortalConfigType hwPortalConfigType) { - - return success(hwPortalConfigTypeService.selectPortalConfigTypeTreeList(hwPortalConfigType)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwProductInfoController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.domain.HwProductInfo; -import com.ruoyi.portal.service.IHwPortalConfigTypeService; -import com.ruoyi.portal.service.IHwProductInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 产品信息配置Controller - * - * @author xins - * @date 2024-12-01 - */ -@RestController -@RequestMapping("/productInfo") -public class HwProductInfoController extends BaseController -{ - @Autowired - private IHwProductInfoService hwProductInfoService; - - @Autowired - private IHwPortalConfigTypeService hwPortalConfigTypeService; - - - /** - * 查询产品信息配置列表 - */ - //@RequiresPermissions("portalproductInfo:list") - @GetMapping("/list") - public TableDataInfo list(HwProductInfo hwProductInfo) - { - startPage(); - List list = hwProductInfoService.selectHwProductInfoJoinList(hwProductInfo); - return getDataTable(list); - } - - /** - * 导出产品信息配置列表 - */ - //@RequiresPermissions("portalproductInfo:export") - //@Log(title = "产品信息配置", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwProductInfo hwProductInfo) - { - List list = hwProductInfoService.selectHwProductInfoList(hwProductInfo); - ExcelUtil util = new ExcelUtil(HwProductInfo.class); - util.exportExcel(response, list, "产品信息配置数据"); - } - - /** - * 获取产品信息配置详细信息 - */ - //@RequiresPermissions("portalproductInfo:query") - @GetMapping(value = "/{productInfoId}") - public AjaxResult getInfo(@PathVariable("productInfoId") Long productInfoId) - { - return success(hwProductInfoService.selectHwProductInfoByProductInfoId(productInfoId)); - } - - /** - * 新增产品信息配置 - */ - //@RequiresPermissions("portalproductInfo:add") - //@Log(title = "产品信息配置", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwProductInfo hwProductInfo) - { - return toAjax(hwProductInfoService.insertHwProductInfo(hwProductInfo)); - } - - /** - * 修改产品信息配置 - */ - //@RequiresPermissions("portalproductInfo:edit") - //@Log(title = "产品信息配置", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwProductInfo hwProductInfo) - { - return toAjax(hwProductInfoService.updateHwProductInfo(hwProductInfo)); - } - - /** - * 删除产品信息配置 - */ - //@RequiresPermissions("portalproductInfo:remove") - //@Log(title = "产品信息配置", businessType = BusinessType.DELETE) - @DeleteMapping("/{productInfoIds}") - public AjaxResult remove(@PathVariable Long[] productInfoIds) - { - return toAjax(hwProductInfoService.deleteHwProductInfoByProductInfoIds(productInfoIds)); - } - - - /** - * 查询门户网站配置类型s树列表 - */ - /** - * 获取门户网站配置树列表 - */ - //@RequiresPermissions("portalproductInfo:list") - @GetMapping("/portalConfigTypeTree") - public AjaxResult portalConfigTypeTree(HwPortalConfigType hwPortalConfigType) { - - return success(hwPortalConfigTypeService.selectPortalConfigTypeTreeList(hwPortalConfigType)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwProductInfoDetailController.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwProductInfoDetail; -import com.ruoyi.portal.service.IHwProductInfoDetailService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 产品信息明细配置Controller - * - * @author xins - * @date 2024-12-11 - */ -@RestController -@RequestMapping("/productInfoDetail") -public class HwProductInfoDetailController extends BaseController -{ - @Autowired - private IHwProductInfoDetailService hwProductInfoDetailService; - - /** - * 查询产品信息明细配置列表 - */ - //@RequiresPermissions("portalproductInfoDetail:list") - @GetMapping("/list") - public AjaxResult list(HwProductInfoDetail hwProductInfoDetail) - { - List list = hwProductInfoDetailService.selectHwProductInfoDetailList(hwProductInfoDetail); - return success(list); - } - - /** - * 导出产品信息明细配置列表 - */ - //@RequiresPermissions("portalproductInfoDetail:export") - //@Log(title = "产品信息明细配置", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwProductInfoDetail hwProductInfoDetail) - { - List list = hwProductInfoDetailService.selectHwProductInfoDetailList(hwProductInfoDetail); - ExcelUtil util = new ExcelUtil(HwProductInfoDetail.class); - util.exportExcel(response, list, "产品信息明细配置数据"); - } - - /** - * 获取产品信息明细配置详细信息 - */ - //@RequiresPermissions("portalproductInfoDetail:query") - @GetMapping(value = "/{productInfoDetailId}") - public AjaxResult getInfo(@PathVariable("productInfoDetailId") Long productInfoDetailId) - { - return success(hwProductInfoDetailService.selectHwProductInfoDetailByProductInfoDetailId(productInfoDetailId)); - } - - /** - * 新增产品信息明细配置 - */ - //@RequiresPermissions("portalproductInfoDetail:add") - //@Log(title = "产品信息明细配置", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwProductInfoDetail hwProductInfoDetail) - { - return toAjax(hwProductInfoDetailService.insertHwProductInfoDetail(hwProductInfoDetail)); - } - - /** - * 修改产品信息明细配置 - */ - //@RequiresPermissions("portalproductInfoDetail:edit") - //@Log(title = "产品信息明细配置", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwProductInfoDetail hwProductInfoDetail) - { - return toAjax(hwProductInfoDetailService.updateHwProductInfoDetail(hwProductInfoDetail)); - } - - /** - * 删除产品信息明细配置 - */ - //@RequiresPermissions("portalproductInfoDetail:remove") - //@Log(title = "产品信息明细配置", businessType = BusinessType.DELETE) - @DeleteMapping("/{productInfoDetailIds}") - public AjaxResult remove(@PathVariable Long[] productInfoDetailIds) - { - return toAjax(hwProductInfoDetailService.deleteHwProductInfoDetailByProductInfoDetailIds(productInfoDetailIds)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwWebController.java -```java -package com.ruoyi.portal.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -import com.ruoyi.portal.domain.HwWeb1; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwWeb; -import com.ruoyi.portal.service.IHwWebService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * haiwei官网jsonController - * - * @author ruoyi - * @date 2025-08-18 - */ -@RestController -@RequestMapping("/hwWeb") -public class HwWebController extends BaseController -{ - @Autowired - private IHwWebService hwWebService; - - /** - * 查询haiwei官网json列表 - */ - //@RequiresPermissions("portalhwWeb:list") - @GetMapping("/list") - public TableDataInfo list(HwWeb hwWeb) - { -// startPage(); - List list = hwWebService.selectHwWebList(hwWeb); - return getDataTable(list); - } - - /** - * 导出haiwei官网json列表 - */ - //@RequiresPermissions("portalhwWeb:export") - //@Log(title = "haiwei官网json", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwWeb hwWeb) - { - List list = hwWebService.selectHwWebList(hwWeb); - ExcelUtil util = new ExcelUtil(HwWeb.class); - util.exportExcel(response, list, "haiwei官网json数据"); - } - - /** - * 获取haiwei官网json详细信息 - */ - //@RequiresPermissions("portalhwWeb:query") - @GetMapping(value = "/{webCode}") - public AjaxResult getInfo(@PathVariable("webCode") Long webCode) - { - return success(hwWebService.selectHwWebByWebcode(webCode)); - } - - /** - * 新增haiwei官网json - */ - //@RequiresPermissions("portalhwWeb:add") - //@Log(title = "haiwei官网json", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwWeb hwWeb) - { - return toAjax(hwWebService.insertHwWeb(hwWeb)); - } - - /** - * 修改haiwei官网json - */ - //@RequiresPermissions("portalhwWeb:edit") - //@Log(title = "haiwei官网json", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwWeb hwWeb) - { - int i = hwWebService.updateHwWeb(hwWeb); - return toAjax(i); - } - - /** - * 删除haiwei官网json - */ - //@RequiresPermissions("portalhwWeb:remove") - //@Log(title = "haiwei官网json", businessType = BusinessType.DELETE) - @DeleteMapping("/{webIds}") - public AjaxResult remove(@PathVariable Long[] webIds) - { - return toAjax(hwWebService.deleteHwWebByWebIds(webIds)); - } - - @GetMapping("/getHwWebList") - public AjaxResult getHwWebList(HwWeb HwWeb) - { - return success(hwWebService.selectHwWebList(HwWeb)) ; - } - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwWebController1.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.portal.domain.HwWeb1; -import com.ruoyi.portal.service.IHwWebService1; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * haiwei官网jsonController - * - * @author ruoyi - * @date 2025-08-18 - */ -@RestController -@RequestMapping("/hwWeb1") -public class HwWebController1 extends BaseController -{ - - @Autowired - private IHwWebService1 hwWebService1; - - /** - * 查询haiwei官网json列表 - */ - //@RequiresPermissions("portalhwWeb:list") - @GetMapping("/list") - public TableDataInfo list(HwWeb1 HwWeb1) - { -// startPage(); - List list = hwWebService1.selectHwWebList(HwWeb1); - return getDataTable(list); - } - - /** - * 导出haiwei官网json列表 - */ - //@RequiresPermissions("portalhwWeb:export") - //@Log(title = "haiwei官网json", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwWeb1 HwWeb1) - { - List list = hwWebService1.selectHwWebList(HwWeb1); - ExcelUtil util = new ExcelUtil(HwWeb1.class); - util.exportExcel(response, list, "haiwei官网json数据"); - } - - /** - * 获取haiwei官网json详细信息 - */ - //@RequiresPermissions("portalhwWeb:query") - @GetMapping(value = "/{webCode}") - public AjaxResult getInfo(@PathVariable("webCode") Long webCode) - { - return success(hwWebService1.selectHwWebByWebcode(webCode)); - } - - /** - * 新增haiwei官网json - */ - //@RequiresPermissions("portalhwWeb:add") - //@Log(title = "haiwei官网json", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwWeb1 HwWeb1) - { - return toAjax(hwWebService1.insertHwWeb(HwWeb1)); - } - - /** - * 修改haiwei官网json - */ - //@RequiresPermissions("portalhwWeb:edit") - //@Log(title = "haiwei官网json", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwWeb1 HwWeb1) - { - int i = hwWebService1.updateHwWeb(HwWeb1); - return toAjax(i); - } - - /** - * 删除haiwei官网json - */ - //@RequiresPermissions("portalhwWeb:remove") - //@Log(title = "haiwei官网json", businessType = BusinessType.DELETE) - @DeleteMapping("/{webIds}") - public AjaxResult remove(@PathVariable Long[] webIds) - { - return toAjax(hwWebService1.deleteHwWebByWebIds(webIds)); - } - - - @GetMapping("/getHwWeb1List") - public AjaxResult getHwWeb1List(HwWeb1 HwWeb1) - { - return success(hwWebService1.selectHwWebList(HwWeb1)) ; - } - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwWebDocumentController.java -```java -package com.ruoyi.portal.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -import com.ruoyi.portal.domain.SecureDocumentRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwWebDocument; -import com.ruoyi.portal.service.IHwWebDocumentService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * Hw资料文件Controller - * - * @author zch - * @date 2025-09-22 - */ -@RestController -@RequestMapping("/hwWebDocument") -public class HwWebDocumentController extends BaseController -{ - @Autowired - private IHwWebDocumentService hwWebDocumentService; - - /** - * 查询Hw资料文件列表 - */ -// @RequiresPermissions("portal:hwWebDocument:list") - @GetMapping("/list") - public TableDataInfo list(HwWebDocument hwWebDocument) - { - startPage(); - List list = hwWebDocumentService.selectHwWebDocumentList(hwWebDocument); - for (HwWebDocument doc : list) { - // 隐藏密钥,若设置了密钥则隐藏文件地址 - doc.setSecretKey(null); - if (doc.getHasSecret()) { - doc.setDocumentAddress(null); - } - } - return getDataTable(list); - } - - /** - * 导出Hw资料文件列表 - */ -// @RequiresPermissions("portal:hwWebDocument:export") - //@Log(title = "Hw资料文件", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwWebDocument hwWebDocument) - { - List list = hwWebDocumentService.selectHwWebDocumentList(hwWebDocument); - ExcelUtil util = new ExcelUtil(HwWebDocument.class); - util.exportExcel(response, list, "Hw资料文件数据"); - } - - /** - * 获取Hw资料文件详细信息 - */ -// @RequiresPermissions("portal:hwWebDocument:query") - @GetMapping(value = "/{documentId}") - public AjaxResult getInfo(@PathVariable("documentId") String documentId) - { - HwWebDocument doc = hwWebDocumentService.selectHwWebDocumentByDocumentId(documentId); - if (doc != null) { - // 隐藏密钥,若设置了密钥则隐藏文件地址 - doc.setSecretKey(null); - if (doc.getHasSecret()) { - doc.setDocumentAddress(null); - } - } - return success(doc); - } - - /** - * 新增Hw资料文件 - */ -// @RequiresPermissions("portal:hwWebDocument:add") - //@Log(title = "Hw资料文件", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwWebDocument hwWebDocument) - { - return toAjax(hwWebDocumentService.insertHwWebDocument(hwWebDocument)); - } - - /** - * 修改Hw资料文件 - */ -// @RequiresPermissions("portal:hwWebDocument:edit") - //@Log(title = "Hw资料文件", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwWebDocument hwWebDocument) - { - System.out.println(hwWebDocument.getSecretKey()); - return toAjax(hwWebDocumentService.updateHwWebDocument(hwWebDocument)); - } - - /** - * 删除Hw资料文件 - */ -// @RequiresPermissions("portal:hwWebDocument:remove") - //@Log(title = "Hw资料文件", businessType = BusinessType.DELETE) - @DeleteMapping("/{documentIds}") - public AjaxResult remove(@PathVariable String[] documentIds) - { - return toAjax(hwWebDocumentService.deleteHwWebDocumentByDocumentIds(documentIds)); - } - - /** - * 获取安全文件地址 - */ -// @RequiresPermissions("portal:hwWebDocument:query") - //@Log(title = "获取安全文件地址", businessType = BusinessType.OTHER) - @PostMapping("/getSecureDocumentAddress") - public AjaxResult getSecureDocumentAddress(@RequestBody SecureDocumentRequest request) - { - try { - String address = hwWebDocumentService.verifyAndGetDocumentAddress(request.getDocumentId(), request.getProvidedKey()); - return success(address); - } catch (Exception e) { - return error(e.getMessage()); - } - } - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwWebMenuController.java -```java -package com.ruoyi.portal.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.portal.domain.HwWebMenu; -import com.ruoyi.portal.service.IHwWebMenuService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; - -/** - * haiwei官网菜单Controller - * - * @author zch - * @date 2025-08-18 - */ -@RestController -@RequestMapping("/hwWebMenu") -public class HwWebMenuController extends BaseController -{ - @Autowired - private IHwWebMenuService hwWebMenuService; - - /** - * 查询haiwei官网菜单列表 - */ - //@RequiresPermissions("portalhwWebMenu:list") - @GetMapping("/list") - public AjaxResult list(HwWebMenu hwWebMenu) - { - List list = hwWebMenuService.selectHwWebMenuList(hwWebMenu); - return success(list); - } - - /** - * 导出haiwei官网菜单列表 - */ - //@RequiresPermissions("portalhwWebMenu:export") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwWebMenu hwWebMenu) - { - List list = hwWebMenuService.selectHwWebMenuList(hwWebMenu); - ExcelUtil util = new ExcelUtil(HwWebMenu.class); - util.exportExcel(response, list, "haiwei官网菜单数据"); - } - - /** - * 获取haiwei官网菜单详细信息 - */ - //@RequiresPermissions("portalhwWebMenu:query") - @GetMapping(value = "/{webMenuId}") - public AjaxResult getInfo(@PathVariable("webMenuId") Long webMenuId) - { - return success(hwWebMenuService.selectHwWebMenuByWebMenuId(webMenuId)); - } - - /** - * 新增haiwei官网菜单 - */ - //@RequiresPermissions("portalhwWebMenu:add") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwWebMenu hwWebMenu) - { - return toAjax(hwWebMenuService.insertHwWebMenu(hwWebMenu)); - } - - /** - * 修改haiwei官网菜单 - */ - //@RequiresPermissions("portalhwWebMenu:edit") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwWebMenu hwWebMenu) - { - return toAjax(hwWebMenuService.updateHwWebMenu(hwWebMenu)); - } - - /** - * 删除haiwei官网菜单 - */ - //@RequiresPermissions("portalhwWebMenu:remove") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.DELETE) - @DeleteMapping("/{webMenuIds}") - public AjaxResult remove(@PathVariable Long[] webMenuIds) - { - return toAjax(hwWebMenuService.deleteHwWebMenuByWebMenuIds(webMenuIds)); - } - - /** - * 获取菜单树列表 - */ - @GetMapping("/selectMenuTree") - public AjaxResult selectMenuTree(HwWebMenu hwWebMenu){ - return success(hwWebMenuService.selectMenuTree(hwWebMenu)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\controller\HwWebMenuController1.java -```java -package com.ruoyi.portal.controller; - -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.portal.domain.HwWebMenu1; -import com.ruoyi.portal.service.IHwWebMenuService1; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * haiwei官网菜单Controller - * - * @author zch - * @date 2025-08-18 - */ -@RestController -@RequestMapping("/hwWebMenu1") -public class HwWebMenuController1 extends BaseController -{ - @Autowired - private IHwWebMenuService1 hwWebMenuService1; - - /** - * 查询haiwei官网菜单列表 - */ - //@RequiresPermissions("portalhwWebMenu:list") - @GetMapping("/list") - public AjaxResult list(HwWebMenu1 hwWebMenu1) - { - List list = hwWebMenuService1.selectHwWebMenuList(hwWebMenu1); - return success(list); - } - - /** - * 导出haiwei官网菜单列表 - */ - //@RequiresPermissions("portalhwWebMenu:export") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, HwWebMenu1 hwWebMenu1) - { - List list = hwWebMenuService1.selectHwWebMenuList(hwWebMenu1); - ExcelUtil util = new ExcelUtil(HwWebMenu1.class); - util.exportExcel(response, list, "haiwei官网菜单数据"); - } - - /** - * 获取haiwei官网菜单详细信息 - */ - //@RequiresPermissions("portalhwWebMenu:query") - @GetMapping(value = "/{webMenuId}") - public AjaxResult getInfo(@PathVariable("webMenuId") Long webMenuId) - { - return success(hwWebMenuService1.selectHwWebMenuByWebMenuId(webMenuId)); - } - - /** - * 新增haiwei官网菜单 - */ - //@RequiresPermissions("portalhwWebMenu:add") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody HwWebMenu1 hwWebMenu1) - { - return toAjax(hwWebMenuService1.insertHwWebMenu(hwWebMenu1)); - } - - /** - * 修改haiwei官网菜单 - */ - //@RequiresPermissions("portalhwWebMenu:edit") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody HwWebMenu1 hwWebMenu1) - { - return toAjax(hwWebMenuService1.updateHwWebMenu(hwWebMenu1)); - } - - /** - * 删除haiwei官网菜单 - */ - //@RequiresPermissions("portalhwWebMenu:remove") - //@Log(title = "haiwei官网菜单", businessType = BusinessType.DELETE) - @DeleteMapping("/{webMenuIds}") - public AjaxResult remove(@PathVariable Long[] webMenuIds) - { - return toAjax(hwWebMenuService1.deleteHwWebMenuByWebMenuIds(webMenuIds)); - } - - /** - * 获取菜单树列表 - */ - @GetMapping("/selectMenuTree") - public AjaxResult selectMenuTree(HwWebMenu1 hwWebMenu1){ - return success(hwWebMenuService1.selectMenuTree(hwWebMenu1)); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwAboutUsInfo.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 关于我们信息对象 hw_about_us_info - * - * @author xins - * @date 2024-12-01 - */ -public class HwAboutUsInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long aboutUsInfoId; - - /** 类型(1关于我们页面上大图2公司简介3企业资质4认证证书5团队风貌) */ - @Excel(name = "类型", readConverterExp = "1=关于我们页面上大图2公司简介3企业资质4认证证书5团队风貌") - private String aboutUsInfoType; - - /** 英文标题 */ - @Excel(name = "英文标题") - private String aboutUsInfoEtitle; - - - /** 中文标题 */ - @Excel(name = "中文标题") - private String aboutUsInfoTitle; - - /** 内容 */ - @Excel(name = "内容") - private String aboutUsInfoDesc; - - /** 顺序 */ - @Excel(name = "顺序") - private Long aboutUsInfoOrder; - - /** 显示模式 */ - @Excel(name = "显示模式") - private String displayModal; - - /** 图片地址 */ - @Excel(name = "图片地址") - private String aboutUsInfoPic; - - public void setAboutUsInfoId(Long aboutUsInfoId) - { - this.aboutUsInfoId = aboutUsInfoId; - } - - public Long getAboutUsInfoId() - { - return aboutUsInfoId; - } - public void setAboutUsInfoType(String aboutUsInfoType) - { - this.aboutUsInfoType = aboutUsInfoType; - } - - public String getAboutUsInfoType() - { - return aboutUsInfoType; - } - - public String getAboutUsInfoEtitle() { - return aboutUsInfoEtitle; - } - - public void setAboutUsInfoEtitle(String aboutUsInfoEtitle) { - this.aboutUsInfoEtitle = aboutUsInfoEtitle; - } - - public void setAboutUsInfoTitle(String aboutUsInfoTitle) - { - this.aboutUsInfoTitle = aboutUsInfoTitle; - } - - public String getAboutUsInfoTitle() - { - return aboutUsInfoTitle; - } - public void setAboutUsInfoDesc(String aboutUsInfoDesc) - { - this.aboutUsInfoDesc = aboutUsInfoDesc; - } - - public String getAboutUsInfoDesc() - { - return aboutUsInfoDesc; - } - public void setAboutUsInfoOrder(Long aboutUsInfoOrder) - { - this.aboutUsInfoOrder = aboutUsInfoOrder; - } - - public Long getAboutUsInfoOrder() - { - return aboutUsInfoOrder; - } - - public String getDisplayModal() { - return displayModal; - } - - public void setDisplayModal(String displayModal) { - this.displayModal = displayModal; - } - - public void setAboutUsInfoPic(String aboutUsInfoPic) - { - this.aboutUsInfoPic = aboutUsInfoPic; - } - - public String getAboutUsInfoPic() - { - return aboutUsInfoPic; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("aboutUsInfoId", getAboutUsInfoId()) - .append("aboutUsInfoType", getAboutUsInfoType()) - .append("aboutUsInfoTitle", getAboutUsInfoTitle()) - .append("aboutUsInfoDesc", getAboutUsInfoDesc()) - .append("aboutUsInfoOrder", getAboutUsInfoOrder()) - .append("aboutUsInfoPic", getAboutUsInfoPic()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwAboutUsInfoDetail.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 关于我们信息明细对象 hw_about_us_info_detail - * - * @author ruoyi - * @date 2024-12-01 - */ -public class HwAboutUsInfoDetail extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long usInfoDetailId; - - /** 关于我们信息ID */ - @Excel(name = "关于我们信息ID") - private Long aboutUsInfoId; - - /** 标题 */ - @Excel(name = "标题") - private String usInfoDetailTitle; - - /** 内容 */ - @Excel(name = "内容") - private String usInfoDetailDesc; - - /** 顺序 */ - @Excel(name = "顺序") - private Long usInfoDetailOrder; - - /** 图片地址 */ - @Excel(name = "图片地址") - private String usInfoDetailPic; - - public void setUsInfoDetailId(Long usInfoDetailId) - { - this.usInfoDetailId = usInfoDetailId; - } - - public Long getUsInfoDetailId() - { - return usInfoDetailId; - } - public void setAboutUsInfoId(Long aboutUsInfoId) - { - this.aboutUsInfoId = aboutUsInfoId; - } - - public Long getAboutUsInfoId() - { - return aboutUsInfoId; - } - public void setUsInfoDetailTitle(String usInfoDetailTitle) - { - this.usInfoDetailTitle = usInfoDetailTitle; - } - - public String getUsInfoDetailTitle() - { - return usInfoDetailTitle; - } - public void setUsInfoDetailDesc(String usInfoDetailDesc) - { - this.usInfoDetailDesc = usInfoDetailDesc; - } - - public String getUsInfoDetailDesc() - { - return usInfoDetailDesc; - } - public void setUsInfoDetailOrder(Long usInfoDetailOrder) - { - this.usInfoDetailOrder = usInfoDetailOrder; - } - - public Long getUsInfoDetailOrder() - { - return usInfoDetailOrder; - } - public void setUsInfoDetailPic(String usInfoDetailPic) - { - this.usInfoDetailPic = usInfoDetailPic; - } - - public String getUsInfoDetailPic() - { - return usInfoDetailPic; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("usInfoDetailId", getUsInfoDetailId()) - .append("aboutUsInfoId", getAboutUsInfoId()) - .append("usInfoDetailTitle", getUsInfoDetailTitle()) - .append("usInfoDetailDesc", getUsInfoDetailDesc()) - .append("usInfoDetailOrder", getUsInfoDetailOrder()) - .append("usInfoDetailPic", getUsInfoDetailPic()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwContactUsInfo.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 联系我们信息对象 hw_contact_us_info - * - * @author xins - * @date 2024-12-01 - */ -public class HwContactUsInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long contactUsInfoId; - - /** 用户姓名 */ - @Excel(name = "用户姓名") - private String userName; - - /** 邮箱 */ - @Excel(name = "邮箱") - private String userEmail; - - /** 手机号 */ - @Excel(name = "手机号") - private String userPhone; - - /** IP地址 */ - @Excel(name = "IP地址") - private String userIp; - - private String remark; - - public void setContactUsInfoId(Long contactUsInfoId) - { - this.contactUsInfoId = contactUsInfoId; - } - - public Long getContactUsInfoId() - { - return contactUsInfoId; - } - public void setUserName(String userName) - { - this.userName = userName; - } - - public String getUserName() - { - return userName; - } - public void setUserEmail(String userEmail) - { - this.userEmail = userEmail; - } - - public String getUserEmail() - { - return userEmail; - } - public void setUserPhone(String userPhone) - { - this.userPhone = userPhone; - } - - public String getUserPhone() - { - return userPhone; - } - public void setUserIp(String userIp) - { - this.userIp = userIp; - } - - public String getUserIp() - { - return userIp; - } - - @Override - public String getRemark() { - return remark; - } - - @Override - public void setRemark(String remark) { - this.remark = remark; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("contactUsInfoId", getContactUsInfoId()) - .append("userName", getUserName()) - .append("userEmail", getUserEmail()) - .append("userPhone", getUserPhone()) - .append("userIp", getUserIp()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwPortalConfig.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 门户网站配置对象 hw_portal_config - * - * @author xins - * @date 2024-12-01 - */ -public class HwPortalConfig extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long portalConfigId; - - /** 类型(1首页大图 2产品中心大图) */ - @Excel(name = "类型(1首页大图 2产品中心大图)") - private String portalConfigType; - - /**如果类型是2的,则需要关联hw_portal_config_type*/ - private Long portalConfigTypeId; - - /** 标题 */ - @Excel(name = "标题") - private String portalConfigTitle; - - /** 顺序 */ - @Excel(name = "顺序") - private Long portalConfigOrder; - - /** 内容 */ - @Excel(name = "内容") - private String portalConfigDesc; - - /** 按钮名称 */ - @Excel(name = "按钮名称") - private String buttonName; - - /** 按钮跳转地址 */ - @Excel(name = "按钮跳转地址") - private String routerAddress; - - /** 主图地址 */ - @Excel(name = "主图地址") - private String portalConfigPic; - - private String configTypeName; - - - private String homeConfigTypePic; - private String homeConfigTypeIcon; - private String homeConfigTypeName; - private String homeConfigTypeClassfication; - private Long parentId; - private String ancestors; - - public void setPortalConfigId(Long portalConfigId) - { - this.portalConfigId = portalConfigId; - } - - public Long getPortalConfigId() - { - return portalConfigId; - } - public void setPortalConfigType(String portalConfigType) - { - this.portalConfigType = portalConfigType; - } - - public String getPortalConfigType() - { - return portalConfigType; - } - - public Long getPortalConfigTypeId() { - return portalConfigTypeId; - } - - public void setPortalConfigTypeId(Long portalConfigTypeId) { - this.portalConfigTypeId = portalConfigTypeId; - } - - public void setPortalConfigTitle(String portalConfigTitle) - { - this.portalConfigTitle = portalConfigTitle; - } - - public String getPortalConfigTitle() - { - return portalConfigTitle; - } - public void setPortalConfigOrder(Long portalConfigOrder) - { - this.portalConfigOrder = portalConfigOrder; - } - - public Long getPortalConfigOrder() - { - return portalConfigOrder; - } - public void setPortalConfigDesc(String portalConfigDesc) - { - this.portalConfigDesc = portalConfigDesc; - } - - public String getPortalConfigDesc() - { - return portalConfigDesc; - } - public void setButtonName(String buttonName) - { - this.buttonName = buttonName; - } - - public String getButtonName() - { - return buttonName; - } - public void setRouterAddress(String routerAddress) - { - this.routerAddress = routerAddress; - } - - public String getRouterAddress() - { - return routerAddress; - } - public void setPortalConfigPic(String portalConfigPic) - { - this.portalConfigPic = portalConfigPic; - } - - public String getPortalConfigPic() - { - return portalConfigPic; - } - - public String getConfigTypeName() { - return configTypeName; - } - - public void setConfigTypeName(String configTypeName) { - this.configTypeName = configTypeName; - } - - - public String getHomeConfigTypePic() { - return homeConfigTypePic; - } - - public void setHomeConfigTypePic(String homeConfigTypePic) { - this.homeConfigTypePic = homeConfigTypePic; - } - - public String getHomeConfigTypeIcon() { - return homeConfigTypeIcon; - } - - public void setHomeConfigTypeIcon(String homeConfigTypeIcon) { - this.homeConfigTypeIcon = homeConfigTypeIcon; - } - - public String getHomeConfigTypeName() { - return homeConfigTypeName; - } - - public void setHomeConfigTypeName(String homeConfigTypeName) { - this.homeConfigTypeName = homeConfigTypeName; - } - - public String getHomeConfigTypeClassfication() { - return homeConfigTypeClassfication; - } - - public void setHomeConfigTypeClassfication(String homeConfigTypeClassfication) { - this.homeConfigTypeClassfication = homeConfigTypeClassfication; - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public String getAncestors() { - return ancestors; - } - - public void setAncestors(String ancestors) { - this.ancestors = ancestors; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("portalConfigId", getPortalConfigId()) - .append("portalConfigType", getPortalConfigType()) - .append("portalConfigTitle", getPortalConfigTitle()) - .append("portalConfigOrder", getPortalConfigOrder()) - .append("portalConfigDesc", getPortalConfigDesc()) - .append("buttonName", getButtonName()) - .append("routerAddress", getRouterAddress()) - .append("portalConfigPic", getPortalConfigPic()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .append("configTypeName", getConfigTypeName()) - .append("homeConfigTypePic", getHomeConfigTypePic()) - .append("homeConfigTypeIcon", getHomeConfigTypeIcon()) - .append("homeConfigTypeName", getHomeConfigTypeName()) - .append("homeConfigTypeClassfication", getHomeConfigTypeClassfication()) - .append("parentId", getParentId()) - .append("ancestors", getAncestors()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwPortalConfigType.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import com.ruoyi.common.core.web.domain.TreeEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -import java.util.ArrayList; -import java.util.List; - -/** - * 门户网站配置类型对象 hw_portal_config_type - * - * @author xins - * @date 2024-12-11 - */ -public class HwPortalConfigType extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long configTypeId; - - /** 大类(1产品中心,2案例) */ - @Excel(name = "大类(1产品中心,2案例)") - private String configTypeClassfication; - - /** 名称 */ - @Excel(name = "名称") - private String configTypeName; - - /** 首页名称 */ - @Excel(name = "首页名称") - private String homeConfigTypeName; - - /** 备注 */ - @Excel(name = "备注") - private String configTypeDesc; - - /** 图标地址 */ - @Excel(name = "图标地址") - private String configTypeIcon; - - /** 首页图片地址 */ - @Excel(name = "首页图片地址") - private String homeConfigTypePic; - - private Long parentId; - - private String ancestors; - - private List hwProductCaseInfoList; - - /** 子类型 */ - private List children = new ArrayList(); - - public void setConfigTypeId(Long configTypeId) - { - this.configTypeId = configTypeId; - } - - public Long getConfigTypeId() - { - return configTypeId; - } - public void setConfigTypeClassfication(String configTypeClassfication) - { - this.configTypeClassfication = configTypeClassfication; - } - - public String getConfigTypeClassfication() - { - return configTypeClassfication; - } - public void setConfigTypeName(String configTypeName) - { - this.configTypeName = configTypeName; - } - - public String getConfigTypeName() - { - return configTypeName; - } - public void setHomeConfigTypeName(String homeConfigTypeName) - { - this.homeConfigTypeName = homeConfigTypeName; - } - - public String getHomeConfigTypeName() - { - return homeConfigTypeName; - } - public void setConfigTypeDesc(String configTypeDesc) - { - this.configTypeDesc = configTypeDesc; - } - - public String getConfigTypeDesc() - { - return configTypeDesc; - } - public void setConfigTypeIcon(String configTypeIcon) - { - this.configTypeIcon = configTypeIcon; - } - - public String getConfigTypeIcon() - { - return configTypeIcon; - } - public void setHomeConfigTypePic(String homeConfigTypePic) - { - this.homeConfigTypePic = homeConfigTypePic; - } - - public String getHomeConfigTypePic() - { - return homeConfigTypePic; - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public String getAncestors() { - return ancestors; - } - - public void setAncestors(String ancestors) { - this.ancestors = ancestors; - } - - public List getHwProductCaseInfoList() { - return hwProductCaseInfoList; - } - - public void setHwProductCaseInfoList(List hwProductCaseInfoList) { - this.hwProductCaseInfoList = hwProductCaseInfoList; - } - - public List getChildren() { - return children; - } - - public void setChildren(List children) { - this.children = children; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("configTypeId", getConfigTypeId()) - .append("configTypeClassfication", getConfigTypeClassfication()) - .append("configTypeName", getConfigTypeName()) - .append("homeConfigTypeName", getHomeConfigTypeName()) - .append("configTypeDesc", getConfigTypeDesc()) - .append("configTypeIcon", getConfigTypeIcon()) - .append("homeConfigTypePic", getHomeConfigTypePic()) - .append("parentId", getParentId()) - .append("ancestors", getAncestors()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwProductCaseInfo.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 案例内容对象 hw_product_case_info - * - * @author xins - * @date 2024-12-01 - */ -public class HwProductCaseInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long caseInfoId; - - /** 案例标题 */ - @Excel(name = "案例标题") - private String caseInfoTitle; - - /** 配置类型ID */ - @Excel(name = "配置类型ID") - private Long configTypeId; - - /** 典型案例标识(1是0否) */ - @Excel(name = "典型案例标识(1是0否)") - private String typicalFlag; - - /** 案例内容 */ - @Excel(name = "案例内容") - private String caseInfoDesc; - - /** 案例内容图片 */ - @Excel(name = "案例内容图片") - private String caseInfoPic; - - /** 案例详情 */ - @Excel(name = "案例详情") - private String caseInfoHtml; - - private String homeTypicalFlag; - - - public void setCaseInfoId(Long caseInfoId) - { - this.caseInfoId = caseInfoId; - } - - public Long getCaseInfoId() - { - return caseInfoId; - } - public void setCaseInfoTitle(String caseInfoTitle) - { - this.caseInfoTitle = caseInfoTitle; - } - - public String getCaseInfoTitle() - { - return caseInfoTitle; - } - - public Long getConfigTypeId() { - return configTypeId; - } - - public void setConfigTypeId(Long configTypeId) { - this.configTypeId = configTypeId; - } - - public void setTypicalFlag(String typicalFlag) - { - this.typicalFlag = typicalFlag; - } - - public String getTypicalFlag() - { - return typicalFlag; - } - public void setCaseInfoDesc(String caseInfoDesc) - { - this.caseInfoDesc = caseInfoDesc; - } - - public String getCaseInfoDesc() - { - return caseInfoDesc; - } - public void setCaseInfoPic(String caseInfoPic) - { - this.caseInfoPic = caseInfoPic; - } - - public String getCaseInfoPic() - { - return caseInfoPic; - } - public void setCaseInfoHtml(String caseInfoHtml) - { - this.caseInfoHtml = caseInfoHtml; - } - - public String getCaseInfoHtml() - { - return caseInfoHtml; - } - - public String getHomeTypicalFlag() { - return homeTypicalFlag; - } - - public void setHomeTypicalFlag(String homeTypicalFlag) { - this.homeTypicalFlag = homeTypicalFlag; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("caseInfoId", getCaseInfoId()) - .append("caseInfoTitle", getCaseInfoTitle()) - .append("configTypeId", getConfigTypeId()) - .append("typicalFlag", getTypicalFlag()) - .append("caseInfoDesc", getCaseInfoDesc()) - .append("caseInfoPic", getCaseInfoPic()) - .append("caseInfoHtml", getCaseInfoHtml()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwProductInfo.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -import java.util.List; - -/** - * 产品信息配置对象 hw_product_info - * - * @author xins - * @date 2024-12-01 - */ -public class HwProductInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long productInfoId; - - /** 配置类型(例如物联网解决方案下的物联网平台和物联网硬件产品系列) */ - @Excel(name = "配置类型", readConverterExp = "例=如物联网解决方案下的物联网平台和物联网硬件产品系列") - private String configTypeId; - - /** 是否按tab显示(1是0否) */ - @Excel(name = "是否按tab显示", readConverterExp = "1=是0否") - private String tabFlag; - - /** 配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8左图右图9上图下内容,一行4个) */ - @Excel(name = "配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8左图右图9上图下内容,一行4个),13为hw官网配置模式") - private String configModal; - - /** 英文标题 */ - @Excel(name = "英文标题") - private String productInfoEtitle; - - /** 中文标题 */ - @Excel(name = "中文标题") - private String productInfoCtitle; - - /** 顺序 */ - @Excel(name = "顺序") - private Long productInfoOrder; - - /** 产品信息明细配置信息 */ - private List hwProductInfoDetailList; - - private Long parentId; - - private String configTypeName; - public void setProductInfoId(Long productInfoId) - { - this.productInfoId = productInfoId; - } - - public Long getProductInfoId() - { - return productInfoId; - } - public void setConfigTypeId(String configTypeId) - { - this.configTypeId = configTypeId; - } - - public String getConfigTypeId() - { - return configTypeId; - } - public void setTabFlag(String tabFlag) - { - this.tabFlag = tabFlag; - } - - public String getTabFlag() - { - return tabFlag; - } - public void setConfigModal(String configModal) - { - this.configModal = configModal; - } - - public String getConfigModal() - { - return configModal; - } - public void setProductInfoEtitle(String productInfoEtitle) - { - this.productInfoEtitle = productInfoEtitle; - } - - public String getProductInfoEtitle() - { - return productInfoEtitle; - } - public void setProductInfoCtitle(String productInfoCtitle) - { - this.productInfoCtitle = productInfoCtitle; - } - - public String getProductInfoCtitle() - { - return productInfoCtitle; - } - public void setProductInfoOrder(Long productInfoOrder) - { - this.productInfoOrder = productInfoOrder; - } - - public Long getProductInfoOrder() - { - return productInfoOrder; - } - - public List getHwProductInfoDetailList() - { - return hwProductInfoDetailList; - } - - public void setHwProductInfoDetailList(List hwProductInfoDetailList) - { - this.hwProductInfoDetailList = hwProductInfoDetailList; - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public String getConfigTypeName() { - return configTypeName; - } - - public void setConfigTypeName(String configTypeName) { - this.configTypeName = configTypeName; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("productInfoId", getProductInfoId()) - .append("configTypeId", getConfigTypeId()) - .append("tabFlag", getTabFlag()) - .append("configModal", getConfigModal()) - .append("productInfoEtitle", getProductInfoEtitle()) - .append("productInfoCtitle", getProductInfoCtitle()) - .append("productInfoOrder", getProductInfoOrder()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .append("hwProductInfoDetailList", getHwProductInfoDetailList()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwProductInfoDetail.java -```java -package com.ruoyi.portal.domain; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.TreeEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -import java.util.List; - - -/** - * 产品信息明细配置对象 hw_product_info_detail - * - * @author xins - * @date 2024-12-11 - */ -public class HwProductInfoDetail extends TreeEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long productInfoDetailId; - - /** 产品信息配置ID */ - @Excel(name = "产品信息配置ID") - private Long productInfoId; - - /** 配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8一张图9上图下内容,一行4个);针对右children时配置的 */ - @Excel(name = "配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8一张图9上图下内容,一行4个);针对右children时配置的") - private String configModal; - - /** 配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8一张图9上图下内容,一行4个);针对右children时配置的 */ - @Excel(name = "配置模式(1图标 +文字+内容横铺4个2左标题+内容,右图片;3左图标,右标题+内容,一行2个;4左大图右标题+内容,一行2个;5上标题+下图片,6上标题+内容,下图片;7图标标题内容,一行3个,8一张图9上图下内容,一行4个);针对右children时配置的") - private String configModel; - - /** 标题 */ - @Excel(name = "标题") - private String productInfoDetailTitle; - - /** 内容 */ - @Excel(name = "内容") - private String productInfoDetailDesc; - - /** 顺序 */ - @Excel(name = "顺序") - private Long productInfoDetailOrder; - - /** 图片地址 */ - @Excel(name = "图片地址") - private String productInfoDetailPic; - - /** 产品信息明细配置信息 */ - private List hwProductInfoDetailList; - - public void setProductInfoDetailId(Long productInfoDetailId) - { - this.productInfoDetailId = productInfoDetailId; - } - - public Long getProductInfoDetailId() - { - return productInfoDetailId; - } - public void setProductInfoId(Long productInfoId) - { - this.productInfoId = productInfoId; - } - - public Long getProductInfoId() - { - return productInfoId; - } - public void setConfigModal(String configModal) - { - this.configModal = configModal; - } - - public String getConfigModal() - { - return configModal; - } - public void setProductInfoDetailTitle(String productInfoDetailTitle) - { - this.productInfoDetailTitle = productInfoDetailTitle; - } - - public String getProductInfoDetailTitle() - { - return productInfoDetailTitle; - } - public void setProductInfoDetailDesc(String productInfoDetailDesc) - { - this.productInfoDetailDesc = productInfoDetailDesc; - } - - public String getProductInfoDetailDesc() - { - return productInfoDetailDesc; - } - public void setProductInfoDetailOrder(Long productInfoDetailOrder) - { - this.productInfoDetailOrder = productInfoDetailOrder; - } - - public Long getProductInfoDetailOrder() - { - return productInfoDetailOrder; - } - public void setProductInfoDetailPic(String productInfoDetailPic) - { - this.productInfoDetailPic = productInfoDetailPic; - } - - public String getProductInfoDetailPic() - { - return productInfoDetailPic; - } - - public List getHwProductInfoDetailList() { - return hwProductInfoDetailList; - } - - public void setHwProductInfoDetailList(List hwProductInfoDetailList) { - this.hwProductInfoDetailList = hwProductInfoDetailList; - } - - public String getConfigModel() { - return configModel; - } - - public void setConfigModel(String configModel) { - this.configModel = configModel; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("productInfoDetailId", getProductInfoDetailId()) - .append("parentId", getParentId()) - .append("productInfoId", getProductInfoId()) - .append("configModal", getConfigModal()) - .append("productInfoDetailTitle", getProductInfoDetailTitle()) - .append("productInfoDetailDesc", getProductInfoDetailDesc()) - .append("productInfoDetailOrder", getProductInfoDetailOrder()) - .append("productInfoDetailPic", getProductInfoDetailPic()) - .append("ancestors", getAncestors()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwWeb.java -```java -package com.ruoyi.portal.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * haiwei官网json对象 hw_web - * - * @author ruoyi - * @date 2025-08-18 - */ -public class HwWeb extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键 */ - private Long webId; - - /** json */ - @Excel(name = "json") - private String webJson; - - /** json字符串 */ - @Excel(name = "json字符串") - private String webJsonString; - - /** 页面 */ - @Excel(name = "页面") - private Long webCode; - - /** 逻辑删除标志:'0'未删除,'1'已删除 */ - private String isDelete; - - /** json字符串 */ - @Excel(name = "字符串") - private String webJsonEnglish; - - public void setWebId(Long webId) - { - this.webId = webId; - } - - public Long getWebId() - { - return webId; - } - public void setWebJson(String webJson) - { - this.webJson = webJson; - } - - public String getWebJson() - { - return webJson; - } - public void setWebJsonString(String webJsonString) - { - this.webJsonString = webJsonString; - } - - public String getWebJsonString() - { - return webJsonString; - } - public void setWebCode(Long webCode) - { - this.webCode = webCode; - } - - public Long getWebCode() - { - return webCode; - } - - public String getIsDelete() { - return isDelete; - } - - public void setIsDelete(String isDelete) { - this.isDelete = isDelete; - } - - public String getwebJsonEnglish() { - return webJsonEnglish; - } - - public void setwebJsonEnglish(String webJsonEnglish) { - this.webJsonEnglish = webJsonEnglish; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("webId", getWebId()) - .append("webJson", getWebJson()) - .append("webJsonString", getWebJsonString()) - .append("webCode", getWebCode()) - .append("isDelete", getIsDelete()) - .append("webJsonEnglish", getwebJsonEnglish()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwWeb1.java -```java -package com.ruoyi.portal.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * haiwei官网json对象 hw_web1 - * - * @author ruoyi - * @date 2025-08-18 - */ -public class HwWeb1 extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键 */ - private Long webId; - - /** json */ - @Excel(name = "json") - private String webJson; - - /** json字符串 */ - @Excel(name = "json字符串") - private String webJsonString; - - /** 页面 */ - @Excel(name = "页面") - private Long webCode; - - private Long deviceId; - - private Long typeId; - - /** 逻辑删除标志:'0'未删除,'1'已删除 */ - private String isDelete; - - /** json字符串 */ - @Excel(name = "字符串") - private String webJsonEnglish; - - public void setWebId(Long webId) - { - this.webId = webId; - } - - public Long getWebId() - { - return webId; - } - public void setWebJson(String webJson) - { - this.webJson = webJson; - } - - public String getWebJson() - { - return webJson; - } - public void setWebJsonString(String webJsonString) - { - this.webJsonString = webJsonString; - } - - public String getWebJsonString() - { - return webJsonString; - } - public void setWebCode(Long webCode) - { - this.webCode = webCode; - } - - public Long getWebCode() - { - return webCode; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public Long getTypeId() { - return typeId; - } - - public void setTypeId(Long typeId) { - this.typeId = typeId; - } - - public String getIsDelete() { - return isDelete; - } - - public void setIsDelete(String isDelete) { - this.isDelete = isDelete; - } - - public String getwebJsonEnglish() { - return webJsonEnglish; - } - - public void setwebJsonEnglish(String webJsonEnglish) { - this.webJsonEnglish = webJsonEnglish; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("webId", getWebId()) - .append("webJson", getWebJson()) - .append("webJsonString", getWebJsonString()) - .append("webCode", getWebCode()) - .append("deviceId", getDeviceId()) - .append("typeId", getTypeId()) - .append("isDelete", getIsDelete()) - .append("webJsonEnglish", getwebJsonEnglish()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwWebDocument.java -```java -package com.ruoyi.portal.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * Hw资料文件对象 hw_web_document - * - * @author zch - * @date 2025-09-22 - */ -public class HwWebDocument extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键 */ - private String documentId; - - /** 租户id */ - @Excel(name = "租户id") - private Long tenantId; - - /** 文件存储地址 */ - @Excel(name = "文件存储地址") - private String documentAddress; - - /** 页面编码,用来连表查询 */ - @Excel(name = "页面编码,用来连表查询") - private String webCode; - - /** 密钥 */ - // @Excel(name = "密钥") - @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) - private String secretKey; - - /** json */ - private String json; - - /** 文件类型 */ - private String type; - - /** 逻辑删除标志:'0'未删除,'1'已删除 */ - private String isDelete; - - public void setDocumentId(String documentId) - { - this.documentId = documentId; - } - - public String getDocumentId() - { - return documentId; - } - public void setTenantId(Long tenantId) - { - this.tenantId = tenantId; - } - - public Long getTenantId() - { - return tenantId; - } - public void setDocumentAddress(String documentAddress) - { - this.documentAddress = documentAddress; - } - - public String getDocumentAddress() - { - return documentAddress; - } - public void setWebCode(String webCode) - { - this.webCode = webCode; - } - - public String getWebCode() - { - return webCode; - } - public void setSecretKey(String secretKey) - { - this.secretKey = secretKey; - } - - public String getSecretKey() - { - return secretKey; - } - - public boolean getHasSecret() { - return secretKey != null && !secretKey.trim().isEmpty(); - } - - public String getJson() { - return json; - } - - public void setJson(String json) { - this.json = json; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getIsDelete() { - return isDelete; - } - - public void setIsDelete(String isDelete) { - this.isDelete = isDelete; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("documentId", getDocumentId()) - .append("tenantId", getTenantId()) - .append("documentAddress", getDocumentAddress()) - .append("createTime", getCreateTime()) - .append("webCode", getWebCode()) - .append("hasSecret", getHasSecret()) - .append("json", getJson()) - .append("type", getType()) - .append("isDelete", getIsDelete()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwWebMenu.java -```java -package com.ruoyi.portal.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.TreeEntity; - -import java.util.List; - -/** - * haiwei官网菜单对象 hw_web_menu - * - * @author zch - * @date 2025-08-18 - */ -public class HwWebMenu extends TreeEntity -{ - private static final long serialVersionUID = 1L; - - /** 菜单主键id */ - private Long webMenuId; - - /** 父节点 */ - @Excel(name = "父节点") - private Long parent; - - /** 状态 */ - @Excel(name = "状态") - private String status; - - /** 菜单名称 */ - @Excel(name = "菜单名称") - private String webMenuName; - - /** 租户 */ - @Excel(name = "租户") - private Long tenantId; - - /** 图片地址 */ - @Excel(name = "图片地址") - private String webMenuPic; - - /** 官网菜单类型 */ - @Excel(name = "官网菜单类型") - private Long webMenuType; - - /** 逻辑删除标志:'0'未删除,'1'已删除 */ - private String isDelete; - - private String webMenuNameEnglish; - - public void setWebMenuId(Long webMenuId) - { - this.webMenuId = webMenuId; - } - - public Long getWebMenuId() - { - return webMenuId; - } - public void setParent(Long parent) - { - this.parent = parent; - } - - public Long getParent() - { - return parent; - } - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - public void setWebMenuName(String webMenuName) - { - this.webMenuName = webMenuName; - } - - public String getWebMenuName() - { - return webMenuName; - } - public void setTenantId(Long tenantId) - { - this.tenantId = tenantId; - } - - public Long getTenantId() - { - return tenantId; - } - public void setWebMenuPic(String webMenuPic) - { - this.webMenuPic = webMenuPic; - } - - public String getWebMenuPic() - { - return webMenuPic; - } - public void setWebMenuType(Long webMenuType) - { - this.webMenuType = webMenuType; - } - - public Long getWebMenuType() - { - return webMenuType; - } - - public String getIsDelete() { - return isDelete; - } - - public void setIsDelete(String isDelete) { - this.isDelete = isDelete; - } - - public String getWebMenuNameEnglish() { - return webMenuNameEnglish; - } - - public void setWebMenuNameEnglish(String webMenuNameEnglish) { - this.webMenuNameEnglish = webMenuNameEnglish; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("webMenuId", getWebMenuId()) - .append("parent", getParent()) - .append("ancestors", getAncestors()) - .append("status", getStatus()) - .append("webMenuName", getWebMenuName()) - .append("tenantId", getTenantId()) - .append("webMenuPic", getWebMenuPic()) - .append("webMenuType", getWebMenuType()) - .append("isDelete", getIsDelete()) - .append("webMenuNameEnglish", getWebMenuNameEnglish()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\HwWebMenu1.java -```java -package com.ruoyi.portal.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.TreeEntity; - -import java.util.List; - -/** - * haiwei官网菜单对象 hw_web_menu1 - * - * @author zch - * @date 2025-08-18 - */ -public class HwWebMenu1 extends TreeEntity -{ - private static final long serialVersionUID = 1L; - - /** 菜单主键id */ - private Long webMenuId; - - /** 父节点 */ - @Excel(name = "父节点") - private Long parent; - - /** 状态 */ - @Excel(name = "状态") - private String status; - - /** 菜单名称 */ - @Excel(name = "菜单名称") - private String webMenuName; - - /** 租户 */ - @Excel(name = "租户") - private Long tenantId; - - /** 图片地址 */ - @Excel(name = "图片地址") - private String webMenuPic; - - /** 官网菜单类型 */ - @Excel(name = "官网菜单类型") - private Long webMenuType; - - private String valuel; - - /** 逻辑删除标志:'0'未删除,'1'已删除 */ - private String isDelete; - - private String webMenuNameEnglish; - - public void setWebMenuId(Long webMenuId) - { - this.webMenuId = webMenuId; - } - - public Long getWebMenuId() - { - return webMenuId; - } - public void setParent(Long parent) - { - this.parent = parent; - } - - public Long getParent() - { - return parent; - } - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - public void setWebMenuName(String webMenuName) - { - this.webMenuName = webMenuName; - } - - public String getWebMenuName() - { - return webMenuName; - } - public void setTenantId(Long tenantId) - { - this.tenantId = tenantId; - } - - public Long getTenantId() - { - return tenantId; - } - public void setWebMenuPic(String webMenuPic) - { - this.webMenuPic = webMenuPic; - } - - public String getWebMenuPic() - { - return webMenuPic; - } - public void setWebMenuType(Long webMenuType) - { - this.webMenuType = webMenuType; - } - - public Long getWebMenuType() - { - return webMenuType; - } - - public String getValuel() { - return valuel; - } - public void setValuel(String valuel) { - this.valuel = valuel; - } - - public String getIsDelete() { - return isDelete; - } - - public void setIsDelete(String isDelete) { - this.isDelete = isDelete; - } - - public String getWebMenuNameEnglish() { - return webMenuNameEnglish; - } - - public void setWebMenuNameEnglish(String webMenuNameEnglish) { - this.webMenuNameEnglish = webMenuNameEnglish; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("webMenuId", getWebMenuId()) - .append("parent", getParent()) - .append("ancestors", getAncestors()) - .append("status", getStatus()) - .append("webMenuName", getWebMenuName()) - .append("tenantId", getTenantId()) - .append("webMenuPic", getWebMenuPic()) - .append("webMenuType", getWebMenuType()) - .append("valuel", getValuel()) - .append("isDelete", getIsDelete()) - .append("webMenuNameEnglish", getWebMenuNameEnglish()) - .toString(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\SecureDocumentRequest.java -```java -package com.ruoyi.portal.domain; - -import lombok.Data; - -@Data -public class SecureDocumentRequest { - private String documentId; - private String providedKey; -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\domain\vo\TreeSelect.java -```java -package com.ruoyi.portal.domain.vo; - -import java.io.Serializable; -import java.util.List; -import java.util.stream.Collectors; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.ruoyi.portal.domain.HwPortalConfigType; - -/** - * Treeselect树结构实体类 - * - * @author ruoyi - */ -public class TreeSelect implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 节点ID */ - private Long id; - - /** 节点名称 */ - private String label; - - /** 子节点 */ - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List children; - - public TreeSelect() - { - - } - - public TreeSelect(HwPortalConfigType portalConfigType) - { - this.id = portalConfigType.getConfigTypeId(); - this.label = portalConfigType.getConfigTypeName(); - this.children = portalConfigType.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - public Long getId() - { - return id; - } - - public void setId(Long id) - { - this.id = id; - } - - public String getLabel() - { - return label; - } - - public void setLabel(String label) - { - this.label = label; - } - - public List getChildren() - { - return children; - } - - public void setChildren(List children) - { - this.children = children; - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwAboutUsInfoDetailMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwAboutUsInfoDetail; - -import java.util.List; - -/** - * 关于我们信息明细Mapper接口 - * - * @author ruoyi - * @date 2024-12-01 - */ -public interface HwAboutUsInfoDetailMapper -{ - /** - * 查询关于我们信息明细 - * - * @param usInfoDetailId 关于我们信息明细主键 - * @return 关于我们信息明细 - */ - public HwAboutUsInfoDetail selectHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId); - - /** - * 查询关于我们信息明细列表 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 关于我们信息明细集合 - */ - public List selectHwAboutUsInfoDetailList(HwAboutUsInfoDetail hwAboutUsInfoDetail); - - /** - * 新增关于我们信息明细 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 结果 - */ - public int insertHwAboutUsInfoDetail(HwAboutUsInfoDetail hwAboutUsInfoDetail); - - /** - * 修改关于我们信息明细 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 结果 - */ - public int updateHwAboutUsInfoDetail(HwAboutUsInfoDetail hwAboutUsInfoDetail); - - /** - * 删除关于我们信息明细 - * - * @param usInfoDetailId 关于我们信息明细主键 - * @return 结果 - */ - public int deleteHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId); - - /** - * 批量删除关于我们信息明细 - * - * @param usInfoDetailIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwAboutUsInfoDetailByUsInfoDetailIds(Long[] usInfoDetailIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwAboutUsInfoMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwAboutUsInfo; - -import java.util.List; - -/** - * 关于我们信息Mapper接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface HwAboutUsInfoMapper -{ - /** - * 查询关于我们信息 - * - * @param aboutUsInfoId 关于我们信息主键 - * @return 关于我们信息 - */ - public HwAboutUsInfo selectHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId); - - /** - * 查询关于我们信息列表 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 关于我们信息集合 - */ - public List selectHwAboutUsInfoList(HwAboutUsInfo hwAboutUsInfo); - - /** - * 新增关于我们信息 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 结果 - */ - public int insertHwAboutUsInfo(HwAboutUsInfo hwAboutUsInfo); - - /** - * 修改关于我们信息 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 结果 - */ - public int updateHwAboutUsInfo(HwAboutUsInfo hwAboutUsInfo); - - /** - * 删除关于我们信息 - * - * @param aboutUsInfoId 关于我们信息主键 - * @return 结果 - */ - public int deleteHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId); - - /** - * 批量删除关于我们信息 - * - * @param aboutUsInfoIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwAboutUsInfoByAboutUsInfoIds(Long[] aboutUsInfoIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwContactUsInfoMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwContactUsInfo; - -import java.util.List; - -/** - * 联系我们信息Mapper接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface HwContactUsInfoMapper -{ - /** - * 查询联系我们信息 - * - * @param contactUsInfoId 联系我们信息主键 - * @return 联系我们信息 - */ - public HwContactUsInfo selectHwContactUsInfoByContactUsInfoId(Long contactUsInfoId); - - /** - * 查询联系我们信息列表 - * - * @param hwContactUsInfo 联系我们信息 - * @return 联系我们信息集合 - */ - public List selectHwContactUsInfoList(HwContactUsInfo hwContactUsInfo); - - /** - * 新增联系我们信息 - * - * @param hwContactUsInfo 联系我们信息 - * @return 结果 - */ - public int insertHwContactUsInfo(HwContactUsInfo hwContactUsInfo); - - /** - * 修改联系我们信息 - * - * @param hwContactUsInfo 联系我们信息 - * @return 结果 - */ - public int updateHwContactUsInfo(HwContactUsInfo hwContactUsInfo); - - /** - * 删除联系我们信息 - * - * @param contactUsInfoId 联系我们信息主键 - * @return 结果 - */ - public int deleteHwContactUsInfoByContactUsInfoId(Long contactUsInfoId); - - /** - * 批量删除联系我们信息 - * - * @param contactUsInfoIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwContactUsInfoByContactUsInfoIds(Long[] contactUsInfoIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwPortalConfigMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwPortalConfig; - -import java.util.List; - -/** - * 门户网站配置Mapper接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface HwPortalConfigMapper -{ - /** - * 查询门户网站配置 - * - * @param portalConfigId 门户网站配置主键 - * @return 门户网站配置 - */ - public HwPortalConfig selectHwPortalConfigByPortalConfigId(Long portalConfigId); - - /** - * 查询门户网站配置列表 - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置集合 - */ - public List selectHwPortalConfigList(HwPortalConfig hwPortalConfig); - - /** - * 新增门户网站配置 - * - * @param hwPortalConfig 门户网站配置 - * @return 结果 - */ - public int insertHwPortalConfig(HwPortalConfig hwPortalConfig); - - /** - * 修改门户网站配置 - * - * @param hwPortalConfig 门户网站配置 - * @return 结果 - */ - public int updateHwPortalConfig(HwPortalConfig hwPortalConfig); - - /** - * 删除门户网站配置 - * - * @param portalConfigId 门户网站配置主键 - * @return 结果 - */ - public int deleteHwPortalConfigByPortalConfigId(Long portalConfigId); - - /** - * 批量删除门户网站配置 - * - * @param portalConfigIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwPortalConfigByPortalConfigIds(Long[] portalConfigIds); - - /** - * 查询门户网站配置列表,join hw_portal_config_type - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置集合 - */ - public List selectHwPortalConfigJoinList(HwPortalConfig hwPortalConfig); - - - /** - * 查询门户网站配置列表 - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置集合 - */ - public List selectHwPortalConfigList2(HwPortalConfig hwPortalConfig); - - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwPortalConfigTypeMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwPortalConfigType; - -import java.util.List; - -/** - * 门户网站配置类型Mapper接口 - * - * @author xins - * @date 2024-12-11 - */ -public interface HwPortalConfigTypeMapper -{ - /** - * 查询门户网站配置类型 - * - * @param configTypeId 门户网站配置类型主键 - * @return 门户网站配置类型 - */ - public HwPortalConfigType selectHwPortalConfigTypeByConfigTypeId(Long configTypeId); - - /** - * 查询门户网站配置类型列表 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 门户网站配置类型集合 - */ - public List selectHwPortalConfigTypeList(HwPortalConfigType hwPortalConfigType); - - /** - * 新增门户网站配置类型 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 结果 - */ - public int insertHwPortalConfigType(HwPortalConfigType hwPortalConfigType); - - /** - * 修改门户网站配置类型 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 结果 - */ - public int updateHwPortalConfigType(HwPortalConfigType hwPortalConfigType); - - /** - * 删除门户网站配置类型 - * - * @param configTypeId 门户网站配置类型主键 - * @return 结果 - */ - public int deleteHwPortalConfigTypeByConfigTypeId(Long configTypeId); - - /** - * 批量删除门户网站配置类型 - * - * @param configTypeIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwPortalConfigTypeByConfigTypeIds(Long[] configTypeIds); - - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwProductCaseInfoMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwProductCaseInfo; - -import java.util.List; - -/** - * 案例内容Mapper接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface HwProductCaseInfoMapper -{ - /** - * 查询案例内容 - * - * @param caseInfoId 案例内容主键 - * @return 案例内容 - */ - public HwProductCaseInfo selectHwProductCaseInfoByCaseInfoId(Long caseInfoId); - - /** - * 查询案例内容列表 - * - * @param hwProductCaseInfo 案例内容 - * @return 案例内容集合 - */ - public List selectHwProductCaseInfoList(HwProductCaseInfo hwProductCaseInfo); - - /** - * 新增案例内容 - * - * @param hwProductCaseInfo 案例内容 - * @return 结果 - */ - public int insertHwProductCaseInfo(HwProductCaseInfo hwProductCaseInfo); - - /** - * 修改案例内容 - * - * @param hwProductCaseInfo 案例内容 - * @return 结果 - */ - public int updateHwProductCaseInfo(HwProductCaseInfo hwProductCaseInfo); - - /** - * 删除案例内容 - * - * @param caseInfoId 案例内容主键 - * @return 结果 - */ - public int deleteHwProductCaseInfoByCaseInfoId(Long caseInfoId); - - /** - * 批量删除案例内容 - * - * @param caseInfoIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwProductCaseInfoByCaseInfoIds(Long[] caseInfoIds); - - /** - * 查询案例内容列表,Join portalConfigType - * - * @param hwProductCaseInfo 案例内容 - * @return 案例内容集合 - */ - public List selectHwProductCaseInfoJoinList(HwProductCaseInfo hwProductCaseInfo); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwProductInfoDetailMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwProductInfoDetail; - -import java.util.List; - -/** - * 产品信息明细配置Mapper接口 - * - * @author xins - * @date 2024-12-11 - */ -public interface HwProductInfoDetailMapper -{ - /** - * 查询产品信息明细配置 - * - * @param productInfoDetailId 产品信息明细配置主键 - * @return 产品信息明细配置 - */ - public HwProductInfoDetail selectHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId); - - /** - * 查询产品信息明细配置列表 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 产品信息明细配置集合 - */ - public List selectHwProductInfoDetailList(HwProductInfoDetail hwProductInfoDetail); - - /** - * 新增产品信息明细配置 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 结果 - */ - public int insertHwProductInfoDetail(HwProductInfoDetail hwProductInfoDetail); - - /** - * 修改产品信息明细配置 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 结果 - */ - public int updateHwProductInfoDetail(HwProductInfoDetail hwProductInfoDetail); - - /** - * 删除产品信息明细配置 - * - * @param productInfoDetailId 产品信息明细配置主键 - * @return 结果 - */ - public int deleteHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId); - - /** - * 批量删除产品信息明细配置 - * - * @param productInfoDetailIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwProductInfoDetailByProductInfoDetailIds(Long[] productInfoDetailIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwProductInfoMapper.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwProductInfo; - -import java.util.List; - -/** - * 产品信息配置Mapper接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface HwProductInfoMapper -{ - /** - * 查询产品信息配置 - * - * @param productInfoId 产品信息配置主键 - * @return 产品信息配置 - */ - public HwProductInfo selectHwProductInfoByProductInfoId(Long productInfoId); - - /** - * 查询产品信息配置列表 - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置集合 - */ - public List selectHwProductInfoList(HwProductInfo hwProductInfo); - - /** - * 新增产品信息配置 - * - * @param hwProductInfo 产品信息配置 - * @return 结果 - */ - public int insertHwProductInfo(HwProductInfo hwProductInfo); - - /** - * 修改产品信息配置 - * - * @param hwProductInfo 产品信息配置 - * @return 结果 - */ - public int updateHwProductInfo(HwProductInfo hwProductInfo); - - /** - * 删除产品信息配置 - * - * @param productInfoId 产品信息配置主键 - * @return 结果 - */ - public int deleteHwProductInfoByProductInfoId(Long productInfoId); - - /** - * 批量删除产品信息配置 - * - * @param productInfoIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwProductInfoByProductInfoIds(Long[] productInfoIds); - - /** - * 查询产品信息配置列表,join product info detail - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置集合 - */ - public List selectHwProductInfoJoinDetailList(HwProductInfo hwProductInfo); - - /** - * 查询产品信息配置列表,join portalConfigType门户网站配置类型 - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置集合 - */ - public List selectHwProductInfoJoinList(HwProductInfo hwProductInfo); - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwWebDocumentMapper.java -```java -package com.ruoyi.portal.mapper; - -import java.util.List; -import com.ruoyi.portal.domain.HwWebDocument; - -/** - * Hw资料文件Mapper接口 - * - * @author zch - * @date 2025-09-22 - */ -public interface HwWebDocumentMapper -{ - /** - * 查询Hw资料文件 - * - * @param documentId Hw资料文件主键 - * @return Hw资料文件 - */ - public HwWebDocument selectHwWebDocumentByDocumentId(String documentId); - - /** - * 查询Hw资料文件列表 - * - * @param hwWebDocument Hw资料文件 - * @return Hw资料文件集合 - */ - public List selectHwWebDocumentList(HwWebDocument hwWebDocument); - - /** - * 新增Hw资料文件 - * - * @param hwWebDocument Hw资料文件 - * @return 结果 - */ - public int insertHwWebDocument(HwWebDocument hwWebDocument); - - /** - * 修改Hw资料文件 - * - * @param hwWebDocument Hw资料文件 - * @return 结果 - */ - public int updateHwWebDocument(HwWebDocument hwWebDocument); - - /** - * 删除Hw资料文件 - * - * @param documentId Hw资料文件主键 - * @return 结果 - */ - public int deleteHwWebDocumentByDocumentId(String documentId); - - /** - * 批量删除Hw资料文件 - * - * @param documentIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwWebDocumentByDocumentIds(String[] documentIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwWebMapper.java -```java -package com.ruoyi.portal.mapper; - -import java.util.List; -import com.ruoyi.portal.domain.HwWeb; - -/** - * haiwei官网jsonMapper接口 - * - * @author ruoyi - * @date 2025-08-18 - */ -public interface HwWebMapper -{ - /** - * 查询haiwei官网json - * - * @param webId haiwei官网json主键 - * @return haiwei官网json - */ - public HwWeb selectHwWebByWebcode(Long webCode); - - /** - * 查询haiwei官网json列表 - * - * @param hwWeb haiwei官网json - * @return haiwei官网json集合 - */ - public List selectHwWebList(HwWeb hwWeb); - - /** - * 新增haiwei官网json - * - * @param hwWeb haiwei官网json - * @return 结果 - */ - public int insertHwWeb(HwWeb hwWeb); - - /** - * 修改haiwei官网json - * - * @param hwWeb haiwei官网json - * @return 结果 - */ - public int updateHwWeb(HwWeb hwWeb); - - /** - * 删除haiwei官网json - * - * @param webId haiwei官网json主键 - * @return 结果 - */ - public int deleteHwWebByWebId(Long webId); - - /** - * 批量删除haiwei官网json - * - * @param webIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwWebByWebIds(Long[] webIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwWebMapper1.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwWeb1; - -import java.util.List; - -/** - * haiwei官网jsonMapper接口 - * - * @author ruoyi - * @date 2025-08-18 - */ -public interface HwWebMapper1 -{ - /** - * 查询haiwei官网json - * - * @param webId haiwei官网json主键 - * @return haiwei官网json - */ - public HwWeb1 selectHwWebByWebcode(Long webCode); - - /** - * 查询haiwei官网json列表 - * - * @param HwWeb1 haiwei官网json - * @return haiwei官网json集合 - */ - public HwWeb1 selectHwWebOne(HwWeb1 hwWeb1); - - /** - * 查询haiwei官网json列表 - * - * @param HwWeb1 haiwei官网json - * @return haiwei官网json集合 - */ - public List selectHwWebList(HwWeb1 hwWeb1); - - /** - * 新增haiwei官网json - * - * @param HwWeb1 haiwei官网json - * @return 结果 - */ - public int insertHwWeb(HwWeb1 hwWeb1); - - /** - * 修改haiwei官网json - * - * @param HwWeb1 haiwei官网json - * @return 结果 - */ - public int updateHwWeb(HwWeb1 hwWeb1); - - /** - * 删除haiwei官网json - * - * @param webId haiwei官网json主键 - * @return 结果 - */ - public int deleteHwWebByWebId(Long webId); - - /** - * 批量删除haiwei官网json - * - * @param webIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwWebByWebIds(Long[] webIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwWebMenuMapper.java -```java -package com.ruoyi.portal.mapper; - -import java.util.List; -import com.ruoyi.portal.domain.HwWebMenu; - -/** - * haiwei官网菜单Mapper接口 - * - * @author zch - * @date 2025-08-18 - */ -public interface HwWebMenuMapper -{ - /** - * 查询haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return haiwei官网菜单 - */ - public HwWebMenu selectHwWebMenuByWebMenuId(Long webMenuId); - - /** - * 查询haiwei官网菜单列表 - * - * @param hwWebMenu haiwei官网菜单 - * @return haiwei官网菜单集合 - */ - public List selectHwWebMenuList(HwWebMenu hwWebMenu); - - /** - * 新增haiwei官网菜单 - * - * @param hwWebMenu haiwei官网菜单 - * @return 结果 - */ - public int insertHwWebMenu(HwWebMenu hwWebMenu); - - /** - * 修改haiwei官网菜单 - * - * @param hwWebMenu haiwei官网菜单 - * @return 结果 - */ - public int updateHwWebMenu(HwWebMenu hwWebMenu); - - /** - * 删除haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuId(Long webMenuId); - - /** - * 批量删除haiwei官网菜单 - * - * @param webMenuIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\mapper\HwWebMenuMapper1.java -```java -package com.ruoyi.portal.mapper; - -import com.ruoyi.portal.domain.HwWebMenu; -import com.ruoyi.portal.domain.HwWebMenu1; -import com.ruoyi.portal.domain.HwWebMenu1; - -import java.util.List; - -/** - * haiwei官网菜单Mapper接口 - * - * @author zch - * @date 2025-08-18 - */ -public interface HwWebMenuMapper1 -{ - /** - * 查询haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return haiwei官网菜单 - */ - public HwWebMenu1 selectHwWebMenuByWebMenuId(Long webMenuId); - - /** - * 查询haiwei官网菜单列表 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return haiwei官网菜单集合 - */ - public List selectHwWebMenuList(HwWebMenu1 HwWebMenu1); - - /** - * 新增haiwei官网菜单 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return 结果 - */ - public int insertHwWebMenu(HwWebMenu1 HwWebMenu1); - - /** - * 修改haiwei官网菜单 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return 结果 - */ - public int updateHwWebMenu(HwWebMenu1 HwWebMenu1); - - /** - * 删除haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuId(Long webMenuId); - - /** - * 批量删除haiwei官网菜单 - * - * @param webMenuIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds); - - - /** - * 获取菜单树列表 - */ - public List selectMenuTree(HwWebMenu1 hwWebMenu); - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\RuoYiPortalApplication.java -```java -package com.ruoyi.portal; - -import com.ruoyi.common.security.annotation.EnableCustomConfig; -import com.ruoyi.common.security.annotation.EnableRyFeignClients; -import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * 系统模块 - * - * @author ruoyi - */ -@EnableCustomConfig -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication -public class RuoYiPortalApplication -{ -// @Value("${spring.nacos.config.server-addr}") -// public static String dd; - public static void main(String[] args) - { - - SpringApplication.run(RuoYiPortalApplication.class, args); - System.out.println("(♥◠‿◠)ノ゙ 门户模块启动成功 ლ(´ڡ`ლ)゙ \n" + - " .-------. ____ __ \n" + - " | _ _ \\ \\ \\ / / \n" + - " | ( ' ) | \\ _. / ' \n" + - " |(_ o _) / _( )_ .' \n" + - " | (_,_).' __ ___(_ o _)' \n" + - " | |\\ \\ | || |(_,_)' \n" + - " | | \\ `' /| `-' / \n" + - " | | \\ / \\ / \n" + - " ''-' `'-' `-..-' "); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwAboutUsInfoDetailService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwAboutUsInfoDetail; - -import java.util.List; - -/** - * 关于我们信息明细Service接口 - * - * @author ruoyi - * @date 2024-12-01 - */ -public interface IHwAboutUsInfoDetailService -{ - /** - * 查询关于我们信息明细 - * - * @param usInfoDetailId 关于我们信息明细主键 - * @return 关于我们信息明细 - */ - public HwAboutUsInfoDetail selectHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId); - - /** - * 查询关于我们信息明细列表 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 关于我们信息明细集合 - */ - public List selectHwAboutUsInfoDetailList(HwAboutUsInfoDetail hwAboutUsInfoDetail); - - /** - * 新增关于我们信息明细 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 结果 - */ - public int insertHwAboutUsInfoDetail(HwAboutUsInfoDetail hwAboutUsInfoDetail); - - /** - * 修改关于我们信息明细 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 结果 - */ - public int updateHwAboutUsInfoDetail(HwAboutUsInfoDetail hwAboutUsInfoDetail); - - /** - * 批量删除关于我们信息明细 - * - * @param usInfoDetailIds 需要删除的关于我们信息明细主键集合 - * @return 结果 - */ - public int deleteHwAboutUsInfoDetailByUsInfoDetailIds(Long[] usInfoDetailIds); - - /** - * 删除关于我们信息明细信息 - * - * @param usInfoDetailId 关于我们信息明细主键 - * @return 结果 - */ - public int deleteHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwAboutUsInfoService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwAboutUsInfo; - -import java.util.List; - -/** - * 关于我们信息Service接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface IHwAboutUsInfoService -{ - /** - * 查询关于我们信息 - * - * @param aboutUsInfoId 关于我们信息主键 - * @return 关于我们信息 - */ - public HwAboutUsInfo selectHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId); - - /** - * 查询关于我们信息列表 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 关于我们信息集合 - */ - public List selectHwAboutUsInfoList(HwAboutUsInfo hwAboutUsInfo); - - /** - * 新增关于我们信息 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 结果 - */ - public int insertHwAboutUsInfo(HwAboutUsInfo hwAboutUsInfo); - - /** - * 修改关于我们信息 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 结果 - */ - public int updateHwAboutUsInfo(HwAboutUsInfo hwAboutUsInfo); - - /** - * 批量删除关于我们信息 - * - * @param aboutUsInfoIds 需要删除的关于我们信息主键集合 - * @return 结果 - */ - public int deleteHwAboutUsInfoByAboutUsInfoIds(Long[] aboutUsInfoIds); - - /** - * 删除关于我们信息信息 - * - * @param aboutUsInfoId 关于我们信息主键 - * @return 结果 - */ - public int deleteHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwContactUsInfoService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwContactUsInfo; - -import java.util.List; - -/** - * 联系我们信息Service接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface IHwContactUsInfoService -{ - /** - * 查询联系我们信息 - * - * @param contactUsInfoId 联系我们信息主键 - * @return 联系我们信息 - */ - public HwContactUsInfo selectHwContactUsInfoByContactUsInfoId(Long contactUsInfoId); - - /** - * 查询联系我们信息列表 - * - * @param hwContactUsInfo 联系我们信息 - * @return 联系我们信息集合 - */ - public List selectHwContactUsInfoList(HwContactUsInfo hwContactUsInfo); - - /** - * 新增联系我们信息 - * - * @param hwContactUsInfo 联系我们信息 - * @return 结果 - */ - public int insertHwContactUsInfo(HwContactUsInfo hwContactUsInfo); - - /** - * 修改联系我们信息 - * - * @param hwContactUsInfo 联系我们信息 - * @return 结果 - */ - public int updateHwContactUsInfo(HwContactUsInfo hwContactUsInfo); - - /** - * 批量删除联系我们信息 - * - * @param contactUsInfoIds 需要删除的联系我们信息主键集合 - * @return 结果 - */ - public int deleteHwContactUsInfoByContactUsInfoIds(Long[] contactUsInfoIds); - - /** - * 删除联系我们信息信息 - * - * @param contactUsInfoId 联系我们信息主键 - * @return 结果 - */ - public int deleteHwContactUsInfoByContactUsInfoId(Long contactUsInfoId); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwPortalConfigService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwPortalConfig; - -import java.util.List; - -/** - * 门户网站配置Service接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface IHwPortalConfigService -{ - /** - * 查询门户网站配置 - * - * @param portalConfigId 门户网站配置主键 - * @return 门户网站配置 - */ - public HwPortalConfig selectHwPortalConfigByPortalConfigId(Long portalConfigId); - - /** - * 查询门户网站配置列表 - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置集合 - */ - public List selectHwPortalConfigList(HwPortalConfig hwPortalConfig); - - /** - * 新增门户网站配置 - * - * @param hwPortalConfig 门户网站配置 - * @return 结果 - */ - public int insertHwPortalConfig(HwPortalConfig hwPortalConfig); - - /** - * 修改门户网站配置 - * - * @param hwPortalConfig 门户网站配置 - * @return 结果 - */ - public int updateHwPortalConfig(HwPortalConfig hwPortalConfig); - - /** - * 批量删除门户网站配置 - * - * @param portalConfigIds 需要删除的门户网站配置主键集合 - * @return 结果 - */ - public int deleteHwPortalConfigByPortalConfigIds(Long[] portalConfigIds); - - /** - * 删除门户网站配置信息 - * - * @param portalConfigId 门户网站配置主键 - * @return 结果 - */ - public int deleteHwPortalConfigByPortalConfigId(Long portalConfigId); - - /** - * 查询门户网站配置列表,Join hw_portal_config_type - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置 - */ - public List selectHwPortalConfigJoinList(HwPortalConfig hwPortalConfig); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwPortalConfigTypeService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.domain.vo.TreeSelect; - -import java.util.List; - -/** - * 门户网站配置类型Service接口 - * - * @author xins - * @date 2024-12-11 - */ -public interface IHwPortalConfigTypeService -{ - /** - * 查询门户网站配置类型 - * - * @param configTypeId 门户网站配置类型主键 - * @return 门户网站配置类型 - */ - public HwPortalConfigType selectHwPortalConfigTypeByConfigTypeId(Long configTypeId); - - /** - * 查询门户网站配置类型列表 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 门户网站配置类型集合 - */ - public List selectHwPortalConfigTypeList(HwPortalConfigType hwPortalConfigType); - - - /** - * 查询门户网站配置类型列表 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 门户网站配置类型集合 - */ - public List selectConfigTypeList(HwPortalConfigType hwPortalConfigType); - - /** - * 新增门户网站配置类型 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 结果 - */ - public int insertHwPortalConfigType(HwPortalConfigType hwPortalConfigType); - - /** - * 修改门户网站配置类型 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 结果 - */ - public int updateHwPortalConfigType(HwPortalConfigType hwPortalConfigType); - - /** - * 批量删除门户网站配置类型 - * - * @param configTypeIds 需要删除的门户网站配置类型主键集合 - * @return 结果 - */ - public int deleteHwPortalConfigTypeByConfigTypeIds(Long[] configTypeIds); - - /** - * 删除门户网站配置类型信息 - * - * @param configTypeId 门户网站配置类型主键 - * @return 结果 - */ - public int deleteHwPortalConfigTypeByConfigTypeId(Long configTypeId); - - /** - * 查询门户网站配置类型树结构信息 - * - * @param portalConfigType 门户网站配置类型信息 - * @return 门户网站配置类型树信息集合 - */ - public List selectPortalConfigTypeTreeList(HwPortalConfigType portalConfigType); - - /** - * 构建前端所需要下拉树结构 - * - * @param portalConfigTypes 门户网站配置类型列表 - * @return 下拉树结构列表 - */ - public List buildPortalConfigTypeTreeSelect(List portalConfigTypes); - /** - * 构建前端所需要树结构 - * - * @param portalConfigTypes 门户网站配置类型列表 - * @return 树结构列表 - */ - public List buildPortalConfigTypeTree(List portalConfigTypes); - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwProductCaseInfoService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwProductCaseInfo; - -import java.util.List; - -/** - * 案例内容Service接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface IHwProductCaseInfoService -{ - /** - * 查询案例内容 - * - * @param caseInfoId 案例内容主键 - * @return 案例内容 - */ - public HwProductCaseInfo selectHwProductCaseInfoByCaseInfoId(Long caseInfoId); - - /** - * 查询案例内容列表 - * - * @param hwProductCaseInfo 案例内容 - * @return 案例内容集合 - */ - public List selectHwProductCaseInfoList(HwProductCaseInfo hwProductCaseInfo); - - /** - * 新增案例内容 - * - * @param hwProductCaseInfo 案例内容 - * @return 结果 - */ - public int insertHwProductCaseInfo(HwProductCaseInfo hwProductCaseInfo); - - /** - * 修改案例内容 - * - * @param hwProductCaseInfo 案例内容 - * @return 结果 - */ - public int updateHwProductCaseInfo(HwProductCaseInfo hwProductCaseInfo); - - /** - * 批量删除案例内容 - * - * @param caseInfoIds 需要删除的案例内容主键集合 - * @return 结果 - */ - public int deleteHwProductCaseInfoByCaseInfoIds(Long[] caseInfoIds); - - /** - * 删除案例内容信息 - * - * @param caseInfoId 案例内容主键 - * @return 结果 - */ - public int deleteHwProductCaseInfoByCaseInfoId(Long caseInfoId); - - /** - * 根据configTypeId获取首页典型案例 - * @param hwProductCaseInfo - * @return - */ - public HwProductCaseInfo getTypicalHomeCaseInfo(HwProductCaseInfo hwProductCaseInfo); - - /** - * 查询案例内容列表,join portalConfigType - * - * @param hwProductCaseInfo 案例内容 - * @return 案例内容 - */ - public List selectHwProductCaseInfoJoinList(HwProductCaseInfo hwProductCaseInfo); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwProductInfoDetailService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwProductInfoDetail; - -import java.util.List; - -/** - * 产品信息明细配置Service接口 - * - * @author xins - * @date 2024-12-11 - */ -public interface IHwProductInfoDetailService -{ - /** - * 查询产品信息明细配置 - * - * @param productInfoDetailId 产品信息明细配置主键 - * @return 产品信息明细配置 - */ - public HwProductInfoDetail selectHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId); - - /** - * 查询产品信息明细配置列表 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 产品信息明细配置集合 - */ - public List selectHwProductInfoDetailList(HwProductInfoDetail hwProductInfoDetail); - - /** - * 新增产品信息明细配置 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 结果 - */ - public int insertHwProductInfoDetail(HwProductInfoDetail hwProductInfoDetail); - - /** - * 修改产品信息明细配置 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 结果 - */ - public int updateHwProductInfoDetail(HwProductInfoDetail hwProductInfoDetail); - - /** - * 批量删除产品信息明细配置 - * - * @param productInfoDetailIds 需要删除的产品信息明细配置主键集合 - * @return 结果 - */ - public int deleteHwProductInfoDetailByProductInfoDetailIds(Long[] productInfoDetailIds); - - /** - * 删除产品信息明细配置信息 - * - * @param productInfoDetailId 产品信息明细配置主键 - * @return 结果 - */ - public int deleteHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwProductInfoService.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwProductInfo; - -import java.util.List; - -/** - * 产品信息配置Service接口 - * - * @author xins - * @date 2024-12-01 - */ -public interface IHwProductInfoService -{ - /** - * 查询产品信息配置 - * - * @param productInfoId 产品信息配置主键 - * @return 产品信息配置 - */ - public HwProductInfo selectHwProductInfoByProductInfoId(Long productInfoId); - - /** - * 查询产品信息配置列表 - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置集合 - */ - public List selectHwProductInfoList(HwProductInfo hwProductInfo); - - /** - * 新增产品信息配置 - * - * @param hwProductInfo 产品信息配置 - * @return 结果 - */ - public int insertHwProductInfo(HwProductInfo hwProductInfo); - - /** - * 修改产品信息配置 - * - * @param hwProductInfo 产品信息配置 - * @return 结果 - */ - public int updateHwProductInfo(HwProductInfo hwProductInfo); - - /** - * 批量删除产品信息配置 - * - * @param productInfoIds 需要删除的产品信息配置主键集合 - * @return 结果 - */ - public int deleteHwProductInfoByProductInfoIds(Long[] productInfoIds); - - /** - * 删除产品信息配置信息 - * - * @param productInfoId 产品信息配置主键 - * @return 结果 - */ - public int deleteHwProductInfoByProductInfoId(Long productInfoId); - - /** - * 获取产品中心产品信息(平台简介,hw_product_info获取,(配置模式2左标题+内容,右图片)读取中文标题和英文标题,下面内容从hw_product_info_detail获取,读取标题,内容和图片) - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置 - */ - public List selectHwProductInfoJoinDetailList(HwProductInfo hwProductInfo); - - /** - * 查询产品信息配置列表,join portalConfigType - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置 - */ - public List selectHwProductInfoJoinList(HwProductInfo hwProductInfo); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwWebDocumentService.java -```java -package com.ruoyi.portal.service; - -import java.util.List; -import com.ruoyi.portal.domain.HwWebDocument; - -/** - * Hw资料文件Service接口 - * - * @author zch - * @date 2025-09-22 - */ -public interface IHwWebDocumentService -{ - /** - * 查询Hw资料文件 - * - * @param documentId Hw资料文件主键 - * @return Hw资料文件 - */ - public HwWebDocument selectHwWebDocumentByDocumentId(String documentId); - - /** - * 查询Hw资料文件列表 - * - * @param hwWebDocument Hw资料文件 - * @return Hw资料文件集合 - */ - public List selectHwWebDocumentList(HwWebDocument hwWebDocument); - - /** - * 新增Hw资料文件 - * - * @param hwWebDocument Hw资料文件 - * @return 结果 - */ - public int insertHwWebDocument(HwWebDocument hwWebDocument); - - /** - * 修改Hw资料文件 - * - * @param hwWebDocument Hw资料文件 - * @return 结果 - */ - public int updateHwWebDocument(HwWebDocument hwWebDocument); - - /** - * 批量删除Hw资料文件 - * - * @param documentIds 需要删除的Hw资料文件主键集合 - * @return 结果 - */ - public int deleteHwWebDocumentByDocumentIds(String[] documentIds); - - /** - * 删除Hw资料文件信息 - * - * @param documentId Hw资料文件主键 - * @return 结果 - */ - public int deleteHwWebDocumentByDocumentId(String documentId); - - /** - * 验证密钥并获取文件地址 - * @param documentId 文件ID - * @param providedKey 提供的密钥 - * @return 文件地址 - * @throws Exception 如果密钥不匹配 - */ - String verifyAndGetDocumentAddress(String documentId, String providedKey) throws Exception; - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwWebMenuService.java -```java -package com.ruoyi.portal.service; - -import java.util.List; -import com.ruoyi.portal.domain.HwWebMenu; - -/** - * haiwei官网菜单Service接口 - * - * @author zch - * @date 2025-08-18 - */ -public interface IHwWebMenuService -{ - /** - * 查询haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return haiwei官网菜单 - */ - public HwWebMenu selectHwWebMenuByWebMenuId(Long webMenuId); - - /** - * 查询haiwei官网菜单列表 - * - * @param hwWebMenu haiwei官网菜单 - * @return haiwei官网菜单集合 - */ - public List selectHwWebMenuList(HwWebMenu hwWebMenu); - - /** - * 新增haiwei官网菜单 - * - * @param hwWebMenu haiwei官网菜单 - * @return 结果 - */ - public int insertHwWebMenu(HwWebMenu hwWebMenu); - - /** - * 修改haiwei官网菜单 - * - * @param hwWebMenu haiwei官网菜单 - * @return 结果 - */ - public int updateHwWebMenu(HwWebMenu hwWebMenu); - - /** - * 批量删除haiwei官网菜单 - * - * @param webMenuIds 需要删除的haiwei官网菜单主键集合 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds); - - /** - * 删除haiwei官网菜单信息 - * - * @param webMenuId haiwei官网菜单主键 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuId(Long webMenuId); - - - /** - * 获取菜单树列表 - */ - public List selectMenuTree(HwWebMenu hwWebMenu); - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwWebMenuService1.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwWebMenu1; -import com.ruoyi.portal.domain.HwWebMenu1; - -import java.util.List; - -/** - * haiwei官网菜单Service接口 - * - * @author zch - * @date 2025-08-18 - */ -public interface IHwWebMenuService1 -{ - /** - * 查询haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return haiwei官网菜单 - */ - public HwWebMenu1 selectHwWebMenuByWebMenuId(Long webMenuId); - - /** - * 查询haiwei官网菜单列表 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return haiwei官网菜单集合 - */ - public List selectHwWebMenuList(HwWebMenu1 HwWebMenu1); - - /** - * 新增haiwei官网菜单 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return 结果 - */ - public int insertHwWebMenu(HwWebMenu1 HwWebMenu1); - - /** - * 修改haiwei官网菜单 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return 结果 - */ - public int updateHwWebMenu(HwWebMenu1 HwWebMenu1); - - /** - * 批量删除haiwei官网菜单 - * - * @param webMenuIds 需要删除的haiwei官网菜单主键集合 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds); - - /** - * 删除haiwei官网菜单信息 - * - * @param webMenuId haiwei官网菜单主键 - * @return 结果 - */ - public int deleteHwWebMenuByWebMenuId(Long webMenuId); - - - /** - * 获取菜单树列表 - */ - public List selectMenuTree(HwWebMenu1 HwWebMenu1); - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwWebService.java -```java -package com.ruoyi.portal.service; - -import java.util.List; -import com.ruoyi.portal.domain.HwWeb; - -/** - * haiwei官网jsonService接口 - * - * @author ruoyi - * @date 2025-08-18 - */ -public interface IHwWebService -{ - /** - * 查询haiwei官网json - * - * @param webId haiwei官网json主键 - * @return haiwei官网json - */ - public HwWeb selectHwWebByWebcode(Long webCode); - - /** - * 查询haiwei官网json列表 - * - * @param hwWeb haiwei官网json - * @return haiwei官网json集合 - */ - public List selectHwWebList(HwWeb hwWeb); - - /** - * 新增haiwei官网json - * - * @param hwWeb haiwei官网json - * @return 结果 - */ - public int insertHwWeb(HwWeb hwWeb); - - /** - * 修改haiwei官网json - * - * @param hwWeb haiwei官网json - * @return 结果 - */ - public int updateHwWeb(HwWeb hwWeb); - - /** - * 批量删除haiwei官网json - * - * @param webIds 需要删除的haiwei官网json主键集合 - * @return 结果 - */ - public int deleteHwWebByWebIds(Long[] webIds); - - /** - * 删除haiwei官网json信息 - * - * @param webId haiwei官网json主键 - * @return 结果 - */ - public int deleteHwWebByWebId(Long webId); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\IHwWebService1.java -```java -package com.ruoyi.portal.service; - -import com.ruoyi.portal.domain.HwWeb1; -import java.util.List; - -/** - * haiwei官网jsonService接口 - * - * @author ruoyi - * @date 2025-08-18 - */ -public interface IHwWebService1 -{ - /** - * 查询haiwei官网json - * - * @param webId haiwei官网json主键 - * @return haiwei官网json - */ - public HwWeb1 selectHwWebByWebcode(Long webCode); - - public HwWeb1 selectHwWebOne(HwWeb1 hwWeb1); - - /** - * 查询haiwei官网json列表 - * - * @param HwWeb1 haiwei官网json - * @return haiwei官网json集合 - */ - public List selectHwWebList(HwWeb1 hwWeb1); - - /** - * 新增haiwei官网json - * - * @param HwWeb1 haiwei官网json - * @return 结果 - */ - public int insertHwWeb(HwWeb1 hwWeb1); - - /** - * 修改haiwei官网json - * - * @param HwWeb1 haiwei官网json - * @return 结果 - */ - public int updateHwWeb(HwWeb1 hwWeb1); - - /** - * 批量删除haiwei官网json - * - * @param webIds 需要删除的haiwei官网json主键集合 - * @return 结果 - */ - public int deleteHwWebByWebIds(Long[] webIds); - - /** - * 删除haiwei官网json信息 - * - * @param webId haiwei官网json主键 - * @return 结果 - */ - public int deleteHwWebByWebId(Long webId); -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwAboutUsInfoDetailServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.portal.domain.HwAboutUsInfoDetail; -import com.ruoyi.portal.mapper.HwAboutUsInfoDetailMapper; -import com.ruoyi.portal.service.IHwAboutUsInfoDetailService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 关于我们信息明细Service业务层处理 - * - * @author ruoyi - * @date 2024-12-01 - */ -@Service -public class HwAboutUsInfoDetailServiceImpl implements IHwAboutUsInfoDetailService -{ - @Autowired - private HwAboutUsInfoDetailMapper hwAboutUsInfoDetailMapper; - - /** - * 查询关于我们信息明细 - * - * @param usInfoDetailId 关于我们信息明细主键 - * @return 关于我们信息明细 - */ - @Override - public HwAboutUsInfoDetail selectHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId) - { - return hwAboutUsInfoDetailMapper.selectHwAboutUsInfoDetailByUsInfoDetailId(usInfoDetailId); - } - - /** - * 查询关于我们信息明细列表 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 关于我们信息明细 - */ - @Override - public List selectHwAboutUsInfoDetailList(HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - return hwAboutUsInfoDetailMapper.selectHwAboutUsInfoDetailList(hwAboutUsInfoDetail); - } - - /** - * 新增关于我们信息明细 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 结果 - */ - @Override - public int insertHwAboutUsInfoDetail(HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - hwAboutUsInfoDetail.setCreateTime(DateUtils.getNowDate()); - return hwAboutUsInfoDetailMapper.insertHwAboutUsInfoDetail(hwAboutUsInfoDetail); - } - - /** - * 修改关于我们信息明细 - * - * @param hwAboutUsInfoDetail 关于我们信息明细 - * @return 结果 - */ - @Override - public int updateHwAboutUsInfoDetail(HwAboutUsInfoDetail hwAboutUsInfoDetail) - { - hwAboutUsInfoDetail.setUpdateTime(DateUtils.getNowDate()); - return hwAboutUsInfoDetailMapper.updateHwAboutUsInfoDetail(hwAboutUsInfoDetail); - } - - /** - * 批量删除关于我们信息明细 - * - * @param usInfoDetailIds 需要删除的关于我们信息明细主键 - * @return 结果 - */ - @Override - public int deleteHwAboutUsInfoDetailByUsInfoDetailIds(Long[] usInfoDetailIds) - { - return hwAboutUsInfoDetailMapper.deleteHwAboutUsInfoDetailByUsInfoDetailIds(usInfoDetailIds); - } - - /** - * 删除关于我们信息明细信息 - * - * @param usInfoDetailId 关于我们信息明细主键 - * @return 结果 - */ - @Override - public int deleteHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId) - { - return hwAboutUsInfoDetailMapper.deleteHwAboutUsInfoDetailByUsInfoDetailId(usInfoDetailId); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwAboutUsInfoServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.portal.domain.HwAboutUsInfo; -import com.ruoyi.portal.mapper.HwAboutUsInfoMapper; -import com.ruoyi.portal.service.IHwAboutUsInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 关于我们信息Service业务层处理 - * - * @author xins - * @date 2024-12-01 - */ -@Service -public class HwAboutUsInfoServiceImpl implements IHwAboutUsInfoService -{ - @Autowired - private HwAboutUsInfoMapper hwAboutUsInfoMapper; - - /** - * 查询关于我们信息 - * - * @param aboutUsInfoId 关于我们信息主键 - * @return 关于我们信息 - */ - @Override - public HwAboutUsInfo selectHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId) - { - return hwAboutUsInfoMapper.selectHwAboutUsInfoByAboutUsInfoId(aboutUsInfoId); - } - - /** - * 查询关于我们信息列表 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 关于我们信息 - */ - @Override - public List selectHwAboutUsInfoList(HwAboutUsInfo hwAboutUsInfo) - { - return hwAboutUsInfoMapper.selectHwAboutUsInfoList(hwAboutUsInfo); - } - - /** - * 新增关于我们信息 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 结果 - */ - @Override - public int insertHwAboutUsInfo(HwAboutUsInfo hwAboutUsInfo) - { - hwAboutUsInfo.setCreateTime(DateUtils.getNowDate()); - return hwAboutUsInfoMapper.insertHwAboutUsInfo(hwAboutUsInfo); - } - - /** - * 修改关于我们信息 - * - * @param hwAboutUsInfo 关于我们信息 - * @return 结果 - */ - @Override - public int updateHwAboutUsInfo(HwAboutUsInfo hwAboutUsInfo) - { - hwAboutUsInfo.setUpdateTime(DateUtils.getNowDate()); - return hwAboutUsInfoMapper.updateHwAboutUsInfo(hwAboutUsInfo); - } - - /** - * 批量删除关于我们信息 - * - * @param aboutUsInfoIds 需要删除的关于我们信息主键 - * @return 结果 - */ - @Override - public int deleteHwAboutUsInfoByAboutUsInfoIds(Long[] aboutUsInfoIds) - { - return hwAboutUsInfoMapper.deleteHwAboutUsInfoByAboutUsInfoIds(aboutUsInfoIds); - } - - /** - * 删除关于我们信息信息 - * - * @param aboutUsInfoId 关于我们信息主键 - * @return 结果 - */ - @Override - public int deleteHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId) - { - return hwAboutUsInfoMapper.deleteHwAboutUsInfoByAboutUsInfoId(aboutUsInfoId); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwContactUsInfoServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.portal.domain.HwContactUsInfo; -import com.ruoyi.portal.mapper.HwContactUsInfoMapper; -import com.ruoyi.portal.service.IHwContactUsInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 联系我们信息Service业务层处理 - * - * @author xins - * @date 2024-12-01 - */ -@Service -public class HwContactUsInfoServiceImpl implements IHwContactUsInfoService -{ - @Autowired - private HwContactUsInfoMapper hwContactUsInfoMapper; - - /** - * 查询联系我们信息 - * - * @param contactUsInfoId 联系我们信息主键 - * @return 联系我们信息 - */ - @Override - public HwContactUsInfo selectHwContactUsInfoByContactUsInfoId(Long contactUsInfoId) - { - return hwContactUsInfoMapper.selectHwContactUsInfoByContactUsInfoId(contactUsInfoId); - } - - /** - * 查询联系我们信息列表 - * - * @param hwContactUsInfo 联系我们信息 - * @return 联系我们信息 - */ - @Override - public List selectHwContactUsInfoList(HwContactUsInfo hwContactUsInfo) - { - return hwContactUsInfoMapper.selectHwContactUsInfoList(hwContactUsInfo); - } - - /** - * 新增联系我们信息 - * - * @param hwContactUsInfo 联系我们信息 - * @return 结果 - */ - @Override - public int insertHwContactUsInfo(HwContactUsInfo hwContactUsInfo) - { - - hwContactUsInfo.setCreateTime(DateUtils.getNowDate()); - return hwContactUsInfoMapper.insertHwContactUsInfo(hwContactUsInfo); - } - - /** - * 修改联系我们信息 - * - * @param hwContactUsInfo 联系我们信息 - * @return 结果 - */ - @Override - public int updateHwContactUsInfo(HwContactUsInfo hwContactUsInfo) - { - hwContactUsInfo.setUpdateTime(DateUtils.getNowDate()); - return hwContactUsInfoMapper.updateHwContactUsInfo(hwContactUsInfo); - } - - /** - * 批量删除联系我们信息 - * - * @param contactUsInfoIds 需要删除的联系我们信息主键 - * @return 结果 - */ - @Override - public int deleteHwContactUsInfoByContactUsInfoIds(Long[] contactUsInfoIds) - { - return hwContactUsInfoMapper.deleteHwContactUsInfoByContactUsInfoIds(contactUsInfoIds); - } - - /** - * 删除联系我们信息信息 - * - * @param contactUsInfoId 联系我们信息主键 - * @return 结果 - */ - @Override - public int deleteHwContactUsInfoByContactUsInfoId(Long contactUsInfoId) - { - return hwContactUsInfoMapper.deleteHwContactUsInfoByContactUsInfoId(contactUsInfoId); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwPortalConfigServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.portal.domain.HwPortalConfig; -import com.ruoyi.portal.mapper.HwPortalConfigMapper; -import com.ruoyi.portal.service.IHwPortalConfigService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 门户网站配置Service业务层处理 - * - * @author xins - * @date 2024-12-01 - */ -@Service -public class HwPortalConfigServiceImpl implements IHwPortalConfigService -{ - @Autowired - private HwPortalConfigMapper hwPortalConfigMapper; - - /** - * 查询门户网站配置 - * - * @param portalConfigId 门户网站配置主键 - * @return 门户网站配置 - */ - @Override - public HwPortalConfig selectHwPortalConfigByPortalConfigId(Long portalConfigId) - { - return hwPortalConfigMapper.selectHwPortalConfigByPortalConfigId(portalConfigId); - } - - /** - * 查询门户网站配置列表 - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置 - */ - @Override - public List selectHwPortalConfigList(HwPortalConfig hwPortalConfig) - { - if("2".equals(hwPortalConfig.getPortalConfigType())){ - List hwPortalConfigs = hwPortalConfigMapper.selectHwPortalConfigList2(hwPortalConfig); - return hwPortalConfigs; - } - return hwPortalConfigMapper.selectHwPortalConfigList(hwPortalConfig); - } - - /** - * 新增门户网站配置 - * - * @param hwPortalConfig 门户网站配置 - * @return 结果 - */ - @Override - public int insertHwPortalConfig(HwPortalConfig hwPortalConfig) - { - hwPortalConfig.setCreateTime(DateUtils.getNowDate()); - return hwPortalConfigMapper.insertHwPortalConfig(hwPortalConfig); - } - - /** - * 修改门户网站配置 - * - * @param hwPortalConfig 门户网站配置 - * @return 结果 - */ - @Override - public int updateHwPortalConfig(HwPortalConfig hwPortalConfig) - { - hwPortalConfig.setUpdateTime(DateUtils.getNowDate()); - return hwPortalConfigMapper.updateHwPortalConfig(hwPortalConfig); - } - - /** - * 批量删除门户网站配置 - * - * @param portalConfigIds 需要删除的门户网站配置主键 - * @return 结果 - */ - @Override - public int deleteHwPortalConfigByPortalConfigIds(Long[] portalConfigIds) - { - return hwPortalConfigMapper.deleteHwPortalConfigByPortalConfigIds(portalConfigIds); - } - - /** - * 删除门户网站配置信息 - * - * @param portalConfigId 门户网站配置主键 - * @return 结果 - */ - @Override - public int deleteHwPortalConfigByPortalConfigId(Long portalConfigId) - { - return hwPortalConfigMapper.deleteHwPortalConfigByPortalConfigId(portalConfigId); - } - - - - /** - * 查询门户网站配置列表,Join hw_portal_config_type - * - * @param hwPortalConfig 门户网站配置 - * @return 门户网站配置 - */ - @Override - public List selectHwPortalConfigJoinList(HwPortalConfig hwPortalConfig) - { - return hwPortalConfigMapper.selectHwPortalConfigJoinList(hwPortalConfig); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwPortalConfigTypeServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.core.utils.SpringUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.domain.vo.TreeSelect; -import com.ruoyi.portal.mapper.HwPortalConfigTypeMapper; -import com.ruoyi.portal.service.IHwPortalConfigTypeService; -import com.ruoyi.system.api.domain.SysDept; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 门户网站配置类型Service业务层处理 - * - * @author xins - * @date 2024-12-11 - */ -@Service -public class HwPortalConfigTypeServiceImpl implements IHwPortalConfigTypeService -{ - @Autowired - private HwPortalConfigTypeMapper hwPortalConfigTypeMapper; - - /** - * 查询门户网站配置类型 - * - * @param configTypeId 门户网站配置类型主键 - * @return 门户网站配置类型 - */ - @Override - public HwPortalConfigType selectHwPortalConfigTypeByConfigTypeId(Long configTypeId) - { - return hwPortalConfigTypeMapper.selectHwPortalConfigTypeByConfigTypeId(configTypeId); - } - - /** - * 查询门户网站配置类型列表 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 门户网站配置类型 - */ - @Override - public List selectHwPortalConfigTypeList(HwPortalConfigType hwPortalConfigType) - { - return hwPortalConfigTypeMapper.selectHwPortalConfigTypeList(hwPortalConfigType); - } - - - /** - * 查询门户网站配置类型列表 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 门户网站配置类型 - */ - @Override - public List selectConfigTypeList(HwPortalConfigType hwPortalConfigType) - { - // 如果有 configTypeClassfication 条件,需要特殊处理以确保树形结构完整 - if (StringUtils.isNotEmpty(hwPortalConfigType.getConfigTypeClassfication())) { - // 查询所有数据 - List allList = hwPortalConfigTypeMapper.selectHwPortalConfigTypeList(new HwPortalConfigType()); - - // 找出指定分类的顶级节点 - List topLevelNodes = allList.stream() - .filter(item -> hwPortalConfigType.getConfigTypeClassfication().equals(item.getConfigTypeClassfication()) - && (item.getParentId() == null || item.getParentId() == 0L)) - .collect(Collectors.toList()); - - // 构建包含所有子孙节点的完整列表 - List completeList = new ArrayList<>(); - for (HwPortalConfigType topNode : topLevelNodes) { - completeList.add(topNode); - addAllDescendants(allList, topNode, completeList); - } - - return buildPortalConfigTypeTree(completeList); - } else { - // 没有特定过滤条件时,直接查询并构建树形结构 - List list = hwPortalConfigTypeMapper.selectHwPortalConfigTypeList(hwPortalConfigType); - return buildPortalConfigTypeTree(list); - } - } - - /** - * 递归添加所有子孙节点 - */ - private void addAllDescendants(List allList, HwPortalConfigType parentNode, List resultList) { - for (HwPortalConfigType item : allList) { - if (item.getParentId() != null && item.getParentId().equals(parentNode.getConfigTypeId())) { - resultList.add(item); - addAllDescendants(allList, item, resultList); // 递归添加子节点的子节点 - } - } - } - - /** - * 新增门户网站配置类型 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 结果 - */ - @Override - public int insertHwPortalConfigType(HwPortalConfigType hwPortalConfigType) - { - if (hwPortalConfigType.getParentId() == null) { - hwPortalConfigType.setParentId(0L); - hwPortalConfigType.setAncestors("0"); - } else { - HwPortalConfigType info = hwPortalConfigTypeMapper.selectHwPortalConfigTypeByConfigTypeId(hwPortalConfigType.getParentId()); - - hwPortalConfigType.setAncestors(info.getAncestors() + "," + hwPortalConfigType.getParentId()); - } - - hwPortalConfigType.setCreateTime(DateUtils.getNowDate()); - hwPortalConfigType.setCreateBy(SecurityUtils.getUsername()); - return hwPortalConfigTypeMapper.insertHwPortalConfigType(hwPortalConfigType); - } - - /** - * 修改门户网站配置类型 - * - * @param hwPortalConfigType 门户网站配置类型 - * @return 结果 - */ - @Override - public int updateHwPortalConfigType(HwPortalConfigType hwPortalConfigType) - { - hwPortalConfigType.setUpdateTime(DateUtils.getNowDate()); - return hwPortalConfigTypeMapper.updateHwPortalConfigType(hwPortalConfigType); - } - - /** - * 批量删除门户网站配置类型 - * - * @param configTypeIds 需要删除的门户网站配置类型主键 - * @return 结果 - */ - @Override - public int deleteHwPortalConfigTypeByConfigTypeIds(Long[] configTypeIds) - { - return hwPortalConfigTypeMapper.deleteHwPortalConfigTypeByConfigTypeIds(configTypeIds); - } - - /** - * 删除门户网站配置类型信息 - * - * @param configTypeId 门户网站配置类型主键 - * @return 结果 - */ - @Override - public int deleteHwPortalConfigTypeByConfigTypeId(Long configTypeId) - { - return hwPortalConfigTypeMapper.deleteHwPortalConfigTypeByConfigTypeId(configTypeId); - } - - - /** - * 查询门户网站配置类型树结构信息 - * - * @param portalConfigType 门户网站配置类型信息 - * @return 门户网站配置类型树信息集合 - */ - @Override - public List selectPortalConfigTypeTreeList(HwPortalConfigType portalConfigType) { - List portalConfigTypes = this.selectHwPortalConfigTypeList(portalConfigType); - return buildPortalConfigTypeTreeSelect(portalConfigTypes); - } - - /** - * 构建前端所需要下拉树结构 - * - * @param portalConfigTypes 门户网站配置类型列表 - * @return 下拉树结构列表 - */ - @Override - public List buildPortalConfigTypeTreeSelect(List portalConfigTypes) { - List deptTrees = buildPortalConfigTypeTree(portalConfigTypes); - return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); - } - - - /** - * 构建前端所需要树结构 - * - * @param portalConfigTypes 门户网站配置类型列表 - * @return 树结构列表 - */ - @Override - public List buildPortalConfigTypeTree(List portalConfigTypes) { - List returnList = new ArrayList(); - List tempList = portalConfigTypes.stream().map(HwPortalConfigType::getConfigTypeId).collect(Collectors.toList()); - for (HwPortalConfigType portalConfigType : portalConfigTypes) { - // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(portalConfigType.getParentId())) { - recursionFn(portalConfigTypes, portalConfigType); - returnList.add(portalConfigType); - } - } - if (returnList.isEmpty()) { - returnList = portalConfigTypes; - } - return returnList; - } - - - /** - * 递归列表 - */ - private void recursionFn(List list, HwPortalConfigType t) { - // 得到子节点列表 - List childList = getChildList(list, t); - t.setChildren(childList); - for (HwPortalConfigType tChild : childList) { - if (hasChild(list, tChild)) { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List getChildList(List list, HwPortalConfigType t) { - List tlist = new ArrayList(); - Iterator it = list.iterator(); - while (it.hasNext()) { - HwPortalConfigType n = (HwPortalConfigType) it.next(); - if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getConfigTypeId().longValue()) { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List list, HwPortalConfigType t) { - return getChildList(list, t).size() > 0 ? true : false; - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwProductCaseInfoServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.portal.domain.HwProductCaseInfo; -import com.ruoyi.portal.mapper.HwProductCaseInfoMapper; -import com.ruoyi.portal.service.IHwProductCaseInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 案例内容Service业务层处理 - * - * @author xins - * @date 2024-12-01 - */ -@Service -public class HwProductCaseInfoServiceImpl implements IHwProductCaseInfoService -{ - @Autowired - private HwProductCaseInfoMapper hwProductCaseInfoMapper; - - /** - * 查询案例内容 - * - * @param caseInfoId 案例内容主键 - * @return 案例内容 - */ - @Override - public HwProductCaseInfo selectHwProductCaseInfoByCaseInfoId(Long caseInfoId) - { - return hwProductCaseInfoMapper.selectHwProductCaseInfoByCaseInfoId(caseInfoId); - } - - /** - * 查询案例内容列表 - * - * @param hwProductCaseInfo 案例内容 - * @return 案例内容 - */ - @Override - public List selectHwProductCaseInfoList(HwProductCaseInfo hwProductCaseInfo) - { - return hwProductCaseInfoMapper.selectHwProductCaseInfoList(hwProductCaseInfo); - } - - /** - * 新增案例内容 - * - * @param hwProductCaseInfo 案例内容 - * @return 结果 - */ - @Override - public int insertHwProductCaseInfo(HwProductCaseInfo hwProductCaseInfo) - { - hwProductCaseInfo.setCreateTime(DateUtils.getNowDate()); - return hwProductCaseInfoMapper.insertHwProductCaseInfo(hwProductCaseInfo); - } - - /** - * 修改案例内容 - * - * @param hwProductCaseInfo 案例内容 - * @return 结果 - */ - @Override - public int updateHwProductCaseInfo(HwProductCaseInfo hwProductCaseInfo) - { - hwProductCaseInfo.setUpdateTime(DateUtils.getNowDate()); - return hwProductCaseInfoMapper.updateHwProductCaseInfo(hwProductCaseInfo); - } - - /** - * 批量删除案例内容 - * - * @param caseInfoIds 需要删除的案例内容主键 - * @return 结果 - */ - @Override - public int deleteHwProductCaseInfoByCaseInfoIds(Long[] caseInfoIds) - { - return hwProductCaseInfoMapper.deleteHwProductCaseInfoByCaseInfoIds(caseInfoIds); - } - - /** - * 删除案例内容信息 - * - * @param caseInfoId 案例内容主键 - * @return 结果 - */ - @Override - public int deleteHwProductCaseInfoByCaseInfoId(Long caseInfoId) - { - return hwProductCaseInfoMapper.deleteHwProductCaseInfoByCaseInfoId(caseInfoId); - } - - /** - * 根据configTypeId获取首页典型案例 - * @param hwProductCaseInfo - * @return - */ - @Override - public HwProductCaseInfo getTypicalHomeCaseInfo(HwProductCaseInfo hwProductCaseInfo){ - hwProductCaseInfo.setHomeTypicalFlag("1"); - List productCaseInfoList = hwProductCaseInfoMapper.selectHwProductCaseInfoList(hwProductCaseInfo); - List typicalProductCaseInfoList = productCaseInfoList.stream().filter(pci -> pci.getTypicalFlag().equals("1")).collect(Collectors.toList()); - if(typicalProductCaseInfoList!=null && ! typicalProductCaseInfoList.isEmpty()){ - return typicalProductCaseInfoList.get(0); - }else if (productCaseInfoList!=null && !productCaseInfoList.isEmpty()){ - return productCaseInfoList.get(0); - } - return new HwProductCaseInfo(); - } - - - /** - * 查询案例内容列表,join portalConfigType - * - * @param hwProductCaseInfo 案例内容 - * @return 案例内容 - */ - @Override - public List selectHwProductCaseInfoJoinList(HwProductCaseInfo hwProductCaseInfo) - { - return hwProductCaseInfoMapper.selectHwProductCaseInfoJoinList(hwProductCaseInfo); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwProductInfoDetailServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.portal.domain.HwPortalConfigType; -import com.ruoyi.portal.domain.HwProductInfoDetail; -import com.ruoyi.portal.mapper.HwProductInfoDetailMapper; -import com.ruoyi.portal.service.IHwProductInfoDetailService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 产品信息明细配置Service业务层处理 - * - * @author xins - * @date 2024-12-11 - */ -@Service -public class HwProductInfoDetailServiceImpl implements IHwProductInfoDetailService -{ - @Autowired - private HwProductInfoDetailMapper hwProductInfoDetailMapper; - - /** - * 查询产品信息明细配置 - * - * @param productInfoDetailId 产品信息明细配置主键 - * @return 产品信息明细配置 - */ - @Override - public HwProductInfoDetail selectHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId) - { - return hwProductInfoDetailMapper.selectHwProductInfoDetailByProductInfoDetailId(productInfoDetailId); - } - - /** - * 查询产品信息明细配置列表 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 产品信息明细配置 - */ - @Override - public List selectHwProductInfoDetailList(HwProductInfoDetail hwProductInfoDetail) - { - return hwProductInfoDetailMapper.selectHwProductInfoDetailList(hwProductInfoDetail); - } - - /** - * 新增产品信息明细配置 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 结果 - */ - @Override - public int insertHwProductInfoDetail(HwProductInfoDetail hwProductInfoDetail) - { - if (hwProductInfoDetail.getParentId() == null) { - hwProductInfoDetail.setParentId(0L); - hwProductInfoDetail.setAncestors("0"); - }else if(hwProductInfoDetail.getParentId() == 0L) { - hwProductInfoDetail.setParentId(0L); - hwProductInfoDetail.setAncestors("0"); - } else { - HwProductInfoDetail info = hwProductInfoDetailMapper.selectHwProductInfoDetailByProductInfoDetailId(hwProductInfoDetail.getParentId()); - - hwProductInfoDetail.setAncestors(info.getAncestors() + "," + hwProductInfoDetail.getParentId()); - } - - hwProductInfoDetail.setCreateTime(DateUtils.getNowDate()); - hwProductInfoDetail.setCreateBy(SecurityUtils.getUsername()); - - return hwProductInfoDetailMapper.insertHwProductInfoDetail(hwProductInfoDetail); - } - - /** - * 修改产品信息明细配置 - * - * @param hwProductInfoDetail 产品信息明细配置 - * @return 结果 - */ - @Override - public int updateHwProductInfoDetail(HwProductInfoDetail hwProductInfoDetail) - { - hwProductInfoDetail.setUpdateTime(DateUtils.getNowDate()); - return hwProductInfoDetailMapper.updateHwProductInfoDetail(hwProductInfoDetail); - } - - /** - * 批量删除产品信息明细配置 - * - * @param productInfoDetailIds 需要删除的产品信息明细配置主键 - * @return 结果 - */ - @Override - public int deleteHwProductInfoDetailByProductInfoDetailIds(Long[] productInfoDetailIds) - { - return hwProductInfoDetailMapper.deleteHwProductInfoDetailByProductInfoDetailIds(productInfoDetailIds); - } - - /** - * 删除产品信息明细配置信息 - * - * @param productInfoDetailId 产品信息明细配置主键 - * @return 结果 - */ - @Override - public int deleteHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId) - { - return hwProductInfoDetailMapper.deleteHwProductInfoDetailByProductInfoDetailId(productInfoDetailId); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwProductInfoServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.constant.HwPortalConstants; -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.portal.domain.HwProductInfo; -import com.ruoyi.portal.domain.HwProductInfoDetail; -import com.ruoyi.portal.mapper.HwProductInfoMapper; -import com.ruoyi.portal.service.IHwProductInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 产品信息配置Service业务层处理 - * - * @author xins - * @date 2024-12-01 - */ -@Service -public class HwProductInfoServiceImpl implements IHwProductInfoService -{ - @Autowired - private HwProductInfoMapper hwProductInfoMapper; - - /** - * 查询产品信息配置 - * - * @param productInfoId 产品信息配置主键 - * @return 产品信息配置 - */ - @Override - public HwProductInfo selectHwProductInfoByProductInfoId(Long productInfoId) - { - return hwProductInfoMapper.selectHwProductInfoByProductInfoId(productInfoId); - } - - /** - * 查询产品信息配置列表 - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置 - */ - @Override - public List selectHwProductInfoList(HwProductInfo hwProductInfo) - { - return hwProductInfoMapper.selectHwProductInfoList(hwProductInfo); - } - - /** - * 新增产品信息配置 - * - * @param hwProductInfo 产品信息配置 - * @return 结果 - */ - @Override - public int insertHwProductInfo(HwProductInfo hwProductInfo) - { - hwProductInfo.setCreateTime(DateUtils.getNowDate()); - return hwProductInfoMapper.insertHwProductInfo(hwProductInfo); - } - - /** - * 修改产品信息配置 - * - * @param hwProductInfo 产品信息配置 - * @return 结果 - */ - @Override - public int updateHwProductInfo(HwProductInfo hwProductInfo) - { - hwProductInfo.setUpdateTime(DateUtils.getNowDate()); - return hwProductInfoMapper.updateHwProductInfo(hwProductInfo); - } - - /** - * 批量删除产品信息配置 - * - * @param productInfoIds 需要删除的产品信息配置主键 - * @return 结果 - */ - @Override - public int deleteHwProductInfoByProductInfoIds(Long[] productInfoIds) - { - return hwProductInfoMapper.deleteHwProductInfoByProductInfoIds(productInfoIds); - } - - /** - * 删除产品信息配置信息 - * - * @param productInfoId 产品信息配置主键 - * @return 结果 - */ - @Override - public int deleteHwProductInfoByProductInfoId(Long productInfoId) - { - return hwProductInfoMapper.deleteHwProductInfoByProductInfoId(productInfoId); - } - - - /** - * 获取产品中心产品信息(平台简介,hw_product_info获取,(配置模式2左标题+内容,右图片)读取中文标题和英文标题,下面内容从hw_product_info_detail获取,读取标题,内容和图片) - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置 - */ - @Override - public List selectHwProductInfoJoinDetailList(HwProductInfo hwProductInfo) - { - List hwProductInfoJoinDetailList = hwProductInfoMapper.selectHwProductInfoJoinDetailList(hwProductInfo); - - // 若配置模式configModal为13,hwProductInfoDetailList应该变为树形结构 - if ("13".equals(hwProductInfo.getConfigModal())) { - for (HwProductInfo productInfo : hwProductInfoJoinDetailList) { - if (productInfo.getHwProductInfoDetailList() != null && !productInfo.getHwProductInfoDetailList().isEmpty()) { - // 将每个产品信息的明细列表转换为树形结构 - List treeStructureList = buildProductInfoDetailTree(productInfo.getHwProductInfoDetailList()); - productInfo.setHwProductInfoDetailList(treeStructureList); - } - } - } - - for (HwProductInfo productInfo : hwProductInfoJoinDetailList) { - List hwProductInfoDetailList = productInfo.getHwProductInfoDetailList(); - for (HwProductInfoDetail hwProductInfoDetail : hwProductInfoDetailList) { - if ("13".equals(hwProductInfoDetail.getConfigModel())){ - // 将每个产品信息的明细列表转换为树形结构 - List treeStructureList = buildProductInfoDetailTree(productInfo.getHwProductInfoDetailList()); - productInfo.setHwProductInfoDetailList(treeStructureList); - } - } - } - - return hwProductInfoJoinDetailList; - } - - - - /** - * 构建前端所需要树结构 - * - * @param productInfoDetails 产品明细列表 - * @return 树结构列表 - */ - public List buildProductInfoDetailTree(List productInfoDetails) { - List returnList = new ArrayList<>(); - List tempList = productInfoDetails.stream().map(HwProductInfoDetail::getProductInfoDetailId).collect(Collectors.toList()); - for (HwProductInfoDetail hwProductInfoDetail : productInfoDetails) { -/* // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(hwProductInfoDetail.getParentId())) {*/ - // 如果是顶级节点(parentId为null、0或者不在当前列表中), 遍历该父节点的所有子节点 - if (hwProductInfoDetail.getParentId() == null || hwProductInfoDetail.getParentId() == 0L || !tempList.contains(hwProductInfoDetail.getParentId())) { - recursionFn(productInfoDetails, hwProductInfoDetail); - returnList.add(hwProductInfoDetail); - } - } - if (returnList.isEmpty()) { - returnList = productInfoDetails; - } - return returnList; - } - - /** - * 递归列表 - */ - private void recursionFn(List list, HwProductInfoDetail t) { - // 得到子节点列表 - List childList = getChildList(list, t); - // 设置TreeEntity的children字段 - t.setChildren(childList); - // 设置HwProductInfoDetail的hwProductInfoDetailList字段 - t.setHwProductInfoDetailList(childList); - - for (HwProductInfoDetail tChild : childList) { - if (hasChild(list, tChild)) { - recursionFn(list, tChild); - } - } - } - - - /** - * 得到子节点列表 - */ - private List getChildList(List list, HwProductInfoDetail t) { - List tlist = new ArrayList(); - Iterator it = list.iterator(); - while (it.hasNext()) { - HwProductInfoDetail n = (HwProductInfoDetail) it.next(); - if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getProductInfoDetailId().longValue()) { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List list, HwProductInfoDetail t) { - return getChildList(list, t).size() > 0 ? true : false; - } - - - /** - * 查询产品信息配置列表,join portalConfigType - * - * @param hwProductInfo 产品信息配置 - * @return 产品信息配置 - */ - @Override - public List selectHwProductInfoJoinList(HwProductInfo hwProductInfo) - { - return hwProductInfoMapper.selectHwProductInfoJoinList(hwProductInfo); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwWebDocumentServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import java.util.List; - -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.portal.mapper.HwWebDocumentMapper; -import com.ruoyi.portal.domain.HwWebDocument; -import com.ruoyi.portal.service.IHwWebDocumentService; - -/** - * Hw资料文件Service业务层处理 - * - * @author zch - * @date 2025-09-22 - */ -@Service -public class HwWebDocumentServiceImpl implements IHwWebDocumentService -{ - @Autowired - private HwWebDocumentMapper hwWebDocumentMapper; - - /** - * 查询Hw资料文件 - * - * @param documentId Hw资料文件主键 - * @return Hw资料文件 - */ - @Override - public HwWebDocument selectHwWebDocumentByDocumentId(String documentId) - { - return hwWebDocumentMapper.selectHwWebDocumentByDocumentId(documentId); - } - - /** - * 查询Hw资料文件列表 - * - * @param hwWebDocument Hw资料文件 - * @return Hw资料文件 - */ - @Override - public List selectHwWebDocumentList(HwWebDocument hwWebDocument) - { - return hwWebDocumentMapper.selectHwWebDocumentList(hwWebDocument); - } - - /** - * 新增Hw资料文件 - * - * @param hwWebDocument Hw资料文件 - * @return 结果 - */ - @Override - public int insertHwWebDocument(HwWebDocument hwWebDocument) - { - hwWebDocument.setCreateTime(DateUtils.getNowDate()); - return hwWebDocumentMapper.insertHwWebDocument(hwWebDocument); - } - - /** - * 修改Hw资料文件 - * - * @param hwWebDocument Hw资料文件 - * @return 结果 - */ - @Override - public int updateHwWebDocument(HwWebDocument hwWebDocument) - { - // 特殊处理 secretKey:前端不传或传 null 时清空数据库密钥 - // 将 null 转换为空字符串,触发 Mapper 更新条件 - if (hwWebDocument.getSecretKey() == null) { - hwWebDocument.setSecretKey(""); - } - - return hwWebDocumentMapper.updateHwWebDocument(hwWebDocument); - } - - /** - * 批量删除Hw资料文件 - * - * @param documentIds 需要删除的Hw资料文件主键 - * @return 结果 - */ - @Override - public int deleteHwWebDocumentByDocumentIds(String[] documentIds) - { - return hwWebDocumentMapper.deleteHwWebDocumentByDocumentIds(documentIds); - } - - /** - * 删除Hw资料文件信息 - * - * @param documentId Hw资料文件主键 - * @return 结果 - */ - @Override - public int deleteHwWebDocumentByDocumentId(String documentId) - { - return hwWebDocumentMapper.deleteHwWebDocumentByDocumentId(documentId); - } - - @Override - public String verifyAndGetDocumentAddress(String documentId, String providedKey) throws Exception { - HwWebDocument document = selectHwWebDocumentByDocumentId(documentId); - if (document == null) { - throw new ServiceException("文件不存在"); - } - String secretKey = document.getSecretKey(); - String address = document.getDocumentAddress(); - - // 若数据库密钥为空,则直接返回文件地址 - if (secretKey == null || secretKey.trim().isEmpty()) { - return address; - } - - // 若密钥不为空,则需要验证提供的密钥是否相等 - String trimmedProvided = providedKey == null ? null : providedKey.trim(); - if (trimmedProvided == null || trimmedProvided.isEmpty()) { - throw new ServiceException("密钥不能为空"); - } - - if (secretKey.trim().equals(trimmedProvided)) { - return address; - } else { - throw new ServiceException("密钥错误"); - } - } - - -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwWebMenuServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; - -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.portal.domain.HwProductInfoDetail; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.portal.mapper.HwWebMenuMapper; -import com.ruoyi.portal.domain.HwWebMenu; -import com.ruoyi.portal.service.IHwWebMenuService; - -/** - * haiwei官网菜单Service业务层处理 - * - * @author zch - * @date 2025-08-18 - */ -@Service -public class HwWebMenuServiceImpl implements IHwWebMenuService -{ - @Autowired - private HwWebMenuMapper hwWebMenuMapper; - - /** - * 查询haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return haiwei官网菜单 - */ - @Override - public HwWebMenu selectHwWebMenuByWebMenuId(Long webMenuId) - { - return hwWebMenuMapper.selectHwWebMenuByWebMenuId(webMenuId); - } - - /** - * 查询haiwei官网菜单列表 - * - * @param hwWebMenu haiwei官网菜单 - * @return haiwei官网菜单 - */ - @Override - public List selectHwWebMenuList(HwWebMenu hwWebMenu) - { - List hwWebMenus = hwWebMenuMapper.selectHwWebMenuList(hwWebMenu); - return hwWebMenus; - } - - /** - * 获取菜单树列表 - */ - @Override - public List selectMenuTree(HwWebMenu hwWebMenu) - { - List hwWebMenus = hwWebMenuMapper.selectHwWebMenuList(hwWebMenu); - return buildWebMenuTree(hwWebMenus); - } - - /** - * 新增haiwei官网菜单 - * - * @param hwWebMenu haiwei官网菜单 - * @return 结果 - */ - @Override - public int insertHwWebMenu(HwWebMenu hwWebMenu) - { - return hwWebMenuMapper.insertHwWebMenu(hwWebMenu); - } - - /** - * 修改haiwei官网菜单 - * - * @param hwWebMenu haiwei官网菜单 - * @return 结果 - */ - @Override - public int updateHwWebMenu(HwWebMenu hwWebMenu) - { - return hwWebMenuMapper.updateHwWebMenu(hwWebMenu); - } - - /** - * 批量删除haiwei官网菜单 - * - * @param webMenuIds 需要删除的haiwei官网菜单主键 - * @return 结果 - */ - @Override - public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds) - { - return hwWebMenuMapper.deleteHwWebMenuByWebMenuIds(webMenuIds); - } - - /** - * 删除haiwei官网菜单信息 - * - * @param webMenuId haiwei官网菜单主键 - * @return 结果 - */ - @Override - public int deleteHwWebMenuByWebMenuId(Long webMenuId) - { - return hwWebMenuMapper.deleteHwWebMenuByWebMenuId(webMenuId); - } - -/** - * 构建前端所需要树结构(根据传入的平铺菜单列表构造树) - * - * @param menus 菜单列表 - * @return 树结构列表 - */ - public List buildWebMenuTree(List menus) { - List returnList = new ArrayList<>(); - List tempList = menus.stream().map(HwWebMenu::getWebMenuId).collect(Collectors.toList()); - for (HwWebMenu menu : menus) { - // 如果是顶级节点(parent为null、0或者不在当前列表中), 遍历该父节点的所有子节点 - if (menu.getParent() == null || menu.getParent() == 0L || !tempList.contains(menu.getParent())) { - recursionFn(menus, menu); - returnList.add(menu); - } - } - if (returnList.isEmpty()) { - returnList = menus; - } - return returnList; - } - - /** - * 递归设置子节点 - */ - private void recursionFn(List list, HwWebMenu t) { - // 得到子节点列表 - List childList = getChildList(list, t); - t.setChildren(childList); - for (HwWebMenu tChild : childList) { - if (hasChild(list, tChild)) { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List getChildList(List list, HwWebMenu t) { - List tlist = new ArrayList(); - Iterator it = list.iterator(); - while (it.hasNext()) { - HwWebMenu n = it.next(); - if (StringUtils.isNotNull(n.getParent()) && n.getParent().longValue() == t.getWebMenuId().longValue()) { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List list, HwWebMenu t) { - return !getChildList(list, t).isEmpty(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwWebMenuServiceImpl1.java -```java -package com.ruoyi.portal.service.impl; - -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.portal.domain.HwWebMenu1; -import com.ruoyi.portal.mapper.HwWebMenuMapper1; -import com.ruoyi.portal.service.IHwWebMenuService1; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Collectors; - -/** - * haiwei官网菜单Service业务层处理 - * - * @author zch - * @date 2025-08-18 - */ -@Service -public class HwWebMenuServiceImpl1 implements IHwWebMenuService1 -{ - @Autowired - private HwWebMenuMapper1 HwWebMenuMapper1; - - /** - * 查询haiwei官网菜单 - * - * @param webMenuId haiwei官网菜单主键 - * @return haiwei官网菜单 - */ - @Override - public HwWebMenu1 selectHwWebMenuByWebMenuId(Long webMenuId) - { - return HwWebMenuMapper1.selectHwWebMenuByWebMenuId(webMenuId); - } - - /** - * 查询haiwei官网菜单列表 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return haiwei官网菜单 - */ - @Override - public List selectHwWebMenuList(HwWebMenu1 HwWebMenu1) - { - List hwWebMenus = HwWebMenuMapper1.selectHwWebMenuList(HwWebMenu1); - return hwWebMenus; - } - - /** - * 获取菜单树列表 - */ - @Override - public List selectMenuTree(HwWebMenu1 HwWebMenu1) - { - List hwWebMenus = HwWebMenuMapper1.selectHwWebMenuList(HwWebMenu1); - return buildWebMenuTree(hwWebMenus); - } - - /** - * 新增haiwei官网菜单 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return 结果 - */ - @Override - public int insertHwWebMenu(HwWebMenu1 HwWebMenu1) - { - return HwWebMenuMapper1.insertHwWebMenu(HwWebMenu1); - } - - /** - * 修改haiwei官网菜单 - * - * @param HwWebMenu1 haiwei官网菜单 - * @return 结果 - */ - @Override - public int updateHwWebMenu(HwWebMenu1 HwWebMenu1) - { - return HwWebMenuMapper1.updateHwWebMenu(HwWebMenu1); - } - - /** - * 批量删除haiwei官网菜单 - * - * @param webMenuIds 需要删除的haiwei官网菜单主键 - * @return 结果 - */ - @Override - public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds) - { - return HwWebMenuMapper1.deleteHwWebMenuByWebMenuIds(webMenuIds); - } - - /** - * 删除haiwei官网菜单信息 - * - * @param webMenuId haiwei官网菜单主键 - * @return 结果 - */ - @Override - public int deleteHwWebMenuByWebMenuId(Long webMenuId) - { - return HwWebMenuMapper1.deleteHwWebMenuByWebMenuId(webMenuId); - } - -/** - * 构建前端所需要树结构(根据传入的平铺菜单列表构造树) - * - * @param menus 菜单列表 - * @return 树结构列表 - */ - public List buildWebMenuTree(List menus) { - List returnList = new ArrayList<>(); - List tempList = menus.stream().map(HwWebMenu1::getWebMenuId).collect(Collectors.toList()); - for (HwWebMenu1 menu : menus) { - // 如果是顶级节点(parent为null、0或者不在当前列表中), 遍历该父节点的所有子节点 - if (menu.getParent() == null || menu.getParent() == 0L || !tempList.contains(menu.getParent())) { - recursionFn(menus, menu); - returnList.add(menu); - } - } - if (returnList.isEmpty()) { - returnList = menus; - } - return returnList; - } - - /** - * 递归设置子节点 - */ - private void recursionFn(List list, HwWebMenu1 t) { - // 得到子节点列表 - List childList = getChildList(list, t); - t.setChildren(childList); - for (HwWebMenu1 tChild : childList) { - if (hasChild(list, tChild)) { - recursionFn(list, tChild); - } - } - } - - /** - * 得到子节点列表 - */ - private List getChildList(List list, HwWebMenu1 t) { - List tlist = new ArrayList(); - Iterator it = list.iterator(); - while (it.hasNext()) { - HwWebMenu1 n = it.next(); - if (StringUtils.isNotNull(n.getParent()) && n.getParent().longValue() == t.getWebMenuId().longValue()) { - tlist.add(n); - } - } - return tlist; - } - - /** - * 判断是否有子节点 - */ - private boolean hasChild(List list, HwWebMenu1 t) { - return !getChildList(list, t).isEmpty(); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwWebServiceImpl.java -```java -package com.ruoyi.portal.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.portal.mapper.HwWebMapper; -import com.ruoyi.portal.domain.HwWeb; -import com.ruoyi.portal.service.IHwWebService; -import org.springframework.transaction.annotation.Transactional; - -/** - * haiwei官网jsonService业务层处理 - * - * @author ruoyi - * @date 2025-08-18 - */ -@Service -public class HwWebServiceImpl implements IHwWebService -{ - @Autowired - private HwWebMapper hwWebMapper; - - /** - * 查询haiwei官网json - * - * @param webId haiwei官网json主键 - * @return haiwei官网json - */ - @Override - public HwWeb selectHwWebByWebcode(Long webCode) - { - HwWeb hwWeb = hwWebMapper.selectHwWebByWebcode(webCode); - return hwWeb; - } - - - /** - * 查询haiwei官网json列表 - * - * @param hwWeb haiwei官网json - * @return haiwei官网json - */ - @Override - public List selectHwWebList(HwWeb hwWeb) - { - return hwWebMapper.selectHwWebList(hwWeb); - } - - /** - * 新增haiwei官网json - * - * @param hwWeb haiwei官网json - * @return 结果 - */ - @Override - public int insertHwWeb(HwWeb hwWeb) - { - return hwWebMapper.insertHwWeb(hwWeb); - } - - /** - * 修改haiwei官网json - * - * @param hwWeb haiwei官网json - * @return 结果 - */ - @Override - @Transactional( rollbackFor = Exception.class ) - public int updateHwWeb(HwWeb hwWeb) - { - HwWeb codeWeb = new HwWeb(); - //编号唯一 - codeWeb.setWebCode(hwWeb.getWebCode()); - List exists = hwWebMapper.selectHwWebList(codeWeb); - if (!exists.isEmpty()) { - Long[] webIds = exists.stream().map(HwWeb::getWebId).toArray(Long[]::new); - //逻辑删除旧纪录 - hwWebMapper.deleteHwWebByWebIds(webIds); - } - // 插入新记录,避免复用旧主键 - // hwWeb.setWebId(null); - hwWeb.setIsDelete("0"); - return hwWebMapper.insertHwWeb(hwWeb); - } - - /** - * 批量删除haiwei官网json - * - * @param webIds 需要删除的haiwei官网json主键 - * @return 结果 - */ - @Override - public int deleteHwWebByWebIds(Long[] webIds) - { - return hwWebMapper.deleteHwWebByWebIds(webIds); - } - - /** - * 删除haiwei官网json信息 - * - * @param webId haiwei官网json主键 - * @return 结果 - */ - @Override - public int deleteHwWebByWebId(Long webId) - { - return hwWebMapper.deleteHwWebByWebId(webId); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\java\com\ruoyi\portal\service\impl\HwWebServiceImpl1.java -```java -package com.ruoyi.portal.service.impl; - - -import com.ruoyi.portal.mapper.HwWebMapper1; -import com.ruoyi.portal.service.IHwWebService1; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import java.util.List; -import com.ruoyi.portal.domain.HwWeb1; -import com.ruoyi.portal.domain.HwWeb; -import org.springframework.transaction.annotation.Transactional; - -/** - * haiwei官网jsonService业务层处理 - * - * @author ruoyi - * @date 2025-08-18 - */ -@Service -public class HwWebServiceImpl1 implements IHwWebService1 -{ - @Autowired - private HwWebMapper1 hwWebMapper1; - - /** - * 查询haiwei官网json - * - * @param webId haiwei官网json主键 - * @return haiwei官网json - */ - @Override - public HwWeb1 selectHwWebByWebcode(Long webCode) - { - return hwWebMapper1.selectHwWebByWebcode(webCode); - } - - @Override - public HwWeb1 selectHwWebOne(HwWeb1 hwWeb1) - { - return hwWebMapper1.selectHwWebOne(hwWeb1); - } - - - /** - * 查询haiwei官网json列表 - * - * @param HwWeb1 haiwei官网json - * @return haiwei官网json - */ - @Override - public List selectHwWebList(HwWeb1 hwWeb1) - { - return hwWebMapper1.selectHwWebList(hwWeb1); - } - - /** - * 新增haiwei官网json - * - * @param HwWeb1 haiwei官网json - * @return 结果 - */ - @Override - public int insertHwWeb(HwWeb1 hwWeb1) - { - return hwWebMapper1.insertHwWeb(hwWeb1); - } - - /** - * 修改haiwei官网json - * - * @param HwWeb1 haiwei官网json - * @return 结果 - */ - @Override - @Transactional( rollbackFor = Exception.class ) - public int updateHwWeb(HwWeb1 hwWeb1) - { - HwWeb1 codeWeb = new HwWeb1(); - // 编号、typeid、deviceID保证唯一 - codeWeb.setWebCode(hwWeb1.getWebCode()); - codeWeb.setTypeId(hwWeb1.getTypeId()); - codeWeb.setDeviceId(hwWeb1.getDeviceId()); - List exists = hwWebMapper1.selectHwWebList(codeWeb); - if (!exists.isEmpty()) { - Long[] webIds = exists.stream().map(HwWeb1::getWebId).toArray(Long[]::new); - //逻辑删除旧纪录 - hwWebMapper1.deleteHwWebByWebIds(webIds); - } - // 插入新记录,避免复用旧主键 - // hwWeb1.setWebId(null); - hwWeb1.setIsDelete("0"); - return hwWebMapper1.insertHwWeb(hwWeb1); - } - - /** - * 批量删除haiwei官网json - * - * @param webIds 需要删除的haiwei官网json主键 - * @return 结果 - */ - @Override - public int deleteHwWebByWebIds(Long[] webIds) - { - return hwWebMapper1.deleteHwWebByWebIds(webIds); - } - - /** - * 删除haiwei官网json信息 - * - * @param webId haiwei官网json主键 - * @return 结果 - */ - @Override - public int deleteHwWebByWebId(Long webId) - { - return hwWebMapper1.deleteHwWebByWebId(webId); - } -} -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwAboutUsInfoDetailMapper.xml -```xml - - - - - - - - - - - - - - - - - - - select us_info_detail_id, about_us_info_id, us_info_detail_title, us_info_detail_desc, us_info_detail_order, us_info_detail_pic, create_time, create_by, update_time, update_by from hw_about_us_info_detail - - - - - - - - insert into hw_about_us_info_detail - - about_us_info_id, - us_info_detail_title, - us_info_detail_desc, - us_info_detail_order, - us_info_detail_pic, - create_time, - create_by, - update_time, - update_by, - - - #{aboutUsInfoId}, - #{usInfoDetailTitle}, - #{usInfoDetailDesc}, - #{usInfoDetailOrder}, - #{usInfoDetailPic}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_about_us_info_detail - - about_us_info_id = #{aboutUsInfoId}, - us_info_detail_title = #{usInfoDetailTitle}, - us_info_detail_desc = #{usInfoDetailDesc}, - us_info_detail_order = #{usInfoDetailOrder}, - us_info_detail_pic = #{usInfoDetailPic}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where us_info_detail_id = #{usInfoDetailId} - - - - delete from hw_about_us_info_detail where us_info_detail_id = #{usInfoDetailId} - - - - delete from hw_about_us_info_detail where us_info_detail_id in - - #{usInfoDetailId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwAboutUsInfoMapper.xml -```xml - - - - - - - - - - - - - - - - - - - - - select about_us_info_id, about_us_info_type, about_us_info_title, about_us_info_etitle,about_us_info_desc, about_us_info_order,display_modal, about_us_info_pic, create_time, create_by, update_time, update_by from hw_about_us_info - - - - - - - - insert into hw_about_us_info - - about_us_info_type, - about_us_info_etitle, - about_us_info_title, - about_us_info_desc, - about_us_info_order, - display_modal, - about_us_info_pic, - create_time, - create_by, - update_time, - update_by, - - - #{aboutUsInfoType}, - #{aboutUsInfoEtitle}, - #{aboutUsInfoTitle}, - #{aboutUsInfoDesc}, - #{aboutUsInfoOrder}, - #{displayModal}, - #{aboutUsInfoPic}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_about_us_info - - about_us_info_type = #{aboutUsInfoType}, - about_us_info_etitle = #{aboutUsInfoEtitle}, - about_us_info_title = #{aboutUsInfoTitle}, - about_us_info_desc = #{aboutUsInfoDesc}, - about_us_info_order = #{aboutUsInfoOrder}, - display_modal = #{displayModal}, - about_us_info_pic = #{aboutUsInfoPic}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where about_us_info_id = #{aboutUsInfoId} - - - - delete from hw_about_us_info where about_us_info_id = #{aboutUsInfoId} - - - - delete from hw_about_us_info where about_us_info_id in - - #{aboutUsInfoId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwContactUsInfoMapper.xml -```xml - - - - - - - - - - - - - - - - - - - select contact_us_info_id, user_name, user_email, user_phone, user_ip, remark,create_time, create_by, update_time, update_by from hw_contact_us_info - - - - - - - - insert into hw_contact_us_info - - user_name, - user_email, - user_phone, - user_ip, - remark, - create_time, - create_by, - update_time, - update_by, - - - #{userName}, - #{userEmail}, - #{userPhone}, - #{userIp}, - #{remark}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_contact_us_info - - user_name = #{userName}, - user_email = #{userEmail}, - user_phone = #{userPhone}, - user_ip = #{userIp}, - remark = #{remark}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where contact_us_info_id = #{contactUsInfoId} - - - - delete from hw_contact_us_info where contact_us_info_id = #{contactUsInfoId} - - - - delete from hw_contact_us_info where contact_us_info_id in - - #{contactUsInfoId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwPortalConfigMapper.xml -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select portal_config_id, portal_config_type,portal_config_type_id, portal_config_title, portal_config_order, - portal_config_desc, button_name, router_address, portal_config_pic, create_time, create_by, update_time, - update_by - from hw_portal_config - - - - select hpc.portal_config_id, hpc.portal_config_type,hpc.portal_config_type_id, hpc.portal_config_title, hpc.portal_config_order, - hpc.portal_config_desc, hpc.button_name, hpc.router_address, hpc.portal_config_pic, hpc.create_time, hpc.create_by, hpc.update_time, - hpc.update_by, - hpct.config_type_name, - hpct.home_config_type_pic, - hpct.config_type_icon, - hpct.home_config_type_name, - hpct.config_type_classfication, - hpct.parent_id, - hpct.ancestors - from hw_portal_config hpc - left join hw_portal_config_type hpct on hpc.portal_config_type_id = hpct.config_type_id - - - - - - - - - - insert into hw_portal_config - - portal_config_type, - portal_config_type_id, - portal_config_title, - portal_config_order, - portal_config_desc, - button_name, - router_address, - portal_config_pic, - create_time, - create_by, - update_time, - update_by, - - - #{portalConfigType}, - #{portalConfigTypeId}, - #{portalConfigTitle}, - #{portalConfigOrder}, - #{portalConfigDesc}, - #{buttonName}, - #{routerAddress}, - #{portalConfigPic}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_portal_config - - portal_config_type = #{portalConfigType}, - portal_config_type_id = #{portalConfigTypeId}, - portal_config_title = #{portalConfigTitle}, - portal_config_order = #{portalConfigOrder}, - portal_config_desc = #{portalConfigDesc}, - button_name = #{buttonName}, - router_address = #{routerAddress}, - portal_config_pic = #{portalConfigPic}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where portal_config_id = #{portalConfigId} - - - - delete from hw_portal_config where portal_config_id = #{portalConfigId} - - - - delete from hw_portal_config where portal_config_id in - - #{portalConfigId} - - - - - - - select hpc.portal_config_id, hpc.portal_config_type,hpc.portal_config_type_id, - hpc.portal_config_title, hpc.portal_config_order, hpc.portal_config_desc, - hpc.button_name, hpc.router_address, hpc.portal_config_pic, - hpc.create_time, hpc.create_by, hpc.update_time, hpc.update_by,hpct.config_type_name from hw_portal_config hpc - left join hw_portal_config_type hpct on hpc.portal_config_type_id = hpct.config_type_id - - - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwPortalConfigTypeMapper.xml -```xml - - - - - - - - - - - - - - - - - - - - - - select config_type_id, config_type_classfication, config_type_name, home_config_type_name, config_type_desc, config_type_icon, home_config_type_pic, parent_id, ancestors, create_time, create_by, update_time, update_by - from hw_portal_config_type - - - - - - - - insert into hw_portal_config_type - - config_type_classfication, - config_type_name, - home_config_type_name, - config_type_desc, - config_type_icon, - home_config_type_pic, - parent_id, - ancestors, - create_time, - create_by, - update_time, - update_by, - - - #{configTypeClassfication}, - #{configTypeName}, - #{homeConfigTypeName}, - #{configTypeDesc}, - #{configTypeIcon}, - #{homeConfigTypePic}, - #{parentId}, - #{ancestors}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_portal_config_type - - config_type_classfication = #{configTypeClassfication}, - config_type_name = #{configTypeName}, - home_config_type_name = #{homeConfigTypeName}, - config_type_desc = #{configTypeDesc}, - config_type_icon = #{configTypeIcon}, - home_config_type_pic = #{homeConfigTypePic}, - parent_id = #{parentId}, - ancestors = #{ancestors}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where config_type_id = #{configTypeId} - - - - delete from hw_portal_config_type where config_type_id = #{configTypeId} - - - - delete from hw_portal_config_type where config_type_id in - - #{configTypeId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwProductCaseInfoMapper.xml -```xml - - - - - - - - - - - - - - - - - - - - select case_info_id, case_info_title, config_type_id, typical_flag, case_info_desc, case_info_pic, case_info_html, create_time, create_by, update_time, update_by from hw_product_case_info hpci - - - - select case_info_id, case_info_title, config_type_id, typical_flag, case_info_desc, case_info_pic, create_time, create_by, update_time, update_by from hw_product_case_info hpci - - - - - - - - - insert into hw_product_case_info - - case_info_title, - config_type_id, - typical_flag, - case_info_desc, - case_info_pic, - case_info_html, - create_time, - create_by, - update_time, - update_by, - - - #{caseInfoTitle}, - #{configTypeId}, - #{typicalFlag}, - #{caseInfoDesc}, - #{caseInfoPic}, - #{caseInfoHtml}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_product_case_info - - case_info_title = #{caseInfoTitle}, - config_type_id = #{configTypeId}, - typical_flag = #{typicalFlag}, - case_info_desc = #{caseInfoDesc}, - case_info_pic = #{caseInfoPic}, - case_info_html = #{caseInfoHtml}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where case_info_id = #{caseInfoId} - - - - delete from hw_product_case_info where case_info_id = #{caseInfoId} - - - - delete from hw_product_case_info where case_info_id in - - #{caseInfoId} - - - - - - - select hpci.case_info_id, hpci.case_info_title, hpci.config_type_id, hpci.typical_flag, hpci.case_info_desc, hpci.case_info_pic, hpci.create_time, - hpci.create_by, hpci.update_time, hpci.update_by,hpct.config_type_name from hw_product_case_info hpci left join hw_portal_config_type hpct on hpci.config_type_id=hpct.config_type_id - - - - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwProductInfoDetailMapper.xml -```xml - - - - - - - - - - - - - - - - - - - - - - select product_info_detail_id, parent_id, product_info_id, config_modal, product_info_detail_title, product_info_detail_desc, product_info_detail_order, product_info_detail_pic, ancestors, create_time, create_by, update_time, update_by - from hw_product_info_detail - - - - - - - - insert into hw_product_info_detail - - parent_id, - product_info_id, - config_modal, - product_info_detail_title, - product_info_detail_desc, - product_info_detail_order, - product_info_detail_pic, - ancestors, - create_time, - create_by, - update_time, - update_by, - - - #{parentId}, - #{productInfoId}, - #{configModal}, - #{productInfoDetailTitle}, - #{productInfoDetailDesc}, - #{productInfoDetailOrder}, - #{productInfoDetailPic}, - #{ancestors}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_product_info_detail - - parent_id = #{parentId}, - product_info_id = #{productInfoId}, - config_modal = #{configModal}, - product_info_detail_title = #{productInfoDetailTitle}, - product_info_detail_desc = #{productInfoDetailDesc}, - product_info_detail_order = #{productInfoDetailOrder}, - product_info_detail_pic = #{productInfoDetailPic}, - ancestors = #{ancestors}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where product_info_detail_id = #{productInfoDetailId} - - - - delete from hw_product_info_detail where product_info_detail_id = #{productInfoDetailId} - - - - delete from hw_product_info_detail where product_info_detail_id in - - #{productInfoDetailId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwProductInfoMapper.xml -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select product_info_id, config_type_id, tab_flag, config_modal, product_info_etitle, product_info_ctitle, product_info_order, create_time, create_by, update_time, update_by from hw_product_info - - - - - - - - insert into hw_product_info - - config_type_id, - tab_flag, - config_modal, - product_info_etitle, - product_info_ctitle, - product_info_order, - create_time, - create_by, - update_time, - update_by, - - - #{configTypeId}, - #{tabFlag}, - #{configModal}, - #{productInfoEtitle}, - #{productInfoCtitle}, - #{productInfoOrder}, - #{createTime}, - #{createBy}, - #{updateTime}, - #{updateBy}, - - - - - update hw_product_info - - config_type_id = #{configTypeId}, - tab_flag = #{tabFlag}, - config_modal = #{configModal}, - product_info_etitle = #{productInfoEtitle}, - product_info_ctitle = #{productInfoCtitle}, - product_info_order = #{productInfoOrder}, - create_time = #{createTime}, - create_by = #{createBy}, - update_time = #{updateTime}, - update_by = #{updateBy}, - - where product_info_id = #{productInfoId} - - - - delete from hw_product_info where product_info_id = #{productInfoId} - - - - delete from hw_product_info where product_info_id in - - #{productInfoId} - - - - - - - - - - - - - select hpi.product_info_id, hpi.config_type_id, hpi.tab_flag, hpi.config_modal, hpi.product_info_etitle, hpi.product_info_ctitle, hpi.product_info_order, - hpi.create_time, hpi.create_by, hpi.update_time, hpi.update_by,hpct.config_type_name from hw_product_info hpi left join hw_portal_config_type hpct on hpi.config_type_id=hpct.config_type_id - - - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebDocumentMapper.xml -```xml - - - - - - - - - - - - - - - - - - select document_id, tenant_id, document_address, create_time, web_code, secretKey , - json, type, - is_delete - from hw_web_document - - - - - - - - insert into hw_web_document - - document_id, - tenant_id, - document_address, - create_time, - web_code, - secretKey, - json, - type, - is_delete, - - - #{documentId}, - #{tenantId}, - #{documentAddress}, - #{createTime}, - #{webCode}, - #{secretKey}, - #{json}, - #{type}, - - #{isDelete}, - '0', - - - - - - update hw_web_document - - document_id = #{documentId}, - tenant_id = #{tenantId}, - document_address = #{documentAddress}, - create_time = #{createTime}, - web_code = #{webCode}, - - secretKey = - NULL - #{secretKey} - , - - json = #{json}, - type = #{type}, - - where document_id = #{documentId} - - - - update hw_web_document set is_delete = '1' where document_id = #{documentId} - - - - update hw_web_document set is_delete = '1' where document_id in - - #{documentId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMapper.xml -```xml - - - - - - - - - - - - - - - select web_id, web_json, web_json_string, web_code, - web_json_english, - is_delete - from hw_web - - - - - - - - insert into hw_web - - web_json, - web_json_string, - web_code, - web_json_english, - is_delete, - - - #{webJson}, - #{webJsonString}, - #{webCode}, - #{webJsonEnglish}, - - #{isDelete}, - '0', - - - - - - update hw_web - - web_json = #{webJson}, - web_json_string = #{webJsonString}, - - web_json_english = #{webJsonEnglish}, - - where web_code = #{webCode} - - - - update hw_web set is_delete = '1' where web_id = #{webId} - - - - update hw_web set is_delete = '1' where web_id in - - #{webId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMapper1.xml -```xml - - - - - - - - - - - - - - - - - select web_id, web_json, web_json_string, web_code, - device_id, typeId, web_json_english, - is_delete - from hw_web1 - - - - - - - - - - insert into hw_web1 - - web_json, - web_json_string, - web_code, - device_id, - typeId, - web_json_english, - is_delete, - - - #{webJson}, - #{webJsonString}, - #{webCode}, - #{deviceId}, - #{typeId}, - #{webJsonEnglish}, - - #{isDelete}, - '0', - - - - - - update hw_web1 - - web_json = #{webJson}, - web_json_string = #{webJsonString}, - - - - web_json_english = #{webJsonEnglish}, - - where web_code = #{webCode} - and device_id = #{deviceId} - and typeId = #{typeId} - - - - update hw_web1 set is_delete = '1' where web_id = #{webId} - - - - update hw_web1 set is_delete = '1' where web_id in - - #{webId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMenuMapper.xml -```xml - - - - - - - - - - - - - - - - - - - select web_menu_id, parent, ancestors, status, web_menu_name, tenant_id, web_menu__pic, web_menu_type, - web_menu_name_english, - is_delete - from hw_web_menu - - - - - - - - insert into hw_web_menu - - web_menu_id, - parent, - ancestors, - status, - web_menu_name, - tenant_id, - web_menu__pic, - web_menu_type, - web_menu_name_english, - is_delete, - - - #{webMenuId}, - #{parent}, - #{ancestors}, - #{status}, - #{webMenuName}, - #{tenantId}, - #{webMenuPic}, - #{webMenuType}, - #{webMenuNameEnglish}, - - #{isDelete}, - '0', - - - - - - update hw_web_menu - - parent = #{parent}, - ancestors = #{ancestors}, - status = #{status}, - web_menu_name = #{webMenuName}, - tenant_id = #{tenantId}, - web_menu__pic = #{webMenuPic}, - web_menu_type = #{webMenuType}, - web_menu_name_english = #{webMenuNameEnglish}, - - where web_menu_id = #{webMenuId} - - - - update hw_web_menu set is_delete = '1' where web_menu_id = #{webMenuId} - - - - update hw_web_menu set is_delete = '1' where web_menu_id in - - #{webMenuId} - - - -``` - -### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMenuMapper1.xml -```xml - - - - - - - - - - - - - - - - - - - - select web_menu_id, parent, ancestors, status, web_menu_name, tenant_id, web_menu__pic, - value, - web_menu_type, - web_menu_name_english, - is_delete - from hw_web_menu1 - - - - - - - - insert into hw_web_menu1 - - web_menu_id, - parent, - ancestors, - status, - web_menu_name, - tenant_id, - web_menu__pic, - web_menu_type, - value, - web_menu_name_english, - is_delete, - - - #{webMenuId}, - #{parent}, - #{ancestors}, - #{status}, - #{webMenuName}, - #{tenantId}, - #{webMenuPic}, - #{webMenuType}, - #{value}, - #{webMenuNameEnglish}, - - #{isDelete}, - '0', - - - - - - update hw_web_menu1 - - parent = #{parent}, - ancestors = #{ancestors}, - status = #{status}, - web_menu_name = #{webMenuName}, - tenant_id = #{tenantId}, - web_menu__pic = #{webMenuPic}, - web_menu_type = #{webMenuType}, - value = #{value}, - web_menu_name_english = #{webMenuNameEnglish}, - - where web_menu_id = #{webMenuId} - - - - update hw_web_menu1 set is_delete = '1' where web_menu_id = #{webMenuId} - - - - update hw_web_menu1 set is_delete = '1' where web_menu_id in - - #{webMenuId} - - - -``` - -## 9. 工具类差异分析补充(基于 AGENTS.md 与当前单体代码) - -### 9.1 基线结论 -- 按 `AGENTS.md` 的模块定位,`ruoyi-common` 是当前单体的通用契约与工具中心,`StringUtils/AjaxResult/BaseController/SecurityUtils/ExcelUtil` 属于高频复用基础能力。 -- `hw-portal` 与当前项目同为 `ruoyi-vue` 体系,接口返回类型 `AjaxResult/TableDataInfo`、实体基类 `BaseEntity/TreeEntity` 的语义保持一致,迁移主要是包路径与注解体系适配,而不是重写业务逻辑。 -- 当前项目已集成 MyBatis-Plus(`ruoyi-common/pom.xml` + `MybatisPlusConfig` + `application.yml`),但本次迁移仍以 MyBatis XML 为主,`hw-portal` 的逻辑删除继续保留为 Mapper SQL(`update ... set is_delete='1'`),不改成 `@TableLogic`。 - -### 9.2 关键工具类与注解差异矩阵 -| `hw-portal` 旧引用 | 当前单体可用引用 | 迁移动作 | -|---|---|---| -| `com.ruoyi.common.core.web.controller.BaseController` | `com.ruoyi.common.core.controller.BaseController` | 改 import,方法如 `startPage/getDataTable/toAjax` 保持原用法 | -| `com.ruoyi.common.core.web.domain.AjaxResult` | `com.ruoyi.common.core.domain.AjaxResult` | 改 import,返回结构保持一致 | -| `com.ruoyi.common.core.web.page.TableDataInfo` | `com.ruoyi.common.core.page.TableDataInfo` | 改 import,分页返回保持一致 | -| `com.ruoyi.common.core.web.domain.BaseEntity` | `com.ruoyi.common.core.domain.BaseEntity` | 改 import,审计字段与 `params` 扩展位保持可用 | -| `com.ruoyi.common.core.web.domain.TreeEntity` | `com.ruoyi.common.core.domain.TreeEntity` | 改 import,树结构字段保持可用 | -| `com.ruoyi.common.core.annotation.Excel` | `com.ruoyi.common.annotation.Excel` | 改 import,导入导出注解能力不变 | -| `com.ruoyi.common.core.utils.poi.ExcelUtil` | `com.ruoyi.common.utils.poi.ExcelUtil` | 改 import,导出调用方式不变 | -| `com.ruoyi.common.core.utils.DateUtils` | `com.ruoyi.common.utils.DateUtils` | 改 import,`getNowDate()` 保持可用 | -| `com.ruoyi.common.core.utils.StringUtils` | `com.ruoyi.common.utils.StringUtils` | 改 import,`isNotNull/isNotEmpty` 等保持可用 | -| `com.ruoyi.common.security.utils.SecurityUtils` | `com.ruoyi.common.utils.SecurityUtils` | 改 import,`getUsername()` 保持可用 | -| `com.ruoyi.common.core.utils.ip.IpUtils` | `com.ruoyi.common.utils.ip.IpUtils` | 改 import,`getIpAddr()` 保持可用 | -| `com.ruoyi.common.core.exception.ServiceException` | `com.ruoyi.common.exception.ServiceException` | 改 import,消息抛错逻辑保持不变 | -| `com.ruoyi.common.core.constant.UserConstants` | `com.ruoyi.common.constant.UserConstants` | 改 import(仅在实际使用时) | -| `com.ruoyi.common.log.annotation.Log` | `com.ruoyi.common.annotation.Log` | 改 import,AOP 日志能力由 framework 实现 | -| `com.ruoyi.common.log.enums.BusinessType` | `com.ruoyi.common.enums.BusinessType` | 改 import,枚举语义不变 | -| `com.ruoyi.common.core.utils.SpringUtils` | `com.ruoyi.common.utils.spring.SpringUtils` | 改 import(仅在实际使用时) | -| `com.ruoyi.common.security.annotation.RequiresPermissions` | `@PreAuthorize("@ss.hasPermi('...')")` | 单体使用 Spring Security 表达式;`hw-portal` 中多数原本为注释,可按原策略继续注释 | -| `com.ruoyi.common.security.annotation.EnableCustomConfig / EnableRyFeignClients` | 无需保留 | 微服务启动增强注解,单体删除 | -| `com.ruoyi.common.swagger.annotation.EnableCustomSwagger2` | 无需保留 | 单体由 `springdoc` 配置管理 | - -### 9.3 MyBatis 与 MyBatis-Plus 的边界(本次迁移) -- 保持 `Mapper.java + Mapper.xml` 一一对应,不把现有 SQL 改写成 `LambdaQueryWrapper/ServiceImpl/BaseMapper` 风格。 -- `hw-portal` 现有逻辑删除语句(如 `deleteHwWebByWebIds`、`deleteHwWebDocumentByDocumentIds`)继续沿用 SQL 更新 `is_delete`,不引入 `@TableLogic`,避免行为漂移。 -- 可以复用 MyBatis-Plus 已启用的拦截器能力(分页、乐观锁、阻断全表更新)作为基础防护,但不改变 `hw-portal` 业务 SQL 的条件与分支。 - -### 9.4 迁移落地时的工具类注意事项 -- `AjaxResult/BaseEntity/TreeEntity`:保持原返回与实体继承体系,不做结构改造,只改 import。 -- `DateUtils/SecurityUtils/IpUtils`:保留原调用点(时间戳、创建人、IP 写入),防止行为差异。 -- `SqlUtil.escapeOrderBySql`:涉及排序参数时继续走 `BaseController`/分页工具链,保持排序安全。 -- `ExcelUtil`:导出逻辑可原样保留,注意仅替换包路径与 `javax -> jakarta`。 - -### 9.5 可清理但不影响业务逻辑的迁移项 -- 删除 `hw-portal` 中未使用或微服务残留引用,避免编译噪音: -- `com.ruoyi.common.core.constant.HwPortalConstants`(当前单体未提供) -- `com.ruoyi.system.api.domain.SysDept`(单体实体位于 `com.ruoyi.common.core.domain.entity.SysDept`,且该处原本未使用) -- `com.ruoyi.common.core.utils.SpringUtils`、`com.ruoyi.common.core.constant.UserConstants` 等未使用 import - diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java index 32eb6f1..7f564ff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java @@ -1,5 +1,6 @@ package com.ruoyi; +import org.dromara.easyes.starter.register.EsMapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @@ -9,6 +10,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; * * @author ruoyi */ +@EsMapperScan("com.ruoyi.portal.search.es.mapper") @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) public class RuoYiApplication { diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 57e9bb3..3729fef 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -142,3 +142,20 @@ xss: excludes: /system/notice # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/* + + +# easy-es +easy-es: + enable: true + banner: false + address: 127.0.0.1:9200 + global-config: + process-index-mode: manual + db-config: + refresh-policy: immediate + +# portal search engine switch +search: + engine: mysql + es: + enabled: true diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index dfd5eda..3b5be28 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -133,6 +133,45 @@ 3.5.10 + + + + org.springframework.boot + spring-boot-starter-web + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + + + org.elasticsearch + elasticsearch + + + + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + 7.14.0 + + + org.elasticsearch + elasticsearch + 7.14.0 + + + + org.projectlombok + lombok + + + + org.dromara.easy-es + easy-es-boot-starter + 2.0.0 + + \ No newline at end of file diff --git a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebDocumentServiceImpl.java b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebDocumentServiceImpl.java index 36aab06..aa6488c 100644 --- a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebDocumentServiceImpl.java +++ b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebDocumentServiceImpl.java @@ -8,7 +8,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.portal.mapper.HwWebDocumentMapper; import com.ruoyi.portal.domain.HwWebDocument; +import com.ruoyi.portal.service.IHwSearchRebuildService; import com.ruoyi.portal.service.IHwWebDocumentService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Hw资料文件Service业务层处理 @@ -19,9 +22,14 @@ import com.ruoyi.portal.service.IHwWebDocumentService; @Service public class HwWebDocumentServiceImpl implements IHwWebDocumentService { + private static final Logger log = LoggerFactory.getLogger(HwWebDocumentServiceImpl.class); + @Autowired private HwWebDocumentMapper hwWebDocumentMapper; + @Autowired(required = false) + private IHwSearchRebuildService hwSearchRebuildService; + /** * 查询Hw资料文件 * @@ -56,7 +64,12 @@ public class HwWebDocumentServiceImpl implements IHwWebDocumentService public int insertHwWebDocument(HwWebDocument hwWebDocument) { hwWebDocument.setCreateTime(DateUtils.getNowDate()); - return hwWebDocumentMapper.insertHwWebDocument(hwWebDocument); + int rows = hwWebDocumentMapper.insertHwWebDocument(hwWebDocument); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -74,7 +87,12 @@ public class HwWebDocumentServiceImpl implements IHwWebDocumentService hwWebDocument.setSecretKey(""); } - return hwWebDocumentMapper.updateHwWebDocument(hwWebDocument); + int rows = hwWebDocumentMapper.updateHwWebDocument(hwWebDocument); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -86,7 +104,12 @@ public class HwWebDocumentServiceImpl implements IHwWebDocumentService @Override public int deleteHwWebDocumentByDocumentIds(String[] documentIds) { - return hwWebDocumentMapper.deleteHwWebDocumentByDocumentIds(documentIds); + int rows = hwWebDocumentMapper.deleteHwWebDocumentByDocumentIds(documentIds); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -98,7 +121,12 @@ public class HwWebDocumentServiceImpl implements IHwWebDocumentService @Override public int deleteHwWebDocumentByDocumentId(String documentId) { - return hwWebDocumentMapper.deleteHwWebDocumentByDocumentId(documentId); + int rows = hwWebDocumentMapper.deleteHwWebDocumentByDocumentId(documentId); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } @Override @@ -128,6 +156,22 @@ public class HwWebDocumentServiceImpl implements IHwWebDocumentService } } + private void rebuildSearchIndexQuietly() + { + if (hwSearchRebuildService == null) + { + return; + } + try + { + hwSearchRebuildService.rebuildAll(); + } + catch (Exception e) + { + log.error("rebuild portal search index failed after hw_web_document changed", e); + } + } + } diff --git a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebMenuServiceImpl.java b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebMenuServiceImpl.java index d5c5be6..ab7471c 100644 --- a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebMenuServiceImpl.java +++ b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebMenuServiceImpl.java @@ -7,6 +7,9 @@ import java.util.stream.Collectors; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.portal.domain.HwProductInfoDetail; +import com.ruoyi.portal.service.IHwSearchRebuildService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.portal.mapper.HwWebMenuMapper; @@ -22,9 +25,14 @@ import com.ruoyi.portal.service.IHwWebMenuService; @Service public class HwWebMenuServiceImpl implements IHwWebMenuService { + private static final Logger log = LoggerFactory.getLogger(HwWebMenuServiceImpl.class); + @Autowired private HwWebMenuMapper hwWebMenuMapper; + @Autowired(required = false) + private IHwSearchRebuildService hwSearchRebuildService; + /** * 查询haiwei官网菜单 * @@ -69,7 +77,12 @@ public class HwWebMenuServiceImpl implements IHwWebMenuService @Override public int insertHwWebMenu(HwWebMenu hwWebMenu) { - return hwWebMenuMapper.insertHwWebMenu(hwWebMenu); + int rows = hwWebMenuMapper.insertHwWebMenu(hwWebMenu); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -81,7 +94,12 @@ public class HwWebMenuServiceImpl implements IHwWebMenuService @Override public int updateHwWebMenu(HwWebMenu hwWebMenu) { - return hwWebMenuMapper.updateHwWebMenu(hwWebMenu); + int rows = hwWebMenuMapper.updateHwWebMenu(hwWebMenu); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -93,7 +111,12 @@ public class HwWebMenuServiceImpl implements IHwWebMenuService @Override public int deleteHwWebMenuByWebMenuIds(Long[] webMenuIds) { - return hwWebMenuMapper.deleteHwWebMenuByWebMenuIds(webMenuIds); + int rows = hwWebMenuMapper.deleteHwWebMenuByWebMenuIds(webMenuIds); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -105,7 +128,12 @@ public class HwWebMenuServiceImpl implements IHwWebMenuService @Override public int deleteHwWebMenuByWebMenuId(Long webMenuId) { - return hwWebMenuMapper.deleteHwWebMenuByWebMenuId(webMenuId); + int rows = hwWebMenuMapper.deleteHwWebMenuByWebMenuId(webMenuId); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -165,5 +193,21 @@ public class HwWebMenuServiceImpl implements IHwWebMenuService private boolean hasChild(List list, HwWebMenu t) { return !getChildList(list, t).isEmpty(); } + + private void rebuildSearchIndexQuietly() + { + if (hwSearchRebuildService == null) + { + return; + } + try + { + hwSearchRebuildService.rebuildAll(); + } + catch (Exception e) + { + log.error("rebuild portal search index failed after hw_web_menu changed", e); + } + } } diff --git a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl.java b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl.java index a634244..b923bab 100644 --- a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl.java +++ b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl.java @@ -6,6 +6,9 @@ import org.springframework.stereotype.Service; import com.ruoyi.portal.mapper.HwWebMapper; import com.ruoyi.portal.domain.HwWeb; import com.ruoyi.portal.service.IHwWebService; +import com.ruoyi.portal.service.IHwSearchRebuildService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.transaction.annotation.Transactional; /** @@ -17,9 +20,14 @@ import org.springframework.transaction.annotation.Transactional; @Service public class HwWebServiceImpl implements IHwWebService { + private static final Logger log = LoggerFactory.getLogger(HwWebServiceImpl.class); + @Autowired private HwWebMapper hwWebMapper; + @Autowired(required = false) + private IHwSearchRebuildService hwSearchRebuildService; + /** * 查询haiwei官网json * @@ -55,7 +63,12 @@ public class HwWebServiceImpl implements IHwWebService @Override public int insertHwWeb(HwWeb hwWeb) { - return hwWebMapper.insertHwWeb(hwWeb); + int rows = hwWebMapper.insertHwWeb(hwWeb); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -80,7 +93,12 @@ public class HwWebServiceImpl implements IHwWebService // 插入新记录,避免复用旧主键 // hwWeb.setWebId(null); hwWeb.setIsDelete("0"); - return hwWebMapper.insertHwWeb(hwWeb); + int rows = hwWebMapper.insertHwWeb(hwWeb); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -92,7 +110,12 @@ public class HwWebServiceImpl implements IHwWebService @Override public int deleteHwWebByWebIds(Long[] webIds) { - return hwWebMapper.deleteHwWebByWebIds(webIds); + int rows = hwWebMapper.deleteHwWebByWebIds(webIds); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -104,7 +127,28 @@ public class HwWebServiceImpl implements IHwWebService @Override public int deleteHwWebByWebId(Long webId) { - return hwWebMapper.deleteHwWebByWebId(webId); + int rows = hwWebMapper.deleteHwWebByWebId(webId); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; + } + + private void rebuildSearchIndexQuietly() + { + if (hwSearchRebuildService == null) + { + return; + } + try + { + hwSearchRebuildService.rebuildAll(); + } + catch (Exception e) + { + log.error("rebuild portal search index failed after hw_web changed", e); + } } } diff --git a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl1.java b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl1.java index 1c4657e..46f7a96 100644 --- a/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl1.java +++ b/ruoyi-portal/src/main/java/com/ruoyi/portal/service/impl/HwWebServiceImpl1.java @@ -2,7 +2,10 @@ package com.ruoyi.portal.service.impl; import com.ruoyi.portal.mapper.HwWebMapper1; +import com.ruoyi.portal.service.IHwSearchRebuildService; import com.ruoyi.portal.service.IHwWebService1; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -19,9 +22,14 @@ import org.springframework.transaction.annotation.Transactional; @Service public class HwWebServiceImpl1 implements IHwWebService1 { + private static final Logger log = LoggerFactory.getLogger(HwWebServiceImpl1.class); + @Autowired private HwWebMapper1 hwWebMapper1; + @Autowired(required = false) + private IHwSearchRebuildService hwSearchRebuildService; + /** * 查询haiwei官网json * @@ -62,7 +70,12 @@ public class HwWebServiceImpl1 implements IHwWebService1 @Override public int insertHwWeb(HwWeb1 hwWeb1) { - return hwWebMapper1.insertHwWeb(hwWeb1); + int rows = hwWebMapper1.insertHwWeb(hwWeb1); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -89,7 +102,12 @@ public class HwWebServiceImpl1 implements IHwWebService1 // 插入新记录,避免复用旧主键 // hwWeb1.setWebId(null); hwWeb1.setIsDelete("0"); - return hwWebMapper1.insertHwWeb(hwWeb1); + int rows = hwWebMapper1.insertHwWeb(hwWeb1); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -101,7 +119,12 @@ public class HwWebServiceImpl1 implements IHwWebService1 @Override public int deleteHwWebByWebIds(Long[] webIds) { - return hwWebMapper1.deleteHwWebByWebIds(webIds); + int rows = hwWebMapper1.deleteHwWebByWebIds(webIds); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; } /** @@ -113,7 +136,28 @@ public class HwWebServiceImpl1 implements IHwWebService1 @Override public int deleteHwWebByWebId(Long webId) { - return hwWebMapper1.deleteHwWebByWebId(webId); + int rows = hwWebMapper1.deleteHwWebByWebId(webId); + if (rows > 0) + { + rebuildSearchIndexQuietly(); + } + return rows; + } + + private void rebuildSearchIndexQuietly() + { + if (hwSearchRebuildService == null) + { + return; + } + try + { + hwSearchRebuildService.rebuildAll(); + } + catch (Exception e) + { + log.error("rebuild portal search index failed after hw_web1 changed", e); + } } } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml index 65d3079..e424da2 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml @@ -41,8 +41,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + insert into sys_notice ( notice_title, notice_type,