From 5613052418903a5780a8cb77c29eab4ef8066bee Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 14 十二月 2023 20:18:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 105 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java new file mode 100644 index 0000000..0c5c98c --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java @@ -0,0 +1,105 @@ +package com.vci.ubcs.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.entity.StatisticConfig; +import com.vci.ubcs.system.mapper.MdmCountConfigMapper; +import com.vci.ubcs.system.mapper.StatisticConfigMapper; +import com.vci.ubcs.system.service.IMdmCountConfigService; +import com.vci.ubcs.system.service.IStatisticConfigService; +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.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔� + * @author ludc + * @date 2023/10/17 14:45 + */ +@Service +public class StatisticConfigServiceImpl extends ServiceImpl<StatisticConfigMapper, StatisticConfig> implements IStatisticConfigService { + /** + * 缁熻鍒嗘瀽淇濆瓨 + * @param statisticConfigs 鏁版嵁浼犺緭瀵硅薄 + * @return 鏁版嵁杩斿洖 + */ + @Override + public R saveStatisticConfig(List<StatisticConfig> statisticConfigs) { + + QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", AuthUtil.getUser().getUserId()); + wrapper.in("btmname", statisticConfigs.stream().map(StatisticConfig::getBtmname).collect(Collectors.toList())); + List<StatisticConfig> list = this.list(wrapper); + statisticConfigs.stream().map(e ->{ + list.stream().filter(lis -> e.getBtmname().equals(lis.getBtmname())).forEach(lis->{ + e.setId(lis.getId()); + e.setTs(new Date()); + e.setCreator(lis.getCreator()); + e.setCreatetime(lis.getCreatetime()); + e.setLastmodifier(String.valueOf(AuthUtil.getUser().getUserId())); + e.setLastmodifytime(new Date()); + }); + if(e.getId() == null){ + e.setUserId(AuthUtil.getUser().getUserId()); + e.setTs(new Date()); + e.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); + e.setCreatetime(new Date()); + e.setLastmodifier(String.valueOf(AuthUtil.getUser().getUserId())); + e.setLastmodifytime(new Date()); + } + return e; + }).collect(Collectors.toList()); + + this.saveOrUpdateBatch(statisticConfigs); + + return R.success("鎿嶄綔鎴愬姛锛�"); + } + + /** + * 缁熻鍒嗘瀽鍒犻櫎鍥惧舰 + * @param btmname 涓氬姟绫诲瀷 + * @param chartId 鍥惧舰ID + * @return 鎴愬姛涓庡惁 + */ + @Override + public R deleteChartId(String btmname, String chartId) { + + QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", AuthUtil.getUser().getUserId()); + wrapper.in("btmname",btmname); + StatisticConfig statisticConfig = this.getOne(wrapper); + if(StringUtil.isBlank(statisticConfig.getChartIds())){ + throw new ServiceException("鏈煡鍒板巻鍙茬浉鍏冲浘褰㈡暟鎹紝璇峰厛淇濆瓨锛侊紒"); + } + List<String> chartIds = new ArrayList(Arrays.asList(statisticConfig.getChartIds().split(","))); + chartIds.remove(chartId); + statisticConfig.setChartIds(chartIds.stream().collect(Collectors.joining(","))); + this.updateById(statisticConfig); + return R.success("鎿嶄綔鎴愬姛锛侊紒"); + } + + /** + * 鑾峰彇鐢ㄦ埛閰嶇疆鐨勪笟鍔$被鍨嬩笌鐩稿叧鐨勫浘褰� + * @return 鍥惧舰鏁版嵁涓庝笟鍔$被鍨婭D + */ + @Override + public R getBtmAndChartIds() { + QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", AuthUtil.getUser().getUserId()); + wrapper.isNotNull("chart_ids"); + List<StatisticConfig> list = this.list(wrapper); + Map<String, String> collect = list.stream().collect(Collectors.toMap(StatisticConfig::getBtmname, StatisticConfig::getChartIds)); + return R.data(collect); + } + +} -- Gitblit v1.9.3