|
|
@ -154,22 +154,33 @@ public class ActSignInRecordServiceImpl extends BaseServiceImpl<ActSignInRecordD |
|
|
|
return; |
|
|
|
} |
|
|
|
GroupActInfoDTO originalActInfo = groupActInfoService.getGroupActInfoDTO(formDTO.getGroupActId()); |
|
|
|
if(null==originalActInfo){ |
|
|
|
throw new RenException(String.format("根据groupActId:%s,查询活动信息为null",formDTO.getGroupActId())); |
|
|
|
} |
|
|
|
//关闭、已取消不能签到
|
|
|
|
if (GroupActConstant.CLOSED.equals(originalActInfo.getStatus())) { |
|
|
|
throw new RenException(EpmetErrorCode.GROUP_ACT_CAN_NOT_CANCEL.getCode(), "活动已关闭,不能签到"); |
|
|
|
} else if (GroupActConstant.CANCELED.equals(originalActInfo.getStatus())) { |
|
|
|
throw new RenException(EpmetErrorCode.GROUP_ACT_CAN_NOT_CANCEL.getCode(), "活动已取消,不能签到"); |
|
|
|
} |
|
|
|
Date nowDate=new Date(); |
|
|
|
long nowTime=nowDate.getTime(); |
|
|
|
long signInStartTime=originalActInfo.getSignInStartTime().getTime(); |
|
|
|
long signInEndTime=originalActInfo.getSignInEndTime().getTime(); |
|
|
|
if (nowTime < signInStartTime) { |
|
|
|
//未到签到时间
|
|
|
|
throw new RenException(EpmetErrorCode.SIGN_IN_TIME_NOT_START.getCode(),EpmetErrorCode.SIGN_IN_TIME_NOT_START.getMsg()); |
|
|
|
} else if (nowTime > signInEndTime) { |
|
|
|
//未签到、已经超过了签到时间
|
|
|
|
throw new RenException(EpmetErrorCode.SIGN_IN_TIME_PASSED.getCode(),EpmetErrorCode.SIGN_IN_TIME_PASSED.getMsg()); |
|
|
|
|
|
|
|
if (null == originalActInfo.getSignInStartTime() || null == originalActInfo.getSignInEndTime()) { |
|
|
|
log.warn("并未设置签到开始、截止时间"); |
|
|
|
throw new RenException(EpmetErrorCode.SIGN_IN_TIME_NOT_START.getCode(), EpmetErrorCode.SIGN_IN_TIME_NOT_START.getMsg()); |
|
|
|
} |
|
|
|
|
|
|
|
if (null != originalActInfo.getSignInStartTime() && null != originalActInfo.getSignInEndTime()) { |
|
|
|
Date nowDate=new Date(); |
|
|
|
long nowTime=nowDate.getTime(); |
|
|
|
long signInStartTime=originalActInfo.getSignInStartTime().getTime(); |
|
|
|
long signInEndTime=originalActInfo.getSignInEndTime().getTime(); |
|
|
|
if (nowTime < signInStartTime) { |
|
|
|
//未到签到时间
|
|
|
|
throw new RenException(EpmetErrorCode.SIGN_IN_TIME_NOT_START.getCode(),EpmetErrorCode.SIGN_IN_TIME_NOT_START.getMsg()); |
|
|
|
} else if (nowTime > signInEndTime) { |
|
|
|
//未签到、已经超过了签到时间
|
|
|
|
throw new RenException(EpmetErrorCode.SIGN_IN_TIME_PASSED.getCode(),EpmetErrorCode.SIGN_IN_TIME_PASSED.getMsg()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//未签到、在签到时间范围内的,可以签到
|
|
|
|