From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 11 九月 2025 18:43:14 +0800 Subject: [PATCH] 最新版本541200007 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 169 insertions(+), 3 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java index 80841fa..51532ce 100644 --- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java +++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java @@ -2,13 +2,17 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.doumee.core.model.LoginUserInfo; -import com.doumee.core.model.PageData; -import com.doumee.core.model.PageWrap; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.service.business.third.model.LoginUserInfo; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.SystemDictMapper; +import com.doumee.dao.system.dto.PlatformConfigDTO; import com.doumee.dao.system.dto.QuerySystemDictDataDTO; +import com.doumee.dao.system.dto.VisitConfigDTO; import com.doumee.dao.system.model.SystemDict; import com.doumee.dao.system.model.SystemDictData; import com.doumee.dao.system.vo.SystemDictDataListVO; @@ -20,6 +24,7 @@ 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; @@ -133,4 +138,165 @@ return systemDictData; } + + @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(),"瀛楀吀涓嶅瓨鍦�"); + } + try {visitConfigDTO.setReservationWay(Integer.parseInt(setDataByLabel(systemDictList,Constants.MDJ_VISIT_REQUIRED))); }catch (Exception e){ } + try {visitConfigDTO.setCheckVisit(Integer.parseInt(setDataByLabel(systemDictList,Constants.BEVISITED_USER_VALID)));}catch (Exception e){} + try {visitConfigDTO.setHealthCard(Integer.parseInt(setDataByLabel(systemDictList,Constants.HEALTH_CARD)));}catch (Exception e){} + try {visitConfigDTO.setIsAnswer(Integer.parseInt(setDataByLabel(systemDictList,Constants.PROBLEM_VISIT_REQUIRED)));}catch (Exception e){} + visitConfigDTO.setTheme(setDataByLabel(systemDictList,Constants.THEME)); + visitConfigDTO.setDescription(setDataByLabel(systemDictList,Constants.DESCRIPTION)); + visitConfigDTO.setVisitNotice(setDataByLabel(systemDictList,Constants.VISIT_NOTICE)); + try {visitConfigDTO.setDoorsVisitRequired(Integer.parseInt(setDataByLabel(systemDictList,Constants.SELECT_DOORS_VISIT_REQUIRED)));}catch (Exception e){} + try {visitConfigDTO.setFrezzDays(Integer.parseInt(setDataByLabel(systemDictList,Constants.TIMEOUT_FREEZE)));}catch (Exception e){} + visitConfigDTO.setVisitTips(setDataByLabel(systemDictList,Constants.VISIT_TIPS)); + visitConfigDTO.setVisitMap(setDataByLabel(systemDictList,Constants.VISIT_GUIDEMAP)); + return visitConfigDTO; + } + + private String setDataByLabel(List<SystemDictData> systemDictList, String visitGuidemap) { + for(SystemDictData dictData : systemDictList){ + if(org.apache.commons.lang3.StringUtils.equals(dictData.getLabel(),visitGuidemap)){ + return (dictData!=null?dictData.getCode():""); + } + } + return ""; + } + @Override + public PlatformConfigDTO getPlatformConfigDTO(){ + PlatformConfigDTO visitConfigDTO = new PlatformConfigDTO(); + SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.PLATFORM)); + 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(),"瀛楀吀涓嶅瓨鍦�"); + } + visitConfigDTO.setBookTips( setDataByLabel(systemDictList,Constants.PLATFORM_BOOKING_TIPS)); + visitConfigDTO.setTipsImg( setDataByLabel(systemDictList,Constants.PLATFORM_GUIDEMAP)); + return visitConfigDTO; + } + @Override + @Transactional + public void updatePlatformConfig(PlatformConfigDTO visitConfigDTO) { + if(Objects.isNull(visitConfigDTO) + && Objects.isNull(visitConfigDTO.getBookTips()) + && Objects.isNull(visitConfigDTO.getTipsImg()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = visitConfigDTO.getLoginUserInfo(); + } + SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.PLATFORM)); + if(Objects.isNull(systemDict)){ + systemDict = new SystemDict(); + systemDict.setCreateUser(loginUserInfo.getId()); + systemDict.setCreateTime(new Date()); + systemDict.setUpdateUser(systemDict.getCreateUser()); + systemDict.setUpdateTime(systemDict.getCreateTime()); + systemDict.setCode(Constants.PLATFORM); + systemDict.setRemark("鏈堝彴鐩稿叧閰嶇疆"); + systemDict.setDeleted(Boolean.FALSE); + systemDictMapper.insert(systemDict); + } + 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(),"瀛楀吀涓嶅瓨鍦�"); + } + dealDictData(systemDictList,systemDict.getId(),Constants.PLATFORM_GUIDEMAP,"鐗╂祦杞﹀洯鍖哄瑙堝浘",loginUserInfo, visitConfigDTO.getTipsImg()==null?"":visitConfigDTO.getTipsImg().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.PLATFORM_BOOKING_TIPS,"鐗╂祦杞﹂绾︽寚鍗�",loginUserInfo, visitConfigDTO.getBookTips()==null?"":visitConfigDTO.getBookTips().toString()); + } + + @Override + @Transactional + 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.getDoorsVisitRequired()) + && StringUtils.isEmpty(visitConfigDTO.getVisitMap()) + && StringUtils.isEmpty(visitConfigDTO.getVisitTips()) + && StringUtils.isEmpty(visitConfigDTO.getDescription()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = visitConfigDTO.getLoginUserInfo(); + } + SystemDict systemDict = systemDictMapper.selectOne(new QueryWrapper<SystemDict>().lambda().eq(SystemDict::getCode,Constants.SYSTEM)); + if(Objects.isNull(systemDict)){ + systemDict = new SystemDict(); + systemDict.setCreateUser(loginUserInfo.getId()); + systemDict.setCreateTime(new Date()); + systemDict.setUpdateUser(systemDict.getCreateUser()); + systemDict.setUpdateTime(systemDict.getCreateTime()); + systemDict.setCode(Constants.SYSTEM); + systemDict.setRemark("绯荤粺閰嶇疆"); + systemDict.setDeleted(Boolean.FALSE); + systemDictMapper.insert(systemDict); + } + 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(),"瀛楀吀涓嶅瓨鍦�"); + } + dealDictData(systemDictList,systemDict.getId(),Constants.MDJ_VISIT_REQUIRED,"璁垮鏉ヨ棰勭害鏂瑰紡",loginUserInfo, visitConfigDTO.getReservationWay()==null?"":visitConfigDTO.getReservationWay().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.BEVISITED_USER_VALID,"璁垮琚浜烘牎楠屾柟寮�",loginUserInfo, visitConfigDTO.getCheckVisit()==null?"":visitConfigDTO.getCheckVisit().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.HEALTH_CARD,"璁垮鍋ュ悍璇佹槸鍚﹀繀濉�",loginUserInfo, visitConfigDTO.getHealthCard()==null?"":visitConfigDTO.getHealthCard().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.PROBLEM_VISIT_REQUIRED,"璁垮鏄惁闇�瑕佺瓟棰�",loginUserInfo, visitConfigDTO.getIsAnswer()==null?"":visitConfigDTO.getIsAnswer().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.THEME,"璁垮绛旈涓婚",loginUserInfo, visitConfigDTO.getTheme()==null?"":visitConfigDTO.getTheme().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.DESCRIPTION,"璁垮绛旈璇存槑",loginUserInfo, visitConfigDTO.getDescription()==null?"":visitConfigDTO.getDescription().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.VISIT_NOTICE,"鍏ュ巶椤荤煡",loginUserInfo, visitConfigDTO.getVisitNotice()==null?"":visitConfigDTO.getVisitNotice().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.SELECT_DOORS_VISIT_REQUIRED,"鑷�夐棬绂侀厤缃�",loginUserInfo, visitConfigDTO.getDoorsVisitRequired()==null?"":visitConfigDTO.getDoorsVisitRequired().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.TIMEOUT_FREEZE,"浜哄憳闂ㄧ鎺堟潈鍐荤粨澶╂暟閰嶇疆",loginUserInfo, visitConfigDTO.getFrezzDays()==null?"":visitConfigDTO.getFrezzDays().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.VISIT_TIPS,"璁垮棰勭害鎸囧崡",loginUserInfo, visitConfigDTO.getVisitTips()==null?"":visitConfigDTO.getVisitTips().toString()); + dealDictData(systemDictList,systemDict.getId(),Constants.VISIT_GUIDEMAP,"璁垮鍥尯瀵艰鍥�",loginUserInfo, visitConfigDTO.getVisitMap()==null?"":visitConfigDTO.getVisitMap().toString()); + } + + private void dealDictData(List<SystemDictData> systemDictList,Integer dictId, String label, String remark, LoginUserInfo loginUserInfo, String code) { + SystemDictData reservationWay =null; + for(SystemDictData dictData : systemDictList){ + if(org.apache.commons.lang3.StringUtils.equals(dictData.getLabel(),label)){ + reservationWay = dictData; + break; + } + } + if(Objects.isNull(reservationWay)){ + reservationWay = new SystemDictData(); + reservationWay.setCreateUser(loginUserInfo.getId()); + reservationWay.setCreateTime(new Date()); + reservationWay.setUpdateUser(loginUserInfo.getId()); + reservationWay.setUpdateTime(reservationWay.getCreateTime()); + reservationWay.setLabel(label); + reservationWay.setCode(code); + reservationWay.setDictId(dictId); + reservationWay.setRemark(remark); + systemDictDataMapper.insert(reservationWay); + }else{ + reservationWay.setCode(code); + reservationWay.setUpdateUser(loginUserInfo.getId()); + reservationWay.setUpdateTime(new Date()); + systemDictDataMapper.updateById(reservationWay); + } + } } -- Gitblit v1.9.3