优化BaseCrudRestController,移除ModelMap

This commit is contained in:
mazhicheng 2019-07-20 13:00:09 +08:00
parent a8168c57ea
commit 061298f334
6 changed files with 35 additions and 66 deletions

View File

@ -63,9 +63,9 @@ public class MessageController extends BaseCrudRestController {
* @throws Exception
*/
@PostMapping("/")
public JsonResult createEntity(@ModelAttribute Message entity, BindingResult result, HttpServletRequest request, ModelMap modelMap)
public JsonResult createEntity(@ModelAttribute Message entity, BindingResult result, HttpServletRequest request)
throws Exception{
return super.createEntity(entity, result, modelMap);
return super.createEntity(entity, result);
}
/***
@ -76,8 +76,8 @@ public class MessageController extends BaseCrudRestController {
*/
@PutMapping("/{id}")
public JsonResult updateModel(@PathVariable("id")Long id, @ModelAttribute Message entity, BindingResult result,
HttpServletRequest request, ModelMap modelMap) throws Exception{
return super.updateEntity(entity, result, modelMap);
HttpServletRequest request) throws Exception{
return super.updateEntity(entity, result);
}
/***

View File

@ -59,9 +59,9 @@ public class MessageTemplateController extends BaseCrudRestController {
* @throws Exception
*/
@PostMapping("/")
public JsonResult createEntity(@ModelAttribute MessageTemplate entity, BindingResult result, HttpServletRequest request, ModelMap modelMap)
public JsonResult createEntity(@ModelAttribute MessageTemplate entity, BindingResult result, HttpServletRequest request)
throws Exception{
return super.createEntity(entity, result, modelMap);
return super.createEntity(entity, result);
}
/***
@ -73,7 +73,7 @@ public class MessageTemplateController extends BaseCrudRestController {
@PutMapping("/{id}")
public JsonResult updateModel(@PathVariable("id")Long id, @ModelAttribute MessageTemplate entity, BindingResult result,
HttpServletRequest request, ModelMap modelMap) throws Exception{
return super.updateEntity(entity, result, modelMap);
return super.updateEntity(entity, result);
}
/***

View File

@ -45,7 +45,7 @@ public abstract class BaseCrudRestController extends BaseController {
* @return JsonResult
* @throws Exception
*/
protected <T> JsonResult getEntityList(HttpServletRequest request, Wrapper queryWrapper) throws Exception {
protected JsonResult getEntityList(HttpServletRequest request, Wrapper queryWrapper) throws Exception {
// 查询当前页的数据
List entityList = getService().getEntityList(queryWrapper);
// 返回结果
@ -88,17 +88,6 @@ public abstract class BaseCrudRestController extends BaseController {
return new JsonResult(Status.OK, voList).bindPagination(pagination);
}
/***
* 根据id获取某资源对象
* @param id
* @return JsonResult
* @throws Exception
*/
protected JsonResult getEntity(Long id) throws Exception {
Object entity = getService().getEntity(id);
return new JsonResult(Status.OK, entity);
}
/***
* 创建资源对象
* @param entity
@ -106,26 +95,21 @@ public abstract class BaseCrudRestController extends BaseController {
* @return JsonResult
* @throws Exception
*/
protected JsonResult createEntity(BaseEntity entity, BindingResult result, ModelMap modelMap) throws Exception {
protected JsonResult createEntity(BaseEntity entity, BindingResult result) throws Exception {
// Model属性值验证结果
if (result != null && result.hasErrors()) {
return new JsonResult(Status.FAIL_INVALID_PARAM, super.getBindingError(result));
}
if (modelMap.get(ERROR) != null) {
return new JsonResult(Status.FAIL_VALIDATION, (String) modelMap.get(ERROR));
}
// 执行创建资源前的操作
this.beforeCreate(entity, modelMap);
if (modelMap.get(ERROR) != null) {
return new JsonResult(Status.FAIL_VALIDATION, (String) modelMap.get(ERROR));
String validateResult = this.beforeCreate(entity);
if (validateResult != null) {
return new JsonResult(Status.FAIL_VALIDATION, validateResult);
}
// 执行保存操作
boolean success = getService().createEntity(entity);
if (success) {
// 执行创建成功后的操作
this.afterCreated(entity, modelMap);
this.afterCreated(entity);
// 组装返回结果
Map<String, Object> data = new HashMap<>(2);
data.put(PARAM_ID, entity.getId());
@ -144,26 +128,21 @@ public abstract class BaseCrudRestController extends BaseController {
* @return JsonResult
* @throws Exception
*/
protected JsonResult updateEntity(BaseEntity entity, BindingResult result, ModelMap modelMap) throws Exception {
protected JsonResult updateEntity(BaseEntity entity, BindingResult result) throws Exception {
// Model属性值验证结果
if (result.hasErrors()) {
return new JsonResult(Status.FAIL_INVALID_PARAM, super.getBindingError(result));
}
if (modelMap.get(ERROR) != null) {
return new JsonResult(Status.FAIL_VALIDATION, (String) modelMap.get(ERROR));
}
// 执行更新资源前的操作
this.beforeUpdate(entity, modelMap);
if (modelMap.get(ERROR) != null) {
return new JsonResult(Status.FAIL_VALIDATION, (String) modelMap.get(ERROR));
String validateResult = this.beforeUpdate(entity);
if (validateResult != null) {
return new JsonResult(Status.FAIL_VALIDATION, validateResult);
}
// 执行保存操作
boolean success = getService().updateEntity(entity);
if (success) {
// 执行更新成功后的操作
this.afterUpdated(entity, modelMap);
this.afterUpdated(entity);
// 组装返回结果
Map<String, Object> data = new HashMap<>(2);
data.put(PARAM_ID, entity.getId());
@ -188,10 +167,10 @@ public abstract class BaseCrudRestController extends BaseController {
// 是否有权限删除
BaseEntity model = (BaseEntity) getService().getEntity(id);
// 执行删除操作
String error = beforeDelete(model);
if (error != null) {
String validateResult = beforeDelete(model);
if (validateResult != null) {
// 返回json
return new JsonResult(Status.FAIL_OPERATION, error);
return new JsonResult(Status.FAIL_OPERATION, validateResult);
}
// 执行删除操作
boolean success = getService().deleteEntity(id);
@ -222,49 +201,42 @@ public abstract class BaseCrudRestController extends BaseController {
}
//============= 供子类继承重写的方法 =================
/***
* 创建前的相关处理
* @param entity
* @return
*/
protected void beforeCreate(BaseEntity entity, ModelMap modelMap) throws Exception {
protected String beforeCreate(BaseEntity entity) throws Exception {
return null;
}
//============= 供子类继承重写的方法 =================
/***
* 创建成功后的相关处理
* @param entity
* @return
*/
protected String afterCreated(BaseEntity entity, ModelMap modelMap) throws Exception {
protected String afterCreated(BaseEntity entity) throws Exception {
return null;
}
//============= 供子类继承重写的方法 =================
/***
* 更新前的相关处理
* @param entity
* @return
*/
protected void beforeUpdate(BaseEntity entity, ModelMap modelMap) throws Exception {
protected String beforeUpdate(BaseEntity entity) throws Exception {
return null;
}
//============= 供子类继承重写的方法 =================
/***
* 更新成功后的相关处理
* @param entity
* @return
*/
protected String afterUpdated(BaseEntity entity, ModelMap modelMap) throws Exception {
protected String afterUpdated(BaseEntity entity) throws Exception {
return null;
}
//============= 供子类继承重写的方法 =================
/***
* 是否有删除权限如不可删除返回错误提示信息 Status.FAIL_NO_PERMISSION.label()
* @param entity

View File

@ -26,9 +26,6 @@ import java.util.Map;
public class DefaultExceptionHandler {
private final static Logger log = LoggerFactory.getLogger(DefaultExceptionHandler.class);
@Autowired
private ServerProperties serverProperties;
/**
* 统一异常处理类
* @param request

View File

@ -95,12 +95,12 @@ public class DepartmentController extends BaseCrudRestController {
* @throws Exception
*/
@PostMapping("/")
public JsonResult createEntity(@ModelAttribute DepartmentVO viewObject, BindingResult result, HttpServletRequest request, ModelMap modelMap)
public JsonResult createEntity(@ModelAttribute DepartmentVO viewObject, BindingResult result, HttpServletRequest request)
throws Exception{
// 转换
Department entity = BeanUtils.convert(viewObject, Department.class);
// 创建
return super.createEntity(entity, result, modelMap);
return super.createEntity(entity, result);
}
/***
@ -124,8 +124,8 @@ public class DepartmentController extends BaseCrudRestController {
*/
@PutMapping("/{id}")
public JsonResult updateModel(@PathVariable("id")Long id, @ModelAttribute Organization entity, BindingResult result,
HttpServletRequest request, ModelMap modelMap) throws Exception{
return super.updateEntity(entity, result, modelMap);
HttpServletRequest request) throws Exception{
return super.updateEntity(entity, result);
}
/***

View File

@ -82,12 +82,12 @@ public class PermissionController extends BaseCrudRestController {
*/
@RequiresPermissions("permission:add")
@PostMapping("/")
public JsonResult createEntity(@ModelAttribute PermissionVO viewObject, BindingResult result, HttpServletRequest request, ModelMap modelMap)
public JsonResult createEntity(@ModelAttribute PermissionVO viewObject, BindingResult result, HttpServletRequest request)
throws Exception{
// 转换
Permission entity = BeanUtils.convert(viewObject, Permission.class);
// 创建
return super.createEntity(entity, result, modelMap);
return super.createEntity(entity, result);
}
/***
@ -99,8 +99,8 @@ public class PermissionController extends BaseCrudRestController {
@RequiresPermissions("permission:update")
@PutMapping("/{id}")
public JsonResult updateModel(@PathVariable("id")Long id, @ModelAttribute Permission entity, BindingResult result,
HttpServletRequest request, ModelMap modelMap) throws Exception{
return super.updateEntity(entity, result, modelMap);
HttpServletRequest request) throws Exception{
return super.updateEntity(entity, result);
}
/***