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
ac832c1d
Commit
ac832c1d
authored
Jun 05, 2024
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.问题生产增加充装检查不合格
parent
ea0c8eb4
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
322 additions
and
560 deletions
+322
-560
CylinderFillingRecordDto.java
...module/cylinder/flc/api/dto/CylinderFillingRecordDto.java
+15
-1
CylinderQuestionCreateEvent.java
...odule/cylinder/biz/event/CylinderQuestionCreateEvent.java
+25
-0
CylinderQuestionCreateEventListener.java
...z/event/listener/CylinderQuestionCreateEventListener.java
+153
-0
EventPublisher.java
...t/module/cylinder/biz/event/publisher/EventPublisher.java
+24
-0
BaseEnterpriseMqTtlListener.java
...le/cylinder/biz/listener/BaseEnterpriseMqTtlListener.java
+0
-167
CarcylUnitInspectMqTtlListener.java
...cylinder/biz/listener/CarcylUnitInspectMqTtlListener.java
+0
-110
CylinderFillingInsertEventListener.java
...nder/biz/listener/CylinderFillingInsertEventListener.java
+103
-0
PlatformUserTopicMessage.java
...odule/cylinder/biz/listener/PlatformUserTopicMessage.java
+0
-82
PrivilegeCompanyDeleteListener.java
...cylinder/biz/listener/PrivilegeCompanyDeleteListener.java
+0
-41
PrivilegeCompanyUpdateAddListener.java
...inder/biz/listener/PrivilegeCompanyUpdateAddListener.java
+0
-157
CylinderUnitVideoServiceImpl.java
...er/flc/biz/service/impl/CylinderUnitVideoServiceImpl.java
+2
-2
No files found.
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-api/src/main/java/com/yeejoin/amos/boot/module/cylinder/flc/api/dto/CylinderFillingRecordDto.java
View file @
ac832c1d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
cylinder
.
flc
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -78,5 +78,19 @@ public class CylinderFillingRecordDto extends BaseDto {
@ApiModelProperty
(
value
=
"充装信息审核ID"
)
private
String
fillingExamineId
;
@ApiModelProperty
(
value
=
"单位下气瓶唯一标识"
)
private
String
sequenceCode
;
@ApiModelProperty
(
value
=
"地区信息"
)
private
String
regionCode
;
@ApiModelProperty
(
value
=
"充装单位名称"
)
private
String
fillingUnitName
;
@ApiModelProperty
(
value
=
"充装前检查结果"
)
private
String
fillingResult
;
@ApiModelProperty
(
value
=
"充装后检查结果"
)
private
String
checkResult
;
}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/event/CylinderQuestionCreateEvent.java
0 → 100644
View file @
ac832c1d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
cylinder
.
biz
.
event
;
import
com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderQuestionInfoDto
;
import
lombok.Getter
;
import
org.springframework.context.ApplicationEvent
;
/**
* @author Administrator
*/
@Getter
public
class
CylinderQuestionCreateEvent
extends
ApplicationEvent
{
private
CylinderQuestionInfoDto
cylinderQuestionInfoDto
;
/**
* Create a new {@code ApplicationEvent}.
*
* @param source the object on which the event initially occurred or with
* which the event is associated (never {@code null})
*/
public
CylinderQuestionCreateEvent
(
Object
source
,
CylinderQuestionInfoDto
cylinderQuestionInfoDto
)
{
super
(
source
);
this
.
cylinderQuestionInfoDto
=
cylinderQuestionInfoDto
;
}
}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/event/listener/CylinderQuestionCreateEventListener.java
0 → 100644
View file @
ac832c1d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
cylinder
.
biz
.
event
.
listener
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Sequence
;
import
com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderQuestionInfoDto
;
import
com.yeejoin.amos.boot.module.cylinder.api.entity.CylinderQuestionInfo
;
import
com.yeejoin.amos.boot.module.cylinder.biz.event.CylinderQuestionCreateEvent
;
import
com.yeejoin.amos.boot.module.cylinder.biz.service.impl.CylinderQuestionInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderInfo
;
import
com.yeejoin.amos.boot.module.cylinder.flc.biz.service.impl.CylinderInfoServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
javax.annotation.PostConstruct
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.*
;
import
java.util.concurrent.locks.ReentrantLock
;
import
java.util.stream.Collectors
;
/**
* @author Administrator
*/
@Component
@Slf4j
public
class
CylinderQuestionCreateEventListener
implements
ApplicationListener
<
CylinderQuestionCreateEvent
>
{
@Value
(
"${cylinder.question.create.thread.number:3}"
)
private
int
threadNumber
;
private
CylinderInfoServiceImpl
cylinderInfoService
;
private
CylinderQuestionInfoServiceImpl
cylinderQuestionInfoService
;
private
Sequence
sequence
;
public
CylinderQuestionCreateEventListener
(
CylinderInfoServiceImpl
cylinderInfoService
,
CylinderQuestionInfoServiceImpl
cylinderQuestionInfoService
,
Sequence
sequence
)
{
this
.
cylinderInfoService
=
cylinderInfoService
;
this
.
cylinderQuestionInfoService
=
cylinderQuestionInfoService
;
this
.
sequence
=
sequence
;
}
private
Map
<
String
,
CylinderInfo
>
sequenceCodeAppIdCylinderInfoMap
=
new
ConcurrentHashMap
<>();
/**
* 批量入库大小
*/
private
int
batchSize
=
10
;
private
List
<
BlockingQueue
<
CylinderQuestionInfoDto
>>
hashCodeBlockingQueues
=
new
ArrayList
<>();
private
ReentrantLock
reentrantLock
=
new
ReentrantLock
();
@Override
public
void
onApplicationEvent
(
CylinderQuestionCreateEvent
event
)
{
// 按照一定的规则将不同的问题对象放到不同的队列里,保证多线程不会同时操作不同的问题对象数据,减少了线程的冲突,提高执行效率
int
queueIndex
=
Math
.
abs
(
event
.
getCylinderQuestionInfoDto
().
getQuestionObjectId
().
hashCode
())
%
threadNumber
;
hashCodeBlockingQueues
.
get
(
queueIndex
).
add
(
event
.
getCylinderQuestionInfoDto
());
}
@PostConstruct
public
void
initCustomThread
()
{
// 初始化队列,按照线程数动态创建队列
initQueue
();
// 多线程执行消费队列入库
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
threadNumber
);
for
(
int
i
=
0
;
i
<
threadNumber
;
i
++)
{
BlockingQueue
<
CylinderQuestionInfoDto
>
queue
=
hashCodeBlockingQueues
.
get
(
i
);
executorService
.
execute
(()
->
{
while
(
true
)
{
try
{
CylinderQuestionInfoDto
questionInfoDto
=
queue
.
take
();
List
<
CylinderQuestionInfoDto
>
waitSaveData
=
new
ArrayList
<>();
waitSaveData
.
add
(
questionInfoDto
);
try
{
reentrantLock
.
lock
();
if
(
queue
.
size
()
>
batchSize
)
{
queue
.
drainTo
(
waitSaveData
,
batchSize
);
}
}
finally
{
reentrantLock
.
unlock
();
}
this
.
save2DbBatch
(
waitSaveData
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
});
}
}
private
void
initQueue
()
{
for
(
int
i
=
0
;
i
<
threadNumber
;
i
++)
{
hashCodeBlockingQueues
.
add
(
new
LinkedBlockingQueue
<>());
}
}
private
void
save2DbBatch
(
List
<
CylinderQuestionInfoDto
>
questionInfos
)
{
List
<
CylinderQuestionInfo
>
cylinderQuestionInfos
=
questionInfos
.
stream
().
map
(
q
->
{
CylinderQuestionInfo
cylinderQuestionInfo
=
new
CylinderQuestionInfo
();
BeanUtil
.
copyProperties
(
q
,
cylinderQuestionInfo
);
cylinderQuestionInfo
.
setSequenceNbr
(
sequence
.
nextId
());
// 将sequenceCode换成sequenceNbr
cylinderQuestionInfo
.
setQuestionObjectId
(
this
.
castSeqCode2SeqNo
(
q
.
getQuestionObjectId
(),
q
.
getQuestionAttributionId
()));
cylinderQuestionInfo
.
setQuestionObjectName
(
this
.
getQuestionObjectName
(
q
.
getQuestionObjectId
(),
q
.
getQuestionAttributionId
()));
cylinderQuestionInfo
.
setRecDate
(
new
Date
());
return
cylinderQuestionInfo
;
}).
collect
(
Collectors
.
toList
());
cylinderQuestionInfoService
.
saveBatch
(
cylinderQuestionInfos
);
}
private
String
getQuestionObjectName
(
String
sequenceCode
,
String
appId
)
{
String
uniKey
=
getUniKey
(
appId
,
sequenceCode
);
if
(
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
)
!=
null
)
{
return
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
).
getFactoryNum
()
+
""
;
}
return
""
;
}
private
String
castSeqCode2SeqNo
(
String
sequenceCode
,
String
appId
)
{
String
uniKey
=
getUniKey
(
appId
,
sequenceCode
);
if
(
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
)
!=
null
)
{
return
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
).
getSequenceNbr
()
+
""
;
}
synchronized
(
this
)
{
if
(
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
)
!=
null
)
{
return
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
).
getSequenceNbr
()
+
""
;
}
CylinderInfo
cylinderInfo
=
cylinderInfoService
.
getBaseMapper
().
selectOne
(
new
LambdaQueryWrapper
<
CylinderInfo
>()
.
eq
(
CylinderInfo:
:
getSequenceCode
,
sequenceCode
)
.
select
(
BaseEntity:
:
getSequenceNbr
,
CylinderInfo:
:
getAppId
,
CylinderInfo:
:
getUnitName
,
CylinderInfo:
:
getFactoryNum
));
sequenceCodeAppIdCylinderInfoMap
.
put
(
uniKey
,
cylinderInfo
);
}
return
sequenceCodeAppIdCylinderInfoMap
.
get
(
uniKey
).
getSequenceNbr
()
+
""
;
}
private
String
getUniKey
(
String
appId
,
String
sequenceCode
)
{
return
String
.
format
(
"%s:%s"
,
appId
,
sequenceCode
);
}
}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/event/publisher/EventPublisher.java
0 → 100644
View file @
ac832c1d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
cylinder
.
biz
.
event
.
publisher
;
import
org.springframework.context.ApplicationEvent
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
/**
* @author Administrator
*/
@Component
public
class
EventPublisher
{
private
ApplicationEventPublisher
publisher
;
public
EventPublisher
(
ApplicationEventPublisher
publisher
)
{
this
.
publisher
=
publisher
;
}
@Async
public
void
publish
(
ApplicationEvent
event
)
{
publisher
.
publishEvent
(
event
);
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/listener/BaseEnterpriseMqTtlListener.java
deleted
100644 → 0
View file @
ea0c8eb4
//package com.yeejoin.amos.boot.module.cylinder.biz.listener;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.Collection;
//import java.util.Collections;
//import java.util.HashMap;
//import java.util.HashSet;
//import java.util.List;
//import java.util.Map;
//import java.util.Set;
//import java.util.stream.Collectors;
//
//import com.yeejoin.amos.boot.module.cylinder.biz.utils.DesUtil;
//import com.yeejoin.amos.boot.module.cylinder.biz.utils.RedisUtil;
//import org.eclipse.paho.client.mqttv3.MqttMessage;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//import org.typroject.tyboot.component.emq.EmqxListener;
//import org.typroject.tyboot.core.foundation.context.RequestContext;
//
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
//import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
//import com.yeejoin.amos.component.feign.model.FeignClientResult;
//import com.yeejoin.amos.feign.privilege.Privilege;
//import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
//import com.yeejoin.amos.feign.privilege.model.ApplicationModel;
//import com.yeejoin.amos.feign.privilege.model.CompanyModel;
//import com.yeejoin.amos.feign.privilege.model.RoleModel;
//
//import lombok.extern.slf4j.Slf4j;
//
///**
// * @Description: mqtt监听服务
// * @Author: duanwei
// * @Date: 2020/9/15
// */
//@Component
//@Slf4j
//public class BaseEnterpriseMqTtlListener extends EmqxListener {
// @Value("${amos.secret.key}")
// String secretKey;
//
// @Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
// String product;
//
// @Value("${amos.system.user.app-key:AMOS_STUDIO}")
// String appkey;
// @Autowired
// RedisUtil redisUtil;
//
// @Autowired
// DataDictionaryServiceImpl iDataDictionaryService;
//
// @Value("${org.filter.group.seq}")
// private Long groupSeq;
//
// @Override
// public void processMessage(String topic, MqttMessage message) throws Exception {
// System.out.println(message);
// JSONObject object = null;
// try {
// object = JSONObject.parseObject(message.toString());
// } catch (Exception e) {
// throw new Exception("公司同步消息解析失败");
// }
// RequestContext.setAppKey(appkey);
// RequestContext.setProduct(product);
// RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
// FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
// List<ApplicationModel> aList = aResult.getResult();
//// List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
//// .map(i -> i.getAppCode()).collect(Collectors.toList());
// FeignClientResult<CompanyModel> cResult = Privilege.companyClient.seleteOne(object.getLong("sequence_nbr"));
// // FeignClientResult<Collection<CompanyModel>> cResult =
// // Privilege.companyClient.queryAgencyTree(null);
// String useCode = object.getString("use_code");
// // if (useCode == null || !isUse(useCode, cResult.getResult())) {
// if (cResult.getResult() == null) {
// CompanyModel companyModel = new CompanyModel();
// companyModel.setCompanyName(object.getString("use_unit"));
// companyModel.setParentId(0L);
// companyModel.setLevel("company");
// String unitTypes = object.getString("unit_type");
// companyModel.setCompanyType(unitTypes);
// // companyModel.setSequenceNbr(object.getLong("sequence_nbr"));
// companyModel.setCompanyCode(useCode);
// if (object.getString("supervise_org_code") != null) {
// FeignClientResult<HashMap<String, Object>> result = Privilege.companyClient
// .queryByOrgcode(object.getString("supervise_org_code"));
// // JSONObject parent =
// // JSONObject.parseObject(JSONObject.toJSONString(result.getResult()));
// if (result.getResult().get("sequenceNbr") != null) {
// companyModel.setParentId(Long.valueOf(result.getResult().get("sequenceNbr").toString()));
// }
// }
// FeignClientResult<CompanyModel> createResult = Privilege.companyClient.create(companyModel);
// Long companySqr = createResult.getResult().getSequenceNbr();
// String unitCode = object.getString("use_code");
// if (unitCode == null || unitCode.length() < 6) {
// log.error("公司统一信用代码长度不够6位");
// throw new Exception("公司统一信用代码长度不够6位");
// }
// String userName = unitCode.substring(unitCode.length() - 6, unitCode.length());
// FeignClientResult<AgencyUserModel> uResult = Privilege.agencyUserClient.queryByUserName(userName);
// if (uResult.getResult() == null) {
// FeignClientResult<List<RoleModel>> roleListResult = Privilege.roleClient.queryRoleList(null, null);
// List<RoleModel> allRoleList = roleListResult.getResult();
// AgencyUserModel userModel = new AgencyUserModel();
// userModel.setUserName(userName);
// userModel.setRealName(userName);
// userModel.setPassword(DesUtil.encode(userName, secretKey));
// userModel.setRePassword(DesUtil.encode(userName, secretKey));
// // userModel.setMobile(vo.getPhoneNo());
// userModel.setLockStatus("UNLOCK");
// // FeignClientResult<List<RoleModel>> list =
// // Privilege.roleClient.queryRoleList("使用单位", "admin");
// String[] unitTypeArray = unitTypes.split(",");
// List<String> unitTypeList = Arrays.asList(unitTypeArray);
// Set<String> roleNameSet = new HashSet<>();
// Set<String> appCodesSet = new HashSet<>();
// List<RoleModel> userRoleList = new ArrayList<>();
// List<Long> roleIds = new ArrayList<>();
// Map<Long, List<Long>> roleSeqMap = new HashMap<>();
// for (String unitTypeStr : unitTypeList) {
// DataDictionary unitType = iDataDictionaryService
// .getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getName, unitTypeStr));
// String appCode = unitType.getTypeDesc() != null ? unitType.getTypeDesc() : "";
// String[] appCodes = appCode.split(",");
// Collections.addAll(appCodesSet, appCodes);
// roleNameSet.add(unitType.getName());
// userRoleList = allRoleList.stream().filter(r -> r.getRoleName().equals(unitType.getName()))
// .collect(Collectors.toList());
// for (RoleModel r : userRoleList) {
// if (!roleIds.contains(r.getSequenceNbr())) {
// roleIds.add(r.getSequenceNbr());
// }
// }
// roleSeqMap.put(companySqr, roleIds);
// }
// userModel.setAppCodes(new ArrayList<>(appCodesSet));
// userModel.setOrgRoleSeqs(roleSeqMap);
// FeignClientResult<AgencyUserModel> userResult = Privilege.agencyUserClient.create(userModel);
// String[] userIds = { userResult.getResult().getUserId() };
//// if (groupSeq != null) {
//// Privilege.groupUserClient.create(groupSeq, Arrays.asList(userIds));
//// }
// }
// }
// }
//
// private boolean isUse(String useCode, Collection<CompanyModel> companys) {
// for (Object obj : companys) {
// String json = JSONObject.toJSONString(obj);
// CompanyModel companyMode = JSONObject.toJavaObject(JSONObject.parseObject(json), CompanyModel.class);
// if (useCode.equals(companyMode.getCompanyCode())) {
// return true;
// } else if (companyMode.getChildren() != null) {
// return isUse(useCode, companyMode.getChildren());
// }
// }
// return false;
// }
//}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/listener/CarcylUnitInspectMqTtlListener.java
deleted
100644 → 0
View file @
ea0c8eb4
//package com.yeejoin.amos.boot.module.cylinder.biz.listener;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.stream.Collectors;
//
//import com.yeejoin.amos.boot.module.cylinder.biz.utils.DesUtil;
//import com.yeejoin.amos.boot.module.cylinder.biz.utils.RedisUtil;
//import org.eclipse.paho.client.mqttv3.MqttMessage;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//import org.typroject.tyboot.component.emq.EmqxListener;
//import org.typroject.tyboot.core.foundation.context.RequestContext;
//
//import com.alibaba.fastjson.JSONObject;
//import com.yeejoin.amos.component.feign.model.FeignClientResult;
//import com.yeejoin.amos.feign.privilege.Privilege;
//import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
//import com.yeejoin.amos.feign.privilege.model.ApplicationModel;
//import com.yeejoin.amos.feign.privilege.model.CompanyModel;
//import com.yeejoin.amos.feign.privilege.model.RoleModel;
//
//import lombok.extern.slf4j.Slf4j;
//
///**
// * @Description: mqtt监听服务
// * @Author: duanwei
// * @Date: 2020/9/15
// */
//@Component
//@Slf4j
//public class CarcylUnitInspectMqTtlListener extends EmqxListener {
// @Value("${amos.secret.key}")
// String secretKey;
//
// @Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
// String product;
//
// @Value("${amos.system.user.app-key:AMOS_STUDIO}")
// String appkey;
// @Autowired
// RedisUtil redisUtil;
//
// @Value("${org.filter.group.seq}")
// private Long groupSeq;
//
// @Override
// public void processMessage(String topic, MqttMessage message) throws Exception {
// System.out.println(message);
// JSONObject object = null;
// try {
// object = JSONObject.parseObject(message.toString());
// } catch (Exception e) {
// throw new Exception("公司同步消息解析失败");
// }
// RequestContext.setAppKey(appkey);
// RequestContext.setProduct(product);
// RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
// FeignClientResult<List<ApplicationModel>> aResult = Privilege.applicationClient.queryAgencyApplications();
// List<ApplicationModel> aList = aResult.getResult();
// List<String> appCodes = aList.stream().filter(i -> "监管端,企业端".indexOf(i.getAppName()) != -1)
// .map(i -> i.getAppCode()).collect(Collectors.toList());
// String uuid = object.getString("id");
// Long id = Long.valueOf(uuid.replaceAll("-","").hashCode());
//
// FeignClientResult<CompanyModel> cResult = Privilege.companyClient.seleteOne(id);
// if (cResult.getResult() == null) {
// CompanyModel companyModel = new CompanyModel();
// companyModel.setCompanyName(object.getString("inspect_unit_name"));
// companyModel.setParentId(0L);
// companyModel.setLevel("company");
// companyModel.setSequenceNbr(id);
// companyModel.setCompanyCode(object.getString("org_unit_name"));
// companyModel.setCompanyType("检验单位");
// Privilege.companyClient.create(companyModel);
// }
//
// String unitCode = object.getString("org_unit_name");
// if (unitCode == null || unitCode.length() < 6) {
// log.error("公司统一信用代码长度不够6位");
// throw new Exception("公司统一信用代码长度不够6位");
// }
// String userName = unitCode.substring(unitCode.length() - 6, unitCode.length());
// FeignClientResult<AgencyUserModel> uResult = Privilege.agencyUserClient.queryByUserName(userName);
// if (uResult.getResult() == null) {
// AgencyUserModel userModel = new AgencyUserModel();
// userModel.setUserName(userName);
// userModel.setRealName(userName);
// userModel.setPassword(DesUtil.encode(userName, secretKey));
// userModel.setRePassword(DesUtil.encode(userName, secretKey));
// // userModel.setMobile(vo.getPhoneNo());
// userModel.setLockStatus("UNLOCK");
// FeignClientResult<List<RoleModel>> list = Privilege.roleClient.queryRoleList("检验单位", "admin");
// Map<Long, List<Long>> orgRoles = new HashMap<>();
// List<Long> roleIds = new ArrayList<>();
// roleIds.add(list.getResult().get(0).getSequenceNbr());
// orgRoles.put(id, roleIds);
// userModel.setAppCodes(appCodes);
// userModel.setOrgRoleSeqs(orgRoles);
// FeignClientResult<AgencyUserModel> userResult =Privilege.agencyUserClient.create(userModel);
// String[] userIds = {userResult.getResult().getUserId()};
//// if (groupSeq != null) {
//// Privilege.groupUserClient.create(groupSeq, Arrays.asList(userIds));
//// }
// }
// }
//}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/listener/CylinderFillingInsertEventListener.java
0 → 100644
View file @
ac832c1d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
cylinder
.
biz
.
listener
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderQuestionInfoDto
;
import
com.yeejoin.amos.boot.module.cylinder.api.enums.QuestionTypeEnum
;
import
com.yeejoin.amos.boot.module.cylinder.biz.event.CylinderQuestionCreateEvent
;
import
com.yeejoin.amos.boot.module.cylinder.biz.event.publisher.EventPublisher
;
import
com.yeejoin.amos.boot.module.cylinder.flc.api.dto.CylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.cylinder.flc.api.enums.CyclinderStatus
;
import
lombok.extern.slf4j.Slf4j
;
import
org.eclipse.paho.client.mqttv3.MqttMessage
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.component.emq.EmqxListener
;
import
javax.annotation.PostConstruct
;
import
java.nio.charset.StandardCharsets
;
import
java.util.concurrent.BlockingQueue
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.LinkedBlockingQueue
;
/**
* @author Administrator
*/
@Component
@Slf4j
public
class
CylinderFillingInsertEventListener
extends
EmqxListener
{
@Value
(
"${cylinder.filling.insert.msg.custom.thread.number:3}"
)
private
int
threadNumber
;
@Value
(
"${cylinder.filling.insert.topic:cylinder/filling/insert/topic}"
)
private
String
insertTopic
;
@Value
(
"${spring.application.name:TZS-CYLINDER}"
)
private
String
applicationName
;
private
EventPublisher
eventPublisher
;
private
EmqKeeper
emqKeeper
;
private
BlockingQueue
<
CylinderFillingRecordDto
>
blockingQueue
=
new
LinkedBlockingQueue
<>();
public
CylinderFillingInsertEventListener
(
EventPublisher
eventPublisher
,
EmqKeeper
emqKeeper
)
{
this
.
eventPublisher
=
eventPublisher
;
this
.
emqKeeper
=
emqKeeper
;
}
@PostConstruct
public
void
init
()
throws
Exception
{
emqKeeper
.
subscript
(
this
.
getShareTopic
(),
2
,
this
);
consumeTheQueue
();
}
private
void
consumeTheQueue
()
{
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
threadNumber
);
for
(
int
i
=
0
;
i
<
threadNumber
;
i
++)
{
executorService
.
execute
(()
->
{
while
(
true
)
{
try
{
CylinderFillingRecordDto
cylinderFillingRecordDto
=
blockingQueue
.
take
();
this
.
createCylinderFillingQuestion
(
cylinderFillingRecordDto
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
});
}
}
private
String
getShareTopic
()
{
return
String
.
format
(
"%s/%s/%s"
,
"$share"
,
applicationName
,
insertTopic
);
}
private
void
createCylinderFillingQuestion
(
CylinderFillingRecordDto
cylinderFillingRecordDto
)
{
if
(
CyclinderStatus
.
HEGE
.
getName
().
equals
(
cylinderFillingRecordDto
.
getFillingResult
())
&&
CyclinderStatus
.
HEGE
.
getName
().
equals
(
cylinderFillingRecordDto
.
getCheckResult
()))
{
log
.
info
(
"气瓶充装信息前后全部合格,不创建问题!"
);
}
else
{
CylinderQuestionInfoDto
questionInfo
=
new
CylinderQuestionInfoDto
();
questionInfo
.
setQuestionType
(
QuestionTypeEnum
.
CZJCBHG
.
getCode
());
questionInfo
.
setQuestionTypeName
(
QuestionTypeEnum
.
CZJCBHG
.
getName
());
questionInfo
.
setQuestionAttributionId
(
cylinderFillingRecordDto
.
getAppId
());
questionInfo
.
setQuestionAttributionName
(
cylinderFillingRecordDto
.
getFillingUnitName
());
questionInfo
.
setRegionCode
(
cylinderFillingRecordDto
.
getRegionCode
());
questionInfo
.
setQuestionObjectId
(
cylinderFillingRecordDto
.
getSequenceCode
());
questionInfo
.
setHappenDate
(
cylinderFillingRecordDto
.
getSyncDate
());
eventPublisher
.
publish
(
new
CylinderQuestionCreateEvent
(
this
,
questionInfo
));
}
}
@Override
public
void
processMessage
(
String
topic
,
MqttMessage
message
)
{
log
.
info
(
"收到充装信息插入消息:{}"
,
JSONObject
.
toJSONString
(
message
));
String
msg
=
new
String
(
message
.
getPayload
(),
StandardCharsets
.
UTF_8
);
CylinderFillingRecordDto
cylinderFillingRecordDto
=
JSONObject
.
parseObject
(
msg
,
CylinderFillingRecordDto
.
class
);
blockingQueue
.
add
(
cylinderFillingRecordDto
);
}
}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/listener/PlatformUserTopicMessage.java
deleted
100644 → 0
View file @
ea0c8eb4
//package com.yeejoin.amos.boot.module.cylinder.biz.listener;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
//import com.yeejoin.amos.boot.module.cylinder.api.service.IEquipmentCategoryService;
//import com.yeejoin.amos.boot.module.cylinder.flc.api.service.IRegUnitInfoService;
//import lombok.extern.slf4j.Slf4j;
//import org.eclipse.paho.client.mqttv3.MqttMessage;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.scheduling.annotation.EnableScheduling;
//import org.springframework.stereotype.Component;
//import org.typroject.tyboot.component.emq.EmqKeeper;
//import org.typroject.tyboot.component.emq.EmqxListener;
//import org.typroject.tyboot.core.foundation.context.RequestContext;
//
//import javax.annotation.PostConstruct;
//import javax.annotation.Resource;
//
//@Component
//@EnableScheduling
//@Slf4j
//public class PlatformUserTopicMessage extends EmqxListener {
// @Resource
// protected EmqKeeper emqKeeper;
//
// @Value("${amos.operation.log}")
// private String amosOperationLog;
//
// @PostConstruct
// void init() throws Exception {
// emqKeeper.subscript(amosOperationLog, 1, this);
// }
//
// @Value("${amos.agency.code}")
// String amosAgencyCode;
//
// @Autowired
// RedisUtils redisUtil;
//
// @Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
// String product;
//
// @Value("${amos.system.user.app-key:AMOS_STUDIO}")
// String appKey;
//
// @Autowired
// IEquipmentCategoryService equipmentCategoryService;
//
// @Autowired
// IRegUnitInfoService regUnitInfoService;
//
// @Override
// public void processMessage(String topic, MqttMessage message) {
// RequestContext.setAppKey(appKey);
// RequestContext.setProduct(product);
// RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
// JSONObject jsonObject = JSON.parseObject(message.toString());
// JSONObject result = jsonObject.getJSONObject("result");
// JSONObject dataResult = result.getJSONObject("result");
// String path = result.getString("path");
// String agencyCode = jsonObject.getString("agencyCode");
// if (!amosAgencyCode.equals(agencyCode)) {
// return;
// }
// try {
// if (StringUtils.isNotEmpty(path)) {
// if (path.contains("company") && !"company".equals(dataResult.get("level"))) {
// equipmentCategoryService.creatTree();
// } else if (path.contains("agencyuser")) {
// regUnitInfoService.updateAdminInfo(dataResult);
// }
// }
// } catch (Exception e) {
// log.info("平台同步消息失败:{}", e.getMessage());
// e.printStackTrace();
// }
// log.info("平台推送消息同步完成");
// }
//}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/listener/PrivilegeCompanyDeleteListener.java
deleted
100644 → 0
View file @
ea0c8eb4
//package com.yeejoin.amos.boot.module.cylinder.biz.listener;
//
//import com.yeejoin.amos.boot.module.cylinder.biz.utils.RedisUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.eclipse.paho.client.mqttv3.MqttMessage;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//import org.typroject.tyboot.component.emq.EmqxListener;
//
//@Component
//@Slf4j
//public class PrivilegeCompanyDeleteListener extends EmqxListener {
//
// @Autowired
// RedisUtil redisUtil;
//
// @Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
// String product;
//
// @Value("${amos.system.user.app-key:AMOS_STUDIO}")
// String appkey;
//
//
// @Override
// public void processMessage(String s, MqttMessage message) throws Exception {
//// System.out.println(message);
//// JSONObject object = null;
//// try {
//// object = JSONObject.parseObject(message.toString());
//// } catch (Exception e) {
//// throw new Exception("公司同步消息解析失败");
//// }
//// RequestContext.setAppKey(appkey);
//// RequestContext.setProduct(product);
//// RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
////
//// //通过sequence_nbr删除企业
//// Privilege.companyClient.deleteCompany(object.getString("sequence_nbr"));
// }
//}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/biz/listener/PrivilegeCompanyUpdateAddListener.java
deleted
100644 → 0
View file @
ea0c8eb4
//package com.yeejoin.amos.boot.module.cylinder.biz.listener;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
//import com.yeejoin.amos.boot.module.cylinder.biz.utils.RedisUtil;
//import com.yeejoin.amos.boot.module.cylinder.api.entity.TzBaseEnterpriseInfo;
//import com.yeejoin.amos.boot.module.cylinder.biz.service.impl.TzBaseEnterpriseInfoServiceImpl;
//import com.yeejoin.amos.boot.module.cylinder.flc.api.feign.AccessFeignService;
//
//import com.yeejoin.amos.feign.privilege.Privilege;
//import com.yeejoin.amos.feign.privilege.model.CompanyModel;
//import lombok.extern.slf4j.Slf4j;
//import org.eclipse.paho.client.mqttv3.MqttMessage;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//import org.typroject.tyboot.component.emq.EmqxListener;
//import org.typroject.tyboot.core.foundation.context.RequestContext;
//import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
//
//import java.text.SimpleDateFormat;
//import java.util.*;
//
//@Component
//@Slf4j
//public class PrivilegeCompanyUpdateAddListener extends EmqxListener {
//
// Logger logger = LoggerFactory.getLogger(PrivilegeCompanyUpdateAddListener.class);
//
// @Autowired
// TzBaseEnterpriseInfoServiceImpl tzBaseEnterpriseInfoService;
//
// @Autowired
// AccessFeignService accessFeignService;
//
// @Autowired
// RedisUtil redisUtil;
//
// @Value("${amos.system.user.product:AMOS_STUDIO_WEB}")
// String product;
//
// @Value("${amos.system.user.app-key:AMOS_STUDIO}")
// String appKey;
//
// @Override
// public void processMessage(String s, MqttMessage message) throws Exception {
// logger.info("received mqtt message: " + message);
//
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//
// JSONObject object = null;
// try {
// object = JSONObject.parseObject(message.toString());
// } catch (Exception e) {
// throw new Exception("公司同步消息解析失败");
// }
// RequestContext.setAppKey(appKey);
// RequestContext.setProduct(product);
// RequestContext.setToken(String.valueOf(redisUtil.get("platform_token")));
//
// //判断库中业务tz_base_enterprise_info是否存在
// QueryWrapper<TzBaseEnterpriseInfo> queryWrapper = new QueryWrapper<TzBaseEnterpriseInfo>();
// queryWrapper.eq("use_code",object.getString("unit_code"));
// TzBaseEnterpriseInfo tzBaseEnterprisePrivilegeInfo = tzBaseEnterpriseInfoService.getOne(queryWrapper);
// if(!ValidationUtil.isEmpty(tzBaseEnterprisePrivilegeInfo)){
// accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
// return;
// }
//
//
// TzBaseEnterpriseInfo tzBaseEnterpriseInfo = new TzBaseEnterpriseInfo();
//
// Date syncDate = sdf.parse(object.getString("sync_date"));
// Date recDate = sdf.parse(object.getString("issue_date"));
//
// String unitType = object.getString("cert_type");
//
//
// tzBaseEnterpriseInfo.setSequenceNbr(object.getLong("sequence_nbr"));
// tzBaseEnterpriseInfo.setAddress(object.getString("reg_address"));
// tzBaseEnterpriseInfo.setUnitType(unitType);
// tzBaseEnterpriseInfo.setUseCode(object.getString("unit_code"));
// tzBaseEnterpriseInfo.setUseUnit(object.getString("unit_name"));
// tzBaseEnterpriseInfo.setProvince(object.getString("province"));
// tzBaseEnterpriseInfo.setCity(object.getString("city"));
// tzBaseEnterpriseInfo.setDistrict(object.getString("district"));
// tzBaseEnterpriseInfo.setSyncDate(syncDate);
// tzBaseEnterpriseInfo.setSyncState(object.getInteger("sync_state"));
// tzBaseEnterpriseInfo.setRecDate(recDate);
//
//
// //业务表更新条件构造器
// UpdateWrapper<TzBaseEnterpriseInfo> updateWrapper = new UpdateWrapper<>();
// updateWrapper.eq("use_code",object.getString("unit_code"));
//
// String regCode = object.getString("reg_code");
// CompanyModel supervisePrivilegeCompanyModel;
// if (!ValidationUtil.isEmpty(regCode)) {
// supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode(regCode).getResult();
//
// if(ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)){
// supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode("610000").getResult();
//
// if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
// logger.error("【" + object.getString("unit_name") + "】对应监管企业为空");
// return;
// }
// }
// } else {
// supervisePrivilegeCompanyModel = Privilege.companyClient.queryByCompanyCode("610000").getResult();
// if (ValidationUtil.isEmpty(supervisePrivilegeCompanyModel)) {
// logger.error("【" + object.getString("unit_name") + "】对应监管企业为空");
// return;
// }
// }
// tzBaseEnterpriseInfo.setSuperviseOrgCode(supervisePrivilegeCompanyModel.getOrgCode());
// tzBaseEnterpriseInfo.setSuperviseOrgName(supervisePrivilegeCompanyModel.getCompanyName());
//
// if(ValidationUtil.isEmpty(tzBaseEnterpriseInfo.getUnitType())){
// tzBaseEnterpriseInfo.setUnitType("");
// }
//
//
// try {
// if (tzBaseEnterprisePrivilegeInfo == null ) {
// tzBaseEnterpriseInfoService.save(tzBaseEnterpriseInfo);
// accessFeignService.updateSyncCompanyState(object.getString("sequence_nbr"));
// return;
// }
// } catch(Exception e) {
// logger.error("【" + object.getString("unit_name") + "】许可信息同步【失败】:" + e.getMessage());
// }
// }
//
// public Map<String, CompanyModel> getCompanyInfoMap(Collection companyModels,Map<String, CompanyModel> map){
// if(companyModels == null){
// return map;
// }
// Iterator iter = companyModels.iterator();
// while(iter.hasNext()){
// String json = JSON.toJSONString(iter.next());
// CompanyModel companyModel = JSON.parseObject(json,CompanyModel.class);
//
// String code = companyModel.getCompanyCode();
// if(code.length() >=6){
// code = code.substring(0, 6);
// }
// map.put(code,companyModel);
// getCompanyInfoMap(companyModel.getChildren(),map);
// }
// return map;
// }
//}
amos-boot-system-tzs/amos-boot-module-cylinder/amos-boot-module-cylinder-biz/src/main/java/com/yeejoin/amos/boot/module/cylinder/flc/biz/service/impl/CylinderUnitVideoServiceImpl.java
View file @
ac832c1d
...
...
@@ -129,7 +129,7 @@ public class CylinderUnitVideoServiceImpl extends BaseService<CylinderUnitVideoD
*/
private
void
setDefaultChannelData
(
List
<
CommonVideoDto
>
result
,
CommonVideoDto
channelNo
)
{
CommonVideoDto
commonVideoDto
=
new
CommonVideoDto
();
commonVideoDto
.
setUrl
(
""
);
commonVideoDto
.
setUrl
(
channelNo
.
getThumb
()
);
commonVideoDto
.
setKey
(
channelNo
.
getKey
());
commonVideoDto
.
setType
(
CommonVideoEnum
.
IMG
.
getName
());
commonVideoDto
.
setTitle
(
channelNo
.
getTitle
());
...
...
@@ -153,7 +153,7 @@ public class CylinderUnitVideoServiceImpl extends BaseService<CylinderUnitVideoD
private
void
setDefaultVideoIfNoAccess
(
List
<
CommonVideoDto
>
result
,
String
unitSeq
)
{
CylinderUnit
cylinderUnit
=
cylinderUnitService
.
getBaseMapper
().
selectOne
(
new
LambdaQueryWrapper
<
CylinderUnit
>().
eq
(
CylinderUnit:
:
getAppId
,
unitSeq
));
CommonVideoDto
commonVideoDto
=
new
CommonVideoDto
();
commonVideoDto
.
setUrl
(
""
);
commonVideoDto
.
setUrl
(
defaultVideoUrl
);
commonVideoDto
.
setKey
(
UUID
.
fastUUID
().
toString
());
commonVideoDto
.
setType
(
CommonVideoEnum
.
IMG
.
getName
());
if
(
cylinderUnit
!=
null
){
...
...
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