diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTask.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTask.java index a4a9f11..57352dc 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTask.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTask.java @@ -77,6 +77,14 @@ public class PushArticleTask { pushedart.setIsweixintwo(2);//是否推送短消息2(0否,1是 2推送失败) } //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 + //这里查询为了去掉推送文章的记录重复存 + QueryWrapper queryWrapper2=new QueryWrapper<>(); + queryWrapper.eq("pid", lymsPushMessage.getPid()); + queryWrapper.eq("aid", lymsPushMessage.getAid()); + LymsPushedart lymsPushedart = lymsPushedartService.getOne(queryWrapper2); + if(lymsPushedart!=null){ + lymsPushMessage.setPushedartId(lymsPushedart.getId()); + } pushedart.setId(lymsPushMessage.getPushedartId()); lymsPushedartService.saveOrUpdate(pushedart); log.info("推送短消息"+(lymsPushMessage.getIsweixinOne()==1?"1":"2")+",获取token失败!"); @@ -96,6 +104,16 @@ public class PushArticleTask { pushedart.setIsweixintwo(2);//是否推送短消息2(0否,1是 2推送失败) } //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 + //这里查询为了去掉推送文章的记录重复存 + if(lymsPushMessage.getPushedartId()==null){ + QueryWrapper queryWrapper2=new QueryWrapper<>(); + queryWrapper2.eq("pid", lymsPushMessage.getPid()); + queryWrapper2.eq("aid", lymsPushMessage.getAid()); + LymsPushedart lymsPushedart = lymsPushedartService.getOne(queryWrapper2); + if(lymsPushedart!=null){ + lymsPushMessage.setPushedartId(lymsPushedart.getId()); + } + } pushedart.setId(lymsPushMessage.getPushedartId()); lymsPushedartService.saveOrUpdate(pushedart); log.info(lymsPushMessage.getPname()+":公众号openId为空!"); @@ -122,9 +140,16 @@ public class PushArticleTask { pushedart.setId(lymsPushMessage.getPushedartId()); lymsPushedartService.saveOrUpdate(pushedart); log.info("推送短消息1失败!"+lymsPushMessage.getPname()+"; code:"+code); + continue; } //成功标记记录1 pushedart.setIsweixinone(1);//是否推送短消息1(0否,1是 2推送失败) + //插入or更新到LymsPushedart记录 + lymsPushedartService.saveOrUpdate(pushedart); + //更新到LymsPushMessages记录 + lymsPushMessage.setState(1);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) + lymsPushMessage.setPushTime(new Date()); + lymsPushMessagesService.updateById(lymsPushMessage); }else if(lymsPushMessage.getIsweixinTwo()==1){ //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 pushedart.setId(lymsPushMessage.getPushedartId()); @@ -150,10 +175,14 @@ public class PushArticleTask { } //成功标记记录2 pushedart.setIsweixintwo(1);//是否推送短消息1(0否,1是 2推送失败) + //插入or更新到LymsPushedart记录 + lymsPushedartService.saveOrUpdate(pushedart); + //更新到LymsPushMessages记录 + lymsPushMessage.setState(1);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) + lymsPushMessage.setPushTime(new Date()); + lymsPushMessagesService.updateById(lymsPushMessage); } - //插入or更新到LymsPushedart记录 - lymsPushedartService.saveOrUpdate(pushedart); - //更新到LymsPushMessages记录 + //更新到LymsPushMessages记录(推送的是文章的情况IsweixinOne和IsweixinTwo都是0的时候) lymsPushMessage.setState(1);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) lymsPushMessage.setPushTime(new Date()); lymsPushMessagesService.updateById(lymsPushMessage); diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTaskData.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTaskData.java index ef7d706..2d350d7 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTaskData.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTaskData.java @@ -52,8 +52,8 @@ public class PushArticleTaskData { Map param=new HashMap<>(); param.put("vtype",999); List dcLst=lymsDictService.listByMap(param); - //防止重复 if (dcLst.size()>0 && dcLst.get(0).getCode()==1){ + //防止重复 QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.apply("TO_DAYS(created_time) = TO_DAYS(NOW()) and state in (0,1,2)"); List list = lymsPushMessagesService.list(queryWrapper2); @@ -89,7 +89,7 @@ public class PushArticleTaskData { //需要推送的短消息1 lymsPushMessagesService.save(lymsPushMessages); } - //标记要推送的文章-短消息1标记0 + //标记要推送的文章-短消息1标记为0说明这是推送的文章 lymsPushMessages.setIsweixinOne(0); //保存到要推送的表lyms_push_messages需要推送的文章 lymsPushMessagesService.save(lymsPushMessages);