wuxw vor 7 Jahren
Ursprung
Commit
e68acd032f

+ 155 - 0
Api/src/main/java/com/java110/api/listener/users/DeleteStaffServiceListener.java

@@ -0,0 +1,155 @@
+package com.java110.api.listener.users;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiDataFlowListener;
+import com.java110.common.constant.BusinessTypeConstant;
+import com.java110.common.constant.CommonConstant;
+import com.java110.common.constant.ServiceCodeConstant;
+import com.java110.common.util.Assert;
+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.*;
+
+/**
+ * 删除员工信息
+ * Created by Administrator on 2019/4/4.
+ */
+@Java110Listener("deleteStaffServiceListener")
+public class DeleteStaffServiceListener extends AbstractServiceApiDataFlowListener {
+    @Override
+    public int getOrder() {
+        return 0;
+    }
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_DELETE;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.POST;
+    }
+
+    @Override
+    public void soService(ServiceDataFlowEvent event) {
+
+        DataFlowContext dataFlowContext = event.getDataFlowContext();
+        AppService service = event.getAppService();
+        String paramIn = dataFlowContext.getReqData();
+        Assert.isJsonObject(paramIn,"删除员工时请求参数有误,不是有效的json格式 "+paramIn);
+
+        JSONObject paramInJson = JSONObject.parseObject(paramIn);
+        Assert.jsonObjectHaveKey(paramInJson,"storeId","请求参数中未包含storeId 节点,请确认");
+        Assert.jsonObjectHaveKey(paramInJson,"userId","请求参数中未包含userId 节点,请确认");
+
+        JSONArray businesses = new JSONArray();
+
+        //删除商户用户
+
+        businesses.add(deleteStaff(paramInJson));
+
+        //删除用户
+        businesses.add(deleteUser(paramInJson));
+
+        HttpHeaders header = new HttpHeaders();
+        dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_USER_ID,paramInJson.getString("userId"));
+        dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD,"D");
+
+
+        String paramInObj = super.restToCenterProtocol(businesses,dataFlowContext.getRequestCurrentHeaders()).toJSONString();
+
+        //将 rest header 信息传递到下层服务中去
+        super.freshHttpHeader(header,dataFlowContext.getRequestCurrentHeaders());
+
+        HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj, header);
+        //http://user-service/test/sayHello
+        super.doRequest(dataFlowContext, service, httpEntity);
+
+        super.doResponse(dataFlowContext);
+
+        //如果不成功直接返回
+        if(dataFlowContext.getResponseEntity().getStatusCode() != HttpStatus.OK){
+            return ;
+        }
+
+        //赋权
+        deleteUserPrivilege(dataFlowContext,paramInJson);
+
+
+        // 删除权限
+    }
+
+    /**
+     * 删除用户权限
+     * @param dataFlowContext
+     * @param paramInJson
+     */
+    private void deleteUserPrivilege(DataFlowContext dataFlowContext, JSONObject paramInJson) {
+
+        ResponseEntity responseEntity= null;
+        AppService appService = DataFlowFactory.getService(dataFlowContext.getAppId(), ServiceCodeConstant.SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE);
+        if(appService == null){
+            responseEntity = new ResponseEntity<String>("当前没有权限访问"+ServiceCodeConstant.SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE,HttpStatus.UNAUTHORIZED);
+            dataFlowContext.setResponseEntity(responseEntity);
+            return ;
+        }
+        String requestUrl = appService.getUrl();
+        HttpHeaders header = new HttpHeaders();
+        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(),ServiceCodeConstant.SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE);
+        super.freshHttpHeader(header,dataFlowContext.getRequestCurrentHeaders());
+        JSONObject paramInObj = new JSONObject();
+        paramInObj.put("userId",paramInJson.getString("userId"));
+        HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj.toJSONString(), header);
+        doRequest(dataFlowContext,appService,httpEntity);
+    }
+
+
+    /**
+     * 删除商户
+     * @param paramInJson
+     * @return
+     */
+    private JSONObject deleteStaff(JSONObject paramInJson) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_STORE_USER);
+        business.put(CommonConstant.HTTP_SEQ,1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL,CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONArray businessStoreUsers = new JSONArray();
+        JSONObject businessStoreUser = new JSONObject();
+        businessStoreUser.put("storeId",paramInJson.getString("storeId"));
+        businessStoreUser.put("userId",paramInJson.getString("userId"));
+        businessStoreUsers.add(businessStoreUser);
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessStoreUser",businessStoreUsers);
+
+        return business;
+
+    }
+
+    /**
+     * 删除商户
+     * @param paramInJson
+     * @return
+     */
+    private JSONObject deleteUser(JSONObject paramInJson) {
+        //校验json 格式中是否包含 name,email,levelCd,tel
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_REMOVE_USER_INFO);
+        business.put(CommonConstant.HTTP_SEQ,1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL,CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONArray businessStoreUsers = new JSONArray();
+        JSONObject businessStoreUser = new JSONObject();
+        businessStoreUser.put("userId",paramInJson.getString("userId"));
+        businessStoreUsers.add(businessStoreUser);
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessUser",businessStoreUsers);
+
+        return business;
+
+    }
+}

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

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

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

@@ -14,4 +14,12 @@ public interface IPrivilegeDAO {
      * @return
      */
     public boolean saveUserDefaultPrivilege(Map info);
+
+
+    /**
+     * 删除用所有权限
+     * @param info
+     * @return
+     */
+    public boolean deleteUserAllPrivilege(Map info);
 }

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

@@ -34,4 +34,19 @@ public class PrivilegeDAOImpl extends BaseServiceDao implements IPrivilegeDAO {
         }
         return true;
     }
+
+
+    /**
+     * 删除用所有权限
+     * @param info
+     * @return
+     */
+    public boolean deleteUserAllPrivilege(Map info){
+        logger.debug("用户默认权限保存入参:{}",info);
+        int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deleteUserAllPrivilege",info);
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"删除权限信息失败:"+ JSONObject.toJSONString(info));
+        }
+        return true;
+    }
 }

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

@@ -14,4 +14,12 @@ public interface IPrivilegeSMO {
      * @return
      */
     public ResponseEntity<String> saveUserDefaultPrivilege(String privilegeInfo);
+
+
+    /**
+     * 删除所有权限
+     * @param privilegeInfo
+     * @return
+     */
+    public ResponseEntity<String> deleteUserAllPrivilege(String privilegeInfo);
 }

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

@@ -57,6 +57,25 @@ public class PrivilegeSMOImpl implements IPrivilegeSMO {
         return new ResponseEntity<String>("未知异常", HttpStatus.INTERNAL_SERVER_ERROR);
     }
 
+    /**
+     * 删除用户权限
+     * @param privilegeInfo
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> deleteUserAllPrivilege(String privilegeInfo) {
+        Assert.isJsonObject(privilegeInfo,"请求报文不是有效的json格式");
+
+        Assert.jsonObjectHaveKey(privilegeInfo,"userId","请求报文中未包含userId节点");
+
+        JSONObject privilegeObj = JSONObject.parseObject(privilegeInfo);
+        if(privilegeDAOImpl.deleteUserAllPrivilege(privilegeObj)){
+            return new ResponseEntity<String>("成功", HttpStatus.OK);
+        }
+
+        return new ResponseEntity<String>("未知异常", HttpStatus.INTERNAL_SERVER_ERROR);
+    }
+
 
     public IPrivilegeDAO getPrivilegeDAOImpl() {
         return privilegeDAOImpl;

+ 38 - 0
WebService/src/main/java/com/java110/web/components/DeleteStaffComponent.java

@@ -0,0 +1,38 @@
+package com.java110.web.components;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.IStaffServiceSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * 删除员工信息
+ * Created by Administrator on 2019/4/4.
+ */
+@Component("deleteStaff")
+public class DeleteStaffComponent {
+
+    @Autowired
+    IStaffServiceSMO staffServiceSMOImpl;
+    public ResponseEntity<String> delete(IPageData pd){
+
+        ResponseEntity<String> responseEntity = null;
+        try{
+            responseEntity =  staffServiceSMOImpl.delete(pd);
+        }catch (Exception e){
+            responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }finally {
+            return responseEntity;
+        }
+    }
+
+    public IStaffServiceSMO getStaffServiceSMOImpl() {
+        return staffServiceSMOImpl;
+    }
+
+    public void setStaffServiceSMOImpl(IStaffServiceSMO staffServiceSMOImpl) {
+        this.staffServiceSMOImpl = staffServiceSMOImpl;
+    }
+}

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

@@ -31,4 +31,12 @@ public interface IStaffServiceSMO {
      * @return
      */
     public ResponseEntity<String> modifyStaff(IPageData pd);
+
+
+    /**
+     * 删除员工
+     * @param pd
+     * @return
+     */
+    public ResponseEntity<String> delete(IPageData pd);
 }

+ 13 - 0
WebService/src/main/java/com/java110/web/smo/impl/StaffServiceSMOImpl.java

@@ -114,6 +114,19 @@ public class StaffServiceSMOImpl extends BaseComponentSMO implements IStaffServi
         return responseEntity;
     }
 
+    /**
+     * 删除工号
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> delete(IPageData pd) {
+        Assert.jsonObjectHaveKey(pd.getReqData(),"userId","请求报文格式错误或未包含用户ID信息");
+        Assert.jsonObjectHaveKey(pd.getReqData(),"storeId","请求报文格式错误或未包含商户ID信息");
+
+        return null;
+    }
+
     /**
      * 修改员工 数据校验
      * @param pd

+ 19 - 0
WebService/src/main/resources/components/delete-staff/deleteStaff.html

@@ -0,0 +1,19 @@
+<div class="modal fade" id="deleteStaffModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="exampleModalLabel">请确认您的操作!</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="closeDeleteStaffModel()">点错了</button>
+                <button type="button" class="btn btn-primary" v-on:click="deleteStaff()">确认删除</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 43 - 0
WebService/src/main/resources/components/delete-staff/deleteStaff.js

@@ -0,0 +1,43 @@
+(function(vc){
+    vc.extends({
+        data:{
+            deleteStaffInfo:{}
+        },
+        _initEvent:function(){
+             vc.component.$on('delete_staff_event',function(_staffInfo){
+                    vc.component.deleteStaffInfo = _staffInfo;
+                    $('#deleteStaffModel').modal('show');
+                });
+        },
+        methods:{
+            closeDeleteStaffModel:function(){
+                $('#deleteStaffModel').modal('hide');
+            },
+            deleteStaff:function(){
+                console.log("开始删除工号:",vc.component.deleteStaffInfo);
+                vc.http.post(
+                    'deleteStaff',
+                    'delete',
+                    JSON.stringify(vc.component.deleteStaffInfo),
+                    {
+                        emulateJSON:true
+                     },
+                     function(json,res){
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if(res.status == 200){
+                            //关闭model
+                            $('#deleteStaffModel').modal('hide');
+                            vc.component.$emit('deleteStaff_reload_event',{});
+                            return ;
+                        }
+                        vc.component.deleteStaffInfo.errorInfo = json;
+                     },
+                     function(errInfo,error){
+                        console.log('请求失败处理');
+
+                        vc.component.deleteStaffInfo.errorInfo = errInfo;
+                     });
+            }
+        }
+    });
+})(window.vc);

+ 3 - 1
WebService/src/main/resources/components/staff/staff.html

@@ -35,7 +35,9 @@
                                 <td>{{vc.dateFormat(staff.createTime)}}</td>
                                 <td>
                                     <i class="glyphicon glyphicon-edit" style="color: #17a2b8;" v-on:click="openEditStaff(staff)"></i>
-                                    <i v-if="staff.relCd != 600311000001" class="glyphicon glyphicon-remove-sign" style="color: #dc3545;margin-left:5px"></i>
+                                    <i v-if="staff.relCd != 600311000001" class="glyphicon glyphicon-remove-sign"
+                                       style="color: #dc3545;margin-left:5px"
+                                        v-on:click="openDeleteStaff(staff)"></i>
                                 </td>
                             </tr>
                         </tbody>

+ 6 - 0
WebService/src/main/resources/components/staff/staff.js

@@ -17,6 +17,9 @@
                  vc.component.$on('editStaff_reload_event',function(){
                       vc.component.loadData(1,10);
                   });
+                  vc.component.$on('deleteStaff_reload_event',function(){
+                     vc.component.loadData(1,10);
+                  });
 
 
             },
@@ -52,6 +55,9 @@
                 },
                 openEditStaff:function(_staffInfo){
                      vc.component.$emit('edit_staff_event',_staffInfo);
+                },
+                openDeleteStaff:function(_staffInfo){
+                     vc.component.$emit('delete_staff_event',_staffInfo);
                 }
 
             }

+ 1 - 0
WebService/src/main/resources/views/staff.html

@@ -22,6 +22,7 @@
             <vc:create name="staff"></vc:create>
             <vc:create name="addStaff"></vc:create>
             <vc:create name="editStaff"></vc:create>
+            <vc:create name="deleteStaff"></vc:create>
         </div>
 
 

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

@@ -105,6 +105,11 @@ public class ServiceCodeConstant {
      */
     public static final String SERVICE_CODE_SAVE_USER_DEFAULT_PRIVILEGE = "save.user.defaultPrivilege";
 
+    /**
+     * 删除用户全部权限
+     */
+    public static final String SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE= "delete.user.allPrivilege";
+
 
     /**
      * 保存用户默认权限
@@ -257,6 +262,10 @@ public class ServiceCodeConstant {
      */
     public static final String SERVICE_CODE_USER_STAFF_ENABLE = "user.staff.enable";
 
+    /**
+     * 删除员工服务
+     */
+    public static final String SERVICE_CODE_USER_STAFF_DELETE = "user.staff.delete";
 
     /**
      * 查询 员工

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

@@ -16,4 +16,9 @@
             INSERT INTO p_privilege_user(p_id,privilege_flag,user_id) VALUES(#{pId},'1',#{userId})
         ]]>
     </insert>
+
+    <!-- 删除用户所有权限-->
+    <update id="deleteUserAllPrivilege" parameterType="Map">
+        UPDATE s_store_user a SET a.`status_cd` = '1' WHERE a.`user_id` = #{userId}
+    </update>
 </mapper>