CeDo
2021-04-27 7c11b241c3b16bccd1dc9ea62a16d2b5d64dbc4f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.panzhihua.timejob.jobhandler;
 
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ActivitySignVO;
import com.panzhihua.common.model.vos.community.ComActActivityVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
 
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
 
 
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 社区相关
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-14 16:09
 **/
@Slf4j
@Component
public class CommunityJobHandler {
    @Resource
    private CommunityService communityService;
    @Resource
    private UserService userService;
 
    /**
     * 定时任务刷新社区动态置顶状态
     * @return 刷新个数
     * @throws Exception 出现的异常
     */
    @XxlJob("timedTaskDynIstoppingJobHandler")
    public ReturnT<String> timedTaskDynIstoppingJobHandler(String param) throws Exception {
        log.info("定时任务刷新社区动态置顶状态");
        R r=communityService.timedTaskDynIstopping();
        log.info("执行结果【{}】",r.toString());
        return ReturnT.SUCCESS;
    }
 
    /**
     * 定时任务刷新社区动态发布状态
     * @return 刷新个数
     * @throws Exception 出现的异常
     */
    @XxlJob("timedTaskDynStatusJobHandler")
    public ReturnT<String> timedTaskDynStatusJobHandler(String param) throws Exception {
        log.info("定时任务刷新社区动态发布状态");
        R r=communityService.timedTaskDynStatus();
        log.info("执行结果【{}】",r.toString());
        return ReturnT.SUCCESS;
    }
 
    /**
     * 定时任务取消社区活动
     * @return 刷新个数
     * @throws Exception 出现的异常
     */
    @XxlJob("timedTaskActActivityJobHandler")
    public ReturnT<String> timedTaskActActivityJobHandler(String param) throws Exception {
        log.info("定时任务取消社区活动");
        R r=communityService.timedTaskActActivity();
        if (R.isOk(r)) {
            Object data = r.getData();
            if (!ObjectUtils.isEmpty(data)) {
                List<ComActActivityVO> comActActivityVOS= JSONArray.parseArray(JSONArray.toJSONString(data),ComActActivityVO.class);
                if (!ObjectUtils.isEmpty(comActActivityVOS)) {
                    comActActivityVOS.forEach(comActActivityVO -> {
                        List<ActivitySignVO> activitySignVOList = comActActivityVO.getActivitySignVOList();
                        if (!ObjectUtils.isEmpty(activitySignVOList)) {
                            activitySignVOList.forEach(activitySignVO -> {
                                SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO();
                                sysUserNoticeVO.setUserId(activitySignVO.getUserId());
                                sysUserNoticeVO.setType(1);
                                sysUserNoticeVO.setBusinessType(2);
                                sysUserNoticeVO.setBusinessTitle(comActActivityVO.getActivityName());
                                sysUserNoticeVO.setBusinessTime(new Date());
                                sysUserNoticeVO.setBusinessId(comActActivityVO.getId());
                                sysUserNoticeVO.setStatus(0);
                                sysUserNoticeVO.setTitle("活动因故取消");
                                sysUserNoticeVO.setBusinessContent("报名人数不足活动自动取消");
                                sysUserNoticeVO.setBusinessStatus(1);
                                sysUserNoticeVO.setActivityType(activitySignVO.getIsVolunteer().intValue()==1?1:2);
                                R r2 = userService.addNotice(sysUserNoticeVO);
                                if (R.isOk(r2)) {
                                    log.info("新增社区活动取消通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO));
                                }
                            });
                        }
                    });
                }
            }
        }
        log.info("执行结果【{}】",r.toString());
        return ReturnT.SUCCESS;
    }
 
    /**
     * 定时任务刷新社区活动的各个状态 除取消外
     * @return 刷新个数
     * @throws Exception 出现的异常
     */
    @XxlJob("timedTaskActActivityAllJobHandler")
    public ReturnT<String> timedTaskActActivityAllJobHandler(String param) throws Exception {
        log.info("定时任务刷新社区活动的各个状态 除取消外");
        R r=communityService.timedTaskActActivityAll();
        log.info("执行结果【{}】",r.toString());
        return ReturnT.SUCCESS;
    }
 
 
    /**
     * 定时任务刷新社区活动的各个状态 除取消外
     * @return 刷新个数
     * @throws Exception 出现的异常
     */
    @XxlJob("timedTaskActActivityAllJobHandler")
    public ReturnT<String> timedTaskActMicroWishAllJobHandler(String param) throws Exception {
        log.info("定时任务刷新微心愿 待自动确认的状态");
        R r=communityService.timedTaskActMicroWishAll();
        log.info("执行结果【{}】",r.toString());
        return ReturnT.SUCCESS;
    }
}