admin
2020-12-17 d8d576c5220e9d24251b51a59a58271c6e0cb4a4
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java
@@ -1,17 +1,19 @@
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.mapper.LuckyActivityJoinRecordMapper;
import com.ks.lucky.mapper.LuckyActivityMapper;
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.*;
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;
@@ -27,7 +29,7 @@
    private LuckyActivityJoinAssistMapper luckyActivityJoinAssistMapper;
    @Resource
    private AppManager appManager;
    private LuckyActivityUserWeightRecordManager luckyActivityUserWeightRecordManager;
    @Resource
    private LuckyActivityJoinRecordMapper luckyActivityJoinRecordMapper;
@@ -41,7 +43,7 @@
    @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, ActivityJoinAssistEvent eventKey, int weight) throws LuckyActivityException, LuckyActivityJoinAssistException {
        if (uid.equalsIgnoreCase(targetUid)) {
            throw new LuckyActivityJoinAssistException(1, "不能为自己助力");
@@ -57,8 +59,6 @@
        }
        Long appId = appManager.getAppId(appKey);
        LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, targetUid);
        if (record == null) {
@@ -71,6 +71,7 @@
        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);
@@ -84,14 +85,22 @@
        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;
@@ -108,8 +117,7 @@
    }
    @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;
@@ -122,4 +130,32 @@
        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());
    }
}