From 7610df9f2155c82f4a5f554b9f4c7f0446be6261 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期四, 14 十二月 2023 15:44:47 +0800 Subject: [PATCH] 1、图形统计用户新增图形保存功能 --- Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/StatisticConfigVO.java | 16 +++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IStatisticConfigService.java | 36 +++++++ Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/StatisticConfigMapper.xml | 7 + Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/StatisticConfigController.java | 58 +++++++++++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java | 104 ++++++++++++++++++++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/StatisticConfigMapper.java | 12 ++ Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/StatisticConfig.java | 66 +++++++++++++ 7 files changed, 299 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/StatisticConfig.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/StatisticConfig.java new file mode 100644 index 0000000..f20aa9c --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/StatisticConfig.java @@ -0,0 +1,66 @@ +package com.vci.ubcs.system.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +/** + * 涓绘暟鎹粺璁″璞� + * @author yuxc + * @date 2023/12/13 11:13 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("PL_SYS_STATISTIC_CONFIG") +public class StatisticConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @TableId + private Long id; + + /** + * 鐢ㄦ埛id + */ + private Long userId; + + /** + * 涓氬姟绫诲瀷 + */ + private String btmname; + + /** + * 鍥惧舰ids + */ + private String chartIds; + + /** + * 鍒涘缓鏃堕棿 + */ + private Date createtime; + /** + * 鍒涘缓浜� + */ + private String creator; + /** + * 淇敼鏃堕棿 + */ + private Date lastmodifytime; + /** + * 淇敼浜� + */ + private String lastmodifier; + /** + * + */ + private Date ts; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/StatisticConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/StatisticConfigVO.java new file mode 100644 index 0000000..36ee16b --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/StatisticConfigVO.java @@ -0,0 +1,16 @@ +package com.vci.ubcs.system.vo; + +import com.vci.ubcs.system.entity.MdmCountConfig; +import com.vci.ubcs.system.entity.StatisticConfig; +import lombok.Data; + +import java.util.List; + +/** + * @author ludc + * @date 2023/10/18 8:56 + */ +@Data +public class StatisticConfigVO extends StatisticConfig { + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/StatisticConfigController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/StatisticConfigController.java new file mode 100644 index 0000000..a4d1453 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/StatisticConfigController.java @@ -0,0 +1,58 @@ +package com.vci.ubcs.system.controller; + +import com.vci.ubcs.system.entity.StatisticConfig; +import com.vci.ubcs.system.service.IMdmCountConfigService; +import com.vci.ubcs.system.service.IStatisticConfigService; +import com.vci.ubcs.system.vo.MdmCountConfigVO; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author yuxc + * @date 2023/12/13 15:47 + */ +@NonDS +@RestController +@AllArgsConstructor +@RequestMapping("/statisticConfig") +//@Api(value = "瀛楀吀", tags = "瀛楀吀") +public class StatisticConfigController { + + private final IStatisticConfigService statisticConfigService; + + /** + * 缁熻鍒嗘瀽淇濆瓨 + * @param statisticConfigs 鏁版嵁浼犺緭瀵硅薄 + * @return 鏁版嵁杩斿洖 + */ + @PostMapping("/saveStatisticAnalysis") + public R saveStatisticAnalysis(@RequestBody List<StatisticConfig> statisticConfigs){ + return statisticConfigService.saveStatisticConfig(statisticConfigs); + } + + /** + * 缁熻鍒嗘瀽鍒犻櫎鍥惧舰 + * @param btmname 涓氬姟绫诲瀷 + * @param chartId 鍥惧舰ID + * @return 鎴愬姛涓庡惁 + */ + @PostMapping("/deleteChartId") + public R deleteChartId(String btmname,String chartId){ + return statisticConfigService.deleteChartId(btmname,chartId); + } + + /** + * 鑾峰彇鐢ㄦ埛閰嶇疆鐨勪笟鍔$被鍨嬩笌鐩稿叧鐨勫浘褰� + * @return 鍥惧舰鏁版嵁涓庝笟鍔$被鍨婭D + */ + @GetMapping("/getBtmAndChartIds") + public R getBtmAndChartIds(){ + return statisticConfigService.getBtmAndChartIds(); + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/StatisticConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/StatisticConfigMapper.java new file mode 100644 index 0000000..01fdf6c --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/StatisticConfigMapper.java @@ -0,0 +1,12 @@ +package com.vci.ubcs.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.vci.ubcs.system.entity.StatisticConfig; + +/** + * @author ludc + * @date 2023/10/17 14:53 + */ +public interface StatisticConfigMapper extends BaseMapper<StatisticConfig> { + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IStatisticConfigService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IStatisticConfigService.java new file mode 100644 index 0000000..352f766 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IStatisticConfigService.java @@ -0,0 +1,36 @@ +package com.vci.ubcs.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.vci.ubcs.system.entity.StatisticConfig; +import org.springblade.core.tool.api.R; + +import java.util.List; + +/** + * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔� + * @author ludc + * @date 2023/10/17 14:44 + */ +public interface IStatisticConfigService extends IService<StatisticConfig> { + + /** + * 缁熻鍒嗘瀽淇濆瓨 + * @param statisticConfigs 鏁版嵁浼犺緭瀵硅薄 + * @return 鏁版嵁杩斿洖 + */ + R saveStatisticConfig(List<StatisticConfig> statisticConfigs); + + /** + * 缁熻鍒嗘瀽鍒犻櫎鍥惧舰 + * @param btmname 涓氬姟绫诲瀷 + * @param chartId 鍥惧舰ID + * @return 鎴愬姛涓庡惁 + */ + R deleteChartId(String btmname, String chartId); + + /** + * 鑾峰彇鐢ㄦ埛閰嶇疆鐨勪笟鍔$被鍨嬩笌鐩稿叧鐨勫浘褰� + * @return 鍥惧舰鏁版嵁涓庝笟鍔$被鍨婭D + */ + R getBtmAndChartIds(); +} 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..1168900 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java @@ -0,0 +1,104 @@ +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()); + List<StatisticConfig> list = this.list(wrapper); + Map<String, String> collect = list.stream().collect(Collectors.toMap(StatisticConfig::getBtmname, StatisticConfig::getChartIds)); + return R.data(collect); + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/StatisticConfigMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/StatisticConfigMapper.xml new file mode 100644 index 0000000..384de10 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/StatisticConfigMapper.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.vci.ubcs.system.mapper.StatisticConfigMapper"> + + + +</mapper> -- Gitblit v1.9.3