package com.han.StringFormat;
import java.util.Date;
/**
* 运用String.format格式化方法和消息枚举类型创建消息模板
*
* @author han
*
*/
public class MessageTemplateUtils {
private enum MessageTemplate {
ORDER_CREATE(1, "订单创建消息模板", "尊敬的用户您好,您已下单成功,订单号为:%s,下单金额:%d,订单日期:%tF%n"),
ORDER_SEND(2, "订单消息发货模板","尊敬的用户您好,您的订单号:%s已经发货,请注意签收,发货日期:%tF%n");
private int id;//消息模板id
private String title;//消息模板标题
private String message;//消息模板内容
private MessageTemplate(int id, String title, String message) {
this.id = id;
this.title = title;
this.message = message;
}
public String getMessage() {
return message;
}
}
/**
* 根据消息模板id生成消息
* @param taskState
* @param objects
* @return
*/
public static String creatMsgTemplateByTempId(MessageTemplate taskState, Object... objects) {
String str = String.format(taskState.getMessage(), objects);
return str;
}
public static void main(String[] args) {
Date date = new Date();
System.out.println(creatMsgTemplateByTempId(MessageTemplate.ORDER_CREATE, new Object[] { "RN00001", 1000, date, date }));
System.out.println(creatMsgTemplateByTempId(MessageTemplate.ORDER_SEND, new Object[] { "RN00001", date }));
}
}
运行结果:
尊敬的用户您好,您已下单成功,订单号为:RN00001,下单金额:1000,订单日期:2019-08-22
尊敬的用户您好,您的订单号:RN00001已经发货,请注意签收,发货日期:2019-08-22