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 087da3b..8680041 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTask.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushArticleTask.java @@ -62,124 +62,127 @@ public class PushArticleTask { pushedart.setAid(lymsPushMessage.getAid()); pushedart.setCreatedtime(new Date()); pushedart.setIsread((byte) 0); - //获取token失败 - if(StringUtil.isEmpty(AccessTokenServlet.accessToken)){ - //更新到LymsPushMessages记录 - lymsPushMessage.setState(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) - lymsPushMessage.setRemark("推送短消息"+(lymsPushMessage.getIsweixinOne()==1?"1":"2")+",获取token失败!"); - lymsPushMessage.setPushTime(new Date()); - lymsPushMessagesService.updateById(lymsPushMessage); - //更新到LymsPushedart记录 - if(null==lymsPushMessage.getPushedartId()){ - pushedart.setIsweixinone(2);//是否推送短消息1(0否,1是 2推送失败) - }else { - 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失败!"); - continue; - } - //公众号openId为空 - if(StringUtil.isEmpty(lymsPushMessage.getGzopenid())){ - //更新到LymsPushMessages记录 - lymsPushMessage.setState(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) - lymsPushMessage.setRemark(lymsPushMessage.getPname()+":公众号openId为空!"); - lymsPushMessage.setPushTime(new Date()); - lymsPushMessagesService.updateById(lymsPushMessage); - //更新到LymsPushedart记录 - if(null==lymsPushMessage.getPushedartId()){ - pushedart.setIsweixinone(2);//是否推送短消息1(0否,1是 2推送失败) - }else { - pushedart.setIsweixintwo(2);//是否推送短消息2(0否,1是 2推送失败) - } - //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 - //这里查询为了去掉推送文章的记录重复存 - if(lymsPushMessage.getPushedartId()==null){ + //推送公众号消息逻辑 + if(lymsPushMessage.getIsweixinOne()==1||lymsPushMessage.getIsweixinTwo()==1){ + //获取token失败 + if(StringUtil.isEmpty(AccessTokenServlet.accessToken)){ + //更新到LymsPushMessages记录 + lymsPushMessage.setState(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) + lymsPushMessage.setRemark("推送短消息"+(lymsPushMessage.getIsweixinOne()==1?"1":"2")+",获取token失败!"); + lymsPushMessage.setPushTime(new Date()); + lymsPushMessagesService.updateById(lymsPushMessage); + //更新到LymsPushedart记录 + if(null==lymsPushMessage.getPushedartId()){ + pushedart.setIsweixinone(2);//是否推送短消息1(0否,1是 2推送失败) + }else { + pushedart.setIsweixintwo(2);//是否推送短消息2(0否,1是 2推送失败) + } + //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 + //这里查询为了去掉推送文章的记录重复存 QueryWrapper queryWrapper2=new QueryWrapper<>(); - queryWrapper2.eq("pid", lymsPushMessage.getPid()); - queryWrapper2.eq("aid", lymsPushMessage.getAid()); + 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失败!"); + continue; } - pushedart.setId(lymsPushMessage.getPushedartId()); - lymsPushedartService.saveOrUpdate(pushedart); - log.info(lymsPushMessage.getPname()+":公众号openId为空!"); - continue; - } - if(lymsPushMessage.getIsweixinOne()==1&&null==lymsPushMessage.getPushedartId()){ - //推送微信消息1 - Map map=new HashMap<>(); - map.put("first",new DataEntity(lymsPushMessage.getWeixTextOne(),"#173177")); - map.put("keyword1",new DataEntity(lymsPushMessage.getPname(),"#173177")); - map.put("keyword2",new DataEntity(lymsPushMessage.getHname(),"#173177")); - map.put("keyword3",new DataEntity(lymsPushMessage.getDname(),"#173177")); - map.put("remark",new DataEntity("预祝您早日康复","#173177")); - Integer code= WeiXinUtil.SendWeChatMsg(lymsPushMessage.getGzopenid(), Constant.GZ_TEMPLATE_ID,map); - if(null==code||code!=0){ + //公众号openId为空 + if(StringUtil.isEmpty(lymsPushMessage.getGzopenid())){ //更新到LymsPushMessages记录 lymsPushMessage.setState(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) - lymsPushMessage.setRemark("推送短消息1失败。。。"+lymsPushMessage.getPname()+"; code:"+code); + lymsPushMessage.setRemark(lymsPushMessage.getPname()+":公众号openId为空!"); lymsPushMessage.setPushTime(new Date()); lymsPushMessagesService.updateById(lymsPushMessage); //更新到LymsPushedart记录 - pushedart.setIsweixinone(2);//是否推送短消息1(0否,1是 2推送失败) + if(null==lymsPushMessage.getPushedartId()){ + pushedart.setIsweixinone(2);//是否推送短消息1(0否,1是 2推送失败) + }else { + 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("推送短消息1失败!"+lymsPushMessage.getPname()+"; code:"+code); + log.info(lymsPushMessage.getPname()+":公众号openId为空!"); 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()); - //推送微信消息2 - Map map=new HashMap<>(); - map.put("first",new DataEntity(lymsPushMessage.getWeixTextTwo(),"#173177")); - map.put("keyword1",new DataEntity(lymsPushMessage.getPname(),"#173177")); - map.put("keyword2",new DataEntity(lymsPushMessage.getHname(),"#173177")); - map.put("keyword3",new DataEntity(lymsPushMessage.getDname(),"#173177")); - map.put("remark",new DataEntity("预祝您早日康复","#173177")); - Integer code= WeiXinUtil.SendWeChatMsg(lymsPushMessage.getGzopenid(),Constant.GZ_TEMPLATE_ID,map); - if(null==code||code!=0){ + if(lymsPushMessage.getIsweixinOne()==1&&null==lymsPushMessage.getPushedartId()){ + //推送微信消息1 + Map map=new HashMap<>(); + map.put("first",new DataEntity(lymsPushMessage.getWeixTextOne(),"#173177")); + map.put("keyword1",new DataEntity(lymsPushMessage.getPname(),"#173177")); + map.put("keyword2",new DataEntity(lymsPushMessage.getHname(),"#173177")); + map.put("keyword3",new DataEntity(lymsPushMessage.getDname(),"#173177")); + map.put("remark",new DataEntity("预祝您早日康复","#173177")); + Integer code= WeiXinUtil.SendWeChatMsg(lymsPushMessage.getGzopenid(), Constant.GZ_TEMPLATE_ID,map); + if(null==code||code!=0){ + //更新到LymsPushMessages记录 + lymsPushMessage.setState(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) + lymsPushMessage.setRemark("推送短消息1失败。。。"+lymsPushMessage.getPname()+"; code:"+code); + lymsPushMessage.setPushTime(new Date()); + lymsPushMessagesService.updateById(lymsPushMessage); + //更新到LymsPushedart记录 + pushedart.setIsweixinone(2);//是否推送短消息1(0否,1是 2推送失败) + //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 + 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(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) - lymsPushMessage.setRemark("推送短消息2失败!"+lymsPushMessage.getPname()+"; code:"+code); + lymsPushMessage.setState(1);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) lymsPushMessage.setPushTime(new Date()); lymsPushMessagesService.updateById(lymsPushMessage); - //更新到LymsPushedart记录 - pushedart.setIsweixintwo(2);//是否推送短消息2(0否,1是 2推送失败) + }else if(lymsPushMessage.getIsweixinTwo()==1){ + //LymsPushedart的主键id赋值,表示修改。找到以前的推送记录,修改短文字的推送状态 + pushedart.setId(lymsPushMessage.getPushedartId()); + //推送微信消息2 + Map map=new HashMap<>(); + map.put("first",new DataEntity(lymsPushMessage.getWeixTextTwo(),"#173177")); + map.put("keyword1",new DataEntity(lymsPushMessage.getPname(),"#173177")); + map.put("keyword2",new DataEntity(lymsPushMessage.getHname(),"#173177")); + map.put("keyword3",new DataEntity(lymsPushMessage.getDname(),"#173177")); + map.put("remark",new DataEntity("预祝您早日康复","#173177")); + Integer code= WeiXinUtil.SendWeChatMsg(lymsPushMessage.getGzopenid(),Constant.GZ_TEMPLATE_ID,map); + if(null==code||code!=0){ + //更新到LymsPushMessages记录 + lymsPushMessage.setState(2);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) + lymsPushMessage.setRemark("推送短消息2失败!"+lymsPushMessage.getPname()+"; code:"+code); + lymsPushMessage.setPushTime(new Date()); + lymsPushMessagesService.updateById(lymsPushMessage); + //更新到LymsPushedart记录 + pushedart.setIsweixintwo(2);//是否推送短消息2(0否,1是 2推送失败) + lymsPushedartService.saveOrUpdate(pushedart); + log.info("推送短消息2失败!"+lymsPushMessage.getPname()+"; code:"+code); + continue; + } + //成功标记记录2 + pushedart.setIsweixintwo(1);//是否推送短消息1(0否,1是 2推送失败) + //插入or更新到LymsPushedart记录 lymsPushedartService.saveOrUpdate(pushedart); - log.info("推送短消息2失败!"+lymsPushMessage.getPname()+"; code:"+code); - continue; + //更新到LymsPushMessages记录 + lymsPushMessage.setState(1);//推送状态:0待推送 1成功 2失败。(在备注写失败原因) + lymsPushMessage.setPushTime(new Date()); + lymsPushMessagesService.updateById(lymsPushMessage); } - //成功标记记录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); } //更新到LymsPushMessages记录(推送的是文章的情况IsweixinOne和IsweixinTwo都是0的时候) lymsPushMessage.setState(1);//推送状态:0待推送 1成功 2失败。(在备注写失败原因)