Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fzm-joying
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lei
fzm-joying
Commits
065d9adf
Commit
065d9adf
authored
Sep 14, 2021
by
tangtuo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
转让记录接口编写
parent
19cc14a8
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
415 additions
and
19 deletions
+415
-19
NftController.java
...src/main/java/com/fzm/admin/controller/NftController.java
+21
-0
NftTransferDetailVo.java
...in/java/com/fzm/common/entity/vo/NftTransferDetailVo.java
+57
-0
NftTransferRecordVo.java
...in/java/com/fzm/common/entity/vo/NftTransferRecordVo.java
+50
-0
NftTransferRecordMapper.java
...n/java/com/fzm/common/mapper/NftTransferRecordMapper.java
+13
-0
NftTransferRecordService.java
...java/com/fzm/common/service/NftTransferRecordService.java
+31
-0
NftServiceImpl.java
...main/java/com/fzm/common/service/impl/NftServiceImpl.java
+1
-0
NftTransferRecordServiceImpl.java
...fzm/common/service/impl/NftTransferRecordServiceImpl.java
+40
-0
OssUtil.java
...ng-common/src/main/java/com/fzm/common/utils/OssUtil.java
+5
-13
NftTransferRecordMapper.xml
...mon/src/main/resources/mapper/NftTransferRecordMapper.xml
+87
-0
UserMapper.xml
joying-common/src/main/resources/mapper/UserMapper.xml
+1
-0
NftController.java
...rc/main/java/com/fzm/portal/controller/NftController.java
+0
-1
NftTransferRecordController.java
...om/fzm/portal/controller/NftTransferRecordController.java
+44
-0
Test.java
joying-portal/src/test/java/com/fzm/portal/Test.java
+63
-5
joying.sql
sql/joying.sql
+2
-0
No files found.
joying-admin/src/main/java/com/fzm/admin/controller/NftController.java
View file @
065d9adf
...
@@ -3,8 +3,11 @@ package com.fzm.admin.controller;
...
@@ -3,8 +3,11 @@ package com.fzm.admin.controller;
import
com.fzm.common.annotation.Authentication
;
import
com.fzm.common.annotation.Authentication
;
import
com.fzm.common.entity.Nft
;
import
com.fzm.common.entity.Nft
;
import
com.fzm.common.entity.vo.NftListVo
;
import
com.fzm.common.entity.vo.NftListVo
;
import
com.fzm.common.entity.vo.NftTransferRecordVo
;
import
com.fzm.common.model.ResponseModel
;
import
com.fzm.common.model.ResponseModel
;
import
com.fzm.common.service.NftService
;
import
com.fzm.common.service.NftService
;
import
com.fzm.common.service.NftTransferRecordService
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -12,6 +15,7 @@ import io.swagger.annotations.ApiParam;
...
@@ -12,6 +15,7 @@ import io.swagger.annotations.ApiParam;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
/**
* @author tangtuo
* @author tangtuo
...
@@ -26,6 +30,9 @@ public class NftController {
...
@@ -26,6 +30,9 @@ public class NftController {
@Resource
@Resource
private
NftService
nftService
;
private
NftService
nftService
;
@Resource
private
NftTransferRecordService
nftTransferRecordService
;
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
@ApiOperation
(
value
=
"查询nft列表"
)
@ApiOperation
(
value
=
"查询nft列表"
)
public
ResponseModel
<
PageInfo
<
NftListVo
>>
list
(
@ApiParam
(
value
=
"页码"
,
required
=
true
)
@RequestParam
Integer
pageNum
,
public
ResponseModel
<
PageInfo
<
NftListVo
>>
list
(
@ApiParam
(
value
=
"页码"
,
required
=
true
)
@RequestParam
Integer
pageNum
,
...
@@ -76,4 +83,18 @@ public class NftController {
...
@@ -76,4 +83,18 @@ public class NftController {
public
void
download
(
@ApiParam
(
value
=
"nft主键"
)
@PathVariable
Integer
id
)
{
public
void
download
(
@ApiParam
(
value
=
"nft主键"
)
@PathVariable
Integer
id
)
{
nftService
.
download
(
id
);
nftService
.
download
(
id
);
}
}
@GetMapping
(
"/transfer/record/list"
)
public
ResponseModel
<
PageInfo
<
NftTransferRecordVo
>>
getTransferRecordList
(
@ApiParam
(
value
=
"页码"
,
required
=
true
)
@RequestParam
Integer
pageNum
,
@ApiParam
(
value
=
"每页记录数"
,
required
=
true
)
@RequestParam
Integer
pageSize
,
@ApiParam
(
"交易哈希"
)
@RequestParam
(
required
=
false
)
String
nftHash
,
@ApiParam
(
"转出人地址"
)
@RequestParam
(
required
=
false
)
String
fromAddress
,
@ApiParam
(
"接收人地址"
)
@RequestParam
(
required
=
false
)
String
toAddress
,
@ApiParam
(
"开始日期"
)
@RequestParam
(
required
=
false
)
String
startDate
,
@ApiParam
(
"截止日期"
)
@RequestParam
(
required
=
false
)
String
endDate
)
{
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
NftTransferRecordVo
>
list
=
nftTransferRecordService
.
getTransferRecordList
(
nftHash
,
fromAddress
,
toAddress
,
startDate
,
endDate
);
return
ResponseModel
.
success
(
new
PageInfo
<>(
list
));
}
}
}
joying-common/src/main/java/com/fzm/common/entity/vo/NftTransferDetailVo.java
0 → 100644
View file @
065d9adf
package
com
.
fzm
.
common
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author tangtuo
* @date 2021/9/14 15:46
*/
@Data
public
class
NftTransferDetailVo
{
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
@ApiModelProperty
(
"nft名称"
)
private
String
nftName
;
@ApiModelProperty
(
"封面"
)
private
String
cover
;
@ApiModelProperty
(
"nft类型"
)
private
String
category
;
@ApiModelProperty
(
"nft编号"
)
private
String
nftId
;
@ApiModelProperty
(
"id"
)
private
String
tradeId
;
@ApiModelProperty
(
"区块链高度"
)
private
Long
height
;
@ApiModelProperty
(
"创建日期"
)
private
Date
createDate
;
@ApiModelProperty
(
"转出人地址"
)
private
String
fromWallet
;
@ApiModelProperty
(
"转出人昵称"
)
private
String
fromNickname
;
@ApiModelProperty
(
"转出人头像"
)
private
String
fromAvatar
;
@ApiModelProperty
(
"转入人地址"
)
private
String
toWallet
;
@ApiModelProperty
(
"转入人昵称"
)
private
String
toNickname
;
@ApiModelProperty
(
"转入人头像"
)
private
String
toAvatar
;
}
joying-common/src/main/java/com/fzm/common/entity/vo/NftTransferRecordVo.java
0 → 100644
View file @
065d9adf
package
com
.
fzm
.
common
.
entity
.
vo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author tangtuo
* @date 2021/9/14 10:56
*/
@Data
public
class
NftTransferRecordVo
{
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"nft名称"
)
private
String
nftName
;
@ApiModelProperty
(
"nft哈希"
)
private
String
nftHash
;
@ApiModelProperty
(
"类型"
)
private
String
category
;
@ApiModelProperty
(
"转出人地址"
)
private
String
fromAddress
;
@ApiModelProperty
(
"转出人昵称"
)
private
String
formNickname
;
@ApiModelProperty
(
"接收人地址"
)
private
String
toAddress
;
@ApiModelProperty
(
"接收人昵称"
)
private
String
toNickname
;
@ApiModelProperty
(
"流水类型"
)
private
String
streamType
=
"转让"
;
@ApiModelProperty
(
"交易结果"
)
private
String
tradeResult
=
"成功"
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createDate
;
}
joying-common/src/main/java/com/fzm/common/mapper/NftTransferRecordMapper.java
View file @
065d9adf
package
com
.
fzm
.
common
.
mapper
;
package
com
.
fzm
.
common
.
mapper
;
import
cn.hutool.core.date.DateTime
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.fzm.common.entity.AuthPerson
;
import
com.fzm.common.entity.AuthPerson
;
import
com.fzm.common.entity.NftTransferRecord
;
import
com.fzm.common.entity.NftTransferRecord
;
import
com.fzm.common.entity.vo.NftTransferDetailVo
;
import
com.fzm.common.entity.vo.NftTransferRecordVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* @author tangtuo
* @author tangtuo
...
@@ -11,4 +17,11 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -11,4 +17,11 @@ import org.apache.ibatis.annotations.Mapper;
*/
*/
@Mapper
@Mapper
public
interface
NftTransferRecordMapper
extends
BaseMapper
<
NftTransferRecord
>
{
public
interface
NftTransferRecordMapper
extends
BaseMapper
<
NftTransferRecord
>
{
List
<
NftTransferRecordVo
>
getTransferRecordList
(
@Param
(
"nftHash"
)
String
nftHash
,
@Param
(
"fromAddress"
)
String
fromAddress
,
@Param
(
"toAddress"
)
String
toAddress
,
@Param
(
"start"
)
DateTime
start
,
@Param
(
"end"
)
DateTime
end
);
List
<
NftTransferDetailVo
>
list
(
@Param
(
"wallet"
)
String
wallet
,
@Param
(
"type"
)
Integer
type
);
NftTransferDetailVo
getDetail
(
@Param
(
"id"
)
Integer
id
);
}
}
joying-common/src/main/java/com/fzm/common/service/NftTransferRecordService.java
View file @
065d9adf
...
@@ -3,6 +3,10 @@ package com.fzm.common.service;
...
@@ -3,6 +3,10 @@ package com.fzm.common.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.fzm.common.entity.NftChainInfo
;
import
com.fzm.common.entity.NftChainInfo
;
import
com.fzm.common.entity.NftTransferRecord
;
import
com.fzm.common.entity.NftTransferRecord
;
import
com.fzm.common.entity.vo.NftTransferDetailVo
;
import
com.fzm.common.entity.vo.NftTransferRecordVo
;
import
java.util.List
;
/**
/**
* @author tangtuo
* @author tangtuo
...
@@ -10,4 +14,31 @@ import com.fzm.common.entity.NftTransferRecord;
...
@@ -10,4 +14,31 @@ import com.fzm.common.entity.NftTransferRecord;
*/
*/
public
interface
NftTransferRecordService
extends
IService
<
NftTransferRecord
>
{
public
interface
NftTransferRecordService
extends
IService
<
NftTransferRecord
>
{
/**
* 查询转让记录列表
*
* @param nftHash
* @param fromAddress
* @param toAddress
* @param startDate
* @param endDate
* @return
*/
List
<
NftTransferRecordVo
>
getTransferRecordList
(
String
nftHash
,
String
fromAddress
,
String
toAddress
,
String
startDate
,
String
endDate
);
/**
* 查询我的转让记录
*
* @param type
* @return
*/
List
<
NftTransferDetailVo
>
list
(
Integer
type
);
/**
* 转让详情
*
* @param id
* @return
*/
NftTransferDetailVo
getDetail
(
Integer
id
);
}
}
joying-common/src/main/java/com/fzm/common/service/impl/NftServiceImpl.java
View file @
065d9adf
...
@@ -208,6 +208,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
...
@@ -208,6 +208,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
transferNft
.
setId
(
nft
.
getId
());
transferNft
.
setId
(
nft
.
getId
());
updateById
(
transferNft
);
updateById
(
transferNft
);
// 保存nft的转让记录
// 保存nft的转让记录
NftTransferRecord
record
=
new
NftTransferRecord
();
NftTransferRecord
record
=
new
NftTransferRecord
();
record
.
setNftId
(
nft
.
getId
()).
record
.
setNftId
(
nft
.
getId
()).
setNftHash
(
nft
.
getNftHash
()).
setNftHash
(
nft
.
getNftHash
()).
...
...
joying-common/src/main/java/com/fzm/common/service/impl/NftTransferRecordServiceImpl.java
View file @
065d9adf
package
com
.
fzm
.
common
.
service
.
impl
;
package
com
.
fzm
.
common
.
service
.
impl
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fzm.common.entity.AuthPerson
;
import
com.fzm.common.entity.AuthPerson
;
import
com.fzm.common.entity.NftTransferRecord
;
import
com.fzm.common.entity.NftTransferRecord
;
import
com.fzm.common.entity.User
;
import
com.fzm.common.entity.vo.NftTransferDetailVo
;
import
com.fzm.common.entity.vo.NftTransferRecordVo
;
import
com.fzm.common.mapper.AuthPersonMapper
;
import
com.fzm.common.mapper.AuthPersonMapper
;
import
com.fzm.common.mapper.NftTransferRecordMapper
;
import
com.fzm.common.mapper.NftTransferRecordMapper
;
import
com.fzm.common.service.AuthPersonService
;
import
com.fzm.common.service.AuthPersonService
;
import
com.fzm.common.service.NftTransferRecordService
;
import
com.fzm.common.service.NftTransferRecordService
;
import
com.fzm.common.service.UserService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
/**
* @author tangtuo
* @author tangtuo
* @date 2021/6/28 11:29
* @date 2021/6/28 11:29
*/
*/
@Service
@Service
public
class
NftTransferRecordServiceImpl
extends
ServiceImpl
<
NftTransferRecordMapper
,
NftTransferRecord
>
implements
NftTransferRecordService
{
public
class
NftTransferRecordServiceImpl
extends
ServiceImpl
<
NftTransferRecordMapper
,
NftTransferRecord
>
implements
NftTransferRecordService
{
@Resource
private
NftTransferRecordMapper
nftTransferRecordMapper
;
@Resource
private
UserService
userService
;
@Override
public
List
<
NftTransferRecordVo
>
getTransferRecordList
(
String
nftHash
,
String
fromAddress
,
String
toAddress
,
String
startDate
,
String
endDate
)
{
DateTime
start
=
null
;
DateTime
end
=
null
;
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
start
=
DateUtil
.
parse
(
startDate
+
" 00:00:00"
,
"yyyy-MM-dd HH:mm:ss"
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
end
=
DateUtil
.
parse
(
endDate
+
" 23:59:59"
,
"yyyy-MM-dd HH:mm:ss"
);
}
return
nftTransferRecordMapper
.
getTransferRecordList
(
nftHash
,
fromAddress
,
toAddress
,
start
,
end
);
}
@Override
public
List
<
NftTransferDetailVo
>
list
(
Integer
type
)
{
User
user
=
userService
.
getUserByToken
();
return
nftTransferRecordMapper
.
list
(
user
.
getWallet
(),
type
);
}
@Override
public
NftTransferDetailVo
getDetail
(
Integer
id
)
{
return
nftTransferRecordMapper
.
getDetail
(
id
);
}
}
}
joying-common/src/main/java/com/fzm/common/utils/OssUtil.java
View file @
065d9adf
...
@@ -199,23 +199,15 @@ public class OssUtil {
...
@@ -199,23 +199,15 @@ public class OssUtil {
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
String
endpoint
=
"oss-cn-
shanghai
.aliyuncs.com"
;
String
endpoint
=
"oss-cn-
hangzhou
.aliyuncs.com"
;
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
String
accessKeyId
=
"LTAI5t
AAXBCtnQ2ytwagazjt
"
;
String
accessKeyId
=
"LTAI5t
HGn7cVJdEtihTFLSeB
"
;
String
accessKeySecret
=
"
x0T6hyJvRFLtPjZYrNo5egEc4kShlU
"
;
String
accessKeySecret
=
"
XYmfBSbLaZoblGXZwIXkbhfBD7a1eg
"
;
OSS
ossClient
=
new
OSSClientBuilder
().
build
(
endpoint
,
accessKeyId
,
accessKeySecret
);
OSS
ossClient
=
new
OSSClientBuilder
().
build
(
endpoint
,
accessKeyId
,
accessKeySecret
);
String
bucket2
=
"joying-nft"
;
String
bucket2
=
"joying-nft"
;
ossClient
.
deleteObject
(
"test-nft"
,
"20210913/ff8e541497d1482895be1f038bb0430e/微信图片_20210913144401.jpg"
);
}
if
(
ossClient
.
doesBucketExist
(
bucket2
))
{
// 设置Bucket加密。
ServerSideEncryptionByDefault
applyServerSideEncryptionByDefault
=
new
ServerSideEncryptionByDefault
(
SSEAlgorithm
.
AES256
);
ServerSideEncryptionConfiguration
sseConfig
=
new
ServerSideEncryptionConfiguration
();
sseConfig
.
setApplyServerSideEncryptionByDefault
(
applyServerSideEncryptionByDefault
);
SetBucketEncryptionRequest
request
=
new
SetBucketEncryptionRequest
(
bucket2
,
sseConfig
);
ossClient
.
setBucketEncryption
(
request
);
ossClient
.
shutdown
();
}
}
}
}
joying-common/src/main/resources/mapper/NftTransferRecordMapper.xml
0 → 100644
View file @
065d9adf
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.fzm.common.mapper.NftTransferRecordMapper"
>
<select
id=
"getTransferRecordList"
resultType=
"com.fzm.common.entity.vo.NftTransferRecordVo"
>
SELECT
a.id,
a.from_address,
a.to_address,
a.nft_hash,
a.create_date,
b.`name` AS nftName,
c.nickname AS fromNickName,
d.nickname AS toNickname,
e.category_name AS category
FROM
tb_nft_transfer_record a
LEFT JOIN tb_nft b ON a.nft_id = b.id
LEFT JOIN tb_user c ON a.from_address = c.wallet
LEFT JOIN tb_user d ON a.to_address = d.wallet
LEFT JOIN tb_category e ON b.category_id = e.id
<where>
1=1
<if
test=
"nftHash != null and nftHash != ''"
>
and a.nft_hash = #{nftHash}
</if>
<if
test=
"fromAddress != null and fromAddress != ''"
>
and a.from_address = #{fromAddress}
</if>
<if
test=
"toAddress != null and toAddress != ''"
>
and a.to_address = #{toAddress}
</if>
<if
test=
"start != null"
>
and a.create_date >= #{start}
</if>
<if
test=
"end != null"
>
and a.create_date
<
= #{end}
</if>
</where>
</select>
<select
id=
"list"
resultType=
"com.fzm.common.entity.vo.NftTransferDetailVo"
>
SELECT a.id,
a.nft_hash,
a.create_date,
b.cover,
b.`name` AS nftName,
e.category_name AS category
FROM tb_nft_transfer_record a
LEFT JOIN tb_nft b ON a.nft_id = b.id
LEFT JOIN tb_category e ON b.category_id = e.id
<where>
<if
test=
"type == 0"
>
a.from_address = #{wallet} or a.to_address = #{wallet}
</if>
<if
test=
"type == 1"
>
a.from_address = #{wallet}
</if>
<if
test=
"type == 2"
>
a.to_address = #{wallet}
</if>
</where>
</select>
<select
id=
"getDetail"
resultType=
"com.fzm.common.entity.vo.NftTransferDetailVo"
>
SELECT a.nft_hash,
a.create_date,
a.transfer_hash AS tradeId,
b.cover,
b.`name` AS nftName,
b.cover,
b.nft_id,
c.nickname AS fromNickname,
c.avatar AS fromAvatar,
c.wallet AS fromWallet,
d.nickname AS toNickname,
d.avatar AS toAvatar,
d.wallet AS toWallet,
e.category_name AS category
FROM tb_nft_transfer_record a
LEFT JOIN tb_nft b ON a.nft_id = b.id
LEFT JOIN tb_user c ON a.from_address = c.wallet
LEFT JOIN tb_user d ON a.to_address = d.wallet
LEFT JOIN tb_category e ON b.category_id = e.id
where a.id = #{id}
</select>
</mapper>
\ No newline at end of file
joying-common/src/main/resources/mapper/UserMapper.xml
View file @
065d9adf
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
(select count(0) from tb_nft n where u.wallet = n.publish_address and n.nft_hash != '') as publishCount
(select count(0) from tb_nft n where u.wallet = n.publish_address and n.nft_hash != '') as publishCount
FROM tb_user u
FROM tb_user u
<where>
<where>
1=1
<if
test=
"telephone != null and telephone != ''"
>
<if
test=
"telephone != null and telephone != ''"
>
and u.telephone = #{telephone}
and u.telephone = #{telephone}
</if>
</if>
...
...
joying-portal/src/main/java/com/fzm/portal/controller/NftController.java
View file @
065d9adf
...
@@ -207,5 +207,4 @@ public class NftController {
...
@@ -207,5 +207,4 @@ public class NftController {
return
ResponseModel
.
success
(
result
);
return
ResponseModel
.
success
(
result
);
}
}
}
}
joying-portal/src/main/java/com/fzm/portal/controller/NftTransferRecordController.java
0 → 100644
View file @
065d9adf
package
com
.
fzm
.
portal
.
controller
;
import
com.fzm.common.annotation.Authentication
;
import
com.fzm.common.entity.vo.NftTransferDetailVo
;
import
com.fzm.common.model.ResponseModel
;
import
com.fzm.common.service.NftTransferRecordService
;
import
com.fzm.common.utils.JwtUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @author tangtuo
* @date 2021/9/14 15:43
*/
@Slf4j
@RestController
@Authentication
@RequestMapping
(
value
=
"/nft/transfer/record"
)
@Api
(
tags
=
"nft转让记录"
)
public
class
NftTransferRecordController
{
@Resource
private
NftTransferRecordService
nftTransferRecordService
;
@GetMapping
(
"/list/{type}"
)
@ApiOperation
(
value
=
"查询我的nft流转记录"
)
public
ResponseModel
<
List
<
NftTransferDetailVo
>>
list
(
@ApiParam
(
"0-所有 1-转出 2-转入"
)
@PathVariable
Integer
type
)
{
List
<
NftTransferDetailVo
>
list
=
nftTransferRecordService
.
list
(
type
);
return
ResponseModel
.
success
(
list
);
}
@GetMapping
(
"/detail/{id}"
)
@ApiOperation
(
value
=
"获取流转详情"
)
public
ResponseModel
<
NftTransferDetailVo
>
getDetail
(
@PathVariable
Integer
id
){
NftTransferDetailVo
nftTransferDetailVo
=
nftTransferRecordService
.
getDetail
(
id
);
return
ResponseModel
.
success
(
nftTransferDetailVo
);
}
}
joying-portal/src/test/java/com/fzm/portal/Test.java
View file @
065d9adf
package
com
.
fzm
.
portal
;
package
com
.
fzm
.
portal
;
/**
import
lombok.SneakyThrows
;
* @author tangtuo
import
org.apache.http.client.config.RequestConfig
;
* @date 2021/8/5 14:21
import
org.apache.http.client.methods.CloseableHttpResponse
;
*/
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.util.EntityUtils
;
import
java.awt.*
;
import
java.awt.datatransfer.Clipboard
;
import
java.awt.datatransfer.StringSelection
;
import
java.awt.event.KeyEvent
;
public
class
Test
{
public
class
Test
{
private
static
final
String
USER_AGENT
=
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"
;
private
static
final
int
TIME_OUT
=
60
*
1000
;
private
static
RequestConfig
requestConfig
;
private
static
CloseableHttpClient
httpClient
;
static
{
requestConfig
=
RequestConfig
.
custom
()
.
setConnectTimeout
(
TIME_OUT
)
.
setSocketTimeout
(
TIME_OUT
)
.
setConnectionRequestTimeout
(
TIME_OUT
)
.
build
();
httpClient
=
HttpClients
.
custom
().
setDefaultRequestConfig
(
requestConfig
).
build
();
}
@SneakyThrows
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
String
url
=
"https://chp.shadiao.app/api.php"
;
HttpGet
httpGet
=
new
HttpGet
(
url
);
httpGet
.
setHeader
(
"connection"
,
"keep-alive"
);
httpGet
.
setHeader
(
"user-agent"
,
USER_AGENT
);
Robot
robot
=
new
Robot
();
robot
.
delay
(
3
*
1000
);
// 延迟3秒,用来打开窗口
Clipboard
clip
=
Toolkit
.
getDefaultToolkit
().
getSystemClipboard
();
int
count
=
10
;
int
s
=
0
;
while
(
count
>
0
)
{
CloseableHttpResponse
httpResponse
=
httpClient
.
execute
(
httpGet
);
if
(
null
!=
httpResponse
&&
httpResponse
.
getStatusLine
().
getStatusCode
()
==
200
)
{
String
resJoson
=
EntityUtils
.
toString
(
httpResponse
.
getEntity
(),
"UTF-8"
);
clip
.
setContents
(
new
StringSelection
(
resJoson
),
null
);
robot
.
keyPress
(
KeyEvent
.
VK_CONTROL
);
robot
.
keyPress
(
KeyEvent
.
VK_V
);
robot
.
keyRelease
(
KeyEvent
.
VK_CONTROL
);
robot
.
delay
(
1
*
1000
);
// 1秒延迟
robot
.
keyPress
(
KeyEvent
.
VK_ENTER
);
++
s
;
System
.
out
.
println
(
"第"
+
s
+
"次,发送成功!"
);
}
httpResponse
.
close
();
count
--;
Thread
.
sleep
(
100
);
}
httpClient
.
close
();
}
}
}
}
\ No newline at end of file
sql/joying.sql
View file @
065d9adf
...
@@ -265,3 +265,5 @@ CREATE TABLE `tb_user` (
...
@@ -265,3 +265,5 @@ CREATE TABLE `tb_user` (
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
47
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
COMMENT
=
'门户用户表'
ROW_FORMAT
=
Dynamic
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
47
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
COMMENT
=
'门户用户表'
ROW_FORMAT
=
Dynamic
;
SET
FOREIGN_KEY_CHECKS
=
1
;
SET
FOREIGN_KEY_CHECKS
=
1
;
alter
table
tb_nft_transfer_record
add
column
is_effective
TINYINT
(
1
)
DEFAULT
1
comment
'是否有效 0-否 1-是'
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment