public Content check(Integer id, CmsUser user) { Content content = findById(id); // 执行监听器 List<Map<String, Object>> mapList = preChange(content); ContentCheck check = content.getContentCheck(); byte userStep = user.getCheckStep(content.getSite().getId()); byte contentStep = check.getCheckStep(); byte finalStep = content.getChannel().getFinalStepExtends(); // 用户审核级别小于当前审核级别,则不能审核 if (userStep < contentStep) { return content; } check.setRejected(false); // 上级审核,清除退回意见。自我审核不清除退回意见。 if (userStep > contentStep) { check.setCheckOpinion(null); } check.setCheckStep(userStep); // 终审 if (userStep >= finalStep) { content.setStatus(ContentCheck.CHECKED); // 终审,清除退回意见 check.setCheckOpinion(null); // 终审,设置审核者 check.setReviewer(user); check.setCheckDate(Calendar.getInstance().getTime()); } // 执行监听器 afterChange(content, mapList); return content; }