Browse Source

用户删除前判断产品是否在启用

wangfeng 6 years atrás
parent
commit
98634aeb3a

+ 51 - 0
user-service/src/main/java/com/diagbot/enums/StatusEnum.java

@@ -0,0 +1,51 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+
+import lombok.Setter;
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2018年10月29日 下午7:07:18
+ */
+public enum StatusEnum implements KeyedNamed {
+    Disable(0, "禁用"),
+    Enable(1, "启用");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    StatusEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static StatusEnum getEnum(Integer key) {
+        for (StatusEnum item : StatusEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        StatusEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 17 - 0
user-service/src/main/java/com/diagbot/facade/UserFacade.java

@@ -37,6 +37,7 @@ import com.diagbot.enums.ConstantEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.OrganizationTypeEnum;
 import com.diagbot.enums.RejectEnum;
+import com.diagbot.enums.StatusEnum;
 import com.diagbot.enums.VisibleIdTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -950,6 +951,22 @@ public class UserFacade extends UserServiceImpl {
         map.put("userId", baseIdVO.getId());
         map.put("modifier", UserUtils.getCurrentPrincipleID());
         map.put("gmtModified", DateUtil.now());
+        List<Long> userIds = new ArrayList<>();
+        userIds.add(baseIdVO.getId());
+        RespDTO<List<UserAndProdutDTO>> InformationData = diagbotmanClient.getInformationAvailableAll(userIds);
+        
+            if (InformationData == null || !"0".equals(InformationData.code)) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                        "获取所有开通信息失败");
+            }
+            //获取该用户开通的产品信息的状态
+            List<UserAndProdutDTO> dataList = InformationData.data;
+            for(UserAndProdutDTO InformationDataNew :dataList){
+            	Integer serviceStatus =InformationDataNew.getServiceStatus();
+            	if(serviceStatus.equals(StatusEnum.Enable.getKey())){
+            		 return RespDTO.onError("请先停用所有产品");
+            	}
+            }
         boolean res = updateDeleted(map);
         if (!res) {
             throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);