package com.ks.lucky.mapper;
|
|
import com.ks.lib.common.dao.BaseMapper;
|
import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord;
|
import com.ks.lucky.pojo.DTO.ActivityJoinerRankInfo;
|
import com.ks.lucky.query.ActivityJoinRecordQuery;
|
import org.apache.ibatis.annotations.Param;
|
|
import java.util.List;
|
|
public interface LuckyActivityJoinRecordMapper extends BaseMapper<LuckyActivityJoinRecord> {
|
|
LuckyActivityJoinRecord selectByPrimaryKeyForUpdate(Long id);
|
|
List<LuckyActivityJoinRecord> list(@Param("query") ActivityJoinRecordQuery query);
|
|
long count(@Param("query") ActivityJoinRecordQuery query);
|
|
void addWeight(@Param("id") Long id, @Param("weight") int weight);
|
|
|
int updateSelectiveWithQuery(LuckyActivityJoinRecord record, ActivityJoinRecordQuery query);
|
|
|
List<LuckyActivityJoinRecord> listWithActivityState(@Param("query") ActivityJoinRecordQuery query, @Param("activityStateList") List<Integer> activityStateList);
|
|
long countWithActivityState(@Param("query") ActivityJoinRecordQuery query, @Param("activityStateList") List<Integer> activityStateList);
|
|
|
/**
|
* 获取参与者的位置
|
*
|
* @param activityId
|
* @param appId
|
* @param uid
|
* @return
|
*/
|
int getJoinerPosition(@Param("activityId") Long activityId, @Param("appId") Long appId, @Param("uid") String uid);
|
|
|
/**
|
* 统计权重
|
*
|
* @param activityId
|
* @return
|
*/
|
Long sumWeight(@Param("activityId") Long activityId);
|
|
|
/**
|
* 排序列表
|
* @param activityId
|
* @param start
|
* @param count
|
* @return
|
*/
|
List<ActivityJoinerRankInfo> listWeightRank(@Param("activityId") Long activityId, @Param("start") long start, @Param("count") int count);
|
|
long countWeightRank(@Param("activityId") Long activityId);
|
|
/**
|
* 获取某个记录的排序
|
*
|
* @param record
|
* @return
|
*/
|
int getWeightRankWithRecord(LuckyActivityJoinRecord record);
|
}
|