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

Commit 24ea35ae authored by jiangxiulong's avatar jiangxiulong

抽奖列表

parent 81a1765f
...@@ -22,7 +22,7 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra ...@@ -22,7 +22,7 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra
ResponseDto<IntegralActivityPrizeApiVo> create(String integralActivityId); ResponseDto<IntegralActivityPrizeApiVo> create(String integralActivityId);
ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(Integer type, String integralActivityId, Integer pageNum); ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(String integralActivityId, Integer pageNum);
ResponseDto<List<IntegralActivityDrawVo>> winPrizeUser(String integralActivityId); ResponseDto<List<IntegralActivityDrawVo>> winPrizeUser(String integralActivityId);
......
...@@ -46,16 +46,14 @@ public class SweetIntegralActivityDrawController { ...@@ -46,16 +46,14 @@ public class SweetIntegralActivityDrawController {
@GetMapping("drawList") @GetMapping("drawList")
@ApiOperation("用户(中奖、抽奖)记录列表") @ApiOperation("用户(中奖、抽奖)记录列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "1中奖记录 2抽奖记录", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "integralActivityId", value = "活动id", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "integralActivityId", value = "活动id", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "pageNum", value = "分页", required = true) @ApiImplicitParam(type = "query", dataType = "Integer", name = "pageNum", value = "分页", required = true)
}) })
public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList( public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(
@RequestParam("type") Integer type,
@RequestParam("integralActivityId") String integralActivityId, @RequestParam("integralActivityId") String integralActivityId,
@RequestParam("pageNum") Integer pageNum @RequestParam("pageNum") Integer pageNum
) { ) {
return activityDrawService.drawList(type, integralActivityId, pageNum); return activityDrawService.drawList(integralActivityId, pageNum);
} }
@GetMapping("winPrizeUser") @GetMapping("winPrizeUser")
......
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.config.RedisSweetConfig;
import com.liquidnet.commons.lang.util.CollectionUtil; 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.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
...@@ -222,32 +223,26 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg ...@@ -222,32 +223,26 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
} }
@Override @Override
public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(Integer type, String integralActivityId, Integer pageNum) { public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(String integralActivityId, Integer pageNum) {
Integer pageSize = 20; Integer pageSize = 20;
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
PagedResult<IntegralActivityDrawVo> sweetIntegralActivityDrawPagedResult = SweetNewObjectUtil.getSweetIntegralActivityDrawVoPagedResult(); PagedResult<IntegralActivityDrawVo> sweetIntegralActivityDrawPagedResult = SweetNewObjectUtil.getSweetIntegralActivityDrawVoPagedResult();
long count = 0;
//条件 //条件
Query query = Query.query( Query query = Query.query(
Criteria.where("integralActivityId").is(integralActivityId).and("userId").is(currentUid) Criteria.where("integralActivityId").is(integralActivityId).and("userId").is(currentUid)
); );
if (type == 1) {
query.addCriteria(Criteria.where("prizeType").ne(1)); LinkedList<IntegralActivityDrawVo> integralActivityDrawList = redisDataUtils.getIntegralActivityDrawList(currentUid, integralActivityId);
} else { if (null == integralActivityDrawList || pageNum > 1) {
query.addCriteria(Criteria.where("prizeType").is(1));
}
if (pageNum <= 1) {
LinkedList<IntegralActivityDrawVo> integralActivityDrawList = redisDataUtils.getIntegralActivityDrawList(type, currentUid, integralActivityId);
count = mongoTemplate.count(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName());
sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawList).setTotal(count, pageSize).setPageSize(pageSize).setCurrentPage(pageNum);
} else {// page大于1 去mongo里面取
HashMap<String, Object> info = CollectionUtil.mapStringObject();
// 排序 分页 // 排序 分页
Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")); Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt"));
count = mongoTemplate.count(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName()); long count = mongoTemplate.count(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName());
query.with(pageable); query.with(pageable);
List<IntegralActivityDrawVo> integralActivityDrawVos = mongoTemplate.find(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName()); List<IntegralActivityDrawVo> integralActivityDrawVos = mongoTemplate.find(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName());
sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawVos).setTotal(count, pageSize).setPageSize(pageSize).setCurrentPage(pageNum); sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawVos).setTotal(count, pageSize).setPageSize(pageSize).setCurrentPage(pageNum);
if (null == integralActivityDrawList) {
redisDataUtils.setIntegralActivityDrawList(currentUid, integralActivityId, integralActivityDrawVos);
}
} }
return ResponseDto.success(sweetIntegralActivityDrawPagedResult); return ResponseDto.success(sweetIntegralActivityDrawPagedResult);
} }
...@@ -299,35 +294,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg ...@@ -299,35 +294,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
.append("updatedAt", DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime))) .append("updatedAt", DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime)))
); );
LinkedList<IntegralActivityDrawVo> integralActivityDrawList = redisDataUtils.getIntegralActivityDrawList(1, drawVo.getUserId(), drawVo.getIntegralActivityId()); redisDataUtils.delIntegralActivityDrawList(drawVo.getUserId(), drawVo.getIntegralActivityId());
for (IntegralActivityDrawVo info : integralActivityDrawList) {
if (info.getDrawId().equals(drawId)) {
info.setReceivingAddressesId(receivingAddressesId);
info.setReceivingName(receivingName);
info.setReceivingPhone(receivingPhone);
info.setReceivingProvince(receivingProvince);
info.setReceivingCity(receivingCity);
info.setReceivingCounty(receivingCounty);
info.setReceivingAddress(receivingAddress);
info.setUpdatedAt(nowTime);
}
}
redisDataUtils.setIntegralActivityDrawInList(drawVo.getUserId(), drawVo.getIntegralActivityId(), integralActivityDrawList);
LinkedList<IntegralActivityDrawVo> integralActivityDrawList2 = redisDataUtils.getIntegralActivityDrawList(2, drawVo.getUserId(), drawVo.getIntegralActivityId());
for (IntegralActivityDrawVo info : integralActivityDrawList2) {
if (info.getDrawId().equals(drawId)) {
info.setReceivingAddressesId(receivingAddressesId);
info.setReceivingName(receivingName);
info.setReceivingPhone(receivingPhone);
info.setReceivingProvince(receivingProvince);
info.setReceivingCity(receivingCity);
info.setReceivingCounty(receivingCounty);
info.setReceivingAddress(receivingAddress);
info.setUpdatedAt(nowTime);
}
}
redisDataUtils.setIntegralActivityDrawList(drawVo.getUserId(), drawVo.getIntegralActivityId(), integralActivityDrawList2);
// mysql // mysql
LinkedList<String> sqls = CollectionUtil.linkedListString(); LinkedList<String> sqls = CollectionUtil.linkedListString();
...@@ -362,7 +329,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg ...@@ -362,7 +329,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
sqls.add(SqlMapping.get("stone_candy_mgt_coupon.add_for_member")); sqls.add(SqlMapping.get("stone_candy_mgt_coupon.add_for_member"));
sqlsDataA.add(new Object[]{ sqlsDataA.add(new Object[]{
IDGenerator.nextTimeId2(), couponId, IDGenerator.nextTimeId2(), couponId,
1, mobile, nowTime, "INTEGRAL_ACTIVITY_DRAW_COUPON", nowTime 1, mobile, nowTime, "INTEGRAL_DRAW", nowTime
}); });
queueUtils.sendMsgByRedis(MQConst.StoneQueue.STONE_ORDER_COUPON.getKey(), queueUtils.sendMsgByRedis(MQConst.StoneQueue.STONE_ORDER_COUPON.getKey(),
SqlMapping.gets(sqls, sqlsDataA)); SqlMapping.gets(sqls, sqlsDataA));
......
...@@ -430,6 +430,7 @@ public class RedisDataUtils { ...@@ -430,6 +430,7 @@ public class RedisDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ANSWER_PHONE.concat(sweetAnswerVo.getPhone()); String redisKey = SweetConstant.REDIS_KEY_SWEET_ANSWER_PHONE.concat(sweetAnswerVo.getPhone());
redisUtil.set(redisKey, sweetAnswerVo); redisUtil.set(redisKey, sweetAnswerVo);
} }
//草莓音乐节活动海报相关 //草莓音乐节活动海报相关
public void setSweetMusician(SweetStrawberryParam sweetStrawberry) { public void setSweetMusician(SweetStrawberryParam sweetStrawberry) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_STRAWBERRY_POSTER.concat(sweetStrawberry.getUnionId()); String redisKey = SweetConstant.REDIS_KEY_SWEET_STRAWBERRY_POSTER.concat(sweetStrawberry.getUnionId());
...@@ -533,52 +534,11 @@ public class RedisDataUtils { ...@@ -533,52 +534,11 @@ public class RedisDataUtils {
} }
public void setIntegralActivityDraw(IntegralActivityDrawVo integralActivityDrawVo) { public void setIntegralActivityDraw(IntegralActivityDrawVo integralActivityDrawVo) {
int redisListSizeUser = 20;
int redisListSizeAll = 35;
Integer prizeType = integralActivityDrawVo.getPrizeType();
String userId = integralActivityDrawVo.getUserId(); String userId = integralActivityDrawVo.getUserId();
String integralActivityId = integralActivityDrawVo.getIntegralActivityId(); String integralActivityId = integralActivityDrawVo.getIntegralActivityId();
if (prizeType > 1) {// 写入中奖列表 1是谢谢惠顾
String redisKeyIn = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER this.delIntegralActivityDrawList(userId, integralActivityId);
.concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(userId);
LinkedList<IntegralActivityDrawVo> activityDrawArrayListIn = this.getIntegralActivityDrawList(1, userId, integralActivityId);
// 先获取set到redisListSize条
if (!CollectionUtil.isEmpty(activityDrawArrayListIn)) {
if (activityDrawArrayListIn.size() >= redisListSizeUser) {
activityDrawArrayListIn.remove(0);
}
}
activityDrawArrayListIn.addFirst(integralActivityDrawVo);
redisUtil.set(redisKeyIn, activityDrawArrayListIn);
// all用户中奖列表
String redisKeyAll = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_ALL_LIST
.concat(integralActivityId);
LinkedList<IntegralActivityDrawVo> integralActivityDrawAll = this.getIntegralActivityDrawAll(integralActivityId);
if (!CollectionUtil.isEmpty(integralActivityDrawAll)) {
if (integralActivityDrawAll.size() >= redisListSizeAll) {
integralActivityDrawAll.remove(0);
}
}
integralActivityDrawAll.addFirst(integralActivityDrawVo);
redisUtil.set(redisKeyAll, integralActivityDrawAll);
}
// 是否中奖都写入抽奖列表
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER
.concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(userId);
LinkedList<IntegralActivityDrawVo> activityDrawArrayList = this.getIntegralActivityDrawList(2, userId, integralActivityId);
// 先获取set到redisListSizeUser条
if (!CollectionUtil.isEmpty(activityDrawArrayList)) {
if (activityDrawArrayList.size() >= redisListSizeUser) {
activityDrawArrayList.remove(0);
}
}
activityDrawArrayList.addFirst(integralActivityDrawVo);
redisUtil.set(redisKey, activityDrawArrayList);
// 抽奖详情 // 抽奖详情
String redisKeyDraw = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO String redisKeyDraw = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO
.concat(integralActivityDrawVo.getDrawId()); .concat(integralActivityDrawVo.getDrawId());
...@@ -598,41 +558,31 @@ public class RedisDataUtils { ...@@ -598,41 +558,31 @@ public class RedisDataUtils {
} }
} }
public LinkedList<IntegralActivityDrawVo> getIntegralActivityDrawList(Integer type, String uid, String integralActivityId) { public LinkedList<IntegralActivityDrawVo> getIntegralActivityDrawList(String uid, String integralActivityId) {
String redisKey = ""; String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
if (type == 1) { // 中奖列表 .concat(integralActivityId)
redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER .concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(integralActivityId) .concat(uid);
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid);
} else {
redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER
.concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid);
}
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (null == obj) { if (null == obj) {
return SweetNewObjectUtil.getSweetIntegralActivityDrawVoLinkedList(); return null;
} else { } else {
return (LinkedList<IntegralActivityDrawVo>) obj; return (LinkedList<IntegralActivityDrawVo>) obj;
} }
} }
public void setIntegralActivityDrawList(String uid, String integralActivityId, List<IntegralActivityDrawVo> integralActivityDrawVos) {
public void setIntegralActivityDrawInList(String uid, String integralActivityId, LinkedList<IntegralActivityDrawVo> integralActivityDrawList) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId) .concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY) .concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid); .concat(uid);
redisUtil.set(redisKey, integralActivityDrawList); redisUtil.set(redisKey, integralActivityDrawVos);
} }
public void delIntegralActivityDrawList(String uid, String integralActivityId) {
public void setIntegralActivityDrawList(String uid, String integralActivityId, LinkedList<IntegralActivityDrawVo> integralActivityDrawList) { String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER
.concat(integralActivityId) .concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY) .concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid); .concat(uid);
redisUtil.set(redisKey, integralActivityDrawList); redisUtil.del(redisKey);
} }
public int getIntegralActivityPrizeNum(String integralActivityId, String prizeId) { public int getIntegralActivityPrizeNum(String integralActivityId, String prizeId) {
...@@ -675,6 +625,7 @@ public class RedisDataUtils { ...@@ -675,6 +625,7 @@ public class RedisDataUtils {
return (int) obj; return (int) obj;
} }
} }
public long decrIntegralActivityTotalPrizeNum(String integralActivityId) { public long decrIntegralActivityTotalPrizeNum(String integralActivityId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_TOTAL_PRIZE_NUM String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_TOTAL_PRIZE_NUM
.concat(integralActivityId); .concat(integralActivityId);
...@@ -746,6 +697,7 @@ public class RedisDataUtils { ...@@ -746,6 +697,7 @@ public class RedisDataUtils {
/** /**
* 设置临时banner * 设置临时banner
*
* @param type * @param type
* @param vo * @param vo
*/ */
...@@ -756,16 +708,17 @@ public class RedisDataUtils { ...@@ -756,16 +708,17 @@ public class RedisDataUtils {
/** /**
* 获取临时banner * 获取临时banner
*
* @param type * @param type
* @return * @return
*/ */
public List<TempBannerVo> getTempBanner(Integer type) { public List<TempBannerVo> getTempBanner(Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_BANNER.concat(":type:" + type); String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_BANNER.concat(":type:" + type);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if(obj==null){ if (obj == null) {
return null; return null;
}else{ } else {
return (List<TempBannerVo>)obj; return (List<TempBannerVo>) obj;
} }
} }
...@@ -779,6 +732,7 @@ public class RedisDataUtils { ...@@ -779,6 +732,7 @@ public class RedisDataUtils {
return (int) obj; return (int) obj;
} }
} }
public void decrIntegralActivityEstimatedNum(String integralActivityId, Integer num) { public void decrIntegralActivityEstimatedNum(String integralActivityId, Integer num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_ESTIMATEDNUM String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_ESTIMATEDNUM
.concat(integralActivityId); .concat(integralActivityId);
......
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