Browse Source

bug

release_toaliyun_real
xhxu 5 years ago
parent
commit
cb310657c3
9 changed files with 426 additions and 33 deletions
  1. +299
    -0
      mallinkAdmin/src/main/resources/db/migration/V202011100001__订阅标识wx_c_user.sql
  2. +9
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  3. +3
    -3
      mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java
  4. +6
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java
  5. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxCUserService.java
  6. +9
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java
  7. +33
    -19
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
  8. +20
    -11
      mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java
  9. +43
    -0
      mallinkService/src/main/resources/mapper/WxCUserMapper.xml

+ 299
- 0
mallinkAdmin/src/main/resources/db/migration/V202011100001__订阅标识wx_c_user.sql View File

@@ -0,0 +1,299 @@
ALTER TABLE `wx_c_user_0`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_1`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_2`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_3`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_4`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_5`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_6`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_7`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_8`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_9`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_10`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_11`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_12`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_13`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_14`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_15`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_16`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_17`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_18`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_19`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_20`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_21`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_22`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_23`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_24`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_25`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_26`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_27`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_28`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_29`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_30`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_31`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_32`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_33`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_34`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_35`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_36`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_37`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_38`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_39`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_40`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_41`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_42`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_43`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_44`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_45`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_46`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_47`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_48`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_49`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_50`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_51`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_52`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_53`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_54`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_55`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_56`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_57`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_58`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_59`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_60`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_61`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_62`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_63`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_64`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_65`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_66`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_67`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_68`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_69`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_70`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_71`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_72`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_73`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_74`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_75`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_76`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_77`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_78`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_79`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_80`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_81`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_82`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_83`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_84`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_85`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_86`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_87`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_88`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_89`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_90`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_91`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_92`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_93`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_94`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_95`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_96`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_97`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_98`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

ALTER TABLE `wx_c_user_99`
ADD COLUMN `msg_count` int(11) NOT NULL DEFAULT 0 COMMENT '订阅标识' AFTER `login_count`;

+ 9
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java View File

@@ -1021,4 +1021,13 @@ public class WxUserGrantController extends BaseController {
return new ResultData(result);
}


@PostMapping("/updateMsg")
@ApiOperation(value = "updateMsg", notes = "{\"id\":\"string\"}")
public ResultData updateMsg() {
WxCUser user = getWxCUser();
wxCUserService.updateMsgCount(user);
return new ResultData();
}

}

+ 3
- 3
mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java View File

@@ -59,10 +59,10 @@ public class MsgSendingSchedule {
msg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
msg.setReceiver(msg.getPhones());
mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(),null);
}else if(wxMsg.getWay() == EnumSendWay.APPINFOR.getCode()){
WxMsgService.batchSendAppinfo(wxMsg);
}else if(msg.getWay() == EnumSendWay.APPINFOR.getCode()){
WxMsgService.batchSendAppinfo(msg);
}
wxMsgMapper.updateById(wxMsg);
wxMsgMapper.updateById(msg);

}
logger.info("sendmsg定时任务结束");


+ 6
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java View File

@@ -34,4 +34,10 @@ public interface WxCUserMapper extends CommonMapper<WxCUser, Long> {
void updateUserId(WxCUser user);

void delForUserIdOnly(@Param("id")Long id, @Param("userId")Long userId,@Param("tenantId")String tenantId);

List<String> listOpenId(WxCUser record);

void updateMsgCount(WxCUser user);

void updateMsgCountDown(@Param("tenantId")String tenantId, @Param("openId")String[] split);
}

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/WxCUserService.java View File

@@ -23,6 +23,8 @@ public interface WxCUserService {
*/
PageInfo<WxCUser> listAsPage(WxCUser record, Integer pageIndex, Integer pageSize);

PageInfo<String> listOpenIdAsPage(WxCUser record, Integer pageIndex, Integer pageSize);

/**
* 根据Id获得实体
*
@@ -143,4 +145,6 @@ public interface WxCUserService {
void updateUserId(WxCUser user);

void delForUserIdOnly(Long id, Long userId, String tenantId);

void updateMsgCount(WxCUser user);
}

+ 9
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java View File

@@ -62,6 +62,11 @@ public class WxCUserServiceImpl implements WxCUserService {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.findList(record));
}

@Override
public PageInfo<String> listOpenIdAsPage(WxCUser record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.listOpenId(record));
}

@Override
public WxCUser getById(Long id,String tenantId) {
return wxCUserMapper.selectById(id,tenantId);
@@ -360,5 +365,9 @@ public class WxCUserServiceImpl implements WxCUserService {
wxCUserMapper.delForUserIdOnly(id,userId,tenantId);
}

@Override
public void updateMsgCount(WxCUser user) {
wxCUserMapper.updateMsgCount(user);
}

}

+ 33
- 19
mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java View File

@@ -414,28 +414,42 @@ public class WxMsgServiceImpl implements WxMsgService {
}

if(StringUtils.isNotBlank(wxMsg.getPhones())){
String[] split = wxMsg.getPhones().split(",");
for (String s:split) {
smartAppMsg.setTo(s);
mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}

smartAppMsg.setTo(wxMsg.getPhones());
mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());

// String[] split = wxMsg.getPhones().split(",");
// int length = split.length;
// int extra = length % 1000;
// int extracount = extra > 0 ? (length / 1000 + 1) : (length / 1000);
// int index = extracount - 1;
// for (int i = 0; i < extracount; i++) {
// if (extra > 0 && i == index) {
// List<String> phoneList = Arrays.asList(split).subList(i * 1000, length);
// String phones = StringUtils.join(phoneList, ",");
// smartAppMsg.setTo(phones);
// mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
// } else {
// List<String> phoneList = Arrays.asList(split).subList(i * 1000, (i + 1) * 1000);
// String phones = StringUtils.join(phoneList, ",");
// smartAppMsg.setTo(phones);
// mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
// }
// }
}else{
WxCUser wxCUserQ = new WxCUser();
wxCUserQ.updateTenantInfo(tenantEntity);
PageInfo<WxCUser> wxCUserPageInfo = wxCUserService.listAsPage(wxCUserQ, 1, 1000);
// List<WxCUser> list = wxCUserService.findList(wxCUserQ);
wxMsg.setExpectSendNumber((int) wxCUserPageInfo.getTotal());
for (WxCUser u:wxCUserPageInfo.getList()) {
smartAppMsg.setTo(u.getOpenId());
mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}
if(wxCUserPageInfo.getPages() > 1){
for(int i=2;i<=wxCUserPageInfo.getPages();i++){
wxCUserPageInfo = wxCUserService.listAsPage(wxCUserQ, i, 1000);
for (WxCUser u:wxCUserPageInfo.getList()) {
smartAppMsg.setTo(u.getOpenId());
mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}
PageInfo<String> openIdPage = wxCUserService.listOpenIdAsPage(wxCUserQ, 1, 1000);
wxMsg.setExpectSendNumber((int) openIdPage.getTotal());
String phones = StringUtils.join(openIdPage.getList(), ",");
smartAppMsg.setTo(phones);
mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
if(openIdPage.getPages() > 1){
for(int i=2;i<=openIdPage.getPages();i++){
openIdPage = wxCUserService.listOpenIdAsPage(wxCUserQ, i, 1000);
phones = StringUtils.join(openIdPage.getList(), ",");
smartAppMsg.setTo(phones);
mqBaseProducer.sendMessage(smartAppMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}
}



+ 20
- 11
mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java View File

@@ -2,8 +2,6 @@ package com.iformall.service.msg.impl;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
import cn.binarywang.wx.miniapp.constant.WxMaConstants;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -14,6 +12,7 @@ import com.iformall.domain.po.WxTemplateMsg;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.SmartAppMsg;
import com.iformall.mapper.WxCUserMapper;
import com.iformall.mapper.WxTemplateMsgMapper;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.msg.MsgSendService;
@@ -45,6 +44,9 @@ public class SendSmartAppMsgServiceImpl implements MsgSendService {
@Autowired
private FmOpenService openService;

@Autowired
private WxCUserMapper wxCUserMapper;

@Override
public void send(BaseMsg baseMsg) throws Exception{
SmartAppMsg smartAppMsg = (SmartAppMsg)baseMsg;
@@ -112,16 +114,23 @@ public class SendSmartAppMsgServiceImpl implements MsgSendService {
// .build();
// wxMaService.getMsgService().sendTemplateMsg(templateMessage);

subscribeMessage = WxMaSubscribeMessage.builder()
.templateId(msg.getTemplateId())
.toUser(smartAppMsg.getTo())
.lang(WxMaConstants.MiniprogramLang.ZH_CN)
.miniprogramState(WxMaConstants.MiniprogramState.FORMAL)
.page(smartAppMsg.getGotopage())
.data(dataTempList)
.build();
String[] split = smartAppMsg.getTo().split(",");
wxCUserMapper.updateMsgCountDown(tenantEntity.getTenantId(),split);

for (String to:split) {
subscribeMessage = WxMaSubscribeMessage.builder()
.templateId(msg.getTemplateId())
.toUser(to)
.lang(WxMaConstants.MiniprogramLang.ZH_CN)
.miniprogramState(WxMaConstants.MiniprogramState.FORMAL)
.page(smartAppMsg.getGotopage())
.data(dataTempList)
.build();

wxMaService.getMsgService().sendSubscribeMsg(subscribeMessage);
}


wxMaService.getMsgService().sendSubscribeMsg(subscribeMessage);
}

}


+ 43
- 0
mallinkService/src/main/resources/mapper/WxCUserMapper.xml View File

@@ -230,6 +230,49 @@
<include refid="dynamicWhereConditions"/>
</select>


<select id="listOpenId" parameterType="com.iformall.domain.po.WxCUser" resultType="String">
select open_id from wx_c_user where msg_count &gt; 0
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
</select>

<update id="updateMsgCount" parameterType="com.iformall.domain.po.WxCUser">
update wx_c_user set msg_count = msg_count+1
where 1=1
<if test=" null != id ">
and `id` = #{id}
</if>
<if test=" null != openId ">
and `open_id` = #{openId}
</if>
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
</update>

<update id="updateMsgCountDown" parameterType="list">
update wx_c_user set msg_count = msg_count-1
where msg_count &gt; 0
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
and `open_id` in
<foreach collection="openId" index="index" item="openId" open="(" separator="," close=")" >
#{openId}
</foreach>
</update>

<select id="findByOpenId" parameterType="com.iformall.domain.po.WxCUser" resultMap="BaseResultMap">
select <include refid="allColumns"/> from wx_c_user
where `app_id` = #{appId} and `open_id` = #{openId}


Loading…
Cancel
Save