springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/neighbor/ComActNeighborCommentAppDTO.java
@@ -24,4 +24,6 @@ @ApiModelProperty(value = "用户手机号", hidden = true) private String phone; private String accessToken; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java
@@ -558,6 +558,26 @@ log.error(e.getMessage()); } } /** * 长期订阅模板消息推送 * @param openId * @param accessToken */ public static void sendLongTimeTemplate(String openId, String accessToken, String word,String content,String page) { WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); subscribeDTO.setTouser(openId); subscribeDTO.setTemplate_id("5f-xcy4lrWy_0kc5H4dj5bgBM-MwsvTwPApA-u3fqsQ"); subscribeDTO.setPage(page); List<TemplateParam> paras = new ArrayList<TemplateParam>(); paras.add(new TemplateParam("thing3", word)); paras.add(new TemplateParam("thing6", content)); subscribeDTO.setTemplateParamList(paras); try { sendSubscribe(accessToken, subscribeDTO); } catch (Exception e) { log.error(e.getMessage()); } } public static void main(String[] args) { WxXCXTempSend util = new WxXCXTempSend(); @@ -577,4 +597,5 @@ } } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java
@@ -121,6 +121,9 @@ @Update("update com_act_activity set `status`=5 where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),end_at)<=0") int updateStatusToBeginActiveOrEnd(); @Select("select id from com_act_activity where `status`=3 and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") List<Long> selectBeginIds(); // @Select("<script> " + "select t.* from ( " + "SELECT " + "a.id, " + "a.activity_name, " + "u.`name` sponsorName, " // + "a.activity_addr, " + "a.participant_max, " + "count(if(s.is_volunteer=1,null,s.id))participant_now, " // + "a.volunteer_max, " + "count(if(s.is_volunteer=1,s.id,null))volunteer_now, " + "a.`status`, " @@ -357,4 +360,6 @@ * @return */ IPage<ComActActivityVO> pageProjectActivity(@Param("page") Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO); List<String> selectOpenIdByActivityId(Long id); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -823,9 +823,42 @@ log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3); // 查询已经结束的活动,需要计算积分 List<Long> activityEndIds = comActActivityDAO.getActivityEndIds(); if(!CollectionUtils.isEmpty(activityEndIds)){ activityEndIds.forEach(activityId->{ List<String> openIds=comActActivityDAO.selectOpenIdByActivityId(activityId); if(!CollectionUtils.isEmpty(openIds)){ openIds.forEach(op->{ WxXCXTempSend wxXCXTempSend=new WxXCXTempSend(); try { WxUtil.sendLongTimeTemplate(op,wxXCXTempSend.getAccessToken(),"活动开始提醒","您参加的活动已开始","packageC/pages/activity/communityActivityDetails/communityActivityDetails?id="+activityId); } catch (Exception e) { e.printStackTrace(); } }); } }); } // 修改进行状态 变为进行中或者已结束 int num2 = comActActivityDAO.updateStatusToBeginActiveOrEnd(); log.info("定时任务--修改社区活动进行状态活动数量【{}】", num2); List<Long> ids = comActActivityDAO.getActivityEndIds(); if(!CollectionUtils.isEmpty(ids)){ int num2 = comActActivityDAO.updateStatusToBeginActiveOrEnd(); log.info("定时任务--修改社区活动进行状态活动数量【{}】", num2); ids.forEach(id ->{ List<String> openIds=comActActivityDAO.selectOpenIdByActivityId(id); if(!CollectionUtils.isEmpty(openIds)){ openIds.forEach(op->{ WxXCXTempSend wxXCXTempSend=new WxXCXTempSend(); try { WxUtil.sendLongTimeTemplate(op,wxXCXTempSend.getAccessToken(),"活动结束提醒","您参加的活动已结束","packageC/pages/activity/communityActivityDetails/communityActivityDetails?id="+id); } catch (Exception e) { e.printStackTrace(); } }); } }); } return R.ok(activityEndIds); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -8,6 +8,9 @@ import javax.annotation.Resource; import com.panzhihua.common.utlis.*; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.entity.SysUser; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -55,19 +58,6 @@ import com.panzhihua.common.model.vos.neighbor.UnitActivityAnalysisVO; import com.panzhihua.common.model.vos.user.AdministratorsUserVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.SensitiveUtil; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.dao.ComActDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleBrowseDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleCommentDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleCommentReplyDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleFabulousDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleTopicMapper; import com.panzhihua.service_community.dao.ComPbCheckUnitDao; import com.panzhihua.service_community.dao.ComPbMemberDAO; import com.panzhihua.service_community.entity.ComPbCheckUnit; import com.panzhihua.service_community.model.dos.ComActActivityDO; import com.panzhihua.service_community.model.dos.ComActDO; @@ -130,6 +120,8 @@ private ComActActivityDAO comActActivityDAO; @Resource private ComPbCheckUnitDao comPbCheckUnitDao; @Resource private SysUserDao sysUserDao; /** * 分页查询邻里圈列表 * @@ -637,6 +629,20 @@ } if (comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0) { SysUser sysUser=sysUserDao.selectById(neighborCircleDO.getSolveId()); if(sysUser!=null) { try { WxXCXTempSend util = new WxXCXTempSend(); if (neighborCircleDO.getBelongType()==2){ WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你有一条新的评价信息",neighborCircleDO.getReleaseContent().substring(0,10)+"..","packageB/pages/partySecond/problemDetails/index?id="+neighborCircleDO.getId()+"&type=888"); } if (neighborCircleDO.getBelongType()==3){ WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你有一条新的评价信息",neighborCircleDO.getReleaseContent().substring(0,10)+"..","packageB/pages/partySecond/problemDetails/index?id="+neighborCircleDO.getId()+"&type=777"); } } catch (Exception e) { e.printStackTrace(); } } return R.ok(); } else { return R.fail("评论失败"); @@ -1069,7 +1075,42 @@ if(StringUtils.isNotEmpty(comActNeighborCircleDO.getComment())){ comActNeighborCircleDO.setCommentTime(new Date()); } return R.ok(this.baseMapper.updateById(comActNeighborCircleDO)); int result=this.baseMapper.updateById(comActNeighborCircleDO); if(result>0){ SysUser sysUser=sysUserDao.selectById(comActNeighborCircleDO.getReleaseId()); if(comActNeighborCircleDO.getOrderStatus()!=null){ if(sysUser!=null) { try { WxXCXTempSend util = new WxXCXTempSend(); if (comActNeighborCircleDO.getBelongType()==2){ WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的问题已被人认领",comActNeighborCircleDO.getReleaseContent().substring(0,10)+"..","packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=888"); } if (comActNeighborCircleDO.getBelongType()==3){ WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的需求已被人认领",comActNeighborCircleDO.getReleaseContent().substring(0,10)+"..","packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=777"); } } catch (Exception e) { e.printStackTrace(); } } } if(comActNeighborCircleDO.getSolveStatus()!=null){ if(sysUser!=null) { try { WxXCXTempSend util = new WxXCXTempSend(); if (comActNeighborCircleDO.getBelongType()==2){ WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的问题已被人处理",comActNeighborCircleDO.getReleaseContent().substring(0,10)+"..","packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=888"); } if (comActNeighborCircleDO.getBelongType()==3){ WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的需求已被人处理",comActNeighborCircleDO.getReleaseContent().substring(0,10)+"..","packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=777"); } } catch (Exception e) { e.printStackTrace(); } } } return R.ok(result); } return R.fail(); } @Override springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml
@@ -399,4 +399,8 @@ GROUP BY a.id ORDER BY a.status = 99 DESC,a.publish_at DESC </select> <select id="selectOpenIdByActivityId" resultType="String"> select distinct openid from com_act_act_sign t LEFT JOIN sys_user t1 on t.user_id = t1.user_id where t.activity_id =#{id} and t.status = 1 </select> </mapper>