| | |
| | | import com.ks.lucky.service.impl.LuckyActivityManager; |
| | | import org.apache.dubbo.config.annotation.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.validation.annotation.Validated; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | |
| | | |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Validated |
| | | @Override |
| | | public void join(Long activityId, String appKey, String uid, JoinInfo joinInfo) throws LuckyActivityException, LuckyActivityJoinException { |
| | | public void join(Long activityId, String appKey, String uid, Integer weight, JoinInfo joinInfo) throws LuckyActivityException, LuckyActivityJoinException { |
| | | luckyActivityManager.canJoin(activityId); |
| | | Long appId = appManager.getAppId(appKey); |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record != null) { |
| | | throw new LuckyActivityJoinException(1, "已经参加"); |
| | | } |
| | | |
| | | if (weight == null) { |
| | | weight = 1; |
| | | } |
| | | |
| | | record = new LuckyActivityJoinRecord(); |
| | | record.setActivityId(activityId); |
| | | record.setAppId(appId); |
| | |
| | | record.setJoinInfo(joinInfo.toString()); |
| | | record.setUid(uid); |
| | | record.setUserType(LuckyActivityJoinRecord.USER_TYPE_REAL); |
| | | record.setWeight(1); |
| | | record.setWeight(weight); |
| | | record.setCreateTime(new Date()); |
| | | luckyActivityJoinRecordMapper.insertSelective(record); |
| | | luckyActivityManager.addJoinCount(activityId, record.getWeight()); |
| | | luckyActivityManager.addJoinCount(activityId, 1); |
| | | } |
| | | |
| | | @Override |