Commit 826692a1 authored by shiyu's avatar shiyu

排行榜2

parent 922cf26f
...@@ -2,7 +2,8 @@ package com.wwdz.ch.db.dao.qiandao; ...@@ -2,7 +2,8 @@ package com.wwdz.ch.db.dao.qiandao;
import com.wwdz.ch.db.bean.QdUserSignInRecord; import com.wwdz.ch.db.bean.QdUserSignInRecord;
import com.wwdz.ch.db.domain.qiandao.QdSignInRanking; import com.wwdz.ch.db.domain.qiandao.QdSignInRanking;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import java.util.List;
public interface QdSignInRankingDao { public interface QdSignInRankingDao {
...@@ -27,5 +28,8 @@ public interface QdSignInRankingDao { ...@@ -27,5 +28,8 @@ public interface QdSignInRankingDao {
* @param taskId * @param taskId
* @return * @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; package com.wwdz.ch.db.impl.qiandao;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.bean.QdUserSignInRecord; import com.wwdz.ch.db.bean.QdUserSignInRecord;
import com.wwdz.ch.db.dao.qiandao.QdSignInRankingDao; import com.wwdz.ch.db.dao.qiandao.QdSignInRankingDao;
import com.wwdz.ch.db.domain.qiandao.QdSignInRanking; import com.wwdz.ch.db.domain.qiandao.QdSignInRanking;
...@@ -8,6 +9,8 @@ import com.wwdz.ch.db.mapper.qiandao.QdSignInRankingMapper; ...@@ -8,6 +9,8 @@ import com.wwdz.ch.db.mapper.qiandao.QdSignInRankingMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
@Repository @Repository
public class QdSignInRankingDaoImpl implements QdSignInRankingDao { public class QdSignInRankingDaoImpl implements QdSignInRankingDao {
...@@ -46,7 +49,19 @@ public class QdSignInRankingDaoImpl implements QdSignInRankingDao { ...@@ -46,7 +49,19 @@ public class QdSignInRankingDaoImpl implements QdSignInRankingDao {
} }
@Override @Override
public QdUserSignInRecord findRanking(long userId, Long taskId) { public QdUserSignInRecord findRankingByUserId(long userId, Long taskId) {
return qdSignInRankingMapper.findRanking(userId, 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; ...@@ -4,7 +4,6 @@ import com.wwdz.ch.core.consts.qiandao.SignInTaskEnum;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.bean.QdUserSignInRecord; import com.wwdz.ch.db.bean.QdUserSignInRecord;
import com.wwdz.ch.db.dao.qiandao.*; 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.domain.qiandao.*;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto; import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto; import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto;
...@@ -265,7 +264,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -265,7 +264,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
long currentUserTotalDays = qdUserSignInDao.countTotalRecord(userId, taskId); long currentUserTotalDays = qdUserSignInDao.countTotalRecord(userId, taskId);
//当期用户排名 //当期用户排名
int currentUserRanking = 0; int currentUserRanking = 0;
List<QdUserSignInRecord> list = qdUserSignInDao.countGroupByUser(taskId); List<QdSignInRanking> list = qdSignInRankingDao.findRankingByPage(taskId);
List<Map<String, Object>> dataList = new ArrayList<>(); List<Map<String, Object>> dataList = new ArrayList<>();
//为了并列排序 //为了并列排序
for (int i =0; i < list.size(); i++) { for (int i =0; i < list.size(); i++) {
...@@ -275,7 +274,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -275,7 +274,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
chartsListInfo.put("ranking", ranking); chartsListInfo.put("ranking", ranking);
chartsListInfo.put("avatar", qdUser.getAvatar()); chartsListInfo.put("avatar", qdUser.getAvatar());
chartsListInfo.put("userName", qdUser.getNickName()); 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()) { if (userId == list.get(i).getUserId()) {
currentUserRanking = ranking; currentUserRanking = ranking;
} }
...@@ -288,7 +287,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -288,7 +287,7 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
if (currentUserTotalDays == 0) { if (currentUserTotalDays == 0) {
resultMap.put("currentUserRanking", "未打卡"); resultMap.put("currentUserRanking", "未打卡");
} else { } else {
QdUserSignInRecord qdUserSignInRecord = qdSignInRankingDao.findRanking(userId, taskId); QdUserSignInRecord qdUserSignInRecord = qdSignInRankingDao.findRankingByUserId(userId, taskId);
if (qdUserSignInRecord != null) { if (qdUserSignInRecord != null) {
resultMap.put("currentUserRanking", qdUserSignInRecord.getRanking()); 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