Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
项目统一框架
amos-boot-biz
Commits
492dc867
Commit
492dc867
authored
Aug 14, 2023
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
一码通添加redisson分布式锁
parent
f252d61f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
96 additions
and
19 deletions
+96
-19
RedissonManager.java
...join/amos/boot/module/ymt/biz/config/RedissonManager.java
+39
-0
EquipmentCategoryServiceImpl.java
...le/ymt/biz/service/impl/EquipmentCategoryServiceImpl.java
+52
-18
pom.xml
amos-boot-system-tzs/pom.xml
+5
-1
No files found.
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-biz/src/main/java/com/yeejoin/amos/boot/module/ymt/biz/config/RedissonManager.java
0 → 100644
View file @
492dc867
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
biz
.
config
;
import
lombok.extern.slf4j.Slf4j
;
import
org.redisson.Redisson
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.config.Config
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
@Slf4j
public
class
RedissonManager
{
//集群环境使用
@Value
(
"${spring.redis.cluster.nodes}"
)
private
String
clusterNodes
;
//通用
@Value
(
"${spring.redis.password}"
)
private
String
password
;
@Bean
public
RedissonClient
redissonClient
()
{
log
.
info
(
"clusterNodes{}"
,
clusterNodes
);
log
.
info
(
"password{}"
,
password
);
Config
config
=
new
Config
();
config
.
useClusterServers
()
.
addNodeAddress
(
clusterNodes
.
split
(
","
))
.
setPassword
(
password
);
return
Redisson
.
create
(
config
);
}
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-biz/src/main/java/com/yeejoin/amos/boot/module/ymt/biz/service/impl/EquipmentCategoryServiceImpl.java
View file @
492dc867
...
...
@@ -19,12 +19,14 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import
com.yeejoin.amos.boot.module.ymt.api.service.IEquipmentCategoryService
;
import
com.yeejoin.amos.boot.module.ymt.api.vo.EquipExportVo
;
import
com.yeejoin.amos.boot.module.ymt.biz.dao.ESEquipmentCategory
;
import
com.yeejoin.amos.boot.module.ymt.biz.utils.JsonUtils
;
import
com.yeejoin.amos.boot.module.ymt.flc.api.feign.IdxFeignService
;
import
com.yeejoin.amos.boot.module.ymt.flc.api.feign.PrivilegeFeginService
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.lucene.queryparser.classic.QueryParser
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
...
...
@@ -33,10 +35,13 @@ import org.elasticsearch.index.query.BoolQueryBuilder;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.aop.framework.AopContext
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
import
org.springframework.data.elasticsearch.core.ElasticsearchTemplate
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.scheduling.annotation.Async
;
...
...
@@ -58,6 +63,7 @@ import java.text.SimpleDateFormat;
import
java.util.*
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
toJSONString
;
...
...
@@ -1002,6 +1008,11 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
return
records
;
}
@Autowired
RedissonClient
redissonClient
;
private
final
static
String
LOCK_KEY
=
"RESOURCE_KEY"
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseModel
submit
(
Map
<
String
,
Object
>
map
)
{
...
...
@@ -1024,7 +1035,7 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
String
code96333
=
String
.
valueOf
(
superviseMap
.
get
(
"code96333"
));
String
operateType
=
String
.
valueOf
(
superviseMap
.
get
(
"operateType"
));
//生成码
Map
<
String
,
String
>
codeMap
;
Map
<
String
,
String
>
codeMap
=
new
HashMap
<>()
;
if
(
EquipmentCategoryEnum
.
YRL
.
getName
().
equals
(
claimStatus
))
{
log
.
info
(
"准备生成监管码或96333电梯识别码"
);
String
city
=
String
.
valueOf
(
superviseMap
.
get
(
"city"
));
...
...
@@ -1033,7 +1044,14 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
String
supervisionCode
=
String
.
valueOf
(
superviseMap
.
get
(
"supervisionCode"
));
EquipmentCategoryServiceImpl
categoryService
=
(
EquipmentCategoryServiceImpl
)
AopContext
.
currentProxy
();
//生成码
RLock
lock
=
redissonClient
.
getLock
(
LOCK_KEY
);
lock
.
lock
();
// 获取锁
log
.
info
(
"加锁成功"
);
codeMap
=
categoryService
.
creatCode
(
city
,
county
,
equCategory
,
code96333
,
supervisionCode
);
log
.
info
(
"生成码成功"
);
lock
.
unlock
();
// 释放锁
log
.
info
(
"释放锁"
);
log
.
info
(
"已生成对应监管码或96333电梯识别码"
);
//删除map中的冗余数据,添加对应监管码和96333码调用idx多表单页提交接口吧保存数据
map
.
remove
(
"data"
);
...
...
@@ -1243,84 +1261,100 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
//SEQUENCE_NBR
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"SEQUENCE_NBR"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"SEQUENCE_NBR"
,
"*"
+
map
.
getString
(
"SEQUENCE_NBR"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"SEQUENCE_NBR"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"SEQUENCE_NBR"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"ORG_BRANCH_NAME"
)))
{
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"ORG_BRANCH_NAME"
,
"*"
+
map
.
getString
(
"ORG_BRANCH_NAME"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"ORG_BRANCH_NAME"
));
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"ORG_BRANCH_NAME"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
query
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"ORG_BRANCH_CODE"
)))
{
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"ORG_BRANCH_CODE"
,
"*"
+
map
.
getString
(
"ORG_BRANCH_CODE"
)
+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"ORG_BRANCH_CODE"
));
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"ORG_BRANCH_CODE"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
query
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"USE_UNIT_NAME"
)))
{
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_UNIT_NAME"
,
"*"
+
map
.
getString
(
"USE_UNIT_NAME"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"USE_UNIT_NAME"
));
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_UNIT_NAME"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
query
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"USE_UNIT_CREDIT_CODE"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_UNIT_CREDIT_CODE"
,
"*"
+
map
.
getString
(
"USE_UNIT_CREDIT_CODE"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"USE_UNIT_CREDIT_CODE"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_UNIT_CREDIT_CODE"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"EQU_LIST_CODE"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_LIST_CODE"
,
"*"
+
map
.
getString
(
"EQU_LIST_CODE"
)
+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"EQU_LIST_CODE"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_LIST_CODE"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"EQU_LIST"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_LIST"
,
"*"
+
map
.
getString
(
"EQU_LIST"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"EQU_LIST"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_LIST"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"EQU_CATEGORY"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_CATEGORY"
,
"*"
+
map
.
getString
(
"EQU_CATEGORY"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"EQU_CATEGORY"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_CATEGORY"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"USE_ORG_CODE"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_ORG_CODE"
,
"*"
+
map
.
getString
(
"USE_ORG_CODE"
).
toLowerCase
()+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"USE_ORG_CODE"
).
toLowerCase
());
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_ORG_CODE"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"CODE96333"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
wildcardQuery
(
"CODE96333"
,
"*"
+
map
.
getString
(
"CODE96333"
).
toLowerCase
()+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"CODE96333"
).
toLowerCase
());
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"CODE96333"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"EQU_CODE"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
wildcardQuery
(
"EQU_CODE"
,
"*"
+
map
.
getString
(
"EQU_CODE"
)
+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"EQU_CODE"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_CODE"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"SUPERVISORY_CODE"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
wildcardQuery
(
"SUPERVISORY_CODE"
,
"*"
+
map
.
getString
(
"SUPERVISORY_CODE"
).
toLowerCase
()+
"*"
));
// String test = QueryParser.escape(map.getString("SUPERVISORY_CODE").toLowerCase());
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"SUPERVISORY_CODE"
,
"*"
+
map
.
getString
(
"SUPERVISORY_CODE"
).
toLowerCase
()
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"USE_PLACE"
)))
{
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_PLACE"
,
"*"
+
map
.
getString
(
"USE_PLACE"
)
+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"USE_PLACE"
));
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_PLACE"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
query
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"ADDRESS"
)))
{
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"ADDRESS"
,
"*"
+
map
.
getString
(
"ADDRESS"
)
+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"ADDRESS"
));
query
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"ADDRESS"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
query
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"EQU_STATE"
))
)
{
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"EQU_STATE"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"EQU_STATE"
,
map
.
getLong
(
"EQU_STATE"
)));
String
test
=
QueryParser
.
escape
(
map
.
getLong
(
"EQU_STATE"
).
toString
());
meBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"EQU_STATE"
,
test
));
boolMust
.
must
(
meBuilder
);
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
getString
(
"STATUS"
)))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"STATUS"
,
"*"
+
map
.
getString
(
"STATUS"
)+
"*"
));
String
test
=
QueryParser
.
escape
(
map
.
getString
(
"STATUS"
));
meBuilder
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"STATUS"
,
"*"
+
test
+
"*"
));
boolMust
.
must
(
meBuilder
);
}
builder
.
query
(
boolMust
);
...
...
amos-boot-system-tzs/pom.xml
View file @
492dc867
...
...
@@ -68,7 +68,11 @@
<artifactId>
amos-component-security
</artifactId>
<version>
${amos.version.tzs}
</version>
</dependency>
<dependency>
<groupId>
org.redisson
</groupId>
<artifactId>
redisson
</artifactId>
<version>
2.7.0
</version>
</dependency>
</dependencies>
<dependencyManagement>
...
...
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