yubo
2026-03-27 0960e84f87af09990397cb38801bdfd40a2c2d36
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/SysConfigServiceImpl.java
@@ -1,107 +1,140 @@
package cc.mrbird.febs.server.system.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.system.Dic;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.system.SysConfig;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.common.redis.service.RedisService;
import cc.mrbird.febs.server.system.mapper.SysConfigMapper;
import cc.mrbird.febs.server.system.service.ISysConfigService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Propagation;
import lombok.RequiredArgsConstructor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
*
* name:SysConfig
* package:cc.mrbird.febs.server.system.controller
* description:参数配置表服务接口实现
*
* @author Alan
* @date 2021-02-20 09:40:38
* @since JDK1.8
*/
 * name:SysConfig
 * package:cc.mrbird.febs.server.system.controller
 * description:参数配置表服务接口实现
 *
 * @author Alan
 * @date 2021-02-20 09:40:38
 * @since JDK1.8
 */
@Service
@RequiredArgsConstructor
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements ISysConfigService {
private final SysConfigMapper sysConfigMapper;
private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
.map(u -> u.getUserId().toString())
.orElse("1");
@Override
public IPage<SysConfig> findSysConfigs(QueryRequest request, SysConfig sysConfig) {
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysConfig::getDelFlag, 0);
if(StringUtils.isNotBlank(sysConfig.getConfigName())){
    queryWrapper.like(SysConfig::getConfigName, sysConfig.getConfigName());
}
Page<SysConfig> page = new Page<>(request.getPageNum(), request.getPageSize());
return this.page(page, queryWrapper);
}
    private final SysConfigMapper sysConfigMapper;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
            .orElse("1");
@Override
public List<SysConfig> findSysConfigs(SysConfig sysConfig) {
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysConfig::getDelFlag, 0);
return this.baseMapper.selectList(queryWrapper);
}
    private final RedisService redisService;
@Override
@Transactional(rollbackFor = Exception.class)
public void createSysConfig(SysConfig sysConfig) {
sysConfig.setConfigId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
sysConfig.setCreateBy(operatorId);
this.save(sysConfig);
}
    @Override
    public IPage<SysConfig> findSysConfigs(QueryRequest request, SysConfig sysConfig) {
        LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SysConfig::getDelFlag, 0);
        if (StringUtils.isNotBlank(sysConfig.getConfigName())) {
            queryWrapper.like(SysConfig::getConfigName, sysConfig.getConfigName());
        }
        Page<SysConfig> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
    }
@Override
@Transactional(rollbackFor = Exception.class)
public void updateSysConfig(SysConfig sysConfig) {
SysConfig dbData = this.getById(sysConfig.getConfigId());
sysConfig.setDelFlag(dbData.getDelFlag());
sysConfig.setUpdateTime(new Date());
sysConfig.setUpdateBy(operatorId);
this.saveOrUpdate(sysConfig);
}
    @Override
    public List<SysConfig> findSysConfigs(SysConfig sysConfig) {
        LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SysConfig::getDelFlag, 0);
        return this.baseMapper.selectList(queryWrapper);
    }
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteSysConfig(SysConfig sysConfig) {
LambdaQueryWrapper<SysConfig> wrapper = new LambdaQueryWrapper<>();
    wrapper.eq(SysConfig::getConfigId, sysConfig.getConfigId());
// TODO 设置删除条件
this.remove(wrapper);
}
/**
*
* 根据Id批量逻辑删除记录
*
* date 2021-01-28 10:48
* @author: luoyibo
* @param ids 待删除Id
* @return void
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void logicDelSysConfig(String ids) {
    String[] str = ids.split(",");
    List<String> list = new ArrayList<>(Arrays.asList(str));
    for (String str1:list){
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void createSysConfig(SysConfig sysConfig) {
        sysConfig.setConfigId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
        sysConfig.setCreateBy(operatorId);
        this.save(sysConfig);
        redisService.set(sysConfig.getConfigKey(), sysConfig.getConfigValue());
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateSysConfig(SysConfig sysConfig) {
        SysConfig dbData = this.getById(sysConfig.getConfigId());
        sysConfig.setDelFlag(dbData.getDelFlag());
        sysConfig.setUpdateTime(new Date());
        sysConfig.setUpdateBy(operatorId);
        this.saveOrUpdate(sysConfig);
        redisService.set(sysConfig.getConfigKey(), sysConfig.getConfigValue());
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteSysConfig(SysConfig sysConfig) {
        LambdaQueryWrapper<SysConfig> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(SysConfig::getConfigId, str1);
        wrapper.eq(SysConfig::getConfigId, sysConfig.getConfigId());
// TODO 设置删除条件
        this.remove(wrapper);
    }
    /**
     * 根据Id批量逻辑删除记录
     * <p>
     * date 2021-01-28 10:48
     *
     * @param ids 待删除Id
     * @return void
     * @author: luoyibo
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void logicDelSysConfig(String ids) {
        String[] str = ids.split(",");
        List<String> list = new ArrayList<>(Arrays.asList(str));
        for (String str1 : list) {
            LambdaQueryWrapper<SysConfig> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(SysConfig::getConfigId, str1);
// TODO 设置删除条件
            this.remove(wrapper);
        }
    }
}
    @Override
    public Void setContractRemindToRedis() {
        QueryWrapper<SysConfig> sysConfigQueryWrapper = new QueryWrapper<>();
        sysConfigQueryWrapper.eq("config_key", "contract_remind");
        SysConfig sysConfig = sysConfigMapper.selectOne(sysConfigQueryWrapper);
        redisService.set("contract_remind", sysConfig.getConfigValue());
        return null;
    }
    @Override
    public void setConfigInfoToRedis() {
        QueryWrapper<SysConfig> sysConfigQueryWrapper = new QueryWrapper<>();
        sysConfigQueryWrapper.eq("delFlag", "0");
        //SysConfig sysConfig = sysConfigMapper.selectOne(sysConfigQueryWrapper);
        List<SysConfig> list = sysConfigMapper.selectList(sysConfigQueryWrapper);
        list.forEach(sysConfig -> {
            redisService.set(sysConfig.getConfigKey(), sysConfig.getConfigValue());
        });
    }
}