Commit 88071e54 by fudahua

消息推送

parent 01c3b6b3
......@@ -24,6 +24,7 @@ public class PendingTaskQDTO implements Serializable {
private String relationId;
/**
* NoticeMessageTypeEnum
* 0-不良评价回访 1-ecm话务任务 ,3群发任务 4活动
*/
private Integer taskType;
......
......@@ -5,13 +5,32 @@ package com.gic.haoban.manage.api.enums;
*/
public enum NoticeMessageTypeEnum {
ACTIVITY_START(1001, "活动开始通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index"),
ACTIVITY_NEW(1002, "活动上新通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index"),
ACTIVITY_DEL(1003, "活动删除通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index"),
ACTIVITY_OFFLINE(1004, "活动下线通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index"),
ACTIVITY_END(1005, "活动结束通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index"),
ACTIVITY_RANK(1006, "活动排名通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index"),
ACTIVITY_AWARD(1007, "活动奖励通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_message", "/pages/route/index");
ACTIVITY_START(1001, "活动开始通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_start", "/pages/route/index"),
ACTIVITY_NEW(1002, "活动上新通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_new", "/pages/route/index"),
ACTIVITY_DEL(1003, "活动删除通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_del", "/pages/route/index"),
ACTIVITY_OFFLINE(1004, "活动下线通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_offline", "/pages/route/index"),
ACTIVITY_END(1005, "活动结束通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_end", "/pages/route/index"),
ACTIVITY_RANK(1006, "活动排名通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_rank", "/pages/route/index"),
ACTIVITY_AWARD(1007, "活动奖励通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_award", "/pages/route/index"),
TEL_TASK_CREATE(2001, "话务任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_create", "/pages/route/index?pageType=hbapp_task_list_new"),
TEL_TASK_OVERDUE(2002, "话务任务逾期推送", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_overdue", "/pages/route/index?pageType=hbapp_marketing_task_list"),
//没集成 还没有
TEL_TASK_INVALID(2003, "话务任务逾期失效通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_nvalid", "/pages/route/index"),
GROUP_TASK_CREATE(2004, "群发任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "group_task_create", "/pages/route/index?pageType=hbapp_marketing_task_list"),
GROUP_TASK_OVERDUE(2005, "群发任务逾期通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "group_task_overdue", "/pages/route/index?pageType=hbapp_marketing_task_list"),
//没集成 还没有
GROUP_TASK_INVALID(2006, "群发任务逾期失效通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "group_task_invalid", "/pages/route/index"),
PERFORMANCE_TASK_CREATE(2007, "指标任务通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "performance_task_create", "/pages/route/index?pageType=hbapp_task_kpi_detail"),
EVALUATE_TASK_CREATE(2008, "不良评价通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "evaluate_task_create", "/pages/route/index?pageType=hbapp_task_detail"),
STORE_ACCOUNT(3001, "门店账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_account", "/pages/route/index"),
CUSTOMER_MOVE(3002, "客户变动通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "customer_move", "/pages/route/index"),
CUSTOMER_ORDER_CREATE(4001, "客户下单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_order_create", "/pages/route/index"),
CUSTOMER_ORDER_REFUND(4002, "客户退单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_order_refund", "/pages/route/index"),
CUSTOMER_ORDER_LOOK(4003, "客户浏览通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_order_look", "/pages/route/index"),
CUSTOMER_GET_COUPON(4003, "客户领券通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_get_coupon", "/pages/route/index"),;
/**
* 消息类型
*/
......
......@@ -20,7 +20,7 @@ public interface NoticeMessageApiService {
/**
* 消息分页
*
*1
* @param enterpriseId
* @param storeId
* @param clerkId 可以空 标识查询门店级别消息
......
......@@ -31,11 +31,12 @@ public class PendingTaskServiceImpl implements PendingTaskService {
public boolean addOrUpdatePendingTask(PendingTaskBO task) {
TabPendingTask tabPendingTask = EntityUtil.changeEntityByOrika(TabPendingTask.class, task);
TabPendingTask pendingTask = pendingTaskMapper.getByRelationId(tabPendingTask.getRelationId());
task.setUpdateTime(new Date());
tabPendingTask.setUpdateTime(new Date());
if (pendingTask != null) {
tabPendingTask.setId(pendingTask.getId());
pendingTaskMapper.updateByPrimaryKey(tabPendingTask);
} else {
tabPendingTask.setCreateTime(new Date());
pendingTaskMapper.insertSelective(tabPendingTask);
}
return true;
......
......@@ -30,6 +30,9 @@ import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -104,7 +107,7 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
noticeMessageService.addOrCreateNoticeMessage(noticeMessageBO);
//发送企业微信
sendMessage(contentList, clerkRelationDTO.getWxEnterpriseId(), clerkRelationDTO.getWxUserId(), messageTypeEnum);
sendMessage(contentList, clerkRelationDTO.getWxEnterpriseId(), clerkRelationDTO.getWxUserId(), messageTypeEnum, noticeMessageBO.getMessageContent());
}
......@@ -193,7 +196,7 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
* @param wxUserId
* @param messageTypeEnum
*/
private void sendMessage(List<TemplateContentBO> contentList, String wxEnterpriseId, String wxUserId, NoticeMessageTypeEnum messageTypeEnum) {
private void sendMessage(List<TemplateContentBO> contentList, String wxEnterpriseId, String wxUserId, NoticeMessageTypeEnum messageTypeEnum, String data) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
//后续map加判断可加参数
......@@ -204,12 +207,18 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
item.setValue(bo.getVal());
return item;
}).collect(Collectors.toList());
if (StringUtils.isNotBlank(data)) {
try {
data = URLEncoder.encode(data, StandardCharsets.UTF_8.name());
} catch (UnsupportedEncodingException e) {
logger.error(e.getMessage());
}
}
List<String> userList = new ArrayList<>();
userList.add(wxUserId);
messageDTO.setAppid(config.getAppid());
messageDTO.setUserIds(userList);
messageDTO.setPage(messageTypeEnum.getPageUrl());
messageDTO.setPage(messageTypeEnum.getPageUrl() + "&data=" + data);
messageDTO.setTitle(messageTypeEnum.getName());
messageDTO.setItems(items);
qywxSuiteApiService.sendMessage(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), messageDTO);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment