From ad6dfb8323ab40ca8fe4fed94722c755d89c3203 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 28 二月 2024 15:14:47 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java |  253 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 252 insertions(+), 1 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 a34d8ba..76d4642 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,9 +1,16 @@
 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.*;
+import com.doumee.dao.system.SystemDictMapper;
 import com.doumee.dao.system.model.SystemDict;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.doumee.core.model.PageData;
@@ -15,13 +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瀹炵幇
@@ -34,6 +48,8 @@
     @Autowired
     private SystemDictDataMapper systemDictDataMapper;
 
+    @Autowired
+    private SystemDictMapper systemDictMapper;
     @Override
     public Integer create(SystemDictData systemDictData) {
         systemDictDataMapper.insert(systemDictData);
@@ -91,7 +107,7 @@
         Wrapper<SystemDictData> wrapper = new QueryWrapper<>(systemDictData);
         return systemDictDataMapper.selectList(wrapper);
     }
-  
+
     @Override
     public PageData<SystemDictDataListVO> findPage(PageWrap<QuerySystemDictDataDTO> pageWrap) {
         PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
@@ -112,4 +128,239 @@
                 .in(SystemDictData::getLabel,codes);
         return systemDictDataMapper.selectList(wrapper);
     }
+
+    @Override
+    public VisitConfigDTO getVisitConfigDTO() {
+        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());
+        return visitConfigDTO;
+    }
+
+    @Override
+    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());
+
+        systemDictDataMapper.updateById(reservationWay);
+        systemDictDataMapper.updateById(checkVisit);
+        systemDictDataMapper.updateById(healthCard);
+        systemDictDataMapper.updateById(isAnswer);
+        systemDictDataMapper.updateById(theme);
+        systemDictDataMapper.updateById(description);
+
+    }
+
+    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 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(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