Przeglądaj źródła

修复用户认证状态bug

wangyu 6 lat temu
rodzic
commit
eef6791c5f

+ 6 - 1
diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java

@@ -252,7 +252,12 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
                 }
             }
         }
-        Map<Long, UserOrgDTO> dataMap = userServiceClient.getUserAndOrg(userIdList).data;
+        RespDTO<Map<Long, UserOrgDTO>> mapRespDTO = userServiceClient.getUserAndOrg(userIdList);
+        if (mapRespDTO == null || !"0".equals(mapRespDTO.code)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                    "获取用户机构信息失败");
+        }
+        Map<Long, UserOrgDTO> dataMap =mapRespDTO.data;
         UserOrgDTO uo =dataMap.get(userId);
         Map map =new HashMap();
         map.put("userAuStatus",uo.getAuStatus());

+ 14 - 0
diagbotman-service/src/main/java/com/diagbot/facade/ProductOrderFacade.java

@@ -16,6 +16,7 @@ import com.diagbot.entity.ProductOrderIndex;
 import com.diagbot.entity.wrapper.OrderDetailsWapper;
 import com.diagbot.entity.wrapper.ProductOrderWrapper;
 import com.diagbot.enums.AuditStatusEnum;
+import com.diagbot.enums.AuthStatusEnum;
 import com.diagbot.enums.NotPassEnum;
 import com.diagbot.enums.VisibleIdTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
@@ -118,6 +119,19 @@ public class ProductOrderFacade extends ProductOrderServiceImpl {
         Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
         List<Long> opendId = openedProductsFacade.getOpendCountByUserId(userId);
         List<Long> orderDetailsId = orderDetailsFacade.getOrderDetailsByUser(userId);
+        List<Long> userIdList =new ArrayList<>();
+        userIdList.add(userId);
+        RespDTO<Map<Long, UserOrgDTO>> mapRespDTO = userServiceClient.getUserAndOrg(userIdList);
+        if (mapRespDTO == null || !"0".equals(mapRespDTO.code)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                    "获取用户机构信息失败");
+        }
+        Map<Long, UserOrgDTO> dataMap =mapRespDTO.data;
+        UserOrgDTO uo =dataMap.get(userId);
+        if(uo.getAuStatus() != AuthStatusEnum.Authorized.getKey()){
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                    "账号信息系不完善,请先认证");
+        }
         for (int i =0; i<addOrderVO.getProductId().size();i++){
             for (int j =0; j<opendId.size();j++){
                 if(addOrderVO.getProductId().get(i)==opendId.get(j)){

+ 1 - 1
user-service/src/main/resources/mapper/UserMapper.xml

@@ -75,7 +75,7 @@
 
     <select id="getUserOrgDTOByIds" resultMap="UserOrgDTO">
         select u.id user_id ,u.username username, u.email email, u.linkman linkman , org.id org_id,
-        org.name org_name, ua.is_reject is_reject, ua.status au_status,org.sub_num
+        org.name org_name, ua.is_reject is_reject, u.auth_status au_status,org.sub_num
         from sys_user u, sys_user_organization uo, sys_organization org , sys_user_authentication ua
         where u.is_deleted = 'N' and uo.is_deleted = 'N' and org.is_deleted = 'N'
         and u.id = uo.user_id and uo.organization_id = org.id and u.id = ua.user_id