|
@@ -14,12 +14,14 @@ import com.qs.mp.admin.service.IMarketingService;
|
|
|
import com.qs.mp.common.core.domain.AjaxResult;
|
|
|
import com.qs.mp.common.core.page.TableDataInfo;
|
|
|
import com.qs.mp.common.core.redis.DistributedLocker;
|
|
|
+import com.qs.mp.common.core.redis.RedisCache;
|
|
|
import com.qs.mp.common.enums.MarketingCodeTypeEnum;
|
|
|
import com.qs.mp.common.enums.MarketingStatusEnum;
|
|
|
import com.qs.mp.common.enums.UserTypeEnum;
|
|
|
import com.qs.mp.common.exception.ServiceException;
|
|
|
import com.qs.mp.common.utils.DateUtils;
|
|
|
import com.qs.mp.common.utils.StringUtils;
|
|
|
+import com.qs.mp.framework.redis.RedisKey;
|
|
|
import com.qs.mp.framework.redis.RedisLockKey;
|
|
|
import com.qs.mp.framework.security.handle.HostHolder;
|
|
|
import com.qs.mp.framework.service.IWxSubscribeMessage;
|
|
@@ -92,6 +94,9 @@ public class MarketingController extends BaseApiController {
|
|
|
@Autowired
|
|
|
private IWxSubscribeMessage wxSubscribeMessage;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RedisCache redisCache;
|
|
|
+
|
|
|
@PostMapping("/generateCode/{marketingId}")
|
|
|
@ApiOperation("立即获取抽奖码")
|
|
|
public AjaxResult generateCode(@PathVariable("marketingId") Long marketingId) {
|
|
@@ -293,6 +298,15 @@ public class MarketingController extends BaseApiController {
|
|
|
.eq(MarketingHitPrize::getMarketingId, marketing.getId())
|
|
|
.eq(MarketingHitPrize::getUserId, finalUserId));
|
|
|
userMarketingListVO.setIsHit(count);
|
|
|
+ } else {
|
|
|
+ String fakeNumKey = RedisKey.build(RedisKey.MARKETING_FAKE_NUM, marketing.getId());
|
|
|
+ Integer fakeNum = redisCache.getCacheObject(fakeNumKey);
|
|
|
+ if (fakeNum == null) {
|
|
|
+ int realNum = marketingUserCodeService.countRealUserNumByMarketingId(marketing.getId());
|
|
|
+ fakeNum = realNum * 2;
|
|
|
+ redisCache.setCacheObject(fakeNumKey, fakeNum, 30, TimeUnit.HOURS);
|
|
|
+ }
|
|
|
+ userMarketingListVO.setFakeNum(fakeNum);
|
|
|
}
|
|
|
return userMarketingListVO;
|
|
|
}).collect(Collectors.toList());
|
|
@@ -323,6 +337,16 @@ public class MarketingController extends BaseApiController {
|
|
|
UserMarketingDetailVO userMarketingDetailVO = new UserMarketingDetailVO();
|
|
|
BeanUtils.copyProperties(marketing, userMarketingDetailVO);
|
|
|
|
|
|
+ String fakeNumKey = RedisKey.build(RedisKey.MARKETING_FAKE_NUM, id);
|
|
|
+ Integer fakeNum = redisCache.getCacheObject(fakeNumKey);
|
|
|
+ if (fakeNum == null) {
|
|
|
+ int realNum = marketingUserCodeService.countRealUserNumByMarketingId(id);
|
|
|
+ fakeNum = realNum * 2;
|
|
|
+ redisCache.setCacheObject(fakeNumKey, fakeNum, 30, TimeUnit.HOURS);
|
|
|
+ }
|
|
|
+
|
|
|
+ userMarketingDetailVO.setFakeNum(fakeNum);
|
|
|
+
|
|
|
List<MarketingAwards> awardsList = marketingAwardsService.list(new LambdaQueryWrapper<MarketingAwards>().eq(MarketingAwards::getMarketingId, id));
|
|
|
if (CollectionUtils.isNotEmpty(awardsList)) {
|
|
|
List<MarketingAwardsVO> list = awardsList.stream().map(marketingAwards -> {
|