Commit 13076993 authored by tangtuo's avatar tangtuo

修改bug

parent ea854d0c
package com.fzm.common.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author tangtuo
* @date 2021/6/30 15:42
*/
@Data
@ApiModel("纪念版nft信息")
@Accessors(chain = true)
@TableName("tb_commemorate_nft")
public class CommemorateNft {
@TableId(type = IdType.AUTO)
private Integer id;
@NotNull(message = "类目id不能为空")
@ApiModelProperty("类目id")
private Integer categoryId;
@ApiModelProperty("用户id")
private Integer userId;
@ApiModelProperty("发行人地址")
private String publishAddress;
@NotBlank(message = "名称不能为空")
@Length(max = 20, message = "名称最大长度为20")
@ApiModelProperty("名称")
private String name;
@NotBlank(message = "简介不能为空")
@Length(max = 500, message = "简介最大长度为500")
@ApiModelProperty("简介")
private String synopsis;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件地址--用户选择不存档的情况下为空")
private String fileUrl;
@NotBlank(message = "作品哈希不能为空")
@ApiModelProperty("文件hash")
private String fileHash;
@ApiModelProperty("数量")
private Integer count;
@ApiModelProperty("创建时间")
private Date createDate;
@ApiModelProperty("修改时间")
private Date updateDate;
}
package com.fzm.common.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author tangtuo
* @date 2021/6/30 15:42
*/
@Data
@ApiModel("纪念版nft上链信息")
@Accessors(chain = true)
@TableName("tb_commemorate_nft_chain_info")
public class NftChainInfo {
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty("纪念版nft主键")
private Integer commemorateNftId;
@ApiModelProperty("nft编号")
private String nftNum;
@ApiModelProperty("nft哈希")
private String nftHash;
@ApiModelProperty("nft token")
private Long tokenId;
@ApiModelProperty("nft发行时间")
private Date publishTime;
@ApiModelProperty("是否已被领取 0-否 1-是")
private Integer isReceive;
}
package com.fzm.common.mapper;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.CommemorateNft;
import com.fzm.common.entity.Nft;
import com.fzm.common.entity.vo.CollectionNftVo;
import com.fzm.common.entity.vo.NftListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author tangtuo
* @date 2021/6/30 15:54
*/
@Mapper
public interface CommemorateNftMapper extends BaseMapper<CommemorateNft> {
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.NftChainInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/6/30 15:54
*/
@Mapper
public interface NftChainInfoMapper extends BaseMapper<NftChainInfo> {
}
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.Admin;
import com.fzm.common.entity.CommemorateNft;
/**
* @author tangtuo
* @date 2021/7/5 15:08
*/
public interface CommemorateNftService extends IService<CommemorateNft> {
}
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.NftChainInfo;
/**
* @author tangtuo
* @date 2021/7/5 15:08
*/
public interface NftChainInfoService extends IService<NftChainInfo> {
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.Admin;
import com.fzm.common.entity.CommemorateNft;
import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException;
import com.fzm.common.mapper.AdminMapper;
import com.fzm.common.mapper.CommemorateNftMapper;
import com.fzm.common.service.AdminService;
import com.fzm.common.service.CommemorateNftService;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author tangtuo
* @date 2021/7/5 15:09
*/
@Service
public class CommemorateNftServiceImpl extends ServiceImpl<CommemorateNftMapper, CommemorateNft> implements CommemorateNftService {
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.NftChainInfo;
import com.fzm.common.mapper.NftChainInfoMapper;
import com.fzm.common.service.NftChainInfoService;
import org.springframework.stereotype.Service;
/**
* @author tangtuo
* @date 2021/7/5 15:09
*/
@Service
public class NftChainInfoServiceImpl extends ServiceImpl<NftChainInfoMapper, NftChainInfo> implements NftChainInfoService {
}
......@@ -4,6 +4,7 @@ import cn.hutool.crypto.SecureUtil;
import com.fzm.common.annotation.Authentication;
import com.fzm.common.constant.RedisConstant;
import com.fzm.common.constant.SystemConstant;
import com.fzm.common.constant.TokenConstant;
import com.fzm.common.entity.Nft;
import com.fzm.common.entity.NftDto;
import com.fzm.common.entity.User;
......@@ -118,9 +119,12 @@ public class NftController {
NftVo nftVo = new NftVo(nft, user);
nftVo.setCategory(categoryService.getById(nft.getCategoryId()).getCategoryName());
if (StringUtils.isNotBlank(Authorization)) {
Integer userId = JwtUtil.getUserIdFromToken(Authorization);
Boolean collection = redisUtil.sIsMember(RedisConstant.COLLECTION_USER_PREFIX + userId, id.toString());
nftVo.setCollection(collection);
String realToken = Authorization.substring(TokenConstant.TOKEN_PREFIX.length());
if (StringUtils.isNotBlank(realToken) && "null".equals(realToken)) {
Integer userId = JwtUtil.getUserIdFromToken(Authorization);
Boolean collection = redisUtil.sIsMember(RedisConstant.COLLECTION_USER_PREFIX + userId, id.toString());
nftVo.setCollection(collection);
}
}
return ResponseModel.success(nftVo);
}
......
......@@ -3,6 +3,8 @@ package com.fzm.portal;
import cn.hutool.crypto.SecureUtil;
import java.io.File;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Semaphore;
/**
* @author tangtuo
......@@ -11,10 +13,6 @@ import java.io.File;
public class FileTest {
public static void main(String[] args) {
File file = new File("C:\\Users\\tangtuo\\Pictures\\微信图片_20210208094951.jpg");
String s = SecureUtil.md5(file);
System.out.println(s);
}
}
......@@ -2,9 +2,14 @@ package com.fzm.portal;
import cn.fzm.chain.simplesdk.client.ParaChainClient;
import com.fzm.common.constant.RedisConstant;
import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException;
import com.fzm.common.utils.JsonUtil;
import com.fzm.common.utils.RedisUtil;
import org.junit.jupiter.api.Test;
import org.redisson.Redisson;
import org.redisson.api.RSemaphore;
import org.redisson.api.RedissonClient;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
......@@ -28,9 +33,23 @@ class LyPortalApplicationTests {
@Resource
ParaChainClient paraClient;
@Resource
RedissonClient redisson;
@Test
void contextLoads() {
System.out.println(redisUtil.sIsMember(RedisConstant.COLLECTION_USER_PREFIX + 9, "2"));
System.out.println("redisson = " + redisson);
RSemaphore semaphore = redisson.getSemaphore("banner09");
boolean b = semaphore.trySetPermits(10);
for (int i = 0; i < 3; i++) {
boolean acquire = semaphore.tryAcquire();
if (!acquire) {
throw GlobalException.newException(ResultCode.VALIDATE_FAILED);
}
//System.out.println("semaphore.drainPermits() = " + semaphore.drainPermits());
System.out.println("semaphore.availablePermits() = " + semaphore.availablePermits());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment