src/main/java/com/ycl/jxkg/controller/admin/SysConfigController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/entity/SysConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/form/SysConfigForm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/query/SysConfigQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/SysConfigVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/mapper/SysConfigMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/SysConfigService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/SysConfigServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/SysConfigMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/jxkg/controller/admin/SysConfigController.java
New file @@ -0,0 +1,48 @@ package com.ycl.jxkg.controller.admin; import com.ycl.jxkg.group.Update; import com.ycl.jxkg.group.Add; import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; import lombok.RequiredArgsConstructor; import java.util.List; import org.springframework.validation.annotation.Validated; import javax.validation.constraints.NotEmpty; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.ycl.jxkg.service.SysConfigService; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.domain.form.SysConfigForm; import com.ycl.jxkg.domain.query.SysConfigQuery; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; /** * 系统配置表 前端控制器 * * @author xp * @since 2024-07-09 */ @Validated @RequiredArgsConstructor @Api(value = "系统配置表", tags = "系统配置表管理") @RestController @RequestMapping("/api/sys-config") public class SysConfigController { private final SysConfigService sysConfigService; @GetMapping @ApiOperation(value = "获取系统配置", notes = "系统配置") @PreAuthorize("hasAuthority('sysConfig:config')") public Result config() { return sysConfigService.config(); } @PutMapping @ApiOperation(value = "修改系统配置", notes = "系统配置") @PreAuthorize("hasAuthority('sysConfig:edit')") public Result edit(@RequestBody @Validated SysConfigForm form) { return sysConfigService.update(form); } } src/main/java/com/ycl/jxkg/domain/entity/SysConfig.java
New file @@ -0,0 +1,27 @@ package com.ycl.jxkg.domain.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import com.ycl.jxkg.domain.base.AbsEntity; import lombok.Data; /** * 系统配置表 * * @author xp * @since 2024-07-09 */ @Data @TableName("sys_config") public class SysConfig extends AbsEntity { private static final long serialVersionUID = 1L; @TableField("password_expire_time") /** 密码过期时间 */ private Integer passwordExpireTime; } src/main/java/com/ycl/jxkg/domain/form/SysConfigForm.java
New file @@ -0,0 +1,38 @@ package com.ycl.jxkg.domain.form; import com.ycl.jxkg.group.Update; import com.ycl.jxkg.group.Add; import com.ycl.jxkg.domain.base.AbsForm; import com.ycl.jxkg.domain.entity.SysConfig; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 系统配置表表单 * * @author xp * @since 2024-07-09 */ @Data @ApiModel(value = "SysConfig表单", description = "系统配置表表单") public class SysConfigForm extends AbsForm { @NotNull(message = "密码过期时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("密码过期时间") private Integer passwordExpireTime; public static SysConfig getEntityByForm(@NonNull SysConfigForm form, SysConfig entity) { if(entity == null) { entity = new SysConfig(); } BeanUtils.copyProperties(form, entity); return entity; } } src/main/java/com/ycl/jxkg/domain/query/SysConfigQuery.java
New file @@ -0,0 +1,22 @@ package com.ycl.jxkg.domain.query; import com.ycl.jxkg.domain.base.AbsQuery; import java.util.List; import org.springframework.lang.NonNull; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 系统配置表查询 * * @author xp * @since 2024-07-09 */ @Data @ApiModel(value = "SysConfig查询", description = "系统配置表查询") public class SysConfigQuery extends AbsQuery { } src/main/java/com/ycl/jxkg/domain/vo/SysConfigVO.java
New file @@ -0,0 +1,33 @@ package com.ycl.jxkg.domain.vo; import com.ycl.jxkg.domain.base.AbsVo; import com.ycl.jxkg.domain.entity.SysConfig; import java.util.List; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 系统配置表展示 * * @author xp * @since 2024-07-09 */ @Data public class SysConfigVO extends AbsVo { /** 密码过期时间 */ private Integer passwordExpireTime; public static SysConfigVO getVoByEntity(@NonNull SysConfig entity, SysConfigVO vo) { if(vo == null) { vo = new SysConfigVO(); } BeanUtils.copyProperties(entity, vo); return vo; } } src/main/java/com/ycl/jxkg/mapper/SysConfigMapper.java
New file @@ -0,0 +1,34 @@ package com.ycl.jxkg.mapper; import com.ycl.jxkg.domain.entity.SysConfig; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.jxkg.domain.query.SysConfigQuery; import com.ycl.jxkg.domain.vo.SysConfigVO; import com.ycl.jxkg.domain.form.SysConfigForm; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * 系统配置表 Mapper 接口 * * @author xp * @since 2024-07-09 */ @Mapper public interface SysConfigMapper extends BaseMapper<SysConfig> { /** * id查找系统配置表 * @param id * @return */ SysConfigVO getById(Integer id); /** * 分页 */ IPage getPage(IPage page, @Param("query") SysConfigQuery query); } src/main/java/com/ycl/jxkg/service/SysConfigService.java
New file @@ -0,0 +1,33 @@ package com.ycl.jxkg.service; import com.ycl.jxkg.domain.entity.SysConfig; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.domain.form.SysConfigForm; import com.ycl.jxkg.domain.query.SysConfigQuery; import java.util.List; /** * 系统配置表 服务类 * * @author xp * @since 2024-07-09 */ public interface SysConfigService extends IService<SysConfig> { /** * 修改配置 * * @param form * @return */ Result update(SysConfigForm form); /** * 获取系统配置 * * @return */ Result config(); } src/main/java/com/ycl/jxkg/service/impl/SysConfigServiceImpl.java
New file @@ -0,0 +1,62 @@ package com.ycl.jxkg.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.jxkg.domain.entity.SysConfig; import com.ycl.jxkg.mapper.SysConfigMapper; import com.ycl.jxkg.service.SysConfigService; import com.ycl.jxkg.base.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.domain.form.SysConfigForm; import com.ycl.jxkg.domain.vo.SysConfigVO; import com.ycl.jxkg.domain.query.SysConfigQuery; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import com.ycl.jxkg.utils.PageUtil; import org.springframework.beans.BeanUtils; import org.springframework.util.Assert; import java.rmi.ServerException; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 系统配置表 服务实现类 * * @author xp * @since 2024-07-09 */ @Service @RequiredArgsConstructor public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService { private final SysConfigMapper sysConfigMapper; /** * 修改 * @param form * @return */ @Override public Result update(SysConfigForm form) { SysConfig entity = baseMapper.selectById(form.getId()); if (Objects.isNull(entity)) { entity = new SysConfig(); } BeanUtils.copyProperties(form, entity); this.saveOrUpdate(entity); return Result.ok("修改成功"); } @Override public Result config() { List<SysConfig> configList = baseMapper.selectList(null); if (configList.size() > 1) { throw new RuntimeException("发现多个系统配置,无法正常运行,请联系系统管理员"); } if (configList.size() < 1) { return Result.ok(new SysConfig()); } return Result.ok().data(configList.get(0)); } } src/main/resources/mapper/SysConfigMapper.xml
New file @@ -0,0 +1,32 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.jxkg.mapper.SysConfigMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.vo.SysConfigVO"> <result column="password_expire_time" property="passwordExpireTime" /> </resultMap> <select id="getById" resultMap="BaseResultMap"> SELECT SC.password_expire_time, SC.id FROM sys_config SC WHERE SC.id = #{id} AND SC.deleted = 0 </select> <select id="getPage" resultMap="BaseResultMap"> SELECT SC.password_expire_time, SC.id FROM sys_config SC WHERE SC.deleted = 0 </select> </mapper>