张天森
2022-11-10 d99a56e37cf9109b46ee68d34a06594ef5615ed3
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -19,6 +19,8 @@
import javax.annotation.Resource;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.hutool.core.collection.CollUtil;
import com.panzhihua.common.constants.HttpStatus;
import com.panzhihua.common.model.dtos.community.ActivityInviteDTO;
import com.panzhihua.service_community.dao.ComActNeighborCircleDAO;
@@ -27,6 +29,7 @@
import com.panzhihua.service_community.entity.ComActActivityInvite;
import com.panzhihua.service_community.model.dos.ComActNeighborCircleTopicWestDO;
import com.panzhihua.service_community.service.ComActActivityInviteService;
import com.panzhihua.service_community.util.WxMaConfiguration;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
@@ -139,6 +142,8 @@
    private ComActActivityInviteService comActActivityInviteService;
    @Resource
    private ComActNeighborCircleDAO comActNeighborCircleDAO;
    @Resource
    private WxMaConfiguration wxMaConfiguration;
    /**
     * 新增社区活动
@@ -250,8 +255,8 @@
            List<ActivitySignVO> activitySignVOS = comActActSignDAO.listActivitySigns(activitySignVO);
            if (!activitySignVOS.isEmpty()) {
                try {
                    WxXCXTempSend util = new WxXCXTempSend();
                    String accessToken = util.getAccessToken();
                    WxMaService maService = wxMaConfiguration.getMaService("wx118de8a734d269f0");
                    String accessToken = maService.getAccessToken();
                    ComActDO comActDO=comActDAO.selectById(comActActivityDO.getCommunityId());
                    R<SysTemplateConfigVO> r=userService.selectTemplate(comActDO.getAreaCode(),1);
                    activitySignVOS.forEach(activitySignVO1 -> {
@@ -306,14 +311,23 @@
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        Long communityId = comActActivityVO.getCommunityId();
        if (null != communityId){
            List<Long> communityIds = comActDAO.selectIds(communityId);
            if (CollUtil.isEmpty(communityIds)) {
                communityIds = new ArrayList<>();
                communityIds.add(communityId);
            }
            comActActivityVO.setCommunityIds(communityIds);
        }
        Integer type = comActActivityVO.getType();
        IPage<ComActActivityVO> iPage = null;
        if (nonNull(type) && type.equals(4)) {
            if (nonNull(comActActivityVO.getCommunityId())) {
                ComActDO comActDO = comActDAO.selectById(comActActivityVO.getCommunityId());
                if (nonNull(comActDO)) {
                    comActActivityVO.setStreetId(comActDO.getStreetId());
                }
                    ComActDO comActDO = comActDAO.selectById(comActActivityVO.getCommunityId());
                    if (nonNull(comActDO)) {
                        comActActivityVO.setStreetId(comActDO.getStreetId());
                    }
            }
            iPage = comActActivityDAO.pageProjectActivity(page, comActActivityVO);
        } else {
@@ -819,10 +833,9 @@
        // 修改报名状态 变为报名中
//        int num1 = comActActivityDAO.updateStatusToBeginSign();
//        log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1);
        int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
        log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
        // 查询已经结束的活动,需要计算积分
        List<Long> activityEndIds = comActActivityDAO.selectBeginIds();
        WxMaService maService = wxMaConfiguration.getMaService("wx118de8a734d269f0");
        if(!CollectionUtils.isEmpty(activityEndIds)){
            activityEndIds.forEach(activityId->{
                List<String> openIds=comActActivityDAO.selectOpenIdByActivityId(activityId);
@@ -830,7 +843,7 @@
                    openIds.forEach(op->{
                        WxXCXTempSend wxXCXTempSend=new WxXCXTempSend();
                        try {
                            WxUtil.sendLongTimeTemplate(op,wxXCXTempSend.getAccessToken("wx118de8a734d269f0"),"活动开始提醒","您参加的活动已开始","packageC/pages/activity/communityActivityDetails/communityActivityDetails?id="+activityId);
                            WxUtil.sendLongTimeTemplate(op,maService.getAccessToken(),"活动开始提醒","您参加的活动已开始","packageC/pages/activity/communityActivityDetails/communityActivityDetails?id="+activityId);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
@@ -838,6 +851,8 @@
                }
            });
        }
        int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
        log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
        // 修改进行状态 变为进行中或者已结束
        List<Long> ids = comActActivityDAO.getActivityEndIds();
        if(!CollectionUtils.isEmpty(ids)){
@@ -849,7 +864,7 @@
                    openIds.forEach(op->{
                        WxXCXTempSend wxXCXTempSend=new WxXCXTempSend();
                        try {
                            WxUtil.sendLongTimeTemplate(op,wxXCXTempSend.getAccessToken("wx118de8a734d269f0"),"活动结束提醒","您参加的活动已结束","packageC/pages/activity/communityActivityDetails/communityActivityDetails?id="+id);
                            WxUtil.sendLongTimeTemplate(op,maService.getAccessToken(),"活动结束提醒","您参加的活动已结束","packageC/pages/activity/communityActivityDetails/communityActivityDetails?id="+id);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
@@ -882,6 +897,15 @@
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        Long communityId = comActActivityVO.getCommunityId();
        if (null != communityId){
            List<Long> communityIds = comActDAO.selectIds(communityId);
            if (CollUtil.isEmpty(communityIds)) {
                communityIds = new ArrayList<>();
                communityIds.add(communityId);
            }
            comActActivityVO.setCommunityIds(communityIds);
        }
        IPage<ComActActivityVO> iPage = comActActivityDAO.pageActivityCommunityBack(page, comActActivityVO);
        iPage.getRecords().forEach(vo ->{
            List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateDAO
@@ -982,9 +1006,9 @@
            .lambda().le(ComActActivityDO::getBeginAt, DateUtils.addDays(new Date(), 1))
            .ge(ComActActivityDO::getBeginAt, new Date()).notIn(ComActActivityDO::getStatus,5,6));
        if (!actActivityList.isEmpty()) {
            WxXCXTempSend util = new WxXCXTempSend();
            WxMaService maService = wxMaConfiguration.getMaService("wx118de8a734d269f0");
            try {
                String accessToken = util.getAccessToken();
                String accessToken = maService.getAccessToken();
                actActivityList.forEach(actActivity -> {
                    ComActDO comActDO=comActDAO.selectById(actActivity.getCommunityId());
                    R<SysTemplateConfigVO> r=userService.selectTemplate(comActDO.getAreaCode(),9);
@@ -1231,8 +1255,14 @@
    @Override
    public R partyMemberCount(Long communityId, String year) {
        PartyActivityStatics partyActivityStatics=this.comActActivityDAO.selectActivityStatics(communityId);
        List<PartyActivityTypeChart> partyActivityTypeChart=this.comActActivityDAO.selectActivityChart(communityId);
        List<Long> communityIds = comActDAO.selectIds(communityId);
        if (CollUtil.isEmpty(communityIds)){
            communityIds = new ArrayList<>();
            communityIds.add(communityId);
        }
        PartyActivityStatics partyActivityStatics=this.comActActivityDAO.selectActivityStatics(communityIds);
        List<PartyActivityTypeChart> partyActivityTypeChart=this.comActActivityDAO.selectActivityChart(communityIds);
        if(partyActivityStatics.getActivityCount()!=null&&partyActivityStatics.getActivityCount()>0){
            if(!CollectionUtils.isEmpty(partyActivityTypeChart)){
                partyActivityTypeChart.forEach(partyActivityTypeChart1 -> {
@@ -1241,7 +1271,7 @@
            }
        }
        partyActivityStatics.setPartyActivityTypeChartList(partyActivityTypeChart);
        partyActivityStatics.setPartyActivityLines(getPoints(communityId,year));
        partyActivityStatics.setPartyActivityLines(getPoints(communityIds,year));
        return R.ok(partyActivityStatics);
    }
@@ -1255,7 +1285,7 @@
        return R.ok(comActActivityDAO.exportPartyMemberDetail(commonPage));
    }
    public List<PartyActivityLine> getPoints(Long communityId,String year){
    public List<PartyActivityLine> getPoints(List<Long> communityIds,String year){
        List<PartyActivityLine> partyActivityLines=new ArrayList<>();
        for(int i=1;i<=12;i++){
            String x="";
@@ -1267,7 +1297,7 @@
            }
            PartyActivityLine partyActivityLine=new PartyActivityLine();
            partyActivityLine.setX(i+"月");
            Integer y=this.comActActivityDAO.selectActivityLine(communityId,year,x);
            Integer y=this.comActActivityDAO.selectActivityLine(communityIds,year,x);
            partyActivityLine.setY(y);
            partyActivityLines.add(partyActivityLine);
        }