From 36baabb9fc5f74a22f798651d33fa8c0ff32a1ce Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 08 十二月 2023 16:31:22 +0800
Subject: [PATCH] #来访配置 劳务配置 获取或修改
---
server/dmvisit_admin/src/main/java/com/doumee/api/system/SystemDictDataController.java | 45 +++++++
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 29 ++++
server/dmvisit_service/src/main/java/com/doumee/service/system/SystemDictDataService.java | 27 ++++
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/VisitConfigDTO.java | 40 +++++-
server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java | 139 +++++++++++++++++++++++
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/LaborConfigDTO.java | 32 +++++
6 files changed, 304 insertions(+), 8 deletions(-)
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/system/SystemDictDataController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/system/SystemDictDataController.java
index 5b9c21e..6caa78e 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/system/SystemDictDataController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/system/SystemDictDataController.java
@@ -8,6 +8,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.dao.admin.request.LaborConfigDTO;
+import com.doumee.dao.admin.request.VisitConfigDTO;
import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.SystemDictDataListVO;
@@ -111,4 +113,47 @@
public ApiResponse<SystemDictData> getSystemDictData(@RequestParam String dictCode, @RequestParam String label) {
return ApiResponse.success(systemDictDataBiz.queryByCode(dictCode,label));
}
+
+ /**
+ * 璁垮鏉ヨ閰嶇疆
+ * @return
+ */
+ @ApiOperation(value = "璁垮鏉ヨ閰嶇疆" )
+ @GetMapping("/getVisitConfigDTO")
+ public ApiResponse<VisitConfigDTO> getVisitConfigDTO(){
+ return ApiResponse.success(systemDictDataService.getVisitConfigDTO());
+ };
+
+ /**
+ * 淇敼璁垮鏉ヨ閰嶇疆
+ * @param visitConfigDTO
+ */
+ @ApiOperation(value = "淇敼璁垮鏉ヨ閰嶇疆" )
+ @PostMapping("/updateVisitConfig")
+ public ApiResponse updateVisitConfig(@RequestBody VisitConfigDTO visitConfigDTO){
+ systemDictDataService.updateVisitConfig(visitConfigDTO);
+ return ApiResponse.success(null);
+ };
+
+
+ /**
+ * 鍔冲姟鏉ヨ閰嶇疆
+ * @return
+ */
+ @ApiOperation(value = "鍔冲姟鏉ヨ閰嶇疆" )
+ @GetMapping("/getLaborConfigDTO")
+ public ApiResponse<LaborConfigDTO> getLaborConfigDTO(){
+ return ApiResponse.success(systemDictDataService.getLaborConfigDTO());
+ };
+
+ /**
+ * 淇敼鍔冲姟鏉ヨ閰嶇疆
+ * @param miniProgrammeDTO
+ */
+ @ApiOperation(value = "淇敼鍔冲姟鏉ヨ閰嶇疆" )
+ @PostMapping("/updateLaborConfigDTO")
+ public ApiResponse updateLaborConfigDTO(@RequestBody LaborConfigDTO miniProgrammeDTO){
+ systemDictDataService.updateLaborConfigDTO(miniProgrammeDTO);
+ return ApiResponse.success(null);
+ };
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index 8422097..c0507f6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,8 +1,13 @@
package com.doumee.core.utils;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import org.apache.commons.lang3.StringUtils;
+import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
@@ -37,6 +42,10 @@
public static final String EDS_PWD ="!@#$%^&QWERTY" ;
public static final String ROOT_PATH = "";
public static final String FILE_DIR = "";
+ // 璁垮鏉ヨ閰嶇疆
+ public static final String VISIT_CONFIG = "VISIT_CONFIG";
+ // 鍔冲姟鏉ヨ閰嶇疆
+ public static final String LABOR_CONFIG = "LABOR_CONFIG";
public static Date getBirthdyByCardNo(String idCard){
@@ -255,7 +264,27 @@
}
}
+ /**
+ * 瀵硅薄椹煎嘲灞炴�ц浆涓嬪垝绾�
+ * @param object
+ * @return
+ * @throws JsonProcessingException
+ */
+ public static String toUnderlineJSONString(Object object) throws JsonProcessingException {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+ mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ String reqJson = mapper.writeValueAsString(object);
+ return reqJson;
+ }
+ public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+ T reqJson = mapper.readValue(json, clazz);
+ return reqJson;
+ }
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/LaborConfigDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/LaborConfigDTO.java
new file mode 100644
index 0000000..04a666c
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/LaborConfigDTO.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.admin.request;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author T14
+ */
+@Data
+@ApiModel("鍔冲姟璁垮閰嶇疆")
+public class LaborConfigDTO {
+
+ @ApiModelProperty(value = "鏉ヨ棰勭害鏂瑰紡")
+ private String reservationWay = "";
+
+ @ApiModelProperty(value = "琚浜烘牎楠屾柟寮�")
+ private String checkVisit = "";
+
+ @ApiModelProperty(value = "鍋ュ悍璇佹槸鍚﹀繀濉�")
+ private String healthCard = "";
+
+ @ApiModelProperty(value = "鍔冲姟鏄惁绛旈")
+ private String isAnswer = "";
+
+ @ApiModelProperty(value = "鍔冲姟绛旈涓婚")
+ private String theme = "";
+
+ @ApiModelProperty(value = "鍔冲姟绛旈璇存槑")
+ private String description = "";
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/VisitConfigDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/VisitConfigDTO.java
index 75574f3..1e86537 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/VisitConfigDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/VisitConfigDTO.java
@@ -1,8 +1,14 @@
package com.doumee.dao.admin.request;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+
+import java.io.IOException;
/**
@@ -13,20 +19,42 @@
public class VisitConfigDTO {
@ApiModelProperty(value = "鏉ヨ棰勭害鏂瑰紡")
- private Integer reservationWay;
+ private String reservationWay = "";
@ApiModelProperty(value = "琚浜烘牎楠屾柟寮�")
- private Integer checkVisit;
+ private String checkVisit = "";
@ApiModelProperty(value = "鍋ュ悍璇佹槸鍚﹀繀濉�")
- private Integer healthCard;
+ private String healthCard = "";
@ApiModelProperty(value = "鍔冲姟鏄惁绛旈")
- private Integer isAnswer;
+ private String isAnswer = "";
@ApiModelProperty(value = "鍔冲姟绛旈涓婚")
- private String theme;
+ private String theme = "";
@ApiModelProperty(value = "鍔冲姟绛旈璇存槑")
- private String description;
+ private String description = "";
+
+// /**
+// * 瀵硅薄椹煎嘲灞炴�ц浆涓嬪垝绾�
+// * @param object
+// * @return
+// * @throws JsonProcessingException
+// */
+// public static String toUnderlineJSONString(Object object) throws JsonProcessingException {
+// ObjectMapper mapper = new ObjectMapper();
+// mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+// mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+// String reqJson = mapper.writeValueAsString(object);
+// return reqJson;
+// }
+//
+//
+// public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException {
+// ObjectMapper mapper = new ObjectMapper();
+// mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+// T reqJson = mapper.readValue(json, clazz);
+// return reqJson;
+// }
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/system/SystemDictDataService.java b/server/dmvisit_service/src/main/java/com/doumee/service/system/SystemDictDataService.java
index 6d3fb87..c0ce5d2 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/system/SystemDictDataService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/system/SystemDictDataService.java
@@ -2,6 +2,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.admin.request.LaborConfigDTO;
+import com.doumee.dao.admin.request.VisitConfigDTO;
import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.SystemDictDataListVO;
@@ -70,7 +72,7 @@
* @date 2023/03/21 14:49
*/
List<SystemDictData> findList(SystemDictData systemDictData);
-
+
/**
* 鍒嗛〉鏌ヨ
* @author Eva.Caesar Liu
@@ -96,5 +98,28 @@
List<SystemDictData> findList(Integer dicId,List<String> codes);
+ /**
+ * 璁垮鏉ヨ閰嶇疆
+ * @return
+ */
+ VisitConfigDTO getVisitConfigDTO();
+ /**
+ * 淇敼璁垮鏉ヨ閰嶇疆
+ * @param miniProgrammeDTO
+ */
+ void updateVisitConfig(VisitConfigDTO miniProgrammeDTO);
+
+
+ /**
+ * 鍔冲姟鏉ヨ閰嶇疆
+ * @return
+ */
+ LaborConfigDTO getLaborConfigDTO();
+
+ /**
+ * 淇敼鍔冲姟鏉ヨ閰嶇疆
+ * @param miniProgrammeDTO
+ */
+ void updateLaborConfigDTO(LaborConfigDTO miniProgrammeDTO);
}
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..f4a56d5 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,15 @@
package com.doumee.service.system.impl;
+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.utils.Constants;
+import com.doumee.dao.admin.request.LaborConfigDTO;
+import com.doumee.dao.admin.request.VisitConfigDTO;
+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;
@@ -22,6 +28,7 @@
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 瀛楀吀鏁版嵁Service瀹炵幇
@@ -34,6 +41,8 @@
@Autowired
private SystemDictDataMapper systemDictDataMapper;
+ @Autowired
+ private SystemDictMapper systemDictMapper;
@Override
public Integer create(SystemDictData systemDictData) {
systemDictDataMapper.insert(systemDictData);
@@ -91,7 +100,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 +121,132 @@
.in(SystemDictData::getLabel,codes);
return systemDictDataMapper.selectList(wrapper);
}
+
+ @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(),"瀛楀吀鍊艰В鏋愭湁璇�");
+ }
+ }
+
+ @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(),"瀛楀吀鍊艰В鏋愭湁璇�");
+ }
+ }
+
+ @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(),"瀛楀吀鍊艰В鏋愭湁璇�");
+ }
+ }
+
+ @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(),"瀛楀吀鍊艰В鏋愭湁璇�");
+ }
+ }
}
--
Gitblit v1.9.3