admin
2021-01-15 5405154d6979f1b50ce2d881bb164b1acca80b6d
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java
@@ -7,6 +7,7 @@
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;
@@ -15,7 +16,9 @@
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;
@@ -54,7 +57,7 @@
    @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) {
@@ -71,7 +74,7 @@
        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);
@@ -85,6 +88,9 @@
            throw new LuckyActivityJoinException(1, "添加记录出错");
        }
        LoggerUtil.activityLogger.info("参加活动成功", activityId, uid);
        CMQManager.getInstance().publishActivityJoinMsg(ActivityJoinMsgDTO.create(record));
    }
    @Override
@@ -185,10 +191,11 @@
    }
    @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;
@@ -203,6 +210,14 @@
    }
    @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();