Commit 826692a1 authored by shiyu's avatar shiyu

排行榜2

parent 922cf26f
......@@ -2,7 +2,8 @@ package com.wwdz.ch.db.dao.qiandao;
import com.wwdz.ch.db.bean.QdUserSignInRecord;
import com.wwdz.ch.db.domain.qiandao.QdSignInRanking;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import java.util.List;
public interface QdSignInRankingDao {
......@@ -27,5 +28,8 @@ public interface QdSignInRankingDao {
* @param taskId
* @return
*/
QdUserSignInRecord findRanking(long userId, Long taskId);
QdUserSignInRecord findRankingByUserId(long userId, Long taskId);
List<QdSignInRanking> findRankingByPage(Long taskId);
}
package com.wwdz.ch.db.impl.qiandao;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.bean.QdUserSignInRecord;
import com.wwdz.ch.db.dao.qiandao.QdSignInRankingDao;
import com.wwdz.ch.db.domain.qiandao.QdSignInRanking;
......@@ -8,6 +9,8 @@ import com.wwdz.ch.db.mapper.qiandao.QdSignInRankingMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class QdSignInRankingDaoImpl implements QdSignInRankingDao {
......@@ -46,7 +49,19 @@ public class QdSignInRankingDaoImpl implements QdSignInRankingDao {
}
@Override
public QdUserSignInRecord findRanking(long userId, Long taskId) {
public QdUserSignInRecord findRankingByUserId(long userId, Long taskId) {
return qdSignInRankingMapper.findRanking(userId, taskId);
}
@Override
public List<QdSignInRanking> findRankingByPage(Long taskId) {
QdSignInRankingExample example = new QdSignInRankingExample();
QdSignInRankingExample.Criteria criteria = example.createCriteria();
criteria.andTaskIdEqualTo(taskId);
criteria.andIsValidEqualTo(true);
example.setOrderByClause("total_sign_in_days desc, add_task_time asc");
PageHelper.startPage(1, 100);
return qdSignInRankingMapper.selectByExample(example);
}
}
......@@ -4,7 +4,6 @@ import com.wwdz.ch.core.consts.qiandao.SignInTaskEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.bean.QdUserSignInRecord;
import com.wwdz.ch.db.dao.qiandao.*;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.qiandao.*;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto;
......@@ -265,7 +264,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
long currentUserTotalDays = qdUserSignInDao.countTotalRecord(userId, taskId);
//当期用户排名
int currentUserRanking = 0;
List<QdUserSignInRecord> list = qdUserSignInDao.countGroupByUser(taskId);
List<QdSignInRanking> list = qdSignInRankingDao.findRankingByPage(taskId);
List<Map<String, Object>> dataList = new ArrayList<>();
//为了并列排序
for (int i =0; i < list.size(); i++) {
......@@ -275,7 +274,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
chartsListInfo.put("ranking", ranking);
chartsListInfo.put("avatar", qdUser.getAvatar());
chartsListInfo.put("userName", qdUser.getNickName());
chartsListInfo.put("totalDays", list.get(i).getTotalDays());
chartsListInfo.put("totalDays", list.get(i).getTotalSignInDays());
if (userId == list.get(i).getUserId()) {
currentUserRanking = ranking;
}
......@@ -288,7 +287,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
if (currentUserTotalDays == 0) {
resultMap.put("currentUserRanking", "未打卡");
} else {
QdUserSignInRecord qdUserSignInRecord = qdSignInRankingDao.findRanking(userId, taskId);
QdUserSignInRecord qdUserSignInRecord = qdSignInRankingDao.findRankingByUserId(userId, taskId);
if (qdUserSignInRecord != null) {
resultMap.put("currentUserRanking", qdUserSignInRecord.getRanking());
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment