Kaynağa Gözat

添加删除权限

wuxw 7 yıl önce
ebeveyn
işleme
bc90d13a82

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

@@ -121,6 +121,24 @@ public class PrivilegeApi extends BaseController {
     }
     }
 
 
 
 
+    @RequestMapping(path = "/deletePrivilegeFromPrivilegeGroup",method= RequestMethod.POST)
+    @ApiOperation(value="从权限组删除权限", notes="test: 返回 200 表示服务受理成功,其他表示失败")
+    @ApiImplicitParam(paramType="query", name = "privilegeInfo", value = "权限信息", required = true, dataType = "String")
+    public ResponseEntity<String> deletePrivilegeFromPrivilegeGroup(@RequestBody String privilegeInfo,HttpServletRequest request){
+        ResponseEntity<String> responseEntity = null;
+
+        try {
+            responseEntity = privilegeSMOImpl.deletePrivilegeToPrivilegeGroup(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() {
     public IPrivilegeSMO getPrivilegeSMOImpl() {
         return privilegeSMOImpl;
         return privilegeSMOImpl;
     }
     }

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

@@ -45,4 +45,13 @@ public interface IPrivilegeSMO {
      * @return
      * @return
      */
      */
     public ResponseEntity<String> addPrivilegeToPrivilegeGroup(String privilegeInfo);
     public ResponseEntity<String> addPrivilegeToPrivilegeGroup(String privilegeInfo);
+
+
+    /**
+     * 从权限组中删除权限
+     * @param privilegeInfo
+     * @return
+     */
+    public ResponseEntity<String> deletePrivilegeToPrivilegeGroup(String privilegeInfo);
+
 }
 }

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

@@ -152,6 +152,34 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
         return new ResponseEntity<String>("成功", HttpStatus.OK);
         return new ResponseEntity<String>("成功", HttpStatus.OK);
     }
     }
 
 
+    /**
+     *
+     * @param privilegeInfo
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> deletePrivilegeToPrivilegeGroup(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.deletePrivilegeRel(privilegeObj)) {
+            return new ResponseEntity<String>("删除权限失败", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<String>("成功", HttpStatus.OK);
+    }
+
 
 
     public IPrivilegeDAO getPrivilegeDAOImpl() {
     public IPrivilegeDAO getPrivilegeDAOImpl() {
         return privilegeDAOImpl;
         return privilegeDAOImpl;

+ 39 - 0
WebService/src/main/java/com/java110/web/components/privilege/DeletePrivilegeComponent.java

@@ -0,0 +1,39 @@
+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("deletePrivilege")
+public class DeletePrivilegeComponent {
+
+    @Autowired
+    private IPrivilegeServiceSMO privilegeServiceSMOImpl;
+
+
+    public ResponseEntity<String> delete(IPageData pd){
+        ResponseEntity<String> responseEntity = null;
+        try{
+            responseEntity =  privilegeServiceSMOImpl.deletePrivilegeFromPrivilegeGroup(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;
+    }
+}
+

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

@@ -50,4 +50,12 @@ public interface IPrivilegeServiceSMO {
      * @return
      * @return
      */
      */
     public ResponseEntity<String> addPrivilegeToPrivilegeGroup(IPageData pd);
     public ResponseEntity<String> addPrivilegeToPrivilegeGroup(IPageData pd);
+
+
+    /**
+     * 删除权限
+     * @param pd
+     * @return
+     */
+    public ResponseEntity<String> deletePrivilegeFromPrivilegeGroup(IPageData pd);
 }
 }

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

@@ -213,6 +213,36 @@ public class PrivilegeServiceSMOImpl extends BaseComponentSMO implements IPrivil
         return privilegeGroup;
         return privilegeGroup;
     }
     }
 
 
+    /**
+     * 删除权限
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> deletePrivilegeFromPrivilegeGroup(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/delete.privilege.PrivilegeGroup" , HttpMethod.POST);
+        return privilegeGroup;
+    }
+
     public RestTemplate getRestTemplate() {
     public RestTemplate getRestTemplate() {
         return restTemplate;
         return restTemplate;
     }
     }

+ 20 - 0
WebService/src/main/resources/components/delete-privilege/deletePrivilege.html

@@ -0,0 +1,20 @@
+<div class="modal fade" id="deletePrivilegeModel" tabindex="-1" role="dialog"
+     aria-labelledby="deletePrivilegeModelLabel" aria-hidden="true">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="deletePrivilegeModelLabel">请确认您的操作!</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <tr align="center"><th>确认是否删除!</th></tr>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal" v-on:click="closeDeletePrivilegeModel()">点错了</button>
+                <button type="button" class="btn btn-primary" v-on:click="deletePrivilege()">确认删除</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 43 - 0
WebService/src/main/resources/components/delete-privilege/deletePrivilege.js

@@ -0,0 +1,43 @@
+(function(vc){
+    vc.extends({
+        data:{
+            deletePrivilegeInfo:{}
+        },
+        _initEvent:function(){
+             vc.on('deletePrivilege','openDeletePrivilegeModel',function(_p){
+                    vc.component.deletePrivilegeInfo = _p;
+                    $('#deletePrivilegeModel').modal('show');
+                });
+        },
+        methods:{
+            closeDeletePrivilegeModel:function(){
+                $('#deletePrivilegeModel').modal('hide');
+            },
+            deletePrivilege:function(){
+                console.log("开始删除限组:",vc.component.deletePrivilegeInfo);
+                vc.http.post(
+                    'deletePrivilege',
+                    'delete',
+                    JSON.stringify(vc.component.deletePrivilegeInfo),
+                    {
+                        emulateJSON:true
+                     },
+                     function(json,res){
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if(res.status == 200){
+                            //关闭model
+                            $('#deletePrivilegeGroupModel').modal('hide');
+                            vc.emit('privilege','loadPrivilege',_p.pgId);
+                            return ;
+                        }
+                        vc.component.deletePrivilegeInfo.errorInfo = json;
+                     },
+                     function(errInfo,error){
+                        console.log('请求失败处理');
+
+                        vc.component.deletePrivilegeInfo.errorInfo = errInfo;
+                     });
+            }
+        }
+    });
+})(window.vc);

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

@@ -42,7 +42,11 @@
                     <td class="mail-ontact">{{privilege.name}}</td>
                     <td class="mail-ontact">{{privilege.name}}</td>
                     <td class="mail-subject">{{privilege.description}}</td>
                     <td class="mail-subject">{{privilege.description}}</td>
                     <td class="">{{vc.dateFormat(privilege.createTime)}}</td>
                     <td class="">{{vc.dateFormat(privilege.createTime)}}</td>
-                    <td class="text-right mail-date"><i  v-if="privilegeInfo._currentStoreId != '9999'" class="glyphicon glyphicon-remove"></i></td>
+                    <td class="text-right mail-date">
+                        <i  v-if="privilegeInfo._currentStoreId != '9999'"
+                                                         v-on:click="openDeletePrivilegeModel(privilege)"
+                                                         class="glyphicon glyphicon-remove"></i>
+                    </td>
                 </tr>
                 </tr>
 
 
                 </tbody>
                 </tbody>
@@ -53,4 +57,5 @@
     </div>
     </div>
 
 
     <vc:create name="addPrivilege"></vc:create>
     <vc:create name="addPrivilege"></vc:create>
+    <vc:create name="deletePrivilege"></vc:create>
 </div>
 </div>

+ 4 - 0
WebService/src/main/resources/components/privilege/privilege.js

@@ -47,6 +47,10 @@
                 vc.component.$emit('addPrivilege_openPrivilegeModel',{
                 vc.component.$emit('addPrivilege_openPrivilegeModel',{
                             pgId:vc.component.privilegeInfo._currentPgId
                             pgId:vc.component.privilegeInfo._currentPgId
                 });
                 });
+            },
+            openDeletePrivilegeModel:function(_p){
+                _p.pgId = vc.component.privilegeInfo._currentPgId;
+                vc.emit('deletePrivilege','openDeletePrivilegeModel',_p);
             }
             }
         }
         }
     });
     });

+ 0 - 1
WebService/src/main/resources/static/js/core.js

@@ -118,7 +118,6 @@
     };
     };
 
 
 
 
-
     //绑定跳转函数
     //绑定跳转函数
     vc.jumpToPage = function(url){
     vc.jumpToPage = function(url){
                                     window.location.href = url;
                                     window.location.href = url;

+ 20 - 0
WebService/src/main/resources/static/js/vc-core.js

@@ -8,6 +8,26 @@
     vc.component = new Vue(vmOptions);
     vc.component = new Vue(vmOptions);
 })(window.vc,window.vc.vmOptions);
 })(window.vc,window.vc.vmOptions);
 
 
+
+/**
+    vc监听事件
+**/
+(function(vc){
+     /**
+            事件监听
+     **/
+    vc.on = function(_componentName,_value,_callback){
+        vc.component.$on(_componentName+'_'+_value,_callback);
+    };
+
+    /**
+            事件触发
+    **/
+    vc.emit = function(_componentName,_value,_param){
+        vc.component.$emit(_componentName+'_'+_value,_param);
+    }
+})(window.vc);
+
 /**
 /**
  * vue对象 执行初始化方法
  * vue对象 执行初始化方法
  */
  */

+ 7 - 1
java110-config/src/main/resources/mapper/center/PrivilegeDAOImplMapper.xml

@@ -43,7 +43,13 @@
     <!-- 删除权限组 -->
     <!-- 删除权限组 -->
     <update id="deletePrivilegeRel" parameterType="Map">
     <update id="deletePrivilegeRel" parameterType="Map">
         UPDATE p_privilege_rel a SET a.`status_cd` = '1'
         UPDATE p_privilege_rel a SET a.`status_cd` = '1'
-        WHERE a.`pg_id` = #{pgId}
+        WHERE 1=1
+        <if test="pgId != null and pgId != ''">
+            and a.`pg_id` = #{pgId}
+        </if>
+        <if test="pId != null and pId != ''">
+            and a.`p_id` = #{pId}
+        </if>
     </update>
     </update>
 
 
     <select id="queryPrivilegeRel" parameterType="Map" resultType="Map">
     <select id="queryPrivilegeRel" parameterType="Map" resultType="Map">