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

Commit 6fe3b482 authored by jiangxiulong's avatar jiangxiulong

黑明单

parent 8580615c
......@@ -38,6 +38,7 @@ public class SweetConstant {
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LOCK = "sweet:integralActivity:lock:userId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_ESTIMATEDNUM = "sweet:integralActivity:estimatedNum:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_TOTAL_PRIZE_NUM = "sweet:integralActivity:totalPrizeNum:activityId:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_BLACK = "sweet:integralActivity:drawBlack";
// 答题活动
public final static String REDIS_KEY_SWEET_ANSWER_PHONE = "sweet:answer:phone:";
// 城市投票活动
......
......@@ -116,11 +116,15 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
// 如果库存没了就从列表剔出 列表为空就都没有库存了
ArrayList<IntegralActivityPrizeVo> activityPrizeVoArrayList = SweetNewObjectUtil.getIntegralActivityPrizeVoArrayList();
// 黑名单只中券 不记录次数
List<String> drawBlack = redisDataUtils.getIntegralActivityDrawBlack();
boolean isBlack = false;
if (drawBlack.contains(userId)) {
isBlack = true;
}
// 概率计算
// TODO: 2021/12/6 黑名单只中券 不记录次数
redisDataUtils.decrIntegralActivityEstimatedNum(integralActivityId, 1);
boolean lotteryDraw = this.lotteryDraw(integralActivityId, userId);
if (lotteryDraw) { // 实物
if (lotteryDraw && !isBlack) { // 实物
List<IntegralActivityPrizeVo> prizeList = integralActivity.getPrizeList2();
for (IntegralActivityPrizeVo info : prizeList) {
int integralActivityPrizeNum = redisDataUtils.getIntegralActivityPrizeNum(integralActivityId, info.getPrizeId());
......@@ -130,7 +134,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
}
if (!lotteryDraw || CollectionUtils.isEmpty(activityPrizeVoArrayList)) {// 没中实物、实物库存没了、是黑名单中用户 中券
if (isBlack || !lotteryDraw || CollectionUtils.isEmpty(activityPrizeVoArrayList)) {// 没中实物、实物库存没了、是黑名单中用户 中券
List<IntegralActivityPrizeVo> prizeList = integralActivity.getPrizeList1();
for (IntegralActivityPrizeVo info : prizeList) {
int integralActivityPrizeNum = redisDataUtils.getIntegralActivityPrizeNum(integralActivityId, info.getPrizeId());
......@@ -211,6 +215,11 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
SqlMapping.gets(sqls, sqlsDataA));
IntegralActivityPrizeApiVo activityPrizeApiVo = IntegralActivityPrizeApiVo.getNew().copy(integralActivityPrizeVo);
activityPrizeApiVo.setDrawId(drawId);
// 参与次数
if (!isBlack) {
redisDataUtils.decrIntegralActivityEstimatedNum(integralActivityId, 1);
}
return ResponseDto.success(activityPrizeApiVo);
} catch (Exception e) {
log.error("积分抽奖异常 e:{}", e);
......
......@@ -18,6 +18,7 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
......@@ -93,6 +94,10 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
@Override
public ResponseDto drawBlack(String uidS) {
return null;
String[] strings = uidS.split(",");
List<String> aList = Arrays.asList(strings);
redisDataUtils.setIntegralActivityDrawBlack(aList);
// boolean contains = aList.contains("11");
return ResponseDto.success();
}
}
......@@ -19,6 +19,7 @@ import com.liquidnet.service.sweet.entity.*;
import com.liquidnet.service.sweet.mapper.*;
import com.liquidnet.service.sweet.param.SweetCityVoteParam;
import com.liquidnet.service.sweet.vo.*;
import jodd.util.ArraysUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -655,6 +656,7 @@ public class RedisDataUtils {
.concat(drawId);
redisUtil.set(redisKeyDraw, drawVo);
}
public void updateIntegralActivityDrawInfo(String drawId, String couponId) {
String redisKeyDraw = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO
.concat(drawId);
......@@ -665,6 +667,20 @@ public class RedisDataUtils {
redisUtil.set(redisKeyDraw, info);
}
public void setIntegralActivityDrawBlack(List<String> uidS) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_BLACK;
redisUtil.set(redisKey, uidS);
}
public List<String> getIntegralActivityDrawBlack() {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_BLACK;
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return Arrays.asList();
} else {
return (List<String>) obj;
}
}
public boolean setIntegralDrawLock(String userId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LOCK
.concat(userId);
......
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