提交 bd2ac67d 作者: gh

延时客服的付费类型

上级 8755380d
......@@ -39,7 +39,7 @@ public class CustomerDelayPublish implements Serializable {
* 未付费0/付费1/VIP 2
*/
@TableField(exist = false )
private Byte payType;
private Integer payType;
/**
* 延时客服序列
......
......@@ -56,9 +56,9 @@ public class CustomerDelayPublishServiceImpl extends ServiceImpl<CustomerDelayPu
List<Future<CustomerDelayPublish>>futureList =new ArrayList<>();
//号-发送序列-客服id
Map<String, Map<Integer, CustomerDelayItemVO>> customerMap =
Map<String, Map<Integer, List<CustomerDelayItemVO>>> customerMap =
allDelayCustomerMessage.stream().collect(Collectors.groupingBy(CustomerDelayItemVO::getAppId,
Collectors.toMap(CustomerDelayItemVO::getPostSort, a -> a, (v1, v2) -> v2)));
Collectors.groupingBy(CustomerDelayItemVO::getPostSort)));
Set<CustomerDelayItemVO> needUpdateCustomerDelay = new HashSet<>();
......@@ -72,7 +72,7 @@ public class CustomerDelayPublishServiceImpl extends ServiceImpl<CustomerDelayPu
//没token过滤
if (token==null||"".equals(token)){ continue; }
//该号下延时客服
Map<Integer,CustomerDelayItemVO> delaySortMap = customerMap.get(appid);
Map<Integer,List<CustomerDelayItemVO>> delaySortMap = customerMap.get(appid);
//所有的用户
List<CustomerDelayPublish> userList = userEntry.getValue();
......
......@@ -19,7 +19,7 @@ public interface WeChatService {
* 发送延时客服消息
*/
Future<CustomerDelayPublish> sendCustomerDelayMessage( AuthorizerToken authorizerToken, CustomerDelayPublish user,
Map<Integer,CustomerDelayItemVO>delaySortMap,
Map<Integer,List<CustomerDelayItemVO>>delaySortMap,
Set<CustomerDelayItemVO>needUpdateVoList);
......
......@@ -55,14 +55,21 @@ public class WeChatServiceImpl implements WeChatService{
@Async("myExecutor")
@Override
public Future<CustomerDelayPublish> sendCustomerDelayMessage( AuthorizerToken authorizerToken, CustomerDelayPublish user,
Map<Integer,CustomerDelayItemVO> delaySortMap,
Map<Integer,List<CustomerDelayItemVO>> delaySortMap,
Set<CustomerDelayItemVO> needUpdateVoList) {
//token
UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromHttpUrl(customerPath).queryParam("access_token",authorizerToken.getAuthorizerAccessToken());
//找到延时序列
CustomerDelayItemVO sendCustomerDelay = delaySortMap.get(user.getCustomerSort());
List<CustomerDelayItemVO> sendCustomerDelays = delaySortMap.get(user.getCustomerSort());
if (sendCustomerDelays!=null){
//找付费类型
List<CustomerDelayItemVO> collect = sendCustomerDelays.stream().filter(a -> user.getPayType().equals(a.getIsPay()) ).collect(Collectors.toList());
if (!collect.isEmpty()){
CustomerDelayItemVO sendCustomerDelay = collect.get(0);
if (sendCustomerDelay!=null){
needUpdateVoList.add(sendCustomerDelay);
//构建请求参数
WeChatCustomerRequestEntity customerRequest = buildCustomerRequest(sendCustomerDelay);
......@@ -74,7 +81,6 @@ public class WeChatServiceImpl implements WeChatService{
try {
WeChatResponseEntity response=(WeChatResponseEntity)weChatRestService.httpPostRequest(uriComponentsBuilder, customerRequest,WeChatResponseEntity.class);
//System.err.println(response);
if(SUCCESS_CODE.equals(response.getErrcode())){
//发送成功计数
sendCustomerDelay.updateSendNum();
......@@ -90,6 +96,7 @@ public class WeChatServiceImpl implements WeChatService{
}
}
}
}
//用户首次活跃时间
Long subscribeTimestamp = user.getFirstActive().getTime();
......@@ -99,7 +106,7 @@ public class WeChatServiceImpl implements WeChatService{
user.setCustomerSort(newSort);
CustomerDelayItemVO customerDelayItemVO = delaySortMap.get(newSort);
CustomerDelayItemVO customerDelayItemVO = delaySortMap.get(newSort)!=null?delaySortMap.get(newSort).get(0):null;
if (customerDelayItemVO!=null&&customerDelayItemVO.getTimeInterval()!=null){
......
......@@ -39,6 +39,10 @@ public class CustomerDelayItemVO implements Serializable {
*/
private String type;
/**
* 付费类型(0未付费 1已付费)
*/
private Integer isPay;
/**
* 推广标题
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论