mirror of
https://github.com/dataease/dataease.git
synced 2026-05-23 13:58:26 +08:00
perf: 自动创建用户设置(xpack)
This commit is contained in:
@@ -2,16 +2,21 @@ package io.dataease.system.manage;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.dataease.api.system.vo.SettingItemVO;
|
||||
import io.dataease.license.config.XpackInteract;
|
||||
import io.dataease.system.dao.auto.entity.CoreSysSetting;
|
||||
import io.dataease.system.dao.auto.mapper.CoreSysSettingMapper;
|
||||
import io.dataease.system.dao.ext.mapper.ExtCoreSysSettingMapper;
|
||||
import io.dataease.utils.BeanUtils;
|
||||
import io.dataease.utils.CommonBeanFactory;
|
||||
import io.dataease.utils.IDUtils;
|
||||
import io.dataease.utils.SystemSettingUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -71,26 +76,41 @@ public class SysParameterManage {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<SettingItemVO> groupList(String groupKey) {
|
||||
public List<CoreSysSetting> groupList(String groupKey) {
|
||||
QueryWrapper<CoreSysSetting> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.likeRight("pkey", groupKey);
|
||||
queryWrapper.orderByAsc("sort");
|
||||
List<CoreSysSetting> sysSettings = coreSysSettingMapper.selectList(queryWrapper);
|
||||
if (!CollectionUtils.isEmpty(sysSettings)) {
|
||||
return sysSettings.stream().map(item -> BeanUtils.copyBean(new SettingItemVO(), item)).toList();
|
||||
}
|
||||
return null;
|
||||
return coreSysSettingMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@XpackInteract(value = "perSetting")
|
||||
public List<SettingItemVO> convert(List<CoreSysSetting> sysSettings) {
|
||||
return sysSettings.stream().sorted(Comparator.comparing(CoreSysSetting::getSort)).map(item -> BeanUtils.copyBean(new SettingItemVO(), item)).toList();
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void saveGroup(List<SettingItemVO> vos, String groupKey) {
|
||||
QueryWrapper<CoreSysSetting> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.likeRight("pkey", groupKey);
|
||||
coreSysSettingMapper.delete(queryWrapper);
|
||||
List<CoreSysSetting> sysSettings = vos.stream().map(item -> {
|
||||
List<CoreSysSetting> sysSettings = vos.stream().filter(vo -> !SystemSettingUtils.xpackSetting(vo.getPkey())).map(item -> {
|
||||
CoreSysSetting sysSetting = BeanUtils.copyBean(new CoreSysSetting(), item);
|
||||
sysSetting.setId(IDUtils.snowID());
|
||||
return sysSetting;
|
||||
}).collect(Collectors.toList());
|
||||
extCoreSysSettingMapper.saveBatch(sysSettings);
|
||||
}
|
||||
|
||||
|
||||
@XpackInteract(value = "perSetting", before = false)
|
||||
@Transactional
|
||||
public void saveBasic(List<SettingItemVO> vos) {
|
||||
String key = "basic.";
|
||||
proxy().saveGroup(vos, key);
|
||||
}
|
||||
|
||||
private SysParameterManage proxy() {
|
||||
return CommonBeanFactory.getBean(SysParameterManage.class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.dataease.system.server;
|
||||
import io.dataease.api.system.SysParameterApi;
|
||||
import io.dataease.api.system.request.OnlineMapEditor;
|
||||
import io.dataease.api.system.vo.SettingItemVO;
|
||||
import io.dataease.system.dao.auto.entity.CoreSysSetting;
|
||||
import io.dataease.system.manage.SysParameterManage;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -36,11 +37,12 @@ public class SysParameterServer implements SysParameterApi {
|
||||
@Override
|
||||
public List<SettingItemVO> queryBasicSetting() {
|
||||
String key = "basic.";
|
||||
return sysParameterManage.groupList(key);
|
||||
List<CoreSysSetting> coreSysSettings = sysParameterManage.groupList(key);
|
||||
return sysParameterManage.convert(coreSysSettings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveBasicSetting(List<SettingItemVO> settingItemVOS) {
|
||||
sysParameterManage.saveGroup(settingItemVOS, "basic.");
|
||||
sysParameterManage.saveBasic(settingItemVOS);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user