From 8c79ff2c695254275669390dc4353593b42b7475 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 20 五月 2024 11:16:48 +0800 Subject: [PATCH] 最新版本 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 117 insertions(+), 0 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..77e2238 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,6 +2,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; @@ -9,17 +11,20 @@ import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.SystemDictMapper; 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; import com.doumee.service.system.SystemDictDataService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import lombok.extern.java.Log; 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; @@ -133,4 +138,116 @@ 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 + @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