java110 5 anni fa
parent
commit
2bc0f9eb74

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/store/StoreUserDto.java

@@ -59,6 +59,8 @@ public class StoreUserDto extends PageDto implements Serializable {
     //用户和代理商关系
     private String relCd;
 
+    private String state;
+
     //创建时间
     private Date createTime;
 
@@ -205,4 +207,12 @@ public class StoreUserDto extends PageDto implements Serializable {
     public void setStaffId(String staffId) {
         this.staffId = staffId;
     }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
 }

+ 1 - 1
java110-db/src/main/resources/mapper/store/StoreServiceDaoImplMapper.xml

@@ -564,7 +564,7 @@
     <!--查询员工和商户信息-->
     <select id="getStoreUserInfo" parameterType="Map" resultType="Map">
         select s.store_id,s.store_id storeId,s.b_id,s.user_id,s.user_id userId,s.name,s.address,s.tel,s.store_type_cd,s.store_type_cd storeTypeCd,
-        s.nearby_landmarks,s.map_x,s.map_y,s.create_time,su.store_user_id,su.rel_cd
+        s.nearby_landmarks,s.map_x,s.map_y,s.create_time,su.store_user_id,su.rel_cd,s.state
         from s_store s
         left join s_store_user su on s.store_id=su.store_id and su.status_cd = '0'
         where

+ 22 - 5
service-api/src/main/java/com/java110/api/listener/login/UserLoginServiceListener.java

@@ -8,8 +8,10 @@ import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.factory.AuthenticationFactory;
 import com.java110.core.factory.DataFlowFactory;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.store.StoreUserDto;
 import com.java110.dto.userLogin.UserLoginDto;
 import com.java110.entity.center.AppService;
+import com.java110.intf.store.IStoreInnerServiceSMO;
 import com.java110.intf.user.IUserLoginInnerServiceSMO;
 import com.java110.po.userLogin.UserLoginPo;
 import com.java110.utils.constant.CommonConstant;
@@ -21,15 +23,12 @@ import com.java110.utils.util.DateUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
 import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -45,6 +44,9 @@ public class UserLoginServiceListener extends AbstractServiceApiDataFlowListener
     @Autowired
     private IUserLoginInnerServiceSMO userLoginInnerServiceSMOImpl;
 
+    @Autowired
+    private IStoreInnerServiceSMO storeInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeConstant.SERVICE_CODE_USER_SERVICE_LOGIN;
@@ -127,6 +129,21 @@ public class UserLoginServiceListener extends AbstractServiceApiDataFlowListener
             return;
         }
 
+        //检查商户状态
+        StoreUserDto storeUserDto = new StoreUserDto();
+        storeUserDto.setUserId(userInfo.getString("userId"));
+        List<StoreUserDto> storeUserDtos = storeInnerServiceSMOImpl.getStoreUserInfo(storeUserDto);
+
+        if (storeUserDtos != null && storeUserDtos.size() > 0) {
+            String state = storeUserDtos.get(0).getState();
+            if ("48002".equals(state)) {
+                responseEntity = new ResponseEntity<String>("当前商户限制登录,请联系管理员", HttpStatus.UNAUTHORIZED);
+                dataFlowContext.setResponseEntity(responseEntity);
+                return;
+            }
+        }
+
+
         try {
             Map userMap = new HashMap();
             userMap.put(CommonConstant.LOGIN_USER_ID, userInfo.getString("userId"));