|
|
@ -124,40 +124,17 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public Result save(ActInfoDTO dto) { |
|
|
|
|
|
|
|
ActInfoEntity entity = ConvertUtils.sourceToTarget(dto, ActInfoEntity.class); |
|
|
|
insert(entity); |
|
|
|
//保存banner信息
|
|
|
|
ActBannerDTO bannerDto = new ActBannerDTO(); |
|
|
|
bannerDto.setActId(entity.getId()); |
|
|
|
bannerDto.setTitle(dto.getTitle()); |
|
|
|
bannerDto.setBannerImg(dto.getBannerUrl()); |
|
|
|
bannerDto.setBannerType("0"); |
|
|
|
bannerDto.setBannerPosition("0"); |
|
|
|
bannerDto.setUrl(""); |
|
|
|
bannerDto.setStatus(dto.getIsBanner()); |
|
|
|
bannerDto.setStatusTime(new Date()); |
|
|
|
bannerDto.setDeptId(dto.getDeptId()); |
|
|
|
ValidatorUtils.validateEntity(bannerDto, AddGroup.class, DefaultGroup.class); |
|
|
|
actBannerService.save(bannerDto); |
|
|
|
ScheduleJobDTO jobDTO = new ScheduleJobDTO(); |
|
|
|
jobDTO.setBeanName("AutoAuditActUserTask"); |
|
|
|
jobDTO.setParams(entity.getId()); |
|
|
|
jobDTO.setStatus(1); |
|
|
|
String cron = ""; |
|
|
|
Calendar calendar = Calendar.getInstance(); |
|
|
|
calendar.setTime(dto.getActStartTime()); |
|
|
|
int year = calendar.get(Calendar.YEAR); |
|
|
|
int month = calendar.get(Calendar.MONTH) + 1; |
|
|
|
int day = calendar.get(Calendar.DATE); |
|
|
|
int hours = calendar.get(Calendar.HOUR_OF_DAY); |
|
|
|
int minutes = calendar.get(Calendar.MINUTE); |
|
|
|
int second=calendar.get(Calendar.SECOND); |
|
|
|
System.out.println(dto.getActStartTime()); |
|
|
|
if (insert(entity)) { |
|
|
|
if (NumConstant.ONE_STR.equals(dto.getIsBanner())) { |
|
|
|
// 保存到banner
|
|
|
|
this.saveActInfoToBanner(entity.getId(), dto); |
|
|
|
} |
|
|
|
// 创建定时任务(活动开始后将未审核的报名人员自动置为审核通过或不通过)
|
|
|
|
return this.saveActToScheduleJob(entity.getId(), dto.getActStartTime()); |
|
|
|
} |
|
|
|
|
|
|
|
cron = second +" "+ minutes +" "+ hours + " " + day + " " + month + " ? " + year + "-" + year; |
|
|
|
jobDTO.setCronExpression(cron); |
|
|
|
return jobFeignClient.save(jobDTO); |
|
|
|
return new Result().error(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -194,6 +171,7 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
List<ActInfoAppResultDTO> data = baseDao.listItemsByApp(formDto); |
|
|
|
return new Result<List<ActInfoAppResultDTO>>().ok(data); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public Result cancel(ActInfoFormDTO dto) { |
|
|
@ -208,6 +186,9 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
updateEntity.setCancelReason(dto.getCancelReason()); |
|
|
|
updateEntity.setActStatus(ActStateConstant.ACT_INFO_STATUS_UNDERCARRIAGE); |
|
|
|
updateById(updateEntity); |
|
|
|
|
|
|
|
// 下架banner
|
|
|
|
actBannerService.takeOffBannerByActId(dto.getId()); |
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
@ -396,4 +377,60 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
ActBannerEntity bannerEntity = ConvertUtils.sourceToTarget(bannerDto, ActBannerEntity.class); |
|
|
|
actBannerService.updateById(bannerEntity); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* 活动保存到banner |
|
|
|
* |
|
|
|
* @params [entity] |
|
|
|
* @return void |
|
|
|
* @author liuchuang |
|
|
|
* @since 2020/2/6 20:44 |
|
|
|
*/ |
|
|
|
private void saveActInfoToBanner(String actId, ActInfoDTO dto) { |
|
|
|
// banner表处理:banner图限制最多10个,超出10个再发布就把最早顶下去
|
|
|
|
actBannerService.takeOffOtherBanners(); |
|
|
|
|
|
|
|
ActBannerDTO bannerDto = new ActBannerDTO(); |
|
|
|
bannerDto.setActId(actId); |
|
|
|
bannerDto.setTitle(dto.getTitle()); |
|
|
|
bannerDto.setBannerImg(dto.getBannerUrl()); |
|
|
|
bannerDto.setBannerType(NumConstant.ONE_STR); |
|
|
|
bannerDto.setBannerPosition(NumConstant.ONE_STR); |
|
|
|
bannerDto.setUrl(""); |
|
|
|
bannerDto.setStatus(dto.getIsBanner()); |
|
|
|
bannerDto.setStatusTime(new Date()); |
|
|
|
bannerDto.setDeptId(dto.getDeptId()); |
|
|
|
ValidatorUtils.validateEntity(bannerDto, AddGroup.class, DefaultGroup.class); |
|
|
|
actBannerService.save(bannerDto); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* 创建定时任务(活动开始后将未审核的报名人员自动置为审核通过或不通过) |
|
|
|
* |
|
|
|
* @params [actId, actStartTime] |
|
|
|
* @return Result |
|
|
|
* @author liuchuang |
|
|
|
* @since 2020/2/6 21:10 |
|
|
|
*/ |
|
|
|
private Result saveActToScheduleJob(String actId, Date actStartTime) { |
|
|
|
ScheduleJobDTO jobDTO = new ScheduleJobDTO(); |
|
|
|
jobDTO.setBeanName("AutoAuditActUserTask"); |
|
|
|
jobDTO.setParams(actId); |
|
|
|
jobDTO.setStatus(NumConstant.ONE); |
|
|
|
String cron = ""; |
|
|
|
Calendar calendar = Calendar.getInstance(); |
|
|
|
calendar.setTime(actStartTime); |
|
|
|
int year = calendar.get(Calendar.YEAR); |
|
|
|
int month = calendar.get(Calendar.MONTH) + 1; |
|
|
|
int day = calendar.get(Calendar.DATE); |
|
|
|
int hours = calendar.get(Calendar.HOUR_OF_DAY); |
|
|
|
int minutes = calendar.get(Calendar.MINUTE); |
|
|
|
int second=calendar.get(Calendar.SECOND); |
|
|
|
|
|
|
|
cron = second +" "+ minutes +" "+ hours + " " + day + " " + month + " ? " + year + "-" + year; |
|
|
|
jobDTO.setCronExpression(cron); |
|
|
|
return jobFeignClient.save(jobDTO); |
|
|
|
} |
|
|
|
} |
|
|
|