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

Commit 5616834c authored by jiangxiulong's avatar jiangxiulong

抽奖白名单

parent f023cff6
......@@ -39,6 +39,7 @@ public class SweetConstant {
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 static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_WHITE = "sweet:integralActivity:drawWhite";
// 答题活动
public final static String REDIS_KEY_SWEET_ANSWER_PHONE = "sweet:answer:phone:";
// 城市投票活动
......
......@@ -24,4 +24,6 @@ public interface ISweetIntegralActivityService extends IService<SweetIntegralAct
ResponseDto setDrawAllList(String integralActivityId);
ResponseDto drawBlack(String uidS);
ResponseDto drawWhite(String uidS);
}
......@@ -49,4 +49,10 @@ public class SweetIntegralActivityController {
public ResponseDto drawBlack(@RequestParam String uidS) {
return activityService.drawBlack(uidS);
}
@PostMapping("drawWhite")
@ApiOperation("抽奖白名单")
public ResponseDto drawWhite(@RequestParam String uidS) {
return activityService.drawWhite(uidS);
}
}
......@@ -483,12 +483,17 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
BigDecimal prizeNumBig = BigDecimal.valueOf(prizeNum);
// 概率
BigDecimal estimatedNumBig = BigDecimal.valueOf(estimatedNum);
// 会员概率*2
// 会员、白名单概率*2
try {
ResponseDto<Boolean> isMemberDto = feignAdamBaseClient.isMember(uid);
Boolean isMember = isMemberDto.getData();
if (isMember) {
List<String> drawWhite = redisDataUtils.getIntegralActivityDrawWhite();
if (drawWhite.contains(uid)) {
estimatedNumBig = estimatedNumBig.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
} else {
ResponseDto<Boolean> isMemberDto = feignAdamBaseClient.isMember(uid);
Boolean isMember = isMemberDto.getData();
if (isMember) {
estimatedNumBig = estimatedNumBig.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
}
}
} catch (Exception e) {
log.error("获取用户是否是会员失败 [uid:{}, e:{}]", uid, e);
......
......@@ -133,4 +133,12 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
// boolean contains = aList.contains("11");
return ResponseDto.success();
}
@Override
public ResponseDto drawWhite(String uidS) {
String[] strings = uidS.split(",");
List<String> aList = Arrays.asList(strings);
redisDataUtils.setIntegralActivityDrawWhite(aList);
return ResponseDto.success();
}
}
......@@ -680,6 +680,19 @@ public class RedisDataUtils {
return (List<String>) obj;
}
}
public void setIntegralActivityDrawWhite(List<String> uidS) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_WHITE;
redisUtil.set(redisKey, uidS);
}
public List<String> getIntegralActivityDrawWhite() {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_WHITE;
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
......
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