|
@@ -1,5 +1,7 @@
|
|
|
package com.cyksj.service.gzh.factory;
|
|
package com.cyksj.service.gzh.factory;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
|
|
+import cn.hutool.core.lang.UUID;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -10,6 +12,8 @@ import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.common.util.StringUtil;
|
|
import com.cyksj.common.util.StringUtil;
|
|
|
import com.cyksj.config.WeChatConfig;
|
|
import com.cyksj.config.WeChatConfig;
|
|
|
import com.cyksj.dto.UserSharedDto;
|
|
import com.cyksj.dto.UserSharedDto;
|
|
|
|
|
+import com.cyksj.mapper.GoodsDonSkuMapper;
|
|
|
|
|
+import com.cyksj.mapper.NanoUserQuotaMapper;
|
|
|
import com.cyksj.mapper.UserMapper;
|
|
import com.cyksj.mapper.UserMapper;
|
|
|
import com.cyksj.mapper.WxAppMapper;
|
|
import com.cyksj.mapper.WxAppMapper;
|
|
|
import com.cyksj.mapper.claudecode.ClaudeCodeUserTrialReceiveRecordMapper;
|
|
import com.cyksj.mapper.claudecode.ClaudeCodeUserTrialReceiveRecordMapper;
|
|
@@ -94,6 +98,10 @@ public class EventMsgService implements GzhMsgService {
|
|
|
|
|
|
|
|
private final NanoUserTrialReceiveRecordMapper nanoUserTrialReceiveRecordMapper;
|
|
private final NanoUserTrialReceiveRecordMapper nanoUserTrialReceiveRecordMapper;
|
|
|
|
|
|
|
|
|
|
+ private final NanoUserQuotaMapper nanoUserQuotaMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final GoodsDonSkuMapper goodsDonSkuMapper;
|
|
|
|
|
+
|
|
|
private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
|
|
private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -446,6 +454,8 @@ public class EventMsgService implements GzhMsgService {
|
|
|
//发送nano 体验卡
|
|
//发送nano 体验卡
|
|
|
Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(user.getId(), Constant.DISTRIBUTE_NANO_TRIAL_SKU_ID, 1);
|
|
Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(user.getId(), Constant.DISTRIBUTE_NANO_TRIAL_SKU_ID, 1);
|
|
|
recordReceiveNanoRecord(user.getId(), relationId);
|
|
recordReceiveNanoRecord(user.getId(), relationId);
|
|
|
|
|
+ //创建nano user
|
|
|
|
|
+ createNanoUser(user.getId(), relationId, goodsDonSkuMapper.selectById(Constant.DISTRIBUTE_NANO_TRIAL_SKU_ID));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -470,4 +480,25 @@ public class EventMsgService implements GzhMsgService {
|
|
|
nanoUserTrialReceiveRecordMapper.insert(record);
|
|
nanoUserTrialReceiveRecordMapper.insert(record);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private void createNanoUser(Long userId, Long relationId, GoodsDonSku sku) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (relationId == null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ User user = userMapper.selectById(userId);
|
|
|
|
|
+ NanoUserQuota nanoUserQuota = new NanoUserQuota();
|
|
|
|
|
+ nanoUserQuota.setUid(userId);
|
|
|
|
|
+ nanoUserQuota.setRelationId(relationId);
|
|
|
|
|
+ nanoUserQuota.setUserToken(UUID.randomUUID().toString());
|
|
|
|
|
+ nanoUserQuota.setNickname(user.getNickname());
|
|
|
|
|
+ nanoUserQuota.setAvatar(user.getHeadimgurl());
|
|
|
|
|
+ nanoUserQuota.setPurchaseDate(DateTime.now());
|
|
|
|
|
+ nanoUserQuota.setTotalQuota(sku.getNanoQuota());
|
|
|
|
|
+ nanoUserQuota.setRemainingQuota(nanoUserQuota.getTotalQuota());
|
|
|
|
|
+ nanoUserQuotaMapper.insert(nanoUserQuota);
|
|
|
|
|
+ } catch (DuplicateKeyException e) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|