diff --git a/mdp-form/src/main/java/com/mdp/form/ctrl/FormDefController.java b/mdp-form/src/main/java/com/mdp/form/ctrl/FormDefController.java index de309f2..094bb4b 100644 --- a/mdp-form/src/main/java/com/mdp/form/ctrl/FormDefController.java +++ b/mdp-form/src/main/java/com/mdp/form/ctrl/FormDefController.java @@ -101,14 +101,9 @@ public class FormDefController { @RequestMapping(value="/editFormDefAndFields") public Map editFormDefAndFields(@RequestBody FormDefVo formDefVo) { try{ - FormDefVo formDefVo1=formFieldService.getFormFieldFromCache(formDefVo.getFormDef().getId()); - if(formDefVo1==null){ - return Result.error("formDef-0","表单不存在"); - } + User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo1.getFormDef().getUserid())){ - return Result.error("not-form-creater-edit","您不是表单创建者,无权修改"); - } + formDefService.checkFormDefQx(formDefVo.getFormDef().getId(),user); formDefService.editFormDefAndFields(formDefVo); return Result.ok(); }catch (BizException e) { @@ -131,14 +126,8 @@ public class FormDefController { if(count>0) { return Result.error("has-form-data-001","该表单下还有%s条数据,请先删除数据 后删除表单",count); }else { - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formDef.getId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-del","您不是表单创建者,无权删除"); - } + + formDefService.checkFormDefQx(formDef.getId(),LoginUtils.getCurrentUserInfo()); formDefService.removeById(formDef.getId()); formFieldService.putFormFields(formDef.getId(),null); } @@ -152,6 +141,8 @@ public class FormDefController { }) @RequestMapping(value="/edit",method=RequestMethod.POST) public Result editFormDef(@RequestBody FormDef formDef) { + formDefService.checkFormDefQx(formDef.getId(),LoginUtils.getCurrentUserInfo()); + formDefService.updateById(formDef); return Result.ok("edit-ok","修改成功!"); } diff --git a/mdp-form/src/main/java/com/mdp/form/ctrl/FormFieldController.java b/mdp-form/src/main/java/com/mdp/form/ctrl/FormFieldController.java index cc024d4..38c6725 100644 --- a/mdp-form/src/main/java/com/mdp/form/ctrl/FormFieldController.java +++ b/mdp-form/src/main/java/com/mdp/form/ctrl/FormFieldController.java @@ -58,8 +58,8 @@ public class FormFieldController { return Result.error("formId-0","formId不能为空"); } FormDefVo formDefVo=this.formFieldService.getFormFieldFromCache(formId); - if(formDefVo==null ) { - return Result.error("formDef-0","表单不存在"); + if(formDefVo==null ) { + return Result.error("formDef-0","表单不存在"); } return Result.ok("query-ok","查询成功").setData(formDefVo).setTotal(1).put("formDef",formDefVo.getFormDef()); }catch (BizException e) { @@ -76,15 +76,8 @@ public class FormFieldController { }) @RequestMapping(value="/add",method=RequestMethod.POST) public Result addFormField(@RequestBody FormField formField) { - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formField.getFormId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-add","您不是表单创建者,无权新增"); - } - formFieldService.save(formField); + formDefService.checkFormDefQx(formField.getFormId(),LoginUtils.getCurrentUserInfo()); + formFieldService.save(formField); return Result.ok("add-ok","添加成功!"); } @@ -94,14 +87,8 @@ public class FormFieldController { }) @RequestMapping(value="/del",method=RequestMethod.POST) public Result delFormField(@RequestBody FormField formField){ - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formField.getFormId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-del","您不是表单创建者,无权删除"); - } + + formDefService.checkFormDefQx(formField.getFormId(),LoginUtils.getCurrentUserInfo()); formFieldService.removeById(formField); return Result.ok("del-ok","删除成功!"); } @@ -112,14 +99,7 @@ public class FormFieldController { }) @RequestMapping(value="/edit",method=RequestMethod.POST) public Result editFormField(@RequestBody FormField formField) { - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formField.getFormId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-add","您不是表单创建者,无权新增"); - } + formDefService.checkFormDefQx(formField.getFormId(),LoginUtils.getCurrentUserInfo()); formFieldService.updateById(formField); return Result.ok("edit-ok","修改成功!"); } diff --git a/mdp-form/src/main/java/com/mdp/form/ctrl/FormQxController.java b/mdp-form/src/main/java/com/mdp/form/ctrl/FormQxController.java index 5728df6..0981cac 100644 --- a/mdp-form/src/main/java/com/mdp/form/ctrl/FormQxController.java +++ b/mdp-form/src/main/java/com/mdp/form/ctrl/FormQxController.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.mdp.core.query.QueryTools; import com.mdp.form.entity.FormDefTag; import com.mdp.form.entity.FormDefVo; +import com.mdp.form.service.FormDefService; import com.mdp.form.service.FormFieldCacheService; import com.mdp.form.service.FormFieldService; import org.slf4j.Logger; @@ -43,6 +44,8 @@ public class FormQxController { private FormQxService formQxService; @Autowired FormFieldService formFieldService; + @Autowired + FormDefService formDefService; @ApiOperation( value = "表单权限-查询列表",notes=" ") @ApiEntityParams(FormQx.class) @@ -71,14 +74,7 @@ public class FormQxController { }) @RequestMapping(value="/add",method=RequestMethod.POST) public Result addFormQx(@RequestBody FormQx formQx) { - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formQx.getFormId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-add","您不是表单创建者,无权新增"); - } + FormDefVo formDefVo=formDefService.checkFormDefQx(formQx.getFormId(),LoginUtils.getCurrentUserInfo()); if(StringUtils.isEmpty(formQx.getFormId())) { formQx.setFormId(formQxService.createKey("formId")); }else{ @@ -99,15 +95,10 @@ public class FormQxController { }) @RequestMapping(value="/del",method=RequestMethod.POST) public Result delFormQx(@RequestBody FormQx formQx){ - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formQx.getFormId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-del","您不是表单创建者,无权删除"); - } + FormDefVo formDefVo=formDefService.checkFormDefQx(formQx.getFormId(),LoginUtils.getCurrentUserInfo()); formQxService.removeById(formQx); + formDefVo.setFormQx(null); + formFieldService.putFormFields(formQx.getFormId(),formDefVo); return Result.ok("del-ok","删除成功!"); } @@ -117,15 +108,7 @@ public class FormQxController { }) @RequestMapping(value="/edit",method=RequestMethod.POST) public Result editFormQx(@RequestBody FormQx formQx) { - - FormDefVo formDefVo=formFieldService.getFormFieldFromCache(formQx.getFormId()); - if(formDefVo==null){ - return Result.error("formDef-0","表单不存在"); - } - User user=LoginUtils.getCurrentUserInfo(); - if(!user.getUserid().equals(formDefVo.getFormDef().getUserid())){ - return Result.error("not-form-creater-edit","您不是表单创建者,无权修改"); - } + FormDefVo formDefVo=formDefService.checkFormDefQx(formQx.getFormId(),LoginUtils.getCurrentUserInfo()); formQxService.updateById(formQx); formDefVo.setFormQx(formQx); formFieldService.putFormFields(formQx.getFormId(),formDefVo); diff --git a/mdp-form/src/main/java/com/mdp/form/service/FormDefService.java b/mdp-form/src/main/java/com/mdp/form/service/FormDefService.java index 61ea10b..d6b5158 100644 --- a/mdp-form/src/main/java/com/mdp/form/service/FormDefService.java +++ b/mdp-form/src/main/java/com/mdp/form/service/FormDefService.java @@ -47,6 +47,20 @@ public class FormDefService extends BaseService { return baseMapper.selectListMapByWhere(page,ew,ext); } + public FormDefVo checkFormDefQx(String formId,User currUser){ + FormDefVo formDefVo=ffs.getFormFieldFromCache(formId); + if(formDefVo==null){ + throw new BizException("form-0","表单不存在"); + } + if(LoginUtils.isBranchAdmin(currUser.getBranchId()) || LoginUtils.isSuperAdmin() ){ + return formDefVo; + }else{ + if(!currUser.getUserid().equals(formDefVo.getFormDef().getUserid())){ + throw new BizException("form-creater-err","您不是表单创建者,无权修改和删除表单配置信息"); + } + } + return formDefVo; + } /** 请在此类添加自定义函数 */ @Autowired