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

Commit 57719310 authored by 张国柄's avatar 张国柄

Merge remote-tracking branch 'origin/jxl_1201_jifenDraw' into jxl_1201_jifenDraw

parents 45269602 2e509a57
......@@ -22,7 +22,7 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra
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);
......
......@@ -103,20 +103,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
);
// 更新缓存
List<SweetIntegralActivityDraw> sweetIntegralActivityDrawInList = sweetIntegralActivityDrawMapper.selectList(
Wrappers.lambdaQuery(SweetIntegralActivityDraw.class)
.eq(SweetIntegralActivityDraw::getIntegralActivityId, sweetIntegralActivityDrawNew.getIntegralActivityId())
.eq(SweetIntegralActivityDraw::getUserId, sweetIntegralActivityDrawNew.getUserId())
.gt(SweetIntegralActivityDraw::getPrizeType, 1)
.orderByDesc(SweetIntegralActivityDraw::getMid)
.last(" limit 20 ")
);
LinkedList<IntegralActivityDrawVo> activityDrawArrayList = SweetNewObjectUtil.getSweetIntegralActivityDrawVoLinkedList();
for (SweetIntegralActivityDraw draw : sweetIntegralActivityDrawInList) {
IntegralActivityDrawVo integralActivityDrawVo = IntegralActivityDrawVo.getNew().copy(draw);
activityDrawArrayList.add(integralActivityDrawVo);
}
sweetRedisAdminUtils.setIntegralActivityDraw(activityDrawArrayList, sweetIntegralActivityDrawNew.getIntegralActivityId(), sweetIntegralActivityDrawNew.getUserId());
sweetRedisAdminUtils.delIntegralActivityDrawList(sweetIntegralActivityDrawNew.getIntegralActivityId(), sweetIntegralActivityDrawNew.getUserId());
sweetRedisAdminUtils.setIntegralActivityDrawInfo(drawId);
......
......@@ -64,12 +64,12 @@ public class SweetRedisAdminUtils {
redisDataSourceUtil.getRedisSweetUtil().set(redisKey, totalPrizeNum);
}
public void setIntegralActivityDraw(LinkedList<IntegralActivityDrawVo> sweetIntegralActivityDraws, String integralActivityId, String userId) {
public void delIntegralActivityDrawList(String uid, String integralActivityId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId)
.concat(":userId:")
.concat(userId);
redisDataSourceUtil.getRedisSweetUtil().set(redisKey, sweetIntegralActivityDraws);
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid);
redisDataSourceUtil.getRedisSweetUtil().del(redisKey);
}
public void setIntegralActivityDrawInfo(String drawId) {
......
......@@ -46,16 +46,14 @@ public class SweetIntegralActivityDrawController {
@GetMapping("drawList")
@ApiOperation("用户(中奖、抽奖)记录列表")
@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 = "Integer", name = "pageNum", value = "分页", required = true)
})
public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(
@RequestParam("type") Integer type,
@RequestParam("integralActivityId") String integralActivityId,
@RequestParam("pageNum") Integer pageNum
) {
return activityDrawService.drawList(type, integralActivityId, pageNum);
return activityDrawService.drawList(integralActivityId, pageNum);
}
@GetMapping("winPrizeUser")
......
package com.liquidnet.service.sweet.service.impl;
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.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
......@@ -222,32 +223,26 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
@Override
public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(Integer type, String integralActivityId, Integer pageNum) {
public ResponseDto<PagedResult<IntegralActivityDrawVo>> drawList(String integralActivityId, Integer pageNum) {
Integer pageSize = 20;
String currentUid = CurrentUtil.getCurrentUid();
PagedResult<IntegralActivityDrawVo> sweetIntegralActivityDrawPagedResult = SweetNewObjectUtil.getSweetIntegralActivityDrawVoPagedResult();
long count = 0;
//条件
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));
}
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();
LinkedList<IntegralActivityDrawVo> integralActivityDrawList = redisDataUtils.getIntegralActivityDrawList(currentUid, integralActivityId);
if (null == integralActivityDrawList || pageNum > 1) {
// 排序 分页
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);
List<IntegralActivityDrawVo> integralActivityDrawVos = mongoTemplate.find(query, IntegralActivityDrawVo.class, IntegralActivityDrawVo.class.getSimpleName());
sweetIntegralActivityDrawPagedResult.setList(integralActivityDrawVos).setTotal(count, pageSize).setPageSize(pageSize).setCurrentPage(pageNum);
if (null == integralActivityDrawList) {
redisDataUtils.setIntegralActivityDrawList(currentUid, integralActivityId, integralActivityDrawVos);
}
}
return ResponseDto.success(sweetIntegralActivityDrawPagedResult);
}
......@@ -299,35 +294,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
.append("updatedAt", DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime)))
);
LinkedList<IntegralActivityDrawVo> integralActivityDrawList = redisDataUtils.getIntegralActivityDrawList(1, 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);
redisDataUtils.delIntegralActivityDrawList(drawVo.getUserId(), drawVo.getIntegralActivityId());
// mysql
LinkedList<String> sqls = CollectionUtil.linkedListString();
......@@ -362,7 +329,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
sqls.add(SqlMapping.get("stone_candy_mgt_coupon.add_for_member"));
sqlsDataA.add(new Object[]{
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(),
SqlMapping.gets(sqls, sqlsDataA));
......
......@@ -430,6 +430,7 @@ public class RedisDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ANSWER_PHONE.concat(sweetAnswerVo.getPhone());
redisUtil.set(redisKey, sweetAnswerVo);
}
//草莓音乐节活动海报相关
public void setSweetMusician(SweetStrawberryParam sweetStrawberry) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_STRAWBERRY_POSTER.concat(sweetStrawberry.getUnionId());
......@@ -533,52 +534,11 @@ public class RedisDataUtils {
}
public void setIntegralActivityDraw(IntegralActivityDrawVo integralActivityDrawVo) {
int redisListSizeUser = 20;
int redisListSizeAll = 35;
Integer prizeType = integralActivityDrawVo.getPrizeType();
String userId = integralActivityDrawVo.getUserId();
String integralActivityId = integralActivityDrawVo.getIntegralActivityId();
if (prizeType > 1) {// 写入中奖列表 1是谢谢惠顾
String redisKeyIn = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.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);
this.delIntegralActivityDrawList(userId, integralActivityId);
// 抽奖详情
String redisKeyDraw = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO
.concat(integralActivityDrawVo.getDrawId());
......@@ -598,41 +558,31 @@ public class RedisDataUtils {
}
}
public LinkedList<IntegralActivityDrawVo> getIntegralActivityDrawList(Integer type, String uid, String integralActivityId) {
String redisKey = "";
if (type == 1) { // 中奖列表
redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId)
.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);
}
public LinkedList<IntegralActivityDrawVo> getIntegralActivityDrawList(String uid, String integralActivityId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid);
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return SweetNewObjectUtil.getSweetIntegralActivityDrawVoLinkedList();
return null;
} else {
return (LinkedList<IntegralActivityDrawVo>) obj;
}
}
public void setIntegralActivityDrawInList(String uid, String integralActivityId, LinkedList<IntegralActivityDrawVo> integralActivityDrawList) {
public void setIntegralActivityDrawList(String uid, String integralActivityId, List<IntegralActivityDrawVo> integralActivityDrawVos) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid);
redisUtil.set(redisKey, integralActivityDrawList);
redisUtil.set(redisKey, integralActivityDrawVos);
}
public void setIntegralActivityDrawList(String uid, String integralActivityId, LinkedList<IntegralActivityDrawVo> integralActivityDrawList) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER
public void delIntegralActivityDrawList(String uid, String integralActivityId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_IN_USER
.concat(integralActivityId)
.concat(SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_USER_KEY)
.concat(uid);
redisUtil.set(redisKey, integralActivityDrawList);
redisUtil.del(redisKey);
}
public int getIntegralActivityPrizeNum(String integralActivityId, String prizeId) {
......@@ -675,6 +625,7 @@ public class RedisDataUtils {
return (int) obj;
}
}
public long decrIntegralActivityTotalPrizeNum(String integralActivityId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_TOTAL_PRIZE_NUM
.concat(integralActivityId);
......@@ -746,6 +697,7 @@ public class RedisDataUtils {
/**
* 设置临时banner
*
* @param type
* @param vo
*/
......@@ -756,16 +708,17 @@ public class RedisDataUtils {
/**
* 获取临时banner
*
* @param type
* @return
*/
public List<TempBannerVo> getTempBanner(Integer type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_CITY_VOTE_BANNER.concat(":type:" + type);
Object obj = redisUtil.get(redisKey);
if(obj==null){
if (obj == null) {
return null;
}else{
return (List<TempBannerVo>)obj;
} else {
return (List<TempBannerVo>) obj;
}
}
......@@ -779,6 +732,7 @@ public class RedisDataUtils {
return (int) obj;
}
}
public void decrIntegralActivityEstimatedNum(String integralActivityId, Integer num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_ESTIMATEDNUM
.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