IBZConfigService.java.ftl 3.5 KB
Newer Older
sq3536's avatar
sq3536 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
<#ibiztemplate>
TARGET=PSSYSTEM
</#ibiztemplate>
package ${pub.getPKGCodeName()}.util.service;

import ${pub.getPKGCodeName()}.util.domain.IBZConfig;
import ${pub.getPKGCodeName()}.util.errors.BadRequestAlertException;
import ${pub.getPKGCodeName()}.util.helper.DataObject;
import ${pub.getPKGCodeName()}.util.mapper.IBZConfigMapper;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

@Slf4j
@Service
public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> implements IService<IBZConfig> {
25 26 27 28 29
<#if sys.getPSSystemSetting()?? && sys.getPSSystemSetting().getDataAccCtrlArch()?? && sys.getPSSystemSetting().getDataAccCtrlArch()==1>
    <#assign cachename="ibzrt_configs">
<#else >
    <#assign cachename=pub.getCodeName()?lower_case+"_configs">
</#if>
sq3536's avatar
sq3536 committed
30 31 32 33

    @Value("${r'${'}ibiz.systemid:${sys.getName()}}")
	private String systemId;

34 35 36
    @Value("${r'${'}ibiz.admin.userid:0100}")
    private String adminuserid;

zhouweidong's avatar
zhouweidong committed
37
    @Cacheable(value="${cachename}",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
sq3536's avatar
sq3536 committed
38 39
    public JSONObject getConfig(String cfgType,String targetType,String userId)
    {
zhouweidong's avatar
zhouweidong committed
40
        if(StringUtils.isEmpty(userId) || StringUtils.isEmpty(cfgType) || StringUtils.isEmpty(targetType)) {
sq3536's avatar
sq3536 committed
41
            throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",cfgType);
zhouweidong's avatar
zhouweidong committed
42
        }
zhouweidong's avatar
zhouweidong committed
43 44 45 46
        IBZConfig config = this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()), false);
        if(config == null) {
            config = this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(adminuserid).build()), false);
            if(config == null) {
47 48 49 50
                return new JSONObject();
            }
        }
        return JSON.parseObject(config.getCfg());
sq3536's avatar
sq3536 committed
51 52
    }

zhouweidong's avatar
zhouweidong committed
53 54
    @CacheEvict(value="${cachename}", key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
    public boolean saveConfig(String cfgType, String targetType, String userId, JSONObject config)
sq3536's avatar
sq3536 committed
55
    {
zhouweidong's avatar
zhouweidong committed
56
        if(StringUtils.isEmpty(userId) || StringUtils.isEmpty(cfgType) || StringUtils.isEmpty(targetType)) {
sq3536's avatar
sq3536 committed
57
            throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",cfgType);
zhouweidong's avatar
zhouweidong committed
58
        }
zhouweidong's avatar
zhouweidong committed
59 60 61
        String cfg = "{}";
        if(config != null) {
            cfg = JSONObject.toJSONString(config);
zhouweidong's avatar
zhouweidong committed
62
        }
sq3536's avatar
sq3536 committed
63 64 65
        return this.saveOrUpdate(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).cfg(cfg).updateDate(DataObject.getNow()).build());
    }

zhouweidong's avatar
zhouweidong committed
66 67
    @CacheEvict(value = "${cachename}", key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
    public void resetConfig(String cfgType, String targetType, String userId)
sq3536's avatar
sq3536 committed
68
    {
zhouweidong's avatar
zhouweidong committed
69
        if(StringUtils.isEmpty(userId) || StringUtils.isEmpty(cfgType) || StringUtils.isEmpty(targetType)) {
sq3536's avatar
sq3536 committed
70
            throw new BadRequestAlertException("重置配置失败,参数缺失","IBZConfig",cfgType);
zhouweidong's avatar
zhouweidong committed
71
        }
sq3536's avatar
sq3536 committed
72 73 74 75
        this.remove(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()));
    }

}