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