diff --git a/Jenkinsfile b/Jenkinsfile index 5b8dfb0..4aa9438 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -61,6 +61,8 @@ pipeline { -p 8082:8082 \ -e SPRING_PROFILES_ACTIVE=test \ -e JAVA_OPTS="-Xms256m -Xmx512m -Duser.timezone=Asia/Shanghai" \ + -e TZ=Asia/Shanghai \ + -v /etc/localtime:/etc/localtime:ro \ --restart always \ \${DOCKER_IMAGE} """ diff --git a/src/main/java/com/sczx/store/controller/SysDataController.java b/src/main/java/com/sczx/store/controller/SysDataController.java index ab4e3c8..9948088 100644 --- a/src/main/java/com/sczx/store/controller/SysDataController.java +++ b/src/main/java/com/sczx/store/controller/SysDataController.java @@ -2,15 +2,13 @@ package com.sczx.store.controller; import com.sczx.store.common.Result; +import com.sczx.store.dto.SysConfigDTO; import com.sczx.store.dto.SysDictDataDTO; import com.sczx.store.service.SysDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -43,4 +41,18 @@ public class SysDataController { return Result.ok(sysDataService.getDictDataByDicTypeAndValue(dicType, dicValue)); } + + @ApiOperation(value = "根据key列表查询配置列表") + @PostMapping("/listConfigByConfigKey") + public Result> listConfigByConfigKey(@RequestBody List configKeys){ + + return Result.ok(sysDataService.listConfigByConfigKey(configKeys)); + } + + @ApiOperation(value = "根据key查询配置") + @GetMapping("/getConfigByConfigKey") + public Result getConfigByConfigKey(@RequestParam(name = "configKey") String configKey){ + + return Result.ok(sysDataService.getConfigByConfigKey(configKey)); + } } diff --git a/src/main/java/com/sczx/store/convert/SysConfigConvert.java b/src/main/java/com/sczx/store/convert/SysConfigConvert.java new file mode 100644 index 0000000..f6cd974 --- /dev/null +++ b/src/main/java/com/sczx/store/convert/SysConfigConvert.java @@ -0,0 +1,16 @@ +package com.sczx.store.convert; + +import com.sczx.store.dto.SysConfigDTO; +import com.sczx.store.po.SysConfigPO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +@Mapper +public interface SysConfigConvert { + SysConfigConvert INSTANCE = Mappers.getMapper(SysConfigConvert.class); + SysConfigPO dtoToPO(SysConfigDTO dto); + SysConfigDTO poToDTO(SysConfigPO po); + List posToDtos(List pos); +} diff --git a/src/main/java/com/sczx/store/dto/SysConfigDTO.java b/src/main/java/com/sczx/store/dto/SysConfigDTO.java new file mode 100644 index 0000000..a13a3f2 --- /dev/null +++ b/src/main/java/com/sczx/store/dto/SysConfigDTO.java @@ -0,0 +1,43 @@ +package com.sczx.store.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@ApiModel(value = "SysConfigDTO") +@Data +public class SysConfigDTO { + + + @ApiModelProperty("参数主键") + private Integer configId; + + @ApiModelProperty("参数名称") + private String configName; + + @ApiModelProperty("参数键名") + private String configKey; + + @ApiModelProperty("参数键值") + private String configValue; + + @ApiModelProperty("系统内置(Y是 N否)") + private String configType; + + @ApiModelProperty("创建者") + private String createBy; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("更新者") + private String updateBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/src/main/java/com/sczx/store/mapper/SysConfigMapper.java b/src/main/java/com/sczx/store/mapper/SysConfigMapper.java new file mode 100644 index 0000000..1face56 --- /dev/null +++ b/src/main/java/com/sczx/store/mapper/SysConfigMapper.java @@ -0,0 +1,16 @@ +package com.sczx.store.mapper; + +import com.sczx.store.po.SysConfigPO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 参数配置表 Mapper 接口 + *

+ * + * @author zhangli + * @since 2025-08-23 20:36:48 + */ +public interface SysConfigMapper extends BaseMapper { + +} diff --git a/src/main/java/com/sczx/store/po/SysConfigPO.java b/src/main/java/com/sczx/store/po/SysConfigPO.java new file mode 100644 index 0000000..7590181 --- /dev/null +++ b/src/main/java/com/sczx/store/po/SysConfigPO.java @@ -0,0 +1,62 @@ +package com.sczx.store.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 参数配置表 + *

+ * + * @author zhangli + * @since 2025-08-23 20:36:48 + */ +@Getter +@Setter +@TableName("sys_config") +@ApiModel(value = "SysConfigPO对象", description = "参数配置表") +public class SysConfigPO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("参数主键") + @TableId(value = "config_id", type = IdType.AUTO) + private Integer configId; + + @ApiModelProperty("参数名称") + private String configName; + + @ApiModelProperty("参数键名") + private String configKey; + + @ApiModelProperty("参数键值") + private String configValue; + + @ApiModelProperty("系统内置(Y是 N否)") + private String configType; + + @ApiModelProperty("创建者") + private String createBy; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("更新者") + private String updateBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + @ApiModelProperty("备注") + private String remark; + + +} diff --git a/src/main/java/com/sczx/store/repository/SysConfigRepo.java b/src/main/java/com/sczx/store/repository/SysConfigRepo.java new file mode 100644 index 0000000..e44b9f8 --- /dev/null +++ b/src/main/java/com/sczx/store/repository/SysConfigRepo.java @@ -0,0 +1,16 @@ +package com.sczx.store.repository; + +import com.sczx.store.po.SysConfigPO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 参数配置表 服务类 + *

+ * + * @author zhangli + * @since 2025-08-23 20:36:48 + */ +public interface SysConfigRepo extends IService { + +} diff --git a/src/main/java/com/sczx/store/repository/impl/SysConfigRepoImpl.java b/src/main/java/com/sczx/store/repository/impl/SysConfigRepoImpl.java new file mode 100644 index 0000000..01b588f --- /dev/null +++ b/src/main/java/com/sczx/store/repository/impl/SysConfigRepoImpl.java @@ -0,0 +1,20 @@ +package com.sczx.store.repository.impl; + +import com.sczx.store.po.SysConfigPO; +import com.sczx.store.mapper.SysConfigMapper; +import com.sczx.store.repository.SysConfigRepo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 参数配置表 服务实现类 + *

+ * + * @author zhangli + * @since 2025-08-23 20:36:48 + */ +@Service +public class SysConfigRepoImpl extends ServiceImpl implements SysConfigRepo { + +} diff --git a/src/main/java/com/sczx/store/service/SysDataService.java b/src/main/java/com/sczx/store/service/SysDataService.java index 7454b0e..ba70013 100644 --- a/src/main/java/com/sczx/store/service/SysDataService.java +++ b/src/main/java/com/sczx/store/service/SysDataService.java @@ -1,5 +1,6 @@ package com.sczx.store.service; +import com.sczx.store.dto.SysConfigDTO; import com.sczx.store.dto.SysDictDataDTO; import java.util.List; @@ -20,4 +21,18 @@ public interface SysDataService { * @return */ SysDictDataDTO getDictDataByDicTypeAndValue(String dicType, String dicValue); + + /** + * 根据配置key查询配置信息 + * @param configKeys + * @return + */ + List listConfigByConfigKey(List configKeys); + + /** + * 根据配置key查询配置信息 + * @param configKey + * @return + */ + SysConfigDTO getConfigByConfigKey(String configKey); } diff --git a/src/main/java/com/sczx/store/service/impl/SysDataServiceImpl.java b/src/main/java/com/sczx/store/service/impl/SysDataServiceImpl.java index 3b4d342..f9d67c2 100644 --- a/src/main/java/com/sczx/store/service/impl/SysDataServiceImpl.java +++ b/src/main/java/com/sczx/store/service/impl/SysDataServiceImpl.java @@ -1,9 +1,13 @@ package com.sczx.store.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.sczx.store.convert.SysConfigConvert; import com.sczx.store.convert.SysDictDataConvert; +import com.sczx.store.dto.SysConfigDTO; import com.sczx.store.dto.SysDictDataDTO; +import com.sczx.store.po.SysConfigPO; import com.sczx.store.po.SysDictDataPO; +import com.sczx.store.repository.SysConfigRepo; import com.sczx.store.repository.SysDictDataRepo; import com.sczx.store.service.SysDataService; import lombok.extern.slf4j.Slf4j; @@ -19,6 +23,9 @@ public class SysDataServiceImpl implements SysDataService { @Autowired private SysDictDataRepo sysDictDataRepo; + @Autowired + private SysConfigRepo sysConfigRepo; + @Override public List listDictDataByDicType(String dicType) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -34,4 +41,20 @@ public class SysDataServiceImpl implements SysDataService { wrapper.eq(SysDictDataPO::getDictType, dicType).eq(SysDictDataPO::getDictValue, dicValue).last(" limit 1"); return SysDictDataConvert.INSTANCE.poToDTO(sysDictDataRepo.getOne(wrapper)); } + + @Override + public List listConfigByConfigKey(List configKeys) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SysConfigPO::getConfigKey, configKeys); + List sysConfigPOList = sysConfigRepo.list(wrapper); + return SysConfigConvert.INSTANCE.posToDtos(sysConfigPOList); + + } + + @Override + public SysConfigDTO getConfigByConfigKey(String configKey) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SysConfigPO::getConfigKey, configKey); + return SysConfigConvert.INSTANCE.poToDTO(sysConfigRepo.getOne(wrapper)); + } } diff --git a/src/main/resources/mapper/SysConfigMapper.xml b/src/main/resources/mapper/SysConfigMapper.xml new file mode 100644 index 0000000..957efbf --- /dev/null +++ b/src/main/resources/mapper/SysConfigMapper.xml @@ -0,0 +1,5 @@ + + + + +