Sfoglia il codice sorgente

菜单加入域的概念

wuxw 7 anni fa
parent
commit
ca93d9e3e3

+ 34 - 2
Api/src/main/java/com/java110/api/listener/menu/QueryMenuServiceListener.java

@@ -6,8 +6,10 @@ import com.java110.api.listener.AbstractServiceApiDataFlowListener;
 import com.java110.common.constant.CommonConstant;
 import com.java110.common.constant.ServiceCodeConstant;
 import com.java110.common.util.Assert;
+import com.java110.common.util.StringUtil;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.factory.DataFlowFactory;
 import com.java110.entity.center.AppService;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import org.springframework.http.*;
@@ -48,9 +50,11 @@ public class QueryMenuServiceListener extends AbstractServiceApiDataFlowListener
         Assert.hasKey(requestHeaders,"userId","请求信息中未包含userId信息");
 
         String userId = requestHeaders.get("userId");
-        //
+        //根据用户查询 商户类
+        String domain = queryStoreTypeCd(dataFlowContext,userId);
+        domain = StringUtil.isEmpty(domain)?"-1":domain;
         ResponseEntity responseEntity= null;
-        String requestUrl = service.getUrl() + "?userId="+userId;
+        String requestUrl = service.getUrl() + "?userId="+userId+"&domain="+domain;
         dataFlowContext.getRequestHeaders().put("REQUEST_URL",requestUrl);
         HttpHeaders header = new HttpHeaders();
         header.add(CommonConstant.HTTP_SERVICE.toLowerCase(),ServiceCodeConstant.SERVICE_CODE_QUERY_MENU_INFO);
@@ -72,6 +76,34 @@ public class QueryMenuServiceListener extends AbstractServiceApiDataFlowListener
 
     }
 
+    /**
+     * 根据用户ID查询商户信息
+     * @param dataFlowContext
+     * @param userId
+     * @return
+     */
+    private String queryStoreTypeCd(DataFlowContext dataFlowContext,String userId){
+        ResponseEntity responseEntity= null;
+        AppService appService = DataFlowFactory.getService(dataFlowContext.getAppId(), ServiceCodeConstant.SERVICE_CODE_QUERY_STORE_BYUSER);
+        if(appService == null){
+            responseEntity = new ResponseEntity<String>("当前没有权限访问"+ServiceCodeConstant.SERVICE_CODE_QUERY_USER_LOGIN,HttpStatus.UNAUTHORIZED);
+            dataFlowContext.setResponseEntity(responseEntity);
+            return "";
+        }
+        String requestUrl = appService.getUrl() + "?userId="+userId;
+        HttpHeaders header = new HttpHeaders();
+        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(),ServiceCodeConstant.SERVICE_CODE_QUERY_STORE_BYUSER);
+        HttpEntity<String> httpEntity = new HttpEntity<String>("", header);
+        doRequest(dataFlowContext,appService,httpEntity);
+        responseEntity = dataFlowContext.getResponseEntity();
+
+        if(responseEntity.getStatusCode() != HttpStatus.OK){
+            dataFlowContext.setResponseEntity(responseEntity);
+        }
+
+        return JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+    }
+
     /**
      * 刷新菜单信息
      * 将 数据 [{

+ 5 - 0
java110-common/src/main/java/com/java110/common/constant/ServiceCodeConstant.java

@@ -126,6 +126,11 @@ public class ServiceCodeConstant {
      */
     public static final String SERVICE_CODE_DELETE_STORE_USER = "delete.store.user";
 
+    /**
+     * 根据用户查询商户信息
+     */
+    public static final String SERVICE_CODE_QUERY_STORE_BYUSER = "query.store.byuser";
+
 
     /**
      * 商户成员加入信息

+ 11 - 1
java110-config/db/WebService/menu.sql

@@ -38,11 +38,21 @@ create table p_privilege_group(
     UNIQUE KEY (pg_id)
 
 );
+-- 权限关系表
+create table p_privilege_rel(
+    rel_id INT NOT NULL AUTO_INCREMENT KEY comment '权限关系ID',
+    p_id varchar(12) not null comment '权限ID',
+    pg_id varchar(12) comment '权限组ID',
+    create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    status_cd VARCHAR(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考c_status表,0在用,1失效',
+    UNIQUE KEY (rel_id)
+);
+
 -- 权限表
 create table p_privilege(
     p_id varchar(12) not null comment '权限ID',
     name varchar(10) not null comment '权限名称',
-    pg_id varchar(12) comment '权限组ID',
+    domain varchar(12) not null comment '权限域 商户详见store_type store_type_cd',
     description VARCHAR(200) COMMENT '权限描述',
     create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
     status_cd VARCHAR(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考c_status表,0在用,1失效',