Commit f8fd8738 by 阳浪

活动管理优化

parent ce1367ef
...@@ -171,16 +171,16 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -171,16 +171,16 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
@Autowired @Autowired
private PortalManageFeignClients portalManageFeignClients; private PortalManageFeignClients portalManageFeignClients;
@Autowired @Autowired
ResearchClient researchClient; ResearchClient researchClient;
@Autowired @Autowired
private TrainingProjectDetailsImageMapper trainingProjectDetailsImageMapper; private TrainingProjectDetailsImageMapper trainingProjectDetailsImageMapper;
@Autowired @Autowired
private TpClassificationMapper tpClassificationMapper; private TpClassificationMapper tpClassificationMapper;
/** /**
* 业务类型:1活动服务 * 业务类型:1活动服务
*/ */
...@@ -227,27 +227,27 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -227,27 +227,27 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
public TrainingProject save(TrainingProject trainingProject) { public TrainingProject save(TrainingProject trainingProject) {
trainingProject.setId(idGenerator.generate()); trainingProject.setId(idGenerator.generate());
trainingProjectMapper.insert(trainingProject); trainingProjectMapper.insert(trainingProject);
//保存项目图片 //保存项目图片
if (!CollectionUtils.isEmpty(trainingProject.getDetailsImage())) { if (!CollectionUtils.isEmpty(trainingProject.getDetailsImage())) {
TrainingProjectDetailsImage saveImg = new TrainingProjectDetailsImage(); TrainingProjectDetailsImage saveImg = new TrainingProjectDetailsImage();
int sort = 0; int sort = 0;
for(TrainingProjectDetailsImageVO item : trainingProject.getDetailsImage()){ for(TrainingProjectDetailsImageVO item : trainingProject.getDetailsImage()){
item.setId(idGenerator.generate()); item.setId(idGenerator.generate());
item.setTrainingId(trainingProject.getId()); item.setTrainingId(trainingProject.getId());
item.setCreateById(trainingProject.getCreateById()); item.setCreateById(trainingProject.getCreateById());
item.setCreateByName(trainingProject.getCreateByName()); item.setCreateByName(trainingProject.getCreateByName());
item.setCreateTime(trainingProject.getCreateTime()); item.setCreateTime(trainingProject.getCreateTime());
item.setUpdateById(trainingProject.getCreateById()); item.setUpdateById(trainingProject.getCreateById());
item.setUpdateByName(trainingProject.getCreateByName()); item.setUpdateByName(trainingProject.getCreateByName());
item.setUpdateTime(trainingProject.getCreateTime()); item.setUpdateTime(trainingProject.getCreateTime());
item.setSort(++sort); item.setSort(++sort);
BeanUtils.copyProperties(item, saveImg); BeanUtils.copyProperties(item, saveImg);
trainingProjectDetailsImageMapper.insert(saveImg); trainingProjectDetailsImageMapper.insert(saveImg);
} }
} }
return trainingProject; return trainingProject;
} }
...@@ -256,7 +256,7 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -256,7 +256,7 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
TrainingProject old = trainingProjectMapper.selectById(trainingProject.getId()); TrainingProject old = trainingProjectMapper.selectById(trainingProject.getId());
if (old.getStatus().equals(ProjectConstant.PROJECT_STATUS_ENABLE)) { if (old.getStatus().equals(ProjectConstant.PROJECT_STATUS_ENABLE)) {
throw new Exception("只有草稿、下架状态可以被修改"); throw new Exception("只有草稿、下架状态可以被修改");
} }
trainingProjectMapper.updateById(trainingProject); trainingProjectMapper.updateById(trainingProject);
//判断报名开关是否开启;如果关闭;则删除报名配置信息 //判断报名开关是否开启;如果关闭;则删除报名配置信息
Integer enableEnroll = trainingProject.getEnableEnroll(); Integer enableEnroll = trainingProject.getEnableEnroll();
...@@ -271,65 +271,65 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -271,65 +271,65 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
LOGGER.info("删除项目报名结果;1成功;-1失败: projectId = {} , result = {}",trainingProject,result); LOGGER.info("删除项目报名结果;1成功;-1失败: projectId = {} , result = {}",trainingProject,result);
} }
} }
//保存项目图片 //保存项目图片
if (!CollectionUtils.isEmpty(trainingProject.getDetailsImage())) { if (!CollectionUtils.isEmpty(trainingProject.getDetailsImage())) {
TrainingProjectDetailsImage saveImg = new TrainingProjectDetailsImage(); TrainingProjectDetailsImage saveImg = new TrainingProjectDetailsImage();
Integer sort = trainingProjectDetailsImageMapper.selectMaxSort(trainingProject.getId()); Integer sort = trainingProjectDetailsImageMapper.selectMaxSort(trainingProject.getId());
if(sort==null){ if(sort==null){
sort = 1; sort = 1;
}
for(TrainingProjectDetailsImageVO item : trainingProject.getDetailsImage()){
if(item.getId() == null){
item.setId(idGenerator.generate());
item.setTrainingId(trainingProject.getId());
item.setCreateById(trainingProject.getUpdateById());
item.setCreateByName(trainingProject.getUpdateByName());
item.setCreateTime(trainingProject.getUpdateTime());
}
item.setUpdateById(trainingProject.getUpdateById());
item.setUpdateByName(trainingProject.getUpdateByName());
item.setUpdateTime(trainingProject.getUpdateTime());
item.setSort(++sort);
BeanUtils.copyProperties(item, saveImg);
saveImg.setTrainingId(trainingProjectId);
trainingProjectDetailsImageMapper.insert(saveImg);
}
//删除不存在的项目图片
RequestContext context = ContextHolder.get();
List<TrainingProjectDetailsImageVO> oldImgs = trainingProjectDetailsImageMapper.selectTrainingProjectDetailsImage(trainingProject.getId());
if (!CollectionUtils.isEmpty(oldImgs)) {
boolean isDel = true;
for(TrainingProjectDetailsImageVO oldItem : oldImgs){
isDel = true;
for(TrainingProjectDetailsImageVO item : trainingProject.getDetailsImage()){
if(oldItem.getId().equals(item.getId())){
isDel = false;
break;
}
}
if(isDel){
trainingProjectDetailsImageMapper.deleImg(oldItem.getId(), context.getAccountId(), context.getAccountName());
}
}
} }
for(TrainingProjectDetailsImageVO item : trainingProject.getDetailsImage()){
if(item.getId() == null){
item.setId(idGenerator.generate());
item.setTrainingId(trainingProject.getId());
item.setCreateById(trainingProject.getUpdateById());
item.setCreateByName(trainingProject.getUpdateByName());
item.setCreateTime(trainingProject.getUpdateTime());
}
item.setUpdateById(trainingProject.getUpdateById());
item.setUpdateByName(trainingProject.getUpdateByName());
item.setUpdateTime(trainingProject.getUpdateTime());
item.setSort(++sort);
BeanUtils.copyProperties(item, saveImg);
trainingProjectDetailsImageMapper.insert(saveImg);
}
//删除不存在的项目图片
RequestContext context = ContextHolder.get();
List<TrainingProjectDetailsImageVO> oldImgs = trainingProjectDetailsImageMapper.selectTrainingProjectDetailsImage(trainingProject.getId());
if (!CollectionUtils.isEmpty(oldImgs)) {
boolean isDel = true;
for(TrainingProjectDetailsImageVO oldItem : oldImgs){
isDel = true;
for(TrainingProjectDetailsImageVO item : trainingProject.getDetailsImage()){
if(oldItem.getId().equals(item.getId())){
isDel = false;
break;
}
}
if(isDel){
trainingProjectDetailsImageMapper.deleImg(oldItem.getId(), context.getAccountId(), context.getAccountName());
}
}
}
} else { } else {
//删除不存在的项目图片 //删除不存在的项目图片
RequestContext context = ContextHolder.get(); RequestContext context = ContextHolder.get();
List<TrainingProjectDetailsImageVO> oldImgs = trainingProjectDetailsImageMapper.selectTrainingProjectDetailsImage(trainingProject.getId()); List<TrainingProjectDetailsImageVO> oldImgs = trainingProjectDetailsImageMapper.selectTrainingProjectDetailsImage(trainingProject.getId());
if (!CollectionUtils.isEmpty(oldImgs)) { if (!CollectionUtils.isEmpty(oldImgs)) {
for(TrainingProjectDetailsImageVO oldItem : oldImgs){ for(TrainingProjectDetailsImageVO oldItem : oldImgs){
trainingProjectDetailsImageMapper.deleImg(oldItem.getId(), context.getAccountId(), context.getAccountName()); trainingProjectDetailsImageMapper.deleImg(oldItem.getId(), context.getAccountId(), context.getAccountName());
} }
} }
} }
TrainingProject project = trainingProjectMapper.selectById(trainingProject.getId()); TrainingProject project = trainingProjectMapper.selectById(trainingProject.getId());
project.setDetailsImage(trainingProject.getDetailsImage()); project.setDetailsImage(trainingProject.getDetailsImage());
return project; return project;
} }
...@@ -548,8 +548,8 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -548,8 +548,8 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
Page<TrainingProjectListVo> page = new Page<>(paramVo.getPageNo(), paramVo.getPageSize()); Page<TrainingProjectListVo> page = new Page<>(paramVo.getPageNo(), paramVo.getPageSize());
List<TrainingProjectListVo> pageList = new ArrayList<>(); List<TrainingProjectListVo> pageList = new ArrayList<>();
List<com.yizhi.training.application.vo.domain.TrainingProjectVo> list = trainingProjectMapper.apiPageList(visiableTpIds, passEnrollTpIds, paramVo.getNow(), context.getSiteId(), paramVo.getKeyword(),enablePay, List<com.yizhi.training.application.vo.domain.TrainingProjectVo> list = trainingProjectMapper.apiPageList(visiableTpIds, passEnrollTpIds, paramVo.getNow(), context.getSiteId(), paramVo.getKeyword(),enablePay,
paramVo.getBizType(),paramVo.getActivityType(),page); paramVo.getBizType(),paramVo.getActivityType(),page);
List<Long> finishedTpIds = tpStudentProjectRecordMapper.getByAccountId(context.getAccountId()); List<Long> finishedTpIds = tpStudentProjectRecordMapper.getByAccountId(context.getAccountId());
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
...@@ -572,89 +572,89 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -572,89 +572,89 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
vo.setCreateTime(tr.getCreateTime()); vo.setCreateTime(tr.getCreateTime());
vo.setCreatebyName(tr.getCreateByName()); vo.setCreatebyName(tr.getCreateByName());
vo.setActivityName(tr.getActivityCode()); vo.setActivityName(tr.getActivityCode());
/** /**
* 设置活动状态: * 设置活动状态:
* 1、先根据项目的开始和结束时间设置活动状态 * 1、先根据项目的开始和结束时间设置活动状态
*/ */
TrEnrollStatusEnum state = compareTime(tr.getStartTime(), tr.getEndTime()); TrEnrollStatusEnum state = compareTime(tr.getStartTime(), tr.getEndTime());
vo.setActivityStateCode(state.getCode()); vo.setActivityStateCode(state.getCode());
vo.setActivityStateName(state.getValue()); vo.setActivityStateName(state.getValue());
//活动没结束 //活动没结束
if (tr.getBizType().equals(PROJECT_BIZ_TYPE) && state != TrEnrollStatusEnum.ACT_END) { if (tr.getBizType().equals(PROJECT_BIZ_TYPE) && state != TrEnrollStatusEnum.ACT_END) {
//2、活动要报名和签到 //2、活动要报名和签到
if((tr.getEnableEnroll() == 1 && tr.getEnableSign() == 1) || tr.getEnableEnroll() == 1){ if((tr.getEnableEnroll() == 1 && tr.getEnableSign() == 1) || tr.getEnableEnroll() == 1){
//判断学员是否报名了该项目 //判断学员是否报名了该项目
if (CollectionUtils.isEmpty(passEnrollTpIds) || !passEnrollTpIds.contains(tr.getId())) { if (CollectionUtils.isEmpty(passEnrollTpIds) || !passEnrollTpIds.contains(tr.getId())) {
//没有报名:判断活动状态是未报名还是报名,默认待报名 //没有报名:判断活动状态是未报名还是报名,默认待报名
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getValue());
//根据报名开始时间和签到开始时间设置报名活动状态 //根据报名开始时间和签到开始时间设置报名活动状态
Date endTime = tr.getSignStartTime(); Date endTime = tr.getSignStartTime();
if(endTime == null){ if(endTime == null){
endTime = tr.getEnrollEndTime(); endTime = tr.getEnrollEndTime();
} else { } else {
//判断签到开始时间是否和报名的开始时间和结束时间重合,重合取报名结束时间 //判断签到开始时间是否和报名的开始时间和结束时间重合,重合取报名结束时间
Date s = tr.getEnrollStartTime(); Date s = tr.getEnrollStartTime();
Date e = tr.getEnrollEndTime(); Date e = tr.getEnrollEndTime();
if((endTime.after(s) || s.equals(endTime)) && (endTime.before(e) || e.equals(endTime))){ if((endTime.after(s) || s.equals(endTime)) && (endTime.before(e) || e.equals(endTime))){
endTime = e; endTime = e;
} }
} }
state = compareTime(tr.getEnrollStartTime(), endTime); state = compareTime(tr.getEnrollStartTime(), endTime);
if(state == TrEnrollStatusEnum.ACT_RUN){ if(state == TrEnrollStatusEnum.ACT_RUN){
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_ENROLL.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_ENROLL.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_ENROLL.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_ENROLL.getValue());
} else if(state == TrEnrollStatusEnum.ACT_END){ } else if(state == TrEnrollStatusEnum.ACT_END){
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_ENROLL.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_ENROLL.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_ENROLL.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_ENROLL.getValue());
} }
} else { } else {
//查询签到记录 //查询签到记录
List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId()); List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId());
if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) { if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) {
//没有签到:判断活动状态是签到还是未签到,默认待签到 //没有签到:判断活动状态是签到还是未签到,默认待签到
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue());
//根据签到开始时间和签到结束时间设置活动状态 //根据签到开始时间和签到结束时间设置活动状态
state = compareTime(tr.getSignStartTime(), tr.getSignEndTime()); state = compareTime(tr.getSignStartTime(), tr.getSignEndTime());
if(state == TrEnrollStatusEnum.ACT_RUN){ if(state == TrEnrollStatusEnum.ACT_RUN){
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue());
} else if(state == TrEnrollStatusEnum.ACT_END){ } else if(state == TrEnrollStatusEnum.ACT_END){
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue());
} }
} }
} }
} else if(tr.getEnableEnroll() == 0 && tr.getEnableSign() == 1){ } else if(tr.getEnableEnroll() == 0 && tr.getEnableSign() == 1){
//3、活动要签到 //3、活动要签到
//查询签到记录 //查询签到记录
List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId()); List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId());
if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) { if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) {
//没有签到:判断活动状态是签到还是未签到,默认待签到 //没有签到:判断活动状态是签到还是未签到,默认待签到
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue());
//根据签到开始时间和签到结束时间设置活动状态 //根据签到开始时间和签到结束时间设置活动状态
state = compareTime(tr.getSignStartTime(), tr.getSignEndTime()); state = compareTime(tr.getSignStartTime(), tr.getSignEndTime());
if(state == TrEnrollStatusEnum.ACT_RUN){ if(state == TrEnrollStatusEnum.ACT_RUN){
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue());
} else if(state == TrEnrollStatusEnum.ACT_END){ } else if(state == TrEnrollStatusEnum.ACT_END){
vo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode()); vo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode());
vo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue()); vo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue());
} }
} }
} }
} }
pageList.add(vo); pageList.add(vo);
} }
} }
//page.setTotal(trainingProjectMapper.apiPageListCount(visiableTpIds, passEnrollTpIds, paramVo.getNow(), context.getSiteId(), paramVo.getKeyword())); //page.setTotal(trainingProjectMapper.apiPageListCount(visiableTpIds, passEnrollTpIds, paramVo.getNow(), context.getSiteId(), paramVo.getKeyword()));
page.setRecords(pageList); page.setRecords(pageList);
return page; return page;
...@@ -780,17 +780,17 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -780,17 +780,17 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
TrainingProjectDetailVo vo = new TrainingProjectDetailVo(); TrainingProjectDetailVo vo = new TrainingProjectDetailVo();
vo.setContentVo(contentVo); vo.setContentVo(contentVo);
vo.setIntroductionVo(introductionVo); vo.setIntroductionVo(introductionVo);
//获取详情图片 //获取详情图片
List<TrainingProjectDetailsImageVO> detailsImage = trainingProjectMapper.selectTrainingProjectDetailsImage(trainingProjectId); List<TrainingProjectDetailsImageVO> detailsImage = trainingProjectMapper.selectTrainingProjectDetailsImage(trainingProjectId);
introductionVo.setDetailsImage(detailsImage); introductionVo.setDetailsImage(detailsImage);
if (containStatistics) { if (containStatistics) {
TrainingProjectProgressVo progressVo = getProgress(project, accountId, now, context); TrainingProjectProgressVo progressVo = getProgress(project, accountId, now, context);
vo.setProgressVo(progressVo); vo.setProgressVo(progressVo);
} }
addViewRecord(accountId, context, project, now); addViewRecord(accountId, context, project, now);
//获取投票ID和名称 //获取投票ID和名称
TpPlanActivity tpPlanActivity = new TpPlanActivity(); TpPlanActivity tpPlanActivity = new TpPlanActivity();
tpPlanActivity.setDeleted(0); tpPlanActivity.setDeleted(0);
...@@ -799,97 +799,97 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -799,97 +799,97 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
EntityWrapper<TpPlanActivity> wrapper = new EntityWrapper<TpPlanActivity>(tpPlanActivity); EntityWrapper<TpPlanActivity> wrapper = new EntityWrapper<TpPlanActivity>(tpPlanActivity);
List<TpPlanActivity> planActivitys = tpPlanActivityMapper.selectList(wrapper); List<TpPlanActivity> planActivitys = tpPlanActivityMapper.selectList(wrapper);
if (!CollectionUtils.isEmpty(planActivitys)){ if (!CollectionUtils.isEmpty(planActivitys)){
introductionVo.setResearchId(planActivitys.get(0).getRelationId()); introductionVo.setResearchId(planActivitys.get(0).getRelationId());
introductionVo.setResearchName(planActivitys.get(0).getName()); introductionVo.setResearchName(planActivitys.get(0).getName());
}
/**
* 设置活动状态: 1、先根据项目的开始和结束时间设置活动状态
*/
com.yizhi.training.application.vo.domain.TrainingProjectVo tr = trainingProjectMapper.selectTrainingProjectTime(context.getSiteId(), trainingProjectId);
TrEnrollStatusEnum state = compareTime(tr.getStartTime(), tr.getEndTime());
introductionVo.setActivityStateCode(state.getCode());
introductionVo.setActivityStateName(state.getValue());
//活动结束了返回
if (state == TrEnrollStatusEnum.ACT_END) {
return vo;
}
// 2、活动要报名和签到
if (project.getBizType().equals(PROJECT_BIZ_TYPE) && (tr.getEnableEnroll() == 1 && tr.getEnableSign() == 1) || tr.getEnableEnroll() == 1) {
// 报名通过的
List<Long> passEnrollTpIds = tpStudentEnrollPassedMapper.selectTpIds(context.getAccountId());
// 判断学员是否报名了该项目
if (CollectionUtils.isEmpty(passEnrollTpIds) || !passEnrollTpIds.contains(tr.getId())) {
// 没有报名:判断活动状态是未报名还是报名,默认待报名
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getValue());
//根据报名开始时间和签到开始时间设置报名活动状态
Date endTime = tr.getSignStartTime();
if(endTime == null){
endTime = tr.getEnrollEndTime();
} else {
//判断签到开始时间是否和报名的开始时间和结束时间重合,重合取报名结束时间
Date s = tr.getEnrollStartTime();
Date e = tr.getEnrollEndTime();
if((endTime.after(s) || s.equals(endTime)) && (endTime.before(e) || e.equals(endTime))){
endTime = e;
}
}
state = compareTime(tr.getEnrollStartTime(), endTime);
if (state == TrEnrollStatusEnum.ACT_RUN) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_ENROLL.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_ENROLL.getValue());
} else if (state == TrEnrollStatusEnum.ACT_END) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_ENROLL.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_ENROLL.getValue());
}
} else {
// 查询签到记录
List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId());
if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) {
// 没有签到:判断活动状态是签到还是未签到,默认待签到
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue());
// 根据签到开始时间和签到结束时间设置活动状态
state = compareTime(tr.getSignStartTime(), tr.getSignEndTime());
if (state == TrEnrollStatusEnum.ACT_RUN) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue());
} else if (state == TrEnrollStatusEnum.ACT_END) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue());
}
}
}
} else if (project.getBizType().equals(PROJECT_BIZ_TYPE) && tr.getEnableEnroll() == 0 && tr.getEnableSign() == 1) {
// 3、活动要签到
// 查询签到记录
List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId());
if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) {
// 没有签到:判断活动状态是签到还是未签到,默认待签到
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue());
// 根据签到开始时间和签到结束时间设置活动状态
state = compareTime(tr.getSignStartTime(), tr.getSignEndTime());
if (state == TrEnrollStatusEnum.ACT_RUN) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue());
} else if (state == TrEnrollStatusEnum.ACT_END) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue());
}
}
} }
/** Long signTimeId = tpStudentEnrollPassedMapper.selectSignTimeId(project.getId());
* 设置活动状态: 1、先根据项目的开始和结束时间设置活动状态 introductionVo.setSignTimeId(signTimeId);
*/ introductionVo.setSignType(0);
com.yizhi.training.application.vo.domain.TrainingProjectVo tr = trainingProjectMapper.selectTrainingProjectTime(context.getSiteId(), trainingProjectId);
TrEnrollStatusEnum state = compareTime(tr.getStartTime(), tr.getEndTime());
introductionVo.setActivityStateCode(state.getCode());
introductionVo.setActivityStateName(state.getValue());
//活动结束了返回
if (state == TrEnrollStatusEnum.ACT_END) {
return vo;
}
// 2、活动要报名和签到
if (project.getBizType().equals(PROJECT_BIZ_TYPE) && (tr.getEnableEnroll() == 1 && tr.getEnableSign() == 1) || tr.getEnableEnroll() == 1) {
// 报名通过的
List<Long> passEnrollTpIds = tpStudentEnrollPassedMapper.selectTpIds(context.getAccountId());
// 判断学员是否报名了该项目
if (CollectionUtils.isEmpty(passEnrollTpIds) || !passEnrollTpIds.contains(tr.getId())) {
// 没有报名:判断活动状态是未报名还是报名,默认待报名
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_ENROLL.getValue());
//根据报名开始时间和签到开始时间设置报名活动状态
Date endTime = tr.getSignStartTime();
if(endTime == null){
endTime = tr.getEnrollEndTime();
} else {
//判断签到开始时间是否和报名的开始时间和结束时间重合,重合取报名结束时间
Date s = tr.getEnrollStartTime();
Date e = tr.getEnrollEndTime();
if((endTime.after(s) || s.equals(endTime)) && (endTime.before(e) || e.equals(endTime))){
endTime = e;
}
}
state = compareTime(tr.getEnrollStartTime(), endTime);
if (state == TrEnrollStatusEnum.ACT_RUN) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_ENROLL.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_ENROLL.getValue());
} else if (state == TrEnrollStatusEnum.ACT_END) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_ENROLL.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_ENROLL.getValue());
}
} else {
// 查询签到记录
List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId());
if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) {
// 没有签到:判断活动状态是签到还是未签到,默认待签到
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue());
// 根据签到开始时间和签到结束时间设置活动状态
state = compareTime(tr.getSignStartTime(), tr.getSignEndTime());
if (state == TrEnrollStatusEnum.ACT_RUN) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue());
} else if (state == TrEnrollStatusEnum.ACT_END) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue());
}
}
}
} else if (project.getBizType().equals(PROJECT_BIZ_TYPE) && tr.getEnableEnroll() == 0 && tr.getEnableSign() == 1) {
// 3、活动要签到
// 查询签到记录
List<Long> passSignTpIds = tpStudentEnrollPassedMapper.selectSignTpIds(context.getAccountId());
if (CollectionUtils.isEmpty(passSignTpIds) || !passSignTpIds.contains(tr.getId())) {
// 没有签到:判断活动状态是签到还是未签到,默认待签到
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_WAIT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_WAIT_SIGN.getValue());
// 根据签到开始时间和签到结束时间设置活动状态
state = compareTime(tr.getSignStartTime(), tr.getSignEndTime());
if (state == TrEnrollStatusEnum.ACT_RUN) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_SIGN.getValue());
} else if (state == TrEnrollStatusEnum.ACT_END) {
introductionVo.setActivityStateCode(TrEnrollStatusEnum.ACT_NO_SIGN.getCode());
introductionVo.setActivityStateName(TrEnrollStatusEnum.ACT_NO_SIGN.getValue());
}
}
}
Long signTimeId = tpStudentEnrollPassedMapper.selectSignTimeId(project.getId());
introductionVo.setSignTimeId(signTimeId);
introductionVo.setSignType(0);
return vo; return vo;
} }
return null; return null;
...@@ -1133,19 +1133,19 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -1133,19 +1133,19 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
record.setCompanyId(context.getCompanyId()); record.setCompanyId(context.getCompanyId());
record.setOrgId(context.getOrgId()); record.setOrgId(context.getOrgId());
record.setSiteId(context.getSiteId()); record.setSiteId(context.getSiteId());
if (project.getVisibleRange()!=1) { if (project.getVisibleRange()!=1) {
List<Long> relationList = new ArrayList<Long>(); List<Long> relationList = new ArrayList<Long>();
List<TpAuthorizationRange> list = tpAuthorizationRangeService.listByBizId(project.getId()); List<TpAuthorizationRange> list = tpAuthorizationRangeService.listByBizId(project.getId());
list.forEach(e->relationList.add(e.getRelationId())); list.forEach(e->relationList.add(e.getRelationId()));
for(Long relationId:context.getRelationIds()) { for(Long relationId:context.getRelationIds()) {
if (relationList.contains(relationId)) { if (relationList.contains(relationId)) {
tpViewRecordMapper.insert(record); tpViewRecordMapper.insert(record);
break; break;
} }
} }
}else { }else {
tpViewRecordMapper.insert(record); tpViewRecordMapper.insert(record);
} }
} }
}); });
} }
...@@ -1437,7 +1437,7 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -1437,7 +1437,7 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
// }else { // }else {
// count = tpViewRecordMapper.getViewNumRange(tr); // count = tpViewRecordMapper.getViewNumRange(tr);
// } // }
// //
// redisCache.hset(key, item, count + "", 600); // redisCache.hset(key, item, count + "", 600);
return count; return count;
} }
...@@ -1475,7 +1475,7 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -1475,7 +1475,7 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
List<PaidTrainingProjectVO> list = trainingProjectMapper.apiPaidPageList(visiableTpIds, new Date(), qo.getSiteId(), qo.getKeyword(), qo.getOrderField(), qo.getOrder()); List<PaidTrainingProjectVO> list = trainingProjectMapper.apiPaidPageList(visiableTpIds, new Date(), qo.getSiteId(), qo.getKeyword(), qo.getOrderField(), qo.getOrder());
return list; return list;
} }
/** /**
* 比较活动的开始时间和结束时间,返回活动状态 * 比较活动的开始时间和结束时间,返回活动状态
* @param start * @param start
...@@ -1483,60 +1483,60 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe ...@@ -1483,60 +1483,60 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
* @return * @return
*/ */
private TrEnrollStatusEnum compareTime(Date start, Date end) { private TrEnrollStatusEnum compareTime(Date start, Date end) {
Date curDate = new Date(); Date curDate = new Date();
if(end.before(curDate)){ if(end.before(curDate)){
return TrEnrollStatusEnum.ACT_END; return TrEnrollStatusEnum.ACT_END;
} }
if(start.before(curDate) || start.equals(curDate)){ if(start.before(curDate) || start.equals(curDate)){
return TrEnrollStatusEnum.ACT_RUN; return TrEnrollStatusEnum.ACT_RUN;
} }
return TrEnrollStatusEnum.ACT_WAIT_START; return TrEnrollStatusEnum.ACT_WAIT_START;
} }
@Override @Override
public TrainingActivityVO getTrainingActivity(Integer bizType, String startDate, String endDate) { public TrainingActivityVO getTrainingActivity(Integer bizType, String startDate, String endDate) {
RequestContext context = ContextHolder.get(); RequestContext context = ContextHolder.get();
TrainingActivityVO item = new TrainingActivityVO(); TrainingActivityVO item = new TrainingActivityVO();
//目前只需要统计一天,调用以前的方法就行 //目前只需要统计一天,调用以前的方法就行
Date theDay = new Date(); Date theDay = new Date();
Integer count = trainingProjectMapper.apiPageListCount(null, null, theDay, context.getSiteId(), null, bizType); Integer count = trainingProjectMapper.apiPageListCount(null, null, theDay, context.getSiteId(), null, bizType);
if(count > 0){ if(count > 0){
List<String> list = new ArrayList<String>(1); List<String> list = new ArrayList<String>(1);
list.add(DateUtil.toDay(theDay)); list.add(DateUtil.toDay(theDay));
list.add(DateUtil.toDay(DateUtil.addDay(theDay, 1))); list.add(DateUtil.toDay(DateUtil.addDay(theDay, 1)));
list.add(DateUtil.toDay(DateUtil.addDay(theDay, 2))); list.add(DateUtil.toDay(DateUtil.addDay(theDay, 2)));
list.add(DateUtil.toDay(DateUtil.addDay(theDay, 3))); list.add(DateUtil.toDay(DateUtil.addDay(theDay, 3)));
item.setTheDay(list); item.setTheDay(list);
} }
//获取活动栏 //获取活动栏
List<ActivityTypeVo> activityType = trainingProjectMapper.selectActivityType(context.getCompanyId(), context.getSiteId()); List<ActivityTypeVo> activityType = trainingProjectMapper.selectActivityType(context.getCompanyId(), context.getSiteId());
item.setActivityType(activityType); item.setActivityType(activityType);
return item; return item;
} }
@Override @Override
public List<TrainingProjectVo> getTop(Long siteId) { public List<TrainingProjectVo> getTop(Long siteId) {
return trainingProjectMapper.getTop(siteId); return trainingProjectMapper.getTop(siteId);
} }
@Override @Override
public Boolean trainingProjectFinished(Long trainingProjectId, Long siteId, Long accountId) { public Boolean trainingProjectFinished(Long trainingProjectId, Long siteId, Long accountId) {
TpStudentProjectRecord entity = new TpStudentProjectRecord(); TpStudentProjectRecord entity = new TpStudentProjectRecord();
entity.setId(idGenerator.generate()); entity.setId(idGenerator.generate());
entity.setSiteId(siteId); entity.setSiteId(siteId);
entity.setAccountId(accountId); entity.setAccountId(accountId);
entity.setTrainingProjectId(trainingProjectId); entity.setTrainingProjectId(trainingProjectId);
entity.setFinishDate(new Date()); entity.setFinishDate(new Date());
entity.setFinished(1); entity.setFinished(1);
Integer count = tpStudentProjectRecordMapper.insert(entity); Integer count = tpStudentProjectRecordMapper.insert(entity);
return count == 0 ? false : true; return count == 0 ? false : true;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment