|
@@ -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
|
|
@@ -484,11 +462,47 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
|
|
|
boolean rtn = this.updateById(marketing);
|
|
|
Assert.isTrue(rtn, "更新活动参与人数异常。marketingId:" + marketing.getId());
|
|
|
|
|
|
+
|
|
|
+ // 自己获得一个普通抽奖码
|
|
|
+ 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);
|
|
|
+
|
|
|
+
|
|
|
// 给被助力人发送成功消息
|
|
|
wxSubscribeMessage.sendMarketingHelp(helpedUserId, 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) {
|