From 810b07cd238377e7a18e523cfe2094d8a3272ab8 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期日, 24 十二月 2023 23:03:36 +0800
Subject: [PATCH] 配置信息对接调整提交

---
 server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java |  119 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 58 insertions(+), 61 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
index d27b353..1a7911d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -1,13 +1,13 @@
 package com.doumee.service.system.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
-import com.doumee.dao.admin.request.LaborConfigDTO;
-import com.doumee.dao.admin.request.VisitConfigDTO;
+import com.doumee.dao.admin.request.*;
 import com.doumee.dao.system.SystemDictMapper;
 import com.doumee.dao.system.model.SystemDict;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -132,10 +132,6 @@
     public VisitConfigDTO getVisitConfigDTO() {
 
         try {
-            String jasonStr = Constants.toUnderlineJSONString(new VisitConfigDTO());
-            JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
-            List<String> collect = parse.entrySet().stream().map(s -> s.getKey().toUpperCase()).collect(Collectors.toList());
-
             QueryWrapper<SystemDict> systemDictQuery = new QueryWrapper<>();
             systemDictQuery.lambda()
                             .eq(SystemDict::getDeleted,Boolean.FALSE)
@@ -147,18 +143,19 @@
             }
             QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
             wrapper.lambda()
-                    .eq(SystemDictData::getDictId,systemDict.getId())
-                    .in(SystemDictData::getLabel,collect);
-            List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
-            if (CollectionUtils.isEmpty(systemDictData)){
+                    .eq(SystemDictData::getDictId,systemDict.getId());
+            List<SystemDictData> systemDictDatas = systemDictDataMapper.selectList(wrapper);
+            if (CollectionUtils.isEmpty(systemDictDatas)){
                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀鍊间笉瀛樺湪");
             }
-            systemDictData.forEach(s->{
-                parse.put(s.getLabel().toLowerCase(),s.getCode());
-            });
-            String s = parse.toJSONString();
-            VisitConfigDTO miniProgrammeDTO = Constants.toSnakeObject(s, VisitConfigDTO.class);
-            return miniProgrammeDTO;
+            VisitConfigDTO visitConfigDTO = null;
+            for (SystemDictData obj:systemDictDatas) {
+                visitConfigDTO = new VisitConfigDTO();
+                visitConfigDTO.setVisitConfigParam(JSONObject.parseObject(obj.getCode(),VisitConfigParam.class));
+                visitConfigDTO.setDescription(obj.getRemark());
+                visitConfigDTO.setTheme(obj.getLabel());
+            }
+            return visitConfigDTO;
         } catch (Exception e) {
             throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
         }
@@ -179,26 +176,30 @@
             QuerySystemDictDataDTO dictData = new QuerySystemDictDataDTO();
             dictData.setDictId((systemDict.getId()));
             List<SystemDictDataListVO> systemDictDataListVOS = systemDictDataMapper.selectManageList(dictData);
+            SystemDictData systemDictData = getSystemDictDataListVO(systemDict);
+            systemDictData.setCode(JSON.toJSONString(miniProgrammeDTO.getVisitConfigParam()));
+            systemDictData.setLabel(miniProgrammeDTO.getTheme());
+            systemDictData.setRemark(miniProgrammeDTO.getDescription());
             if(null != systemDictDataListVOS && systemDictDataListVOS.size() > 0) {
-                LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-                SystemDictData systemDictData = new SystemDictData();
-                systemDictData.setDictId(systemDict.getId());
-                systemDictData.setCode(JSONObject.toJSONString(miniProgrammeDTO.getVisitConfigParam()));
-                systemDictData.setDisabled(true);
-                systemDictData.setSort(Constants.ZERO);
-                systemDictData.setLabel(miniProgrammeDTO.getTheme());
-                systemDictData.setRemark(miniProgrammeDTO.getDescription());
-                systemDictData.setCreateTime(new Date());
-                systemDictData.setUpdateTime(new Date());
-                systemDictData.setCreateUser(loginUserInfo.getId());
-                systemDictData.setUpdateUser(loginUserInfo.getId());
-                if(null == systemDictDataListVOS.get(0).getId()) {
-                    systemDictDataMapper.insert(systemDictData);
-                }else {
-                    systemDictData.setId(systemDictDataListVOS.get(0).getId());
-                    systemDictDataMapper.updateById(systemDictData);
-                }
+                systemDictData.setId(systemDictDataListVOS.get(0).getId());
+                systemDictDataMapper.updateById(systemDictData);
+            }else {
+                systemDictDataMapper.insert(systemDictData);
             }
+    }
+
+    private SystemDictData getSystemDictDataListVO(SystemDict systemDict) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        SystemDictData systemDictData = new SystemDictData();
+        systemDictData.setDictId(systemDict.getId());
+        systemDictData.setDisabled(true);
+        systemDictData.setSort(Constants.ONE);
+        systemDictData.setCreateTime(new Date());
+        systemDictData.setUpdateTime(new Date());
+        systemDictData.setCreateUser(loginUserInfo.getId());
+        systemDictData.setUpdateUser(loginUserInfo.getId());
+
+        return systemDictData;
     }
 
     @Override
@@ -220,18 +221,16 @@
             }
             QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
             wrapper.lambda()
-                    .eq(SystemDictData::getDictId,systemDict.getId())
-                    .in(SystemDictData::getLabel,collect);
-            List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
-            if (CollectionUtils.isEmpty(systemDictData)){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀鍊间笉瀛樺湪");
+                    .eq(SystemDictData::getDictId,systemDict.getId());
+            List<SystemDictData> systemDictDatas = systemDictDataMapper.selectList(wrapper);
+            LaborConfigDTO laborConfigDTO = null;
+            for (SystemDictData obj:systemDictDatas) {
+                laborConfigDTO = new LaborConfigDTO();
+                laborConfigDTO.setLaborConfigParam(JSONObject.parseObject(obj.getCode(), LaborConfigParam.class));
+                laborConfigDTO.setDescription(obj.getRemark());
+                laborConfigDTO.setTheme(obj.getLabel());
             }
-            systemDictData.forEach(s->{
-                parse.put(s.getLabel().toLowerCase(),s.getCode());
-            });
-            String s = parse.toJSONString();
-            LaborConfigDTO miniProgrammeDTO = Constants.toSnakeObject(s, LaborConfigDTO.class);
-            return miniProgrammeDTO;
+            return laborConfigDTO;
         } catch (Exception e) {
             throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
         }
@@ -239,29 +238,27 @@
 
     @Override
     public void updateLaborConfigDTO(LaborConfigDTO miniProgrammeDTO) {
-        try {
-
             QueryWrapper<SystemDict> systemDictQuery = new QueryWrapper<>();
             systemDictQuery.lambda()
                     .eq(SystemDict::getDeleted,Boolean.FALSE)
-                    .eq(SystemDict::getCode,Constants.VISIT_CONFIG);
+                    .eq(SystemDict::getCode,Constants.LABOR_CONFIG);
             SystemDict systemDict = systemDictMapper.selectOne(systemDictQuery);
 
             if (Objects.isNull(systemDict)){
                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
             }
-            String jasonStr = Constants.toUnderlineJSONString(miniProgrammeDTO);
-            JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
-            parse.entrySet().forEach(s->{
-                UpdateWrapper<SystemDictData> wrapper = new UpdateWrapper<>();
-                wrapper.lambda()
-                        .eq(SystemDictData::getDictId,systemDict.getId())
-                        .eq(SystemDictData::getLabel,s.getKey().toUpperCase())
-                        .set(SystemDictData::getCode,s.getValue());
-                systemDictDataMapper.update(null,wrapper);
-            });
-        } catch (JsonProcessingException e) {
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
-        }
+            QuerySystemDictDataDTO dictData = new QuerySystemDictDataDTO();
+            dictData.setDictId((systemDict.getId()));
+            List<SystemDictDataListVO> systemDictDataListVOS = systemDictDataMapper.selectManageList(dictData);
+            SystemDictData systemDictData = getSystemDictDataListVO(systemDict);
+            systemDictData.setCode(JSON.toJSONString(miniProgrammeDTO.getLaborConfigParam()));
+            systemDictData.setLabel(miniProgrammeDTO.getTheme());
+            systemDictData.setRemark(miniProgrammeDTO.getDescription());
+            if(null != systemDictDataListVOS && systemDictDataListVOS.size() > 0) {
+                systemDictData.setId(systemDictDataListVOS.get(0).getId());
+                systemDictDataMapper.updateById(systemDictData);
+            }else {
+                systemDictDataMapper.insert(systemDictData);
+            }
     }
 }

--
Gitblit v1.9.3