|
cription = String.format(description,
ModuleConstants.POST_TYPE_DESC_MAP.get(post
.getType()));
} else {
}
break;
case ModuleConstants.EVENT_TYPE_RULE_ANSWER_CREATE:
case ModuleConstants.EVENT_TYPE_RULE_ANSWER_BEEN_SET_PERFECT:
source = projectService.findOneById(sourceId);
target = answerService.findOneById(targetId);
project = (Project) source;
_description = String.format(
description,
ModuleConstants.PROJECT_TYPE_DESC_MAP.get(
project.getType()).getDesc());
break;
case ModuleConstants.EVENT_TYPE_RULE_ANSWER_GET:
case ModuleConstants.EVENT_TYPE_RULE_ANSWER_DELETE_BY_USER:
case ModuleConstants.EVENT_TYPE_RULE_ANSWER_DELETE_BY_ADMIN:
source = answerService.findOneById(sourceId);
answer = (Answer) source;
Project _project = (Project) answer.getTarget();
_description = String.format(
description,
ModuleConstants.PROJECT_TYPE_DESC_MAP.get(
_project.getType()).getDesc());
break;
case ModuleConstants.EVENT_TYPE_RULE_REPUTATION_CREATE:
if (sourceId > 0) {
source = reputationService.findOneById(sourceId);
}
if (targetId > 0) {
target = reputationService.findOneById(targetId);
}
break;
case ModuleConstants.EVENT_TYPE_RULE_USER_FOLLOW:
source = userService.findOneById(sourceId);
User _user = (User) source;
_description = String
.format(description,
"" + _user.getName() + "");
break;
case ModuleConstants.EVENT_TYPE_RULE_MENTION_COMMENT:
target = commentService.findOneById(targetId);
comment = (Comment) target;
commentType = comment.getType();
if (commentType == ModuleConstants.COMMENT_TYPE_ANSWER) {
source = answerService.findOneById(sourceId);
answer = (Answer) source;
project = (Project) answer.getTarget();
_description = String.format(
description,
ModuleConstants.PROJECT_TYPE_DESC_MAP.get(
project.getType()).getDesc());
} else if (commentType == ModuleConstants.COMMENT_TYPE_PROJECT) {
source = projectService.findOneById(sourceId);
project = (Project) source;
_description = String.format(
description,
ModuleConstants.PROJECT_TYPE_DESC_MAP.get(
project.getType()).getDesc());
} else if (commentType == ModuleConstants.COMMENT_TYPE_POST) {
source = postService.findOneById(sourceId);
post = (Post) source;
_description = String.format(description,
ModuleConstants.POST_TYPE_DESC_MAP.get(post
.getType()));
} else {
}
break;
case ModuleConstants.EVENT_TYPE_RULE_MENTION_POST:
source = postService.findOneById(sourceId);
break;
default:
_description = description;
}
extend.put("description", _description);
eventRule.setExtend(extend);
eventRule.setExtendJson(extend.toString());
event.setEventRule(eventRule);
event.setSource(source);
event.setTarget(target);
} catch (Exception e) {
logger.error("Fail to setSourceAndTarget event:" + event);
}
}
freemarker显示层转换核心代码:
<#switch event.eventRule.type>
<#case event_type_rule_post_create>
<@event_post_macro event.target/>
<#break>
<#case event_type_rule_project_create>
<@event_project_macro event event.target/>
<#break>
|