|
@ -21,19 +21,21 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|
|
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|
|
|
|
|
import com.elink.esua.epdc.commons.tools.constant.NumConstant; |
|
|
import com.elink.esua.epdc.commons.tools.exception.RenException; |
|
|
import com.elink.esua.epdc.commons.tools.exception.RenException; |
|
|
import com.elink.esua.epdc.commons.tools.page.PageData; |
|
|
import com.elink.esua.epdc.commons.tools.page.PageData; |
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; |
|
|
import com.elink.esua.epdc.dto.UserDTO; |
|
|
import com.elink.esua.epdc.dto.UserDTO; |
|
|
import com.elink.esua.epdc.smile.dto.activity.ActivityParticipantDTO; |
|
|
|
|
|
import com.elink.esua.epdc.smile.dto.activity.form.ActivityParticipantFormDTO; |
|
|
|
|
|
import com.elink.esua.epdc.modules.smile.activity.dao.ActivityInfoDao; |
|
|
import com.elink.esua.epdc.modules.smile.activity.dao.ActivityInfoDao; |
|
|
import com.elink.esua.epdc.modules.smile.activity.dao.ActivityParticipantDao; |
|
|
import com.elink.esua.epdc.modules.smile.activity.dao.ActivityParticipantDao; |
|
|
|
|
|
import com.elink.esua.epdc.modules.smile.activity.entity.ActivityInfoEntity; |
|
|
import com.elink.esua.epdc.modules.smile.activity.entity.ActivityParticipantEntity; |
|
|
import com.elink.esua.epdc.modules.smile.activity.entity.ActivityParticipantEntity; |
|
|
import com.elink.esua.epdc.modules.smile.activity.redis.ActivityParticipantRedis; |
|
|
import com.elink.esua.epdc.modules.smile.activity.redis.ActivityParticipantRedis; |
|
|
import com.elink.esua.epdc.modules.smile.activity.service.ActivityParticipantService; |
|
|
import com.elink.esua.epdc.modules.smile.activity.service.ActivityParticipantService; |
|
|
import com.elink.esua.epdc.modules.smile.feign.UserFeignClient; |
|
|
import com.elink.esua.epdc.modules.smile.feign.UserFeignClient; |
|
|
|
|
|
import com.elink.esua.epdc.smile.dto.activity.ActivityParticipantDTO; |
|
|
|
|
|
import com.elink.esua.epdc.smile.dto.activity.form.ActivityParticipantFormDTO; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
@ -101,8 +103,17 @@ public class ActivityParticipantServiceImpl extends BaseServiceImpl<ActivityPart |
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void signUp(ActivityParticipantFormDTO dto) { |
|
|
public void signUp(ActivityParticipantFormDTO dto) { |
|
|
|
|
|
ActivityInfoEntity activityInfoEntity = activityInfoDao.activityDetailState(dto); |
|
|
|
|
|
// 先判断活动是否还是在正常时间内
|
|
|
|
|
|
if (activityInfoEntity == null) { |
|
|
|
|
|
throw new RenException("活动报名已经截止"); |
|
|
|
|
|
} else if (NumConstant.ONE_STR.equals(activityInfoEntity.getActQuotaFlag()) && activityInfoEntity.getSignUpNum() >= activityInfoEntity.getActQuota()) { |
|
|
|
|
|
// 活动为限制报名人数,并且已报名人数大于等于活动名额
|
|
|
|
|
|
throw new RenException("活动名额已满"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
ActivityParticipantEntity user = baseDao.selectParticipant(dto.getActId(), dto.getUserId()); |
|
|
ActivityParticipantEntity user = baseDao.selectParticipant(dto.getActId(), dto.getUserId()); |
|
|
// 先判断用户是否已报名,已报名则直接正常返回。
|
|
|
// 判断用户是否已报名,已报名则直接正常返回。
|
|
|
if (user != null) { |
|
|
if (user != null) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|