admin
2021-01-19 8f1b5245c592cd6dc5eb5a73f9a0ceb2a85f2048
service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityJoinManager.java
@@ -1,13 +1,17 @@
package com.ks.lucky.service.impl;
import com.ks.lucky.exception.LuckyActivityAwardException;
import com.ks.lucky.mapper.LuckyActivityAwardResultMapper;
import com.ks.lucky.mapper.LuckyActivityAwardsMapper;
import com.ks.lucky.mapper.LuckyActivityJoinRecordMapper;
import com.ks.lucky.pojo.DO.LuckyActivityAwardMaterial;
import com.ks.lucky.pojo.DO.LuckyActivityAwardResult;
import com.ks.lucky.pojo.DO.LuckyActivityAwards;
import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord;
import com.ks.lucky.query.ActivityAwardQuery;
import com.ks.lucky.query.ActivityAwardResultQuery;
import com.ks.lucky.query.ActivityJoinRecordQuery;
import com.ks.lucky.remote.service.LuckyActivityAwardService;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.yeshi.utils.StringUtil;
@@ -27,14 +31,17 @@
    @Resource
    private LuckyActivityJoinRecordMapper luckyActivityJoinRecordMapper;
    @Resource
    private LuckyActivityAwardResultMapper luckyActivityAwardResultMapper;
    public LuckyActivityJoinRecord getRecord(Long activityId, Long appId, String uid) {
        ActivityJoinRecordQuery query = new ActivityJoinRecordQuery();
        query.appId = appId;
        query.uid = uid;
        query.activityId = activityId;
        query.start=0;
        query.count=1;
        query.start = 0;
        query.count = 1;
        List<LuckyActivityJoinRecord> list = luckyActivityJoinRecordMapper.list(query);
        if (list != null && list.size() > 0)
            return list.get(0);
@@ -43,6 +50,7 @@
    /**
     * 获取参与数据
     *
     * @param activityId
     * @return
     */
@@ -68,5 +76,61 @@
    }
    /**
     * 设置所有的参与者未中奖
     *
     * @param activityId
     */
    public void setActivityAllJoinerUnDraw(Long activityId) {
        ActivityJoinRecordQuery query = new ActivityJoinRecordQuery();
        query.activityId = activityId;
        LuckyActivityJoinRecord record = new LuckyActivityJoinRecord();
        record.setUpdateTime(new Date());
        record.setDrawState(LuckyActivityJoinRecord.DRAW_STATE_NOT_DRAWN);
        luckyActivityJoinRecordMapper.updateSelectiveWithQuery(record, query);
    }
    /**
     * 设置已经中奖的参与记录为中奖
     *
     * @param activityId
     */
    public void setActivityDrawnJoinerState(Long activityId) {
        //查询中奖记录
        ActivityAwardResultQuery query = new ActivityAwardResultQuery();
        query.activityId = activityId;
        long count = luckyActivityAwardResultMapper.count(query);
        //分页查询
        int pageSize = 200;
        int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
        for (int page = 0; page < totalPage; page++) {
            query.start = page * pageSize;
            query.count = pageSize;
            //查询出中奖记录
            List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.list(query);
            for (LuckyActivityAwardResult result : list) {
                ActivityJoinRecordQuery recordQuery = new ActivityJoinRecordQuery();
                recordQuery.activityId = activityId;
                recordQuery.appId = result.getAppId();
                recordQuery.uid = result.getUid();
                recordQuery.count = 1;
                //查询中奖记录对应的参与记录
                List<LuckyActivityJoinRecord> recordList = luckyActivityJoinRecordMapper.list(recordQuery);
                if (recordList != null && recordList.size() > 0) {
                    LuckyActivityJoinRecord record = new LuckyActivityJoinRecord();
                    record.setId(recordList.get(0).getId());
                    record.setDrawState(LuckyActivityJoinRecord.DRAW_STATE_DRAWN);
                    record.setUpdateTime(new Date());
                    //修改参与记录的状态的已中奖
                    luckyActivityJoinRecordMapper.updateByPrimaryKeySelective(record);
                }
            }
        }
    }
}