Open songhuiqing88 opened 6 years ago
<groupId>org.gtiles.components</groupId> <artifactId>gtiles-components-message</artifactId>
INSERT INTO `gt_notify_model` (`NOTIFY_MODEL_ID`, `UNIQUE_CODE`, `DESCRIPTION`, `TYPE`, `PARAMS`) VALUES ('uuid-teacherEvaluate', 'teacherEvaluate', '教学评价催办', '2', '[{ \"replaceParam\": \"${instanceItemName}\", \"paramDesc\": \"问卷名称\"},{\"replaceParam\": \"${className}\",\"paramDesc\": \"班级名称\"}]');
定义service实现 org.gtiles.components.message.sender.service.INotifyBizService 接口,接口示例如下:
@Service("org.gtiles.components.interact.interactmessage.service.impl.EvaluationMessageServiceImpl") public class EvaluationMessageServiceImpl implements INotifyBizService { @Autowired private IInstanceItemService instanceItemService; @Autowired private IInstanceService instanceService; @Autowired private IInstanceResultService instanceResultService; @Override public String[] getNotifyUsers(String... params) { return instanceResultService.findUnSubmitUserId(params[0]).toArray(new String[] {}); } @Override public String[] getNotifyAdminUsers(String... params) { return new String[] {}; } /** * 返回参数 */ @Override public INotifyParam getNofifyParam(String... params) { InstanceItemBean itemBean = instanceItemService.findInstanceItemById(params[0]); InstanceBean instanceBean = instanceService.findInstanceById(itemBean.getInstanceId()); return new InteractParam(itemBean.getItemName(), instanceBean.getInstanceName()); } @Override public boolean support(String bizCode) { return "evaluate".equals(bizCode); }
}
## 调用 ### 界面调用 - 请求:/workbench/notifySender/send.json - 参数 - modelCode 业务唯一编码 - bizId 业务ID ### 后台自动调用 - 使用 **org.gtiles.components.message.sender.service.INotifySender**接口的 **saveNotify**方法发送通知。 - 方法参数 - **modelCode** 业务唯一编码,在INotifyBizService 的实现类中的support方法中定义的编码 - **bizId** 业务ID,例如:班级ID、课程ID,在INotifyBizService 的实现类中的获取通知用户方法的参数 ## 接口源代码参考 ```java /** * 通知业务Service * @author SHQ * */ public interface INotifyBizService { /** * 获取通知用户列表 * @param params 参数序列,目前涉及业务ID * @return 用户ID数组 */ String[] getNotifyUsers(String... params); /** * 获取通知管理员用户列表 * @param params 参数序列,目前涉及业务ID * @return 用户ID数组 */ String[] getNotifyAdminUsers(String... params); /** * 获取通知参数对象 * @param params 参数序列,目前涉及业务ID * @return * 返回对象说明:<br> * 1、定义对象实现 {@link org.gtiles.components.message.sender.INotifyParam}接口<br> * 2、对象属性使用注解 {@code @NotifyParam}({@link org.gtiles.components.message.sender.annotation.NotifyParam}),其中key为参数标识,value为参数说明 */ INotifyParam getNofifyParam(String... params); /** * 是否支持 * @param bizCode 新增业务唯一编码 * @return */ boolean support(String bizCode); }
通知/消息
模型及模版配置
代码配置
定义service实现 org.gtiles.components.message.sender.service.INotifyBizService 接口,接口示例如下:
}