|
@@ -164,19 +164,8 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
|
}
|
|
|
|
|
|
|
|
|
- // 生成抽奖码
|
|
|
- String code = "";
|
|
|
- while (true) {
|
|
|
- code = MarketingUtils.generatePrizeCode();
|
|
|
- // 判断抽奖码是否已经存在
|
|
|
- int codeCount = marketingUserCodeService.count(new LambdaQueryWrapper<MarketingUserCode>()
|
|
|
- .eq(MarketingUserCode::getMarketingId, marketingId)
|
|
|
- .eq(MarketingUserCode::getCode, code));
|
|
|
- if (codeCount > 0) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
+ // 生成唯一抽奖码
|
|
|
+ String code = getOnlyCode(marketingId);
|
|
|
|
|
|
MarketingUserCode marketingUserCode = new MarketingUserCode();
|
|
|
// 设置活动id
|
|
@@ -443,19 +432,8 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
|
if (count > 0) {
|
|
|
throw new ServiceException("您已经助力过了");
|
|
|
}
|
|
|
- // 生成抽奖码
|
|
|
- String code = "";
|
|
|
- while (true) {
|
|
|
- code = MarketingUtils.generatePrizeCode();
|
|
|
- // 判断抽奖码是否已经存在
|
|
|
- int codeCount = marketingUserCodeService.count(new LambdaQueryWrapper<MarketingUserCode>()
|
|
|
- .eq(MarketingUserCode::getMarketingId, marketing.getId())
|
|
|
- .eq(MarketingUserCode::getCode, code));
|
|
|
- if (codeCount > 0) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
+ // 生成唯一抽奖码
|
|
|
+ String code = getOnlyCode(marketing.getId());
|
|
|
|
|
|
MarketingUserCode marketingUserCode = new MarketingUserCode();
|
|
|
// 设置活动id
|
|
@@ -472,6 +450,20 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
|
marketingUserCodeService.save(marketingUserCode);
|
|
|
|
|
|
|
|
|
+ // 自己获得一个普通抽奖码
|
|
|
+ MarketingUserCode myCode= new MarketingUserCode();
|
|
|
+ myCode.setMarketingId(marketing.getId());
|
|
|
+ // 设置抽奖码
|
|
|
+ myCode.setCode(getOnlyCode(marketing.getId()));
|
|
|
+ // 设置被助力人
|
|
|
+ myCode.setUserId(userId);
|
|
|
+ myCode.setHelpUserId(-1L);
|
|
|
+ myCode.setUserType(UserTypeEnum.ORDINARY.getValue());
|
|
|
+
|
|
|
+ // 保存抽奖码
|
|
|
+ marketingUserCodeService.save(myCode);
|
|
|
+
|
|
|
+
|
|
|
// 真实用户
|
|
|
int realNum = marketingUserCodeService.countRealUserNumByMarketingId(marketing.getId());
|
|
|
|
|
@@ -489,6 +481,27 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取当前活动用户唯一的抽奖码
|
|
|
+ * @param marketingId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String getOnlyCode(Long marketingId) {
|
|
|
+ String code = "";
|
|
|
+ while (true) {
|
|
|
+ code = MarketingUtils.generatePrizeCode();
|
|
|
+ // 判断抽奖码是否已经存在
|
|
|
+ int codeCount = marketingUserCodeService.count(new LambdaQueryWrapper<MarketingUserCode>()
|
|
|
+ .eq(MarketingUserCode::getMarketingId, marketingId)
|
|
|
+ .eq(MarketingUserCode::getCode, code));
|
|
|
+ if (codeCount > 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return code;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void deleteById(Long id) {
|