Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
聂康
local-rnr-mg
Commits
b2eded42
Commit
b2eded42
authored
Jun 17, 2025
by
kang.nie@inzymeits.com
Browse files
初始化代码
parent
12156d65
Pipeline
#3109
failed with stages
in 0 seconds
Changes
439
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/dto/WorkOrderInfoDTO.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.dto
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* @author stayAnd
* @date 2022/3/30
*/
@Data
@Accessors
(
chain
=
true
)
public
class
WorkOrderInfoDTO
{
/**
* 创建工单时返回的工单编号 用于关联业务信息
*/
private
String
workOrderNo
;
/**
* 工单下面的任务编号 用于操作工单认领、审核
*/
private
String
taskNo
;
/**
* 租户id
*/
private
String
tenantUuid
;
/**
* 工单绑定的业务对象标识
*/
private
String
businessObjectId
;
/**
* 工单定义编码
*/
private
String
workOrderKey
;
/**
* 应用标识
*/
private
String
applicationUuid
;
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/dto/WorkOrderQueryRequestDTO.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.dto
;
import
com.cusc.nirvana.user.rnr.mg.common.BaseRnrMgPageDTO
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* @author stayAnd
* @date 2022/3/30
* 工单查询dto
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
WorkOrderQueryRequestDTO
extends
BaseRnrMgPageDTO
{
/**
* 租户id
*/
private
String
tenantUuid
;
/**
* 应用标识
*/
private
String
applicationUuid
;
/**
* 工单定义编码
*/
private
String
workOrderKey
;
/**
* 认领人的用户id
*/
private
String
claimUserId
;
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/dto/WorkOrderRequestParamDTO.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.dto
;
import
lombok.Data
;
/**
* @author stayAnd
* @date 2022/3/30
*/
@Data
public
class
WorkOrderRequestParamDTO
{
/**
* 参数编码
*/
private
String
code
;
/**
* 参数名称
*/
private
String
name
;
/**
* 参数值
*/
private
String
value
;
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/dto/WorkOrderReviewCallBackRequestDTO.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.dto
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Map
;
/**
* @author stayAnd
* @date 2022/3/31
* 工单回调接口
*/
@Data
public
class
WorkOrderReviewCallBackRequestDTO
{
/**指派人*/
private
String
assignee
;
/**
* 审核意见
*/
private
String
auditNote
;
/**
* 审核结果 1 审核通过 2 审核不通过
*/
private
String
auditResult
;
/** 业务对象标识 */
private
String
businessObjectId
;
/** 认领状态 */
private
Integer
claimStatus
;
/** 认领时间 */
private
Date
claimTime
;
/**
* 工单code
*/
private
String
code
;
/**
* 扩展参数
*/
private
Map
<
String
,
Object
>
extParams
;
/**操作*/
private
String
userId
;
/** 工单类型编码*/
private
String
workOrderKey
;
/** 工单状态 */
private
Integer
workorderStatus
;
/**
* 工单唯一标识 uuid
*/
private
String
workOrderUuid
;
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/dto/WorkOrderReviewDTO.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.dto
;
import
lombok.Data
;
/**
* @author stayAnd
* @date 2022/3/30
*/
@Data
public
class
WorkOrderReviewDTO
{
/**
* 租户id
*/
private
String
tenantUuid
;
/**
* 应用标识
*/
private
String
applicationUuid
;
/**
* 任务编号
*/
private
String
taskNo
;
/**
* 1-审核通过,2-审核不通过
*/
private
Integer
auditResult
;
/**
* 审核意见
*/
private
String
auditNote
;
/**
* 审核人
*/
private
String
reviewUserId
;
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/dto/WorkOrderStarRequestDTO.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author stayAnd
* @date 2022/3/29
* 发起工单dto
*/
@Data
public
class
WorkOrderStarRequestDTO
{
/**
* 租户id
*/
private
String
tenantUuid
;
/**
* 应用标识
*/
private
String
applicationUuid
;
/**
* 工单绑定的业务对象标识
*/
private
String
businessObjectId
;
/**
* 标签
*/
private
String
tag
;
/**
* 工单名称
*/
private
String
name
;
/**
* 发起人标识
*/
private
String
startUserId
;
/**
* 工单定义编码
*/
private
String
workOrderKey
;
/**
*表单参数数组
*/
private
List
<
WorkOrderRequestParamDTO
>
params
;
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/WorkOrderCallBackHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler
;
import
com.cusc.nirvana.user.rnr.workorder.constants.WorkOrderTypeEnum
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderReviewCallBackRequestDTO
;
/**
* @author stayAnd
* @date 2022/3/31
*/
public
interface
WorkOrderCallBackHandler
{
/**
* 工单认领或者指派后的回调
* @param workNo 工单号
*/
void
claimAssignWorkOrder
(
String
workNo
);
/**
* 工单审核回调
* @param dto
*/
void
reviewCallBack
(
WorkOrderReviewCallBackRequestDTO
dto
);
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/WorkOrderHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler
;
import
com.cusc.nirvana.user.rnr.workorder.dto.*
;
import
java.util.List
;
/**
* @author stayAnd
* @date 2022/3/29
* 工单处理
*/
public
interface
WorkOrderHandler
{
/**
* 发起工单
* @param dto 请求参数
* @return 工单单号
*/
String
startOrder
(
WorkOrderStarRequestDTO
dto
);
/**
* 查询未认领的工单
* @param dto 参数
* @return
*/
List
<
WorkOrderInfoDTO
>
queryUnClaimedOrders
(
WorkOrderQueryRequestDTO
dto
);
/**
* 认领工单
* @param dto 参数
* @return
*/
Boolean
claimOrder
(
WorkOrderClaimRequestDTO
dto
);
/**
* 查询认领的工单
* @param dto 参数
* @return
*/
List
<
WorkOrderInfoDTO
>
queryClaimedOrders
(
WorkOrderQueryRequestDTO
dto
);
/**
* 审核工单
* @param dto 参数
* @return
*/
Boolean
reviewWorkOrder
(
WorkOrderReviewDTO
dto
);
/**
* 指派工单
* @param dto
* @return
*/
Boolean
assignWorkOrder
(
WorkOrderAssignDTO
dto
);
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/impl/EnterpriseChangeCallBackHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrOrderStatusEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrStatus
;
import
com.cusc.nirvana.user.rnr.mg.dao.entity.MgRnrCardInfoPO
;
import
com.cusc.nirvana.user.rnr.mg.dto.*
;
import
com.cusc.nirvana.user.rnr.mg.service.*
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderReviewCallBackRequestDTO
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderCallBackHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @author stayAnd
* @date 2022/4/26
*/
@Component
@Slf4j
public
class
EnterpriseChangeCallBackHandler
implements
WorkOrderCallBackHandler
{
@Resource
private
IRnrOrderService
orderService
;
@Resource
private
IMgRnrInfoService
mgRnrInfoService
;
@Resource
private
IMgRnrCardInfoService
cardInfoService
;
@Resource
private
IRnrResultProcessService
processService
;
@Resource
private
IMgVehicleCompanyService
vehicleCompanyService
;
@Resource
private
IMgRnrCompanyInfoService
companyInfoService
;
@Override
public
void
claimAssignWorkOrder
(
String
workNo
)
{
}
@Override
public
void
reviewCallBack
(
WorkOrderReviewCallBackRequestDTO
dto
)
{
boolean
auditResult
=
StringUtils
.
equalsIgnoreCase
(
dto
.
getAuditResult
(),
"1"
);
String
orderId
=
dto
.
getBusinessObjectId
();
//查询orderDto
RnrOrderDTO
orderQuery
=
new
RnrOrderDTO
();
orderQuery
.
setUuid
(
orderId
);
RnrOrderDTO
orderDTO
=
orderService
.
getByUuid
(
orderQuery
);
if
(
null
==
orderDTO
)
{
log
.
error
(
"EnterpriseChangeCallBackHandler reviewCallBack orderDTO is null,dto = {} "
,
JSONObject
.
toJSONString
(
dto
));
return
;
}
//查询rnr_info
MgRnrInfoDTO
infoQuery
=
new
MgRnrInfoDTO
();
infoQuery
.
setUuid
(
orderDTO
.
getRnrId
());
MgRnrInfoDTO
rnrInfo
=
mgRnrInfoService
.
getByUuid
(
infoQuery
);
if
(
null
==
rnrInfo
)
{
log
.
error
(
"EnterpriseChangeCallBackHandler reviewCallBack rnrInfo is null,dto = {} "
,
JSONObject
.
toJSONString
(
dto
));
return
;
}
//查询卡信息
MgRnrCardInfoDTO
cardQuery
=
new
MgRnrCardInfoDTO
();
cardQuery
.
setRnrId
(
rnrInfo
.
getUuid
());
List
<
MgRnrCardInfoDTO
>
cardInfoDTOList
=
cardInfoService
.
queryByList
(
cardQuery
);
if
(
CollectionUtils
.
isEmpty
(
cardInfoDTOList
))
{
log
.
error
(
"EnterpriseChangeCallBackHandler reviewCallBack cardInfoDTOList is empty,dto = {} "
,
JSONObject
.
toJSONString
(
dto
));
return
;
}
processService
.
processRnrResult
(
orderId
,
rnrInfo
.
getUuid
(),
auditResult
?
RnrOrderStatusEnum
.
PASS
:
RnrOrderStatusEnum
.
NOT_PASS
,
dto
.
getAuditNote
());
if
(
auditResult
)
{
//解绑老的卡信息
unBindOldCard
(
cardInfoDTOList
);
//修改mg_vehicle_company的first_rnr_id
log
.
info
(
"企业责任人变更 修改firstRnrId 开始,orderId = {}"
,
orderId
);
MgRnrCompanyInfoDTO
companyQuery
=
new
MgRnrCompanyInfoDTO
();
companyQuery
.
setRnrId
(
rnrInfo
.
getUuid
());
MgRnrCompanyInfoDTO
companyInfoDTO
=
companyInfoService
.
getByRnrid
(
companyQuery
);
if
(
null
==
companyInfoDTO
)
{
log
.
info
(
"企业责任人变更 修改firstRnrId 未查询到 MgRnrCompanyInfoDTO,orderId = {}"
,
orderId
);
return
;
}
MgVehicleCompanyDTO
vehicleQuery
=
new
MgVehicleCompanyDTO
();
vehicleQuery
.
setTenantNo
(
orderDTO
.
getTenantNo
());
vehicleQuery
.
setCompanyName
(
companyInfoDTO
.
getCompanyName
());
MgVehicleCompanyDTO
vehicleCompany
=
vehicleCompanyService
.
getVehicleCompany
(
vehicleQuery
);
if
(
null
==
vehicleCompany
)
{
log
.
info
(
"企业责任人变更 修改firstRnrId 未查询到 MgVehicleCompanyDTO,orderId = {}"
,
orderId
);
return
;
}
MgVehicleCompanyDTO
vehicleUpdateDto
=
new
MgVehicleCompanyDTO
();
vehicleUpdateDto
.
setUuid
(
vehicleCompany
.
getUuid
());
vehicleUpdateDto
.
setFirstRnrId
(
rnrInfo
.
getUuid
());
vehicleCompanyService
.
update
(
vehicleUpdateDto
);
log
.
info
(
"企业责任人变更 修改firstRnrId 成功,orderId = {}"
,
orderId
);
}
}
private
void
unBindOldCard
(
List
<
MgRnrCardInfoDTO
>
cardInfoDTOList
)
{
cardInfoDTOList
.
parallelStream
().
forEach
(
card
->
{
if
(
StringUtils
.
isNotBlank
(
card
.
getOldCardId
()))
{
MgRnrCardInfoPO
updateCardPo
=
new
MgRnrCardInfoPO
();
updateCardPo
.
setRnrStatus
(
RnrStatus
.
UNBOUND
.
getCode
());
LambdaQueryWrapper
<
MgRnrCardInfoPO
>
cardQuery
=
new
LambdaQueryWrapper
<>();
cardQuery
.
eq
(
MgRnrCardInfoPO:
:
getUuid
,
card
.
getOldCardId
());
cardInfoService
.
update
(
updateCardPo
,
cardQuery
);
}
});
}
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/impl/ManufacturerRnrCallBackHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.cusc.nirvana.common.loader.CollectionUtils
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrOrderStatusEnum
;
import
com.cusc.nirvana.user.rnr.mg.dto.MgRnrCardInfoDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.MgVehicleCompanyDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.OrgSimRelDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.RnrOrderDTO
;
import
com.cusc.nirvana.user.rnr.mg.service.*
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderReviewCallBackRequestDTO
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderCallBackHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* Description: 车企实名成功工单回调
* <br />
* CreateDate 2022-05-04 14:27:32
*
* @author yuyi
**/
@Service
(
"manufacturerRnrCallBackHandler"
)
@Slf4j
public
class
ManufacturerRnrCallBackHandler
implements
WorkOrderCallBackHandler
{
@Autowired
IRnrOrderService
orderService
;
@Autowired
IMgRnrCardInfoService
cardInfoService
;
@Autowired
@Lazy
IMgRnrCardNoticeService
cardNoticeService
;
@Autowired
IMgRnrInfoService
mgRnrInfoService
;
@Autowired
IMgVehicleCompanyService
mgVehicleCompanyService
;
@Resource
private
IRnrResultProcessService
processService
;
@Resource
private
IOrgSimRelService
iOrgSimRelService
;
@Override
public
void
claimAssignWorkOrder
(
String
workNo
)
{
//todo
}
@Override
public
void
reviewCallBack
(
WorkOrderReviewCallBackRequestDTO
dto
)
{
String
orderId
=
dto
.
getBusinessObjectId
();
RnrOrderStatusEnum
statusEnum
=
StringUtils
.
equalsIgnoreCase
(
dto
.
getAuditResult
(),
"1"
)
?
RnrOrderStatusEnum
.
PASS
:
RnrOrderStatusEnum
.
NOT_PASS
;
//获取rnrId
RnrOrderDTO
rnrOrderDTO
=
new
RnrOrderDTO
();
rnrOrderDTO
.
setUuid
(
orderId
);
RnrOrderDTO
orderDTO
=
orderService
.
getByUuid
(
rnrOrderDTO
);
if
(
null
==
orderDTO
)
{
log
.
error
(
"ManufacturerRnrCallBackHandler reviewCallBack orderDTO is null,dto = {} "
,
JSONObject
.
toJSONString
(
dto
));
return
;
}
String
rnrId
=
orderDTO
.
getRnrId
();
if
(
statusEnum
==
RnrOrderStatusEnum
.
PASS
)
{
//更新orderId查询carInfo
MgRnrCardInfoDTO
mgRnrCardInfoDTO
=
new
MgRnrCardInfoDTO
();
mgRnrCardInfoDTO
.
setOrderId
(
orderId
);
List
<
MgRnrCardInfoDTO
>
mgRnrCardInfoDTOList
=
cardInfoService
.
queryByList
(
mgRnrCardInfoDTO
);
String
orgId
=
""
;
if
(!
CollectionUtils
.
isEmpty
(
mgRnrCardInfoDTOList
)){
OrgSimRelDTO
orgSimRelDTO
=
iOrgSimRelService
.
getByIccid
(
mgRnrCardInfoDTOList
.
get
(
0
).
getIccid
());
orgId
=
orgSimRelDTO
.
getOrgUuid
();
}
//查询车企是否存在
MgVehicleCompanyDTO
mvc
=
new
MgVehicleCompanyDTO
();
mvc
.
setTenantNo
(
orderDTO
.
getTenantNo
());
mvc
.
setOrgId
(
orgId
);
mvc
=
mgVehicleCompanyService
.
getVehicleCompany
(
mvc
);
//不存在则保存
if
(
mvc
==
null
){
mvc
=
new
MgVehicleCompanyDTO
();
mvc
.
setFirstRnrId
(
rnrId
);
mvc
.
setOrgId
(
orderDTO
.
getOrgId
());
mvc
.
setTenantNo
(
orderDTO
.
getTenantNo
());
mvc
.
setCreator
(
orderDTO
.
getCreator
());
mgVehicleCompanyService
.
saveByRnrId
(
mvc
);
}
iOrgSimRelService
.
updateVin
(
mgRnrCardInfoDTOList
);
}
//更新数据状态
processService
.
processRnrResult
(
orderId
,
rnrId
,
statusEnum
,
dto
.
getAuditNote
());
}
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/impl/OpenApiWorkOrderHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler.impl
;
import
com.cusc.nirvana.user.rnr.workorder.dto.*
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderHandler
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
/**
* @author stayAnd
* @date 2022/3/29
* 远程调用工单系统(通过网关)
*/
@Component
public
class
OpenApiWorkOrderHandler
implements
WorkOrderHandler
{
@Override
public
String
startOrder
(
WorkOrderStarRequestDTO
dto
)
{
return
null
;
}
@Override
public
List
<
WorkOrderInfoDTO
>
queryUnClaimedOrders
(
WorkOrderQueryRequestDTO
dto
)
{
return
null
;
}
@Override
public
Boolean
claimOrder
(
WorkOrderClaimRequestDTO
dto
)
{
return
null
;
}
@Override
public
List
<
WorkOrderInfoDTO
>
queryClaimedOrders
(
WorkOrderQueryRequestDTO
dto
)
{
return
null
;
}
@Override
public
Boolean
reviewWorkOrder
(
WorkOrderReviewDTO
dto
)
{
return
null
;
}
@Override
public
Boolean
assignWorkOrder
(
WorkOrderAssignDTO
dto
)
{
return
null
;
}
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/impl/RnrWorkOrderCallBackHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.cusc.nirvana.common.result.Response
;
import
com.cusc.nirvana.user.exception.CuscUserException
;
import
com.cusc.nirvana.user.rnr.common.constants.ResponseCode
;
import
com.cusc.nirvana.user.rnr.mg.constants.NoticeStatusEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrOrderStatusEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrOrderType
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrStatus
;
import
com.cusc.nirvana.user.rnr.mg.dto.MgRnrCardInfoDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.MgRnrInfoDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.RnrOrderDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.RnrUnbindDTO
;
import
com.cusc.nirvana.user.rnr.mg.service.*
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderReviewCallBackRequestDTO
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderCallBackHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 实名成功工单回调
*
* @author yubo
* @since 2022-04-19 20:25
*/
@Service
(
"rnrWorkOrderCallBackHandler"
)
@Slf4j
public
class
RnrWorkOrderCallBackHandler
implements
WorkOrderCallBackHandler
{
@Autowired
IRnrOrderService
orderService
;
@Autowired
IMgRnrCardInfoService
cardInfoService
;
@Autowired
@Lazy
IMgRnrCardNoticeService
cardNoticeService
;
@Autowired
IMgRnrInfoService
mgRnrInfoService
;
@Autowired
IRnrUnboundService
iRnrUnboundService
;
@Resource
private
IRnrResultProcessService
processService
;
@Resource
private
IOrgSimRelService
iOrgSimRelService
;
@Override
public
void
claimAssignWorkOrder
(
String
workNo
)
{
//todo
}
@Override
public
void
reviewCallBack
(
WorkOrderReviewCallBackRequestDTO
dto
)
{
String
orderId
=
dto
.
getBusinessObjectId
();
RnrOrderStatusEnum
statusEnum
=
StringUtils
.
equalsIgnoreCase
(
dto
.
getAuditResult
(),
"1"
)
?
RnrOrderStatusEnum
.
PASS
:
RnrOrderStatusEnum
.
NOT_PASS
;
//获取rnrId
RnrOrderDTO
rnrOrderDTO
=
new
RnrOrderDTO
();
rnrOrderDTO
.
setUuid
(
orderId
);
RnrOrderDTO
orderDTO
=
orderService
.
getByUuid
(
rnrOrderDTO
);
if
(
null
==
orderDTO
)
{
log
.
error
(
"RnrWorkOrderCallBackHandler reviewCallBack orderDTO is null,dto = {} "
,
JSONObject
.
toJSONString
(
dto
));
return
;
}
String
rnrId
=
orderDTO
.
getRnrId
();
if
(
statusEnum
==
RnrOrderStatusEnum
.
PASS
)
{
if
(
RnrOrderType
.
SEC_VEHICLE
.
getCode
().
equals
(
orderDTO
.
getOrderType
()))
{
unboundCards
(
orderId
,
rnrId
);
}
//更新orderId查询carInfo
MgRnrCardInfoDTO
mgRnrCardInfoDTO
=
new
MgRnrCardInfoDTO
();
mgRnrCardInfoDTO
.
setOrderId
(
orderId
);
List
<
MgRnrCardInfoDTO
>
mgRnrCardInfoDTOList
=
cardInfoService
.
queryByList
(
mgRnrCardInfoDTO
);
iOrgSimRelService
.
updateVin
(
mgRnrCardInfoDTOList
);
}
processService
.
processRnrResult
(
orderId
,
rnrId
,
statusEnum
,
dto
.
getAuditNote
());
}
/**
* 解绑卡
*/
@Transactional
public
void
unboundCards
(
String
orderId
,
String
rnrId
)
{
//查询所有的待审核的card
MgRnrCardInfoDTO
query
=
new
MgRnrCardInfoDTO
();
query
.
setOrderId
(
orderId
);
query
.
setRnrId
(
rnrId
);
List
<
MgRnrCardInfoDTO
>
mgRnrCardInfoDTOS
=
cardInfoService
.
queryByList
(
query
);
//查询所有已经实名的卡
List
<
String
>
iccids
=
mgRnrCardInfoDTOS
.
stream
().
map
(
card
->
card
.
getIccid
()).
collect
(
Collectors
.
toList
());
query
=
new
MgRnrCardInfoDTO
();
query
.
setIccidList
(
iccids
);
query
.
setRnrStatus
(
RnrStatus
.
RNR
.
getCode
());
mgRnrCardInfoDTOS
=
cardInfoService
.
queryByList
(
query
);
if
(!
CollectionUtils
.
isEmpty
(
mgRnrCardInfoDTOS
))
{
RnrUnbindDTO
unbindDTO
;
Response
response
;
for
(
MgRnrCardInfoDTO
cardDto
:
mgRnrCardInfoDTOS
)
{
//获取实名主体信息
MgRnrInfoDTO
mgRnrInfoDTO
=
new
MgRnrInfoDTO
();
mgRnrInfoDTO
.
setUuid
(
cardDto
.
getRnrId
());
MgRnrInfoDTO
rnrInfoDTO
=
mgRnrInfoService
.
getByUuid
(
mgRnrInfoDTO
);
if
(
rnrInfoDTO
==
null
)
{
throw
new
CuscUserException
(
""
,
"实名业务【"
+
cardDto
.
getRnrId
()
+
"】不存在"
);
}
unbindDTO
=
new
RnrUnbindDTO
();
unbindDTO
.
setIccid
(
cardDto
.
getIccid
());
unbindDTO
.
setVin
(
cardDto
.
getIotId
());
unbindDTO
.
setCertNumber
(
rnrInfoDTO
.
getCertNumber
());
unbindDTO
.
setFullName
(
rnrInfoDTO
.
getFullName
());
unbindDTO
.
setCertType
(
rnrInfoDTO
.
getCertType
());
unbindDTO
.
setPhone
(
rnrInfoDTO
.
getPhone
());
unbindDTO
.
setReason
(
3
);
unbindDTO
.
setManualUnbind
(
false
);
response
=
iRnrUnboundService
.
rnrUnbound
(
unbindDTO
);
if
(
null
==
response
||
(!
response
.
getSuccess
()
&&
response
.
getCode
()
!=
ResponseCode
.
ICCID_RNR_INFO_NOT_MATCHED
.
getCode
()))
{
throw
new
CuscUserException
(
""
,
"解绑卡["
+
cardDto
.
getIccid
()
+
"]失败"
);
}
}
}
}
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/handler/impl/UnbindWorkOrderCallBackHandler.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.handler.impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.cusc.nirvana.common.loader.CollectionUtils
;
import
com.cusc.nirvana.common.result.Response
;
import
com.cusc.nirvana.user.eiam.dto.OrganizationDTO
;
import
com.cusc.nirvana.user.rnr.mg.constants.CommonDeleteEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.CryptKeyHelper
;
import
com.cusc.nirvana.user.rnr.mg.constants.NoticeStatusEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrBizzTypeEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrOrderStatusEnum
;
import
com.cusc.nirvana.user.rnr.mg.constants.RnrStatus
;
import
com.cusc.nirvana.user.rnr.mg.converter.MgRnrCardInfoConverter
;
import
com.cusc.nirvana.user.rnr.mg.dto.MgCardNoticeDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.MgRnrCardInfoDTO
;
import
com.cusc.nirvana.user.rnr.mg.dto.RnrOrderDTO
;
import
com.cusc.nirvana.user.rnr.mg.service.*
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderReviewCallBackRequestDTO
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderCallBackHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
/**
* 解绑工单回调
*
* @author yubo
* @since 2022-04-25 16:19
*/
@Service
(
"unbindWorkOrderCallBackHandler"
)
@Slf4j
public
class
UnbindWorkOrderCallBackHandler
implements
WorkOrderCallBackHandler
{
@Autowired
IRnrOrderService
orderService
;
@Autowired
private
IMgRnrInfoService
rnrInfoService
;
@Autowired
IMgRnrCardInfoService
cardInfoService
;
@Autowired
@Lazy
private
IMgRnrCardNoticeService
cardNoticeService
;
@Autowired
private
IOrganService
organService
;
@Override
public
void
claimAssignWorkOrder
(
String
workNo
)
{
}
@Override
public
void
reviewCallBack
(
WorkOrderReviewCallBackRequestDTO
dto
)
{
String
orderId
=
dto
.
getBusinessObjectId
();
RnrOrderStatusEnum
statusEnum
=
StringUtils
.
equalsIgnoreCase
(
dto
.
getAuditResult
(),
"1"
)
?
RnrOrderStatusEnum
.
PASS
:
RnrOrderStatusEnum
.
NOT_PASS
;
//获取rnrId
RnrOrderDTO
rnrOrderDTO
=
new
RnrOrderDTO
();
rnrOrderDTO
.
setUuid
(
orderId
);
RnrOrderDTO
orderDTO
=
orderService
.
getByUuid
(
rnrOrderDTO
);
rnrOrderDTO
.
setTenantNo
(
orderDTO
.
getTenantNo
());
if
(
null
==
orderDTO
)
{
log
.
error
(
"UnbindWorkOrderCallBackHandler reviewCallBack orderDTO is null,dto = {} "
,
JSONObject
.
toJSONString
(
dto
));
return
;
}
String
rnrId
=
orderDTO
.
getRnrId
();
//根据rnrId找到所有iccids
List
<
MgRnrCardInfoDTO
>
cardInfoDTOS
=
findCardsByRnrId
(
rnrId
);
List
<
String
>
cardIds
=
new
ArrayList
<>();
List
<
String
>
rnrIds
=
new
ArrayList
<>();
List
<
MgCardNoticeDTO
>
mqList
=
new
ArrayList
<>();
//查询车企信息
String
manufacturerOrgId
;
OrganizationDTO
organ
=
new
OrganizationDTO
();
organ
.
setTenantNo
(
orderDTO
.
getTenantNo
());
organ
.
setUuid
(
orderDTO
.
getOrgId
());
Response
<
OrganizationDTO
>
organResp
=
organService
.
getCarSubOrganByOrgId
(
organ
);
if
(
organResp
!=
null
&&
organResp
.
isSuccess
()
&&
organResp
.
getData
()
!=
null
)
{
manufacturerOrgId
=
organResp
.
getData
().
getUuid
();
}
else
{
log
.
warn
(
"sendCardNoticeByOrderId 获取车企组织失败,{}"
,
JSON
.
toJSONString
(
organResp
));
manufacturerOrgId
=
"0"
;
}
//根据iccids找到需要解绑的记录
findUnboundInfo
(
cardInfoDTOS
,
mqList
,
cardIds
,
rnrIds
,
statusEnum
,
rnrOrderDTO
,
manufacturerOrgId
);
//更新状态
saveStatus
(
orderId
,
rnrId
,
cardIds
,
rnrIds
,
statusEnum
,
dto
.
getAuditNote
());
//异步发送解绑消息 审核通过在发送通知
if
(
CollectionUtils
.
isNotEmpty
(
mqList
)&&
RnrOrderStatusEnum
.
PASS
.
getCode
().
equals
(
statusEnum
.
getCode
()))
{
log
.
info
(
"异步发送消息入参{}"
,
JSONObject
.
toJSONString
(
mqList
));
cardNoticeService
.
sendCardNotice
(
mqList
);
}
}
@Transactional
public
void
saveStatus
(
String
orderId
,
String
rnrId
,
List
<
String
>
cardIds
,
List
<
String
>
rnrIds
,
RnrOrderStatusEnum
statusEnum
,
String
content
)
{
//更新订单状态
//orderService.updateOrderStatus(Collections.singletonList(orderId), statusEnum.getCode());
RnrOrderDTO
updateOrder
=
new
RnrOrderDTO
();
updateOrder
.
setUuid
(
orderId
);
updateOrder
.
setOrderStatus
(
statusEnum
.
getCode
());
updateOrder
.
setAuditTime
(
new
Date
());
updateOrder
.
setFinalApproveTime
(
new
Date
());
updateOrder
.
setComment
(
content
);
orderService
.
update
(
updateOrder
);
if
(
statusEnum
==
RnrOrderStatusEnum
.
PASS
)
{
//审核通过
rnrInfoService
.
updateRnrStatus
(
rnrId
,
RnrStatus
.
RNR
);
//更新card状态
cardInfoService
.
updateCardStatusByOrderId
(
orderId
,
NoticeStatusEnum
.
NEED
.
getCode
(),
RnrStatus
.
UNBOUND
.
getCode
());
}
else
{
//更新rnr状态
rnrInfoService
.
updateRnrStatus
(
rnrId
,
RnrStatus
.
RNR_FAIL
);
//更新card状态
cardInfoService
.
updateCardStatusByOrderId
(
orderId
,
NoticeStatusEnum
.
NONEED
.
getCode
(),
RnrStatus
.
RNR_FAIL
.
getCode
());
}
//原card表设置成解绑状态
if
(
CollectionUtils
.
isNotEmpty
(
cardIds
)
&&
RnrOrderStatusEnum
.
PASS
.
equals
(
statusEnum
))
{
cardInfoService
.
unboundCardBatch
(
cardIds
,
RnrStatus
.
UNBOUND
);
}
//原rnr表设置成解绑状态
// rnrInfoService.updateRnrStatusBatch(rnrIds, RnrStatus.UNBOUND);
}
/**
* 获取待解绑的卡信息
*
* @param cardInfoDTOS
* @param mqList
* @param cardIds
* @param rnrIds
*/
private
void
findUnboundInfo
(
List
<
MgRnrCardInfoDTO
>
cardInfoDTOS
,
List
<
MgCardNoticeDTO
>
mqList
,
List
<
String
>
cardIds
,
List
<
String
>
rnrIds
,
RnrOrderStatusEnum
statusEnum
,
RnrOrderDTO
orderDTO
,
String
manufacturerOrgId
)
{
for
(
MgRnrCardInfoDTO
cardInfoDTO
:
cardInfoDTOS
)
{
List
<
MgRnrCardInfoDTO
>
bindCards
=
findBindCards
(
cardInfoDTO
.
getIccid
());
for
(
MgRnrCardInfoDTO
bindCard
:
bindCards
)
{
cardIds
.
add
(
bindCard
.
getUuid
());
rnrIds
.
add
(
bindCard
.
getRnrId
());
MgCardNoticeDTO
mgCardNoticeDTO
=
new
MgCardNoticeDTO
();
mgCardNoticeDTO
.
setVin
(
bindCard
.
getIotId
());
mgCardNoticeDTO
.
setIccid
(
bindCard
.
getIccid
());
mgCardNoticeDTO
.
setRnrBizzType
(
RnrBizzTypeEnum
.
Unbound
.
getCode
());
mgCardNoticeDTO
.
setOrderId
(
orderDTO
.
getUuid
());
mgCardNoticeDTO
.
setTenantNo
(
orderDTO
.
getTenantNo
());
mgCardNoticeDTO
.
setResultCode
(
statusEnum
.
getCode
());
mgCardNoticeDTO
.
setManufacturerOrgId
(
manufacturerOrgId
);
mqList
.
add
(
mgCardNoticeDTO
);
}
}
}
//根据iccid寻找已绑定的记录
private
List
<
MgRnrCardInfoDTO
>
findBindCards
(
String
iccid
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
();
queryWrapper
.
eq
(
"is_delete"
,
CommonDeleteEnum
.
NORMAL
.
getCode
());
queryWrapper
.
eq
(
"iccid"
,
CryptKeyHelper
.
encrypt
(
iccid
));
queryWrapper
.
eq
(
"rnr_status"
,
RnrStatus
.
RNR
.
getCode
());
List
list
=
cardInfoService
.
list
(
queryWrapper
);
return
MgRnrCardInfoConverter
.
INSTANCE
.
poListToDtoList
(
list
);
}
//根据rnrid找到iccis
private
List
<
MgRnrCardInfoDTO
>
findCardsByRnrId
(
String
rnrId
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
();
queryWrapper
.
eq
(
"is_delete"
,
CommonDeleteEnum
.
NORMAL
.
getCode
());
queryWrapper
.
eq
(
"rnr_id"
,
rnrId
);
// queryWrapper.eq("rnr_status", RnrStatus.RNR.getCode());
List
list
=
cardInfoService
.
list
(
queryWrapper
);
return
MgRnrCardInfoConverter
.
INSTANCE
.
poListToDtoList
(
list
);
}
}
local-rnr-mg-server/src/main/java/com/cusc/nirvana/user/rnr/workorder/job/WorkOrderJob.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.workorder.job
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.cache.CacheFactory
;
import
com.cusc.nirvana.common.loader.CollectionUtils
;
import
com.cusc.nirvana.common.result.Response
;
import
com.cusc.nirvana.user.eiam.client.UserClient
;
import
com.cusc.nirvana.user.eiam.dto.UserDTO
;
import
com.cusc.nirvana.user.rnr.common.constants.RedisConstant
;
import
com.cusc.nirvana.user.rnr.mg.dao.entity.MgOrderApproverPO
;
import
com.cusc.nirvana.user.rnr.mg.service.IMgOrderApproverService
;
import
com.cusc.nirvana.user.rnr.workorder.constants.WorkOrderTypeEnum
;
import
com.cusc.nirvana.user.rnr.workorder.context.WorkOrderContext
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderAssignDTO
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderInfoDTO
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderQueryRequestDTO
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author stayAnd
* @date 2022/3/31
* 工单定时任务
*/
@Component
@Slf4j
public
class
WorkOrderJob
{
@Resource
private
WorkOrderContext
workOrderContext
;
@Resource
private
IMgOrderApproverService
mgOrderApproverService
;
@Resource
private
CacheFactory
cacheFactory
;
@Resource
private
UserClient
userClient
;
/**
* 工单指派
*/
public
void
assignWorkOrderJob
()
{
try
{
Boolean
lock
=
cacheFactory
.
getLockService
().
lock
(
RedisConstant
.
RNR_WORK_ORDER_CONFIG
,
"assginWorkOrderJob"
,
60
*
10
);
if
(!
lock
)
{
log
.
error
(
"WorkOrderJob assignWorkOrderJob has lock"
);
return
;
}
WorkOrderHandler
handler
=
workOrderContext
.
getHandler
();
int
pageNumber
=
1
;
int
pageSize
=
50
;
int
returnSize
;
String
applicationUuid
=
"b05ccb27c2d54113bf32a7203ef4b7a7"
;
do
{
//获取未认领的工单列表
WorkOrderQueryRequestDTO
dto
=
new
WorkOrderQueryRequestDTO
();
dto
.
setApplicationUuid
(
applicationUuid
);
dto
.
setWorkOrderKey
(
WorkOrderTypeEnum
.
REAL_NAME_CERTIFICATION_ORDER
.
getKey
());
dto
.
setCurrPage
(
pageNumber
);
dto
.
setPageSize
(
pageSize
);
List
<
WorkOrderInfoDTO
>
workOrderList
=
handler
.
queryUnClaimedOrders
(
dto
);
returnSize
=
workOrderList
.
size
();
//工单分派
doAssignWorkOrder
(
workOrderList
,
handler
);
pageNumber
++;
}
while
(
returnSize
==
pageSize
);
}
catch
(
Exception
e
)
{
log
.
error
(
"WorkOrderJob assignWorkOrderJob has error"
,
e
);
}
finally
{
try
{
cacheFactory
.
getLockService
().
unLock
(
RedisConstant
.
RNR_WORK_ORDER_CONFIG
);
}
catch
(
Exception
e
)
{
log
.
error
(
"WorkOrderJob assignWorkOrderJob unLock has error"
,
e
);
}
}
}
private
void
doAssignWorkOrder
(
List
<
WorkOrderInfoDTO
>
workOrderList
,
WorkOrderHandler
workOrderHandler
)
{
if
(
CollectionUtils
.
isEmpty
(
workOrderList
))
{
return
;
}
//按照租户分组
Map
<
String
,
List
<
WorkOrderInfoDTO
>>
groupByTenantUuidMap
=
workOrderList
.
stream
().
collect
(
Collectors
.
groupingBy
(
WorkOrderInfoDTO:
:
getTenantUuid
));
groupByTenantUuidMap
.
forEach
((
tenantUuid
,
list
)
->
{
//查询该租户下面的所有审批员工并过滤掉停止接单的员工
LambdaQueryWrapper
<
MgOrderApproverPO
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
MgOrderApproverPO:
:
getTenantNo
,
tenantUuid
).
eq
(
MgOrderApproverPO:
:
getStopAcceptOrder
,
0
);
List
<
MgOrderApproverPO
>
userApprovalList
=
mgOrderApproverService
.
list
(
query
);
if
(
CollectionUtils
.
isEmpty
(
userApprovalList
))
{
return
;
}
//过滤掉不在线的 并按照id升序
List
<
MgOrderApproverPO
>
onLineUserList
=
userApprovalList
.
stream
().
filter
(
mgUserApprovalPo
->
{
UserDTO
userDto
=
new
UserDTO
();
userDto
.
setUuid
(
mgUserApprovalPo
.
getUserId
());
userDto
.
setApplicationId
(
"4"
);
userDto
.
setTenantNo
(
mgUserApprovalPo
.
getTenantNo
());
Response
<
Boolean
>
userOnline
=
userClient
.
getUserOnline
(
userDto
);
return
null
!=
userOnline
&&
userOnline
.
getData
();
}).
sorted
(
Comparator
.
comparing
(
MgOrderApproverPO:
:
getId
)).
collect
(
Collectors
.
toList
());
log
.
info
(
"WorkOrderJob doAssignWorkOrder,tenantUuid = {},onLineList = {}"
,
tenantUuid
,
JSONObject
.
toJSONString
(
onLineUserList
));
if
(
CollectionUtils
.
isEmpty
(
onLineUserList
))
{
return
;
}
Long
lastAssignUserId
=
getLastAssignUserId
(
tenantUuid
);
//onLineUserList中获取比lastAssignUserId大 但是差值最小的审批人员
MgOrderApproverPO
startApprovalUser
=
onLineUserList
.
stream
().
filter
(
mgUserApproval
->
mgUserApproval
.
getId
().
compareTo
(
lastAssignUserId
)
>
0
)
.
min
(
Comparator
.
comparing
(
MgOrderApproverPO:
:
getId
)).
orElse
(
null
);
Integer
startIndex
;
if
(
null
==
startApprovalUser
)
{
startIndex
=
0
;
}
else
{
startIndex
=
onLineUserList
.
indexOf
(
startApprovalUser
);
}
//本次最后一个审批人
Long
lastApprovalUserId
=
0L
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
WorkOrderInfoDTO
workOrderInfoDTO
=
list
.
get
(
i
);
if
(
startIndex
>
onLineUserList
.
size
()
-
1
)
{
startIndex
=
0
;
}
//指派人
MgOrderApproverPO
mgOrderApproverPo
=
onLineUserList
.
get
(
startIndex
);
//指派工单
WorkOrderAssignDTO
assignRequest
=
new
WorkOrderAssignDTO
();
assignRequest
.
setApplicationUuid
(
workOrderInfoDTO
.
getApplicationUuid
());
assignRequest
.
setTenantUuid
(
workOrderInfoDTO
.
getTenantUuid
());
assignRequest
.
setTaskNo
(
workOrderInfoDTO
.
getTaskNo
());
assignRequest
.
setWorkOrderNo
(
workOrderInfoDTO
.
getWorkOrderNo
());
assignRequest
.
setWorkOrderKey
(
workOrderInfoDTO
.
getWorkOrderKey
());
assignRequest
.
setAssignUserId
(
mgOrderApproverPo
.
getUserId
());
workOrderHandler
.
assignWorkOrder
(
assignRequest
);
if
(
i
==
list
.
size
()
-
1
)
{
lastApprovalUserId
=
mgOrderApproverPo
.
getId
();
}
startIndex
++;
}
//记录本次审批最后一个人id
saveLastAssignUserId
(
tenantUuid
,
lastApprovalUserId
);
});
}
private
Long
getLastAssignUserId
(
String
tenantUuid
)
{
Long
lastAssignUserId
;
try
{
lastAssignUserId
=
cacheFactory
.
getStringService
().
getValue
(
RedisConstant
.
RNR_WORK_ORDER_ASSIGN_CONFIG
+
tenantUuid
,
Long
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"WorkOrderJob getLastAssignUserId has error,tenantUuid = {}"
,
tenantUuid
,
e
);
lastAssignUserId
=
0L
;
}
return
lastAssignUserId
;
}
private
void
saveLastAssignUserId
(
String
tenantUuid
,
Long
lastApprovalUserId
)
{
try
{
cacheFactory
.
getStringService
().
setValue
(
RedisConstant
.
RNR_WORK_ORDER_ASSIGN_CONFIG
+
tenantUuid
,
lastApprovalUserId
);
}
catch
(
Exception
e
)
{
log
.
error
(
"WorkOrderJob saveLastAssignUserId has error,tenantUuid = {},lastApprovalUserId = {}"
,
tenantUuid
,
lastApprovalUserId
,
e
);
}
}
}
local-rnr-mg-server/src/main/resources/bootstrap-prod.yml
0 → 100644
View file @
b2eded42
spring
:
cloud
:
nacos
:
config
:
server-addr
:
10.179.71.33:8848,10.179.71.81:8848,10.179.71.221:8848
username
:
nacos
password
:
nacos
namespace
:
92bf8770-8770-4326-a20e-2ed8b17a559e
group
:
DEFAULT_GROUP
file-extension
:
yml
discovery
:
server-addr
:
10.179.71.33:8848,10.179.71.81:8848,10.179.71.221:8848
namespace
:
92bf8770-8770-4326-a20e-2ed8b17a559e
username
:
nacos
password
:
nacos
group
:
DEFAULT_GROUP
local-rnr-mg-server/src/main/resources/bootstrap.yml
0 → 100644
View file @
b2eded42
spring
:
application
:
name
:
local-rnr-mg
#切换环境配置spring.profiles.active属性,值为bootstrap后缀。如spring.profiles.active: dev
local-rnr-mg-server/src/test/java/com/cusc/nirvana/user/rnr/mg/service/impl/CuscCryptTest.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.mg.service.impl
;
import
com.cusc.nirvana.user.rnr.mg.util.crypt.Sm4Util
;
import
com.cusc.nirvana.user.util.crypt.CryptKeyUtil
;
import
org.apache.commons.io.FileUtils
;
import
java.io.*
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.NoSuchProviderException
;
import
java.security.PrivateKey
;
/**
* Description:
* <br />
* CreateDate 2021-11-17 18:48
*
* @author yuyi
**/
public
class
CuscCryptTest
{
public
static
void
main
(
String
[]
args
)
throws
IOException
,
ClassNotFoundException
,
NoSuchAlgorithmException
,
NoSuchProviderException
{
ObjectInputStream
inputStream
=
new
ObjectInputStream
(
FileUtils
.
openInputStream
(
new
File
(
"C:\\coding\\CryptKey\\private.key"
)));
PrivateKey
pk
=
(
PrivateKey
)
inputStream
.
readObject
();
//System.out.println(CryptKeyUtil.decrypt(
// "",
// pk));
//加密
//inputStream = new ObjectInputStream(
// FileUtils.openInputStream(new File("C:\\coding\\CryptKey\\public.key")));
//PublicKey pulicKey = (PublicKey) inputStream.readObject();
//String mw = CryptKeyUtil.encrypt(
// "", pulicKey);
//System.out.println(mw);
//
//String mingwen = "430621199006087785";
String
key
=
CryptKeyUtil
.
decrypt
(
"2CEED72AFCF6769A1E89811E30C516726B728BEDE8681D52C4B594E379C53734EB00C054A5B0123BABB48106903C19ECA65A314E1B0646B4A528B885CD4CEE9F"
,
pk
);
System
.
out
.
println
(
key
);
//System.out.println("key: " + key);
String
encrypt
=
Sm4Util
.
encryptEcbPadding
(
key
,
"15827307189"
);
System
.
out
.
println
(
"encrypt:"
+
encrypt
);
String
decrypt
=
Sm4Util
.
decryptEcbPadding
(
key
,
"hWzs852J3UtvxSYqPV3w6WLa9qEhjIyhrmzxG49kVzW2MThJ4oRUlEtvQaqaRfcM9a4s63Fx7AjP7dbYTY2binEhjL0Q05oxCik7BwVNUTSxoZ1LQZY690Vi/1QlVVd6I66Ico+nP274KJ59splWQHTQ6PANZn8HWPI9aCG2eBk="
);
System
.
out
.
println
(
"decrypt:"
+
decrypt
);
System
.
out
.
println
(
"89860919720012021008"
.
hashCode
());
}
}
local-rnr-mg-server/src/test/java/com/cusc/nirvana/user/rnr/mg/service/impl/WorkOrderTest.java
0 → 100644
View file @
b2eded42
package
com.cusc.nirvana.user.rnr.mg.service.impl
;
import
com.cusc.nirvana.user.rnr.mg.LocalRnrMgApplication
;
import
com.cusc.nirvana.user.rnr.mg.dao.entity.MgOrderApproverPO
;
import
com.cusc.nirvana.user.rnr.mg.service.IMgOrderApproverService
;
import
com.cusc.nirvana.user.rnr.workorder.constants.WorkOrderTypeEnum
;
import
com.cusc.nirvana.user.rnr.workorder.context.WorkOrderContext
;
import
com.cusc.nirvana.user.rnr.workorder.dto.WorkOrderStarRequestDTO
;
import
com.cusc.nirvana.user.rnr.workorder.handler.WorkOrderHandler
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @author stayAnd
* @date 2022/3/30
*/
@SpringBootTest
(
classes
=
LocalRnrMgApplication
.
class
)
@RunWith
(
SpringRunner
.
class
)
public
class
WorkOrderTest
{
@Resource
private
WorkOrderContext
workOrderContext
;
@Test
public
void
testStartOrder
(){
WorkOrderHandler
handler
=
workOrderContext
.
getHandler
();
WorkOrderStarRequestDTO
dto
=
new
WorkOrderStarRequestDTO
();
dto
.
setTenantUuid
(
"test1"
);
dto
.
setApplicationUuid
(
"b05ccb27c2d54113bf32a7203ef4b7a7"
);
dto
.
setBusinessObjectId
(
"test1"
);
dto
.
setName
(
"test1"
);
dto
.
setStartUserId
(
"test1"
);
dto
.
setWorkOrderKey
(
WorkOrderTypeEnum
.
REAL_NAME_CERTIFICATION_ORDER
.
getKey
());
String
s
=
handler
.
startOrder
(
dto
);
//System.out.println("AAA");
}
@Resource
private
IMgOrderApproverService
userApprovalService
;
@Test
public
void
testUserApproval
(){
List
<
MgOrderApproverPO
>
list
=
userApprovalService
.
list
();
System
.
out
.
println
(
list
.
size
());
}
//@Autowired
//IVehicleSimBindingService vehicleSimBindingService;
//
//@Test
//public void VehicleSimBindingPage(){
// String json = "{\"organizationId\":\"2022001\",\"iccid\":\"\",\"vin\":\"HYQ3D4D17JZ012227\",\"currPage\":4,\"pageSize\":2,\"startCreateTime\":1654704000000,\"endCreateTime\":1654790399999}";
// VehicleSimBindingDTO dto = JSON.parseObject(json, VehicleSimBindingDTO.class);
// PageResult<VehicleSimBindingDTO> vehicleSimBindingDTOPageResult = vehicleSimBindingService.queryBindingPage(dto);
// System.out.println(JSON.toJSONString(vehicleSimBindingDTOPageResult));
//}
}
pom.xml
0 → 100644
View file @
b2eded42
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<packaging>
pom
</packaging>
<modules>
<module>
local-rnr-mg-dto
</module>
<module>
local-rnr-mg-remote
</module>
<module>
local-rnr-mg-server
</module>
</modules>
<parent>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
cusc-parent
</artifactId>
<version>
1.2.1-SNAPSHOT
</version>
<relativePath/>
</parent>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
local-rnr-mg
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
</project>
Prev
1
…
18
19
20
21
22
Next
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