package com.product.org.admin.controller; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.alibaba.druid.util.StringUtils; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.permission.PermissionService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.module.sys.config.SystemErrorCode; import com.product.module.sys.version.ApiVersion; import com.product.org.admin.config.CmnCode; import com.product.org.admin.config.CmnConst; import com.product.org.admin.config.SystemCode; import com.product.org.admin.service.StaffSysPropertyService; import com.product.org.admin.service.idel.IStaffSysPropertyService; import com.product.org.admin.util.ResultInfo; /** * * Copyright LX-BASE * @Title: LX-BASE- * @Project: StaffSysPropertyController * @Date: 2020-06-19 19:15 * @Author: 杜洪波 * @Description:员工系统属性管理 */ @RestController @RequestMapping("/api/staff-property") public class StaffSysPropertyController extends AbstractBaseController{ @Autowired private StaffSysPropertyService staffSysPropertyService; @Autowired PermissionService permissionService; /** * 系统属性分组列表 * @param request * @return */ @RequestMapping(value = "list-group/{version}",method = RequestMethod.POST) @ApiVersion(1) public String listPropertyGroup(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断分页参数是否为空 if (StringUtils.isEmpty(fse.getString(CmnConst.PAGESIZE))|| StringUtils.isEmpty(fse.getString(CmnConst.CPAGE))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } DataTableEntity dt=staffSysPropertyService.listPropertyGroup(fse.getInteger(CmnConst.CPAGE),fse.getInteger(CmnConst.PAGESIZE),fse); return OK_List(dt); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } /** * 员工属性分组详情 * @param request * @return */ @RequestMapping(value = "find-group/{version}", method = RequestMethod.POST) @ApiVersion(1) public String findPropertyGroup(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断参数是否为空 if (StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_ORG)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } return ResultInfo.success(staffSysPropertyService.findPropertyGroup(fse.getString("uuid"))); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } /** * 员工属性值详情 * @param request * @return */ @RequestMapping(value = "find-property/{version}", method = RequestMethod.POST) @ApiVersion(1) public String findProperty(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP_DEFALUT_VALUE.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断参数是否为空(分组uuid,属性uuid) if (StringUtils.isEmpty(fse.getString("staff_property_group_uuid")) && StringUtils.isEmpty(fse.getString("staff_property_master_uuid"))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } DataTableEntity dt=staffSysPropertyService.findProperty(fse.getString("staff_property_group_uuid"), fse.getString("staff_property_master_uuid")); return OK_List(dt); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } /** * 新增属性分组 * @param request * @return */ @RequestMapping(value = "/add-group/{version}", method = RequestMethod.POST) @ApiVersion(1) public String addPropertyGroup(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //添加创建人和创建时间 fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id()); fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date()); IStaffSysPropertyService service=(IStaffSysPropertyService)getProxyInstance(staffSysPropertyService); String uuid=service.addPropertyGroup(fse); if (!StringUtils.isEmpty(uuid)) { return OK_Add(uuid); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_ADD_FAIL.getValue(),SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_ADD_FAIL.getText()); return error(SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_ADD_FAIL.getValue(),SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_ADD_FAIL.getText()); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } /** * 修改属性分组 * @param request * @return */ @RequestMapping(value = "/update-group/{version}", method = RequestMethod.POST) @ApiVersion(1) public String updatePropertyGroup(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断uuid是否为空 if (StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_ORG)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } //添加创建人和创建时间 fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id()); fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date()); IStaffSysPropertyService service=(IStaffSysPropertyService)getProxyInstance(staffSysPropertyService); boolean succ=service.updatePropertyGroup(fse); if (succ) { return OK(); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_UPDATE_FAIL.getText()); return error(SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_UPDATE_FAIL.getText()); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } /** * 删除属性分组 * @param request * @return */ @RequestMapping(value = "/delete-group/{version}" ,method = RequestMethod.POST) @ApiVersion(1) public String deletePropertyGroup(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断uuid是否为空 if (StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_ORG)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } IStaffSysPropertyService service=(IStaffSysPropertyService)getProxyInstance(staffSysPropertyService); boolean succ=service.deletePropertyGroup(fse.getString("uuid")); if (succ) { return OK(); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_DELETE_FAIL.getValue(), SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_DELETE_FAIL.getValue()); return error(SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_DELETE_FAIL.getValue(), SystemCode.SYSTEM_STAFFS_PROPERTY_GROUP_DELETE_FAIL.getValue()); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } /** * 获取所有系统属性 * @param request * @return */ @RequestMapping(value = "/get-allProperty/{version}", method = RequestMethod.POST) @ApiVersion(1) public String getAllSysProperty(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正确 if(!CmnConst.PRODUCT_SYS_STAFF_PROPERTY_GROUP.equals(fse.getTableName())) { return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } return ResultInfo.success(staffSysPropertyService.getAllSysProperty()); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(CmnCode.STAFF_PROPERTY_GROUP_ERROR.getValue(), CmnCode.STAFF_PROPERTY_GROUP_ERROR.getText()+e.getMessage()); } } }