# 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
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMenuMapper1.xml
```xml
```