package com.panzhihua.timejob.jobhandler;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Component;
|
import org.springframework.util.ObjectUtils;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.integral.admin.ComActActivityPeopleVO;
|
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
|
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
|
import com.panzhihua.common.service.community.CommunityService;
|
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
|
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;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党建相关
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2021-01-14 16:09
|
**/
|
@Slf4j
|
@Component
|
public class PartyBuildingJobHandler {
|
|
@Resource
|
private PartyBuildingService partyBuildingService;
|
@Resource
|
private UserService userService;
|
@Resource
|
private CommunityService communityService;
|
|
/**
|
* 定时任务刷新党建动态发布状态
|
*
|
* @return 刷新个数
|
* @throws Exception
|
* 出现的异常
|
*/
|
@XxlJob("timedtaskpartybuildingstatusJobHandler")
|
public ReturnT<String> timedtaskpartybuildingstatusJobHandler(String param) throws Exception {
|
log.info("定时任务刷新党建动态发布状态");
|
R r = partyBuildingService.timedTaskPartyBuildingStatus();
|
log.info("执行结果【{}】", r.toString());
|
return ReturnT.SUCCESS;
|
}
|
|
/**
|
* 定时任务取消党建活动
|
*
|
* @return 取消个数
|
* @throws Exception
|
* 出现的异常
|
*/
|
@XxlJob("timedTaskPartyBuildingActivityJobHandler")
|
public ReturnT<String> timedTaskPartyBuildingActivityJobHandler(String param) throws Exception {
|
log.info("定时任务取消党建活动");
|
R r = partyBuildingService.timedTaskPartyBuildingActivity();
|
if (R.isOk(r)) {
|
Object data = r.getData();
|
if (!ObjectUtils.isEmpty(data)) {
|
List<PartyBuildingActivityVO> partyBuildingActivityVOS =
|
JSONArray.parseArray(JSONArray.toJSONString(data), PartyBuildingActivityVO.class);
|
if (!ObjectUtils.isEmpty(partyBuildingActivityVOS)) {
|
partyBuildingActivityVOS.forEach(partyBuildingActivityVO -> {
|
List<Long> userIds = partyBuildingActivityVO.getUserIds();
|
if (!ObjectUtils.isEmpty(userIds)) {
|
userIds.forEach(aLong -> {
|
SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO();
|
sysUserNoticeVO.setUserId(aLong);
|
sysUserNoticeVO.setType(1);
|
sysUserNoticeVO.setBusinessType(2);
|
sysUserNoticeVO.setBusinessTitle(partyBuildingActivityVO.getName());
|
sysUserNoticeVO.setBusinessTime(new Date());
|
sysUserNoticeVO.setBusinessId(partyBuildingActivityVO.getId());
|
sysUserNoticeVO.setStatus(0);
|
sysUserNoticeVO.setTitle("活动因故取消");
|
sysUserNoticeVO.setBusinessContent("报名人数不足活动自动取消");
|
sysUserNoticeVO.setBusinessStatus(1);
|
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("timedTaskPartyBuildingActivityAllJobHandler")
|
public ReturnT<String> timedTaskPartyBuildingActivityAllJobHandler(String param) throws Exception {
|
log.info("定时任务刷新党建活动的各个状态 除取消外");
|
R r = partyBuildingService.timedTaskPartyBuildingActivityAll();
|
if (R.isOk(r)) {
|
// 获取待结束的活动列表
|
List<Long> activityList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), Long.class);
|
if (!activityList.isEmpty()) {
|
log.info("党员活动结束计算积分");
|
activityList.forEach(activityId -> {
|
R r1 = partyBuildingService.getTaskPbActivityPeopleList(activityId);
|
if (R.isOk(r1)) {
|
List<ComActActivityPeopleVO> peopleList =
|
JSONArray.parseArray(JSONArray.toJSONString(r1.getData()), ComActActivityPeopleVO.class);
|
if (!peopleList.isEmpty()) {
|
peopleList.forEach(people -> {
|
communityService.addIntegralTradeAdmin(new AddComActIntegralUserDTO(
|
people.getActivityId(), AddComActIntegralUserDTO.integralType.cydyhd,
|
people.getCommunityId(), people.getUserId()));
|
});
|
}
|
}
|
});
|
}
|
}
|
log.info("执行结果【{}】", r.toString());
|
return ReturnT.SUCCESS;
|
}
|
}
|