zhaops 6 gadi atpakaļ
vecāks
revīzija
38bfd69fc0

+ 2 - 0
user-service/src/main/java/com/diagbot/dto/UserAuthenticationDTO.java

@@ -3,6 +3,7 @@ package com.diagbot.dto;
 import com.diagbot.entity.Organization;
 import com.diagbot.entity.User;
 import com.diagbot.entity.UserAuthentication;
+import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -17,4 +18,5 @@ public class UserAuthenticationDTO {
     private User user;
     private Organization organization;
     private UserAuthentication userAuthentication;
+    private Map<Integer,Object> organizationType;
 }

+ 43 - 0
user-service/src/main/java/com/diagbot/enums/AuthStatusEnum.java

@@ -0,0 +1,43 @@
+package com.diagbot.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:认证状态枚举类
+ * @author: zhaops
+ * @time: 2018/9/17 20:25
+ */
+public enum AuthStatusEnum {
+
+    Unauthorized("0", "未认证"),
+    Authorized("1", "已认证"),
+    Authorizing("2", "认证中");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    AuthStatusEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static AuthStatusEnum getEnum(String key) {
+        for (AuthStatusEnum item : AuthStatusEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        AuthStatusEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 44 - 0
user-service/src/main/java/com/diagbot/enums/OrganizationTypeEnum.java

@@ -0,0 +1,44 @@
+package com.diagbot.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhaops
+ * @time: 2018/9/18 14:25
+ */
+public enum OrganizationTypeEnum {
+    ChainMedical(0, "连锁医疗机构"),
+    HealthStatisticsBureau(1, "卫计局"),
+    PrimaryMedicalUnit(2, "基础医疗单位"),
+    MedicalClinic(3, "医疗诊所"),
+    Other(99, "其他");
+
+    @Getter
+    @Setter
+    private Integer key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    OrganizationTypeEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static OrganizationTypeEnum getEnum(Integer key) {
+        for (OrganizationTypeEnum item : OrganizationTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        OrganizationTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 32 - 2
user-service/src/main/java/com/diagbot/facade/UserAuthenticationFacade.java

@@ -5,6 +5,8 @@ import com.diagbot.dto.UserAuthenticationRespDTO;
 import com.diagbot.entity.Organization;
 import com.diagbot.entity.User;
 import com.diagbot.entity.UserAuthentication;
+import com.diagbot.enums.AuthStatusEnum;
+import com.diagbot.enums.OrganizationTypeEnum;
 import com.diagbot.service.impl.UserAuthenticationServiceImpl;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.UserAuthenticationVO;
@@ -12,6 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @Description:用户认证业务层
@@ -105,12 +109,38 @@ public class UserAuthenticationFacade extends UserAuthenticationServiceImpl {
         userAuthenticationDTO.setUser(user);
         userAuthenticationDTO.setOrganization(organization);
         userAuthenticationDTO.setUserAuthentication(userAuthentication);
+        Map<Integer, Object> organizationType = new HashMap<>();
+        for (OrganizationTypeEnum item : OrganizationTypeEnum.values()) {
+            organizationType.put(item.getKey(), item.getName());
+        }
+        userAuthenticationDTO.setOrganizationType(organizationType);
         return userAuthenticationDTO;
     }
 
-    public UserAuthentication getUserAuthentication() {
+    public Map<String, Object> getUserAuthenticationStatus() {
         Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
         UserAuthentication userAuthentication = this.getByUserId(userId);
-        return userAuthentication;
+        Map<String, Object> map = new HashMap<>();
+        if (userAuthentication == null) {
+            map.put("msg", "当前用户没有认证信息");
+        } else {
+            String status = userAuthentication.getStatus();
+            String statusName = "";
+            switch (status) {
+                case "0":
+                    statusName = AuthStatusEnum.Unauthorized.getName();
+                    break;
+                case "1":
+                    statusName = AuthStatusEnum.Authorized.getName();
+                    break;
+                case "2":
+                    statusName = AuthStatusEnum.Authorizing.getName();
+                    break;
+                default:
+                    break;
+            }
+            map.put(status, statusName);
+        }
+        return map;
     }
 }

+ 9 - 6
user-service/src/main/java/com/diagbot/web/UserAuthenticationController.java

@@ -8,6 +8,7 @@ import com.diagbot.dto.UserAuthenticationRespDTO;
 import com.diagbot.entity.UserAuthentication;
 import com.diagbot.facade.UserAuthenticationFacade;
 import com.diagbot.vo.UserAuthenticationVO;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.Map;
 
 /**
  * <p>
@@ -27,6 +29,7 @@ import javax.validation.Valid;
  * @since 2018-09-13
  */
 @RestController
+@Api(value="用户认证API", tags={"用户认证API"})
 @RequestMapping("/userAuthentication")
 public class UserAuthenticationController {
     @Autowired
@@ -51,11 +54,11 @@ public class UserAuthenticationController {
         return RespDTO.onSuc(userAuthenticationDTO);
     }
 
-    @ApiOperation(value = "获取当前用户认证信息")
-    @PostMapping("/getUserAuthentication")
-    @SysLogger("getUserAuthentication")
-    public RespDTO<UserAuthentication> getUserAuthentication() {
-        UserAuthentication userAuthentication = userAuthenticationFacade.getUserAuthentication();
-        return RespDTO.onSuc(userAuthentication);
+    @ApiOperation(value = "获取当前用户认证状态")
+    @PostMapping("/getUserAuthenticationStatus")
+    @SysLogger("getUserAuthenticationStatus")
+    public RespDTO<Map<String, Object>> getUserAuthenticationStatus() {
+        Map<String, Object> map = userAuthenticationFacade.getUserAuthenticationStatus();
+        return RespDTO.onSuc(map);
     }
 }