From cb310657c35561abd0e0ea9074d59f93cf69c58b Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 10 Nov 2020 18:23:42 +0800 Subject: [PATCH] bug --- .../V202011100001__订阅标识wx_c_user.sql | 299 ++++++++++++++++++ .../controller/WxUserGrantController.java | 9 + .../iformall/schedule/MsgSendingSchedule.java | 6 +- .../com/iformall/mapper/WxCUserMapper.java | 6 + .../com/iformall/service/WxCUserService.java | 4 + .../service/impl/WxCUserServiceImpl.java | 9 + .../service/impl/WxMsgServiceImpl.java | 52 +-- .../msg/impl/SendSmartAppMsgServiceImpl.java | 31 +- .../main/resources/mapper/WxCUserMapper.xml | 43 +++ 9 files changed, 426 insertions(+), 33 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V202011100001__订阅标识wx_c_user.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V202011100001__订阅标识wx_c_user.sql b/mallinkAdmin/src/main/resources/db/migration/V202011100001__订阅标识wx_c_user.sql new file mode 100644 index 000000000..972ee0fb3 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202011100001__订阅标识wx_c_user.sql @@ -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`; diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index d2f4cfd2b..9f5a64b8e 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -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(); + } + } diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java index 43e33e6da..e2c81334c 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java @@ -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定时任务结束"); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java index 7a1d8af78..8bc96a700 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java @@ -34,4 +34,10 @@ public interface WxCUserMapper extends CommonMapper { void updateUserId(WxCUser user); void delForUserIdOnly(@Param("id")Long id, @Param("userId")Long userId,@Param("tenantId")String tenantId); + + List listOpenId(WxCUser record); + + void updateMsgCount(WxCUser user); + + void updateMsgCountDown(@Param("tenantId")String tenantId, @Param("openId")String[] split); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserService.java index bfbc6a0dc..7c19fc4ec 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserService.java @@ -23,6 +23,8 @@ public interface WxCUserService { */ PageInfo listAsPage(WxCUser record, Integer pageIndex, Integer pageSize); + PageInfo 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); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java index c25af90d6..5032b0eba 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java @@ -62,6 +62,11 @@ public class WxCUserServiceImpl implements WxCUserService { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.findList(record)); } + @Override + public PageInfo 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); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java index 1fb470929..b0421dc1b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java @@ -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 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 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 wxCUserPageInfo = wxCUserService.listAsPage(wxCUserQ, 1, 1000); -// List 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 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()); } } diff --git a/mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java index d03ab6bb7..fce0ad070 100644 --- a/mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/msg/impl/SendSmartAppMsgServiceImpl.java @@ -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); } } diff --git a/mallinkService/src/main/resources/mapper/WxCUserMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserMapper.xml index e2c6f3a9c..b5017b191 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserMapper.xml @@ -230,6 +230,49 @@ + + + + + update wx_c_user set msg_count = msg_count+1 + where 1=1 + + and `id` = #{id} + + + and `open_id` = #{openId} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + + update wx_c_user set msg_count = msg_count-1 + where msg_count > 0 + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + and `open_id` in + + #{openId} + + +