| | |
| | | package com.ks.lucky.service.impl.remote; |
| | | |
| | | import com.ks.lib.common.exception.ParamsException; |
| | | import com.ks.lucky.exception.LuckyActivityException; |
| | | import com.ks.lucky.exception.LuckyActivityJoinAssistException; |
| | | import com.ks.lucky.mapper.LuckyActivityJoinAssistMapper; |
| | |
| | | import com.ks.lucky.pojo.DO.LuckyActivity; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityJoinAssist; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityUserWeightRecord; |
| | | import com.ks.lucky.pojo.DTO.ActivityAssistFriend; |
| | | import com.ks.lucky.pojo.DTO.ActivityFriendAssistInfo; |
| | | import com.ks.lucky.query.ActivityJoinAssistQuery; |
| | | import com.ks.lucky.remote.service.LuckyActivityJoinAssistService; |
| | | import com.ks.lucky.service.impl.AppManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityJoinManager; |
| | | import com.ks.lucky.service.impl.LuckyActivityUserWeightRecordManager; |
| | | import com.ks.lucky.util.factory.LuckyActivityUserWeightRecordFactory; |
| | | import org.apache.dubbo.config.annotation.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.validation.annotation.Validated; |
| | |
| | | private LuckyActivityJoinAssistMapper luckyActivityJoinAssistMapper; |
| | | |
| | | @Resource |
| | | private AppManager appManager; |
| | | private LuckyActivityUserWeightRecordManager luckyActivityUserWeightRecordManager; |
| | | |
| | | @Resource |
| | | private LuckyActivityJoinRecordMapper luckyActivityJoinRecordMapper; |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Validated |
| | | @Override |
| | | public void assist(Long activityId, String appKey, String uid, String targetUid) throws LuckyActivityException, LuckyActivityJoinAssistException { |
| | | public void assist(Long activityId, Long appId, String uid, String targetUid, LuckyActivityJoinAssist.ActivityJoinAssistEvent eventKey, int weight) throws LuckyActivityException, LuckyActivityJoinAssistException { |
| | | |
| | | if (uid.equalsIgnoreCase(targetUid)) { |
| | | throw new LuckyActivityJoinAssistException(1, "不能为自己助力"); |
| | |
| | | } |
| | | |
| | | |
| | | Long appId = appManager.getAppId(appKey); |
| | | |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, targetUid); |
| | | |
| | | if (record == null) { |
| | |
| | | query.joinId = record.getId(); |
| | | query.appId = appId; |
| | | query.uid = uid; |
| | | query.eventKey = eventKey; |
| | | query.start = 0; |
| | | query.count = 1; |
| | | List<LuckyActivityJoinAssist> list = luckyActivityJoinAssistMapper.list(query); |
| | |
| | | assist.setCreateTime(new Date()); |
| | | assist.setJoinId(record.getId()); |
| | | assist.setUid(uid); |
| | | assist.setWeight(1); |
| | | assist.setWeight(weight); |
| | | assist.setEventKey(eventKey); |
| | | luckyActivityJoinRecordMapper.addWeight(record.getId(), assist.getWeight()); |
| | | luckyActivityJoinAssistMapper.insertSelective(assist); |
| | | |
| | | |
| | | LuckyActivityUserWeightRecord weightRecord = LuckyActivityUserWeightRecordFactory.createAssist(activityId, appId, uid, eventKey, weight); |
| | | try { |
| | | luckyActivityUserWeightRecordManager.addRecord(weightRecord); |
| | | } catch (ParamsException e) { |
| | | throw new LuckyActivityJoinAssistException(1, "添加记录出错"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<LuckyActivityJoinAssist> getAssistRecordList(Long activityId, String appKey, String uid, int page, int pageSize) { |
| | | Long appId = appManager.getAppId(appKey); |
| | | public List<LuckyActivityJoinAssist> getAssistRecordList(Long activityId, Long appId, String uid, int page, int pageSize) { |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record == null) { |
| | | return null; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public long countAssistRecord(Long activityId, String appKey, String uid) { |
| | | Long appId = appManager.getAppId(appKey); |
| | | public long countAssistRecord(Long activityId, Long appId, String uid) { |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record == null) { |
| | | return 0L; |
| | |
| | | |
| | | return luckyActivityJoinAssistMapper.count(query); |
| | | } |
| | | |
| | | @Override |
| | | public List<ActivityAssistFriend> getAssistFriendsList(Long appId, String targetUid, int page, int pageSize) { |
| | | return luckyActivityJoinAssistMapper.listAssistFriends(appId, targetUid, (page - 1) * pageSize, pageSize); |
| | | } |
| | | |
| | | @Override |
| | | public long countAssistFriends(Long appId, String targetUid) { |
| | | return luckyActivityJoinAssistMapper.countAssistFriends(appId, targetUid); |
| | | } |
| | | |
| | | @Override |
| | | public List<ActivityFriendAssistInfo> getActivityFriendAssistInfoList(Long activityId, Long appId, String uid, int page, int pageSize) { |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record == null) { |
| | | return null; |
| | | } |
| | | return luckyActivityJoinAssistMapper.listActivityFriendAssistInfo(record.getId(), (page - 1) * pageSize, pageSize); |
| | | } |
| | | |
| | | @Override |
| | | public long countyActivityFriendAssistInfo(Long activityId, Long appId, String uid) { |
| | | LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); |
| | | if (record == null) { |
| | | return 0L; |
| | | } |
| | | return luckyActivityJoinAssistMapper.countActivityFriendAssistInfo(record.getId()); |
| | | } |
| | | } |