You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hw-web/doc/hw-portal-抽离迁移指导.md

9535 lines
329 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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.updateHwWebDocumentsecretKey == null 时强制置空字符串,依赖 XML 动态 if 触发数据库字段更新。
- HwWebDocumentServiceImpl.verifyAndGetDocumentAddress密钥为空时直返地址密钥存在时必须校验 providedKey错误抛 ServiceException。
- HwWebDocumentController.list/getInfo返回前清空 secretKey若 hasSecret=true 则隐藏 documentAddress。
- HwPortalController.addContactUsInfo写入 userIp当前请求 IP后再落库。
- HwPortalConfigServiceImpl.selectHwPortalConfigListportalConfigType == 2 走 selectHwPortalConfigList2其余走 selectHwPortalConfigList。
- HwProductCaseInfoServiceImpl.getTypicalHomeCaseInfo先 homeTypicalFlag=1 过滤;优先返回 typicalFlag=1 的第一条,否则返回列表首条,否则返回空对象。
- HwPortalConfigTypeServiceImpl.selectConfigTypeList存在 configTypeClassfication 条件时先查全量再补齐全部子孙节点,最后构树。
- HwProductInfoServiceImpl.selectHwProductInfoJoinDetailList配置模式 13 时将明细列表转换为树结构(两段判定均保留)。
- HwProductInfoDetailServiceImpl.insertHwProductInfoDetailparentId/ancestors 填充规则必须保持一致,并写入 createBy/createTime。
- HwPortalConfigTypeServiceImpl.insertHwPortalConfigTypeparentId/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
- 风险2HwWebDocument 密钥字段在更新/查询链路被误改,导致泄露或无法清空。
- 风险3树结构构建菜单、配置类型、产品明细在过滤条件下丢层级。
- 风险4hw_web/hw_web1 逻辑删除+重插流程被改写,导致唯一性语义变化。
- 风险5门户聚合接口分页行为startPage与返回结构发生漂移。
## 8. 全量源码附录(完整代码)
### C:\D\WORK\NewP\HwWeb\hw-portal\pom.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-modules</artifactId>
<version>3.6.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-modules-portal</artifactId>
<description>
ruoyi-modules-portal系统模块
</description>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- RuoYi Common DataSource -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId>
</dependency>
<!-- RuoYi Common DataScope -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datascope</artifactId>
</dependency>
<!-- RuoYi Common Log -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-log</artifactId>
</dependency>
<!-- RuoYi Common Swagger -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-swagger</artifactId>
</dependency>
<!-- RuoYi Common International Language -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>hw-common-i18n</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>hw-api-basic</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
```
### 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
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/ruoyi-portal" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
</configuration>
```
### 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
@RequiredArgsConstructor
@RequestMapping("/aboutUsInfo")
public class HwAboutUsInfoController extends BaseController
{
private final IHwAboutUsInfoService hwAboutUsInfoService;
/**
* 查询关于我们信息列表
*/
//@RequiresPermissions("portalaboutUsInfo:list")
@GetMapping("/list")
public TableDataInfo list(HwAboutUsInfo hwAboutUsInfo)
{
startPage();
List<HwAboutUsInfo> 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<HwAboutUsInfo> list = hwAboutUsInfoService.selectHwAboutUsInfoList(hwAboutUsInfo);
ExcelUtil<HwAboutUsInfo> util = new ExcelUtil<HwAboutUsInfo>(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
@RequiredArgsConstructor
@RequestMapping("/aboutUsInfoDetail")
public class HwAboutUsInfoDetailController extends BaseController
{
private final IHwAboutUsInfoDetailService hwAboutUsInfoDetailService;
/**
* 查询关于我们信息明细列表
*/
//@RequiresPermissions("portalaboutUsInfoDetail:list")
@GetMapping("/list")
public TableDataInfo list(HwAboutUsInfoDetail hwAboutUsInfoDetail)
{
startPage();
List<HwAboutUsInfoDetail> 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<HwAboutUsInfoDetail> list = hwAboutUsInfoDetailService.selectHwAboutUsInfoDetailList(hwAboutUsInfoDetail);
ExcelUtil<HwAboutUsInfoDetail> util = new ExcelUtil<HwAboutUsInfoDetail>(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
@RequiredArgsConstructor
@RequestMapping("/contactUsInfo")
public class HwContactUsInfoController extends BaseController
{
private final IHwContactUsInfoService hwContactUsInfoService;
/**
* 查询联系我们信息列表
*/
//@RequiresPermissions("portalcontactUsInfo:list")
@GetMapping("/list")
public TableDataInfo list(HwContactUsInfo hwContactUsInfo)
{
startPage();
List<HwContactUsInfo> 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<HwContactUsInfo> list = hwContactUsInfoService.selectHwContactUsInfoList(hwContactUsInfo);
ExcelUtil<HwContactUsInfo> util = new ExcelUtil<HwContactUsInfo>(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
@RequiredArgsConstructor
@RequestMapping("/portalConfig")
public class HwPortalConfigController extends BaseController
{
private final IHwPortalConfigService hwPortalConfigService;
private final IHwPortalConfigTypeService hwPortalConfigTypeService;
/**
* 查询门户网站配置列表
*/
//@RequiresPermissions("portalportalConfig:list")
@GetMapping("/list")
public TableDataInfo list(HwPortalConfig hwPortalConfig)
{
startPage();
List<HwPortalConfig> 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<HwPortalConfig> list = hwPortalConfigService.selectHwPortalConfigList(hwPortalConfig);
ExcelUtil<HwPortalConfig> util = new ExcelUtil<HwPortalConfig>(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
@RequiredArgsConstructor
@RequestMapping("/portalConfigType")
public class HwPortalConfigTypeController extends BaseController
{
private final IHwPortalConfigTypeService hwPortalConfigTypeService;
/**
* 查询门户网站配置类型列表
*/
//@RequiresPermissions("portalportalConfigType:list")
@GetMapping("/list")
public AjaxResult list(HwPortalConfigType hwPortalConfigType)
{
List<HwPortalConfigType> 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<HwPortalConfigType> list = hwPortalConfigTypeService.selectHwPortalConfigTypeList(hwPortalConfigType);
ExcelUtil<HwPortalConfigType> util = new ExcelUtil<HwPortalConfigType>(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
@RequiredArgsConstructor
@RequestMapping("/portal")
public class HwPortalController extends BaseController
{
private final IHwPortalConfigService hwPortalConfigService;
private final IHwPortalConfigTypeService hwPortalConfigTypeService;
private final IHwProductCaseInfoService hwProductCaseInfoService;
private final IHwContactUsInfoService hwContactUsInfoService;
private final IHwProductInfoService productInfoService;
private final IHwProductInfoDetailService hwProductInfoDetailService;
private final IHwAboutUsInfoService hwAboutUsInfoService;
private final IHwAboutUsInfoDetailService hwAboutUsInfoDetailService;
/**
* 查询门户网站配置列表首页大图portal_config_type为1;产品中心大图portal_config_type为2,并且需要根据portalConfigTypeId获取
*/
@GetMapping("/getPortalConfigList")
public TableDataInfo getPortalConfigList(HwPortalConfig hwPortalConfig)
{
startPage();
List<HwPortalConfig> list = hwPortalConfigService.selectHwPortalConfigList(hwPortalConfig);
return getDataTable(list);
}
/**
* 门户网站配置类型首页产品中心config_type_classfication为1按homeConfigTypeName显示产品中心页面上面的按configTypeName显示
*/
@GetMapping("/getPortalConfigTypeList")
public TableDataInfo getPortalConfigTypeList(HwPortalConfigType hwPortalConfigType)
{
List<HwPortalConfigType> list = hwPortalConfigTypeService.selectHwPortalConfigTypeList(hwPortalConfigType);
return getDataTable(list);
}
/**
* 门户网站配置类型首页产品中心config_type_classfication为1按homeConfigTypeName显示产品中心页面上面的按configTypeName显示
*/
@GetMapping("/selectConfigTypeList")
public TableDataInfo selectConfigTypeList(HwPortalConfigType hwPortalConfigType)
{
List<HwPortalConfigType> list = hwPortalConfigTypeService.selectConfigTypeList(hwPortalConfigType);
return getDataTable(list);
}
/**
* 获取首页案例tab title(例如物联网、制造中心和快递物流)
*/
@GetMapping("/getHomeCaseTitleList")
public TableDataInfo getHomeCaseTitleList(HwPortalConfigType hwPortalConfigType)
{
startPage();
List<HwPortalConfigType> 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
@RequiredArgsConstructor
@RequestMapping("/productCaseInfo")
public class HwProductCaseInfoController extends BaseController
{
private final IHwProductCaseInfoService hwProductCaseInfoService;
private final IHwPortalConfigTypeService hwPortalConfigTypeService;
/**
* 查询案例内容列表
*/
//@RequiresPermissions("portalproductCaseInfo:list")
@GetMapping("/list")
public TableDataInfo list(HwProductCaseInfo hwProductCaseInfo)
{
startPage();
List<HwProductCaseInfo> 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<HwProductCaseInfo> list = hwProductCaseInfoService.selectHwProductCaseInfoList(hwProductCaseInfo);
ExcelUtil<HwProductCaseInfo> util = new ExcelUtil<HwProductCaseInfo>(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
@RequiredArgsConstructor
@RequestMapping("/productInfo")
public class HwProductInfoController extends BaseController
{
private final IHwProductInfoService hwProductInfoService;
private final IHwPortalConfigTypeService hwPortalConfigTypeService;
/**
* 查询产品信息配置列表
*/
//@RequiresPermissions("portalproductInfo:list")
@GetMapping("/list")
public TableDataInfo list(HwProductInfo hwProductInfo)
{
startPage();
List<HwProductInfo> 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<HwProductInfo> list = hwProductInfoService.selectHwProductInfoList(hwProductInfo);
ExcelUtil<HwProductInfo> util = new ExcelUtil<HwProductInfo>(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
@RequiredArgsConstructor
@RequestMapping("/productInfoDetail")
public class HwProductInfoDetailController extends BaseController
{
private final IHwProductInfoDetailService hwProductInfoDetailService;
/**
* 查询产品信息明细配置列表
*/
//@RequiresPermissions("portalproductInfoDetail:list")
@GetMapping("/list")
public AjaxResult list(HwProductInfoDetail hwProductInfoDetail)
{
List<HwProductInfoDetail> 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<HwProductInfoDetail> list = hwProductInfoDetailService.selectHwProductInfoDetailList(hwProductInfoDetail);
ExcelUtil<HwProductInfoDetail> util = new ExcelUtil<HwProductInfoDetail>(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
@RequiredArgsConstructor
@RequestMapping("/hwWeb")
public class HwWebController extends BaseController
{
private final IHwWebService hwWebService;
/**
* 查询haiwei官网json列表
*/
//@RequiresPermissions("portalhwWeb:list")
@GetMapping("/list")
public TableDataInfo list(HwWeb hwWeb)
{
// startPage();
List<HwWeb> 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<HwWeb> list = hwWebService.selectHwWebList(hwWeb);
ExcelUtil<HwWeb> util = new ExcelUtil<HwWeb>(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
@RequiredArgsConstructor
@RequestMapping("/hwWeb1")
public class HwWebController1 extends BaseController
{
private final IHwWebService1 hwWebService1;
/**
* 查询haiwei官网json列表
*/
//@RequiresPermissions("portalhwWeb:list")
@GetMapping("/list")
public TableDataInfo list(HwWeb1 HwWeb1)
{
// startPage();
List<HwWeb1> 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<HwWeb1> list = hwWebService1.selectHwWebList(HwWeb1);
ExcelUtil<HwWeb1> util = new ExcelUtil<HwWeb1>(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
@RequiredArgsConstructor
@RequestMapping("/hwWebDocument")
public class HwWebDocumentController extends BaseController
{
private final IHwWebDocumentService hwWebDocumentService;
/**
* 查询Hw资料文件列表
*/
// @RequiresPermissions("portal:hwWebDocument:list")
@GetMapping("/list")
public TableDataInfo list(HwWebDocument hwWebDocument)
{
startPage();
List<HwWebDocument> 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<HwWebDocument> list = hwWebDocumentService.selectHwWebDocumentList(hwWebDocument);
ExcelUtil<HwWebDocument> util = new ExcelUtil<HwWebDocument>(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
@RequiredArgsConstructor
@RequestMapping("/hwWebMenu")
public class HwWebMenuController extends BaseController
{
private final IHwWebMenuService hwWebMenuService;
/**
* 查询haiwei官网菜单列表
*/
//@RequiresPermissions("portalhwWebMenu:list")
@GetMapping("/list")
public AjaxResult list(HwWebMenu hwWebMenu)
{
List<HwWebMenu> 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<HwWebMenu> list = hwWebMenuService.selectHwWebMenuList(hwWebMenu);
ExcelUtil<HwWebMenu> util = new ExcelUtil<HwWebMenu>(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
@RequiredArgsConstructor
@RequestMapping("/hwWebMenu1")
public class HwWebMenuController1 extends BaseController
{
private final IHwWebMenuService1 hwWebMenuService1;
/**
* 查询haiwei官网菜单列表
*/
//@RequiresPermissions("portalhwWebMenu:list")
@GetMapping("/list")
public AjaxResult list(HwWebMenu1 hwWebMenu1)
{
List<HwWebMenu1> 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<HwWebMenu1> list = hwWebMenuService1.selectHwWebMenuList(hwWebMenu1);
ExcelUtil<HwWebMenu1> util = new ExcelUtil<HwWebMenu1>(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<HwProductCaseInfo> hwProductCaseInfoList;
/** 子类型 */
private List<HwPortalConfigType> children = new ArrayList<HwPortalConfigType>();
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<HwProductCaseInfo> getHwProductCaseInfoList() {
return hwProductCaseInfoList;
}
public void setHwProductCaseInfoList(List<HwProductCaseInfo> hwProductCaseInfoList) {
this.hwProductCaseInfoList = hwProductCaseInfoList;
}
public List<HwPortalConfigType> getChildren() {
return children;
}
public void setChildren(List<HwPortalConfigType> 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<HwProductInfoDetail> 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<HwProductInfoDetail> getHwProductInfoDetailList()
{
return hwProductInfoDetailList;
}
public void setHwProductInfoDetailList(List<HwProductInfoDetail> 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<HwProductInfoDetail> 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<HwProductInfoDetail> getHwProductInfoDetailList() {
return hwProductInfoDetailList;
}
public void setHwProductInfoDetailList(List<HwProductInfoDetail> 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<TreeSelect> 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<TreeSelect> getChildren()
{
return children;
}
public void setChildren(List<TreeSelect> 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<HwAboutUsInfoDetail> 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<HwAboutUsInfo> 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<HwContactUsInfo> 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<HwPortalConfig> 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<HwPortalConfig> selectHwPortalConfigJoinList(HwPortalConfig hwPortalConfig);
/**
* 查询门户网站配置列表
*
* @param hwPortalConfig 门户网站配置
* @return 门户网站配置集合
*/
public List<HwPortalConfig> 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<HwPortalConfigType> 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<HwProductCaseInfo> 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<HwProductCaseInfo> 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<HwProductInfoDetail> 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<HwProductInfo> 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<HwProductInfo> selectHwProductInfoJoinDetailList(HwProductInfo hwProductInfo);
/**
* 查询产品信息配置列表,join portalConfigType门户网站配置类型
*
* @param hwProductInfo 产品信息配置
* @return 产品信息配置集合
*/
public List<HwProductInfo> 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<HwWebDocument> 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<HwWeb> 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<HwWeb1> 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<HwWebMenu> 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<HwWebMenu1> 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<HwWebMenu1> 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<HwAboutUsInfoDetail> 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<HwAboutUsInfo> 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<HwContactUsInfo> 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<HwPortalConfig> 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<HwPortalConfig> 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<HwPortalConfigType> selectHwPortalConfigTypeList(HwPortalConfigType hwPortalConfigType);
/**
* 查询门户网站配置类型列表
*
* @param hwPortalConfigType 门户网站配置类型
* @return 门户网站配置类型集合
*/
public List<HwPortalConfigType> 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<TreeSelect> selectPortalConfigTypeTreeList(HwPortalConfigType portalConfigType);
/**
* 构建前端所需要下拉树结构
*
* @param portalConfigTypes 门户网站配置类型列表
* @return 下拉树结构列表
*/
public List<TreeSelect> buildPortalConfigTypeTreeSelect(List<HwPortalConfigType> portalConfigTypes);
/**
* 构建前端所需要树结构
*
* @param portalConfigTypes 门户网站配置类型列表
* @return 树结构列表
*/
public List<HwPortalConfigType> buildPortalConfigTypeTree(List<HwPortalConfigType> 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<HwProductCaseInfo> 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<HwProductCaseInfo> 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<HwProductInfoDetail> 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<HwProductInfo> 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<HwProductInfo> selectHwProductInfoJoinDetailList(HwProductInfo hwProductInfo);
/**
* 查询产品信息配置列表,join portalConfigType
*
* @param hwProductInfo 产品信息配置
* @return 产品信息配置
*/
public List<HwProductInfo> 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<HwWebDocument> 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<HwWebMenu> 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<HwWebMenu> 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<HwWebMenu1> 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<HwWebMenu1> 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<HwWeb> 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<HwWeb1> 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
*/
@RestController
@RequiredArgsConstructor
public class HwAboutUsInfoDetailServiceImpl implements IHwAboutUsInfoDetailService
{
private final HwAboutUsInfoDetailMapper hwAboutUsInfoDetailMapper;
/**
* 查询关于我们信息明细
*
* @param usInfoDetailId 关于我们信息明细主键
* @return 关于我们信息明细
*/
@Override
public HwAboutUsInfoDetail selectHwAboutUsInfoDetailByUsInfoDetailId(Long usInfoDetailId)
{
return hwAboutUsInfoDetailMapper.selectHwAboutUsInfoDetailByUsInfoDetailId(usInfoDetailId);
}
/**
* 查询关于我们信息明细列表
*
* @param hwAboutUsInfoDetail 关于我们信息明细
* @return 关于我们信息明细
*/
@Override
public List<HwAboutUsInfoDetail> 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
*/
@RestController
@RequiredArgsConstructor
public class HwAboutUsInfoServiceImpl implements IHwAboutUsInfoService
{
private final HwAboutUsInfoMapper hwAboutUsInfoMapper;
/**
* 查询关于我们信息
*
* @param aboutUsInfoId 关于我们信息主键
* @return 关于我们信息
*/
@Override
public HwAboutUsInfo selectHwAboutUsInfoByAboutUsInfoId(Long aboutUsInfoId)
{
return hwAboutUsInfoMapper.selectHwAboutUsInfoByAboutUsInfoId(aboutUsInfoId);
}
/**
* 查询关于我们信息列表
*
* @param hwAboutUsInfo 关于我们信息
* @return 关于我们信息
*/
@Override
public List<HwAboutUsInfo> 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
*/
@RestController
@RequiredArgsConstructor
public class HwContactUsInfoServiceImpl implements IHwContactUsInfoService
{
private final HwContactUsInfoMapper hwContactUsInfoMapper;
/**
* 查询联系我们信息
*
* @param contactUsInfoId 联系我们信息主键
* @return 联系我们信息
*/
@Override
public HwContactUsInfo selectHwContactUsInfoByContactUsInfoId(Long contactUsInfoId)
{
return hwContactUsInfoMapper.selectHwContactUsInfoByContactUsInfoId(contactUsInfoId);
}
/**
* 查询联系我们信息列表
*
* @param hwContactUsInfo 联系我们信息
* @return 联系我们信息
*/
@Override
public List<HwContactUsInfo> 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
*/
@RestController
@RequiredArgsConstructor
public class HwPortalConfigServiceImpl implements IHwPortalConfigService
{
private final HwPortalConfigMapper hwPortalConfigMapper;
/**
* 查询门户网站配置
*
* @param portalConfigId 门户网站配置主键
* @return 门户网站配置
*/
@Override
public HwPortalConfig selectHwPortalConfigByPortalConfigId(Long portalConfigId)
{
return hwPortalConfigMapper.selectHwPortalConfigByPortalConfigId(portalConfigId);
}
/**
* 查询门户网站配置列表
*
* @param hwPortalConfig 门户网站配置
* @return 门户网站配置
*/
@Override
public List<HwPortalConfig> selectHwPortalConfigList(HwPortalConfig hwPortalConfig)
{
if("2".equals(hwPortalConfig.getPortalConfigType())){
List<HwPortalConfig> 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<HwPortalConfig> 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
*/
@RestController
@RequiredArgsConstructor
public class HwPortalConfigTypeServiceImpl implements IHwPortalConfigTypeService
{
private final HwPortalConfigTypeMapper hwPortalConfigTypeMapper;
/**
* 查询门户网站配置类型
*
* @param configTypeId 门户网站配置类型主键
* @return 门户网站配置类型
*/
@Override
public HwPortalConfigType selectHwPortalConfigTypeByConfigTypeId(Long configTypeId)
{
return hwPortalConfigTypeMapper.selectHwPortalConfigTypeByConfigTypeId(configTypeId);
}
/**
* 查询门户网站配置类型列表
*
* @param hwPortalConfigType 门户网站配置类型
* @return 门户网站配置类型
*/
@Override
public List<HwPortalConfigType> selectHwPortalConfigTypeList(HwPortalConfigType hwPortalConfigType)
{
return hwPortalConfigTypeMapper.selectHwPortalConfigTypeList(hwPortalConfigType);
}
/**
* 查询门户网站配置类型列表
*
* @param hwPortalConfigType 门户网站配置类型
* @return 门户网站配置类型
*/
@Override
public List<HwPortalConfigType> selectConfigTypeList(HwPortalConfigType hwPortalConfigType)
{
// 如果有 configTypeClassfication 条件,需要特殊处理以确保树形结构完整
if (StringUtils.isNotEmpty(hwPortalConfigType.getConfigTypeClassfication())) {
// 查询所有数据
List<HwPortalConfigType> allList = hwPortalConfigTypeMapper.selectHwPortalConfigTypeList(new HwPortalConfigType());
// 找出指定分类的顶级节点
List<HwPortalConfigType> topLevelNodes = allList.stream()
.filter(item -> hwPortalConfigType.getConfigTypeClassfication().equals(item.getConfigTypeClassfication())
&& (item.getParentId() == null || item.getParentId() == 0L))
.collect(Collectors.toList());
// 构建包含所有子孙节点的完整列表
List<HwPortalConfigType> completeList = new ArrayList<>();
for (HwPortalConfigType topNode : topLevelNodes) {
completeList.add(topNode);
addAllDescendants(allList, topNode, completeList);
}
return buildPortalConfigTypeTree(completeList);
} else {
// 没有特定过滤条件时,直接查询并构建树形结构
List<HwPortalConfigType> list = hwPortalConfigTypeMapper.selectHwPortalConfigTypeList(hwPortalConfigType);
return buildPortalConfigTypeTree(list);
}
}
/**
* 递归添加所有子孙节点
*/
private void addAllDescendants(List<HwPortalConfigType> allList, HwPortalConfigType parentNode, List<HwPortalConfigType> 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<TreeSelect> selectPortalConfigTypeTreeList(HwPortalConfigType portalConfigType) {
List<HwPortalConfigType> portalConfigTypes = this.selectHwPortalConfigTypeList(portalConfigType);
return buildPortalConfigTypeTreeSelect(portalConfigTypes);
}
/**
* 构建前端所需要下拉树结构
*
* @param portalConfigTypes 门户网站配置类型列表
* @return 下拉树结构列表
*/
@Override
public List<TreeSelect> buildPortalConfigTypeTreeSelect(List<HwPortalConfigType> portalConfigTypes) {
List<HwPortalConfigType> deptTrees = buildPortalConfigTypeTree(portalConfigTypes);
return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
}
/**
* 构建前端所需要树结构
*
* @param portalConfigTypes 门户网站配置类型列表
* @return 树结构列表
*/
@Override
public List<HwPortalConfigType> buildPortalConfigTypeTree(List<HwPortalConfigType> portalConfigTypes) {
List<HwPortalConfigType> returnList = new ArrayList<HwPortalConfigType>();
List<Long> 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<HwPortalConfigType> list, HwPortalConfigType t) {
// 得到子节点列表
List<HwPortalConfigType> childList = getChildList(list, t);
t.setChildren(childList);
for (HwPortalConfigType tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<HwPortalConfigType> getChildList(List<HwPortalConfigType> list, HwPortalConfigType t) {
List<HwPortalConfigType> tlist = new ArrayList<HwPortalConfigType>();
Iterator<HwPortalConfigType> 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<HwPortalConfigType> 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
*/
@RestController
@RequiredArgsConstructor
public class HwProductCaseInfoServiceImpl implements IHwProductCaseInfoService
{
private final HwProductCaseInfoMapper hwProductCaseInfoMapper;
/**
* 查询案例内容
*
* @param caseInfoId 案例内容主键
* @return 案例内容
*/
@Override
public HwProductCaseInfo selectHwProductCaseInfoByCaseInfoId(Long caseInfoId)
{
return hwProductCaseInfoMapper.selectHwProductCaseInfoByCaseInfoId(caseInfoId);
}
/**
* 查询案例内容列表
*
* @param hwProductCaseInfo 案例内容
* @return 案例内容
*/
@Override
public List<HwProductCaseInfo> 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<HwProductCaseInfo> productCaseInfoList = hwProductCaseInfoMapper.selectHwProductCaseInfoList(hwProductCaseInfo);
List<HwProductCaseInfo> 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<HwProductCaseInfo> 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
*/
@RestController
@RequiredArgsConstructor
public class HwProductInfoDetailServiceImpl implements IHwProductInfoDetailService
{
private final HwProductInfoDetailMapper hwProductInfoDetailMapper;
/**
* 查询产品信息明细配置
*
* @param productInfoDetailId 产品信息明细配置主键
* @return 产品信息明细配置
*/
@Override
public HwProductInfoDetail selectHwProductInfoDetailByProductInfoDetailId(Long productInfoDetailId)
{
return hwProductInfoDetailMapper.selectHwProductInfoDetailByProductInfoDetailId(productInfoDetailId);
}
/**
* 查询产品信息明细配置列表
*
* @param hwProductInfoDetail 产品信息明细配置
* @return 产品信息明细配置
*/
@Override
public List<HwProductInfoDetail> 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
*/
@RestController
@RequiredArgsConstructor
public class HwProductInfoServiceImpl implements IHwProductInfoService
{
private final HwProductInfoMapper hwProductInfoMapper;
/**
* 查询产品信息配置
*
* @param productInfoId 产品信息配置主键
* @return 产品信息配置
*/
@Override
public HwProductInfo selectHwProductInfoByProductInfoId(Long productInfoId)
{
return hwProductInfoMapper.selectHwProductInfoByProductInfoId(productInfoId);
}
/**
* 查询产品信息配置列表
*
* @param hwProductInfo 产品信息配置
* @return 产品信息配置
*/
@Override
public List<HwProductInfo> 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<HwProductInfo> selectHwProductInfoJoinDetailList(HwProductInfo hwProductInfo)
{
List<HwProductInfo> hwProductInfoJoinDetailList = hwProductInfoMapper.selectHwProductInfoJoinDetailList(hwProductInfo);
// 若配置模式configModal为13hwProductInfoDetailList应该变为树形结构
if ("13".equals(hwProductInfo.getConfigModal())) {
for (HwProductInfo productInfo : hwProductInfoJoinDetailList) {
if (productInfo.getHwProductInfoDetailList() != null && !productInfo.getHwProductInfoDetailList().isEmpty()) {
// 将每个产品信息的明细列表转换为树形结构
List<HwProductInfoDetail> treeStructureList = buildProductInfoDetailTree(productInfo.getHwProductInfoDetailList());
productInfo.setHwProductInfoDetailList(treeStructureList);
}
}
}
for (HwProductInfo productInfo : hwProductInfoJoinDetailList) {
List<HwProductInfoDetail> hwProductInfoDetailList = productInfo.getHwProductInfoDetailList();
for (HwProductInfoDetail hwProductInfoDetail : hwProductInfoDetailList) {
if ("13".equals(hwProductInfoDetail.getConfigModel())){
// 将每个产品信息的明细列表转换为树形结构
List<HwProductInfoDetail> treeStructureList = buildProductInfoDetailTree(productInfo.getHwProductInfoDetailList());
productInfo.setHwProductInfoDetailList(treeStructureList);
}
}
}
return hwProductInfoJoinDetailList;
}
/**
* 构建前端所需要树结构
*
* @param productInfoDetails 产品明细列表
* @return 树结构列表
*/
public List<HwProductInfoDetail> buildProductInfoDetailTree(List<HwProductInfoDetail> productInfoDetails) {
List<HwProductInfoDetail> returnList = new ArrayList<>();
List<Long> 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<HwProductInfoDetail> list, HwProductInfoDetail t) {
// 得到子节点列表
List<HwProductInfoDetail> 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<HwProductInfoDetail> getChildList(List<HwProductInfoDetail> list, HwProductInfoDetail t) {
List<HwProductInfoDetail> tlist = new ArrayList<HwProductInfoDetail>();
Iterator<HwProductInfoDetail> 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<HwProductInfoDetail> list, HwProductInfoDetail t) {
return getChildList(list, t).size() > 0 ? true : false;
}
/**
* 查询产品信息配置列表,join portalConfigType
*
* @param hwProductInfo 产品信息配置
* @return 产品信息配置
*/
@Override
public List<HwProductInfo> 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
*/
@RestController
@RequiredArgsConstructor
public class HwWebDocumentServiceImpl implements IHwWebDocumentService
{
private final 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<HwWebDocument> 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
*/
@RestController
@RequiredArgsConstructor
public class HwWebMenuServiceImpl implements IHwWebMenuService
{
private final 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<HwWebMenu> selectHwWebMenuList(HwWebMenu hwWebMenu)
{
List<HwWebMenu> hwWebMenus = hwWebMenuMapper.selectHwWebMenuList(hwWebMenu);
return hwWebMenus;
}
/**
* 获取菜单树列表
*/
@Override
public List<HwWebMenu> selectMenuTree(HwWebMenu hwWebMenu)
{
List<HwWebMenu> 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<HwWebMenu> buildWebMenuTree(List<HwWebMenu> menus) {
List<HwWebMenu> returnList = new ArrayList<>();
List<Long> 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<HwWebMenu> list, HwWebMenu t) {
// 得到子节点列表
List<HwWebMenu> childList = getChildList(list, t);
t.setChildren(childList);
for (HwWebMenu tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<HwWebMenu> getChildList(List<HwWebMenu> list, HwWebMenu t) {
List<HwWebMenu> tlist = new ArrayList<HwWebMenu>();
Iterator<HwWebMenu> 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<HwWebMenu> 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
*/
@RestController
@RequiredArgsConstructor
public class HwWebMenuServiceImpl1 implements IHwWebMenuService1
{
private final 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<HwWebMenu1> selectHwWebMenuList(HwWebMenu1 HwWebMenu1)
{
List<HwWebMenu1> hwWebMenus = HwWebMenuMapper1.selectHwWebMenuList(HwWebMenu1);
return hwWebMenus;
}
/**
* 获取菜单树列表
*/
@Override
public List<HwWebMenu1> selectMenuTree(HwWebMenu1 HwWebMenu1)
{
List<HwWebMenu1> 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<HwWebMenu1> buildWebMenuTree(List<HwWebMenu1> menus) {
List<HwWebMenu1> returnList = new ArrayList<>();
List<Long> 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<HwWebMenu1> list, HwWebMenu1 t) {
// 得到子节点列表
List<HwWebMenu1> childList = getChildList(list, t);
t.setChildren(childList);
for (HwWebMenu1 tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<HwWebMenu1> getChildList(List<HwWebMenu1> list, HwWebMenu1 t) {
List<HwWebMenu1> tlist = new ArrayList<HwWebMenu1>();
Iterator<HwWebMenu1> 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<HwWebMenu1> 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
*/
@RestController
@RequiredArgsConstructor
public class HwWebServiceImpl implements IHwWebService
{
private final 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<HwWeb> 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<HwWeb> 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
*/
@RestController
@RequiredArgsConstructor
public class HwWebServiceImpl1 implements IHwWebService1
{
private final 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<HwWeb1> 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<HwWeb1> 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
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwAboutUsInfoDetailMapper">
<resultMap type="HwAboutUsInfoDetail" id="HwAboutUsInfoDetailResult">
<result property="usInfoDetailId" column="us_info_detail_id" />
<result property="aboutUsInfoId" column="about_us_info_id" />
<result property="usInfoDetailTitle" column="us_info_detail_title" />
<result property="usInfoDetailDesc" column="us_info_detail_desc" />
<result property="usInfoDetailOrder" column="us_info_detail_order" />
<result property="usInfoDetailPic" column="us_info_detail_pic" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectHwAboutUsInfoDetailVo">
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
</sql>
<select id="selectHwAboutUsInfoDetailList" parameterType="HwAboutUsInfoDetail" resultMap="HwAboutUsInfoDetailResult">
<include refid="selectHwAboutUsInfoDetailVo"/>
<where>
<if test="aboutUsInfoId != null "> and about_us_info_id = #{aboutUsInfoId}</if>
<if test="usInfoDetailTitle != null and usInfoDetailTitle != ''"> and us_info_detail_title like concat('%', #{usInfoDetailTitle}, '%')</if>
<if test="usInfoDetailDesc != null and usInfoDetailDesc != ''"> and us_info_detail_desc like concat('%', #{usInfoDetailDesc}, '%')</if>
<if test="usInfoDetailOrder != null "> and us_info_detail_order = #{usInfoDetailOrder}</if>
<if test="usInfoDetailPic != null and usInfoDetailPic != ''"> and us_info_detail_pic = #{usInfoDetailPic}</if>
</where>
</select>
<select id="selectHwAboutUsInfoDetailByUsInfoDetailId" parameterType="Long" resultMap="HwAboutUsInfoDetailResult">
<include refid="selectHwAboutUsInfoDetailVo"/>
where us_info_detail_id = #{usInfoDetailId}
</select>
<insert id="insertHwAboutUsInfoDetail" parameterType="HwAboutUsInfoDetail" useGeneratedKeys="true" keyProperty="usInfoDetailId">
insert into hw_about_us_info_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="aboutUsInfoId != null">about_us_info_id,</if>
<if test="usInfoDetailTitle != null">us_info_detail_title,</if>
<if test="usInfoDetailDesc != null">us_info_detail_desc,</if>
<if test="usInfoDetailOrder != null">us_info_detail_order,</if>
<if test="usInfoDetailPic != null">us_info_detail_pic,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="aboutUsInfoId != null">#{aboutUsInfoId},</if>
<if test="usInfoDetailTitle != null">#{usInfoDetailTitle},</if>
<if test="usInfoDetailDesc != null">#{usInfoDetailDesc},</if>
<if test="usInfoDetailOrder != null">#{usInfoDetailOrder},</if>
<if test="usInfoDetailPic != null">#{usInfoDetailPic},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwAboutUsInfoDetail" parameterType="HwAboutUsInfoDetail">
update hw_about_us_info_detail
<trim prefix="SET" suffixOverrides=",">
<if test="aboutUsInfoId != null">about_us_info_id = #{aboutUsInfoId},</if>
<if test="usInfoDetailTitle != null">us_info_detail_title = #{usInfoDetailTitle},</if>
<if test="usInfoDetailDesc != null">us_info_detail_desc = #{usInfoDetailDesc},</if>
<if test="usInfoDetailOrder != null">us_info_detail_order = #{usInfoDetailOrder},</if>
<if test="usInfoDetailPic != null">us_info_detail_pic = #{usInfoDetailPic},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where us_info_detail_id = #{usInfoDetailId}
</update>
<delete id="deleteHwAboutUsInfoDetailByUsInfoDetailId" parameterType="Long">
delete from hw_about_us_info_detail where us_info_detail_id = #{usInfoDetailId}
</delete>
<delete id="deleteHwAboutUsInfoDetailByUsInfoDetailIds" parameterType="String">
delete from hw_about_us_info_detail where us_info_detail_id in
<foreach item="usInfoDetailId" collection="array" open="(" separator="," close=")">
#{usInfoDetailId}
</foreach>
</delete>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwAboutUsInfoMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwAboutUsInfoMapper">
<resultMap type="HwAboutUsInfo" id="HwAboutUsInfoResult">
<result property="aboutUsInfoId" column="about_us_info_id" />
<result property="aboutUsInfoType" column="about_us_info_type" />
<result property="aboutUsInfoEtitle" column="about_us_info_etitle" />
<result property="aboutUsInfoTitle" column="about_us_info_title" />
<result property="aboutUsInfoDesc" column="about_us_info_desc" />
<result property="aboutUsInfoOrder" column="about_us_info_order" />
<result property="displayModal" column="display_modal" />
<result property="aboutUsInfoPic" column="about_us_info_pic" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectHwAboutUsInfoVo">
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
</sql>
<select id="selectHwAboutUsInfoList" parameterType="HwAboutUsInfo" resultMap="HwAboutUsInfoResult">
<include refid="selectHwAboutUsInfoVo"/>
<where>
<if test="aboutUsInfoType != null and aboutUsInfoType != ''"> and about_us_info_type = #{aboutUsInfoType}</if>
<if test="aboutUsInfoTitle != null and aboutUsInfoTitle != ''"> and about_us_info_title like concat('%', #{aboutUsInfoTitle }, '%') </if>
<if test="aboutUsInfoDesc != null and aboutUsInfoDesc != ''"> and about_us_info_desc like concat('%', #{aboutUsInfoDesc}, '%')</if>
<if test="aboutUsInfoOrder != null "> and about_us_info_order = #{aboutUsInfoOrder}</if>
<if test="aboutUsInfoPic != null and aboutUsInfoPic != ''"> and about_us_info_pic = #{aboutUsInfoPic}</if>
</where>
</select>
<select id="selectHwAboutUsInfoByAboutUsInfoId" parameterType="Long" resultMap="HwAboutUsInfoResult">
<include refid="selectHwAboutUsInfoVo"/>
where about_us_info_id = #{aboutUsInfoId}
</select>
<insert id="insertHwAboutUsInfo" parameterType="HwAboutUsInfo" useGeneratedKeys="true" keyProperty="aboutUsInfoId">
insert into hw_about_us_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="aboutUsInfoType != null">about_us_info_type,</if>
<if test="aboutUsInfoEtitle != null and aboutUsInfoEtitle != ''">about_us_info_etitle,</if>
<if test="aboutUsInfoTitle != null and aboutUsInfoTitle != ''">about_us_info_title,</if>
<if test="aboutUsInfoDesc != null and aboutUsInfoDesc != ''">about_us_info_desc,</if>
<if test="aboutUsInfoOrder != null">about_us_info_order,</if>
<if test="displayModal != null and displayModal != ''">display_modal,</if>
<if test="aboutUsInfoPic != null">about_us_info_pic,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="aboutUsInfoType != null">#{aboutUsInfoType},</if>
<if test="aboutUsInfoEtitle != null and aboutUsInfoEtitle != ''">#{aboutUsInfoEtitle},</if>
<if test="aboutUsInfoTitle != null and aboutUsInfoTitle != ''">#{aboutUsInfoTitle},</if>
<if test="aboutUsInfoDesc != null and aboutUsInfoDesc != ''">#{aboutUsInfoDesc},</if>
<if test="aboutUsInfoOrder != null">#{aboutUsInfoOrder},</if>
<if test="displayModal != null and displayModal != ''">#{displayModal},</if>
<if test="aboutUsInfoPic != null">#{aboutUsInfoPic},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwAboutUsInfo" parameterType="HwAboutUsInfo">
update hw_about_us_info
<trim prefix="SET" suffixOverrides=",">
<if test="aboutUsInfoType != null">about_us_info_type = #{aboutUsInfoType},</if>
<if test="aboutUsInfoEtitle != null and aboutUsInfoEtitle != ''">about_us_info_etitle = #{aboutUsInfoEtitle},</if>
<if test="aboutUsInfoTitle != null and aboutUsInfoTitle != ''">about_us_info_title = #{aboutUsInfoTitle},</if>
<if test="aboutUsInfoDesc != null and aboutUsInfoDesc != ''">about_us_info_desc = #{aboutUsInfoDesc},</if>
<if test="aboutUsInfoOrder != null">about_us_info_order = #{aboutUsInfoOrder},</if>
<if test="displayModal != null and displayModal != ''">display_modal = #{displayModal},</if>
<if test="aboutUsInfoPic != null">about_us_info_pic = #{aboutUsInfoPic},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where about_us_info_id = #{aboutUsInfoId}
</update>
<delete id="deleteHwAboutUsInfoByAboutUsInfoId" parameterType="Long">
delete from hw_about_us_info where about_us_info_id = #{aboutUsInfoId}
</delete>
<delete id="deleteHwAboutUsInfoByAboutUsInfoIds" parameterType="String">
delete from hw_about_us_info where about_us_info_id in
<foreach item="aboutUsInfoId" collection="array" open="(" separator="," close=")">
#{aboutUsInfoId}
</foreach>
</delete>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwContactUsInfoMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwContactUsInfoMapper">
<resultMap type="HwContactUsInfo" id="HwContactUsInfoResult">
<result property="contactUsInfoId" column="contact_us_info_id" />
<result property="userName" column="user_name" />
<result property="userEmail" column="user_email" />
<result property="userPhone" column="user_phone" />
<result property="userIp" column="user_ip" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectHwContactUsInfoVo">
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
</sql>
<select id="selectHwContactUsInfoList" parameterType="HwContactUsInfo" resultMap="HwContactUsInfoResult">
<include refid="selectHwContactUsInfoVo"/>
<where>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="userEmail != null and userEmail != ''"> and user_email like concat('%', #{userEmail}, '%')</if>
<if test="userPhone != null and userPhone != ''"> and user_phone like concat('%', #{userPhone}, '%')</if>
<if test="userIp != null and userIp != ''"> and user_ip like concat('%', #{userIp}, '%')</if>
</where>
</select>
<select id="selectHwContactUsInfoByContactUsInfoId" parameterType="Long" resultMap="HwContactUsInfoResult">
<include refid="selectHwContactUsInfoVo"/>
where contact_us_info_id = #{contactUsInfoId}
</select>
<insert id="insertHwContactUsInfo" parameterType="HwContactUsInfo" useGeneratedKeys="true" keyProperty="contactUsInfoId">
insert into hw_contact_us_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="userName != null and userName != ''">user_name,</if>
<if test="userEmail != null">user_email,</if>
<if test="userPhone != null">user_phone,</if>
<if test="userIp != null">user_ip,</if>
<if test="remark != null">remark,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userName != null and userName != ''">#{userName},</if>
<if test="userEmail != null">#{userEmail},</if>
<if test="userPhone != null">#{userPhone},</if>
<if test="userIp != null">#{userIp},</if>
<if test="remark != null">#{remark},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwContactUsInfo" parameterType="HwContactUsInfo">
update hw_contact_us_info
<trim prefix="SET" suffixOverrides=",">
<if test="userName != null and userName != ''">user_name = #{userName},</if>
<if test="userEmail != null">user_email = #{userEmail},</if>
<if test="userPhone != null">user_phone = #{userPhone},</if>
<if test="userIp != null">user_ip = #{userIp},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where contact_us_info_id = #{contactUsInfoId}
</update>
<delete id="deleteHwContactUsInfoByContactUsInfoId" parameterType="Long">
delete from hw_contact_us_info where contact_us_info_id = #{contactUsInfoId}
</delete>
<delete id="deleteHwContactUsInfoByContactUsInfoIds" parameterType="String">
delete from hw_contact_us_info where contact_us_info_id in
<foreach item="contactUsInfoId" collection="array" open="(" separator="," close=")">
#{contactUsInfoId}
</foreach>
</delete>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwPortalConfigMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwPortalConfigMapper">
<resultMap type="HwPortalConfig" id="HwPortalConfigResult">
<result property="portalConfigId" column="portal_config_id" />
<result property="portalConfigType" column="portal_config_type" />
<result property="portalConfigTypeId" column="portal_config_type_id" />
<result property="portalConfigTitle" column="portal_config_title" />
<result property="portalConfigOrder" column="portal_config_order" />
<result property="portalConfigDesc" column="portal_config_desc" />
<result property="buttonName" column="button_name" />
<result property="routerAddress" column="router_address" />
<result property="portalConfigPic" column="portal_config_pic" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="configTypeName" column="config_type_name" />
</resultMap>
<resultMap type="HwPortalConfig" id="HwPortalConfigResult2">
<result property="portalConfigId" column="portal_config_id" />
<result property="portalConfigType" column="portal_config_type" />
<result property="portalConfigTypeId" column="portal_config_type_id" />
<result property="portalConfigTitle" column="portal_config_title" />
<result property="portalConfigOrder" column="portal_config_order" />
<result property="portalConfigDesc" column="portal_config_desc" />
<result property="buttonName" column="button_name" />
<result property="routerAddress" column="router_address" />
<result property="portalConfigPic" column="portal_config_pic" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="configTypeName" column="config_type_name" />
<result property="homeConfigTypePic" column="home_config_type_pic" />
<result property="homeConfigTypeIcon" column="home_config_type_icon" />
<result property="homeConfigTypeName" column="home_config_type_name" />
<result property="homeConfigTypeClassfication" column="config_type_classfication" />
<result property="parentId" column="parent_id" />
<result property="ancestors" column="ancestors" />
</resultMap>
<sql id="selectHwPortalConfigVo">
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
</sql>
<sql id="selectHwPortalConfigVo2">
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
</sql>
<select id="selectHwPortalConfigList" parameterType="HwPortalConfig" resultMap="HwPortalConfigResult">
<include refid="selectHwPortalConfigVo"/>
<where>
<if test="portalConfigType != null and portalConfigType != ''"> and portal_config_type = #{portalConfigType}</if>
<if test="portalConfigTypeId != null "> and portal_config_type_id = #{portalConfigTypeId}</if>
<if test="portalConfigTitle != null and portalConfigTitle != ''"> and portal_config_title like concat('%', #{portalConfigTitle}, '%')</if>
<if test="portalConfigOrder != null "> and portal_config_order = #{portalConfigOrder}</if>
<if test="portalConfigDesc != null and portalConfigDesc != ''"> and portal_config_desc = #{portalConfigDesc}</if>
<if test="buttonName != null and buttonName != ''"> and button_name like concat('%', #{buttonName}, '%')</if>
<if test="routerAddress != null and routerAddress != ''"> and router_address = #{routerAddress}</if>
<if test="portalConfigPic != null and portalConfigPic != ''"> and portal_config_pic = #{portalConfigPic}</if>
</where>
</select>
<select id="selectHwPortalConfigList2" parameterType="HwPortalConfig" resultMap="HwPortalConfigResult2">
<include refid="selectHwPortalConfigVo2"/>
<where>
<if test="portalConfigType != null and portalConfigType != ''"> and portal_config_type = #{portalConfigType}</if>
<if test="portalConfigTypeId != null "> and portal_config_type_id = #{portalConfigTypeId}</if>
<if test="portalConfigTitle != null and portalConfigTitle != ''"> and portal_config_title like concat('%', #{portalConfigTitle}, '%')</if>
<if test="portalConfigOrder != null "> and portal_config_order = #{portalConfigOrder}</if>
<if test="portalConfigDesc != null and portalConfigDesc != ''"> and portal_config_desc = #{portalConfigDesc}</if>
<if test="buttonName != null and buttonName != ''"> and button_name like concat('%', #{buttonName}, '%')</if>
<if test="routerAddress != null and routerAddress != ''"> and router_address = #{routerAddress}</if>
<if test="portalConfigPic != null and portalConfigPic != ''"> and portal_config_pic = #{portalConfigPic}</if>
</where>
</select>
<select id="selectHwPortalConfigByPortalConfigId" parameterType="Long" resultMap="HwPortalConfigResult">
<include refid="selectHwPortalConfigVo"/>
where portal_config_id = #{portalConfigId}
</select>
<insert id="insertHwPortalConfig" parameterType="HwPortalConfig" useGeneratedKeys="true" keyProperty="portalConfigId">
insert into hw_portal_config
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="portalConfigType != null and portalConfigType != ''">portal_config_type,</if>
<if test="portalConfigTypeId != null">portal_config_type_id,</if>
<if test="portalConfigTitle != null and portalConfigTitle != ''">portal_config_title,</if>
<if test="portalConfigOrder != null">portal_config_order,</if>
<if test="portalConfigDesc != null">portal_config_desc,</if>
<if test="buttonName != null">button_name,</if>
<if test="routerAddress != null">router_address,</if>
<if test="portalConfigPic != null and portalConfigPic != ''">portal_config_pic,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="portalConfigType != null and portalConfigType != ''">#{portalConfigType},</if>
<if test="portalConfigTypeId != null">#{portalConfigTypeId},</if>
<if test="portalConfigTitle != null and portalConfigTitle != ''">#{portalConfigTitle},</if>
<if test="portalConfigOrder != null">#{portalConfigOrder},</if>
<if test="portalConfigDesc != null">#{portalConfigDesc},</if>
<if test="buttonName != null">#{buttonName},</if>
<if test="routerAddress != null">#{routerAddress},</if>
<if test="portalConfigPic != null and portalConfigPic != ''">#{portalConfigPic},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwPortalConfig" parameterType="HwPortalConfig">
update hw_portal_config
<trim prefix="SET" suffixOverrides=",">
<if test="portalConfigType != null and portalConfigType != ''">portal_config_type = #{portalConfigType},</if>
<if test="portalConfigTypeId != null">portal_config_type_id = #{portalConfigTypeId},</if>
<if test="portalConfigTitle != null and portalConfigTitle != ''">portal_config_title = #{portalConfigTitle},</if>
<if test="portalConfigOrder != null">portal_config_order = #{portalConfigOrder},</if>
<if test="portalConfigDesc != null">portal_config_desc = #{portalConfigDesc},</if>
<if test="buttonName != null">button_name = #{buttonName},</if>
<if test="routerAddress != null">router_address = #{routerAddress},</if>
<if test="portalConfigPic != null and portalConfigPic != ''">portal_config_pic = #{portalConfigPic},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where portal_config_id = #{portalConfigId}
</update>
<delete id="deleteHwPortalConfigByPortalConfigId" parameterType="Long">
delete from hw_portal_config where portal_config_id = #{portalConfigId}
</delete>
<delete id="deleteHwPortalConfigByPortalConfigIds" parameterType="String">
delete from hw_portal_config where portal_config_id in
<foreach item="portalConfigId" collection="array" open="(" separator="," close=")">
#{portalConfigId}
</foreach>
</delete>
<sql id="selectHwPortalConfigJoinVo">
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
</sql>
<select id="selectHwPortalConfigJoinList" parameterType="HwPortalConfig" resultMap="HwPortalConfigResult">
<include refid="selectHwPortalConfigJoinVo"/>
<where>
<if test="portalConfigType != null and portalConfigType != ''"> and hpc.portal_config_type = #{portalConfigType}</if>
<if test="portalConfigTypeId != null "> and hpc.portal_config_type_id = #{portalConfigTypeId}</if>
<if test="portalConfigTitle != null and portalConfigTitle != ''"> and hpc.portal_config_title like concat('%', #{portalConfigTitle}, '%')</if>
<if test="portalConfigOrder != null "> and hpc.portal_config_order = #{portalConfigOrder}</if>
<if test="portalConfigDesc != null and portalConfigDesc != ''"> and hpc.portal_config_desc = #{portalConfigDesc}</if>
<if test="buttonName != null and buttonName != ''"> and hpc.button_name like concat('%', #{buttonName}, '%')</if>
<if test="routerAddress != null and routerAddress != ''"> and hpc.router_address = #{routerAddress}</if>
<if test="portalConfigPic != null and portalConfigPic != ''"> and hpc.portal_config_pic = #{portalConfigPic}</if>
</where>
</select>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwPortalConfigTypeMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwPortalConfigTypeMapper">
<resultMap type="HwPortalConfigType" id="HwPortalConfigTypeResult">
<result property="configTypeId" column="config_type_id" />
<result property="configTypeClassfication" column="config_type_classfication" />
<result property="configTypeName" column="config_type_name" />
<result property="homeConfigTypeName" column="home_config_type_name" />
<result property="configTypeDesc" column="config_type_desc" />
<result property="configTypeIcon" column="config_type_icon" />
<result property="homeConfigTypePic" column="home_config_type_pic" />
<result property="parentId" column="parent_id" />
<result property="ancestors" column="ancestors" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectHwPortalConfigTypeVo">
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
</sql>
<select id="selectHwPortalConfigTypeList" parameterType="HwPortalConfigType" resultMap="HwPortalConfigTypeResult">
<include refid="selectHwPortalConfigTypeVo"/>
<where>
<if test="configTypeClassfication != null and configTypeClassfication != ''"> and config_type_classfication = #{configTypeClassfication}</if>
<if test="configTypeName != null and configTypeName != ''"> and config_type_name like concat('%', #{configTypeName}, '%')</if>
<if test="homeConfigTypeName != null and homeConfigTypeName != ''"> and home_config_type_name like concat('%', #{homeConfigTypeName}, '%')</if>
<if test="configTypeDesc != null and configTypeDesc != ''"> and config_type_desc = #{configTypeDesc}</if>
<if test="configTypeIcon != null and configTypeIcon != ''"> and config_type_icon = #{configTypeIcon}</if>
<if test="homeConfigTypePic != null and homeConfigTypePic != ''"> and home_config_type_pic = #{homeConfigTypePic}</if>
<if test="parentId != null "> and parent_id = #{parentId}</if>
<if test="ancestors != null and ancestors != ''"> and ancestors = #{ancestors}</if>
</where>
</select>
<select id="selectHwPortalConfigTypeByConfigTypeId" parameterType="Long" resultMap="HwPortalConfigTypeResult">
<include refid="selectHwPortalConfigTypeVo"/>
where config_type_id = #{configTypeId}
</select>
<insert id="insertHwPortalConfigType" parameterType="HwPortalConfigType" useGeneratedKeys="true" keyProperty="configTypeId">
insert into hw_portal_config_type
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="configTypeClassfication != null and configTypeClassfication != ''">config_type_classfication,</if>
<if test="configTypeName != null and configTypeName != ''">config_type_name,</if>
<if test="homeConfigTypeName != null">home_config_type_name,</if>
<if test="configTypeDesc != null">config_type_desc,</if>
<if test="configTypeIcon != null">config_type_icon,</if>
<if test="homeConfigTypePic != null">home_config_type_pic,</if>
<if test="parentId != null">parent_id,</if>
<if test="ancestors != null">ancestors,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="configTypeClassfication != null and configTypeClassfication != ''">#{configTypeClassfication},</if>
<if test="configTypeName != null and configTypeName != ''">#{configTypeName},</if>
<if test="homeConfigTypeName != null">#{homeConfigTypeName},</if>
<if test="configTypeDesc != null">#{configTypeDesc},</if>
<if test="configTypeIcon != null">#{configTypeIcon},</if>
<if test="homeConfigTypePic != null">#{homeConfigTypePic},</if>
<if test="parentId != null">#{parentId},</if>
<if test="ancestors != null">#{ancestors},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwPortalConfigType" parameterType="HwPortalConfigType">
update hw_portal_config_type
<trim prefix="SET" suffixOverrides=",">
<if test="configTypeClassfication != null and configTypeClassfication != ''">config_type_classfication = #{configTypeClassfication},</if>
<if test="configTypeName != null and configTypeName != ''">config_type_name = #{configTypeName},</if>
<if test="homeConfigTypeName != null">home_config_type_name = #{homeConfigTypeName},</if>
<if test="configTypeDesc != null">config_type_desc = #{configTypeDesc},</if>
<if test="configTypeIcon != null">config_type_icon = #{configTypeIcon},</if>
<if test="homeConfigTypePic != null">home_config_type_pic = #{homeConfigTypePic},</if>
<if test="parentId != null">parent_id = #{parentId},</if>
<if test="ancestors != null">ancestors = #{ancestors},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where config_type_id = #{configTypeId}
</update>
<delete id="deleteHwPortalConfigTypeByConfigTypeId" parameterType="Long">
delete from hw_portal_config_type where config_type_id = #{configTypeId}
</delete>
<delete id="deleteHwPortalConfigTypeByConfigTypeIds" parameterType="String">
delete from hw_portal_config_type where config_type_id in
<foreach item="configTypeId" collection="array" open="(" separator="," close=")">
#{configTypeId}
</foreach>
</delete>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwProductCaseInfoMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwProductCaseInfoMapper">
<resultMap type="HwProductCaseInfo" id="HwProductCaseInfoResult">
<result property="caseInfoId" column="case_info_id" />
<result property="caseInfoTitle" column="case_info_title" />
<result property="configTypeId" column="config_type_id" />
<result property="typicalFlag" column="typical_flag" />
<result property="caseInfoDesc" column="case_info_desc" />
<result property="caseInfoPic" column="case_info_pic" />
<result property="caseInfoHtml" column="case_info_html" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectHwProductCaseInfoWithHtmlVo">
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
</sql>
<sql id="selectHwProductCaseInfoVo">
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
</sql>
<select id="selectHwProductCaseInfoList" parameterType="HwProductCaseInfo" resultMap="HwProductCaseInfoResult">
<include refid="selectHwProductCaseInfoVo"/>
<where>
<if test="caseInfoTitle != null and caseInfoTitle != ''"> and case_info_title = #{caseInfoTitle}</if>
<if test="typicalFlag != null and typicalFlag != ''"> and typical_flag = #{typicalFlag}</if>
<if test="caseInfoDesc != null and caseInfoDesc != ''"> and case_info_desc = #{caseInfoDesc}</if>
<if test="caseInfoPic != null and caseInfoPic != ''"> and case_info_pic = #{caseInfoPic}</if>
<if test="caseInfoHtml != null and caseInfoHtml != ''"> and case_info_html = #{caseInfoHtml}</if>
<if test="homeTypicalFlag != null and homeTypicalFlag != '' and configTypeId!=null"> and exists (select 1 from hw_portal_config_type hpct where hpct.parent_id=#{configTypeId} and hpct.config_type_id =hpci.config_type_id)</if>
<if test='(homeTypicalFlag == null or homeTypicalFlag == "") and configTypeId != null '> and config_type_id = #{configTypeId}</if>
</where>
</select>
<select id="selectHwProductCaseInfoByCaseInfoId" parameterType="Long" resultMap="HwProductCaseInfoResult">
<include refid="selectHwProductCaseInfoWithHtmlVo"/>
where case_info_id = #{caseInfoId}
</select>
<insert id="insertHwProductCaseInfo" parameterType="HwProductCaseInfo" useGeneratedKeys="true" keyProperty="caseInfoId">
insert into hw_product_case_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="caseInfoTitle != null and caseInfoTitle != ''">case_info_title,</if>
<if test="configTypeId != null">config_type_id,</if>
<if test="typicalFlag != null and typicalFlag != ''">typical_flag,</if>
<if test="caseInfoDesc != null and caseInfoDesc != ''">case_info_desc,</if>
<if test="caseInfoPic != null and caseInfoPic != ''">case_info_pic,</if>
<if test="caseInfoHtml != null and caseInfoHtml != ''">case_info_html,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="caseInfoTitle != null and caseInfoTitle != ''">#{caseInfoTitle},</if>
<if test="configTypeId != null">#{configTypeId},</if>
<if test="typicalFlag != null and typicalFlag != ''">#{typicalFlag},</if>
<if test="caseInfoDesc != null and caseInfoDesc != ''">#{caseInfoDesc},</if>
<if test="caseInfoPic != null and caseInfoPic != ''">#{caseInfoPic},</if>
<if test="caseInfoHtml != null and caseInfoHtml != ''">#{caseInfoHtml},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwProductCaseInfo" parameterType="HwProductCaseInfo">
update hw_product_case_info
<trim prefix="SET" suffixOverrides=",">
<if test="caseInfoTitle != null and caseInfoTitle != ''">case_info_title = #{caseInfoTitle},</if>
<if test="configTypeId != null">config_type_id = #{configTypeId},</if>
<if test="typicalFlag != null and typicalFlag != ''">typical_flag = #{typicalFlag},</if>
<if test="caseInfoDesc != null and caseInfoDesc != ''">case_info_desc = #{caseInfoDesc},</if>
<if test="caseInfoPic != null and caseInfoPic != ''">case_info_pic = #{caseInfoPic},</if>
<if test="caseInfoHtml != null and caseInfoHtml != ''">case_info_html = #{caseInfoHtml},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where case_info_id = #{caseInfoId}
</update>
<delete id="deleteHwProductCaseInfoByCaseInfoId" parameterType="Long">
delete from hw_product_case_info where case_info_id = #{caseInfoId}
</delete>
<delete id="deleteHwProductCaseInfoByCaseInfoIds" parameterType="String">
delete from hw_product_case_info where case_info_id in
<foreach item="caseInfoId" collection="array" open="(" separator="," close=")">
#{caseInfoId}
</foreach>
</delete>
<sql id="selectHwProductCaseInfoJoinVo">
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
</sql>
<select id="selectHwProductCaseInfoJoinList" parameterType="HwProductCaseInfo" resultMap="HwProductCaseInfoResult">
<include refid="selectHwProductCaseInfoJoinVo"/>
<where>
<if test="caseInfoTitle != null and caseInfoTitle != ''"> and hpci.case_info_title like concat('%', #{caseInfoTitle}, '%')</if>
<if test="configTypeId != null and configTypeId != ''"> and hpci.config_type_id = #{configTypeId}</if>
<if test="typicalFlag != null and typicalFlag != ''"> and hpci.typical_flag = #{typicalFlag}</if>
<if test="caseInfoDesc != null and caseInfoDesc != ''"> and case_info_desc = #{caseInfoDesc}</if>
<if test="caseInfoPic != null and caseInfoPic != ''"> and case_info_pic = #{caseInfoPic}</if>
<if test="caseInfoHtml != null and caseInfoHtml != ''"> and case_info_html = #{caseInfoHtml}</if>
<if test="homeTypicalFlag != null and homeTypicalFlag != '' and configTypeId!=null"> and exists (select 1 from hw_portal_config_type hpct where hpct.parent_id=#{configTypeId} and hpct.config_type_id =hpci.config_type_id)</if>
<if test='(homeTypicalFlag == null or homeTypicalFlag == "") and configTypeId != null '> and config_type_id = #{configTypeId}</if>
</where>
</select>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwProductInfoDetailMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwProductInfoDetailMapper">
<resultMap type="HwProductInfoDetail" id="HwProductInfoDetailResult">
<result property="productInfoDetailId" column="product_info_detail_id" />
<result property="parentId" column="parent_id" />
<result property="productInfoId" column="product_info_id" />
<result property="configModal" column="config_modal" />
<result property="productInfoDetailTitle" column="product_info_detail_title" />
<result property="productInfoDetailDesc" column="product_info_detail_desc" />
<result property="productInfoDetailOrder" column="product_info_detail_order" />
<result property="productInfoDetailPic" column="product_info_detail_pic" />
<result property="ancestors" column="ancestors" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectHwProductInfoDetailVo">
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
</sql>
<select id="selectHwProductInfoDetailList" parameterType="HwProductInfoDetail" resultMap="HwProductInfoDetailResult">
<include refid="selectHwProductInfoDetailVo"/>
<where>
<if test="parentId != null and parentId != ''"> and parent_id = #{parentId}</if>
<if test="productInfoId != null "> and product_info_id = #{productInfoId}</if>
<if test="configModal != null and configModal != ''"> and config_modal = #{configModal}</if>
<if test="productInfoDetailTitle != null and productInfoDetailTitle != ''"> and product_info_detail_title like concat('%', #{productInfoDetailTitle}, '%')</if>
<if test="productInfoDetailDesc != null and productInfoDetailDesc != ''"> and product_info_detail_desc like concat('%', #{productInfoDetailDesc}, '%')</if>
<if test="productInfoDetailOrder != null "> and product_info_detail_order = #{productInfoDetailOrder}</if>
<if test="productInfoDetailPic != null and productInfoDetailPic != ''"> and product_info_detail_pic = #{productInfoDetailPic}</if>
<if test="ancestors != null and ancestors != ''"> and ancestors = #{ancestors}</if>
</where>
</select>
<select id="selectHwProductInfoDetailByProductInfoDetailId" parameterType="Long" resultMap="HwProductInfoDetailResult">
<include refid="selectHwProductInfoDetailVo"/>
where product_info_detail_id = #{productInfoDetailId}
</select>
<insert id="insertHwProductInfoDetail" parameterType="HwProductInfoDetail" useGeneratedKeys="true" keyProperty="productInfoDetailId">
insert into hw_product_info_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="parentId != null">parent_id,</if>
<if test="productInfoId != null">product_info_id,</if>
<if test="configModal != null">config_modal,</if>
<if test="productInfoDetailTitle != null and productInfoDetailTitle != ''">product_info_detail_title,</if>
<if test="productInfoDetailDesc != null and productInfoDetailDesc != ''">product_info_detail_desc,</if>
<if test="productInfoDetailOrder != null">product_info_detail_order,</if>
<if test="productInfoDetailPic != null">product_info_detail_pic,</if>
<if test="ancestors != null and ancestors != ''">ancestors,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="parentId != null">#{parentId},</if>
<if test="productInfoId != null">#{productInfoId},</if>
<if test="configModal != null">#{configModal},</if>
<if test="productInfoDetailTitle != null and productInfoDetailTitle != ''">#{productInfoDetailTitle},</if>
<if test="productInfoDetailDesc != null and productInfoDetailDesc != ''">#{productInfoDetailDesc},</if>
<if test="productInfoDetailOrder != null">#{productInfoDetailOrder},</if>
<if test="productInfoDetailPic != null">#{productInfoDetailPic},</if>
<if test="ancestors != null and ancestors != ''">#{ancestors},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwProductInfoDetail" parameterType="HwProductInfoDetail">
update hw_product_info_detail
<trim prefix="SET" suffixOverrides=",">
<if test="parentId != null">parent_id = #{parentId},</if>
<if test="productInfoId != null">product_info_id = #{productInfoId},</if>
<if test="configModal != null">config_modal = #{configModal},</if>
<if test="productInfoDetailTitle != null and productInfoDetailTitle != ''">product_info_detail_title = #{productInfoDetailTitle},</if>
<if test="productInfoDetailDesc != null and productInfoDetailDesc != ''">product_info_detail_desc = #{productInfoDetailDesc},</if>
<if test="productInfoDetailOrder != null">product_info_detail_order = #{productInfoDetailOrder},</if>
<if test="productInfoDetailPic != null">product_info_detail_pic = #{productInfoDetailPic},</if>
<if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where product_info_detail_id = #{productInfoDetailId}
</update>
<delete id="deleteHwProductInfoDetailByProductInfoDetailId" parameterType="Long">
delete from hw_product_info_detail where product_info_detail_id = #{productInfoDetailId}
</delete>
<delete id="deleteHwProductInfoDetailByProductInfoDetailIds" parameterType="String">
delete from hw_product_info_detail where product_info_detail_id in
<foreach item="productInfoDetailId" collection="array" open="(" separator="," close=")">
#{productInfoDetailId}
</foreach>
</delete>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwProductInfoMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwProductInfoMapper">
<resultMap type="HwProductInfo" id="HwProductInfoResult">
<result property="productInfoId" column="product_info_id" />
<result property="configTypeId" column="config_type_id" />
<result property="tabFlag" column="tab_flag" />
<result property="configModal" column="config_modal" />
<result property="productInfoEtitle" column="product_info_etitle" />
<result property="productInfoCtitle" column="product_info_ctitle" />
<result property="productInfoOrder" column="product_info_order" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="parentId" column="parent_id" />
<result property="configTypeName" column="config_type_name" />
</resultMap>
<resultMap id="HwProductInfoHwProductInfoDetailResult" type="HwProductInfo" extends="HwProductInfoResult">
<collection property="hwProductInfoDetailList" notNullColumn="sub_product_info_detail_id" javaType="java.util.List" resultMap="HwProductInfoDetailResult" />
</resultMap>
<resultMap type="HwProductInfoDetail" id="HwProductInfoDetailResult">
<result property="productInfoDetailId" column="sub_product_info_detail_id" />
<result property="parentId" column="sub_parent_id" />
<result property="productInfoId" column="sub_product_info_id" />
<result property="productInfoDetailTitle" column="sub_product_info_detail_title" />
<result property="productInfoDetailDesc" column="sub_product_info_detail_desc" />
<result property="productInfoDetailOrder" column="sub_product_info_detail_order" />
<result property="productInfoDetailPic" column="sub_product_info_detail_pic" />
<result property="ancestors" column="sub_ancestors" />
<result property="createTime" column="sub_create_time" />
<result property="createBy" column="sub_create_by" />
<result property="updateTime" column="sub_update_time" />
<result property="updateBy" column="sub_update_by" />
<result property="configModel" column="config_model" />
</resultMap>
<sql id="selectHwProductInfoVo">
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
</sql>
<select id="selectHwProductInfoList" parameterType="HwProductInfo" resultMap="HwProductInfoResult">
<include refid="selectHwProductInfoVo"/>
<where>
<if test="configTypeId != null and configTypeId != ''"> and config_type_id = #{configTypeId}</if>
<if test="tabFlag != null and tabFlag != ''"> and tab_flag = #{tabFlag}</if>
<if test="configModal != null and configModal != ''"> and config_modal = #{configModal}</if>
<if test="productInfoEtitle != null "> and product_info_etitle like concat('%', #{productInfoEtitle}, '%')</if>
<if test="productInfoCtitle != null and productInfoCtitle != ''"> and product_info_ctitle like concat('%', #{productInfoCtitle}, '%')</if>
<if test="productInfoOrder != null "> and product_info_order = #{productInfoOrder}</if>
</where>
</select>
<select id="selectHwProductInfoByProductInfoId" parameterType="Long" resultMap="HwProductInfoResult">
<include refid="selectHwProductInfoVo"/>
where product_info_id = #{productInfoId}
</select>
<insert id="insertHwProductInfo" parameterType="HwProductInfo" useGeneratedKeys="true" keyProperty="productInfoId">
insert into hw_product_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="configTypeId != null and configTypeId != ''">config_type_id,</if>
<if test="tabFlag != null and tabFlag != ''">tab_flag,</if>
<if test="configModal != null and configModal != ''">config_modal,</if>
<if test="productInfoEtitle != null">product_info_etitle,</if>
<if test="productInfoCtitle != null and productInfoCtitle != ''">product_info_ctitle,</if>
<if test="productInfoOrder != null">product_info_order,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="configTypeId != null and configTypeId != ''">#{configTypeId},</if>
<if test="tabFlag != null and tabFlag != ''">#{tabFlag},</if>
<if test="configModal != null and configModal != ''">#{configModal},</if>
<if test="productInfoEtitle != null">#{productInfoEtitle},</if>
<if test="productInfoCtitle != null and productInfoCtitle != ''">#{productInfoCtitle},</if>
<if test="productInfoOrder != null">#{productInfoOrder},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateHwProductInfo" parameterType="HwProductInfo">
update hw_product_info
<trim prefix="SET" suffixOverrides=",">
<if test="configTypeId != null and configTypeId != ''">config_type_id = #{configTypeId},</if>
<if test="tabFlag != null and tabFlag != ''">tab_flag = #{tabFlag},</if>
<if test="configModal != null and configModal != ''">config_modal = #{configModal},</if>
<if test="productInfoEtitle != null">product_info_etitle = #{productInfoEtitle},</if>
<if test="productInfoCtitle != null and productInfoCtitle != ''">product_info_ctitle = #{productInfoCtitle},</if>
<if test="productInfoOrder != null">product_info_order = #{productInfoOrder},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where product_info_id = #{productInfoId}
</update>
<delete id="deleteHwProductInfoByProductInfoId" parameterType="Long">
delete from hw_product_info where product_info_id = #{productInfoId}
</delete>
<delete id="deleteHwProductInfoByProductInfoIds" parameterType="String">
delete from hw_product_info where product_info_id in
<foreach item="productInfoId" collection="array" open="(" separator="," close=")">
#{productInfoId}
</foreach>
</delete>
<select id="selectHwProductInfoJoinDetailList" parameterType="HwProductInfo" resultMap="HwProductInfoHwProductInfoDetailResult">
select a.product_info_id, a.config_type_id, a.tab_flag, a.config_modal, a.product_info_etitle, a.product_info_ctitle, a.product_info_order, a.create_time, a.create_by, a.update_time, a.update_by,
b.product_info_detail_id as sub_product_info_detail_id, b.parent_id as sub_parent_id, b.product_info_id as sub_product_info_id, b.product_info_detail_title as sub_product_info_detail_title, b.product_info_detail_desc as sub_product_info_detail_desc, b.product_info_detail_order as sub_product_info_detail_order, b.product_info_detail_pic as sub_product_info_detail_pic, b.ancestors as sub_ancestors, b.create_time as sub_create_time, b.create_by as sub_create_by, b.update_time as sub_update_time, b.update_by as sub_update_by,
b.config_modal AS config_model
from hw_product_info a
left join hw_product_info_detail b on b.product_info_id = a.product_info_id
<where>
<if test="configTypeId != null and configTypeId != ''"> and a.config_type_id = #{configTypeId}</if>
<if test="tabFlag != null and tabFlag != ''"> and a.tab_flag = #{tabFlag}</if>
<if test="configModal != null and configModal != ''"> and a.config_modal = #{configModal}</if>
<if test="productInfoEtitle != null "> and a.product_info_etitle = #{productInfoEtitle}</if>
<if test="productInfoCtitle != null and productInfoCtitle != ''"> and a.product_info_ctitle = #{productInfoCtitle}</if>
<if test="productInfoOrder != null "> and a.product_info_order = #{productInfoOrder}</if>
<if test="parentId != null"> and b.parent_id = #{parentId}</if>
</where>
</select>
<sql id="selectHwProductInfoJoinVo">
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
</sql>
<select id="selectHwProductInfoJoinList" parameterType="HwProductInfo" resultMap="HwProductInfoResult">
<include refid="selectHwProductInfoJoinVo"/>
<where>
<if test="configTypeId != null and configTypeId != ''"> and hpi.config_type_id = #{configTypeId}</if>
<if test="tabFlag != null and tabFlag != ''"> and hpi.tab_flag = #{tabFlag}</if>
<if test="configModal != null and configModal != ''"> and hpi.config_modal = #{configModal}</if>
<if test="productInfoEtitle != null "> and hpi.product_info_etitle like concat('%', #{productInfoEtitle}, '%')</if>
<if test="productInfoCtitle != null and productInfoCtitle != ''"> and hpi.product_info_ctitle like concat('%', #{productInfoCtitle}, '%')</if>
<if test="productInfoOrder != null "> and hpi.product_info_order = #{productInfoOrder}</if>
</where>
</select>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebDocumentMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwWebDocumentMapper">
<resultMap type="HwWebDocument" id="HwWebDocumentResult">
<result property="documentId" column="document_id" />
<result property="tenantId" column="tenant_id" />
<result property="documentAddress" column="document_address" />
<result property="createTime" column="create_time" />
<result property="webCode" column="web_code" />
<result property="secretKey" column="secretKey" />
<result property="json" column="json" />
<result property="type" column="type" />
<result property="isDelete" column="is_delete" />
</resultMap>
<sql id="selectHwWebDocumentVo">
select document_id, tenant_id, document_address, create_time, web_code, secretKey ,
json, type,
is_delete
from hw_web_document
</sql>
<select id="selectHwWebDocumentList" parameterType="HwWebDocument" resultMap="HwWebDocumentResult">
<include refid="selectHwWebDocumentVo"/>
<where>
and is_delete = '0'
<if test="documentId != null "> and document_id = #{documentId}</if>
<if test="tenantId != null "> and tenant_id = #{tenantId}</if>
<if test="documentAddress != null and documentAddress != ''"> and document_address = #{documentAddress}</if>
<if test="webCode != null and webCode != ''"> and web_code = #{webCode}</if>
<if test="secretKey != null and secretKey != ''"> and secretKey = #{secretKey}</if>
<if test="json != null and json != ''"> and json = #{json}</if>
<if test="type != null and type != ''"> and type = #{type}</if>
</where>
</select>
<select id="selectHwWebDocumentByDocumentId" parameterType="String" resultMap="HwWebDocumentResult">
<include refid="selectHwWebDocumentVo"/>
where is_delete = '0' and document_id = #{documentId}
</select>
<insert id="insertHwWebDocument" parameterType="HwWebDocument" useGeneratedKeys="true" keyProperty="documentId">
insert into hw_web_document
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="documentId != null">document_id,</if>
<if test="tenantId != null">tenant_id,</if>
<if test="documentAddress != null">document_address,</if>
<if test="createTime != null">create_time,</if>
<if test="webCode != null">web_code,</if>
<if test="secretKey != null">secretKey,</if>
<if test="json != null">json,</if>
<if test="type != null">type,</if>
is_delete,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="documentId != null">#{documentId},</if>
<if test="tenantId != null">#{tenantId},</if>
<if test="documentAddress != null">#{documentAddress},</if>
<if test="createTime != null">#{createTime},</if>
<if test="webCode != null">#{webCode},</if>
<if test="secretKey != null">#{secretKey},</if>
<if test="json != null">#{json},</if>
<if test="type != null">#{type},</if>
<choose>
<when test="isDelete != null and isDelete != ''">#{isDelete},</when>
<otherwise>'0',</otherwise>
</choose>
</trim>
</insert>
<update id="updateHwWebDocument" parameterType="HwWebDocument">
update hw_web_document
<trim prefix="SET" suffixOverrides=",">
<if test="documentId != null">document_id = #{documentId},</if>
<if test="tenantId != null">tenant_id = #{tenantId},</if>
<if test="documentAddress != null">document_address = #{documentAddress},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="webCode != null">web_code = #{webCode},</if>
<if test="secretKey != null">
secretKey = <choose>
<when test="secretKey == ''">NULL</when>
<otherwise>#{secretKey}</otherwise>
</choose>,
</if>
<if test="json != null">json = #{json},</if>
<if test="type != null">type = #{type},</if>
</trim>
where document_id = #{documentId}
</update>
<update id="deleteHwWebDocumentByDocumentId" parameterType="String">
update hw_web_document set is_delete = '1' where document_id = #{documentId}
</update>
<update id="deleteHwWebDocumentByDocumentIds" parameterType="String">
update hw_web_document set is_delete = '1' where document_id in
<foreach item="documentId" collection="array" open="(" separator="," close=")">
#{documentId}
</foreach>
</update>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwWebMapper">
<resultMap type="HwWeb" id="HwWebResult">
<result property="webId" column="web_id" />
<result property="webJson" column="web_json" />
<result property="webJsonString" column="web_json_string" />
<result property="webCode" column="web_code" />
<result property="isDelete" column="is_delete" />
<result property="webJsonEnglish" column="web_json_english" />
</resultMap>
<sql id="selectHwWebVo">
select web_id, web_json, web_json_string, web_code,
web_json_english,
is_delete
from hw_web
</sql>
<select id="selectHwWebList" parameterType="HwWeb" resultMap="HwWebResult">
<include refid="selectHwWebVo"/>
<where>
and is_delete = '0'
<if test="webId != null "> and web_id = #{webId}</if>
<if test="webJson != null and webJson != ''"> and web_json = #{webJson}</if>
<if test="webJsonString != null and webJsonString != ''"> and web_json_string = #{webJsonString}</if>
<if test="webCode != null "> and web_code = #{webCode}</if>
<if test="webJsonEnglish != null"> and web_json_english = #{webJsonEnglish}</if>
</where>
</select>
<select id="selectHwWebByWebcode" parameterType="Long" resultMap="HwWebResult">
<include refid="selectHwWebVo"/>
where is_delete = '0' and web_code = #{webCode}
</select>
<insert id="insertHwWeb" parameterType="HwWeb" useGeneratedKeys="true" keyProperty="webId">
insert into hw_web
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="webJson != null">web_json,</if>
<if test="webJsonString != null">web_json_string,</if>
<if test="webCode != null">web_code,</if>
<if test="webJsonEnglish != null">web_json_english,</if>
is_delete,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="webJson != null">#{webJson},</if>
<if test="webJsonString != null">#{webJsonString},</if>
<if test="webCode != null">#{webCode},</if>
<if test="webJsonEnglish != null">#{webJsonEnglish},</if>
<choose>
<when test="isDelete != null and isDelete != ''">#{isDelete},</when>
<otherwise>'0',</otherwise>
</choose>
</trim>
</insert>
<update id="updateHwWeb" parameterType="HwWeb">
update hw_web
<trim prefix="SET" suffixOverrides=",">
<if test="webJson != null">web_json = #{webJson},</if>
<if test="webJsonString != null">web_json_string = #{webJsonString},</if>
<!-- <if test="webCode != null">web_code = #{webCode},</if>-->
<if test="webJsonEnglish != null">web_json_english = #{webJsonEnglish},</if>
</trim>
where web_code = #{webCode}
</update>
<update id="deleteHwWebByWebId" parameterType="Long">
update hw_web set is_delete = '1' where web_id = #{webId}
</update>
<update id="deleteHwWebByWebIds" parameterType="String">
update hw_web set is_delete = '1' where web_id in
<foreach item="webId" collection="array" open="(" separator="," close=")">
#{webId}
</foreach>
</update>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMapper1.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwWebMapper1">
<resultMap type="HwWeb1" id="HwWebResult1">
<result property="webId" column="web_id" />
<result property="webJson" column="web_json" />
<result property="webJsonString" column="web_json_string" />
<result property="webCode" column="web_code" />
<result property="deviceId" column="device_id" />
<result property="typeId" column="typeId" />
<result property="isDelete" column="is_delete" />
<result property="webJsonEnglish" column="web_json_english" />
</resultMap>
<sql id="selectHwWebVo">
select web_id, web_json, web_json_string, web_code,
device_id, typeId, web_json_english,
is_delete
from hw_web1
</sql>
<select id="selectHwWebList" parameterType="HwWeb1" resultMap="HwWebResult1">
<include refid="selectHwWebVo"/>
<where>
and is_delete = '0'
<if test="webId != null "> and web_id = #{webId}</if>
<if test="webJson != null and webJson != ''"> and web_json = #{webJson}</if>
<if test="webJsonString != null and webJsonString != ''"> and web_json_string = #{webJsonString}</if>
<if test="webCode != null "> and web_code = #{webCode}</if>
<if test="deviceId != null "> and device_id = #{deviceId}</if>
<if test="typeId != null "> and typeId = #{typeId}</if>
<if test="webJsonEnglish != null "> and web_json_english = #{webJsonEnglish}</if>
</where>
</select>
<select id="selectHwWebByWebcode" parameterType="Long" resultMap="HwWebResult1">
<include refid="selectHwWebVo"/>
where is_delete = '0' and web_code = #{webCode}
</select>
<select id="selectHwWebOne" parameterType="HwWeb1" resultMap="HwWebResult1">
<include refid="selectHwWebVo"/>
where is_delete = '0' and web_code = #{webCode}
and device_id = #{deviceId}
and typeId = #{typeId}
</select>
<insert id="insertHwWeb" parameterType="HwWeb1" useGeneratedKeys="true" keyProperty="webId">
insert into hw_web1
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="webJson != null">web_json,</if>
<if test="webJsonString != null">web_json_string,</if>
<if test="webCode != null">web_code,</if>
<if test="deviceId != null">device_id,</if>
<if test="typeId != null">typeId,</if>
<if test="webJsonEnglish != null">web_json_english,</if>
is_delete,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="webJson != null">#{webJson},</if>
<if test="webJsonString != null">#{webJsonString},</if>
<if test="webCode != null">#{webCode},</if>
<if test="deviceId != null">#{deviceId},</if>
<if test="typeId != null">#{typeId},</if>
<if test="webJsonEnglish != null">#{webJsonEnglish},</if>
<choose>
<when test="isDelete != null and isDelete != ''">#{isDelete},</when>
<otherwise>'0',</otherwise>
</choose>
</trim>
</insert>
<update id="updateHwWeb" parameterType="HwWeb1">
update hw_web1
<trim prefix="SET" suffixOverrides=",">
<if test="webJson != null">web_json = #{webJson},</if>
<if test="webJsonString != null">web_json_string = #{webJsonString},</if>
<!-- <if test="webCode != null">web_code = #{webCode},</if>-->
<!-- <if test="deviceId != null">device_id = #{deviceId},</if>-->
<!-- <if test="typeId != null">typeId = #{typeId},</if>-->
<if test="webJsonEnglish != null">web_json_english = #{webJsonEnglish},</if>
</trim>
where web_code = #{webCode}
and device_id = #{deviceId}
and typeId = #{typeId}
</update>
<update id="deleteHwWebByWebId" parameterType="Long">
update hw_web1 set is_delete = '1' where web_id = #{webId}
</update>
<update id="deleteHwWebByWebIds" parameterType="String">
update hw_web1 set is_delete = '1' where web_id in
<foreach item="webId" collection="array" open="(" separator="," close=")">
#{webId}
</foreach>
</update>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMenuMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwWebMenuMapper">
<resultMap type="HwWebMenu" id="HwWebMenuResult">
<result property="webMenuId" column="web_menu_id" />
<result property="parent" column="parent" />
<result property="ancestors" column="ancestors" />
<result property="status" column="status" />
<result property="webMenuName" column="web_menu_name" />
<result property="tenantId" column="tenant_id" />
<result property="webMenuPic" column="web_menu__pic" />
<result property="webMenuType" column="web_menu_type" />
<result property="isDelete" column="is_delete" />
<result property="webMenuNameEnglish" column="web_menu_name_english" />
</resultMap>
<sql id="selectHwWebMenuVo">
select web_menu_id, parent, ancestors, status, web_menu_name, tenant_id, web_menu__pic, web_menu_type,
web_menu_name_english,
is_delete
from hw_web_menu
</sql>
<select id="selectHwWebMenuList" parameterType="HwWebMenu" resultMap="HwWebMenuResult">
<include refid="selectHwWebMenuVo"/>
<where>
and is_delete = '0'
<if test="parent != null "> and parent = #{parent}</if>
<if test="ancestors != null and ancestors != ''"> and ancestors = #{ancestors}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="webMenuName != null and webMenuName != ''"> and web_menu_name like concat('%', #{webMenuName}, '%')</if>
<if test="tenantId != null "> and tenant_id = #{tenantId}</if>
<if test="webMenuPic != null and webMenuPic != ''"> and web_menu__pic = #{webMenuPic}</if>
<if test="webMenuType != null "> and web_menu_type = #{webMenuType}</if>
<if test="webMenuNameEnglish != null and webMenuNameEnglish != ''"> and web_menu_name_english = #{webMenuNameEnglish}</if>
</where>
</select>
<select id="selectHwWebMenuByWebMenuId" parameterType="Long" resultMap="HwWebMenuResult">
<include refid="selectHwWebMenuVo"/>
where is_delete = '0' and web_menu_id = #{webMenuId}
</select>
<insert id="insertHwWebMenu" parameterType="HwWebMenu">
insert into hw_web_menu
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="webMenuId != null">web_menu_id,</if>
<if test="parent != null">parent,</if>
<if test="ancestors != null">ancestors,</if>
<if test="status != null">status,</if>
<if test="webMenuName != null">web_menu_name,</if>
<if test="tenantId != null">tenant_id,</if>
<if test="webMenuPic != null">web_menu__pic,</if>
<if test="webMenuType != null">web_menu_type,</if>
<if test="webMenuNameEnglish != null">web_menu_name_english,</if>
is_delete,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="webMenuId != null">#{webMenuId},</if>
<if test="parent != null">#{parent},</if>
<if test="ancestors != null">#{ancestors},</if>
<if test="status != null">#{status},</if>
<if test="webMenuName != null">#{webMenuName},</if>
<if test="tenantId != null">#{tenantId},</if>
<if test="webMenuPic != null">#{webMenuPic},</if>
<if test="webMenuType != null">#{webMenuType},</if>
<if test="webMenuNameEnglish != null">#{webMenuNameEnglish},</if>
<choose>
<when test="isDelete != null and isDelete != ''">#{isDelete},</when>
<otherwise>'0',</otherwise>
</choose>
</trim>
</insert>
<update id="updateHwWebMenu" parameterType="HwWebMenu">
update hw_web_menu
<trim prefix="SET" suffixOverrides=",">
<if test="parent != null">parent = #{parent},</if>
<if test="ancestors != null">ancestors = #{ancestors},</if>
<if test="status != null">status = #{status},</if>
<if test="webMenuName != null">web_menu_name = #{webMenuName},</if>
<if test="tenantId != null">tenant_id = #{tenantId},</if>
<if test="webMenuPic != null">web_menu__pic = #{webMenuPic},</if>
<if test="webMenuType != null">web_menu_type = #{webMenuType},</if>
<if test="webMenuNameEnglish != null">web_menu_name_english = #{webMenuNameEnglish},</if>
</trim>
where web_menu_id = #{webMenuId}
</update>
<update id="deleteHwWebMenuByWebMenuId" parameterType="Long">
update hw_web_menu set is_delete = '1' where web_menu_id = #{webMenuId}
</update>
<update id="deleteHwWebMenuByWebMenuIds" parameterType="String">
update hw_web_menu set is_delete = '1' where web_menu_id in
<foreach item="webMenuId" collection="array" open="(" separator="," close=")">
#{webMenuId}
</foreach>
</update>
</mapper>
```
### C:\D\WORK\NewP\HwWeb\hw-portal\src\main\resources\mapper\portal\HwWebMenuMapper1.xml
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.portal.mapper.HwWebMenuMapper1">
<resultMap type="HwWebMenu1" id="HwWebMenuResult1">
<result property="webMenuId" column="web_menu_id" />
<result property="parent" column="parent" />
<result property="ancestors" column="ancestors" />
<result property="status" column="status" />
<result property="webMenuName" column="web_menu_name" />
<result property="tenantId" column="tenant_id" />
<result property="webMenuPic" column="web_menu__pic" />
<result property="webMenuType" column="web_menu_type" />
<result property="value" column="value" />
<result property="isDelete" column="is_delete" />
<result property="webMenuNameEnglish" column="web_menu_name_english" />
</resultMap>
<sql id="selectHwWebMenuVo">
select web_menu_id, parent, ancestors, status, web_menu_name, tenant_id, web_menu__pic,
value,
web_menu_type,
web_menu_name_english,
is_delete
from hw_web_menu1
</sql>
<select id="selectHwWebMenuList" parameterType="HwWebMenu1" resultMap="HwWebMenuResult1">
<include refid="selectHwWebMenuVo"/>
<where>
and is_delete = '0'
<if test="parent != null "> and parent = #{parent}</if>
<if test="ancestors != null and ancestors != ''"> and ancestors = #{ancestors}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="webMenuName != null and webMenuName != ''"> and web_menu_name like concat('%', #{webMenuName}, '%')</if>
<if test="tenantId != null "> and tenant_id = #{tenantId}</if>
<if test="webMenuPic != null and webMenuPic != ''"> and web_menu__pic = #{webMenuPic}</if>
<if test="webMenuType != null "> and web_menu_type = #{webMenuType}</if>
<if test="value != null and value != ''"> and value like concat('%', #{value}, '%')</if>
<if test="webMenuNameEnglish != null and webMenuNameEnglish != ''"> and web_menu_name_english like concat('%', #{webMenuNameEnglish}, '%')</if>
</where>
</select>
<select id="selectHwWebMenuByWebMenuId" parameterType="Long" resultMap="HwWebMenuResult1">
<include refid="selectHwWebMenuVo"/>
where is_delete = '0' and web_menu_id = #{webMenuId}
</select>
<insert id="insertHwWebMenu" parameterType="HwWebMenu1">
insert into hw_web_menu1
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="webMenuId != null">web_menu_id,</if>
<if test="parent != null">parent,</if>
<if test="ancestors != null">ancestors,</if>
<if test="status != null">status,</if>
<if test="webMenuName != null">web_menu_name,</if>
<if test="tenantId != null">tenant_id,</if>
<if test="webMenuPic != null">web_menu__pic,</if>
<if test="webMenuType != null">web_menu_type,</if>
<if test="value != null">value,</if>
<if test="webMenuNameEnglish != null">web_menu_name_english,</if>
is_delete,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="webMenuId != null">#{webMenuId},</if>
<if test="parent != null">#{parent},</if>
<if test="ancestors != null">#{ancestors},</if>
<if test="status != null">#{status},</if>
<if test="webMenuName != null">#{webMenuName},</if>
<if test="tenantId != null">#{tenantId},</if>
<if test="webMenuPic != null">#{webMenuPic},</if>
<if test="webMenuType != null">#{webMenuType},</if>
<if test="value != null">#{value},</if>
<if test="webMenuNameEnglish != null">#{webMenuNameEnglish},</if>
<choose>
<when test="isDelete != null and isDelete != ''">#{isDelete},</when>
<otherwise>'0',</otherwise>
</choose>
</trim>
</insert>
<update id="updateHwWebMenu" parameterType="HwWebMenu1">
update hw_web_menu1
<trim prefix="SET" suffixOverrides=",">
<if test="parent != null">parent = #{parent},</if>
<if test="ancestors != null">ancestors = #{ancestors},</if>
<if test="status != null">status = #{status},</if>
<if test="webMenuName != null">web_menu_name = #{webMenuName},</if>
<if test="tenantId != null">tenant_id = #{tenantId},</if>
<if test="webMenuPic != null">web_menu__pic = #{webMenuPic},</if>
<if test="webMenuType != null">web_menu_type = #{webMenuType},</if>
<if test="value != null">value = #{value},</if>
<if test="webMenuNameEnglish != null">web_menu_name_english = #{webMenuNameEnglish},</if>
</trim>
where web_menu_id = #{webMenuId}
</update>
<update id="deleteHwWebMenuByWebMenuId" parameterType="Long">
update hw_web_menu1 set is_delete = '1' where web_menu_id = #{webMenuId}
</update>
<update id="deleteHwWebMenuByWebMenuIds" parameterType="String">
update hw_web_menu1 set is_delete = '1' where web_menu_id in
<foreach item="webMenuId" collection="array" open="(" separator="," close=")">
#{webMenuId}
</foreach>
</update>
</mapper>
```
## 9. 工具类差异分析补充(基于 AGENTS.md 与当前单体代码)
### 9.1 基线结论
-`AGENTS.md` 的模块定位,`ruoyi-common` 是当前单体的通用契约与工具中心,`StringUtils/AjaxResult/BaseController/SecurityUtils/ExcelUtil` 属于高频复用基础能力。
- `hw-portal` 与当前项目同为 `ruoyi-vue` 体系,接口返回类型 `AjaxResult/TableDataInfo`、实体基类 `BaseEntity/TreeEntity` 的语义保持一致,迁移主要是包路径与注解体系适配,而不是重写业务逻辑。
- 当前项目已集成 MyBatis-Plus`ruoyi-common/pom.xml` + `MybatisPlusConfig` + `application.yml`),但本次迁移仍以 MyBatis XML 为主,`hw-portal` 的逻辑删除继续保留为 Mapper SQL`update ... set is_delete='1'`),不改成 `@TableLogic`
### 9.2 关键工具类与注解差异矩阵
| `hw-portal` 旧引用 | 当前单体可用引用 | 迁移动作 |
|---|---|---|
| `com.ruoyi.common.core.web.controller.BaseController` | `com.ruoyi.common.core.controller.BaseController` | 改 import方法如 `startPage/getDataTable/toAjax` 保持原用法 |
| `com.ruoyi.common.core.web.domain.AjaxResult` | `com.ruoyi.common.core.domain.AjaxResult` | 改 import返回结构保持一致 |
| `com.ruoyi.common.core.web.page.TableDataInfo` | `com.ruoyi.common.core.page.TableDataInfo` | 改 import分页返回保持一致 |
| `com.ruoyi.common.core.web.domain.BaseEntity` | `com.ruoyi.common.core.domain.BaseEntity` | 改 import审计字段与 `params` 扩展位保持可用 |
| `com.ruoyi.common.core.web.domain.TreeEntity` | `com.ruoyi.common.core.domain.TreeEntity` | 改 import树结构字段保持可用 |
| `com.ruoyi.common.core.annotation.Excel` | `com.ruoyi.common.annotation.Excel` | 改 import导入导出注解能力不变 |
| `com.ruoyi.common.core.utils.poi.ExcelUtil` | `com.ruoyi.common.utils.poi.ExcelUtil` | 改 import导出调用方式不变 |
| `com.ruoyi.common.core.utils.DateUtils` | `com.ruoyi.common.utils.DateUtils` | 改 import`getNowDate()` 保持可用 |
| `com.ruoyi.common.core.utils.StringUtils` | `com.ruoyi.common.utils.StringUtils` | 改 import`isNotNull/isNotEmpty` 等保持可用 |
| `com.ruoyi.common.security.utils.SecurityUtils` | `com.ruoyi.common.utils.SecurityUtils` | 改 import`getUsername()` 保持可用 |
| `com.ruoyi.common.core.utils.ip.IpUtils` | `com.ruoyi.common.utils.ip.IpUtils` | 改 import`getIpAddr()` 保持可用 |
| `com.ruoyi.common.core.exception.ServiceException` | `com.ruoyi.common.exception.ServiceException` | 改 import消息抛错逻辑保持不变 |
| `com.ruoyi.common.core.constant.UserConstants` | `com.ruoyi.common.constant.UserConstants` | 改 import仅在实际使用时 |
| `com.ruoyi.common.log.annotation.Log` | `com.ruoyi.common.annotation.Log` | 改 importAOP 日志能力由 framework 实现 |
| `com.ruoyi.common.log.enums.BusinessType` | `com.ruoyi.common.enums.BusinessType` | 改 import枚举语义不变 |
| `com.ruoyi.common.core.utils.SpringUtils` | `com.ruoyi.common.utils.spring.SpringUtils` | 改 import仅在实际使用时 |
| `com.ruoyi.common.security.annotation.RequiresPermissions` | `@PreAuthorize("@ss.hasPermi('...')")` | 单体使用 Spring Security 表达式;`hw-portal` 中多数原本为注释,可按原策略继续注释 |
| `com.ruoyi.common.security.annotation.EnableCustomConfig / EnableRyFeignClients` | 无需保留 | 微服务启动增强注解,单体删除 |
| `com.ruoyi.common.swagger.annotation.EnableCustomSwagger2` | 无需保留 | 单体由 `springdoc` 配置管理 |
### 9.3 MyBatis 与 MyBatis-Plus 的边界(本次迁移)
- 保持 `Mapper.java + Mapper.xml` 一一对应,不把现有 SQL 改写成 `LambdaQueryWrapper/ServiceImpl/BaseMapper` 风格。
- `hw-portal` 现有逻辑删除语句(如 `deleteHwWebByWebIds`、`deleteHwWebDocumentByDocumentIds`)继续沿用 SQL 更新 `is_delete`,不引入 `@TableLogic`,避免行为漂移。
- 可以复用 MyBatis-Plus 已启用的拦截器能力(分页、乐观锁、阻断全表更新)作为基础防护,但不改变 `hw-portal` 业务 SQL 的条件与分支。
### 9.4 迁移落地时的工具类注意事项
- `AjaxResult/BaseEntity/TreeEntity`:保持原返回与实体继承体系,不做结构改造,只改 import。
- `DateUtils/SecurityUtils/IpUtils`保留原调用点时间戳、创建人、IP 写入),防止行为差异。
- `SqlUtil.escapeOrderBySql`:涉及排序参数时继续走 `BaseController`/分页工具链,保持排序安全。
- `ExcelUtil`:导出逻辑可原样保留,注意仅替换包路径与 `javax -> jakarta`
### 9.5 可清理但不影响业务逻辑的迁移项
- 删除 `hw-portal` 中未使用或微服务残留引用,避免编译噪音:
- `com.ruoyi.common.core.constant.HwPortalConstants`(当前单体未提供)
- `com.ruoyi.system.api.domain.SysDept`(单体实体位于 `com.ruoyi.common.core.domain.entity.SysDept`,且该处原本未使用)
- `com.ruoyi.common.core.utils.SpringUtils`、`com.ruoyi.common.core.constant.UserConstants` 等未使用 import