package com.java110.api.listener.user; import com.alibaba.fastjson.JSONObject; import com.java110.api.bmo.repair.IRepairTypeUserBMO; import com.java110.api.bmo.user.IUserBMO; import com.java110.api.listener.AbstractServiceApiPlusListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.factory.DataFlowFactory; import com.java110.dto.repair.RepairTypeUserDto; import com.java110.entity.center.AppService; import com.java110.core.event.service.api.ServiceDataFlowEvent; import com.java110.intf.community.IRepairTypeUserInnerServiceSMO; import com.java110.utils.constant.CommonConstant; import com.java110.utils.constant.ServiceCodeConstant; import com.java110.utils.util.Assert; 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 java.util.List; /** * 删除员工信息 * Created by Administrator on 2019/4/4. */ @Java110Listener("deleteStaffServiceListener") public class DeleteStaffServiceListener extends AbstractServiceApiPlusListener { @Override public int getOrder() { return 0; } @Autowired private IUserBMO userBMOImpl; @Autowired private IRepairTypeUserBMO repairTypeUserBMOImpl; @Autowired private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMOImpl; @Override public String getServiceCode() { return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_DELETE; } @Override public HttpMethod getHttpMethod() { return HttpMethod.POST; } @Override protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { Assert.jsonObjectHaveKey(reqJson, "storeId", "请求参数中未包含storeId 节点,请确认"); Assert.jsonObjectHaveKey(reqJson, "userId", "请求参数中未包含userId 节点,请确认"); } @Override protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) { userBMOImpl.deleteStaff(reqJson, context); //删除用户 userBMOImpl.deleteUser(reqJson, context); //删除报修设置 RepairTypeUserDto repairTypeUserDto = new RepairTypeUserDto(); repairTypeUserDto.setStaffId(reqJson.getString("userId")); repairTypeUserDto.setStatusCd("0"); List repairTypeUserDtoList = repairTypeUserInnerServiceSMOImpl.queryRepairTypeUsers(repairTypeUserDto); if (repairTypeUserDtoList != null && repairTypeUserDtoList.size() > 0) { for (RepairTypeUserDto repairTypeUserDto1 : repairTypeUserDtoList) { JSONObject typeUserJson1= (JSONObject)JSONObject.toJSON(repairTypeUserDto1); repairTypeUserBMOImpl.deleteRepairTypeUser(typeUserJson1, context); } } commit(context); //赋权 deleteUserPrivilege(context, reqJson); } /** * 删除用户权限 * * @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("当前没有权限访问" + 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); userBMOImpl.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders()); JSONObject paramInObj = new JSONObject(); paramInObj.put("userId", paramInJson.getString("userId")); HttpEntity httpEntity = new HttpEntity(paramInObj.toJSONString(), header); doRequest(dataFlowContext, appService, httpEntity); } }