From 5f343b86c777351d244bbdb7606efbfbef21f600 Mon Sep 17 00:00:00 2001 From: yinq Date: Thu, 27 Mar 2025 14:27:26 +0800 Subject: [PATCH] =?UTF-8?q?update=20API=E6=A8=A1=E5=9D=97=E7=94=9F?= =?UTF-8?q?=E6=88=90ERP=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE=E3=80=81token?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E6=8E=A5=E5=8F=A3=E6=98=A0=E5=B0=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysErpConfigController.java | 117 ++++++++++++++ .../controller/SysErpMappingController.java | 117 ++++++++++++++ .../api/controller/SysErpTokenController.java | 117 ++++++++++++++ .../org/dromara/api/domain/SysErpConfig.java | 76 +++++++++ .../org/dromara/api/domain/SysErpMapping.java | 90 +++++++++++ .../org/dromara/api/domain/SysErpToken.java | 64 ++++++++ .../dromara/api/domain/bo/SysErpConfigBo.java | 77 ++++++++++ .../api/domain/bo/SysErpMappingBo.java | 91 +++++++++++ .../dromara/api/domain/bo/SysErpTokenBo.java | 66 ++++++++ .../dromara/api/domain/vo/SysErpConfigVo.java | 94 ++++++++++++ .../api/domain/vo/SysErpMappingVo.java | 111 ++++++++++++++ .../dromara/api/domain/vo/SysErpTokenVo.java | 76 +++++++++ .../api/mapper/SysErpConfigMapper.java | 15 ++ .../api/mapper/SysErpMappingMapper.java | 15 ++ .../dromara/api/mapper/SysErpTokenMapper.java | 15 ++ .../api/service/ISysErpConfigService.java | 69 +++++++++ .../api/service/ISysErpMappingService.java | 69 +++++++++ .../api/service/ISysErpTokenService.java | 69 +++++++++ .../service/impl/SysErpConfigServiceImpl.java | 140 +++++++++++++++++ .../impl/SysErpMappingServiceImpl.java | 145 ++++++++++++++++++ .../service/impl/SysErpTokenServiceImpl.java | 138 +++++++++++++++++ .../mapper/api/SysErpConfigMapper.xml | 7 + .../mapper/api/SysErpMappingMapper.xml | 7 + .../mapper/api/SysErpTokenMapper.xml | 7 + 24 files changed, 1792 insertions(+) create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpConfigController.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpMappingController.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpTokenController.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpConfig.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpMapping.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpToken.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpConfigBo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpMappingBo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpTokenBo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpConfigVo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpMappingVo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpTokenVo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpConfigMapper.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpMappingMapper.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpTokenMapper.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpConfigService.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpMappingService.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpTokenService.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpConfigServiceImpl.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpMappingServiceImpl.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpTokenServiceImpl.java create mode 100644 ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpConfigMapper.xml create mode 100644 ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpMappingMapper.xml create mode 100644 ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpTokenMapper.xml diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpConfigController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpConfigController.java new file mode 100644 index 0000000..2085a00 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpConfigController.java @@ -0,0 +1,117 @@ +package org.dromara.api.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.api.domain.vo.SysErpConfigVo; +import org.dromara.api.domain.bo.SysErpConfigBo; +import org.dromara.api.service.ISysErpConfigService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * ERP系统配置 + * 前端访问路由地址为:/api/erpConfig + * + * @author Yinq + * @date 2025-03-26 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/erpConfig") +public class SysErpConfigController extends BaseController { + + private final ISysErpConfigService sysErpConfigService; + + /** + * 查询ERP系统配置列表 + */ + @SaCheckPermission("api:erpConfig:list") + @GetMapping("/list") + public TableDataInfo list(SysErpConfigBo bo, PageQuery pageQuery) { + return sysErpConfigService.queryPageList(bo, pageQuery); + } + + /** + * 导出ERP系统配置列表 + */ + @SaCheckPermission("api:erpConfig:export") + @Log(title = "ERP系统配置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(SysErpConfigBo bo, HttpServletResponse response) { + List list = sysErpConfigService.queryList(bo); + ExcelUtil.exportExcel(list, "ERP系统配置", SysErpConfigVo.class, response); + } + + /** + * 获取ERP系统配置详细信息 + * + * @param configId 主键 + */ + @SaCheckPermission("api:erpConfig:query") + @GetMapping("/{configId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long configId) { + return R.ok(sysErpConfigService.queryById(configId)); + } + + /** + * 新增ERP系统配置 + */ + @SaCheckPermission("api:erpConfig:add") + @Log(title = "ERP系统配置", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody SysErpConfigBo bo) { + return toAjax(sysErpConfigService.insertByBo(bo)); + } + + /** + * 修改ERP系统配置 + */ + @SaCheckPermission("api:erpConfig:edit") + @Log(title = "ERP系统配置", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody SysErpConfigBo bo) { + return toAjax(sysErpConfigService.updateByBo(bo)); + } + + /** + * 删除ERP系统配置 + * + * @param configIds 主键串 + */ + @SaCheckPermission("api:erpConfig:remove") + @Log(title = "ERP系统配置", businessType = BusinessType.DELETE) + @DeleteMapping("/{configIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] configIds) { + return toAjax(sysErpConfigService.deleteWithValidByIds(List.of(configIds), true)); + } + + + /** + * 下拉框查询ERP系统配置列表 + */ + + @GetMapping("/getSysErpConfigList") + public R> getSysErpConfigList(SysErpConfigBo bo) { + List list = sysErpConfigService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpMappingController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpMappingController.java new file mode 100644 index 0000000..7ea2a01 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpMappingController.java @@ -0,0 +1,117 @@ +package org.dromara.api.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.api.domain.vo.SysErpMappingVo; +import org.dromara.api.domain.bo.SysErpMappingBo; +import org.dromara.api.service.ISysErpMappingService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * ERP接口映射 + * 前端访问路由地址为:/api/erpMapping + * + * @author Yinq + * @date 2025-03-26 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/erpMapping") +public class SysErpMappingController extends BaseController { + + private final ISysErpMappingService sysErpMappingService; + + /** + * 查询ERP接口映射列表 + */ + @SaCheckPermission("api:erpMapping:list") + @GetMapping("/list") + public TableDataInfo list(SysErpMappingBo bo, PageQuery pageQuery) { + return sysErpMappingService.queryPageList(bo, pageQuery); + } + + /** + * 导出ERP接口映射列表 + */ + @SaCheckPermission("api:erpMapping:export") + @Log(title = "ERP接口映射", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(SysErpMappingBo bo, HttpServletResponse response) { + List list = sysErpMappingService.queryList(bo); + ExcelUtil.exportExcel(list, "ERP接口映射", SysErpMappingVo.class, response); + } + + /** + * 获取ERP接口映射详细信息 + * + * @param mappingId 主键 + */ + @SaCheckPermission("api:erpMapping:query") + @GetMapping("/{mappingId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long mappingId) { + return R.ok(sysErpMappingService.queryById(mappingId)); + } + + /** + * 新增ERP接口映射 + */ + @SaCheckPermission("api:erpMapping:add") + @Log(title = "ERP接口映射", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody SysErpMappingBo bo) { + return toAjax(sysErpMappingService.insertByBo(bo)); + } + + /** + * 修改ERP接口映射 + */ + @SaCheckPermission("api:erpMapping:edit") + @Log(title = "ERP接口映射", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody SysErpMappingBo bo) { + return toAjax(sysErpMappingService.updateByBo(bo)); + } + + /** + * 删除ERP接口映射 + * + * @param mappingIds 主键串 + */ + @SaCheckPermission("api:erpMapping:remove") + @Log(title = "ERP接口映射", businessType = BusinessType.DELETE) + @DeleteMapping("/{mappingIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] mappingIds) { + return toAjax(sysErpMappingService.deleteWithValidByIds(List.of(mappingIds), true)); + } + + + /** + * 下拉框查询ERP接口映射列表 + */ + + @GetMapping("/getSysErpMappingList") + public R> getSysErpMappingList(SysErpMappingBo bo) { + List list = sysErpMappingService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpTokenController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpTokenController.java new file mode 100644 index 0000000..29707b8 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/SysErpTokenController.java @@ -0,0 +1,117 @@ +package org.dromara.api.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.api.domain.vo.SysErpTokenVo; +import org.dromara.api.domain.bo.SysErpTokenBo; +import org.dromara.api.service.ISysErpTokenService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * ERPToken管理 + * 前端访问路由地址为:/api/erpToken + * + * @author Yinq + * @date 2025-03-26 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/erpToken") +public class SysErpTokenController extends BaseController { + + private final ISysErpTokenService sysErpTokenService; + + /** + * 查询ERPToken管理列表 + */ + @SaCheckPermission("api:erpToken:list") + @GetMapping("/list") + public TableDataInfo list(SysErpTokenBo bo, PageQuery pageQuery) { + return sysErpTokenService.queryPageList(bo, pageQuery); + } + + /** + * 导出ERPToken管理列表 + */ + @SaCheckPermission("api:erpToken:export") + @Log(title = "ERPToken管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(SysErpTokenBo bo, HttpServletResponse response) { + List list = sysErpTokenService.queryList(bo); + ExcelUtil.exportExcel(list, "ERPToken管理", SysErpTokenVo.class, response); + } + + /** + * 获取ERPToken管理详细信息 + * + * @param tokenId 主键 + */ + @SaCheckPermission("api:erpToken:query") + @GetMapping("/{tokenId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long tokenId) { + return R.ok(sysErpTokenService.queryById(tokenId)); + } + + /** + * 新增ERPToken管理 + */ + @SaCheckPermission("api:erpToken:add") + @Log(title = "ERPToken管理", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody SysErpTokenBo bo) { + return toAjax(sysErpTokenService.insertByBo(bo)); + } + + /** + * 修改ERPToken管理 + */ + @SaCheckPermission("api:erpToken:edit") + @Log(title = "ERPToken管理", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody SysErpTokenBo bo) { + return toAjax(sysErpTokenService.updateByBo(bo)); + } + + /** + * 删除ERPToken管理 + * + * @param tokenIds 主键串 + */ + @SaCheckPermission("api:erpToken:remove") + @Log(title = "ERPToken管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{tokenIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] tokenIds) { + return toAjax(sysErpTokenService.deleteWithValidByIds(List.of(tokenIds), true)); + } + + + /** + * 下拉框查询ERPToken管理列表 + */ + + @GetMapping("/getSysErpTokenList") + public R> getSysErpTokenList(SysErpTokenBo bo) { + List list = sysErpTokenService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpConfig.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpConfig.java new file mode 100644 index 0000000..bd7edf3 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpConfig.java @@ -0,0 +1,76 @@ +package org.dromara.api.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * ERP系统配置对象 sys_erp_config + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("sys_erp_config") +public class SysErpConfig extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 配置ID + */ + @TableId(value = "config_id", type = IdType.AUTO) + private Long configId; + + /** + * ERP类型(0K3 1U8 2SAP) + */ + private String erpType; + + /** + * 配置名称 + */ + private String configName; + + /** + * 服务器地址 + */ + private String serverUrl; + + /** + * 应用密钥 + */ + private String appKey; + + /** + * 应用密码 + */ + private String appSecret; + + /** + * token地址 + */ + private String tokenUrl; + + /** + * token过期时间(秒) + */ + private Long tokenExpireTime; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpMapping.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpMapping.java new file mode 100644 index 0000000..1d67294 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpMapping.java @@ -0,0 +1,90 @@ +package org.dromara.api.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * ERP接口映射对象 sys_erp_mapping + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("sys_erp_mapping") +public class SysErpMapping extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 映射ID + */ + @TableId(value = "mapping_id", type = IdType.AUTO) + private Long mappingId; + + /** + * 配置ID + */ + private Long configId; + + /** + * 业务类型 + */ + private String businessType; + + /** + * ERP接口地址 + */ + private String erpApiUrl; + + /** + * 请求方法(GET POST) + */ + private String erpMethod; + + /** + * 请求参数模板 + */ + private String erpParams; + + /** + * 本地接口地址 + */ + private String localApiUrl; + + /** + * 本地请求方法 + */ + private String localMethod; + + /** + * 字段映射关系 + */ + private String fieldMapping; + + /** + * 是否需要token(0不需要 1需要) + */ + private String needToken; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + /** + * 配置名称 + */ + @TableField(exist = false) + private String configName; +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpToken.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpToken.java new file mode 100644 index 0000000..5157039 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/SysErpToken.java @@ -0,0 +1,64 @@ +package org.dromara.api.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * ERPToken管理对象 sys_erp_token + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("sys_erp_token") +public class SysErpToken extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * TokenID + */ + @TableId(value = "token_id", type = IdType.AUTO) + private Long tokenId; + + /** + * 配置ID + */ + private Long configId; + + /** + * 访问令牌 + */ + private String accessToken; + + /** + * 刷新令牌(预留字段) + */ + private String refreshToken; + + /** + * 令牌类型(Bearer Basic JWT) + */ + private String tokenType; + + /** + * 过期时间(秒) + */ + private Long expiresIn; + + /** + * 过期时间点 + */ + private Date expireTime; + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpConfigBo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpConfigBo.java new file mode 100644 index 0000000..e115e7b --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpConfigBo.java @@ -0,0 +1,77 @@ +package org.dromara.api.domain.bo; + +import org.dromara.api.domain.SysErpConfig; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * ERP系统配置业务对象 sys_erp_config + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = SysErpConfig.class, reverseConvertGenerate = false) +public class SysErpConfigBo extends BaseEntity { + + /** + * 配置ID + */ + private Long configId; + + /** + * ERP类型(0K3 1U8 2SAP) + */ + @NotBlank(message = "ERP类型(0K3 1U8 2SAP)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String erpType; + + /** + * 配置名称 + */ + @NotBlank(message = "配置名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String configName; + + /** + * 服务器地址 + */ + @NotBlank(message = "服务器地址不能为空", groups = { AddGroup.class, EditGroup.class }) + private String serverUrl; + + /** + * 应用密钥 + */ + private String appKey; + + /** + * 应用密码 + */ + private String appSecret; + + /** + * token地址 + */ + private String tokenUrl; + + /** + * token过期时间(秒) + */ + private Long tokenExpireTime; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpMappingBo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpMappingBo.java new file mode 100644 index 0000000..679dae5 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpMappingBo.java @@ -0,0 +1,91 @@ +package org.dromara.api.domain.bo; + +import org.dromara.api.domain.SysErpMapping; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * ERP接口映射业务对象 sys_erp_mapping + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = SysErpMapping.class, reverseConvertGenerate = false) +public class SysErpMappingBo extends BaseEntity { + + /** + * 映射ID + */ + private Long mappingId; + + /** + * 配置ID + */ + @NotNull(message = "配置ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long configId; + + /** + * 业务类型 + */ + @NotBlank(message = "业务类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String businessType; + + /** + * ERP接口地址 + */ + @NotBlank(message = "ERP接口地址不能为空", groups = { AddGroup.class, EditGroup.class }) + private String erpApiUrl; + + /** + * 请求方法(GET POST) + */ + @NotBlank(message = "请求方法(GET POST)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String erpMethod; + + /** + * 请求参数模板 + */ + private String erpParams; + + /** + * 本地接口地址 + */ + @NotBlank(message = "本地接口地址不能为空", groups = { AddGroup.class, EditGroup.class }) + private String localApiUrl; + + /** + * 本地请求方法 + */ + @NotBlank(message = "本地请求方法不能为空", groups = { AddGroup.class, EditGroup.class }) + private String localMethod; + + /** + * 字段映射关系 + */ + private String fieldMapping; + + /** + * 是否需要token(0不需要 1需要) + */ + @NotBlank(message = "是否需要token(0不需要 1需要)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String needToken; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpTokenBo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpTokenBo.java new file mode 100644 index 0000000..52c59df --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/SysErpTokenBo.java @@ -0,0 +1,66 @@ +package org.dromara.api.domain.bo; + +import org.dromara.api.domain.SysErpToken; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * ERPToken管理业务对象 sys_erp_token + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = SysErpToken.class, reverseConvertGenerate = false) +public class SysErpTokenBo extends BaseEntity { + + /** + * TokenID + */ + private Long tokenId; + + /** + * 配置ID + */ + @NotNull(message = "配置ID不能为空", groups = {AddGroup.class, EditGroup.class}) + private Long configId; + + /** + * 访问令牌 + */ + @NotBlank(message = "访问令牌不能为空", groups = {AddGroup.class, EditGroup.class}) + private String accessToken; + + /** + * 刷新令牌(预留字段) + */ + private String refreshToken; + + /** + * 令牌类型(Bearer Basic JWT) + */ + @NotBlank(message = "令牌类型(Bearer Basic JWT)不能为空", groups = {AddGroup.class, EditGroup.class}) + private String tokenType; + + /** + * 过期时间(秒) + */ + private Long expiresIn; + + /** + * 过期时间点 + */ + private Date expireTime; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpConfigVo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpConfigVo.java new file mode 100644 index 0000000..7975c94 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpConfigVo.java @@ -0,0 +1,94 @@ +package org.dromara.api.domain.vo; + +import org.dromara.api.domain.SysErpConfig; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * ERP系统配置视图对象 sys_erp_config + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = SysErpConfig.class) +public class SysErpConfigVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 配置ID + */ + @ExcelProperty(value = "配置ID") + private Long configId; + + /** + * ERP类型(0K3 1U8 2SAP) + */ + @ExcelProperty(value = "ERP类型(0K3 1U8 2SAP)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_erp_config") + private String erpType; + + /** + * 配置名称 + */ + @ExcelProperty(value = "配置名称") + private String configName; + + /** + * 服务器地址 + */ + @ExcelProperty(value = "服务器地址") + private String serverUrl; + + /** + * 应用密钥 + */ + @ExcelProperty(value = "应用密钥") + private String appKey; + + /** + * 应用密码 + */ + @ExcelProperty(value = "应用密码") + private String appSecret; + + /** + * token地址 + */ + @ExcelProperty(value = "token地址") + private String tokenUrl; + + /** + * token过期时间(秒) + */ + @ExcelProperty(value = "token过期时间(秒)") + private Long tokenExpireTime; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpMappingVo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpMappingVo.java new file mode 100644 index 0000000..fd58b02 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpMappingVo.java @@ -0,0 +1,111 @@ +package org.dromara.api.domain.vo; + +import org.dromara.api.domain.SysErpMapping; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * ERP接口映射视图对象 sys_erp_mapping + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = SysErpMapping.class) +public class SysErpMappingVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 映射ID + */ + @ExcelProperty(value = "映射ID") + private Long mappingId; + + /** + * 配置ID + */ + @ExcelProperty(value = "配置ID") + private Long configId; + + /** + * 业务类型 + */ + @ExcelProperty(value = "业务类型") + private String businessType; + + /** + * ERP接口地址 + */ + @ExcelProperty(value = "ERP接口地址") + private String erpApiUrl; + + /** + * 请求方法(GET POST) + */ + @ExcelProperty(value = "请求方法(GET POST)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_erp_method") + private String erpMethod; + + /** + * 请求参数模板 + */ + @ExcelProperty(value = "请求参数模板") + private String erpParams; + + /** + * 本地接口地址 + */ + @ExcelProperty(value = "本地接口地址") + private String localApiUrl; + + /** + * 本地请求方法 + */ + @ExcelProperty(value = "本地请求方法") + private String localMethod; + + /** + * 字段映射关系 + */ + @ExcelProperty(value = "字段映射关系") + private String fieldMapping; + + /** + * 是否需要token(0不需要 1需要) + */ + @ExcelProperty(value = "是否需要token(0不需要 1需要)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_need_token") + private String needToken; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 配置名称 + */ + @ExcelProperty(value = "配置名称") + private String configName; +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpTokenVo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpTokenVo.java new file mode 100644 index 0000000..6bf45c1 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/vo/SysErpTokenVo.java @@ -0,0 +1,76 @@ +package org.dromara.api.domain.vo; + +import java.util.Date; + +import org.dromara.api.domain.SysErpToken; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * ERPToken管理视图对象 sys_erp_token + * + * @author Yinq + * @date 2025-03-26 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = SysErpToken.class) +public class SysErpTokenVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * TokenID + */ + @ExcelProperty(value = "TokenID") + private Long tokenId; + + /** + * 配置ID + */ + @ExcelProperty(value = "配置ID") + private Long configId; + + /** + * 访问令牌 + */ + @ExcelProperty(value = "访问令牌") + private String accessToken; + + /** + * 刷新令牌(预留字段) + */ + @ExcelProperty(value = "刷新令牌(预留字段)") + private String refreshToken; + + /** + * 令牌类型(Bearer Basic JWT) + */ + @ExcelProperty(value = "令牌类型(Bearer Basic JWT)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_erp_token") + private String tokenType; + + /** + * 过期时间(秒) + */ + @ExcelProperty(value = "过期时间(秒)") + private Long expiresIn; + + /** + * 过期时间点 + */ + @ExcelProperty(value = "过期时间点") + private Date expireTime; + + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpConfigMapper.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpConfigMapper.java new file mode 100644 index 0000000..95a4375 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpConfigMapper.java @@ -0,0 +1,15 @@ +package org.dromara.api.mapper; + +import org.dromara.api.domain.SysErpConfig; +import org.dromara.api.domain.vo.SysErpConfigVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * ERP系统配置Mapper接口 + * + * @author Yinq + * @date 2025-03-26 + */ +public interface SysErpConfigMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpMappingMapper.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpMappingMapper.java new file mode 100644 index 0000000..6f3452f --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpMappingMapper.java @@ -0,0 +1,15 @@ +package org.dromara.api.mapper; + +import org.dromara.api.domain.SysErpMapping; +import org.dromara.api.domain.vo.SysErpMappingVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * ERP接口映射Mapper接口 + * + * @author Yinq + * @date 2025-03-26 + */ +public interface SysErpMappingMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpTokenMapper.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpTokenMapper.java new file mode 100644 index 0000000..ef2ce17 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/mapper/SysErpTokenMapper.java @@ -0,0 +1,15 @@ +package org.dromara.api.mapper; + +import org.dromara.api.domain.SysErpToken; +import org.dromara.api.domain.vo.SysErpTokenVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * ERPToken管理Mapper接口 + * + * @author Yinq + * @date 2025-03-26 + */ +public interface SysErpTokenMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpConfigService.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpConfigService.java new file mode 100644 index 0000000..e83500d --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpConfigService.java @@ -0,0 +1,69 @@ +package org.dromara.api.service; + +import org.dromara.api.domain.SysErpConfig; +import org.dromara.api.domain.vo.SysErpConfigVo; +import org.dromara.api.domain.bo.SysErpConfigBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * ERP系统配置Service接口 + * + * @author Yinq + * @date 2025-03-26 + */ +public interface ISysErpConfigService { + + /** + * 查询ERP系统配置 + * + * @param configId 主键 + * @return ERP系统配置 + */ + SysErpConfigVo queryById(Long configId); + + /** + * 分页查询ERP系统配置列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return ERP系统配置分页列表 + */ + TableDataInfo queryPageList(SysErpConfigBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的ERP系统配置列表 + * + * @param bo 查询条件 + * @return ERP系统配置列表 + */ + List queryList(SysErpConfigBo bo); + + /** + * 新增ERP系统配置 + * + * @param bo ERP系统配置 + * @return 是否新增成功 + */ + Boolean insertByBo(SysErpConfigBo bo); + + /** + * 修改ERP系统配置 + * + * @param bo ERP系统配置 + * @return 是否修改成功 + */ + Boolean updateByBo(SysErpConfigBo bo); + + /** + * 校验并批量删除ERP系统配置信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpMappingService.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpMappingService.java new file mode 100644 index 0000000..70a9e26 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpMappingService.java @@ -0,0 +1,69 @@ +package org.dromara.api.service; + +import org.dromara.api.domain.SysErpMapping; +import org.dromara.api.domain.vo.SysErpMappingVo; +import org.dromara.api.domain.bo.SysErpMappingBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * ERP接口映射Service接口 + * + * @author Yinq + * @date 2025-03-26 + */ +public interface ISysErpMappingService { + + /** + * 查询ERP接口映射 + * + * @param mappingId 主键 + * @return ERP接口映射 + */ + SysErpMappingVo queryById(Long mappingId); + + /** + * 分页查询ERP接口映射列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return ERP接口映射分页列表 + */ + TableDataInfo queryPageList(SysErpMappingBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的ERP接口映射列表 + * + * @param bo 查询条件 + * @return ERP接口映射列表 + */ + List queryList(SysErpMappingBo bo); + + /** + * 新增ERP接口映射 + * + * @param bo ERP接口映射 + * @return 是否新增成功 + */ + Boolean insertByBo(SysErpMappingBo bo); + + /** + * 修改ERP接口映射 + * + * @param bo ERP接口映射 + * @return 是否修改成功 + */ + Boolean updateByBo(SysErpMappingBo bo); + + /** + * 校验并批量删除ERP接口映射信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpTokenService.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpTokenService.java new file mode 100644 index 0000000..df204ae --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/ISysErpTokenService.java @@ -0,0 +1,69 @@ +package org.dromara.api.service; + +import org.dromara.api.domain.SysErpToken; +import org.dromara.api.domain.vo.SysErpTokenVo; +import org.dromara.api.domain.bo.SysErpTokenBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * ERPToken管理Service接口 + * + * @author Yinq + * @date 2025-03-26 + */ +public interface ISysErpTokenService { + + /** + * 查询ERPToken管理 + * + * @param tokenId 主键 + * @return ERPToken管理 + */ + SysErpTokenVo queryById(Long tokenId); + + /** + * 分页查询ERPToken管理列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return ERPToken管理分页列表 + */ + TableDataInfo queryPageList(SysErpTokenBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的ERPToken管理列表 + * + * @param bo 查询条件 + * @return ERPToken管理列表 + */ + List queryList(SysErpTokenBo bo); + + /** + * 新增ERPToken管理 + * + * @param bo ERPToken管理 + * @return 是否新增成功 + */ + Boolean insertByBo(SysErpTokenBo bo); + + /** + * 修改ERPToken管理 + * + * @param bo ERPToken管理 + * @return 是否修改成功 + */ + Boolean updateByBo(SysErpTokenBo bo); + + /** + * 校验并批量删除ERPToken管理信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpConfigServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpConfigServiceImpl.java new file mode 100644 index 0000000..10df213 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpConfigServiceImpl.java @@ -0,0 +1,140 @@ +package org.dromara.api.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.api.domain.bo.SysErpConfigBo; +import org.dromara.api.domain.vo.SysErpConfigVo; +import org.dromara.api.domain.SysErpConfig; +import org.dromara.api.mapper.SysErpConfigMapper; +import org.dromara.api.service.ISysErpConfigService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * ERP系统配置Service业务层处理 + * + * @author Yinq + * @date 2025-03-26 + */ +@RequiredArgsConstructor +@Service +public class SysErpConfigServiceImpl implements ISysErpConfigService { + + private final SysErpConfigMapper baseMapper; + + /** + * 查询ERP系统配置 + * + * @param configId 主键 + * @return ERP系统配置 + */ + @Override + public SysErpConfigVo queryById(Long configId){ + return baseMapper.selectVoById(configId); + } + + /** + * 分页查询ERP系统配置列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return ERP系统配置分页列表 + */ + @Override + public TableDataInfo queryPageList(SysErpConfigBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的ERP系统配置列表 + * + * @param bo 查询条件 + * @return ERP系统配置列表 + */ + @Override + public List queryList(SysErpConfigBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(SysErpConfigBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(SysErpConfig.class) + .selectAll(SysErpConfig.class) + .eq(bo.getConfigId() != null, SysErpConfig::getConfigId, bo.getConfigId()) + .eq(StringUtils.isNotBlank(bo.getErpType()), SysErpConfig::getErpType, bo.getErpType()) + .like(StringUtils.isNotBlank(bo.getConfigName()), SysErpConfig::getConfigName, bo.getConfigName()) + .eq(StringUtils.isNotBlank(bo.getServerUrl()), SysErpConfig::getServerUrl, bo.getServerUrl()) + .eq(StringUtils.isNotBlank(bo.getAppKey()), SysErpConfig::getAppKey, bo.getAppKey()) + .eq(StringUtils.isNotBlank(bo.getAppSecret()), SysErpConfig::getAppSecret, bo.getAppSecret()) + .eq(StringUtils.isNotBlank(bo.getTokenUrl()), SysErpConfig::getTokenUrl, bo.getTokenUrl()) + .eq(bo.getTokenExpireTime() != null, SysErpConfig::getTokenExpireTime, bo.getTokenExpireTime()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), SysErpConfig::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(SysErpConfig::getCreateTime); + return lqw; + } + + /** + * 新增ERP系统配置 + * + * @param bo ERP系统配置 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(SysErpConfigBo bo) { + SysErpConfig add = MapstructUtils.convert(bo, SysErpConfig.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setConfigId(add.getConfigId()); + } + return flag; + } + + /** + * 修改ERP系统配置 + * + * @param bo ERP系统配置 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(SysErpConfigBo bo) { + SysErpConfig update = MapstructUtils.convert(bo, SysErpConfig.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(SysErpConfig entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除ERP系统配置信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpMappingServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpMappingServiceImpl.java new file mode 100644 index 0000000..18d46c8 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpMappingServiceImpl.java @@ -0,0 +1,145 @@ +package org.dromara.api.service.impl; + +import org.dromara.api.domain.SysErpConfig; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.api.domain.bo.SysErpMappingBo; +import org.dromara.api.domain.vo.SysErpMappingVo; +import org.dromara.api.domain.SysErpMapping; +import org.dromara.api.mapper.SysErpMappingMapper; +import org.dromara.api.service.ISysErpMappingService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * ERP接口映射Service业务层处理 + * + * @author Yinq + * @date 2025-03-26 + */ +@RequiredArgsConstructor +@Service +public class SysErpMappingServiceImpl implements ISysErpMappingService { + + private final SysErpMappingMapper baseMapper; + + /** + * 查询ERP接口映射 + * + * @param mappingId 主键 + * @return ERP接口映射 + */ + @Override + public SysErpMappingVo queryById(Long mappingId){ + return baseMapper.selectVoById(mappingId); + } + + /** + * 分页查询ERP接口映射列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return ERP接口映射分页列表 + */ + @Override + public TableDataInfo queryPageList(SysErpMappingBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的ERP接口映射列表 + * + * @param bo 查询条件 + * @return ERP接口映射列表 + */ + @Override + public List queryList(SysErpMappingBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(SysErpMappingBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(SysErpMapping.class) + .selectAll(SysErpMapping.class) + .select(SysErpConfig::getConfigName) + .leftJoin(SysErpConfig.class, SysErpConfig::getConfigId, SysErpMapping::getConfigId) + .eq(bo.getMappingId() != null, SysErpMapping::getMappingId, bo.getMappingId()) + .eq(bo.getConfigId() != null, SysErpMapping::getConfigId, bo.getConfigId()) + .eq(StringUtils.isNotBlank(bo.getBusinessType()), SysErpMapping::getBusinessType, bo.getBusinessType()) + .eq(StringUtils.isNotBlank(bo.getErpApiUrl()), SysErpMapping::getErpApiUrl, bo.getErpApiUrl()) + .eq(StringUtils.isNotBlank(bo.getErpMethod()), SysErpMapping::getErpMethod, bo.getErpMethod()) + .eq(StringUtils.isNotBlank(bo.getErpParams()), SysErpMapping::getErpParams, bo.getErpParams()) + .eq(StringUtils.isNotBlank(bo.getLocalApiUrl()), SysErpMapping::getLocalApiUrl, bo.getLocalApiUrl()) + .eq(StringUtils.isNotBlank(bo.getLocalMethod()), SysErpMapping::getLocalMethod, bo.getLocalMethod()) + .eq(StringUtils.isNotBlank(bo.getFieldMapping()), SysErpMapping::getFieldMapping, bo.getFieldMapping()) + .eq(StringUtils.isNotBlank(bo.getNeedToken()), SysErpMapping::getNeedToken, bo.getNeedToken()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), SysErpMapping::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(SysErpMapping::getCreateTime); + return lqw; + } + + /** + * 新增ERP接口映射 + * + * @param bo ERP接口映射 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(SysErpMappingBo bo) { + SysErpMapping add = MapstructUtils.convert(bo, SysErpMapping.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setMappingId(add.getMappingId()); + } + return flag; + } + + /** + * 修改ERP接口映射 + * + * @param bo ERP接口映射 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(SysErpMappingBo bo) { + SysErpMapping update = MapstructUtils.convert(bo, SysErpMapping.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(SysErpMapping entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除ERP接口映射信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpTokenServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpTokenServiceImpl.java new file mode 100644 index 0000000..913cb4d --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/SysErpTokenServiceImpl.java @@ -0,0 +1,138 @@ +package org.dromara.api.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.api.domain.bo.SysErpTokenBo; +import org.dromara.api.domain.vo.SysErpTokenVo; +import org.dromara.api.domain.SysErpToken; +import org.dromara.api.mapper.SysErpTokenMapper; +import org.dromara.api.service.ISysErpTokenService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * ERPToken管理Service业务层处理 + * + * @author Yinq + * @date 2025-03-26 + */ +@RequiredArgsConstructor +@Service +public class SysErpTokenServiceImpl implements ISysErpTokenService { + + private final SysErpTokenMapper baseMapper; + + /** + * 查询ERPToken管理 + * + * @param tokenId 主键 + * @return ERPToken管理 + */ + @Override + public SysErpTokenVo queryById(Long tokenId){ + return baseMapper.selectVoById(tokenId); + } + + /** + * 分页查询ERPToken管理列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return ERPToken管理分页列表 + */ + @Override + public TableDataInfo queryPageList(SysErpTokenBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的ERPToken管理列表 + * + * @param bo 查询条件 + * @return ERPToken管理列表 + */ + @Override + public List queryList(SysErpTokenBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(SysErpTokenBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(SysErpToken.class) + .selectAll(SysErpToken.class) + .eq(bo.getTokenId() != null, SysErpToken::getTokenId, bo.getTokenId()) + .eq(bo.getConfigId() != null, SysErpToken::getConfigId, bo.getConfigId()) + .eq(StringUtils.isNotBlank(bo.getAccessToken()), SysErpToken::getAccessToken, bo.getAccessToken()) + .eq(StringUtils.isNotBlank(bo.getRefreshToken()), SysErpToken::getRefreshToken, bo.getRefreshToken()) + .eq(StringUtils.isNotBlank(bo.getTokenType()), SysErpToken::getTokenType, bo.getTokenType()) + .eq(bo.getExpiresIn() != null, SysErpToken::getExpiresIn, bo.getExpiresIn()) + .eq(bo.getExpireTime() != null, SysErpToken::getExpireTime, bo.getExpireTime()) + .orderByDesc(SysErpToken::getCreateTime); + return lqw; + } + + /** + * 新增ERPToken管理 + * + * @param bo ERPToken管理 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(SysErpTokenBo bo) { + SysErpToken add = MapstructUtils.convert(bo, SysErpToken.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setTokenId(add.getTokenId()); + } + return flag; + } + + /** + * 修改ERPToken管理 + * + * @param bo ERPToken管理 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(SysErpTokenBo bo) { + SysErpToken update = MapstructUtils.convert(bo, SysErpToken.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(SysErpToken entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除ERPToken管理信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpConfigMapper.xml b/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpConfigMapper.xml new file mode 100644 index 0000000..2b8a477 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpConfigMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpMappingMapper.xml b/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpMappingMapper.xml new file mode 100644 index 0000000..4b09def --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpMappingMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpTokenMapper.xml b/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpTokenMapper.xml new file mode 100644 index 0000000..8be7798 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/resources/mapper/api/SysErpTokenMapper.xml @@ -0,0 +1,7 @@ + + + + +