ソースを参照

权限组中加入权限

吴学文 7 年 前
コミット
fb50d66c1e

+ 17 - 0
OrderService/src/main/java/com/java110/order/api/PrivilegeApi.java

@@ -103,6 +103,23 @@ public class PrivilegeApi extends BaseController {
         }
     }
 
+    @RequestMapping(path = "/addPrivilegeToPrivilegeGroup",method= RequestMethod.POST)
+    @ApiOperation(value="添加权限到权限组", notes="test: 返回 200 表示服务受理成功,其他表示失败")
+    @ApiImplicitParam(paramType="query", name = "privilegeInfo", value = "权限信息", required = true, dataType = "String")
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(@RequestBody String privilegeInfo,HttpServletRequest request){
+        ResponseEntity<String> responseEntity = null;
+
+        try {
+            responseEntity = privilegeSMOImpl.addPrivilegeToPrivilegeGroup(privilegeInfo);
+        }catch (Exception e){
+            logger.error("请求订单异常",e);
+            responseEntity =  new ResponseEntity<String>("请求中心服务发生异常,"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }finally {
+            logger.debug("订单服务返回报文为: {}",responseEntity);
+            return responseEntity;
+        }
+    }
+
 
     public IPrivilegeSMO getPrivilegeSMOImpl() {
         return privilegeSMOImpl;

+ 4 - 0
OrderService/src/main/java/com/java110/order/dao/IPrivilegeDAO.java

@@ -49,4 +49,8 @@ public interface IPrivilegeDAO {
 
 
     public List<Map> queryPrivilegeRel(Map info);
+
+    public List<Map> queryPrivilegeGroup(Map info);
+
+    public boolean addPrivilegeRel(Map info);
 }

+ 15 - 0
OrderService/src/main/java/com/java110/order/dao/impl/PrivilegeDAOImpl.java

@@ -106,5 +106,20 @@ public class PrivilegeDAOImpl extends BaseServiceDao implements IPrivilegeDAO {
         return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeRel",info);
     }
 
+    public List<Map> queryPrivilegeGroup(Map info){
+        logger.debug("查询权限组下权限信息入参:{}",info);
+        return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeGroup",info);
+    }
+
+    @Override
+    public boolean addPrivilegeRel(Map info) {
+        logger.debug("添加权限组下权限信息入参:{}",info);
+        int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.addPrivilegeRel",info);
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"添加权限组下权限信息失败:"+ JSONObject.toJSONString(info));
+        }
+        return true;
+    }
+
 
 }

+ 7 - 0
OrderService/src/main/java/com/java110/order/smo/IPrivilegeSMO.java

@@ -38,4 +38,11 @@ public interface IPrivilegeSMO {
      * @return
      */
     public ResponseEntity<String> deletePrivilegeGroup(String privilegeGroupInfo);
+
+    /**
+     * 添加权限至权限组
+     * @param privilegeInfo
+     * @return
+     */
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(String privilegeInfo);
 }

+ 21 - 0
OrderService/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java

@@ -131,6 +131,27 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
 
     }
 
+    @Override
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(String privilegeInfo) {
+        Assert.isJsonObject(privilegeInfo, "请求报文不是有效的json格式");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pgId", "请求报文中未包含pgId节点");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "请求报文中未包含storeId节点");
+
+        Assert.jsonObjectHaveKey(privilegeInfo, "pId", "请求报文中未包含pId节点");
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        //根据权限组ID和商户ID查询是否有数据
+        List<Map> privilegeGroups = privilegeDAOImpl.queryPrivilegeGroup(privilegeObj);
+        Assert.isNotNull(privilegeGroups, "当前没有权限操作权限组pgId = " + privilegeObj.getString("pgId"));
+
+        if (!privilegeDAOImpl.addPrivilegeRel(privilegeObj)) {
+            return new ResponseEntity<String>("添加权限失败", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<String>("成功", HttpStatus.OK);
+    }
+
 
     public IPrivilegeDAO getPrivilegeDAOImpl() {
         return privilegeDAOImpl;

+ 56 - 0
WebService/src/main/java/com/java110/web/components/privilege/AddPrivilegeComponent.java

@@ -0,0 +1,56 @@
+package com.java110.web.components.privilege;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.IPrivilegeServiceSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * 权限组 添加权限
+ */
+@Component("addPrivilege")
+public class AddPrivilegeComponent {
+
+    @Autowired
+    private IPrivilegeServiceSMO privilegeServiceSMOImpl;
+
+
+    /**
+     * 查询未被绑定权限
+     * @param pd
+     * @return
+     */
+    public ResponseEntity<String> listNoAddPrivilege(IPageData pd){
+        ResponseEntity<String> responseEntity = null;
+        try{
+            responseEntity =  privilegeServiceSMOImpl.listNoAddPrivilege(pd);
+        }catch (Exception e){
+            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }finally {
+            return responseEntity;
+        }
+
+    }
+
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(IPageData pd){
+        ResponseEntity<String> responseEntity = null;
+        try{
+            responseEntity =  privilegeServiceSMOImpl.addPrivilegeToPrivilegeGroup(pd);
+        }catch (Exception e){
+            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }finally {
+            return responseEntity;
+        }
+    }
+
+    public IPrivilegeServiceSMO getPrivilegeServiceSMOImpl() {
+        return privilegeServiceSMOImpl;
+    }
+
+    public void setPrivilegeServiceSMOImpl(IPrivilegeServiceSMO privilegeServiceSMOImpl) {
+        this.privilegeServiceSMOImpl = privilegeServiceSMOImpl;
+    }
+}
+

+ 14 - 0
WebService/src/main/java/com/java110/web/smo/IPrivilegeServiceSMO.java

@@ -36,4 +36,18 @@ public interface IPrivilegeServiceSMO {
      * @return
      */
     public ResponseEntity<String> deletePrivilegeGroup(IPageData pd);
+
+    /**
+     * 查询未被绑定的权限
+     * @param pd
+     * @return
+     */
+    public ResponseEntity<String> listNoAddPrivilege(IPageData pd);
+
+    /**
+     * 添加权限
+     * @param pd
+     * @return
+     */
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(IPageData pd);
 }

+ 59 - 0
WebService/src/main/java/com/java110/web/smo/impl/PrivilegeServiceSMOImpl.java

@@ -154,6 +154,65 @@ public class PrivilegeServiceSMOImpl extends BaseComponentSMO implements IPrivil
         return privilegeGroup;
     }
 
+    @Override
+    public ResponseEntity<String> listNoAddPrivilege(IPageData pd) {
+        Assert.hasLength(pd.getUserId(),"用户未登录请先登录");
+
+        JSONObject privilegeInfoObj = JSONObject.parseObject(pd.getReqData());
+
+        Assert.jsonObjectHaveKey(privilegeInfoObj,"pgId","请求报文中未包含权限组ID 节点");
+
+        ResponseEntity<String> storeInfo = super.getStoreInfo(pd,restTemplate);
+
+        if(storeInfo.getStatusCode() != HttpStatus.OK){
+            return storeInfo;
+        }
+        // 商户返回信息
+        JSONObject storeInfoObj = JSONObject.parseObject(storeInfo.getBody());
+
+        String  storeId = storeInfoObj.getString("storeId");
+        String  storeTypeCd = storeInfoObj.getString("storeTypeCd");
+        String pgId = privilegeInfoObj.getString("pgId");
+
+        ResponseEntity<String> privileges = super.callCenterService(restTemplate,pd,"",
+                ServiceConstant.SERVICE_API_URL+"/api/query.privilegeGroup.noAddPrivilege?storeId="+storeId+"&storeTypeCd="+storeTypeCd+"&pgId="+pgId , HttpMethod.GET);
+
+        if(privileges.getStatusCode() != HttpStatus.OK){
+            return privileges;
+        }
+
+        JSONObject resultObj = JSONObject.parseObject(privileges.getBody().toString());
+
+
+
+        return new ResponseEntity<String>(resultObj.getJSONArray("privileges").toJSONString(),HttpStatus.OK);
+    }
+
+    @Override
+    public ResponseEntity<String> addPrivilegeToPrivilegeGroup(IPageData pd) {
+        Assert.hasLength(pd.getUserId(),"用户未登录请先登录");
+
+        JSONObject privilegeInfoObj = JSONObject.parseObject(pd.getReqData());
+
+        Assert.jsonObjectHaveKey(privilegeInfoObj,"pgId","请求报文中未包含权限组ID 节点");
+        Assert.jsonObjectHaveKey(privilegeInfoObj,"pId","请求报文中未包含权限ID 节点");
+
+        ResponseEntity<String> storeInfo = super.getStoreInfo(pd,restTemplate);
+
+        if(storeInfo.getStatusCode() != HttpStatus.OK){
+            return storeInfo;
+        }
+        // 商户返回信息
+        JSONObject storeInfoObj = JSONObject.parseObject(storeInfo.getBody());
+
+        String  storeId = storeInfoObj.getString("storeId");
+        privilegeInfoObj.put("storeId",storeId);
+
+        ResponseEntity<String> privilegeGroup = super.callCenterService(restTemplate,pd,privilegeInfoObj.toJSONString(),
+                ServiceConstant.SERVICE_API_URL+"/api/add.privilege.PrivilegeGroup" , HttpMethod.POST);
+        return privilegeGroup;
+    }
+
     public RestTemplate getRestTemplate() {
         return restTemplate;
     }

+ 1 - 1
WebService/src/main/resources/components/add-privilege/addPrivilege.html

@@ -44,7 +44,7 @@
                                                 <td>{{noAddPrivilege.description}}</td>
                                                 <td>{{vc.dateFormat(noAddPrivilege.createTime)}}</td>
                                                 <td>
-                                                    <button class="btn btn-primary btn-xs">添加</button>
+                                                    <button class="btn btn-primary btn-xs" v-on:click="addPrivilegeToPrivilegeGroup(noAddPrivilege)">添加</button>
                                                 </td>
                                             </tr>
                                         </tbody>

+ 16 - 23
WebService/src/main/resources/components/add-privilege/addPrivilege.js

@@ -3,6 +3,7 @@
     vc.extends({
         data:{
             addPrivilegeInfo:{
+                _currentPgId:'',
                 name:'',
                 description:'',
                 errorInfo:'',
@@ -15,6 +16,7 @@
          _initEvent:function(){
              vc.component.$on('addPrivilege_openPrivilegeModel',function(_params){
                 $('#addPrivilegeModel').modal('show');
+                vc.component.addPrivilegeInfo._currentPgId = _params.pgId;
                 //查询没有添加的权限
                 vc.component.listNoAddPrivilege();
             });
@@ -23,12 +25,14 @@
             listNoAddPrivilege:function(){
                 vc.component.addPrivilegeInfo._noAddPrivilege=[];
                 var param = {
-                    _id:'123'
+                    params:{
+                        pgId:vc.component.addPrivilegeInfo._currentPgId
+                    }
                 }
                 vc.http.get(
                             'addPrivilege',
                             'listNoAddPrivilege',
-                            JSON.stringify(param),
+                             param,
                              function(json,res){
                                 //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                                 if(res.status == 200){
@@ -43,16 +47,14 @@
                                 vc.component.addPrivilegeInfo.errorInfo = errInfo;
                              });
             },
-            saveAddPrivilegeGroup:function(){
-                if(!vc.component.addPrivilegeGroupValidate()){
-                    vc.component.addPrivilegeGroupInfo.errorInfo = vc.validate.errInfo;
-                    return ;
-                }
-                vc.component.addPrivilegeGroupInfo.errorInfo = "";
+            addPrivilegeToPrivilegeGroup:function(_privilegeInfo){
+
+                vc.component.addPrivilegeInfo.errorInfo = "";
+                _privilegeInfo.pgId = vc.component.addPrivilegeInfo._currentPgId;
                 vc.http.post(
-                    'addPrivilegeGroup',
-                    'savePrivilegeGroupInfo',
-                    JSON.stringify(vc.component.addPrivilegeGroupInfo),
+                    'addPrivilege',
+                    'addPrivilegeToPrivilegeGroup',
+                    JSON.stringify(_privilegeInfo),
                     {
                         emulateJSON:true
                      },
@@ -60,25 +62,16 @@
                         //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                         if(res.status == 200){
                             //关闭model
-                            $('#addPrivilegeGroupModel').modal('hide');
-                            vc.component.clearAddPrivilegeGroupInfo();
-                            vc.component.$emit('privilegeGroup_loadPrivilegeGroup',{});
+                            vc.component.listNoAddPrivilege();
                             return ;
                         }
-                        vc.component.addPrivilegeGroupInfo.errorInfo = json;
+                        vc.component.addPrivilegeInfo.errorInfo = json;
                      },
                      function(errInfo,error){
                         console.log('请求失败处理');
 
-                        vc.component.addPrivilegeGroupInfo.errorInfo = errInfo;
+                        vc.component.addPrivilegeInfo.errorInfo = errInfo;
                      });
-            },
-            clearAddPrivilegeGroupInfo:function(){
-                vc.component.addPrivilegeGroupInfo = {
-                                            name:'',
-                                            description:'',
-                                            errorInfo:''
-                                        };
             }
         }
     });

+ 3 - 1
WebService/src/main/resources/components/privilege/privilege.js

@@ -41,7 +41,9 @@
                            );
             },
             openAddPrivilegeModel:function(){
-                vc.component.$emit('addPrivilege_openPrivilegeModel',{});
+                vc.component.$emit('addPrivilege_openPrivilegeModel',{
+                            pgId:vc.component.privilegeInfo._currentPgId
+                });
             }
         }
     });

+ 2 - 2
java110-common/src/main/java/com/java110/common/util/Assert.java

@@ -97,9 +97,9 @@ public class Assert extends org.springframework.util.Assert{
      * @param targetList
      * @param message
      */
-    public static void isNull(List<?> targetList , String message){
+    public static void isNotNull(List<?> targetList , String message){
 
-        Assert.isNull(targetList,message);
+        Assert.notNull(targetList,message);
 
         if(targetList.size()< 1){
             throw new IllegalArgumentException(message) ;

+ 22 - 0
java110-config/src/main/resources/mapper/center/PrivilegeDAOImplMapper.xml

@@ -62,4 +62,26 @@
             AND ppr.`pg_id` = #{pgId}
 
     </select>
+
+    <select id="queryPrivilegeGroup" parameterType="Map" resultType="Map">
+        select ppg.pg_id pgId,ppg.name,ppg.description,ppg.create_time createTime,ppg.store_id storeId,ppg.domain
+        from p_privilege_group ppg
+        where 1=1
+        <if test="pgId !=null and pgId !=''">
+            and ppg.pg_id = #{pgId}
+        </if>
+        <if test="storeId != null and storeId != ''">
+            and ppg.store_id = #{storeId}
+        </if>
+        <if test="storeTypeCd != null and storeTypeCd != ''">
+            and ppg.domain = #{storeTypeCd}
+        </if>
+        and ppg.status_cd = '0'
+
+    </select>
+
+    <insert id="addPrivilegeRel" parameterType="Map">
+        insert into p_privilege_rel(p_id,pg_id)
+        values(#{pId},#{pgId})
+    </insert>
 </mapper>