package cn.cslg.pas.service.business; import cn.cslg.pas.common.dto.customAnalyse.CustomSettingColorConfigDTO; import cn.cslg.pas.common.dto.customAnalyse.CustomSettingConfigDTO; import cn.cslg.pas.common.dto.customAnalyse.CustomSettingLineConfigDTO; import cn.cslg.pas.common.dto.customAnalyse.CustomSettingTableConfigDTO; import cn.cslg.pas.common.model.cronModel.PersonnelVO; import cn.cslg.pas.common.utils.CacheUtils; import cn.cslg.pas.common.utils.JsonUtils; import cn.cslg.pas.common.utils.LoginUtils; import cn.cslg.pas.domain.business.CustomAnalysisItemSetting; import cn.cslg.pas.exception.UnLoginException; import cn.cslg.pas.mapper.CustomAnalysisItemSettingMapper; import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** *

* 自定义分析项目图表设置 服务实现类 *

*/ @Service public class CustomAnalysisItemSettingService extends ServiceImpl { @Autowired private CacheUtils cacheUtils; @Autowired private LoginUtils loginUtils; @Autowired private CustomAnalysisItemSettingMapper customAnalysisItemSettingMapper; public CustomAnalysisItemSetting getItemSettingByUid(String uid) { CustomAnalysisItemSetting temp = this.getOne(Wrappers.lambdaQuery().eq(CustomAnalysisItemSetting::getUid, uid)); if (temp == null) { temp = this.add(new CustomAnalysisItemSetting(), uid); } CustomSettingConfigDTO configDTO = new CustomSettingConfigDTO(); configDTO.setColor(JsonUtils.jsonToList(temp.getColorConfig(), CustomSettingColorConfigDTO.class)); configDTO.setLine(JsonUtils.jsonToPojo(temp.getLineConfig(), CustomSettingLineConfigDTO.class)); configDTO.setTable(JsonUtils.jsonToList(temp.getTableConfig(), CustomSettingTableConfigDTO.class)); temp.setConfig(configDTO); temp.setColorConfig(null); temp.setLineConfig(null); temp.setTableConfig(null); temp.setId(null); temp.setUid(null); temp.setCreateTime(null); temp.setUpdateTime(null); temp.setStatus(null); return temp; } public CustomAnalysisItemSetting add(CustomAnalysisItemSetting setting, String uid) { //获取登陆人信息 用于设置创建人 PersonnelVO personnelVO = new PersonnelVO(); try { personnelVO = cacheUtils.getLoginUser(loginUtils.getId()); } catch (Exception e) { throw new UnLoginException("未登录"); } CustomAnalysisItemSetting customAnalysisItemSetting = new CustomAnalysisItemSetting(); BeanUtils.copyProperties(setting, customAnalysisItemSetting); customAnalysisItemSetting.setUid(uid); customAnalysisItemSetting.setCreateId(personnelVO.getId()); customAnalysisItemSetting.setCreateName(personnelVO.getName()); customAnalysisItemSetting.setColorConfig(JsonUtils.objectToJson(setting.getConfig().getColor())); customAnalysisItemSetting.setTableConfig(JsonUtils.objectToJson(setting.getConfig().getTable())); customAnalysisItemSetting.setLineConfig(JsonUtils.objectToJson(setting.getConfig().getLine())); customAnalysisItemSetting.insert(); return customAnalysisItemSetting; } public void edit(CustomAnalysisItemSetting customAnalysisItemSetting, String uid) { CustomAnalysisItemSetting temp = this.getOne(Wrappers.lambdaQuery().eq(CustomAnalysisItemSetting::getUid, uid)); if (temp == null) { temp = this.add(customAnalysisItemSetting, uid); } customAnalysisItemSetting.setId(temp.getId()); customAnalysisItemSetting.setColorConfig(JsonUtils.objectToJson(customAnalysisItemSetting.getConfig().getColor())); customAnalysisItemSetting.setTableConfig(JsonUtils.objectToJson(customAnalysisItemSetting.getConfig().getTable())); customAnalysisItemSetting.setLineConfig(JsonUtils.objectToJson(customAnalysisItemSetting.getConfig().getLine())); customAnalysisItemSetting.updateById(); } public void deleteByUid(String uid) { this.remove(Wrappers.lambdaQuery().eq(CustomAnalysisItemSetting::getUid, uid)); } }