Переглянути джерело

Merge remote-tracking branch 'origin/dev/icss' into dev/icss

wangyu 6 роки тому
батько
коміт
34d6a72559

+ 19 - 2
icss-service/src/main/java/com/diagbot/dto/TranFieldInfoDTO.java

@@ -1,11 +1,28 @@
 package com.diagbot.dto;
 
-import com.diagbot.entity.TranFieldInfo;
+import lombok.Getter;
+import lombok.Setter;
 
 /**
  * @Description:
  * @author: wangyu
  * @time: 2018/11/21 14:08
  */
-public class TranFieldInfoDTO extends TranFieldInfo {
+@Getter
+@Setter
+public class TranFieldInfoDTO {
+    /**
+     * 唯一主键(通常是医院编码:hospitalId)
+     */
+    private String uuid;
+
+    /**
+     * icss需要的字段
+     */
+    private String icssField;
+
+    /**
+     * 医院个性化字段
+     */
+    private String hisField;
 }

+ 24 - 17
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -127,12 +127,7 @@ public class PushFacade {
                     in("tag_name", disMap.keySet()).
                     eq("type", QuestionTypeEnum.Disease.getKey());
             List<QuestionInfo> disList = questionFacade.list(questionInfoQueryWrapper);
-            Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(disList, "tagName");
-            for (Map.Entry<String, Object> entry : disMap.entrySet()) {
-                if (questionInfoMap.get(entry.getKey()) != null) {
-                    entry.setValue(questionInfoMap.get(entry.getKey()).getId());
-                }
-            }
+            disMap = getTagByMap(disMap, disList, pushVO);
             pushDTO.setDisMap(disMap);
         }
         //症状(主诉 type=1;现病史 type=2) 返回 tagName+填写单
@@ -141,17 +136,8 @@ public class PushFacade {
             questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
                     in("tag_name", symptomMap.keySet()).
                     eq("type", QuestionTypeEnum.Symptom.getKey());
-            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
-            Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");
-            for (Map.Entry<String, Object> entry : symptomMap.entrySet()) {
-                if (questionInfoMap.get(entry.getKey()) != null) {
-                    QuestionVO questionVO = new QuestionVO();
-                    questionVO.setAge(pushVO.getAge());
-                    questionVO.setSexType(pushVO.getSex());
-                    questionVO.setId(questionInfoMap.get(entry.getKey()).getId());
-                    entry.setValue(questionFacade.getById(questionVO));
-                }
-            }
+            List<QuestionInfo> symptomList = questionFacade.list(questionInfoQueryWrapper);
+            symptomMap = getTagByMap(symptomMap, symptomList, pushVO);
             pushDTO.setSymptomMap(symptomMap);
         }
         //查体 返回模板
@@ -199,6 +185,27 @@ public class PushFacade {
         return pushDTO;
     }
 
+    /**
+     * 获取返回结果标签
+     *
+     * @param map
+     * @param questionInfoList
+     * @param pushVO
+     * @return
+     */
+    public Map<String, Object> getTagByMap(Map<String, Object> map, List<QuestionInfo> questionInfoList, PushVO pushVO) {
+        Map<String, QuestionInfo> questionMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            if (questionMap.get(entry.getKey()) != null) {
+                QuestionVO questionVO = new QuestionVO();
+                questionVO.setAge(pushVO.getAge());
+                questionVO.setSexType(pushVO.getSex());
+                questionVO.setId(questionMap.get(entry.getKey()).getId());
+                entry.setValue(questionFacade.getById(questionVO));
+            }
+        }
+        return map;
+    }
 
     /**
      * 推理接口-快易检

+ 1 - 1
icss-service/src/main/java/com/diagbot/mapper/TranFieldInfoMapper.java

@@ -17,5 +17,5 @@ import java.util.List;
  */
 public interface TranFieldInfoMapper extends BaseMapper<TranFieldInfo> {
 
-    public List<TranFieldInfoDTO> getInfosByUuid(TranFieldInfoVO tranFieldInfoVO);
+    List<TranFieldInfoDTO> getInfosByUuid(TranFieldInfoVO tranFieldInfoVO);
 }

+ 2 - 1
icssman-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java

@@ -8,7 +8,8 @@ package com.diagbot.exception;
  * @time: 2018/9/10 11:11
  */
 public enum ServiceErrorCode implements ErrorCode {
-    FILE_UPLOAD_ERROE("12020001", "文件上传出错");
+    FILE_UPLOAD_ERROE("12020001", "文件上传出错"),
+    FILE_DELETE_ERROR("12020002", "远程删除文件出错");
 
     private String code;
     private String msg;

+ 21 - 0
icssman-service/src/main/java/com/diagbot/service/impl/UploadServiceImpl.java

@@ -68,4 +68,25 @@ public class UploadServiceImpl implements UploadService {
         return path;
 
     }
+
+    /**
+     * 删除服务端文件
+     *
+     * @param path
+     * @return
+     */
+    public Boolean deleteRemoteFile(String path) {
+        if (path.startsWith("/")) {
+            path = path.substring(1);
+        }
+        String fileName = path.substring(path.indexOf("/") + 1);
+        String groupName = path.substring(0, path.indexOf("/"));
+        try {
+            FastDFSClient.deleteFile(groupName, fileName);
+        } catch (Exception e) {
+            log.error("", e);
+            throw new CommonException(ServiceErrorCode.FILE_DELETE_ERROR, "delete file failed");
+        }
+        return true;
+    }
 }

+ 5 - 0
icssman-service/src/main/java/com/diagbot/web/UploadController.java

@@ -22,4 +22,9 @@ public class UploadController {
     public RespDTO<String> singleFileUpload(@RequestParam("file") MultipartFile file) {
         return RespDTO.onSuc(uploadFacade.singleFileUpload(file));
     }
+
+    @PostMapping("/deleteRemoteFile")
+    public RespDTO<Boolean> deleteRemoteFile(@RequestParam("path") String path) {
+        return RespDTO.onSuc(uploadFacade.deleteRemoteFile(path));
+    }
 }