19 changed files with 493 additions and 64 deletions
@ -0,0 +1,169 @@ |
|||
package com.ccsens.tall.util; |
|||
|
|||
import cn.hutool.core.collection.CollectionUtil; |
|||
import cn.hutool.core.date.DateUtil; |
|||
import cn.hutool.core.util.StrUtil; |
|||
import com.ccsens.util.WechatUtil; |
|||
import com.ccsens.util.wx.WxGzhUtil; |
|||
import com.ccsens.util.wx.WxTemplateMessage; |
|||
|
|||
|
|||
/** |
|||
* @description: 微信模板 |
|||
* @author: whj |
|||
* @time: 2020/6/9 11:07 |
|||
*/ |
|||
public class WxTemplateUtil { |
|||
|
|||
/** |
|||
* 设置小程序跳转 |
|||
* @param projectId |
|||
* @return |
|||
*/ |
|||
private static WxTemplateMessage getWxTemplateMessage(Long projectId) { |
|||
String url = String.format(WechatUtil.PROJECT_URL, projectId); |
|||
WxTemplateMessage.MiniProgram miniProgram = new WxTemplateMessage.MiniProgram(WechatUtil.appid,url); |
|||
|
|||
WxTemplateMessage message = new WxTemplateMessage(); |
|||
message.setMiniprogram(miniProgram); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 完成任务提醒(备注是在切面处统一加的) |
|||
* @param projectId |
|||
* @param userName |
|||
* @param operation |
|||
* @param taskName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getFinishTask(Long projectId, String userName, String operation, String taskName){ |
|||
|
|||
WxTemplateMessage message = getWxTemplateMessage(projectId); |
|||
message.setTemplate_id(WxGzhUtil.Template.TASK_FINISH.templateId); |
|||
WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); |
|||
data.setFirst(new WxTemplateMessage.TemplateSettings(userName + operation + taskName)); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(taskName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings(DateUtil.now())); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 添加任务(备注是在切面处统一加的) |
|||
* @param projectId |
|||
* @param userName |
|||
* @param taskName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getAddTask(Long projectId, String userName, String taskName) { |
|||
WxTemplateMessage message = getWxTemplateMessage(projectId); |
|||
message.setTemplate_id(WxGzhUtil.Template.TASK_ADD.templateId); |
|||
WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); |
|||
data.setFirst(new WxTemplateMessage.TemplateSettings(StrUtil.format("{}添加了{}任务", userName, taskName))); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(taskName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings(DateUtil.now())); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 删除任务 |
|||
* @param projectId |
|||
* @param userName |
|||
* @param taskName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getDeleteTask(Long projectId, String userName, String taskName) { |
|||
WxTemplateMessage message = getWxTemplateMessage(projectId); |
|||
message.setTemplate_id(WxGzhUtil.Template.TASK_DELETE.templateId); |
|||
WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); |
|||
data.setFirst(new WxTemplateMessage.TemplateSettings(StrUtil.format("{}删除了{}任务", userName, taskName))); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(taskName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings(DateUtil.now())); |
|||
data.setKeyword3(new WxTemplateMessage.TemplateSettings("")); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 修改任务 |
|||
* @param projectId |
|||
* @param userName |
|||
* @param taskName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getChangeTask(Long projectId, String userName, String taskName) { |
|||
WxTemplateMessage message = getAddTask(projectId, userName, taskName); |
|||
message.getData().setFirst(new WxTemplateMessage.TemplateSettings(StrUtil.format("{}修改了{}任务", userName, taskName))); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 上传交付物 |
|||
* @param projectId |
|||
* @param userName |
|||
* @param deliverName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getAddDeliver(Long projectId, String userName, String deliverName) { |
|||
WxTemplateMessage message = getWxTemplateMessage(projectId); |
|||
message.setTemplate_id(WxGzhUtil.Template.TASK_PROGRESS.templateId); |
|||
WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); |
|||
data.setFirst(new WxTemplateMessage.TemplateSettings("")); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(userName + "上传了" + deliverName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings("上传交付物")); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 删除交付物 |
|||
* @param projectId |
|||
* @param userName |
|||
* @param deliverName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getDeleteDeliver(Long projectId, String userName, String deliverName) { |
|||
WxTemplateMessage message = getAddDeliver(projectId, userName, deliverName); |
|||
WxTemplateMessage.TemplateData data = message.getData(); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(userName + "删除了" + deliverName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings("删除交付物")); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 检查交付物 |
|||
* @param projectId |
|||
* @param userName |
|||
* @param deliverName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getCheckDeliver(Long projectId, String userName, String deliverName) { |
|||
WxTemplateMessage message = getAddDeliver(projectId, userName, deliverName); |
|||
WxTemplateMessage.TemplateData data = message.getData(); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(userName + "检查了" + deliverName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings("检查交付物")); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
|
|||
/** |
|||
* 发表评论 |
|||
* @param projectId |
|||
* @param userName |
|||
* @return |
|||
*/ |
|||
public static WxTemplateMessage getAddComment(Long projectId, String userName) { |
|||
WxTemplateMessage message = getWxTemplateMessage(projectId); |
|||
message.setTemplate_id(WxGzhUtil.Template.COMMENT.templateId); |
|||
WxTemplateMessage.TemplateData data = new WxTemplateMessage.TemplateData(); |
|||
data.setFirst(new WxTemplateMessage.TemplateSettings(userName + "进行了点评")); |
|||
data.setKeyword1(new WxTemplateMessage.TemplateSettings(userName)); |
|||
data.setKeyword2(new WxTemplateMessage.TemplateSettings(DateUtil.now())); |
|||
message.setData(data); |
|||
return message; |
|||
} |
|||
} |
@ -0,0 +1,70 @@ |
|||
package com.ccsens.util.wx; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: whj |
|||
* @time: 2020/6/9 9:59 |
|||
*/ |
|||
@ApiModel("微信模板消息") |
|||
@Data |
|||
public class WxTemplateMessage { |
|||
@NotNull |
|||
@ApiModelProperty("接收者openid") |
|||
private String touser; |
|||
@NotNull |
|||
@ApiModelProperty("模板ID") |
|||
private String template_id; |
|||
@ApiModelProperty("模板跳转链接(海外帐号没有跳转能力)") |
|||
private String url; |
|||
@ApiModelProperty("小程序") |
|||
private MiniProgram miniprogram; |
|||
@ApiModelProperty("模板数据") |
|||
private TemplateData data ; |
|||
|
|||
@ApiModel("跳转小程序") |
|||
@Data |
|||
public static class MiniProgram{ |
|||
@ApiModelProperty("所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)") |
|||
private String appid; |
|||
@ApiModelProperty("所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏") |
|||
private String pagepath; |
|||
|
|||
public MiniProgram(String appid, String pagepath) { |
|||
this.appid = appid; |
|||
this.pagepath = pagepath; |
|||
} |
|||
} |
|||
|
|||
@Data |
|||
@ApiModel("模板数据") |
|||
public static class TemplateData{ |
|||
private TemplateSettings first; |
|||
private TemplateSettings keyword1; |
|||
private TemplateSettings keyword2; |
|||
private TemplateSettings keyword3; |
|||
private TemplateSettings remark; |
|||
} |
|||
|
|||
@Getter @Setter |
|||
@ApiModel("模板参数配置") |
|||
public static class TemplateSettings { |
|||
@ApiModelProperty("模板值") |
|||
private String value; |
|||
@ApiModelProperty("模板内容字体颜色,不填默认为黑色") |
|||
private String color; |
|||
public TemplateSettings(){} |
|||
public TemplateSettings(String value) { |
|||
this.value = value; |
|||
} |
|||
} |
|||
|
|||
|
|||
} |
Loading…
Reference in new issue