Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
a63357bc
提交
a63357bc
authored
12月 07, 2022
作者:
zjm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(区块模块): 添加区块模块
添加区块模块
上级
a9c7512c
隐藏空白字符变更
内嵌
并排
正在显示
42 个修改的文件
包含
1757 行增加
和
1 行删除
+1757
-1
pom.xml
dev-block/pom.xml
+31
-0
BlockAtionpplication.java
.../java/com/tykj/dev/device/block/BlockAtionpplication.java
+18
-0
ApI.java
...ock/src/main/java/com/tykj/dev/device/block/conf/ApI.java
+52
-0
BlockController.java
...com/tykj/dev/device/block/controller/BlockController.java
+53
-0
BlockAlarmDao.java
...ain/java/com/tykj/dev/device/block/dao/BlockAlarmDao.java
+27
-0
BlockDataDao.java
...main/java/com/tykj/dev/device/block/dao/BlockDataDao.java
+23
-0
BlockFillChainDataDao.java
.../com/tykj/dev/device/block/dao/BlockFillChainDataDao.java
+14
-0
BlockAlarm.java
...ain/java/com/tykj/dev/device/block/entity/BlockAlarm.java
+50
-0
BlockData.java
...main/java/com/tykj/dev/device/block/entity/BlockData.java
+45
-0
BlockFillChainData.java
.../com/tykj/dev/device/block/entity/BlockFillChainData.java
+60
-0
BcDeposit.java
...n/java/com/tykj/dev/device/block/entity/bc/BcDeposit.java
+38
-0
BcDepositData.java
...va/com/tykj/dev/device/block/entity/bc/BcDepositData.java
+26
-0
BcHash.java
...main/java/com/tykj/dev/device/block/entity/bc/BcHash.java
+36
-0
BcHashData.java
.../java/com/tykj/dev/device/block/entity/bc/BcHashData.java
+19
-0
BcHistory.java
...n/java/com/tykj/dev/device/block/entity/bc/BcHistory.java
+29
-0
BcHistoryData.java
...va/com/tykj/dev/device/block/entity/bc/BcHistoryData.java
+28
-0
BcInfo.java
...main/java/com/tykj/dev/device/block/entity/bc/BcInfo.java
+36
-0
BcInfoData.java
.../java/com/tykj/dev/device/block/entity/bc/BcInfoData.java
+33
-0
BcRecord.java
...in/java/com/tykj/dev/device/block/entity/bc/BcRecord.java
+33
-0
BcRecordData.java
...ava/com/tykj/dev/device/block/entity/bc/BcRecordData.java
+70
-0
BcRegister.java
.../java/com/tykj/dev/device/block/entity/bc/BcRegister.java
+32
-0
BcRegisterData.java
...a/com/tykj/dev/device/block/entity/bc/BcRegisterData.java
+25
-0
BcStatus.java
...in/java/com/tykj/dev/device/block/entity/bc/BcStatus.java
+33
-0
BcStatusData.java
...ava/com/tykj/dev/device/block/entity/bc/BcStatusData.java
+30
-0
BcSubject.java
...n/java/com/tykj/dev/device/block/entity/bc/BcSubject.java
+38
-0
BcSubjectData.java
...va/com/tykj/dev/device/block/entity/bc/BcSubjectData.java
+27
-0
BcText.java
...main/java/com/tykj/dev/device/block/entity/bc/BcText.java
+36
-0
BcTextData.java
.../java/com/tykj/dev/device/block/entity/bc/BcTextData.java
+19
-0
BcVerify.java
...in/java/com/tykj/dev/device/block/entity/bc/BcVerify.java
+31
-0
BcVerifyData.java
...ava/com/tykj/dev/device/block/entity/bc/BcVerifyData.java
+19
-0
package-info.java
...n/java/com/tykj/dev/device/block/entity/package-info.java
+8
-0
BlockAlarmSelectVo.java
...m/tykj/dev/device/block/entity/vo/BlockAlarmSelectVo.java
+21
-0
BlockTraceabilityParsing.java
.../dev/device/block/entity/vo/BlockTraceabilityParsing.java
+182
-0
OneToTwoTraceabilityParsing.java
...v/device/block/entity/vo/OneToTwoTraceabilityParsing.java
+25
-0
TraceabilityParsingData.java
...j/dev/device/block/entity/vo/TraceabilityParsingData.java
+50
-0
BlockAlarmService.java
.../com/tykj/dev/device/block/service/BlockAlarmService.java
+50
-0
BlockDataService.java
...a/com/tykj/dev/device/block/service/BlockDataService.java
+35
-0
BlockService.java
.../java/com/tykj/dev/device/block/service/BlockService.java
+80
-0
BlockAlarmServiceImpl.java
.../dev/device/block/service/impl/BlockAlarmServiceImpl.java
+52
-0
BlockDataServiceImpl.java
...j/dev/device/block/service/impl/BlockDataServiceImpl.java
+78
-0
BlockServiceImpl.java
.../tykj/dev/device/block/service/impl/BlockServiceImpl.java
+163
-0
pom.xml
pom.xml
+2
-1
没有找到文件。
dev-block/pom.xml
0 → 100644
浏览文件 @
a63357bc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
equip
</artifactId>
<groupId>
com.tykj
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
dev-block
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>
com.tykj.dev
</groupId>
<artifactId>
misc
</artifactId>
</dependency>
<dependency>
<groupId>
com.tykj.dev
</groupId>
<artifactId>
config
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
dev-block/src/main/java/com/tykj/dev/device/block/BlockAtionpplication.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
/**
* @author huangxiahao
*/
@SpringBootApplication
(
scanBasePackages
=
{
"com.tykj.carrier.*"
})
public
class
BlockAtionpplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
BlockAtionpplication
.
class
,
args
);
}
}
dev-block/src/main/java/com/tykj/dev/device/block/conf/ApI.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
conf
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-02 10:45
**/
public
class
ApI
{
/**
* 业务类型码注册
*/
public
static
String
CO_REGISTER
=
"/chainOffer/subRegister"
;
/**
* 文本上链接口(500kb)
*/
public
static
String
CO_SEND_TEXT
=
"/chainOffer/sendText"
;
/**
* hash上链接口
*/
public
static
String
CO_SEND_HASH
=
"/chainOffer/sendHash"
;
/**
* 记录查询
*/
public
static
String
CO_FETCH_RECORD
=
"/chainOffer/fetchRecord"
;
/**
* 文本追加更新
*/
public
static
String
CO_APPEND_TEXT
=
"/chainOffer/appendText"
;
/**
* 哈希追加更新
*/
public
static
String
CO_APPEND_HASH
=
"/chainOffer/appendHash"
;
/**
* 哈希防篡改校验
*/
public
static
String
CO_VERIFY_HASH
=
"/chainOffer/verifyHash"
;
/**
* 文本防篡改校验
*/
public
static
String
CO_VERIFY_TEXT
=
"/chainOffer/verifyText"
;
/**
* 查询记录在各节点上链状态
*/
public
static
String
CO_DEPOSIT_STATUS
=
"/chainOffer/depositStatus"
;
}
dev-block/src/main/java/com/tykj/dev/device/block/controller/BlockController.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
controller
;
import
com.tykj.dev.config.swagger.AutoDocument
;
import
com.tykj.dev.device.block.service.BlockDataService
;
import
com.tykj.dev.device.block.service.BlockService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-10-20 19:38
**/
@RestController
@RequestMapping
(
value
=
"/chainOffer"
)
@AutoDocument
@Api
(
tags
=
"区块链载体提供前端接口"
,
description
=
"区块链载体提供前端接口"
)
@Slf4j
public
class
BlockController
{
@Autowired
BlockService
blockService
;
@Autowired
BlockDataService
blockDataService
;
@ApiOperation
(
value
=
"test"
,
notes
=
"区块链"
)
@GetMapping
(
"/test"
)
public
ResponseEntity
test
(){
//AffQaQ55FCuQNqF3bj6nsMytMqbGUDrHe8VDXqb1cPgd7K1yB8X
return
ResponseEntity
.
ok
(
blockService
.
sendText
(
1
,
1004
,
"{text}"
));
}
@ApiOperation
(
value
=
"查询最新的20条数据"
,
notes
=
"区块大屏"
)
@GetMapping
(
"/query20"
)
public
ResponseEntity
query20
(){
return
ResponseEntity
.
ok
(
blockDataService
.
query20
());
}
}
dev-block/src/main/java/com/tykj/dev/device/block/dao/BlockAlarmDao.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
dao
;
import
com.tykj.dev.device.block.entity.BlockAlarm
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
javax.transaction.Transactional
;
import
java.util.List
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-12-02 16:49
**/
public
interface
BlockAlarmDao
extends
JpaRepository
<
BlockAlarm
,
Integer
>,
JpaSpecificationExecutor
<
BlockAlarm
>
{
boolean
existsByTypeAndBillId
(
Integer
type
,
Integer
billId
);
@Transactional
@Modifying
@Query
(
value
=
"update BlockAlarm d set d.state = ?2 where d.id in ?1"
)
int
updateBlockAlarm
(
List
<
Integer
>
ids
,
Integer
state
);
List
<
BlockAlarm
>
findAllByState
(
Integer
state
);
}
dev-block/src/main/java/com/tykj/dev/device/block/dao/BlockDataDao.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
dao
;
import
com.tykj.dev.device.block.entity.BlockData
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Query
;
import
java.util.List
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-03 15:01
**/
public
interface
BlockDataDao
extends
JpaRepository
<
BlockData
,
Integer
>,
JpaSpecificationExecutor
<
BlockData
>
{
List
<
BlockData
>
findAllByBillTypeAndBillId
(
Integer
billType
,
Integer
billId
);
@Query
(
value
=
"select b from BlockData as b order by b.createTime desc"
)
List
<
BlockData
>
queryCreateTimeLimit20
(
PageRequest
pageRequest
);
}
dev-block/src/main/java/com/tykj/dev/device/block/dao/BlockFillChainDataDao.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
dao
;
import
com.tykj.dev.device.block.entity.BlockFillChainData
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-21 17:31
**/
public
interface
BlockFillChainDataDao
extends
JpaRepository
<
BlockFillChainData
,
Integer
>,
JpaSpecificationExecutor
<
BlockFillChainData
>
{
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/BlockAlarm.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
;
import
com.tykj.dev.misc.base.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.Entity
;
import
javax.persistence.EntityListeners
;
import
javax.persistence.Table
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-12-02 15:34
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@ApiModel
(
"自动验证告警信息"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
@SQLDelete
(
sql
=
"update zt_block_alarm set delete_tag = 1 where id = ?"
)
@Where
(
clause
=
"delete_tag = 0"
)
@Table
(
name
=
"zt_block_alarm"
)
@Builder
public
class
BlockAlarm
extends
BaseEntity
{
/**
* 业务类型名称
*/
private
String
name
;
/**
* 业务类型
*/
private
Integer
type
;
/**
* 业务id
*/
private
Integer
billId
;
/**
* 状态 1.告警 2.忽略
*/
private
Integer
state
=
1
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/BlockData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
;
import
com.tykj.dev.misc.base.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.Entity
;
import
javax.persistence.EntityListeners
;
import
javax.persistence.Table
;
/**
* @program: carrier
* @description: todorecord
* @author: zjm
* @create: 2022-11-03 14:50
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@ApiModel
(
"系统上链记录信息"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
@SQLDelete
(
sql
=
"update zt_block_data set delete_tag = 1 where id = ?"
)
@Where
(
clause
=
"delete_tag = 0"
)
@Table
(
name
=
"zt_block_bill_data"
)
@Builder
public
class
BlockData
extends
BaseEntity
{
@ApiModelProperty
(
value
=
"业务类型"
)
private
Integer
billType
;
@ApiModelProperty
(
value
=
"业务id"
)
private
Integer
billId
;
@ApiModelProperty
(
value
=
"记录id"
)
private
String
recordID
;
@ApiModelProperty
(
value
=
"发起单位名称"
)
private
String
unitName
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/BlockFillChainData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
;
import
com.tykj.dev.misc.base.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.EntityListeners
;
import
javax.persistence.Table
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-21 17:19
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@ApiModel
(
"系统上链记录信息"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
@SQLDelete
(
sql
=
"update zt_block_fill_chain_data set delete_tag = 1 where id = ?"
)
@Where
(
clause
=
"delete_tag = 0"
)
@Table
(
name
=
"zt_block_fill_chain_data"
)
@Builder
public
class
BlockFillChainData
extends
BaseEntity
{
@ApiModelProperty
(
value
=
"系统id"
)
private
Integer
systemId
;
@ApiModelProperty
(
value
=
"业务标识码"
)
private
Integer
subCode
;
@ApiModelProperty
(
value
=
"上链数据"
)
@Column
(
name
=
"block_data"
,
columnDefinition
=
"TEXT"
)
private
String
blockData
;
@ApiModelProperty
(
value
=
"业务id"
)
private
Integer
billId
;
@ApiModelProperty
(
value
=
"单位"
)
private
String
unitName
;
@ApiModelProperty
(
value
=
"业务类型"
)
private
String
billType
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcDeposit.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcDeposit
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
List
<
BcDepositData
>
data
;
public
BcDeposit
toDate
(){
return
new
BcDeposit
();
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcDepositData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-10-31 17:54
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcDepositData
{
//节点编号
private
Integer
num
;
//上链状态
private
Integer
status
;
//节点名称
private
String
name
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcHash.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcHash
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcHashData
data
;
public
BcHash
toDate
(){
return
new
BcHash
();
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcHashData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcHashData
{
@JSONField
(
name
=
"recordID"
)
private
String
recordID
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcHistory.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcHistory
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcHistoryData
data
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcHistoryData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcHistoryData
{
/**
* 记录列表,数据项与“记录查询”一致
*/
private
List
<
BcRecordData
>
records
;
/**
* 游标,用于分页查询
*/
private
String
cursor
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcInfo.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcInfo
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcInfoData
data
;
public
BcInfo
toDate
(){
return
new
BcInfo
();
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcInfoData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-10-31 17:54
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcInfoData
{
//节点编号
private
Integer
num
;
// 区块高度
private
Long
height
;
//平均区块生成时间(秒)
private
Long
blockTimeAve
;
//状态: 1: 正常; 0:异常
private
Integer
status
;
//是否主节点: 1: 是; 0否
private
Integer
isLeader
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcRecord.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcRecord
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcRecordData
data
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcRecordData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
com.tykj.carrier.block.entity.vo.BlockTraceabilityParsing
;
import
com.tykj.carrier.misc.base.BeanHelper
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.modelmapper.ModelMapper
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcRecordData
{
/**
* 记录id
*/
private
String
recordID
;
/**
* 记录类型,text/hash(文本或哈希)
*/
private
String
type
;
/**
* 业务类型码,用于区分不同业务
*/
private
String
subCode
;
/**
* 记录内容
*/
private
String
content
;
/**
* 上链时间戳,精确到秒
*/
private
String
timestamp
;
/**
* 区块高度
*/
private
Long
height
;
/**
* 区块哈希
*/
private
String
hash
;
/**
* 签名
*/
private
String
signature
;
/**
* nonce
*/
private
String
nonce
;
public
BlockTraceabilityParsing
toBlockTraceabilityParsing
(){
ModelMapper
modelMapper
=
BeanHelper
.
getUserMapper
();
return
modelMapper
.
map
(
this
,
BlockTraceabilityParsing
.
class
);
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcRegister.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcRegister
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcRegisterData
data
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcRegisterData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcRegisterData
{
/**
* 业务名称
*/
private
String
subName
;
/**
* 业务类型码
*/
private
Integer
subCode
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcStatus.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcStatus
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcStatusData
data
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcStatusData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcStatusData
{
/**
* 当前区块高度
*/
private
String
height
;
/**
* 共识节点数量
*/
private
Integer
consensusNodeCount
;
/**
* 业务节点数量
*/
private
Integer
serviceNodeCount
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcSubject.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcSubject
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
List
<
BcSubjectData
>
data
;
public
BcSubject
toDate
(){
return
new
BcSubject
();
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcSubjectData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcSubjectData
{
/**
* 业务代号
*/
private
Integer
subCode
;
/**
* 业务名称
*/
private
String
subName
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcText.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcText
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcTextData
data
;
public
BcText
toData
(){
return
new
BcText
();
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcTextData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-08-18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcTextData
{
@JSONField
(
name
=
"recordID"
)
private
String
recordID
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcVerify.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-11-05
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
BcVerify
{
/**
* 结果状态码,成功为0
*/
private
Integer
code
;
/**
* 结果状态文字描述
*/
private
String
info
;
/**
* 接口返回结果
*/
private
BcVerifyData
data
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/bc/BcVerifyData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
bc
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-11-05
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
BcVerifyData
{
/**
* 状态: ok: 正常; expired:已更新; tampered: 已篡改
*/
private
String
status
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/package-info.java
0 → 100644
浏览文件 @
a63357bc
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-02 11:13
**/
package
com
.
tykj
.
dev
.
device
.
block
.
entity
;
\ No newline at end of file
dev-block/src/main/java/com/tykj/dev/device/block/entity/vo/BlockAlarmSelectVo.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
vo
;
import
com.tykj.dev.misc.base.CustomPage
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-12-02 17:20
**/
@Data
//@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"告警列表查询Vo"
)
@Builder
public
class
BlockAlarmSelectVo
extends
CustomPage
{
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/vo/BlockTraceabilityParsing.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-04 11:06
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"溯源解析返回实体"
)
public
class
BlockTraceabilityParsing
{
/**
* 记录id
*/
@ApiModelProperty
(
value
=
"记录id"
)
private
String
recordID
;
/**
* 记录类型,text/hash(文本或哈希)
*/
@ApiModelProperty
(
value
=
"记录类型,text/hash(文本或哈希)"
)
private
String
type
;
/**
* 业务类型码,用于区分不同业务
*/
@ApiModelProperty
(
value
=
"业务类型码,用于区分不同业务"
)
private
String
subCode
;
/**
* 上链时间戳,精确到秒
*/
@ApiModelProperty
(
value
=
"上链时间戳,精确到秒"
)
private
String
timestamp
;
/**
* 区块高度
*/
@ApiModelProperty
(
value
=
"区块高度"
)
private
Long
height
;
/**
* 区块哈希
*/
@ApiModelProperty
(
value
=
"区块哈希"
)
private
String
hash
;
/**
* 签名
*/
@ApiModelProperty
(
value
=
"签名"
)
private
String
signature
;
/**
* nonce
*/
@ApiModelProperty
(
value
=
"nonce"
)
private
String
nonce
;
@ApiModelProperty
(
value
=
"业务数据"
)
private
TraceabilityParsingData
businessTraceabilityParsingData
;
@ApiModelProperty
(
value
=
"链上数据"
)
private
TraceabilityParsingData
blockTraceabilityParsingData
;
@ApiModelProperty
(
value
=
"一对多使用 目前更换-递送、更换-更换"
)
private
List
<
OneToTwoTraceabilityParsing
>
oneToTwoTraceabilityParsingList
;
@ApiModelProperty
(
value
=
"当前数据"
)
private
Object
currentData
;
@ApiModelProperty
(
value
=
"上链数据"
)
private
Object
blockData
;
public
String
getRecordID
()
{
return
recordID
;
}
public
void
setRecordID
(
String
recordID
)
{
this
.
recordID
=
recordID
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getSubCode
()
{
return
subCode
;
}
public
void
setSubCode
(
String
subCode
)
{
this
.
subCode
=
subCode
;
}
public
String
getTimestamp
()
{
return
timestamp
;
}
public
void
setTimestamp
(
String
timestamp
)
{
this
.
timestamp
=
timestamp
;
}
public
Long
getHeight
()
{
return
height
;
}
public
void
setHeight
(
Long
height
)
{
this
.
height
=
height
;
}
public
String
getHash
()
{
return
hash
;
}
public
void
setHash
(
String
hash
)
{
this
.
hash
=
hash
;
}
public
String
getSignature
()
{
return
signature
;
}
public
void
setSignature
(
String
signature
)
{
this
.
signature
=
signature
;
}
public
String
getNonce
()
{
return
nonce
;
}
public
void
setNonce
(
String
nonce
)
{
this
.
nonce
=
nonce
;
}
public
TraceabilityParsingData
getBusinessTraceabilityParsingData
()
{
return
businessTraceabilityParsingData
;
}
public
void
setBusinessTraceabilityParsingData
(
TraceabilityParsingData
businessTraceabilityParsingData
)
{
this
.
businessTraceabilityParsingData
=
businessTraceabilityParsingData
;
}
public
TraceabilityParsingData
getBlockTraceabilityParsingData
()
{
return
blockTraceabilityParsingData
;
}
public
void
setBlockTraceabilityParsingData
(
TraceabilityParsingData
blockTraceabilityParsingData
)
{
this
.
blockTraceabilityParsingData
=
blockTraceabilityParsingData
;
}
public
Object
getCurrentData
()
{
return
currentData
;
}
public
void
setCurrentData
(
Object
currentData
)
{
this
.
currentData
=
currentData
;
}
public
Object
getBlockData
()
{
return
blockData
;
}
public
void
setBlockData
(
Object
blockData
)
{
this
.
blockData
=
blockData
;
}
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/vo/OneToTwoTraceabilityParsing.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-28 15:32
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"溯源解析存储一对多的情况vo"
)
public
class
OneToTwoTraceabilityParsing
{
@ApiModelProperty
(
value
=
"业务数据"
)
private
TraceabilityParsingData
businessTraceabilityParsingData
;
@ApiModelProperty
(
value
=
"链上数据"
)
private
TraceabilityParsingData
blockTraceabilityParsingData
;
}
dev-block/src/main/java/com/tykj/dev/device/block/entity/vo/TraceabilityParsingData.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
entity
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.time.LocalDateTime
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-04 11:11
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"溯源解析系统数据vo"
)
@Builder
public
class
TraceabilityParsingData
{
@ApiModelProperty
(
value
=
"业务类型"
)
private
String
billTypeName
;
@ApiModelProperty
(
value
=
"业务单据编码"
)
private
String
documentNo
;
@ApiModelProperty
(
value
=
"操作人"
)
private
String
operatorUserName
;
@ApiModelProperty
(
value
=
"操作时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
operationTime
;
@ApiModelProperty
(
value
=
"相关载体id"
)
private
String
carrierIds
;
@ApiModelProperty
(
value
=
"单位名称"
)
private
String
unitName
;
private
String
time
;
}
dev-block/src/main/java/com/tykj/dev/device/block/service/BlockAlarmService.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
service
;
import
com.tykj.dev.device.block.entity.BlockAlarm
;
import
com.tykj.dev.device.block.entity.vo.BlockAlarmSelectVo
;
import
org.springframework.data.domain.Page
;
import
java.util.List
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-12-02 16:50
**/
public
interface
BlockAlarmService
{
/**
* 批量保存告警信息
*/
List
<
BlockAlarm
>
saveAll
(
List
<
BlockAlarm
>
blockAlarms
);
/**
* 根据业务类型以及业务id判断是否存在
* @return
*/
boolean
judgeBillTypeAndBillId
(
Integer
billType
,
Integer
billId
);
/**
* 忽略告警
*/
void
updateState
(
List
<
Integer
>
ids
);
/**
* 根据相关条件查询分页告警数据
*/
Page
<
BlockAlarm
>
queryBlockAlarmSelectVo
(
BlockAlarmSelectVo
blockAlarmSelectVo
);
/**
* 查询告警数据列表
*/
List
<
BlockAlarm
>
queryBlockAlarmList
();
/**
* 查询所有告警数据列表
*/
List
<
BlockAlarm
>
queryAll
();
}
dev-block/src/main/java/com/tykj/dev/device/block/service/BlockDataService.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
service
;
import
com.tykj.dev.device.block.entity.BlockData
;
import
com.tykj.dev.device.block.entity.vo.BlockTraceabilityParsing
;
import
java.util.List
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-03 15:13
**/
public
interface
BlockDataService
{
/**
* 保存上链记录
* @param blockData 上链记录信息实体
*/
BlockData
saveBlockData
(
BlockData
blockData
);
/**
* 根据业务id以及业务类型查询上链记录
*/
BlockData
findBillTypeAndBillId
(
Integer
billType
,
Integer
billId
);
List
<
BlockData
>
query20
();
boolean
contrast
(
BlockTraceabilityParsing
blockTraceabilityParsing
);
List
<
BlockData
>
findAll
();
}
dev-block/src/main/java/com/tykj/dev/device/block/service/BlockService.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
service
;
import
com.tykj.dev.device.block.entity.bc.*
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-02 11:11
**/
public
interface
BlockService
{
/**
* 业务类型码注册
* @param subName 业务名称,可以是中英文
* @param systemId 系统id
*/
BcRegister
subRegister
(
Integer
systemId
,
String
subName
);
/**
* 文本上链
* @param subCode 业务代码编号
* @param content 文本 200k以内
*/
BcText
sendText
(
Integer
systemId
,
Integer
subCode
,
String
content
);
/**
* hash 上链
* @param subCode 业务代码编号
* @param content 内容哈希,256bits hex编码。 方法可参考本模块HexUtil,方法内已转换,直接传入内容即可
*/
BcHash
sendHash
(
Integer
systemId
,
Integer
subCode
,
String
content
);
/**
* 记录查询
* @param recordId 记录id
* @return fr
*/
BcRecord
fetchRecord
(
Integer
systemId
,
Integer
subCode
,
String
recordId
);
/**
* 文本追加更新
* @param content 内容文本,上限为200KB
* @param recordId 本条记录上次上链或追加返回的记录id, 确保顺序追加
* @return bc
*/
BcText
appendText
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
);
/**
* 哈希追加更新
* @param content 内容哈希,256bits hex编码,方法内已转换,直接传入内容即可
* @param recordId 本条记录上次上链或追加返回的记录id, 确保顺序追加
* @return bc
*/
BcHash
appendHash
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
);
/**
* 哈希防篡改校验
* @param content 内容哈希,256bits hex编码,直接传内容即可
* @param recordId 记录id
* @return bc
*/
BcVerify
verifyHash
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
);
/**
* 文本防篡改校验
* @param content 内容文本,上限为200KB
* @param recordId 记录id
* @return bc
*/
BcVerify
verifyText
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
);
/**
* 查询记录在各节点上链状态
*/
BcDeposit
depositStatus
(
Integer
systemId
,
Integer
subCode
,
String
recordID
);
}
dev-block/src/main/java/com/tykj/dev/device/block/service/impl/BlockAlarmServiceImpl.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
service
.
impl
;
import
com.tykj.dev.device.block.dao.BlockAlarmDao
;
import
com.tykj.dev.device.block.entity.BlockAlarm
;
import
com.tykj.dev.device.block.entity.vo.BlockAlarmSelectVo
;
import
com.tykj.dev.device.block.service.BlockAlarmService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-12-02 17:43
**/
@Service
public
class
BlockAlarmServiceImpl
implements
BlockAlarmService
{
@Autowired
BlockAlarmDao
blockAlarmDao
;
@Override
public
List
<
BlockAlarm
>
saveAll
(
List
<
BlockAlarm
>
blockAlarms
)
{
return
blockAlarmDao
.
saveAll
(
blockAlarms
);
}
@Override
public
boolean
judgeBillTypeAndBillId
(
Integer
billType
,
Integer
billId
)
{
return
blockAlarmDao
.
existsByTypeAndBillId
(
billType
,
billId
);
}
@Override
public
void
updateState
(
List
<
Integer
>
ids
)
{
blockAlarmDao
.
updateBlockAlarm
(
ids
,
2
);
}
@Override
public
Page
<
BlockAlarm
>
queryBlockAlarmSelectVo
(
BlockAlarmSelectVo
blockAlarmSelectVo
)
{
return
blockAlarmDao
.
findAll
(
blockAlarmSelectVo
.
getPageable
());
}
@Override
public
List
<
BlockAlarm
>
queryBlockAlarmList
()
{
return
blockAlarmDao
.
findAllByState
(
1
);
}
@Override
public
List
<
BlockAlarm
>
queryAll
()
{
return
blockAlarmDao
.
findAll
();
}
}
dev-block/src/main/java/com/tykj/dev/device/block/service/impl/BlockDataServiceImpl.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
service
.
impl
;
import
com.tykj.dev.device.block.dao.BlockDataDao
;
import
com.tykj.dev.device.block.entity.BlockData
;
import
com.tykj.dev.device.block.entity.vo.BlockTraceabilityParsing
;
import
com.tykj.dev.device.block.entity.vo.TraceabilityParsingData
;
import
com.tykj.dev.device.block.service.BlockDataService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.stereotype.Service
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-03 16:14
**/
@Service
public
class
BlockDataServiceImpl
implements
BlockDataService
{
@Autowired
BlockDataDao
blockDataDao
;
@Override
public
BlockData
saveBlockData
(
BlockData
blockData
)
{
return
blockDataDao
.
save
(
blockData
);
}
@Override
public
BlockData
findBillTypeAndBillId
(
Integer
billType
,
Integer
billId
)
{
List
<
BlockData
>
allByBillTypeAndBillId
=
blockDataDao
.
findAllByBillTypeAndBillId
(
billType
,
billId
).
stream
().
sorted
(
Comparator
.
comparing
(
BlockData:
:
getCreateTime
).
reversed
()).
collect
(
Collectors
.
toList
());
if
(
allByBillTypeAndBillId
.
size
()>
0
){
return
allByBillTypeAndBillId
.
get
(
0
);
}
else
{
return
new
BlockData
();
}
}
@Override
public
List
<
BlockData
>
query20
()
{
PageRequest
pageRequest
=
PageRequest
.
of
(
0
,
20
);
List
<
BlockData
>
blockData
=
blockDataDao
.
queryCreateTimeLimit20
(
pageRequest
);
return
blockData
;
}
@Override
public
boolean
contrast
(
BlockTraceabilityParsing
blockTraceabilityParsing
)
{
if
(
blockTraceabilityParsing
.
getOneToTwoTraceabilityParsingList
()!=
null
&&
blockTraceabilityParsing
.
getOneToTwoTraceabilityParsingList
().
size
()>
0
)
{
return
blockTraceabilityParsing
.
getOneToTwoTraceabilityParsingList
().
stream
().
allMatch
(
oneToTwoTraceabilityParsing
->
oneToTwoTraceabilityParsing
.
getBlockTraceabilityParsingData
().
equals
(
oneToTwoTraceabilityParsing
.
getBusinessTraceabilityParsingData
()));
}
else
{
TraceabilityParsingData
businessTraceabilityParsingData
=
blockTraceabilityParsing
.
getBusinessTraceabilityParsingData
();
TraceabilityParsingData
blockTraceabilityParsingData
=
blockTraceabilityParsing
.
getBlockTraceabilityParsingData
();
return
businessTraceabilityParsingData
.
equals
(
blockTraceabilityParsingData
);
}
}
@Override
public
List
<
BlockData
>
findAll
()
{
return
blockDataDao
.
findAll
();
}
DateTimeFormatter
df
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMddHHmmss"
);
private
TraceabilityParsingData
toLocalDateTime
(
TraceabilityParsingData
traceabilityParsingData
){
String
localTime
=
df
.
format
(
traceabilityParsingData
.
getOperationTime
());
traceabilityParsingData
.
setOperationTime
(
null
);
traceabilityParsingData
.
setTime
(
localTime
);
return
traceabilityParsingData
;
}
}
dev-block/src/main/java/com/tykj/dev/device/block/service/impl/BlockServiceImpl.java
0 → 100644
浏览文件 @
a63357bc
package
com
.
tykj
.
dev
.
device
.
block
.
service
.
impl
;
import
com.tykj.dev.device.block.conf.ApI
;
import
com.tykj.dev.device.block.entity.bc.*
;
import
com.tykj.dev.device.block.service.BlockService
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.SortedMap
;
import
java.util.TreeMap
;
/**
* @program: carrier
* @description: todo
* @author: zjm
* @create: 2022-11-02 11:25
**/
@Service
public
class
BlockServiceImpl
implements
BlockService
{
@Value
(
"${block.carrier.ip}"
)
private
String
IP
;
@Override
public
BcRegister
subRegister
(
Integer
systemId
,
String
subName
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subName"
,
subName
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_REGISTER
,
request
,
BcRegister
.
class
);
}
@Override
public
BcText
sendText
(
Integer
systemId
,
Integer
subCode
,
String
content
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"content"
,
content
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_SEND_TEXT
,
request
,
BcText
.
class
);
}
@Override
public
BcHash
sendHash
(
Integer
systemId
,
Integer
subCode
,
String
content
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"content"
,
content
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_SEND_HASH
,
request
,
BcHash
.
class
);
}
@Override
public
BcRecord
fetchRecord
(
Integer
systemId
,
Integer
subCode
,
String
recordId
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"recordId"
,
recordId
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_FETCH_RECORD
,
request
,
BcRecord
.
class
);
}
@Override
public
BcText
appendText
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"content"
,
content
);
request
.
put
(
"recordId"
,
recordId
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_APPEND_TEXT
,
request
,
BcText
.
class
);
}
@Override
public
BcHash
appendHash
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"content"
,
content
);
request
.
put
(
"recordId"
,
recordId
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_APPEND_HASH
,
request
,
BcHash
.
class
);
}
@Override
public
BcVerify
verifyHash
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"content"
,
content
);
request
.
put
(
"recordId"
,
recordId
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_VERIFY_HASH
,
request
,
BcVerify
.
class
);
}
@Override
public
BcVerify
verifyText
(
Integer
systemId
,
Integer
subCode
,
String
content
,
String
recordId
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"content"
,
content
);
request
.
put
(
"recordId"
,
recordId
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_VERIFY_TEXT
,
request
,
BcVerify
.
class
);
}
@Override
public
BcDeposit
depositStatus
(
Integer
systemId
,
Integer
subCode
,
String
recordID
)
{
SortedMap
<
Object
,
Object
>
request
=
getRequest
();
request
.
put
(
"systemId"
,
systemId
);
request
.
put
(
"subCode"
,
subCode
);
request
.
put
(
"recordId"
,
recordID
);
return
new
RestTemplate
().
postForObject
(
IP
+
ApI
.
CO_DEPOSIT_STATUS
,
request
,
BcDeposit
.
class
);
}
private
SortedMap
<
Object
,
Object
>
getRequest
()
{
// long timestamp = System.currentTimeMillis() / 1000;
// String nonce = UUID.randomUUID().toString().trim().replaceAll("-", "");
SortedMap
<
Object
,
Object
>
request
=
new
TreeMap
<
Object
,
Object
>();
// request.put("timestamp", timestamp);
// request.put("nonce", nonce);
// request.put("secretID", SECRET_ID);
return
request
;
}
}
pom.xml
浏览文件 @
a63357bc
...
@@ -52,7 +52,8 @@
...
@@ -52,7 +52,8 @@
<module>
dev-zxing
</module>
<module>
dev-zxing
</module>
<module>
dev-readmachine
</module>
<module>
dev-readmachine
</module>
<module>
dev-screen
</module>
<module>
dev-screen
</module>
</modules>
<module>
dev-block
</module>
</modules>
<properties>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论