Selaa lähdekoodia

chore: add get inform strategy method

linwenhua 2 vuotta sitten
vanhempi
sitoutus
e08b98fa0c

+ 10 - 2
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/tenant/UserInformServiceImpl.java

@@ -7,7 +7,9 @@ import com.inspur.customer.client.tenant.UserInformService;
 import com.inspur.customer.context.inform.InformLevelEnum;
 import com.inspur.customer.context.inform.InformTypeEnum;
 import com.inspur.customer.object.inform.InformAddresseeCO;
+import com.inspur.customer.object.inform.InformStrategy;
 import com.inspur.customer.object.keycloak.KeycloakUserCO;
+import com.inspur.customer.object.tenant.ExceptionInformStrategyCmd;
 import com.inspur.customer.object.tenant.TenantExceptionInformStrategyCO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -32,7 +34,7 @@ public class UserInformServiceImpl implements UserInformService {
     private TenantExceptionInformStrategyService tenantExceptionInformStrategyService;
 
     @Override
-    public InformAddresseeCO getInformAddresseesByInformLevel(@Nullable String userId, String tenant, List<String> org, InformLevelEnum informLevel) {
+    public InformAddresseeCO getInformAddresseesByInformLevel(@Nullable String userId, String tenant, @Nullable List<String> org, InformLevelEnum informLevel) {
         // get base user
         List<KeycloakUserCO> users = new ArrayList<>();
         InformAddresseeCO informAddressee = new InformAddresseeCO();
@@ -71,7 +73,13 @@ public class UserInformServiceImpl implements UserInformService {
     }
 
     @Override
-    public InformAddresseeCO getInformAddresseesByInformType(@Nullable String userId, String tenant, List<String> orgs, InformTypeEnum informType) {
+    public InformAddresseeCO getInformAddresseesByInformType(@Nullable String userId, String tenant, @Nullable List<String> orgs, InformTypeEnum informType) {
         return getInformAddresseesByInformLevel(userId, tenant, orgs, informType.getLevel());
     }
+
+    @Override
+    public ExceptionInformStrategyCmd getInformStrategyByInformLevel(String tenant, InformLevelEnum informLevel) {
+        TenantExceptionInformStrategyCO tenantExceptionInformStrategy = tenantExceptionInformStrategyService.getTenantInformStrategyCache(tenant);
+        return tenantExceptionInformStrategy.getInformStrategy(String.valueOf(informLevel.getId()));
+    }
 }

+ 4 - 1
smsb-customer-manager-client/src/main/java/com/inspur/customer/client/tenant/UserInformService.java

@@ -4,6 +4,7 @@ import com.inspur.customer.context.inform.InformLevelEnum;
 import com.inspur.customer.context.inform.InformTypeEnum;
 import com.inspur.customer.object.inform.InformAddresseeCO;
 import com.inspur.customer.object.keycloak.KeycloakUserCO;
+import com.inspur.customer.object.tenant.ExceptionInformStrategyCmd;
 import org.springframework.lang.Nullable;
 
 import java.util.List;
@@ -16,5 +17,7 @@ public interface UserInformService {
 
     InformAddresseeCO getInformAddresseesByInformLevel(@Nullable String userId, String tenant, List<String> departments, InformLevelEnum informLevel);
 
-    InformAddresseeCO getInformAddresseesByInformType(String userId, String tenant, List<String> departments, InformTypeEnum informType);
+    InformAddresseeCO getInformAddresseesByInformType(@Nullable String userId, String tenant, @Nullable List<String> departments, InformTypeEnum informType);
+
+    ExceptionInformStrategyCmd getInformStrategyByInformLevel(String tenant, InformLevelEnum informLevel);
 }

+ 4 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/object/tenant/ExceptionInformStrategyCmd.java

@@ -46,6 +46,10 @@ public class ExceptionInformStrategyCmd extends Command {
         setFlag(byteFlag);
     }
 
+    public Boolean needInform() {
+        return note || email || wechat || wechatApplet;
+    }
+
     /**
      * get inform strategy flag with bit identifier
      * 从低位开始