| | |
| | | import com.ks.lucky.mapper.LuckyActivityJoinRecordMapper; |
| | | import com.ks.lucky.pojo.DO.*; |
| | | import com.ks.lucky.pojo.DTO.*; |
| | | import com.ks.lucky.pojo.DTO.mq.ActivityJoinMsgDTO; |
| | | import com.ks.lucky.query.ActivityAwardQuery; |
| | | import com.ks.lucky.query.ActivityJoinRecordQuery; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinService; |
| | |
| | | import com.ks.lucky.service.impl.LuckyActivityManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityOpenInfoManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityUserWeightRecordManager; |
| | | import com.ks.lucky.util.LoggerUtil; |
| | | import com.ks.lucky.util.factory.LuckyActivityUserWeightRecordFactory; |
| | | import com.ks.lucky.util.mq.CMQManager; |
| | | import org.apache.dubbo.config.annotation.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.validation.annotation.Validated; |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Validated |
| | | @Override |
| | | public void join(Long activityId, Long appId, String uid, Integer weight, JoinInfo joinInfo) throws LuckyActivityException, LuckyActivityJoinException { |
| | | public void join(Long activityId, Long appId, String uid, Integer weight, JoinInfo joinInfo, int userType) throws LuckyActivityException, LuckyActivityJoinException { |
| | | luckyActivityManager.canJoin(activityId); |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record != null) { |
| | |
| | | record.setCreateTime(new Date()); |
| | | record.setJoinInfo(joinInfo.toString()); |
| | | record.setUid(uid); |
| | | record.setUserType(LuckyActivityJoinRecord.USER_TYPE_REAL); |
| | | record.setUserType(userType); |
| | | record.setWeight(weight); |
| | | record.setCreateTime(new Date()); |
| | | luckyActivityJoinRecordMapper.insertSelective(record); |
| | |
| | | throw new LuckyActivityJoinException(1, "添加记录出错"); |
| | | } |
| | | |
| | | LoggerUtil.activityLogger.info("参加活动成功", activityId, uid); |
| | | |
| | | CMQManager.getInstance().publishActivityJoinMsg(ActivityJoinMsgDTO.create(record)); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<ActivitySimpleUser> getJoinerList(Long activityId, int page, int count) { |
| | | public List<ActivitySimpleUser> getJoinerList(Long activityId, Integer userType, int page, int count) { |
| | | ActivityJoinRecordQuery query = new ActivityJoinRecordQuery(); |
| | | query.activityId = activityId; |
| | | query.sortList = Arrays.asList(new String[]{"id asc"}); |
| | | query.userType = userType; |
| | | query.count = count; |
| | | query.start = (page - 1) * count; |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public long countJoiner(Long activityId, Integer userType) { |
| | | ActivityJoinRecordQuery query = new ActivityJoinRecordQuery(); |
| | | query.activityId = activityId; |
| | | query.userType = userType; |
| | | return luckyActivityJoinRecordMapper.count(query); |
| | | } |
| | | |
| | | @Override |
| | | public ActivityJoinStatisticInfo getActivityJoinerStatisticInfo(Long activityId, Long appId, String uid) { |
| | | ActivityJoinStatisticInfo info = new ActivityJoinStatisticInfo(); |
| | | ActivityJoinRecordQuery query = new ActivityJoinRecordQuery(); |