记得上下班打卡 | git大法好,push需谨慎

Commit a086c714 authored by jiangxiulong's avatar jiangxiulong

page>1 mongo取

parent 3b2588c2
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.PagedResult; import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo; import com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo; import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo; import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo;
...@@ -12,12 +13,16 @@ import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw; ...@@ -12,12 +13,16 @@ import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize; import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize;
import com.liquidnet.service.sweet.mapper.SweetIntegralActivityDrawMapper; import com.liquidnet.service.sweet.mapper.SweetIntegralActivityDrawMapper;
import com.liquidnet.service.sweet.service.ISweetIntegralActivityDrawService; import com.liquidnet.service.sweet.service.ISweetIntegralActivityDrawService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.utils.SweetNewObjectUtil; import com.liquidnet.service.sweet.utils.SweetNewObjectUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -108,15 +113,38 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg ...@@ -108,15 +113,38 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
// mongo // mongo
mongoTemplate.insert(integralActivityDrawVo, IntegralActivityDrawVo.class.getSimpleName()); mongoTemplate.insert(integralActivityDrawVo, IntegralActivityDrawVo.class.getSimpleName());
// TODO: 2021/10/28 mysql 抽奖记录 库存?
return ResponseDto.success(sweetIntegralActivityPrizeVo); return ResponseDto.success(sweetIntegralActivityPrizeVo);
} }
@Override @Override
public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(Integer type, String integralActivityId, Integer pageNum) { public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(Integer type, String integralActivityId, Integer pageNum) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<IntegralActivityDrawVo> integralActivityDrawAll = redisDataUtils.getIntegralActivityDrawList(type, currentUid, integralActivityId, pageNum);
PagedResult<IntegralActivityDrawVo> sweetIntegralActivityDrawPagedResult = SweetNewObjectUtil.getSweetIntegralActivityDrawVoPagedResult(); PagedResult<IntegralActivityDrawVo> sweetIntegralActivityDrawPagedResult = SweetNewObjectUtil.getSweetIntegralActivityDrawVoPagedResult();
sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawAll).setTotal(100, 20).setPageSize(20).setCurrentPage(pageNum); long count = 0;
if (pageNum <= 1) {
List<IntegralActivityDrawVo> integralActivityDrawAll = redisDataUtils.getIntegralActivityDrawList(type, currentUid, integralActivityId, pageNum);
count = integralActivityDrawAll.size();
sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawAll).setTotal(count, 20).setPageSize(20).setCurrentPage(pageNum);
} else {// page大于1 去mongo里面取
HashMap<String, Object> info = CollectionUtil.mapStringObject();
// 排序 分页
Pageable pageable = PageRequest.of(pageNum - 1, 20, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Query query = Query.query(
Criteria.where("integralActivityId").is(integralActivityId).and("userId").is(currentUid)
);
if (type == 1) {
query.addCriteria(Criteria.where("prizeType").ne(1));
} else {
query.addCriteria(Criteria.where("prizeType").is(1));
}
count = mongoTemplate.count(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName());
query.with(pageable);
List<IntegralActivityDrawVo> integralActivityDrawVos = mongoTemplate.find(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName());
sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawVos).setTotal(count, 20).setPageSize(20).setCurrentPage(pageNum);
}
return ResponseDto.success(sweetIntegralActivityDrawPagedResult); return ResponseDto.success(sweetIntegralActivityDrawPagedResult);
} }
......
...@@ -23,6 +23,7 @@ import org.springframework.stereotype.Component; ...@@ -23,6 +23,7 @@ import org.springframework.stereotype.Component;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Component @Component
@Slf4j @Slf4j
...@@ -680,13 +681,15 @@ public class RedisDataUtils { ...@@ -680,13 +681,15 @@ public class RedisDataUtils {
if (null == obj) { if (null == obj) {
return SweetNewObjectUtil.getSweetIntegralActivityDrawVoLinkedList(); return SweetNewObjectUtil.getSweetIntegralActivityDrawVoLinkedList();
} else { } else {
return (LinkedList<IntegralActivityDrawVo>) obj; List<IntegralActivityDrawVo> integralActivityDrawVos = (List<IntegralActivityDrawVo>) obj;
LinkedList<IntegralActivityDrawVo> collect = integralActivityDrawVos.stream().collect(Collectors.toCollection(LinkedList::new));
return collect;
} }
} }
public LinkedList<IntegralActivityDrawVo> getIntegralActivityDrawList(Integer type, String uid, String integralActivityId, Integer pageNum) { public LinkedList<IntegralActivityDrawVo> getIntegralActivityDrawList(Integer type, String uid, String integralActivityId, Integer pageNum) {
String redisKey = ""; String redisKey = "";
if (type == 1) { if (type == 1) { // 中奖列表
redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId) .concat(integralActivityId)
.concat(":userId:") .concat(":userId:")
...@@ -703,7 +706,6 @@ public class RedisDataUtils { ...@@ -703,7 +706,6 @@ public class RedisDataUtils {
} else { } else {
return (LinkedList<IntegralActivityDrawVo>) obj; return (LinkedList<IntegralActivityDrawVo>) obj;
} }
// TODO: 2021/10/27 page大于1 去mongo里面取
} }
public int getIntegralActivityPrizeNum(String integralActivityId, String prizeId) { public int getIntegralActivityPrizeNum(String integralActivityId, String prizeId) {
......
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