package com.vci.ubcs.system.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.vci.ubcs.system.entity.MdmCountConfig;
|
import com.vci.ubcs.system.mapper.MdmCountConfigMapper;
|
import com.vci.ubcs.system.service.IMdmCountConfigService;
|
import com.vci.ubcs.system.vo.MdmCountConfigVO;
|
import org.springblade.core.log.exception.ServiceException;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.core.tool.utils.Func;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.sql.Wrapper;
|
import java.util.Date;
|
import java.util.stream.Collectors;
|
|
/**
|
* 主数据统计首页配置服务
|
* @author ludc
|
* @date 2023/10/17 14:45
|
*/
|
@Service
|
public class MdmCountConfigServiceImpl extends ServiceImpl<MdmCountConfigMapper, MdmCountConfig> implements IMdmCountConfigService {
|
|
/**
|
* 保存用户配置的主数据统计项
|
* @param mdmCountConfigVO
|
* @return
|
*/
|
@Override
|
public boolean saveMdmCountConfig(MdmCountConfigVO mdmCountConfigVO) throws ServiceException{
|
if(Func.isEmpty(mdmCountConfigVO) || Func.isBlank(mdmCountConfigVO.getUserId().toString())){
|
throw new ServiceException("主数据统计配置保存时缺少必填参数!");
|
}
|
boolean res = false;
|
if (mdmCountConfigVO.getMdmNameList().isEmpty()) {
|
return true;
|
}
|
try {
|
String mdmNames = mdmCountConfigVO.getMdmNameList().stream().collect(Collectors.joining(","));
|
MdmCountConfig mdmCountConfigDB = getMdmCountConfig(mdmCountConfigVO.getUserId().toString());
|
MdmCountConfig mdmCountConfig = new MdmCountConfig();
|
//新增
|
if(Func.isEmpty(mdmCountConfigDB)){
|
mdmCountConfig.setUserId(mdmCountConfigVO.getUserId());
|
}else {
|
//修改
|
Func.copy(mdmCountConfigDB,mdmCountConfig);
|
}
|
mdmCountConfig.setMdmName(mdmNames);
|
res = this.saveOrUpdate(mdmCountConfig);
|
}catch (Exception e){
|
throw new ServiceException("配置保存失败,原因:"+e.getCause());
|
}
|
return res;
|
}
|
|
/**
|
* 获取当前用户有那些主数据统计配置在首页
|
* @param userId
|
* @return
|
*/
|
@Override
|
public MdmCountConfig getMdmCountConfig(String userId) {
|
LambdaQueryWrapper<MdmCountConfig> wrapper = Wrappers.<MdmCountConfig>query().
|
lambda().eq(MdmCountConfig::getUserId, userId);
|
return this.getOne(wrapper);
|
}
|
|
}
|