|
|
@ -21,12 +21,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
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.exception.RenException; |
|
|
|
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.IdentityNoUtils; |
|
|
|
import com.elink.esua.epdc.dto.UserDTO; |
|
|
|
import com.elink.esua.epdc.dto.activity.ActivityParticipantDTO; |
|
|
|
import com.elink.esua.epdc.dto.activity.form.ActivityParticipantFormDTO; |
|
|
|
import com.elink.esua.epdc.modules.activity.dao.ActivityInfoDao; |
|
|
|
import com.elink.esua.epdc.modules.activity.dao.ActivityParticipantDao; |
|
|
|
import com.elink.esua.epdc.modules.activity.entity.ActivityParticipantEntity; |
|
|
|
import com.elink.esua.epdc.modules.activity.redis.ActivityParticipantRedis; |
|
|
@ -56,6 +58,9 @@ public class ActivityParticipantServiceImpl extends BaseServiceImpl<ActivityPart |
|
|
|
@Autowired |
|
|
|
private UserFeignClient userFeignClient; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
ActivityInfoDao activityInfoDao; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<ActivityParticipantDTO> page(Map<String, Object> params) { |
|
|
|
IPage<ActivityParticipantEntity> page = getPage(params); |
|
|
@ -96,12 +101,23 @@ public class ActivityParticipantServiceImpl extends BaseServiceImpl<ActivityPart |
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void signUp(ActivityParticipantFormDTO dto) { |
|
|
|
ActivityParticipantEntity user = baseDao.selectParticipant(dto.getActId(), dto.getUserId()); |
|
|
|
// 先判断用户是否已报名,已报名则直接正常返回。
|
|
|
|
if (user != null) { |
|
|
|
return; |
|
|
|
} |
|
|
|
ActivityParticipantEntity entity = ConvertUtils.sourceToTarget(dto, ActivityParticipantEntity.class); |
|
|
|
UserDTO userDto = userFeignClient.getUserInfoById(dto.getUserId()).getData(); |
|
|
|
if (userDto == null) { |
|
|
|
throw new RenException("无法获取用户信息"); |
|
|
|
} |
|
|
|
entity.setPartyFlag(userDto.getPartyFlag()); |
|
|
|
entity.setIdentityNo(userDto.getIdentityNo()); |
|
|
|
entity.setAge(getAge(userDto.getIdentityNo())); |
|
|
|
// 写入报名表
|
|
|
|
insert(entity); |
|
|
|
// 活动表已报名人数字段 同步修改
|
|
|
|
activityInfoDao.signUp(dto.getActId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|