Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
9861ff28
提交
9861ff28
authored
9月 05, 2024
作者:
李瑞鑫
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v23.3_lmsweight_20240827'
上级
f3fa992f
98452e3e
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
265 行增加
和
70 行删除
+265
-70
AppEnum.java
...-api/src/main/java/com/clx/performance/enums/AppEnum.java
+1
-3
InputOutputEnum.java
.../main/java/com/clx/performance/enums/InputOutputEnum.java
+32
-0
SaleBuyEnum.java
.../src/main/java/com/clx/performance/enums/SaleBuyEnum.java
+32
-0
pom.xml
performance-web/pom.xml
+2
-2
WeighingOderPictureJob.java
.../java/com/clx/performance/job/WeighingOderPictureJob.java
+13
-34
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+2
-2
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+46
-19
OrderChildWeighPictureServiceImpl.java
...mance/service/impl/OrderChildWeighPictureServiceImpl.java
+13
-9
OrderChildWeighPictureStruct.java
.../clx/performance/struct/OrderChildWeighPictureStruct.java
+1
-1
OpenClient.java
...nce-web/src/main/java/com/msl/common/open/OpenClient.java
+123
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/AppEnum.java
浏览文件 @
9861ff28
...
@@ -4,9 +4,7 @@ import lombok.AllArgsConstructor;
...
@@ -4,9 +4,7 @@ import lombok.AllArgsConstructor;
import
lombok.Getter
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Optional
;
import
java.util.concurrent.ConcurrentHashMap
;
public
enum
AppEnum
{
public
enum
AppEnum
{
;
;
...
@@ -15,7 +13,7 @@ public enum AppEnum {
...
@@ -15,7 +13,7 @@ public enum AppEnum {
@AllArgsConstructor
@AllArgsConstructor
public
enum
UniqueIdentifier
{
public
enum
UniqueIdentifier
{
SMART_WEIGHT
(
1
,
"场站-smart-weight
"
),
LMS_MANAGE
(
1
,
"物流子系统-lms-manage
"
),
PURCHASE_MANAGE
(
2
,
"供应链-purchase-manage"
),
PURCHASE_MANAGE
(
2
,
"供应链-purchase-manage"
),
;
;
...
...
performance-api/src/main/java/com/clx/performance/enums/InputOutputEnum.java
0 → 100644
浏览文件 @
9861ff28
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Optional
;
public
enum
InputOutputEnum
{
;
@Getter
@AllArgsConstructor
public
enum
Type
{
INPUT
(
1
,
"进场"
),
OUTPUT
(
2
,
"出场"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
Type
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
Type:
:
getMsg
).
orElse
(
null
);
}
}
}
performance-api/src/main/java/com/clx/performance/enums/SaleBuyEnum.java
0 → 100644
浏览文件 @
9861ff28
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Optional
;
public
enum
SaleBuyEnum
{
;
@Getter
@AllArgsConstructor
public
enum
Type
{
SALE
(
1
,
"销售"
),
BUY
(
2
,
"采购"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
Type
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
Type:
:
getMsg
).
orElse
(
null
);
}
}
}
performance-web/pom.xml
浏览文件 @
9861ff28
...
@@ -99,8 +99,8 @@
...
@@ -99,8 +99,8 @@
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.s
mart
</groupId>
<groupId>
com.s
cm
</groupId>
<artifactId>
smart-weight
-sdk
</artifactId>
<artifactId>
lms-manage
-sdk
</artifactId>
</dependency>
</dependency>
...
...
performance-web/src/main/java/com/clx/performance/job/WeighingOderPictureJob.java
浏览文件 @
9861ff28
package
com
.
clx
.
performance
.
job
;
package
com
.
clx
.
performance
.
job
;
import
com.clx.performance.config.LoadAppConfig
;
import
com.clx.performance.config.PerformanceSmartCompanyNoConfig
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildWeighPictureDao
;
import
com.clx.performance.dao.OrderChildWeighPictureDao
;
import
com.clx.performance.enums.AppEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.
model.App
;
import
com.clx.performance.
enums.SaleBuyEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildWeighPicture
;
import
com.clx.performance.model.OrderChildWeighPicture
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.struct.OrderChildWeighPictureStruct
;
import
com.clx.performance.struct.OrderChildWeighPictureStruct
;
import
com.msl.common.job.JobLog
;
import
com.msl.common.job.JobLog
;
import
com.msl.common.open.OpenClient
;
import
com.smart.business.sdk.request.dto.WeighingSignatureDto
;
import
com.msl.common.open.RequestConfig
;
import
com.smart.business.sdk.request.dto.WeightChildSignatureDto
;
import
com.msl.common.result.Result
;
import
com.smart.weight.action.WeighingSignatureAction
;
import
com.smart.weight.dto.WeighingSignatureDto
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -44,10 +39,7 @@ public class WeighingOderPictureJob{
...
@@ -44,10 +39,7 @@ public class WeighingOderPictureJob{
private
OrderChildWeighPictureDao
pictureDao
;
private
OrderChildWeighPictureDao
pictureDao
;
@Autowired
@Autowired
private
PerformanceSmartCompanyNoConfig
companyNoConfig
;
private
OrderChildService
orderChildService
;
@Autowired
private
LoadAppConfig
loadAppConfig
;
/**
/**
...
@@ -78,34 +70,21 @@ public class WeighingOderPictureJob{
...
@@ -78,34 +70,21 @@ public class WeighingOderPictureJob{
//查询运单下的电子磅单数据
//查询运单下的电子磅单数据
if
(
CollectionUtils
.
isNotEmpty
(
orderChilds
)){
if
(
CollectionUtils
.
isNotEmpty
(
orderChilds
)){
App
app
=
loadAppConfig
.
getApp
(
AppEnum
.
UniqueIdentifier
.
SMART_WEIGHT
.
getCode
());
//对接场站配置信息
//组装配置信息
RequestConfig
config
=
new
RequestConfig
()
.
setAppId
(
app
.
getAppNo
())
.
setAppKey
(
app
.
getAppKey
())
.
setGatewayUrl
(
app
.
getCallback
());
//集合对象
//集合对象
List
<
OrderChildWeighPicture
>
pictures
=
new
ArrayList
<>();
List
<
OrderChildWeighPicture
>
pictures
=
new
ArrayList
<>();
for
(
OrderChild
orderChild:
orderChilds
){
for
(
OrderChild
orderChild:
orderChilds
){
//通过运单号码查询电子磅单图片
//通过运单号查询电子磅单图片
WeighingSignatureAction
weightAction
=
new
WeighingSignatureAction
();
WeightChildSignatureDto
weighingSignature
=
orderChildService
.
getWeighingSignature
(
orderChild
.
getChildNo
(),
SaleBuyEnum
.
Type
.
BUY
.
getCode
());
weightAction
.
setChildNo
(
orderChild
.
getChildNo
());
weightAction
.
setCustomerRelationNo
(
String
.
valueOf
(
companyNoConfig
.
getCompanyNo
()));
log
.
info
(
"job请求电子磅单参数,{}"
,
weightAction
);
Result
<
List
<
WeighingSignatureDto
>>
weighSignature
=
OpenClient
.
doAction
(
config
,
weightAction
);
log
.
info
(
"job请求电子磅单返回结果,{}"
,
weighSignature
);
//数据处理
//数据处理
if
(
!
Objects
.
equals
(
weighSignature
.
getCode
(),
0
)){
if
(
Objects
.
isNull
(
weighingSignature
)
||
CollectionUtils
.
isEmpty
(
weighingSignature
.
getWeighingSignatureList
()
)){
continue
;
continue
;
}
}
List
<
WeighingSignatureDto
>
weighSignatures
=
weighSignature
.
getData
();
List
<
WeighingSignatureDto
>
weighingSignatureList
=
weighingSignature
.
getWeighingSignatureList
();
if
(
CollectionUtils
.
isNotEmpty
(
weighSignatures
))
{
for
(
WeighingSignatureDto
weighingSignatureDto:
weighingSignatureList
){
for
(
WeighingSignatureDto
weighingSignatureDto:
weighSignatures
){
OrderChildWeighPicture
picture
=
pictureStruct
.
convert
(
weighingSignatureDto
);
OrderChildWeighPicture
picture
=
pictureStruct
.
convert
(
weighingSignatureDto
);
picture
.
setChildNo
(
orderChild
.
getChildNo
());
//对象转换
picture
.
setChildNo
(
orderChild
.
getChildNo
());
//对象转换
pictures
.
add
(
picture
);
pictures
.
add
(
picture
);
}
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
9861ff28
...
@@ -13,7 +13,7 @@ import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
...
@@ -13,7 +13,7 @@ import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.child.UpdateCarrierBatchCancelVO
;
import
com.clx.performance.vo.pc.child.UpdateCarrierBatchCancelVO
;
import
com.msl.common.base.PageParam
;
import
com.msl.common.base.PageParam
;
import
com.smart.
weight.dto.Weighing
SignatureDto
;
import
com.smart.
business.sdk.request.dto.WeightChild
SignatureDto
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -121,5 +121,5 @@ public interface OrderChildService {
...
@@ -121,5 +121,5 @@ public interface OrderChildService {
UpdateCarrierBatchCancelVO
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
);
UpdateCarrierBatchCancelVO
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
);
List
<
WeighingSignatureDto
>
getWeighingSignature
(
String
childNo
);
WeightChildSignatureDto
getWeighingSignature
(
String
childNo
,
Integer
type
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
9861ff28
...
@@ -93,8 +93,9 @@ import com.purchase.manage.action.SupplyChainSupervisionLoadAction;
...
@@ -93,8 +93,9 @@ import com.purchase.manage.action.SupplyChainSupervisionLoadAction;
import
com.purchase.manage.action.SupplyChainSupervisionLoadTruckAction
;
import
com.purchase.manage.action.SupplyChainSupervisionLoadTruckAction
;
import
com.purchase.manage.dto.SupervisionLoadInfoDto
;
import
com.purchase.manage.dto.SupervisionLoadInfoDto
;
import
com.purchase.manage.dto.SupervisionLoadTruckInfoDto
;
import
com.purchase.manage.dto.SupervisionLoadTruckInfoDto
;
import
com.smart.weight.action.WeighingSignatureAction
;
import
com.scm.lms.manage.action.LmsWeighingSignatureAction
;
import
com.smart.weight.dto.WeighingSignatureDto
;
import
com.smart.business.sdk.request.dto.WeighingSignatureDto
;
import
com.smart.business.sdk.request.dto.WeightChildSignatureDto
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
import
com.tencentcloudapi.ocr.v20181119.OcrClient
;
import
com.tencentcloudapi.ocr.v20181119.OcrClient
;
...
@@ -2186,7 +2187,6 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2186,7 +2187,6 @@ public class OrderChildServiceImpl implements OrderChildService {
result
.
setPoundRemark
(
orderChildPoundAuditDao
.
getPoundAuditDetail
(
childNo
).
orNull
().
getRemark
());
result
.
setPoundRemark
(
orderChildPoundAuditDao
.
getPoundAuditDetail
(
childNo
).
orNull
().
getRemark
());
}
}
//首次回显过磅电子磅单,其他情况回显用户上传的图片
List
<
OrderChildImage
>
imageList
=
orderChildImageDao
.
listLoadAndUnload
(
childNo
).
orElse
(
new
ArrayList
<>());
List
<
OrderChildImage
>
imageList
=
orderChildImageDao
.
listLoadAndUnload
(
childNo
).
orElse
(
new
ArrayList
<>());
result
.
setLoadImageList
(
imageList
.
stream
().
filter
(
result
.
setLoadImageList
(
imageList
.
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getType
(),
OrderChildImage
.
Type
.
LOAD
.
getCode
())).
map
(
item
->
Objects
.
equals
(
item
.
getType
(),
OrderChildImage
.
Type
.
LOAD
.
getCode
())).
map
(
...
@@ -2195,11 +2195,6 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2195,11 +2195,6 @@ public class OrderChildServiceImpl implements OrderChildService {
item
->
Objects
.
equals
(
item
.
getType
(),
OrderChildImage
.
Type
.
UNLOAD
.
getCode
())).
map
(
item
->
Objects
.
equals
(
item
.
getType
(),
OrderChildImage
.
Type
.
UNLOAD
.
getCode
())).
map
(
item
->
item
.
getImage
()).
collect
(
Collectors
.
toList
()));
item
->
item
.
getImage
()).
collect
(
Collectors
.
toList
()));
if
(
CollectionUtils
.
isEmpty
(
result
.
getUnloadImageList
())){
result
.
setUnloadImageList
(
getWeighingSignature
(
childNo
).
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getType
(),
2
)).
map
(
item
->
item
.
getOriginalImg
()).
collect
(
Collectors
.
toList
()));
//获取电子磅单图片
}
result
.
setArriveSendTime
(
orderChild
.
getArriveSendTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getArriveSendTime
()));
result
.
setArriveSendTime
(
orderChild
.
getArriveSendTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getArriveSendTime
()));
result
.
setFirstLoadTime
(
orderChild
.
getFirstLoadTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getFirstLoadTime
()));
result
.
setFirstLoadTime
(
orderChild
.
getFirstLoadTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getFirstLoadTime
()));
...
@@ -2208,6 +2203,32 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2208,6 +2203,32 @@ public class OrderChildServiceImpl implements OrderChildService {
result
.
setLoadTime
(
orderChild
.
getLoadTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getLoadTime
()));
result
.
setLoadTime
(
orderChild
.
getLoadTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getLoadTime
()));
result
.
setUnloadTime
(
orderChild
.
getUnloadTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getUnloadTime
()));
result
.
setUnloadTime
(
orderChild
.
getUnloadTime
()==
null
?
null
:
convertLocalDateTimeToDefaultString
(
orderChild
.
getUnloadTime
()));
//首次回显过磅电子磅单,其他情况回显用户上传的图片
WeightChildSignatureDto
weighingSignature
=
getWeighingSignature
(
childNo
,
SaleBuyEnum
.
Type
.
BUY
.
getCode
());
//获取电子磅单图片 类型:1-销售,2-采购
if
(
Objects
.
nonNull
(
weighingSignature
)){
if
(
CollectionUtils
.
isEmpty
(
result
.
getUnloadImageList
())){
//卸车图片
if
(
CollectionUtils
.
isNotEmpty
(
weighingSignature
.
getWeighingSignatureList
())){
//有电子磅单
result
.
setUnloadImageList
(
weighingSignature
.
getWeighingSignatureList
().
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getType
(),
InputOutputEnum
.
Type
.
OUTPUT
.
getCode
())).
map
(
item
->
item
.
getOriginalImg
())
.
collect
(
Collectors
.
toList
()));
//获取出场电子磅单图片 后期优化优先获取盖章图片 目前电子签章是pdf
}
}
if
(
Objects
.
isNull
(
result
.
getUnloadTare
())){
//卸车皮重
result
.
setUnloadTare
(
weighingSignature
.
getTare
());
}
if
(
Objects
.
isNull
(
result
.
getUnloadNet
())){
//卸车净重
result
.
setUnloadNet
(
weighingSignature
.
getNet
());
}
if
(
Objects
.
isNull
(
result
.
getUnloadRough
())){
//卸车毛重
result
.
setUnloadRough
(
weighingSignature
.
getRough
());
}
if
(
StringUtils
.
isBlank
(
result
.
getUnloadTime
())){
//卸车时间
result
.
setUnloadTime
(
weighingSignature
.
getOutTime
()
==
null
?
null
:
convertLocalDateTimeToDefaultString
(
weighingSignature
.
getOutTime
()));
}
}
return
result
;
return
result
;
}
}
...
@@ -3506,11 +3527,15 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3506,11 +3527,15 @@ public class OrderChildServiceImpl implements OrderChildService {
return
null
;
return
null
;
}
}
List
<
String
>
images
=
getWeighingSignature
(
param
.
getChildNo
()).
stream
().
filter
(
WeightChildSignatureDto
weighingSignature
=
getWeighingSignature
(
param
.
getChildNo
(),
SaleBuyEnum
.
Type
.
BUY
.
getCode
());
//获取电子磅单图片
item
->
Objects
.
equals
(
item
.
getType
(),
2
)).
map
(
if
(
Objects
.
nonNull
(
weighingSignature
)
&&
CollectionUtils
.
isNotEmpty
(
weighingSignature
.
getWeighingSignatureList
())){
//出场图片
item
->
item
.
getOriginalImg
()).
collect
(
Collectors
.
toList
());
//获取电子磅单图片
List
<
String
>
images
=
weighingSignature
.
getWeighingSignatureList
().
stream
().
filter
(
if
(
CollectionUtils
.
isNotEmpty
(
images
)){
item
->
Objects
.
equals
(
item
.
getType
(),
InputOutputEnum
.
Type
.
OUTPUT
.
getCode
())).
map
(
return
null
;
item
->
StringUtils
.
isNotBlank
(
item
.
getSignImg
())?
item
.
getSignImg
():
item
.
getOriginalImg
())
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
images
)){
return
null
;
}
}
}
try
{
try
{
...
@@ -3781,28 +3806,30 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3781,28 +3806,30 @@ public class OrderChildServiceImpl implements OrderChildService {
/**
/**
* 通过运单号获取电子磅单相关信息
* 通过运单号获取电子磅单相关信息
* @param childNo
* @param childNo
* @param type 1 销售 2 采购
* @return
* @return
*/
*/
public
List
<
WeighingSignatureDto
>
getWeighingSignature
(
String
childNo
){
public
WeightChildSignatureDto
getWeighingSignature
(
String
childNo
,
Integer
type
){
App
app
=
loadAppConfig
.
getApp
(
AppEnum
.
UniqueIdentifier
.
SMART_WEIGHT
.
getCode
());
//对接场站
配置信息
App
app
=
loadAppConfig
.
getApp
(
AppEnum
.
UniqueIdentifier
.
LMS_MANAGE
.
getCode
());
//对接物流子系统
配置信息
//组装配置信息
//组装配置信息
RequestConfig
config
=
new
RequestConfig
()
RequestConfig
config
=
new
RequestConfig
()
.
setAppId
(
app
.
getAppNo
())
.
setAppId
(
app
.
getAppNo
())
.
setAppKey
(
app
.
getAppKey
())
.
setAppKey
(
app
.
getAppKey
())
.
setGatewayUrl
(
app
.
getCallback
());
.
setGatewayUrl
(
app
.
getCallback
());
//通过运单号码查询电子磅单图片
//通过运单号码查询电子磅单图片
WeighingSignatureAction
weightAction
=
new
WeighingSignatureAction
();
LmsWeighingSignatureAction
weightAction
=
new
Lms
WeighingSignatureAction
();
weightAction
.
setChildNo
(
childNo
);
weightAction
.
setChildNo
(
childNo
);
weightAction
.
setCustomerRelationNo
(
String
.
valueOf
(
companyNoConfig
.
getCompanyNo
()));
weightAction
.
setCustomerRelationNo
(
String
.
valueOf
(
companyNoConfig
.
getCompanyNo
()));
weightAction
.
setType
(
type
);
log
.
info
(
"接口请求电子磅单参数,{}"
,
weightAction
);
log
.
info
(
"接口请求电子磅单参数,{}"
,
weightAction
);
Result
<
List
<
WeighingSignatureDto
>
>
weighSignature
=
OpenClient
.
doAction
(
config
,
weightAction
);
Result
<
WeightChildSignatureDto
>
weighSignature
=
OpenClient
.
doAction
(
config
,
weightAction
);
log
.
info
(
"接口请求电子磅单返回结果,{}"
,
weighSignature
);
log
.
info
(
"接口请求电子磅单返回结果,{}"
,
weighSignature
);
//数据处理
//数据处理
if
(
Objects
.
equals
(
weighSignature
.
getCode
(),
0
)){
if
(
Objects
.
equals
(
weighSignature
.
getCode
(),
0
)){
List
<
WeighingSignatureDto
>
weighSignatures
=
weighSignature
.
getData
();
WeightChildSignatureDto
weighSignatures
=
weighSignature
.
getData
();
return
weighSignatures
;
return
weighSignatures
;
}
}
return
new
ArrayList
<>
();
return
new
WeightChildSignatureDto
();
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildWeighPictureServiceImpl.java
浏览文件 @
9861ff28
package
com
.
clx
.
performance
.
service
.
impl
;
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.enums.InputOutputEnum
;
import
com.clx.performance.enums.SaleBuyEnum
;
import
com.clx.performance.param.app.OrderChildWeighPictureParam
;
import
com.clx.performance.param.app.OrderChildWeighPictureParam
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderChildWeighPictureService
;
import
com.clx.performance.service.OrderChildWeighPictureService
;
import
com.clx.performance.vo.app.PictureVo
;
import
com.clx.performance.vo.app.PictureVo
;
import
com.smart.weight.dto.WeighingSignatureDto
;
import
com.smart.business.sdk.request.dto.WeightChildSignatureDto
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -26,14 +29,15 @@ public class OrderChildWeighPictureServiceImpl implements OrderChildWeighPictur
...
@@ -26,14 +29,15 @@ public class OrderChildWeighPictureServiceImpl implements OrderChildWeighPictur
@Override
@Override
public
PictureVo
getWeighPictures
(
OrderChildWeighPictureParam
param
)
{
public
PictureVo
getWeighPictures
(
OrderChildWeighPictureParam
param
)
{
//电子磅单图片
//电子磅单图片
List
<
WeighingSignatureDto
>
images
=
orderChildService
.
getWeighingSignature
(
param
.
getChildNo
());
WeightChildSignatureDto
unloadImages
=
orderChildService
.
getWeighingSignature
(
param
.
getChildNo
(),
SaleBuyEnum
.
Type
.
BUY
.
getCode
());
PictureVo
vo
=
new
PictureVo
();
PictureVo
vo
=
new
PictureVo
();
vo
.
setLoadImages
(
images
.
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getType
(),
1
)).
map
(
if
(
Objects
.
nonNull
(
unloadImages
)
&&
CollectionUtils
.
isNotEmpty
(
unloadImages
.
getWeighingSignatureList
())){
item
->
item
.
getOriginalImg
()).
collect
(
Collectors
.
toList
()));
vo
.
setUnloadImages
(
unloadImages
.
getWeighingSignatureList
().
stream
().
filter
(
vo
.
setUnloadImages
(
images
.
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getType
(),
InputOutputEnum
.
Type
.
OUTPUT
.
getCode
())).
map
(
item
->
Objects
.
equals
(
item
.
getType
(),
2
)).
map
(
item
->
StringUtils
.
isNotBlank
(
item
.
getSignImg
())?
item
.
getSignImg
():
item
.
getOriginalImg
()).
collect
(
Collectors
.
toList
()));
item
->
item
.
getOriginalImg
()).
collect
(
Collectors
.
toList
()));
}
return
vo
;
return
vo
;
}
}
}
}
performance-web/src/main/java/com/clx/performance/struct/OrderChildWeighPictureStruct.java
浏览文件 @
9861ff28
...
@@ -3,7 +3,7 @@ package com.clx.performance.struct;
...
@@ -3,7 +3,7 @@ package com.clx.performance.struct;
import
com.clx.performance.model.OrderChildWeighPicture
;
import
com.clx.performance.model.OrderChildWeighPicture
;
import
com.msl.common.utils.DateStructUtil
;
import
com.msl.common.utils.DateStructUtil
;
import
com.msl.common.utils.DateUtils
;
import
com.msl.common.utils.DateUtils
;
import
com.smart.
weigh
t.dto.WeighingSignatureDto
;
import
com.smart.
business.sdk.reques
t.dto.WeighingSignatureDto
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
DateStructUtil
.
class
,
imports
=
{
DateUtils
.
class
})
@Mapper
(
componentModel
=
"spring"
,
uses
=
DateStructUtil
.
class
,
imports
=
{
DateUtils
.
class
})
...
...
performance-web/src/main/java/com/msl/common/open/OpenClient.java
0 → 100644
浏览文件 @
9861ff28
package
com
.
msl
.
common
.
open
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.google.common.reflect.TypeToken
;
import
com.google.gson.*
;
import
com.msl.common.open.action.Action
;
import
com.msl.common.open.message.Message
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.EncryptUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
java.lang.reflect.Type
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeParseException
;
/**
* @author wanglq
* Date 2024/4/25
* Time 20:31
*/
@Slf4j
@SuppressWarnings
(
"all"
)
public
class
OpenClient
{
/**
* 执行action
*
* @param action action
* @param <T> 返回类型
* @return 结果
*/
public
static
<
T
>
Result
<
T
>
doAction
(
RequestConfig
config
,
Action
<
T
>
action
)
{
return
doPost
(
config
,
action
,
"Action"
);
}
/**
* 发送消息
*
* @param message 消息
* @param <T> 返回类型
* @return 结果
*/
public
static
<
T
>
Result
<
T
>
sendMessage
(
RequestConfig
config
,
Message
<
T
>
message
)
{
return
doPost
(
config
,
message
,
"Message"
);
}
/**
* 返回业务结果转换
*
* @param result 业务结果
* @param targetClass 目标类型
* @param <T> 目标类型
* @return 结果实体
*/
private
static
<
T
>
Result
<
T
>
covertResult
(
String
result
,
Type
targetClass
)
{
Gson
gson
=
new
GsonBuilder
()
.
registerTypeAdapter
(
LocalDateTime
.
class
,
new
CustomLocalDateTimeDeserializer
())
.
create
();
// 使用TypeToken来获取带有泛型信息的Type
Type
type
=
new
TypeToken
<
Result
<
T
>>()
{
}.
getType
();
Result
<
T
>
resultObject
=
gson
.
fromJson
(
result
,
type
);
// 如果目标类型不为空,则尝试将data属性转换为目标类型
if
(
targetClass
!=
null
&&
resultObject
.
getData
()
!=
null
)
{
T
dataObject
=
gson
.
fromJson
(
gson
.
toJson
(
resultObject
.
getData
()),
targetClass
);
resultObject
.
setData
(
dataObject
);
}
return
resultObject
;
}
/**
* 执行post请求
*
* @param openDto 请求参数
* @since 1.1.0
*/
private
static
<
T
>
Result
<
T
>
doPost
(
RequestConfig
config
,
Process
<
T
>
process
,
String
type
)
{
try
{
String
str
=
JSON
.
toJSONString
(
process
);
ProcessId
processId
=
process
.
processId
();
log
.
info
(
"OpenClient发送 {}<{}> 请求参数:{}"
,
type
,
processId
.
show
(),
str
);
//构造加密实体
OpenDto
openDto
=
OpenDto
.
buildEncrypt
(
config
.
getAppId
(),
str
,
config
.
getAppKey
(),
System
.
currentTimeMillis
())
.
setNamespace
(
processId
.
namespace
())
.
setOperate
(
processId
.
identity
());
//执行请求
return
HttpExecutor
.
post
(
config
.
getGatewayUrl
(),
null
,
openDto
)
//反序化
.
map
(
r
->
JSON
.
parseObject
(
r
,
new
TypeReference
<
OpenDto
>()
{
}))
//数据解密
.
mapTry
(
dto
->
EncryptUtil
.
decrypt
(
dto
.
getData
(),
config
.
getAppKey
()))
.
peek
(
s
->
log
.
info
(
"{}<{}> 返回结果:{}"
,
type
,
processId
.
show
(),
s
))
//业务结果实体转换
.
map
(
s
->
{
Result
<
T
>
r
=
covertResult
(
s
,
process
.
returnType
());
return
r
;
}).
orElse
(
Result
.
fail
());
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"OpenClient请求失败"
,
e
);
}
}
public
static
class
CustomLocalDateTimeDeserializer
implements
JsonDeserializer
<
LocalDateTime
>
{
private
final
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
@Override
public
LocalDateTime
deserialize
(
JsonElement
json
,
Type
typeOfT
,
JsonDeserializationContext
context
)
throws
JsonParseException
{
try
{
return
LocalDateTime
.
parse
(
json
.
getAsString
(),
formatter
);
}
catch
(
DateTimeParseException
e
)
{
throw
new
JsonParseException
(
"Date parse error"
,
e
);
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论