package com.ks.lucky.service.impl;
|
|
import com.ks.lucky.exception.LuckyActivityAwardException;
|
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.LuckyActivityAwards;
|
import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord;
|
import com.ks.lucky.query.ActivityAwardQuery;
|
import com.ks.lucky.query.ActivityJoinRecordQuery;
|
import org.springframework.stereotype.Component;
|
import org.springframework.validation.annotation.Validated;
|
import org.yeshi.utils.StringUtil;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 活动奖项管理
|
*/
|
@Component
|
public class LuckyActivityJoinManager {
|
|
@Resource
|
private LuckyActivityJoinRecordMapper luckyActivityJoinRecordMapper;
|
|
|
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;
|
List<LuckyActivityJoinRecord> list = luckyActivityJoinRecordMapper.list(query);
|
if (list != null && list.size() > 0)
|
return list.get(0);
|
return null;
|
}
|
|
/**
|
* 获取参与数据
|
* @param activityId
|
* @return
|
*/
|
public Map<String, Integer> getJoinData(Long activityId) {
|
Map<String, Integer> map = new HashMap<>();
|
ActivityJoinRecordQuery query = new ActivityJoinRecordQuery();
|
query.activityId = activityId;
|
long count = luckyActivityJoinRecordMapper.count(query);
|
int pageSize = 200;
|
int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
for (int i = 0; i < page; i++) {
|
query.start = i * pageSize;
|
query.count = query.start + pageSize > count ? (int) (count - query.start) : pageSize;
|
List<LuckyActivityJoinRecord> list = luckyActivityJoinRecordMapper.list(query);
|
if (list != null) {
|
for (LuckyActivityJoinRecord record : list) {
|
//APPID与用户ID采用#链接
|
map.put(record.getAppId() + "#" + record.getUid(), record.getWeight());
|
}
|
}
|
}
|
return map;
|
}
|
|
|
|
}
|