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