From 6765787baa5e0b771d71f865c4deb776367410c4 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 13 八月 2024 13:38:19 +0800
Subject: [PATCH] 修复bug

---
 server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java |  367 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 254 insertions(+), 113 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 f4a56d5..9445510 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,12 +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;
@@ -21,14 +22,20 @@
 import com.doumee.service.system.SystemDictDataService;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
+
+import static net.sf.jsqlparser.parser.feature.Feature.set;
+import static net.sf.jsqlparser.parser.feature.Feature.update;
 
 /**
  * 瀛楀吀鏁版嵁Service瀹炵幇
@@ -124,129 +131,263 @@
 
     @Override
     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)
-                            .eq(SystemDict::getCode,Constants.VISIT_CONFIG);
-            SystemDict systemDict = systemDictMapper.selectOne(systemDictQuery);
-
-            if (Objects.isNull(systemDict)){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
-            }
-            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(),"瀛楀吀鍊间笉瀛樺湪");
-            }
-            systemDictData.forEach(s->{
-                parse.put(s.getLabel().toLowerCase(),s.getCode());
-            });
-            String s = parse.toJSONString();
-            VisitConfigDTO miniProgrammeDTO = Constants.toSnakeObject(s, VisitConfigDTO.class);
-            return miniProgrammeDTO;
-        } catch (Exception e) {
-            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
+        VisitConfigDTO visitConfigDTO = new VisitConfigDTO();
+        SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.SYSTEM));
+        if(Objects.isNull(systemDict)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀绫讳笉瀛樺湪");
         }
+        List<SystemDictData> systemDictList = systemDictDataMapper.selectList(
+                new QueryWrapper<SystemDictData>().lambda().eq(SystemDictData::getDictId,systemDict.getId()));
+        if(!com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemDictList)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
+        }
+        SystemDictData reservationWay = systemDictList.stream().filter(m->m.getLabel().equals(Constants.MDJ_VISIT_REQUIRED)).findFirst().get();
+        if(Objects.isNull(reservationWay)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮鏉ヨ棰勭害鏂瑰紡 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setReservationWay(Integer.valueOf(reservationWay.getCode()));
+
+        SystemDictData checkVisit = systemDictList.stream().filter(m->m.getLabel().equals(Constants.BEVISITED_USER_VALID)).findFirst().get();
+        if(Objects.isNull(checkVisit)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮琚浜烘牎楠屾柟寮� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setCheckVisit(Integer.valueOf(checkVisit.getCode()));
+        SystemDictData healthCard = systemDictList.stream().filter(m->m.getLabel().equals(Constants.HEALTH_CARD)).findFirst().get();
+        if(Objects.isNull(healthCard)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮鍋ュ悍璇佹槸鍚﹀繀濉� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setHealthCard(Integer.valueOf(healthCard.getCode()));
+        SystemDictData isAnswer = systemDictList.stream().filter(m->m.getLabel().equals(Constants.PROBLEM_VISIT_REQUIRED)).findFirst().get();
+        if(Objects.isNull(isAnswer)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮鏄惁闇�瑕佺瓟棰� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setIsAnswer(Integer.valueOf(isAnswer.getCode()));
+        SystemDictData theme = systemDictList.stream().filter(m->m.getLabel().equals(Constants.THEME)).findFirst().get();
+        if(Objects.isNull(theme)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮绛旈涓婚 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setTheme(theme.getCode());
+
+        SystemDictData description = systemDictList.stream().filter(m->m.getLabel().equals(Constants.DESCRIPTION)).findFirst().get();
+        if(Objects.isNull(description)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮绛旈璇存槑 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setDescription(description.getCode());
+
+        SystemDictData visitNotice = systemDictList.stream().filter(m->m.getLabel().equals(Constants.VISIT_NOTICE)).findFirst().get();
+        if(Objects.isNull(visitNotice)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍏ュ巶椤荤煡 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setVisitNotice(visitNotice.getCode());
+        SystemDictData doorsVisitRequired = systemDictList.stream().filter(m->m.getLabel().equals(Constants.SELECT_DOORS_VISIT_REQUIRED)).findFirst().get();
+        if(Objects.isNull(doorsVisitRequired)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鑷�夐棬绂侀厤缃� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setDoorsVisitRequired(Integer.valueOf(doorsVisitRequired.getCode()));
+        return visitConfigDTO;
     }
 
     @Override
-    public void updateVisitConfig(VisitConfigDTO miniProgrammeDTO) {
-        try {
-
-            QueryWrapper<SystemDict> systemDictQuery = new QueryWrapper<>();
-            systemDictQuery.lambda()
-                    .eq(SystemDict::getDeleted,Boolean.FALSE)
-                    .eq(SystemDict::getCode,Constants.VISIT_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(),"瀛楀吀鍊艰В鏋愭湁璇�");
+    public void updateVisitConfig(VisitConfigDTO visitConfigDTO) {
+        if(Objects.isNull(visitConfigDTO)
+                ||Objects.isNull(visitConfigDTO.getReservationWay())
+                ||Objects.isNull(visitConfigDTO.getCheckVisit())
+                ||Objects.isNull(visitConfigDTO.getHealthCard())
+                ||Objects.isNull(visitConfigDTO.getIsAnswer())
+                || StringUtils.isEmpty(visitConfigDTO.getTheme())
+                || StringUtils.isEmpty(visitConfigDTO.getDescription())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
+        SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.SYSTEM));
+        if(Objects.isNull(systemDict)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀绫讳笉瀛樺湪");
+        }
+        List<SystemDictData> systemDictList = systemDictDataMapper.selectList(
+                new QueryWrapper<SystemDictData>().lambda().eq(SystemDictData::getDictId,systemDict.getId()));
+        if(!com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemDictList)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
+        }
+
+        SystemDictData reservationWay = systemDictList.stream().filter(m->m.getLabel().equals(Constants.MDJ_VISIT_REQUIRED)).findFirst().get();
+        if(Objects.isNull(reservationWay)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮鏉ヨ棰勭害鏂瑰紡 瀛楀吀涓嶅瓨鍦�");
+        }
+        reservationWay.setCode(visitConfigDTO.getReservationWay().toString());
+
+        SystemDictData checkVisit = systemDictList.stream().filter(m->m.getLabel().equals(Constants.BEVISITED_USER_VALID)).findFirst().get();
+        if(Objects.isNull(checkVisit)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮琚浜烘牎楠屾柟寮� 瀛楀吀涓嶅瓨鍦�");
+        }
+        checkVisit.setCode(visitConfigDTO.getCheckVisit().toString());
+        SystemDictData healthCard = systemDictList.stream().filter(m->m.getLabel().equals(Constants.HEALTH_CARD)).findFirst().get();
+        if(Objects.isNull(healthCard)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮鍋ュ悍璇佹槸鍚﹀繀濉� 瀛楀吀涓嶅瓨鍦�");
+        }
+        healthCard.setCode(visitConfigDTO.getHealthCard().toString());
+        SystemDictData isAnswer = systemDictList.stream().filter(m->m.getLabel().equals(Constants.PROBLEM_VISIT_REQUIRED)).findFirst().get();
+        if(Objects.isNull(isAnswer)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮鏄惁闇�瑕佺瓟棰� 瀛楀吀涓嶅瓨鍦�");
+        }
+        isAnswer.setCode(visitConfigDTO.getIsAnswer().toString());
+        SystemDictData theme = systemDictList.stream().filter(m->m.getLabel().equals(Constants.THEME)).findFirst().get();
+        if(Objects.isNull(theme)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮绛旈涓婚 瀛楀吀涓嶅瓨鍦�");
+        }
+        theme.setCode(visitConfigDTO.getTheme());
+
+        SystemDictData description = systemDictList.stream().filter(m->m.getLabel().equals(Constants.DESCRIPTION)).findFirst().get();
+        if(Objects.isNull(description)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"璁垮绛旈璇存槑 瀛楀吀涓嶅瓨鍦�");
+        }
+        description.setCode(visitConfigDTO.getDescription());
+
+        SystemDictData visitNotice = systemDictList.stream().filter(m->m.getLabel().equals(Constants.VISIT_NOTICE)).findFirst().get();
+        if(Objects.isNull(visitNotice)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍏ュ巶椤荤煡 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitNotice.setCode(visitConfigDTO.getVisitNotice());
+
+        SystemDictData doorsVisitRequired = systemDictList.stream().filter(m->m.getLabel().equals(Constants.SELECT_DOORS_VISIT_REQUIRED)).findFirst().get();
+        if(Objects.isNull(doorsVisitRequired)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鑷�夐棬绂侀厤缃� 瀛楀吀涓嶅瓨鍦�");
+        }
+        doorsVisitRequired.setCode(visitConfigDTO.getDoorsVisitRequired().toString());
+
+        systemDictDataMapper.updateById(reservationWay);
+        systemDictDataMapper.updateById(checkVisit);
+        systemDictDataMapper.updateById(healthCard);
+        systemDictDataMapper.updateById(isAnswer);
+        systemDictDataMapper.updateById(theme);
+        systemDictDataMapper.updateById(description);
+        systemDictDataMapper.updateById(visitNotice);
+        systemDictDataMapper.updateById(doorsVisitRequired);
+
+    }
+
+    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
-    public LaborConfigDTO getLaborConfigDTO() {
-
-        try {
-            String jasonStr = Constants.toUnderlineJSONString(new LaborConfigDTO());
-            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)
-                    .eq(SystemDict::getCode,Constants.LABOR_CONFIG);
-            SystemDict systemDict = systemDictMapper.selectOne(systemDictQuery);
-
-            if (Objects.isNull(systemDict)){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
-            }
-            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(),"瀛楀吀鍊间笉瀛樺湪");
-            }
-            systemDictData.forEach(s->{
-                parse.put(s.getLabel().toLowerCase(),s.getCode());
-            });
-            String s = parse.toJSONString();
-            LaborConfigDTO miniProgrammeDTO = Constants.toSnakeObject(s, LaborConfigDTO.class);
-            return miniProgrammeDTO;
-        } catch (Exception e) {
-            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
+    public VisitConfigDTO getLaborConfigDTO() {
+        VisitConfigDTO visitConfigDTO = new VisitConfigDTO();
+        SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.SYSTEM));
+        if(Objects.isNull(systemDict)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀绫讳笉瀛樺湪");
         }
+        List<SystemDictData> systemDictList = systemDictDataMapper.selectList(
+                new QueryWrapper<SystemDictData>().lambda().eq(SystemDictData::getDictId,systemDict.getId()));
+        if(!com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemDictList)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
+        }
+        SystemDictData reservationWay = systemDictList.stream().filter(m->m.getLabel().equals(Constants.MDJ_LW_REQUIRED)).findFirst().get();
+        if(Objects.isNull(reservationWay)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮鏉ヨ棰勭害鏂瑰紡 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setReservationWay(Integer.valueOf(reservationWay.getCode()));
+
+        SystemDictData checkVisit = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_BEVISITED_USER_VALID)).findFirst().get();
+        if(Objects.isNull(checkVisit)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮琚浜烘牎楠屾柟寮� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setCheckVisit(Integer.valueOf(checkVisit.getCode()));
+
+        SystemDictData healthCard = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_HEALTH_CARD)).findFirst().get();
+        if(Objects.isNull(healthCard)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮鍋ュ悍璇佹槸鍚﹀繀濉� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setHealthCard(Integer.valueOf(healthCard.getCode()));
+
+        SystemDictData isAnswer = systemDictList.stream().filter(m->m.getLabel().equals(Constants.PROBLEM_LW_REQUIRED)).findFirst().get();
+        if(Objects.isNull(isAnswer)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮鏄惁闇�瑕佺瓟棰� 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setIsAnswer(Integer.valueOf(isAnswer.getCode()));
+
+        SystemDictData theme = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_THEME)).findFirst().get();
+        if(Objects.isNull(theme)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮绛旈涓婚 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setTheme(theme.getCode());
+
+        SystemDictData description = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_DESCRIPTION)).findFirst().get();
+        if(Objects.isNull(description)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮绛旈璇存槑 瀛楀吀涓嶅瓨鍦�");
+        }
+        visitConfigDTO.setDescription(description.getCode());
+        return visitConfigDTO;
     }
 
     @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);
-            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(),"瀛楀吀鍊艰В鏋愭湁璇�");
+    public void updateLaborConfigDTO(VisitConfigDTO visitConfigDTO) {
+        if(Objects.isNull(visitConfigDTO)
+                ||Objects.isNull(visitConfigDTO.getReservationWay())
+                ||Objects.isNull(visitConfigDTO.getCheckVisit())
+                ||Objects.isNull(visitConfigDTO.getHealthCard())
+                ||Objects.isNull(visitConfigDTO.getIsAnswer())
+                || StringUtils.isEmpty(visitConfigDTO.getTheme())
+                || StringUtils.isEmpty(visitConfigDTO.getDescription())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
+        SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.SYSTEM));
+        if(Objects.isNull(systemDict)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀绫讳笉瀛樺湪");
+        }
+        List<SystemDictData> systemDictList = systemDictDataMapper.selectList(
+                new QueryWrapper<SystemDictData>().lambda().eq(SystemDictData::getDictId,systemDict.getId()));
+        if(!com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemDictList)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
+        }
+
+        SystemDictData reservationWay = systemDictList.stream().filter(m->m.getLabel().equals(Constants.MDJ_LW_REQUIRED)).findFirst().get();
+        if(Objects.isNull(reservationWay)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮鏉ヨ棰勭害鏂瑰紡 瀛楀吀涓嶅瓨鍦�");
+        }
+        reservationWay.setCode(visitConfigDTO.getReservationWay().toString());
+
+        SystemDictData checkVisit = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_BEVISITED_USER_VALID)).findFirst().get();
+        if(Objects.isNull(checkVisit)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮琚浜烘牎楠屾柟寮� 瀛楀吀涓嶅瓨鍦�");
+        }
+        checkVisit.setCode(visitConfigDTO.getCheckVisit().toString());
+        SystemDictData healthCard = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_HEALTH_CARD)).findFirst().get();
+        if(Objects.isNull(healthCard)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮鍋ュ悍璇佹槸鍚﹀繀濉� 瀛楀吀涓嶅瓨鍦�");
+        }
+        healthCard.setCode(visitConfigDTO.getHealthCard().toString());
+        SystemDictData isAnswer = systemDictList.stream().filter(m->m.getLabel().equals(Constants.PROBLEM_LW_REQUIRED)).findFirst().get();
+        if(Objects.isNull(isAnswer)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮鏄惁闇�瑕佺瓟棰� 瀛楀吀涓嶅瓨鍦�");
+        }
+        isAnswer.setCode(visitConfigDTO.getIsAnswer().toString());
+        SystemDictData theme = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_THEME)).findFirst().get();
+        if(Objects.isNull(theme)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮绛旈涓婚 瀛楀吀涓嶅瓨鍦�");
+        }
+        theme.setCode(visitConfigDTO.getTheme());
+        SystemDictData description = systemDictList.stream().filter(m->m.getLabel().equals(Constants.LW_DESCRIPTION)).findFirst().get();
+        if(Objects.isNull(description)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍔冲姟璁垮绛旈璇存槑 瀛楀吀涓嶅瓨鍦�");
+        }
+        description.setCode(visitConfigDTO.getDescription());
+
+        systemDictDataMapper.updateById(reservationWay);
+        systemDictDataMapper.updateById(checkVisit);
+        systemDictDataMapper.updateById(healthCard);
+        systemDictDataMapper.updateById(isAnswer);
+        systemDictDataMapper.updateById(theme);
+        systemDictDataMapper.updateById(description);
     }
 }

--
Gitblit v1.9.3