|
|
@@ -292,6 +292,43 @@ public class AssetService {
|
|
|
return asset;
|
|
|
}
|
|
|
|
|
|
+ public Asset createAsset(TradeAuction tradeAuction, User user, Long orderId, BigDecimal price, String type,
|
|
|
+ Integer number, boolean safeFlag) {
|
|
|
+ Asset asset = Asset.create(tradeAuction, user);
|
|
|
+ asset.setTokenId(TokenUtils.genTokenId());
|
|
|
+ asset.setNumber(number);
|
|
|
+ asset.setOrderId(orderId);
|
|
|
+ asset.setPrice(price);
|
|
|
+ asset.setPrefixName("易拍");
|
|
|
+ asset.setTags(new HashSet<>());
|
|
|
+ User fakeUser = null;
|
|
|
+ if (safeFlag) {
|
|
|
+ fakeUser = createFakeUser();
|
|
|
+ asset.setOwner(fakeUser.getNickname());
|
|
|
+ asset.setOwnerId(fakeUser.getId());
|
|
|
+ asset.setOwnerAvatar(fakeUser.getAvatar());
|
|
|
+ }
|
|
|
+ assetRepo.saveAndFlush(asset);
|
|
|
+ tokenHistoryRepo.save(TokenHistory.builder()
|
|
|
+ .tokenId(asset.getTokenId())
|
|
|
+ .fromUser(tradeAuction.getMinter())
|
|
|
+ .fromUserId(Long.valueOf(tradeAuction.getMinterId()))
|
|
|
+ .fromAvatar(tradeAuction.getMinterAvatar())
|
|
|
+ .toUser((safeFlag ? fakeUser : user).getNickname())
|
|
|
+ .toUserId((safeFlag ? fakeUser : user).getId())
|
|
|
+ .toAvatar((safeFlag ? fakeUser : user).getAvatar())
|
|
|
+ .operation(type)
|
|
|
+ .price(price)
|
|
|
+ .companyId(asset.getCompanyId())
|
|
|
+ .build());
|
|
|
+
|
|
|
+ //绿洲石
|
|
|
+// rockRecordService.addRock(user.getId(), price, "购买");
|
|
|
+
|
|
|
+ rocketMQTemplate.syncSend(generalProperties.getMintTopic(), asset.getId());
|
|
|
+ return asset;
|
|
|
+ }
|
|
|
+
|
|
|
public synchronized int getMessedNumber(Long collectionId, int number, int total) {
|
|
|
NumberSeq numberSeq = numberSeqRepo.findById(collectionId).orElse(null);
|
|
|
if (numberSeq == null || numberSeq.getTotal() != total) {
|