Commit f8fd8738 by 阳浪

活动管理优化

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