|
|
@ -20,18 +20,18 @@ package com.epmet.service.impl; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.constant.ActConstant; |
|
|
|
import com.epmet.dao.ActInfoDao; |
|
|
|
import com.epmet.dao.ActUserRelationDao; |
|
|
|
import com.epmet.dao.HeartUserInfoDao; |
|
|
|
import com.epmet.dao.VolunteerInfoDao; |
|
|
|
import com.epmet.dto.ActInfoDTO; |
|
|
|
import com.epmet.dto.form.resi.*; |
|
|
|
import com.epmet.dto.result.resi.*; |
|
|
@ -40,8 +40,6 @@ import com.epmet.entity.ActUserRelationEntity; |
|
|
|
import com.epmet.redis.ActInfoRedis; |
|
|
|
import com.epmet.service.ActInfoService; |
|
|
|
import com.epmet.service.ActUserRelationService; |
|
|
|
import com.epmet.utils.ActUserRelationStatusConstant; |
|
|
|
import com.epmet.utils.ActUserStatusConstant; |
|
|
|
import com.epmet.utils.CaculateDistance; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
@ -228,12 +226,12 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
Date currentTime = new Date(); |
|
|
|
ActInfoEntity actInfoEntity =baseDao.selectById(actId); |
|
|
|
// 活动已取消
|
|
|
|
if (ActUserStatusConstant.CANCELED.equals(actInfoEntity.getActStatus())) { |
|
|
|
return ActUserStatusConstant.CANCELED; |
|
|
|
if (ActConstant.CURRENT_STATUS_USER_CANCELED.equals(actInfoEntity.getActStatus())) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_CANCELED; |
|
|
|
} |
|
|
|
// 活动已经结束
|
|
|
|
if (ActUserStatusConstant.FINISHED.equals(actInfoEntity.getActStatus())) { |
|
|
|
return ActUserStatusConstant.FINISHED; |
|
|
|
if (ActConstant.CURRENT_STATUS_USER_FINISHED.equals(actInfoEntity.getActStatus())) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_FINISHED; |
|
|
|
} |
|
|
|
|
|
|
|
// 查询用户是否报名该活动
|
|
|
@ -267,19 +265,19 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
/*报名结束前*/ |
|
|
|
if (Boolean.FALSE.equals(actInfoEntity.getActQuotaCategory()) || actInfoEntity.getActQuota() > signUpNum) { |
|
|
|
// 我要报名(不限名额或者未报满的)
|
|
|
|
return ActUserStatusConstant.SIGN_UP; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_SIGN_UP; |
|
|
|
} else { |
|
|
|
// 已报满(限制名额且已经报满的)
|
|
|
|
return ActUserStatusConstant.ENOUGH; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_ENOUGH; |
|
|
|
} |
|
|
|
} else if (currentTime.after(actInfoEntity.getSignUpEndTime()) && currentTime.before(actInfoEntity.getActStartTime())) { |
|
|
|
/*报名结束,活动未开始:显示:截止报名*/ |
|
|
|
return ActUserStatusConstant.END_SIGN_UP; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_END_SIGN_UP; |
|
|
|
} else if (currentTime.after(actInfoEntity.getSignInStartTime()) && currentTime.before(actInfoEntity.getSignInEndTime())) { |
|
|
|
// 活动打卡时间段内: 显示:已开始
|
|
|
|
return ActUserStatusConstant.IN_PROGRESS; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_IN_PROGRESS; |
|
|
|
} else { |
|
|
|
return ActUserStatusConstant.FINISHED; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_FINISHED; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -298,58 +296,58 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit |
|
|
|
String actUserStatus = actUserRelationEntity.getStatus(); |
|
|
|
|
|
|
|
// 已确认过积分,直接返回
|
|
|
|
if (ActUserRelationStatusConstant.AGREE.equals(actUserRelationEntity.getRewardFlag()) |
|
|
|
|| ActUserRelationStatusConstant.DENY.equals(actUserRelationEntity.getRewardFlag())) { |
|
|
|
return ActUserStatusConstant.POINTS_CONFIRM; |
|
|
|
if (ActConstant.ACT_USER_STATUS_AGREE.equals(actUserRelationEntity.getRewardFlag()) |
|
|
|
|| ActConstant.ACT_USER_STATUS_DENY.equals(actUserRelationEntity.getRewardFlag())) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_POINTS_CONFIRM; |
|
|
|
} |
|
|
|
|
|
|
|
if (currentTime.after(actInfoEntity.getActEndTime()) && currentTime.before(actInfoEntity.getSignInEndTime())) { |
|
|
|
/*活动结束;打卡未截止*/ |
|
|
|
// (未审核的、审核未通过、取消报名的)- 已结束
|
|
|
|
if (ActUserRelationStatusConstant.AUDITING.equals(actUserStatus) |
|
|
|
|| ActUserRelationStatusConstant.REFUSED.equals(actUserStatus) |
|
|
|
|| ActUserRelationStatusConstant.CANCELD.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.FINISHED; |
|
|
|
if (ActConstant.ACT_USER_STATUS_AUDITING.equals(actUserStatus) |
|
|
|
|| ActConstant.ACT_USER_STATUS_REFUSED.equals(actUserStatus) |
|
|
|
|| ActConstant.ACT_USER_STATUS_CANCELD.equals(actUserStatus)) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_FINISHED; |
|
|
|
} |
|
|
|
} else if (currentTime.after(actInfoEntity.getSignInStartTime()) && currentTime.before(actInfoEntity.getSignInEndTime())) { |
|
|
|
/* 活动打卡时间段内 */ |
|
|
|
|
|
|
|
// (未审核的、审核未通过、取消报名的)- 已开始
|
|
|
|
if (ActUserRelationStatusConstant.AUDITING.equals(actUserStatus) |
|
|
|
|| ActUserRelationStatusConstant.REFUSED.equals(actUserStatus) |
|
|
|
|| ActUserRelationStatusConstant.CANCELD.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.IN_PROGRESS; |
|
|
|
if (ActConstant.ACT_USER_STATUS_AUDITING.equals(actUserStatus) |
|
|
|
|| ActConstant.ACT_USER_STATUS_REFUSED.equals(actUserStatus) |
|
|
|
|| ActConstant.ACT_USER_STATUS_CANCELD.equals(actUserStatus)) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_IN_PROGRESS; |
|
|
|
} |
|
|
|
} else if (currentTime.before(actInfoEntity.getSignUpEndTime())) { |
|
|
|
/* 报名截至时间前 */ |
|
|
|
//(未审核、审核通过的)底部显示按钮 取消报名
|
|
|
|
if (ActUserRelationStatusConstant.AUDITING.equals(actUserStatus) || ActUserRelationStatusConstant.PASSED.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.CANCELD; |
|
|
|
if (ActConstant.ACT_USER_STATUS_AUDITING.equals(actUserStatus) || ActConstant.ACT_USER_STATUS_PASSED.equals(actUserStatus)) { |
|
|
|
return ActConstant.ACT_USER_STATUS_CANCELD; |
|
|
|
} |
|
|
|
// 活动限制名额,且报名人数已满 已报满
|
|
|
|
if (Boolean.FALSE.equals(actInfoEntity.getActQuotaCategory()) && signUpNum >= actInfoEntity.getActQuota()) { |
|
|
|
return ActUserStatusConstant.ENOUGH; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_ENOUGH; |
|
|
|
} |
|
|
|
// (报名审核未通过或者已经取消报名的)可再次报名-我要报名
|
|
|
|
if (ActUserRelationStatusConstant.REFUSED.equals(actUserStatus) || ActUserRelationStatusConstant.CANCELD.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.SIGN_UP; |
|
|
|
if (ActConstant.ACT_USER_STATUS_REFUSED.equals(actUserStatus) || ActConstant.ACT_USER_STATUS_CANCELD.equals(actUserStatus)) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_SIGN_UP; |
|
|
|
} |
|
|
|
} else if (currentTime.after(actInfoEntity.getSignUpEndTime()) && currentTime.before(actInfoEntity.getActStartTime())) { |
|
|
|
/* 报名截止但 活动未开始 */ |
|
|
|
// 已经取消报名的-报名截止
|
|
|
|
if (ActUserRelationStatusConstant.CANCELD.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.END_SIGN_UP; |
|
|
|
if (ActConstant.ACT_USER_STATUS_CANCELD.equals(actUserStatus)) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_END_SIGN_UP; |
|
|
|
} |
|
|
|
// 已报名审核不通过 -报名截止
|
|
|
|
if (ActUserRelationStatusConstant.REFUSED.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.END_SIGN_UP; |
|
|
|
if (ActConstant.ACT_USER_STATUS_REFUSED.equals(actUserStatus)) { |
|
|
|
return ActConstant.CURRENT_STATUS_USER_END_SIGN_UP; |
|
|
|
} |
|
|
|
// 已报名且审核通过、未审核 -取消报名
|
|
|
|
if (ActUserRelationStatusConstant.PASSED.equals(actUserStatus) || ActUserRelationStatusConstant.AUDITING.equals(actUserStatus)) { |
|
|
|
return ActUserStatusConstant.CANCELD; |
|
|
|
if (ActConstant.ACT_USER_STATUS_PASSED.equals(actUserStatus) || ActConstant.ACT_USER_STATUS_AUDITING.equals(actUserStatus)) { |
|
|
|
return ActConstant.ACT_USER_STATUS_CANCELD; |
|
|
|
} |
|
|
|
} |
|
|
|
return ActUserStatusConstant.FINISHED; |
|
|
|
return ActConstant.CURRENT_STATUS_USER_FINISHED; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|