Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
8090bfdb
提交
8090bfdb
authored
11月 08, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…
Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v6.2_sync_trade_20231102
上级
b3377a5c
fbd34a11
显示空白字符变更
内嵌
并排
正在显示
89 个修改的文件
包含
2950 行增加
和
458 行删除
+2950
-458
ActionConstants.java
...in/java/com/clx/performance/constant/ActionConstants.java
+6
-0
CancelOrderEnum.java
.../main/java/com/clx/performance/enums/CancelOrderEnum.java
+31
-0
OrderChildEnum.java
...c/main/java/com/clx/performance/enums/OrderChildEnum.java
+1
-0
OrderGoodsTruckBindEnum.java
...va/com/clx/performance/enums/OrderGoodsTruckBindEnum.java
+3
-4
OwnerAccountEnum.java
...main/java/com/clx/performance/enums/OwnerAccountEnum.java
+20
-0
ThirdRequestStatusEnum.java
...ava/com/clx/performance/enums/ThirdRequestStatusEnum.java
+18
-0
ThirdRequestTypeEnum.java
.../java/com/clx/performance/enums/ThirdRequestTypeEnum.java
+16
-0
PerformanceFeign.java
...main/java/com/clx/performance/feign/PerformanceFeign.java
+4
-0
NotifyString.java
...main/java/com/clx/performance/param/pay/NotifyString.java
+64
-0
PayResult.java
...rc/main/java/com/clx/performance/param/pay/PayResult.java
+166
-0
OrderGoodsEditParams.java
...va/com/clx/performance/param/pc/OrderGoodsEditParams.java
+3
-0
BreakContractDriverRecordAddParam.java
...akcontract/carrier/BreakContractDriverRecordAddParam.java
+4
-0
BreakContractOwnerRecordAddParam.java
...eakcontract/carrier/BreakContractOwnerRecordAddParam.java
+4
-0
ThawAccountParam.java
.../com/clx/performance/param/pc/owner/ThawAccountParam.java
+1
-1
FreezeUnitDTO.java
...a/com/clx/performance/param/pc/payment/FreezeUnitDTO.java
+41
-0
PayCardDTO.java
...java/com/clx/performance/param/pc/payment/PayCardDTO.java
+14
-0
PayChildDTO.java
...ava/com/clx/performance/param/pc/payment/PayChildDTO.java
+16
-0
PayParam.java
...n/java/com/clx/performance/param/pc/payment/PayParam.java
+38
-0
PayUnitDTO.java
...java/com/clx/performance/param/pc/payment/PayUnitDTO.java
+35
-0
PayUserDTO.java
...java/com/clx/performance/param/pc/payment/PayUserDTO.java
+33
-0
OrderGoodsAPPVO.java
...main/java/com/clx/performance/vo/app/OrderGoodsAPPVO.java
+3
-0
OrderGoodsEditVO.java
...main/java/com/clx/performance/vo/pc/OrderGoodsEditVO.java
+7
-0
OwnerAccountAllVO.java
...ain/java/com/clx/performance/vo/pc/OwnerAccountAllVO.java
+14
-0
BreakContractOwnerRuleVO.java
...vo/pc/breakcontract/carrier/BreakContractOwnerRuleVO.java
+4
-2
GoodsOrderTruckRecordComponent.java
...performance/component/GoodsOrderTruckRecordComponent.java
+12
-1
OrderCancelComponent.java
...a/com/clx/performance/component/OrderCancelComponent.java
+280
-0
OrderGoodsStatusLazyComponent.java
.../performance/component/OrderGoodsStatusLazyComponent.java
+13
-8
MslPaymentConfig.java
...ain/java/com/clx/performance/config/MslPaymentConfig.java
+18
-0
RabbitBeanConfig.java
...ain/java/com/clx/performance/config/RabbitBeanConfig.java
+40
-35
AppGoodsOrderController.java
...x/performance/controller/app/AppGoodsOrderController.java
+15
-10
OrderCancelFeignController.java
...formance/controller/feign/OrderCancelFeignController.java
+2
-2
OwnerAccountFeignController.java
...ormance/controller/feign/OwnerAccountFeignController.java
+8
-4
PayNotifyController.java
...x/performance/controller/payment/PayNotifyController.java
+40
-0
GoodsOrderController.java
...m/clx/performance/controller/pc/GoodsOrderController.java
+11
-2
OrderCancelController.java
.../clx/performance/controller/pc/OrderCancelController.java
+0
-2
CarrierBreakContractOwnerRuleController.java
...ract/carrier/CarrierBreakContractOwnerRuleController.java
+1
-0
OwnerAccountController.java
...rformance/controller/pc/owner/OwnerAccountController.java
+2
-2
TempController.java
...a/com/clx/performance/controller/temp/TempController.java
+13
-0
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+18
-1
OrderGoodsDao.java
.../src/main/java/com/clx/performance/dao/OrderGoodsDao.java
+8
-1
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+7
-0
ThirdPartRequestLogDao.java
.../java/com/clx/performance/dao/ThirdPartRequestLogDao.java
+27
-0
BreakContractDriverRecordDao.java
...mance/dao/breakcontract/BreakContractDriverRecordDao.java
+3
-1
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+13
-4
OrderGoodsDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
+24
-4
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+36
-8
ThirdPartRequestLogDaoImpl.java
.../clx/performance/dao/impl/ThirdPartRequestLogDaoImpl.java
+57
-0
BreakContractDriverRecordDaoImpl.java
.../impl/breakcontract/BreakContractDriverRecordDaoImpl.java
+4
-1
PayEncryptTools.java
...om/clx/performance/encryption/oldmsl/PayEncryptTools.java
+150
-0
PrivateKeyConfig.java
...m/clx/performance/encryption/oldmsl/PrivateKeyConfig.java
+24
-0
RSACoder.java
.../java/com/clx/performance/encryption/oldmsl/RSACoder.java
+473
-0
SystemCodeEnum.java
...com/clx/performance/encryption/oldmsl/SystemCodeEnum.java
+48
-0
HttpEnum.java
...web/src/main/java/com/clx/performance/enums/HttpEnum.java
+25
-0
PayRemarkEnum.java
...rc/main/java/com/clx/performance/enums/PayRemarkEnum.java
+59
-0
PayUnitTypeEnum.java
.../main/java/com/clx/performance/enums/PayUnitTypeEnum.java
+87
-0
OrderCancelHandler.java
...java/com/clx/performance/listener/OrderCancelHandler.java
+3
-14
RabbitOrderGoodsStatusOnHandler.java
...performance/listener/RabbitOrderGoodsStatusOnHandler.java
+5
-0
OrderChildMapper.java
...ain/java/com/clx/performance/mapper/OrderChildMapper.java
+2
-1
OrderGoodsMapper.java
...ain/java/com/clx/performance/mapper/OrderGoodsMapper.java
+13
-1
ThirdPartRequestLogMapper.java
...com/clx/performance/mapper/ThirdPartRequestLogMapper.java
+10
-0
ThirdPartRequestLog.java
...n/java/com/clx/performance/model/ThirdPartRequestLog.java
+71
-0
OrderCancelService.java
.../java/com/clx/performance/service/OrderCancelService.java
+13
-7
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+1
-0
OrderGoodsService.java
...n/java/com/clx/performance/service/OrderGoodsService.java
+1
-1
OrderGoodsTruckBindService.java
...m/clx/performance/service/OrderGoodsTruckBindService.java
+7
-0
OwnerAccountService.java
...java/com/clx/performance/service/OwnerAccountService.java
+2
-1
PaymentService.java
...main/java/com/clx/performance/service/PaymentService.java
+10
-0
TempService.java
...rc/main/java/com/clx/performance/service/TempService.java
+2
-0
ThirdPartRequestLogService.java
...m/clx/performance/service/ThirdPartRequestLogService.java
+36
-0
BreakContractSettlementOwnerService.java
...ce/breakcontract/BreakContractSettlementOwnerService.java
+3
-1
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+139
-222
OrderChildPoundAuditServiceImpl.java
...ormance/service/impl/OrderChildPoundAuditServiceImpl.java
+1
-1
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+25
-7
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+138
-43
OrderGoodsTruckBindServiceImpl.java
...formance/service/impl/OrderGoodsTruckBindServiceImpl.java
+69
-2
OwnerAccountServiceImpl.java
...clx/performance/service/impl/OwnerAccountServiceImpl.java
+6
-5
PaymentServiceImpl.java
.../com/clx/performance/service/impl/PaymentServiceImpl.java
+141
-0
TempServiceImpl.java
...ava/com/clx/performance/service/impl/TempServiceImpl.java
+23
-1
ThirdPartRequestLogServiceImpl.java
...formance/service/impl/ThirdPartRequestLogServiceImpl.java
+54
-0
BreakContractDriverRecordServiceImpl.java
...l/breakcontract/BreakContractDriverRecordServiceImpl.java
+5
-5
BreakContractOwnerRuleServiceImpl.java
...impl/breakcontract/BreakContractOwnerRuleServiceImpl.java
+5
-4
BreakContractSettlementOwnerServiceImpl.java
...reakcontract/BreakContractSettlementOwnerServiceImpl.java
+62
-31
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+2
-2
OrderGoodsSqlProvider.java
...om/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
+27
-7
OrderGoodsTruckBindSqlProvider.java
...rformance/sqlProvider/OrderGoodsTruckBindSqlProvider.java
+2
-1
OneGoodsOrderStrategy.java
.../clx/performance/strategy/impl/OneGoodsOrderStrategy.java
+2
-2
ThreeGoodsOrderStrategy.java
...lx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
+2
-2
TwoGoodsOrderStrategy.java
.../clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
+2
-2
GdService.java
...src/main/java/com/clx/performance/utils/gd/GdService.java
+2
-2
没有找到文件。
performance-api/src/main/java/com/clx/performance/constant/ActionConstants.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
constant
;
public
class
ActionConstants
{
public
static
final
String
CLX_PAYMENT_PAY
=
"clx.payment.pay"
;
}
performance-api/src/main/java/com/clx/performance/enums/CancelOrderEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Objects
;
import
java.util.Optional
;
public
enum
CancelOrderEnum
{
;
@Getter
@AllArgsConstructor
public
enum
Type
{
NOT_CHILD
(
1
,
"违约无运单"
),
NOT_TRANSPORTED
(
2
,
"取消未拉运吨数"
),
NOT_ARRIVE
(
3
,
"取消未到达货源地"
),
;
private
final
Integer
code
;
private
final
String
name
;
public
static
Optional
<
Type
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
Objects
.
equals
(
e
.
getCode
(),
code
)).
findFirst
();
}
}
}
performance-api/src/main/java/com/clx/performance/enums/OrderChildEnum.java
浏览文件 @
8090bfdb
...
@@ -33,6 +33,7 @@ public enum OrderChildEnum {
...
@@ -33,6 +33,7 @@ public enum OrderChildEnum {
DRIVER_CANCEL
(
110
,
"司机取消"
),
DRIVER_CANCEL
(
110
,
"司机取消"
),
PLATFORM_CANCEL
(
111
,
"承运取消"
),
PLATFORM_CANCEL
(
111
,
"承运取消"
),
OWNER_CANCEL
(
112
,
"货主取消"
),
OWNER_CANCEL
(
112
,
"货主取消"
),
ARTIFICIAL_CANCEL
(
113
,
"客服取消"
),
//
//
// OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆
// OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆
...
...
performance-api/src/main/java/com/clx/performance/enums/OrderGoodsTruckBindEnum.java
浏览文件 @
8090bfdb
...
@@ -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
OrderGoodsTruckBindEnum
{
public
enum
OrderGoodsTruckBindEnum
{
;
;
...
@@ -15,11 +13,12 @@ public enum OrderGoodsTruckBindEnum {
...
@@ -15,11 +13,12 @@ public enum OrderGoodsTruckBindEnum {
@AllArgsConstructor
@AllArgsConstructor
public
enum
Status
{
public
enum
Status
{
SUCCESS
(
1
,
"正常"
),
NORMAL
(
1
,
"正常"
),
CANCEL
(
2
,
"取消"
),
CANCEL
(
2
,
"取消"
),
GET
(
3
,
"已接单"
),
GET
(
3
,
"已接单"
),
EXPIRE
(
4
,
"已失效"
)
EXPIRE
(
4
,
"已失效"
),
SUCCESS
(
5
,
"结束"
)
;
;
...
...
performance-api/src/main/java/com/clx/performance/enums/OwnerAccountEnum.java
浏览文件 @
8090bfdb
...
@@ -55,7 +55,27 @@ public enum OwnerAccountEnum {
...
@@ -55,7 +55,27 @@ public enum OwnerAccountEnum {
;
;
private
final
Integer
code
;
private
final
Integer
code
;
private
final
String
msg
;
private
final
String
msg
;
public
String
getMsg
()
{
return
this
.
msg
;
}
public
Integer
getCode
()
{
return
this
.
code
;
}
}
@Getter
@AllArgsConstructor
public
enum
OrderChildTypeStatus
{
ORDINARY
(
1
,
"普通单"
),
NETWORK
(
2
,
"网运单"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
Integer
getCode
()
{
return
this
.
code
;
}
}
}
@Getter
@Getter
...
...
performance-api/src/main/java/com/clx/performance/enums/ThirdRequestStatusEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
ThirdRequestStatusEnum
{
HAVING
(
0
,
"请求中"
),
SUCCESS
(
1
,
"成功"
),
FAIL
(
2
,
"失败"
),
;
private
final
int
code
;
private
final
String
mark
;
}
performance-api/src/main/java/com/clx/performance/enums/ThirdRequestTypeEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
ThirdRequestTypeEnum
{
SEND
(
1
,
"发送请求"
),
RECEIVE
(
2
,
"接收请求"
),
;
private
final
int
code
;
private
final
String
msg
;
}
performance-api/src/main/java/com/clx/performance/feign/PerformanceFeign.java
浏览文件 @
8090bfdb
...
@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.owner.FrozenAccountParam;
...
@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.owner.FrozenAccountParam;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.param.pc.owner.UpdateStatusParam
;
import
com.clx.performance.param.pc.owner.UpdateStatusParam
;
import
com.clx.performance.vo.feign.OrderGoodsFeignVO
;
import
com.clx.performance.vo.feign.OrderGoodsFeignVO
;
import
com.clx.performance.vo.pc.OwnerAccountAllVO
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
@@ -84,4 +85,7 @@ public interface PerformanceFeign {
...
@@ -84,4 +85,7 @@ public interface PerformanceFeign {
@GetMapping
(
value
=
{
"clx-performance/feign/orderChild/selectInTransitOrderChild"
})
@GetMapping
(
value
=
{
"clx-performance/feign/orderChild/selectInTransitOrderChild"
})
Result
<
Boolean
>
selectInTransitOrderChild
(
@RequestParam
(
"orderNo"
)
String
orderNo
);
Result
<
Boolean
>
selectInTransitOrderChild
(
@RequestParam
(
"orderNo"
)
String
orderNo
);
@GetMapping
(
value
=
{
"clx-performance/feign/owner/accountInfo"
})
Result
<
OwnerAccountAllVO
>
accountInfo
(
@RequestParam
Long
userNo
);
}
}
performance-api/src/main/java/com/clx/performance/param/pay/NotifyString.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pay
;
import
com.msl.common.enums.ResultEnum
;
/**
*
* @author xujianke
* @date 2017年6月01日
* @description
*/
public
class
NotifyString
extends
PayResult
<
String
>
{
/** 支付操作 参考<MessageTypeEnum> */
private
Integer
action
;
/** 交易单号 */
private
String
orderNo
;
/** 支付请求唯一ID */
private
String
uuid
;
/** 出错时的交易单元编号 */
private
String
errorNo
;
public
NotifyString
(){
super
();
}
public
NotifyString
(
PayResult
<
String
>
ret
){
this
.
setCode
(
ret
.
getCode
());
this
.
setMsg
(
ret
.
getMsg
());
this
.
setData
(
ret
.
getData
());
}
public
NotifyString
(
ResultEnum
e
)
{
super
(
e
);
}
public
String
getOrderNo
()
{
return
orderNo
;
}
public
void
setOrderNo
(
String
orderNo
)
{
this
.
orderNo
=
orderNo
;
}
public
String
getUuid
()
{
return
uuid
;
}
public
void
setUuid
(
String
uuid
)
{
this
.
uuid
=
uuid
;
}
public
Integer
getAction
()
{
return
action
;
}
public
void
setAction
(
Integer
action
)
{
this
.
action
=
action
;
}
public
String
getErrorNo
()
{
return
errorNo
;
}
public
void
setErrorNo
(
String
errorNo
)
{
this
.
errorNo
=
errorNo
;
}
@Override
public
String
toString
()
{
return
"NotifyString [action="
+
action
+
", orderNo="
+
orderNo
+
", uuid="
+
uuid
+
", errorNo="
+
errorNo
+
", toString()="
+
super
.
toString
()
+
"]"
;
}
}
performance-api/src/main/java/com/clx/performance/param/pay/PayResult.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pay
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.msl.common.enums.ResultEnum
;
/**
*
* 类: Result
* 描述:接口返回结果类
* @author wangjf
* 时间:2017年3月23日下午3:46:50
* 版本:v1.0
* 修改人:wangjf
*/
public
class
PayResult
<
T
>
{
private
Integer
code
;
// 返回结果代码,0为成功
/**
* 返回结果代码
* 0为成功 ,其他代码请参照代码文档
* @return
*/
public
Integer
getCode
()
{
return
code
;
}
private
Long
total
;
//总共记录数
private
Integer
pageNum
;
//总共页数
/**
* 0代表成功,其他代码请参考《返回值说明文档》
* 请务必按规定填写!
* @param code 结果代码
*/
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
/**
* 错误消息,接口中的错误处理,请务必填写错误消息<br/>
* 当成功时消息应为“success”
* @param msg 错误消息
*/
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
T
getData
()
{
return
data
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
private
String
msg
;
private
T
data
;
/**
* 默认code = 0,<br/>
* msg = "success"
*/
public
PayResult
()
{
this
.
code
=
0
;
this
.
msg
=
"success"
;
}
/**
* 默认code = 0,
* msg = "success",<br/>
* 当成功返回结果时,可使用此方法,直接将返回结果填写即可
* @param data ,返回结果
*/
public
PayResult
(
T
data
)
{
this
.
code
=
0
;
this
.
msg
=
"success"
;
this
.
data
=
data
;
}
/**
* 查询列表返回成功
* @param data
* @param pageNum
* @param total
*/
public
PayResult
(
T
data
,
Integer
pageNum
,
Long
total
)
{
this
.
code
=
0
;
this
.
msg
=
"success"
;
this
.
data
=
data
;
this
.
pageNum
=
pageNum
;
this
.
total
=
total
;
}
/**
* 产生错误时,需要在枚举中拼接自定义返回的内容
* @param e
* @param msg
*/
public
PayResult
(
ResultEnum
e
,
String
msg
)
{
this
.
code
=
e
.
getCode
();
this
.
msg
=
String
.
format
(
e
.
getMsg
(),
msg
);
}
/**
* 产生错误时,可以使用此构造方法,在new时直接填写错误代码及消息即可
* @param code
* @param msg
*/
public
PayResult
(
Integer
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
PayResult
(
Integer
code
,
String
msg
,
T
data
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
this
.
data
=
data
;
}
@JsonIgnore
public
void
setResultEnum
(
ResultEnum
e
){
this
.
code
=
e
.
getCode
();
this
.
msg
=
e
.
getMsg
();
}
public
PayResult
(
ResultEnum
e
)
{
this
.
code
=
e
.
getCode
();
this
.
msg
=
e
.
getMsg
();
}
public
PayResult
(
T
data
,
ResultEnum
e
)
{
this
.
code
=
e
.
getCode
();
this
.
msg
=
e
.
getMsg
();
this
.
data
=
data
;
}
public
Long
getTotal
()
{
return
total
;
}
public
void
setTotal
(
Long
total
)
{
this
.
total
=
total
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
@Override
public
String
toString
()
{
return
"Result [code="
+
code
+
", msg="
+
msg
+
", data="
+
data
+
"]"
;
}
/**
* 是否成功
* @return
*/
public
boolean
succeed
()
{
return
code
!=
null
&&
code
==
0
;
}
}
performance-api/src/main/java/com/clx/performance/param/pc/OrderGoodsEditParams.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
;
package
com
.
clx
.
performance
.
param
.
pc
;
import
com.msl.common.convertor.type.MoneyInConvert
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -48,6 +50,7 @@ public class OrderGoodsEditParams {
...
@@ -48,6 +50,7 @@ public class OrderGoodsEditParams {
private
Integer
needTruckNum
;
private
Integer
needTruckNum
;
@ApiModelProperty
(
"挂单运费"
)
@ApiModelProperty
(
"挂单运费"
)
@MoneyInConvert
private
BigDecimal
pendingOrderFreight
;
private
BigDecimal
pendingOrderFreight
;
@ApiModelProperty
(
"创建人用户编号"
)
@ApiModelProperty
(
"创建人用户编号"
)
...
...
performance-api/src/main/java/com/clx/performance/param/pc/breakcontract/carrier/BreakContractDriverRecordAddParam.java
浏览文件 @
8090bfdb
...
@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
...
@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
import
lombok.Setter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
lombok.ToString
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -32,6 +34,8 @@ public class BreakContractDriverRecordAddParam {
...
@@ -32,6 +34,8 @@ public class BreakContractDriverRecordAddParam {
@ApiModelProperty
(
"违约金"
)
@ApiModelProperty
(
"违约金"
)
@NotNull
(
message
=
"违约金不能为空"
)
@NotNull
(
message
=
"违约金不能为空"
)
@Max
(
value
=
999_999_999L
,
message
=
"金额不能超过999999999元"
)
@Min
(
value
=
0L
,
message
=
"金额不能小于0元"
)
@MoneyInConvert
@MoneyInConvert
private
BigDecimal
figure
;
private
BigDecimal
figure
;
...
...
performance-api/src/main/java/com/clx/performance/param/pc/breakcontract/carrier/BreakContractOwnerRecordAddParam.java
浏览文件 @
8090bfdb
...
@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
...
@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
import
lombok.Setter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
lombok.ToString
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -32,6 +34,8 @@ public class BreakContractOwnerRecordAddParam {
...
@@ -32,6 +34,8 @@ public class BreakContractOwnerRecordAddParam {
@ApiModelProperty
(
"违约金"
)
@ApiModelProperty
(
"违约金"
)
@NotNull
(
message
=
"违约金不能为空"
)
@NotNull
(
message
=
"违约金不能为空"
)
@Max
(
value
=
999_999_999L
,
message
=
"金额不能超过999999999元"
)
@Min
(
value
=
0L
,
message
=
"金额不能小于0元"
)
@MoneyInConvert
@MoneyInConvert
private
BigDecimal
figure
;
private
BigDecimal
figure
;
...
...
performance-api/src/main/java/com/clx/performance/param/pc/owner/ThawAccountParam.java
浏览文件 @
8090bfdb
...
@@ -16,5 +16,5 @@ public class ThawAccountParam {
...
@@ -16,5 +16,5 @@ public class ThawAccountParam {
private
String
orderNo
;
private
String
orderNo
;
// 1: 普通单 2:网运单
// 1: 普通单 2:网运单
private
String
orderType
;
private
Integer
orderType
;
}
}
performance-api/src/main/java/com/clx/performance/param/pc/payment/FreezeUnitDTO.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
.
payment
;
import
lombok.*
;
import
java.util.List
;
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
FreezeUnitDTO
{
/** 冻结序列号 */
private
String
freezeNo
;
/** 操作金额(单位分) */
private
Long
figure
;
/** 平台信息费用(单位分) */
private
Long
fee
;
/** 平台信息费收费方式 1from 2to 3all 默认是2 */
private
Integer
feeType
;
/** 返还费用 */
private
Long
returnFee
;
/** 操作类型 1撤销 2完成 3修改*/
private
Integer
action
;
/** 时间戳(单位毫秒) **/
private
Long
timestamp
;
/** 签名使用业务系统私钥签名 不参与签名 **/
private
String
signature
;
/** 备注 不参与签名 可空 */
private
String
remark
;
/** 消费卡列表 */
private
List
<
PayCardDTO
>
cardList
;
/** 分账列表 */
private
List
<
PayChildDTO
>
childList
;
/** 流程标志 1线上2线下 */
private
String
flag
;
/** 补充标记,结合枚举使用(PatchMarkEnum),确定实际业务含义 */
private
Integer
patchMark
;
/** 优惠卷id */
private
Integer
userCouponId
;
}
performance-api/src/main/java/com/clx/performance/param/pc/payment/PayCardDTO.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
.
payment
;
import
lombok.*
;
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
PayCardDTO
{
/** VIP 消费卡ID*/
private
Integer
cardId
;
/** 金额 */
private
Integer
figure
;
}
performance-api/src/main/java/com/clx/performance/param/pc/payment/PayChildDTO.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
.
payment
;
import
lombok.*
;
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
PayChildDTO
{
/** 支付给谁 用户钱包编号 支付给系统时为10000 **/
private
Integer
to
;
/** 交易金额(单位分) 必须为正数 **/
private
Integer
figure
;
/** 备注 不参与签名 可空 */
private
String
remark
;
}
performance-api/src/main/java/com/clx/performance/param/pc/payment/PayParam.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
.
payment
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotBlank
;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors
(
chain
=
true
)
public
class
PayParam
{
@NotBlank
(
message
=
"支付人不能为空"
)
@ApiModelProperty
(
value
=
"支付来源"
,
example
=
"2234"
,
dataType
=
"int"
)
Integer
from
;
@NotBlank
(
message
=
"支付密码不能为空"
)
@ApiModelProperty
(
value
=
"支付方密码"
,
example
=
"2356"
,
dataType
=
"String"
)
String
pwd
;
@NotBlank
(
message
=
"收款钱包不能为空"
)
@ApiModelProperty
(
value
=
"支付去向"
,
example
=
"2234"
,
dataType
=
"int"
)
Integer
to
;
@NotBlank
(
message
=
"金额不能为空"
)
@ApiModelProperty
(
value
=
"金额"
,
example
=
"2356"
,
dataType
=
"int"
)
Integer
figure
;
@NotBlank
(
message
=
"交易单号不能为空"
)
@ApiModelProperty
(
value
=
"交易单号"
,
example
=
"2356"
,
dataType
=
"String"
)
String
tradeNo
;
@NotBlank
(
message
=
"交易单id不能为空"
)
@ApiModelProperty
(
value
=
"交易单id"
,
example
=
"23"
,
dataType
=
"int"
)
Integer
tradeId
;
@NotBlank
(
message
=
"交易备注不能为空"
)
@ApiModelProperty
(
value
=
"交易备注"
,
example
=
"23"
,
dataType
=
"int"
)
String
remark
;
}
performance-api/src/main/java/com/clx/performance/param/pc/payment/PayUnitDTO.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
.
payment
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors
(
chain
=
true
)
public
class
PayUnitDTO
{
/** 支付单元唯一标识*/
private
String
id
;
/** 谁支付 用户钱包编号 */
private
Integer
from
;
/** 支付给谁 用户钱包编号 支付给系统时为10000 **/
private
Integer
to
;
/** 交易金额(单位分) 必须为正数 **/
private
Integer
figure
;
/** 支付类型 参考 <PayUnitTypeEnum> **/
private
Integer
type
;
/** 时间戳(单位毫秒) **/
private
Long
timestamp
;
/** 签名使用业务系统私钥签名 不参与签名 **/
private
String
signature
;
/** 备注 不参与签名 可空 */
private
String
remark
;
/** 关联名称 不参与签名 可空 */
private
String
relationName
;
/** 优惠卷id */
private
Integer
userCouponId
;
/** 订单编码 批量发送 单独处理的订单号 */
private
String
orderNo
;
}
performance-api/src/main/java/com/clx/performance/param/pc/payment/PayUserDTO.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
param
.
pc
.
payment
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors
(
chain
=
true
)
public
class
PayUserDTO
{
/**用户钱包编号 用户发起的操作必填 */
private
Integer
userCode
;
/** 交易密码 用户发起的操作必填 */
private
String
pwd
;
/** 支付单元 */
PayUnitDTO
payUnitDTO
;
/** 平台服务续费 **/
private
Integer
fee
=
0
;
/** 平台服务续费的去向 **/
private
Integer
feeToUserCode
=
10000
;
/** 业务系统编码 参考<SystemCodeEnum> */
private
Integer
system
;
/** 支付结果通知回调地址 */
private
String
notifyUrl
;
/** 操作唯一标识 UUID */
private
String
uuid
;
/** 关联单号 */
private
String
orderNo
;
}
performance-api/src/main/java/com/clx/performance/vo/app/OrderGoodsAPPVO.java
浏览文件 @
8090bfdb
...
@@ -105,5 +105,7 @@ public class OrderGoodsAPPVO {
...
@@ -105,5 +105,7 @@ public class OrderGoodsAPPVO {
@ApiModelProperty
(
"创建时间"
)
@ApiModelProperty
(
"创建时间"
)
private
String
createTime
;
private
String
createTime
;
@ApiModelProperty
(
"车牌号"
)
private
String
truckNo
;
}
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/OrderGoodsEditVO.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
vo
.
pc
;
package
com
.
clx
.
performance
.
vo
.
pc
;
import
com.msl.common.convertor.field.Converted
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -11,9 +13,12 @@ public class OrderGoodsEditVO {
...
@@ -11,9 +13,12 @@ public class OrderGoodsEditVO {
@ApiModelProperty
(
"订单编号"
)
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
private
String
orderNo
;
@ApiModelProperty
(
"拉运结束时间"
)
private
String
transportEndTime
;
@ApiModelProperty
(
"拉运吨数"
)
@ApiModelProperty
(
"拉运吨数"
)
private
BigDecimal
transportWeight
;
private
BigDecimal
transportWeight
;
@ApiModelProperty
(
"有效运费"
)
@ApiModelProperty
(
"有效运费"
)
@MoneyOutConvert
private
BigDecimal
validFreightPrice
;
private
BigDecimal
validFreightPrice
;
@ApiModelProperty
(
"用车需求: 1平台车辆 2部分平台车辆 3自有车辆"
)
@ApiModelProperty
(
"用车需求: 1平台车辆 2部分平台车辆 3自有车辆"
)
private
Integer
truckDemand
;
private
Integer
truckDemand
;
...
@@ -38,5 +43,7 @@ public class OrderGoodsEditVO {
...
@@ -38,5 +43,7 @@ public class OrderGoodsEditVO {
@ApiModelProperty
(
"1:可以全部编辑 0:不能全部编辑"
)
@ApiModelProperty
(
"1:可以全部编辑 0:不能全部编辑"
)
private
boolean
editAllFlag
;
private
boolean
editAllFlag
;
@ApiModelProperty
(
"货单数据"
)
@Converted
(
isDynamic
=
false
)
private
OrderGoodsVO
orderGoodsVO
;
private
OrderGoodsVO
orderGoodsVO
;
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/OwnerAccountAllVO.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
vo
.
pc
;
import
com.msl.common.convertor.field.Converted
;
import
lombok.Data
;
@Data
public
class
OwnerAccountAllVO
{
@Converted
(
isDynamic
=
true
)
private
OwnerAccountVO
marginAccount
;
@Converted
(
isDynamic
=
true
)
private
OwnerAccountVO
prepaidFreightAccount
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/breakcontract/carrier/BreakContractOwnerRuleVO.java
浏览文件 @
8090bfdb
...
@@ -66,8 +66,10 @@ public class BreakContractOwnerRuleVO {
...
@@ -66,8 +66,10 @@ public class BreakContractOwnerRuleVO {
@ToString
@ToString
@NoArgsConstructor
@NoArgsConstructor
public
static
class
OrderAmountReduceRule
{
public
static
class
OrderAmountReduceRule
{
@ApiModelProperty
(
value
=
"总运费*X%"
,
example
=
"1.23"
)
@ApiModelProperty
(
value
=
"挂单前:总运费*X%"
,
example
=
"1.23"
)
private
BigDecimal
ratio
;
private
BigDecimal
beforeRatio
;
@ApiModelProperty
(
value
=
"挂单后:总运费*X%"
,
example
=
"1.23"
)
private
BigDecimal
afterRatio
;
}
}
@Getter
@Getter
...
...
performance-web/src/main/java/com/clx/performance/component/GoodsOrderTruckRecordComponent.java
浏览文件 @
8090bfdb
...
@@ -3,6 +3,8 @@ package com.clx.performance.component;
...
@@ -3,6 +3,8 @@ package com.clx.performance.component;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.dao.OrderGoodsDriverTruckDao
;
import
com.clx.performance.dao.OrderGoodsDriverTruckDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.model.OrderGoodsDriverTruck
;
import
com.clx.performance.model.OrderGoodsDriverTruck
;
import
com.msl.common.base.Optional
;
import
com.msl.common.base.Optional
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
...
@@ -23,6 +25,8 @@ public class GoodsOrderTruckRecordComponent {
...
@@ -23,6 +25,8 @@ public class GoodsOrderTruckRecordComponent {
private
final
OrderGoodsDriverTruckDao
orderGoodsDriverTruckDao
;
private
final
OrderGoodsDriverTruckDao
orderGoodsDriverTruckDao
;
private
final
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
public
void
saveTruckRecord
(
String
orderGoodsNo
,
List
<
String
>
truckList
)
{
public
void
saveTruckRecord
(
String
orderGoodsNo
,
List
<
String
>
truckList
)
{
redisTemplate
.
opsForSet
().
add
(
RedisConstants
.
ORDER_GOODS_TRUCK_RECORD
+
orderGoodsNo
,
truckList
.
toArray
(
new
String
[]{}));
redisTemplate
.
opsForSet
().
add
(
RedisConstants
.
ORDER_GOODS_TRUCK_RECORD
+
orderGoodsNo
,
truckList
.
toArray
(
new
String
[]{}));
...
@@ -33,7 +37,7 @@ public class GoodsOrderTruckRecordComponent {
...
@@ -33,7 +37,7 @@ public class GoodsOrderTruckRecordComponent {
public
void
deleteTruckRecord
(
String
orderGoodsNo
)
{
public
void
deleteTruckRecord
(
String
orderGoodsNo
)
{
redisTemplate
.
delete
(
RedisConstants
.
ORDER_GOODS_TRUCK_RECORD
+
orderGoodsNo
);
redisTemplate
.
delete
(
RedisConstants
.
ORDER_GOODS_TRUCK_RECORD
+
orderGoodsNo
);
//redisTemplate.opsForSet().remove(RedisConstants.ORDER_GOODS_TRUCK_RECORD + orderGoodsNo,);
//redisTemplate.opsForSet().remove(RedisConstants.ORDER_GOODS_TRUCK_RECORD + orderGoodsNo,);
redisTemplate
.
opsForSet
().
remove
(
RedisConstants
.
ORDER_GOODS_RECORD
,
orderGoodsNo
);
redisTemplate
.
opsForSet
().
remove
(
RedisConstants
.
ORDER_GOODS_RECORD
,
RedisConstants
.
ORDER_GOODS_TRUCK_RECORD
+
orderGoodsNo
);
}
}
//删除货单下的指定车牌号
//删除货单下的指定车牌号
...
@@ -62,4 +66,11 @@ public class GoodsOrderTruckRecordComponent {
...
@@ -62,4 +66,11 @@ public class GoodsOrderTruckRecordComponent {
return
truckList
;
return
truckList
;
}
}
//释放车辆
public
void
releaseDriverCard
(
String
orderGoodsNo
,
String
truckNo
)
{
log
.
info
(
"执行释放车辆,货单号:{},车牌号:{}"
,
orderGoodsNo
,
truckNo
);
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
(),
truckNo
);
this
.
deleteTruckRecord
(
orderGoodsNo
,
truckNo
);
}
}
}
performance-web/src/main/java/com/clx/performance/component/OrderCancelComponent.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
component
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.order.enums.OrderEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Component
@Slf4j
@AllArgsConstructor
public
class
OrderCancelComponent
implements
InitializingBean
{
private
final
OrderChildDao
orderChildDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
OrderGoodsTruckBindService
orderGoodsTruckBindService
;
private
final
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
private
final
OrderFeign
orderFeign
;
private
final
DriverService
driverService
;
private
final
BreakContractSettlementOwnerService
breakContractSettlementOwnerService
;
public
static
Map
<
Integer
,
String
>
statusCodeMap
=
new
HashMap
<>();
public
void
ownerProcess
(
OrderCancelParam
param
)
{
String
orderNo
=
param
.
getOrderNo
();
List
<
OrderGoods
>
orderGoodsList
=
null
;
Integer
orderStatusCode
=
OrderEnum
.
Status
.
CANCELED
.
getCode
();
switch
(
param
.
getCancelType
())
{
case
1
:
//单纯取消订单
log
.
info
(
"1:货主单纯取消订单"
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildDao
.
getOrderChildByOrderNo
(
orderNo
)))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前订单已发生变化,请重新选择取消方式"
);
}
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
ids
.
add
(
orderGoods
.
getId
());
}
orderGoodsDao
.
batchUpdateOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
(),
ids
);
}
break
;
case
2
:
//取消未拉运吨数的货单
log
.
info
(
"2:货主取消未拉运吨数的货单"
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
orderGoods
.
getExtractWeight
())
==
0
)
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
orderGoodsDao
.
updateEntityByKey
(
update
);
}
break
;
case
3
:
//取消未拉运+未到达货源地吨数
log
.
info
(
"3:货主取消未拉运+未到达货源地吨数"
);
List
<
OrderChild
>
orderChildren
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
log
.
info
(
"执行货主取消未拉运+未到达货源地吨数,当前运单个数"
+
orderChildren
.
size
());
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildren
)
{
log
.
info
(
"取消的运单:{}"
,
JSONUtil
.
parse
(
orderChild
));
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
}
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
new
HashMap
<>();
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
log
.
info
(
"ids:{}"
,
ids
);
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
"货主取消"
,
ids
);
orderChildMap
=
orderChildren
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
}
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
if
(
CollectionUtil
.
isEmpty
(
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())))
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
BigDecimal
reduce
=
BigDecimal
.
ZERO
;
for
(
OrderChild
orderChild
:
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
()))
{
reduce
=
reduce
.
add
(
orderChild
.
getWeight
());
}
if
(
orderGoods
.
getExtractWeight
().
compareTo
(
orderGoods
.
getResidueTransportWeight
().
add
(
reduce
))
==
0
)
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
}
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
orderGoodsDao
.
updateEntityByKey
(
update
);
}
break
;
default
:
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"参数有误"
);
}
this
.
breakContractSettlementOwner
(
orderNo
,
orderStatusCode
,
param
.
getCancelType
());
log
.
info
(
"执行货主取消订单更改状态"
);
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
}
public
void
backFillTonnage
(
OrderGoods
orderGoods
,
BigDecimal
weight
)
{
if
(
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
||
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
())
)
{
Integer
truckDemand
=
orderGoods
.
getTruckDemand
();
//返回到货单
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
weight
,
weight
,
orderGoods
.
getId
());
RollbackOrderWeightParam
rollbackOrderWeightParam
=
new
RollbackOrderWeightParam
();
rollbackOrderWeightParam
.
setOrderNo
(
orderGoods
.
getOrderNo
());
BigDecimal
residueWeight
=
orderGoods
.
getResidueTransportWeight
().
add
(
weight
);
rollbackOrderWeightParam
.
setResidueWeight
(
residueWeight
);
//归还吨数
if
(!
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
if
(
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
residueWeight
);
}
else
if
(
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
residueWeight
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
}
else
{
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
residueWeight
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
residueWeight
);
}
Result
<
Object
>
result
=
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
if
(!
result
.
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"远程调用更新订单余量失败"
);
}
}
}
/**
* 客服取消归还吨数
*
* @param orderGoodsNo
* @param weight
*/
public
void
backFillTonnageForArtificial
(
String
orderGoodsNo
,
BigDecimal
weight
)
{
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
||
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
())
)
{
Integer
truckDemand
=
orderGoods
.
getTruckDemand
();
//返回到货单
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
weight
,
weight
,
orderGoods
.
getId
());
RollbackOrderWeightParam
rollbackOrderWeightParam
=
new
RollbackOrderWeightParam
();
rollbackOrderWeightParam
.
setOrderNo
(
orderGoods
.
getOrderNo
());
BigDecimal
residueWeight
=
orderGoods
.
getResidueTransportWeight
().
add
(
weight
);
rollbackOrderWeightParam
.
setResidueWeight
(
residueWeight
);
//归还吨数
if
(!
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
if
(
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
residueWeight
);
}
else
if
(
truckDemand
.
equals
(
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
residueWeight
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
}
else
{
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
residueWeight
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
residueWeight
);
}
Result
<
Object
>
result
=
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
if
(!
result
.
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"远程调用更新订单余量失败"
);
}
}
else
{
//返回到货单
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
weight
,
weight
,
orderGoods
.
getId
());
}
}
public
void
breakContractSettlementOwner
(
String
orderNo
,
Integer
updateStatus
,
Integer
cancelType
)
{
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
Integer
orderStatus
=
orderInfoFeign
.
getOrderStatus
();
log
.
info
(
"执行处理违约,订单号:{}, updateStatus:{}, 订单状态{}"
,
orderNo
,
updateStatus
,
orderStatus
);
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
updateStatus
)
||
statusCodeMap
.
containsKey
(
orderStatus
))
{
try
{
breakContractSettlementOwnerService
.
saveSettlementOwnerForCancelOrder
(
orderInfoFeign
.
getTransportWeight
(),
orderInfoFeign
.
getValidFreightPrice
(),
orderNo
,
cancelType
);
log
.
info
(
"执行处理违约完毕"
);
}
catch
(
Exception
e
)
{
log
.
info
(
"执行处理违约失败{}"
,
e
.
getMessage
());
}
}
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
statusCodeMap
.
put
(
OrderEnum
.
Status
.
QUOTATION_CONFIRMED
.
getCode
(),
OrderEnum
.
Status
.
QUOTATION_CONFIRMED
.
getName
());
statusCodeMap
.
put
(
OrderEnum
.
Status
.
PLATFORM_UNDERTAKING
.
getCode
(),
OrderEnum
.
Status
.
PLATFORM_UNDERTAKING
.
getName
());
statusCodeMap
.
put
(
OrderEnum
.
Status
.
POST_ORDER
.
getCode
(),
OrderEnum
.
Status
.
POST_ORDER
.
getName
());
statusCodeMap
.
put
(
OrderEnum
.
Status
.
ON_ORDER
.
getCode
(),
OrderEnum
.
Status
.
ON_ORDER
.
getName
());
statusCodeMap
.
put
(
OrderEnum
.
Status
.
IN_TRANSIT
.
getCode
(),
OrderEnum
.
Status
.
IN_TRANSIT
.
getName
());
}
}
performance-web/src/main/java/com/clx/performance/component/OrderGoodsStatusLazyComponent.java
浏览文件 @
8090bfdb
...
@@ -15,6 +15,7 @@ import com.clx.performance.enums.TruckDemandEnum;
...
@@ -15,6 +15,7 @@ import com.clx.performance.enums.TruckDemandEnum;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.breakcontract.BreakContractDriverRecordService
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.msl.common.base.Optional
;
import
com.msl.common.base.Optional
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
...
@@ -53,6 +54,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
...
@@ -53,6 +54,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
private
final
DriverService
driverService
;
private
final
DriverService
driverService
;
private
final
BreakContractDriverRecordService
breakContractDriverRecordService
;
//根据货单最晚接单时间处理
//根据货单最晚接单时间处理
public
void
expireProduceByLastOrderTime
(
LocalDateTime
localDateTime
,
String
orderGoodsNo
)
{
public
void
expireProduceByLastOrderTime
(
LocalDateTime
localDateTime
,
String
orderGoodsNo
)
{
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsNo
,
localDateTime
.
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsNo
,
localDateTime
.
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
...
@@ -60,12 +63,12 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
...
@@ -60,12 +63,12 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
//删除货单最晚接单时间处理
//删除货单最晚接单时间处理
public
void
deleteRedisRecordForLastOrderTime
(
String
orderGoodsNo
)
{
public
void
deleteRedisRecordForLastOrderTime
(
String
orderGoodsNo
)
{
redisTemplate
.
opsForSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsNo
);
redisTemplate
.
opsFor
Z
Set
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsNo
);
}
}
//删除货单最晚到达货源地时间处理
//删除货单最晚到达货源地时间处理
public
void
deleteRedisRecordForLastArriveSendTime
(
String
orderGoodsNo
)
{
public
void
deleteRedisRecordForLastArriveSendTime
(
String
orderGoodsNo
)
{
redisTemplate
.
opsForSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoodsNo
);
redisTemplate
.
opsFor
Z
Set
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoodsNo
);
}
}
//根据货单最晚到达货源地时间处理
//根据货单最晚到达货源地时间处理
...
@@ -142,8 +145,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
...
@@ -142,8 +145,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
}
}
}
}
orderFeign
.
rollbackOrderWeight
(
param
);
orderFeign
.
rollbackOrderWeight
(
param
);
//更新已完结
,并设置剩余吨数为0
//更新已完结
orderGoodsDao
.
updateOrderGoodsStatus
AndRollbackResidueWeightByOrderGoodsNo
(
orderGoods
.
getId
()
,
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
orderGoodsDao
.
updateOrderGoodsStatus
ByOrderGoodsNo
(
orderGoodsNo
,
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
log
.
info
(
"删除redis ORDER_GOODS_STATUS_LAZY id: {}"
,
orderGoodsId
.
getValue
());
log
.
info
(
"删除redis ORDER_GOODS_STATUS_LAZY id: {}"
,
orderGoodsId
.
getValue
());
}
}
...
@@ -183,7 +186,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
...
@@ -183,7 +186,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
log
.
info
(
"货单-最晚到达货源地时间-定时器查询redis条数:{}"
,
orderGoodsIds
.
size
());
log
.
info
(
"货单-最晚到达货源地时间-定时器查询redis条数:{}"
,
orderGoodsIds
.
size
());
for
(
ZSetOperations
.
TypedTuple
<
String
>
orderGoodsId
:
orderGoodsIds
)
{
for
(
ZSetOperations
.
TypedTuple
<
String
>
orderGoodsId
:
orderGoodsIds
)
{
log
.
info
(
"货单"
+
orderGoodsId
+
"过了最晚到达货源地时间"
);
log
.
info
(
"货单"
+
orderGoodsId
.
getValue
()
+
"过了最晚到达货源地时间"
);
String
orderGoodsNo
=
orderGoodsId
.
getValue
();
String
orderGoodsNo
=
orderGoodsId
.
getValue
();
log
.
info
(
"处理当前货单编号:{}"
,
orderGoodsNo
);
log
.
info
(
"处理当前货单编号:{}"
,
orderGoodsNo
);
Optional
<
OrderGoods
>
optional
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
);
Optional
<
OrderGoods
>
optional
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
);
...
@@ -204,11 +207,13 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
...
@@ -204,11 +207,13 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
ids
.
add
(
orderChild
.
getId
());
ids
.
add
(
orderChild
.
getId
());
//释放车辆
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
breakContractDriverRecordService
.
saveDriverRecordOfOrderChildCancel
(
orderChild
,
0L
,
"系统"
);
}
}
log
.
info
(
"取消运单ID集合:{}"
,
ids
);
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
ids
);
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
ids
);
}
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
...
...
performance-web/src/main/java/com/clx/performance/config/MslPaymentConfig.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
config
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
@Getter
@Setter
public
class
MslPaymentConfig
{
@Value
(
"${msl.payment.host}"
)
private
String
host
;
@Value
(
"${msl.payment.notifyhost}"
)
private
String
notifyhost
;
}
performance-web/src/main/java/com/clx/performance/config/RabbitBeanConfig.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
config
;
package
com
.
clx
.
performance
.
config
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.*
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.amqp.core.DirectExchange
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
...
@@ -93,32 +91,32 @@ public class RabbitBeanConfig {
...
@@ -93,32 +91,32 @@ public class RabbitBeanConfig {
/**
/**
* 货单挂单队列
//
* 货单挂单队列
* @return
//
* @return
*/
//
*/
@Bean
//
@Bean
public
Queue
orderGoodsOnQueue
()
{
//
public Queue orderGoodsOnQueue() {
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
6
);
//
Map<String, Object> params = new HashMap<>(6);
params
.
put
(
"x-dead-letter-exchange"
,
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_EXCHANGE
);
//
params.put("x-dead-letter-exchange", RabbitKeyConstants.ORDER_GOODS_ON_DEAD_EXCHANGE);
params
.
put
(
"x-dead-letter-routing-key"
,
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_ROUTE_KEY
);
//
params.put("x-dead-letter-routing-key", RabbitKeyConstants.ORDER_GOODS_ON_DEAD_ROUTE_KEY);
return
new
Queue
(
RabbitKeyConstants
.
ORDER_GOODS_ON_QUEUE
,
true
,
false
,
false
,
params
);
//
return new Queue(RabbitKeyConstants.ORDER_GOODS_ON_QUEUE, true, false, false, params);
}
//
}
//
/**
//
/**
* 货单挂单中交换机
//
* 货单挂单中交换机
**/
//
**/
@Bean
//
@Bean
public
DirectExchange
orderGoodsOnExchange
()
{
//
public DirectExchange orderGoodsOnExchange() {
return
new
DirectExchange
(
RabbitKeyConstants
.
ORDER_GOODS_ON_EXCHANGE
);
//
return new DirectExchange(RabbitKeyConstants.ORDER_GOODS_ON_EXCHANGE);
}
//
}
//
/**
//
/**
* 货单挂单中绑定
//
* 货单挂单中绑定
*/
//
*/
@Bean
//
@Bean
public
Binding
orderGoodsOnExchangeBind
()
{
//
public Binding orderGoodsOnExchangeBind() {
return
BindingBuilder
.
bind
(
orderGoodsOnQueue
()).
to
(
orderGoodsOnExchange
()).
with
(
RabbitKeyConstants
.
ORDER_GOODS_ON_ROUTE_KEY
);
//
return BindingBuilder.bind(orderGoodsOnQueue()).to(orderGoodsOnExchange()).with(RabbitKeyConstants.ORDER_GOODS_ON_ROUTE_KEY);
}
//
}
/**
/**
* 死信队列:死信队列处理延迟消息货单挂单
* 死信队列:死信队列处理延迟消息货单挂单
...
@@ -133,19 +131,26 @@ public class RabbitBeanConfig {
...
@@ -133,19 +131,26 @@ public class RabbitBeanConfig {
* 货单挂单中交换机:死信队列处理延迟消息
* 货单挂单中交换机:死信队列处理延迟消息
**/
**/
@Bean
@Bean
public
DirectExchange
orderGoodsOnDeadExchange
()
{
public
CustomExchange
orderGoodsOnDeadExchange
()
{
return
new
DirectExchange
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_EXCHANGE
);
Map
<
String
,
Object
>
arguments
=
new
HashMap
<>();
//设置路由模式 direct模式
arguments
.
put
(
"x-delayed-type"
,
"direct"
);
return
new
CustomExchange
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_EXCHANGE
,
"x-delayed-message"
,
true
,
false
,
arguments
);
}
}
/**
/**
* 货单挂单中绑定:死信队列处理延迟消息
* 货单挂单中绑定:死信队列处理延迟消息
*/
*/
// @Bean
// public Binding orderGoodsDeadExchangeBind() {
// return BindingBuilder.bind(orderGoodsOnDeadQueue()).to(orderGoodsOnDeadExchange()).with(RabbitKeyConstants.ORDER_GOODS_ON_DEAD_ROUTE_KEY);
// }
//绑定交换机,队列和routingKey
@Bean
@Bean
public
Binding
orderGoodsDeadExchangeBind
(
)
{
public
Binding
delayedQueueBindingDelayedExchange
(
@Qualifier
(
"orderGoodsOnDeadQueue"
)
Queue
queue
,
@Qualifier
(
"orderGoodsOnDeadExchange"
)
CustomExchange
customExchange
)
{
return
BindingBuilder
.
bind
(
orderGoodsOnDeadQueue
()).
to
(
orderGoodsOnDeadExchange
()).
with
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_ROUTE_KEY
);
return
BindingBuilder
.
bind
(
queue
).
to
(
customExchange
).
with
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_ROUTE_KEY
).
noargs
(
);
}
}
/**
/**
* 订单取消队列
* 订单取消队列
* @return
* @return
...
...
performance-web/src/main/java/com/clx/performance/controller/app/AppGoodsOrderController.java
浏览文件 @
8090bfdb
...
@@ -2,20 +2,27 @@ package com.clx.performance.controller.app;
...
@@ -2,20 +2,27 @@ package com.clx.performance.controller.app;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.app.OrderGoodsListPageParam
;
import
com.clx.performance.param.app.OrderGoodsListPageParam
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.base.PageData
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.utils.TokenUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
/**
* @ClassName GoodsOrderController
* @ClassName GoodsOrderController
* @Description
* @Description
...
@@ -28,14 +35,13 @@ import org.springframework.web.bind.annotation.*;
...
@@ -28,14 +35,13 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RestController
@RequestMapping
(
"/app/goodsOrder"
)
@RequestMapping
(
"/app/goodsOrder"
)
@Validated
@Validated
@AllArgsConstructor
@Api
(
tags
=
"APP-货单"
)
@Api
(
tags
=
"APP-货单"
)
public
class
AppGoodsOrderController
{
public
class
AppGoodsOrderController
{
@Autowired
private
final
OrderGoodsService
orderGoodsService
;
OrderGoodsService
orderGoodsService
;
@Autowired
private
final
OrderGoodsTruckBindService
orderGoodsTruckBindService
;
OrderGoodsMapper
orderGoodsMapper
;
@ApiOperation
(
value
=
"查看货单详情"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"查看货单详情"
,
notes
=
"<br>By:胡宇帆"
)
...
@@ -55,10 +61,9 @@ public class AppGoodsOrderController {
...
@@ -55,10 +61,9 @@ public class AppGoodsOrderController {
}
}
// @ApiOperation(value = "专属货单", notes = "<br>By:胡宇帆")
@ApiOperation
(
value
=
"司机端无接单位置上报"
,
notes
=
"<br>By:胡宇帆"
)
// @PostMapping("/exclusiveOrderGoodsList")
@GetMapping
(
"/getCancelOrderGoods"
)
// @UnitCovert(param = false)
public
Result
<
List
<
OrderGoodsAPPVO
>>
getCancelOrderGoods
(
@RequestParam
(
value
=
"userNo"
)
Long
userNo
)
{
// public Result<List<OrderGoodsVO>> exclusiveOrderGoodsList(@Validated @RequestBody OrderGoodsListParam orderGoodsListParam) {
return
Result
.
ok
(
orderGoodsTruckBindService
.
getCancelOrderGoods
(
userNo
));
// return Result.ok(orderGoodsService.openOrderPageGoodsList(orderGoodsListParam));
}
// }
}
}
performance-web/src/main/java/com/clx/performance/controller/feign/OrderCancelFeignController.java
浏览文件 @
8090bfdb
...
@@ -26,7 +26,7 @@ public class OrderCancelFeignController {
...
@@ -26,7 +26,7 @@ public class OrderCancelFeignController {
private
final
OrderCancelService
orderCancelService
;
private
final
OrderCancelService
orderCancelService
;
@ApiOperation
(
value
=
"
货主端订单取消
"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"
承运单发起订单取消货主端进行确认
"
,
notes
=
"<br>By:胡宇帆"
)
@PostMapping
(
"/orderCancel"
)
@PostMapping
(
"/orderCancel"
)
public
Result
<
Object
>
orderCancel
(
@RequestBody
OrderCancelFeignParam
param
)
{
public
Result
<
Object
>
orderCancel
(
@RequestBody
OrderCancelFeignParam
param
)
{
// OrderCancelParam cancelParam = new OrderCancelParam();
// OrderCancelParam cancelParam = new OrderCancelParam();
...
@@ -34,7 +34,7 @@ public class OrderCancelFeignController {
...
@@ -34,7 +34,7 @@ public class OrderCancelFeignController {
// cancelParam.setCancelType(3);
// cancelParam.setCancelType(3);
// cancelParam.setCreateByType(1);
// cancelParam.setCreateByType(1);
// orderCancelService.platformCancelOrderPrePC(cancelParam);
// orderCancelService.platformCancelOrderPrePC(cancelParam);
orderCancelService
.
ownerCancelOrderPre
(
param
.
getOrderNo
());
orderCancelService
.
ownerC
onfirmC
ancelOrderPre
(
param
.
getOrderNo
());
return
Result
.
ok
();
return
Result
.
ok
();
}
}
}
}
performance-web/src/main/java/com/clx/performance/controller/feign/OwnerAccountFeignController.java
浏览文件 @
8090bfdb
...
@@ -4,16 +4,14 @@ import cn.hutool.json.JSONUtil;
...
@@ -4,16 +4,14 @@ import cn.hutool.json.JSONUtil;
import
com.clx.performance.param.pc.owner.FrozenAccountParam
;
import
com.clx.performance.param.pc.owner.FrozenAccountParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.vo.pc.OwnerAccountAllVO
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Slf4j
@Slf4j
@RestController
@RestController
...
@@ -40,4 +38,10 @@ public class OwnerAccountFeignController {
...
@@ -40,4 +38,10 @@ public class OwnerAccountFeignController {
ownerAccountService
.
ownerAccountThaw
(
param
);
ownerAccountService
.
ownerAccountThaw
(
param
);
return
Result
.
ok
();
return
Result
.
ok
();
}
}
@ApiOperation
(
value
=
"查询用户预付运费和保证金账户"
,
notes
=
"<br>By:胡宇帆"
)
@GetMapping
(
"/accountInfo"
)
public
Result
<
OwnerAccountAllVO
>
accountInfo
(
@RequestParam
Long
userNo
)
{
return
Result
.
ok
(
ownerAccountService
.
accountInfo
(
userNo
));
}
}
}
performance-web/src/main/java/com/clx/performance/controller/payment/PayNotifyController.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
controller
.
payment
;
import
com.clx.performance.param.pay.NotifyString
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Objects
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/payment/notify"
)
@Validated
@Api
(
tags
=
"承运端-支付回调"
)
@AllArgsConstructor
public
class
PayNotifyController
{
@ApiOperation
(
value
=
"用户支付完成回调接口"
,
notes
=
" <br>By:胡宁宁"
)
@RequestMapping
(
value
=
"/userPayNotify"
,
method
=
RequestMethod
.
POST
)
public
Result
<
Object
>
userPayNotify
(
@RequestBody
NotifyString
notify
)
{
log
.
info
(
"用户支付完成回调接口 传参 {}"
,
notify
);
if
(
Objects
.
isNull
(
notify
)
||
Objects
.
isNull
(
notify
.
getCode
())
||
Objects
.
isNull
(
notify
.
getAction
()))
{
return
new
Result
<>();
}
if
(
notify
.
getCode
()
!=
0
)
{
// 支付失败处理
log
.
info
(
"支付失败处理 唯一id {}"
,
notify
.
getOrderNo
());
}
else
{
// 支付支付成功处理
log
.
info
(
" 支付支付成功处理 唯一id {}"
,
notify
.
getOrderNo
());
}
Result
<
Object
>
ret
=
new
Result
<>();
return
ret
;
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/GoodsOrderController.java
浏览文件 @
8090bfdb
...
@@ -2,6 +2,7 @@ package com.clx.performance.controller.pc;
...
@@ -2,6 +2,7 @@ package com.clx.performance.controller.pc;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.OrderGoodsCancelParam
;
import
com.clx.performance.param.pc.OrderGoodsCancelParam
;
import
com.clx.performance.param.pc.UpdateEditOrderGoodsParam
;
import
com.clx.performance.param.pc.UpdateEditOrderGoodsParam
;
import
com.clx.performance.param.pc.OrderGoodsParams
;
import
com.clx.performance.param.pc.OrderGoodsParams
;
...
@@ -13,6 +14,7 @@ import com.clx.performance.enums.PerformanceResultEnum;
...
@@ -13,6 +14,7 @@ import com.clx.performance.enums.PerformanceResultEnum;
import
com.clx.performance.param.pc.UpdateOrderGoodsPriceParam
;
import
com.clx.performance.param.pc.UpdateOrderGoodsPriceParam
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.vo.pc.OrderChildPCVO
;
import
com.clx.performance.vo.pc.OrderChildPCVO
;
import
com.clx.performance.vo.pc.OrderGoodsEditVO
;
import
com.clx.performance.vo.pc.OrderGoodsEditVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
...
@@ -20,6 +22,7 @@ import com.msl.common.base.PageData;
...
@@ -20,6 +22,7 @@ import com.msl.common.base.PageData;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -69,6 +72,9 @@ public class GoodsOrderController {
...
@@ -69,6 +72,9 @@ public class GoodsOrderController {
@Autowired
@Autowired
private
GoodsOrderStrategyContext
goodsOrderStrategyContext
;
private
GoodsOrderStrategyContext
goodsOrderStrategyContext
;
@Autowired
private
OrderGoodsTruckBindService
orderGoodsTruckBindService
;
@ApiOperation
(
value
=
"提交货单"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"提交货单"
,
notes
=
"<br>By:胡宇帆"
)
@PostMapping
(
"/saveGoodsOrder"
)
@PostMapping
(
"/saveGoodsOrder"
)
@UnitCovert
(
result
=
false
)
@UnitCovert
(
result
=
false
)
...
@@ -89,11 +95,11 @@ public class GoodsOrderController {
...
@@ -89,11 +95,11 @@ public class GoodsOrderController {
goodsOrderStrategyContext
.
strategyContext
.
get
(
truckDemand
).
saveGoodsOrder
(
orderGoodsParams
,
orderInfo
,
now
,
rabbitTemplate
);
goodsOrderStrategyContext
.
strategyContext
.
get
(
truckDemand
).
saveGoodsOrder
(
orderGoodsParams
,
orderInfo
,
now
,
rabbitTemplate
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
ExceptionUtils
.
getStackTrace
(
e
));
log
.
info
(
e
.
getMessage
(
));
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
e
.
getMessage
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
e
.
getMessage
());
}
finally
{
}
finally
{
try
{
try
{
if
(
rLock
!=
null
&&
rLock
.
isLocked
())
{
if
(
rLock
!=
null
&&
rLock
.
isLocked
()
&&
rLock
.
isHeldByCurrentThread
()
)
{
rLock
.
unlock
();
rLock
.
unlock
();
}
}
log
.
info
(
"锁释放完成"
);
log
.
info
(
"锁释放完成"
);
...
@@ -130,6 +136,7 @@ public class GoodsOrderController {
...
@@ -130,6 +136,7 @@ public class GoodsOrderController {
@ApiOperation
(
value
=
"货单编辑查询"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"货单编辑查询"
,
notes
=
"<br>By:胡宇帆"
)
@GetMapping
(
"/findOrderGoodsByBatchNumber"
)
@GetMapping
(
"/findOrderGoodsByBatchNumber"
)
@UnitCovert
public
Result
<
OrderGoodsEditVO
>
findOrderGoodsByBatchNumber
(
@RequestParam
(
value
=
"id"
)
Integer
id
){
public
Result
<
OrderGoodsEditVO
>
findOrderGoodsByBatchNumber
(
@RequestParam
(
value
=
"id"
)
Integer
id
){
OrderGoodsEditVO
orderGoodsVO
=
orderGoodsService
.
findOrderGoodsById
(
id
);
OrderGoodsEditVO
orderGoodsVO
=
orderGoodsService
.
findOrderGoodsById
(
id
);
return
Result
.
ok
(
orderGoodsVO
);
return
Result
.
ok
(
orderGoodsVO
);
...
@@ -137,6 +144,7 @@ public class GoodsOrderController {
...
@@ -137,6 +144,7 @@ public class GoodsOrderController {
@ApiOperation
(
value
=
"货单编辑提交"
,
notes
=
"<br>By:刘海泉"
)
@ApiOperation
(
value
=
"货单编辑提交"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/updateEditOrderGoods"
)
@PostMapping
(
"/updateEditOrderGoods"
)
@UnitCovert
public
Result
<
Object
>
updateEditOrderGoods
(
@RequestBody
@Validated
UpdateEditOrderGoodsParam
param
)
{
public
Result
<
Object
>
updateEditOrderGoods
(
@RequestBody
@Validated
UpdateEditOrderGoodsParam
param
)
{
orderGoodsService
.
updateEditOrderGoods
(
param
);
orderGoodsService
.
updateEditOrderGoods
(
param
);
return
Result
.
ok
();
return
Result
.
ok
();
...
@@ -188,4 +196,5 @@ public class GoodsOrderController {
...
@@ -188,4 +196,5 @@ public class GoodsOrderController {
return
Result
.
ok
();
return
Result
.
ok
();
}
}
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/OrderCancelController.java
浏览文件 @
8090bfdb
...
@@ -24,7 +24,6 @@ public class OrderCancelController {
...
@@ -24,7 +24,6 @@ public class OrderCancelController {
@ApiOperation
(
value
=
"承运端取消订单"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"承运端取消订单"
,
notes
=
"<br>By:胡宇帆"
)
@PostMapping
(
"/platformCancelOrderPre"
)
@PostMapping
(
"/platformCancelOrderPre"
)
public
Result
<
Object
>
platformCancelOrderPre
(
@RequestBody
OrderCancelParam
param
)
{
public
Result
<
Object
>
platformCancelOrderPre
(
@RequestBody
OrderCancelParam
param
)
{
param
.
setCancelType
(
1
);
orderCancelService
.
platformCancelOrderPre
(
param
);
orderCancelService
.
platformCancelOrderPre
(
param
);
return
Result
.
ok
();
return
Result
.
ok
();
}
}
...
@@ -32,7 +31,6 @@ public class OrderCancelController {
...
@@ -32,7 +31,6 @@ public class OrderCancelController {
@ApiOperation
(
value
=
"货主端取消订单"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"货主端取消订单"
,
notes
=
"<br>By:胡宇帆"
)
@PostMapping
(
"/ownCancelOrderPre"
)
@PostMapping
(
"/ownCancelOrderPre"
)
public
Result
<
Object
>
ownCancelOrderPre
(
@RequestBody
OrderCancelParam
param
)
{
public
Result
<
Object
>
ownCancelOrderPre
(
@RequestBody
OrderCancelParam
param
)
{
param
.
setCancelType
(
2
);
orderCancelService
.
ownerCancelOrderPre
(
param
);
orderCancelService
.
ownerCancelOrderPre
(
param
);
return
Result
.
ok
();
return
Result
.
ok
();
}
}
...
...
performance-web/src/main/java/com/clx/performance/controller/pc/breakcontract/carrier/CarrierBreakContractOwnerRuleController.java
浏览文件 @
8090bfdb
...
@@ -45,6 +45,7 @@ public class CarrierBreakContractOwnerRuleController {
...
@@ -45,6 +45,7 @@ public class CarrierBreakContractOwnerRuleController {
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-b"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-b"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-c"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-c"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-d"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-d"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
if
(
StringUtils
.
isBlank
(
param
.
getRule
().
get
(
"A-e"
))){
throw
new
ServiceSystemException
(
ResultCodeEnum
.
ILLEGAL_PARAMETER
);};
breakContractOwnerRuleService
.
saveRule
(
param
);
breakContractOwnerRuleService
.
saveRule
(
param
);
...
...
performance-web/src/main/java/com/clx/performance/controller/pc/owner/OwnerAccountController.java
浏览文件 @
8090bfdb
...
@@ -56,9 +56,9 @@ public class OwnerAccountController {
...
@@ -56,9 +56,9 @@ public class OwnerAccountController {
@ApiOperation
(
value
=
"账户信息"
,
notes
=
"<br>By:胡宇帆"
)
@ApiOperation
(
value
=
"账户信息"
,
notes
=
"<br>By:胡宇帆"
)
@GetMapping
(
"/accountInfo"
)
@GetMapping
(
"/accountInfo"
)
@UnitCovert
(
param
=
false
)
@UnitCovert
(
param
=
false
)
public
Result
<
Map
>
accountInfo
()
{
public
Result
<
OwnerAccountAllVO
>
accountInfo
()
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
Map
<
String
,
OwnerAccountVO
>
result
=
ownerAccountService
.
accountInfo
(
loginUserInfo
.
getUserNo
());
OwnerAccountAllVO
result
=
ownerAccountService
.
accountInfo
(
loginUserInfo
.
getUserNo
());
return
Result
.
ok
(
result
);
return
Result
.
ok
(
result
);
}
}
...
...
performance-web/src/main/java/com/clx/performance/controller/temp/TempController.java
浏览文件 @
8090bfdb
...
@@ -7,8 +7,11 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -7,8 +7,11 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
/**
/**
* @Author: aiqingguo
* @Author: aiqingguo
...
@@ -51,4 +54,14 @@ public class TempController {
...
@@ -51,4 +54,14 @@ public class TempController {
return
Result
.
ok
();
return
Result
.
ok
();
}
}
@ApiOperation
(
value
=
"测试支付划账 (临时接口)"
,
notes
=
"<br>By:胡宁宁"
)
@RequestMapping
(
value
=
"/paymentTest"
,
method
=
RequestMethod
.
GET
)
public
Result
<
Void
>
paymentTest
(
@RequestParam
(
"fromUser"
)
@NotBlank
(
message
=
"扣款方"
)
String
fromUser
,
@RequestParam
(
"toUser"
)
@NotBlank
(
message
=
"收款方"
)
String
toUser
,
@RequestParam
(
"figure"
)
@NotBlank
(
message
=
"金额"
)
String
figure
)
{
tempService
.
paymentTest
(
fromUser
,
toUser
,
figure
);
return
Result
.
ok
();
}
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
8090bfdb
...
@@ -95,8 +95,15 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
...
@@ -95,8 +95,15 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
*/
*/
List
<
OrderChild
>
selectArriveSendOrderChild
(
String
orderGoodsNo
);
List
<
OrderChild
>
selectArriveSendOrderChild
(
String
orderGoodsNo
);
/**
* 查询到达货源地之后的运单
* @param orderGoodsNo
* @return
*/
List
<
OrderChild
>
selectArriveSendOrderChildGe
(
String
orderGoodsNo
);
void
batchUpdateOrderChildStatus
(
Integer
status
,
List
<
Integer
>
ids
);
void
batchUpdateOrderChildStatus
(
Integer
status
,
String
remark
,
List
<
Integer
>
ids
);
List
<
OrderChild
>
selectOrderChildListByOrderGoodsNoAndStatusGE
(
String
orderGoodsNo
,
Integer
status
);
List
<
OrderChild
>
selectOrderChildListByOrderGoodsNoAndStatusGE
(
String
orderGoodsNo
,
Integer
status
);
...
@@ -104,8 +111,18 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
...
@@ -104,8 +111,18 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List
<
OrderChild
>
listOrderChildByOrderNoAndStatus
(
String
orderNo
,
List
<
Integer
>
status
);
List
<
OrderChild
>
listOrderChildByOrderNoAndStatus
(
String
orderNo
,
List
<
Integer
>
status
);
/**
* 通过订单号查询在途运单
* @param orderNo
* @return
*/
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
);
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
);
/**
* 通过货单号查询在途运单
* @param orderGoodsNo
* @return
*/
List
<
OrderChild
>
selectInTransitOrderChildByOrderGoodsNo
(
String
orderGoodsNo
);
List
<
OrderChild
>
selectInTransitOrderChildByOrderGoodsNo
(
String
orderGoodsNo
);
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
dao
;
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
...
@@ -38,6 +39,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
...
@@ -38,6 +39,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
void
updateOrderGoodsReduceWeightAndStatus
(
Integer
id
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
);
void
updateOrderGoodsReduceWeightAndStatus
(
Integer
id
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
);
void
updateOrderGoodsWeightResidueAndAlreadyAndStatus
(
Integer
id
,
BigDecimal
alreadyTransportWeight
,
BigDecimal
residueTransportWeight
,
Integer
orderGoodsStatus
);
IPage
<
OrderGoodsAPPVO
>
openOrderPageGoodsList
(
OrderGoodsListPageParam
orderGoodsListPageParam
);
IPage
<
OrderGoodsAPPVO
>
openOrderPageGoodsList
(
OrderGoodsListPageParam
orderGoodsListPageParam
);
IPage
<
OrderGoodsAPPVO
>
exclusiveOrderPageGoodsList
(
OrderGoodsListPageParam
orderGoodsListPageParam
,
List
<
String
>
orderGoodsNoList
);
IPage
<
OrderGoodsAPPVO
>
exclusiveOrderPageGoodsList
(
OrderGoodsListPageParam
orderGoodsListPageParam
,
List
<
String
>
orderGoodsNoList
);
...
@@ -71,11 +74,15 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
...
@@ -71,11 +74,15 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
OrderGoodsVO
findOrderGoodsById
(
Integer
id
);
OrderGoodsVO
findOrderGoodsById
(
Integer
id
);
List
<
OrderGoods
>
selectListByOrderGoodsList
(
List
<
String
>
order
Nos
);
List
<
OrderGoods
>
selectListByOrderGoodsList
(
List
<
String
>
order
GoodsNo
);
Integer
updateOrderGoods
(
OrderGoodsEditParams
orderGoodsEditParams
);
Integer
updateOrderGoods
(
OrderGoodsEditParams
orderGoodsEditParams
);
boolean
batchUpdateOrderGoodsStatus
(
Integer
status
,
List
<
Integer
>
ids
);
boolean
batchUpdateOrderGoodsStatus
(
Integer
status
,
List
<
Integer
>
ids
);
boolean
batchUpdateOrderGoodsWeight
(
BigDecimal
residueWeight
,
List
<
Integer
>
ids
);
boolean
batchUpdateOrderGoodsWeight
(
BigDecimal
residueWeight
,
List
<
Integer
>
ids
);
List
<
OrderGoods
>
getOrderGoodsListByOrderNoAndStatus
(
String
orderNo
);
List
<
OrderGoodsAPPVO
>
getCancelOrderGoods
(
List
<
OrderGoodsTruckBind
>
list
);
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
8090bfdb
...
@@ -33,6 +33,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
...
@@ -33,6 +33,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void
updateOrderGoodsBindStatus
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckList
);
void
updateOrderGoodsBindStatus
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckList
);
void
updateOrderGoodsBindStatus
(
String
orderGoodsNo
,
Integer
code
,
String
truckNo
);
List
<
OrderGoodsTruckBind
>
selectListByOrderGoodsNo
(
String
orderGoodsNo
);
List
<
OrderGoodsTruckBind
>
selectListByOrderGoodsNo
(
String
orderGoodsNo
);
...
@@ -44,4 +45,10 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
...
@@ -44,4 +45,10 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
List
<
OrderGoodsTruckBind
>
judgeTruckIsBindDxOrder
(
Set
<
String
>
set
);
List
<
OrderGoodsTruckBind
>
judgeTruckIsBindDxOrder
(
Set
<
String
>
set
);
void
deleteByIds
(
List
<
Integer
>
ids
);
void
deleteByIds
(
List
<
Integer
>
ids
);
List
<
OrderGoodsTruckBind
>
selectCancelRecord
(
String
orderGoodsNo
,
List
<
String
>
truckList
);
List
<
OrderGoodsTruckBind
>
getCancelOrderGoods
(
List
<
String
>
truckList
,
String
beginTime
,
String
endTime
);
void
deleteByOrderGoods
(
String
orderGoodsNo
);
}
}
performance-web/src/main/java/com/clx/performance/dao/ThirdPartRequestLogDao.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
dao
;
import
com.clx.performance.mapper.ThirdPartRequestLogMapper
;
import
com.clx.performance.model.ThirdPartRequestLog
;
import
com.msl.common.dao.BaseDao
;
import
java.util.List
;
public
interface
ThirdPartRequestLogDao
extends
BaseDao
<
ThirdPartRequestLogMapper
,
ThirdPartRequestLog
,
Integer
>
{
/**
* 查询发送请求失败的数据
*
* @param time
* @return
*/
List
<
ThirdPartRequestLog
>
listThirdPartRequestLogError
(
String
time
);
/**
* 修改重试次数
*
* @param logId
* @param retryTimes
*/
void
updateLogRetryTimes
(
Integer
logId
,
Integer
retryTimes
);
}
performance-web/src/main/java/com/clx/performance/dao/breakcontract/BreakContractDriverRecordDao.java
浏览文件 @
8090bfdb
...
@@ -11,6 +11,8 @@ import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecord
...
@@ -11,6 +11,8 @@ import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecord
import
com.msl.common.base.Optional
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
import
com.msl.common.dao.BaseDao
;
import
java.time.LocalDateTime
;
/**
/**
* @author liruixin
* @author liruixin
* Date 2023-10-24
* Date 2023-10-24
...
@@ -20,7 +22,7 @@ public interface BreakContractDriverRecordDao extends BaseDao<BreakContractDrive
...
@@ -20,7 +22,7 @@ public interface BreakContractDriverRecordDao extends BaseDao<BreakContractDrive
boolean
updateSettlementNo
(
BreakContractDriverRecord
item
);
boolean
updateSettlementNo
(
BreakContractDriverRecord
item
);
Optional
<
BreakContractDriverRecord
>
selectLastLimitTimeByDriverUserNo
(
Long
driverUserNo
);
Optional
<
BreakContractDriverRecord
>
selectLastLimitTimeByDriverUserNo
(
Long
driverUserNo
,
LocalDateTime
time
);
IPage
<
BreakContractDriverRecordVO
>
pageByParam
(
PageBreakContractDriverRecordParam
param
);
IPage
<
BreakContractDriverRecordVO
>
pageByParam
(
PageBreakContractDriverRecordParam
param
);
IPage
<
DriverBreakContractDriverRecordVO
>
driverPageByParam
(
DriverPageBreakContractDriverRecordParam
param
);
IPage
<
DriverBreakContractDriverRecordVO
>
driverPageByParam
(
DriverPageBreakContractDriverRecordParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
8090bfdb
...
@@ -303,8 +303,17 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -303,8 +303,17 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
}
@Override
@Override
public
void
batchUpdateOrderChildStatus
(
Integer
status
,
List
<
Integer
>
ids
)
{
public
List
<
OrderChild
>
selectArriveSendOrderChildGe
(
String
orderGoodsNo
)
{
baseMapper
.
updateOrderGoodsSetResidueWeight
(
status
,
ids
);
//查询大于 40 未到达货源地的运单
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderChild:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
ge
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
.
le
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
())
);
}
@Override
public
void
batchUpdateOrderChildStatus
(
Integer
status
,
String
remark
,
List
<
Integer
>
ids
)
{
baseMapper
.
updateOrderGoodsSetResidueWeight
(
status
,
remark
,
ids
);
}
}
@Override
@Override
...
@@ -363,13 +372,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -363,13 +372,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override
@Override
public
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
)
{
public
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderChild:
:
getOrderNo
,
orderNo
)
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderChild:
:
getOrderNo
,
orderNo
)
.
lt
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
())
.
lt
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
())
);
);
}
}
@Override
@Override
public
List
<
OrderChild
>
selectInTransitOrderChildByOrderGoodsNo
(
String
orderGoodsNo
)
{
public
List
<
OrderChild
>
selectInTransitOrderChildByOrderGoodsNo
(
String
orderGoodsNo
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderChild:
:
getOrderGoodsNo
,
orderGoodsNo
)
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderChild:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
lt
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
())
.
lt
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
())
);
}
);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
浏览文件 @
8090bfdb
...
@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl;
...
@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
...
@@ -78,6 +79,11 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
...
@@ -78,6 +79,11 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
baseMapper
.
updateOrderGoodsWeightAndStatus
(
id
,
orderChildWeight
,
orderGoodsStatus
);
baseMapper
.
updateOrderGoodsWeightAndStatus
(
id
,
orderChildWeight
,
orderGoodsStatus
);
}
}
@Override
public
void
updateOrderGoodsWeightResidueAndAlreadyAndStatus
(
Integer
id
,
BigDecimal
alreadyTransportWeight
,
BigDecimal
residueTransportWeight
,
Integer
orderGoodsStatus
)
{
baseMapper
.
updateOrderGoodsWeightResidueAndAlreadyAndStatus
(
id
,
alreadyTransportWeight
,
residueTransportWeight
,
orderGoodsStatus
);
}
@Override
@Override
public
IPage
<
OrderGoodsAPPVO
>
openOrderPageGoodsList
(
OrderGoodsListPageParam
param
)
{
public
IPage
<
OrderGoodsAPPVO
>
openOrderPageGoodsList
(
OrderGoodsListPageParam
param
)
{
Page
<
OrderGoodsAPPVO
>
page
=
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
());
Page
<
OrderGoodsAPPVO
>
page
=
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
());
...
@@ -159,8 +165,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
...
@@ -159,8 +165,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
@Override
@Override
public
boolean
updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo
(
Integer
orderGoodsId
,
Integer
status
)
{
public
boolean
updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo
(
Integer
orderGoodsId
,
Integer
status
)
{
return
update
(
lUdWrapper
().
eq
(
OrderGoods
::
getGoodsId
,
orderGoodsId
)
return
update
(
lUdWrapper
().
eq
(
OrderGoods
::
getGoodsId
,
orderGoodsId
)
.
set
(
OrderGoods
::
getOrderGoodsStatus
,
status
)
.
set
(
OrderGoods
::
getOrderGoodsStatus
,
status
))
.
set
(
OrderGoods:
:
getResidueTransportWeight
,
BigDecimal
.
ZERO
))
;
;
}
}
...
@@ -185,8 +190,8 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
...
@@ -185,8 +190,8 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
}
@Override
@Override
public
List
<
OrderGoods
>
selectListByOrderGoodsList
(
List
<
String
>
order
Nos
)
{
public
List
<
OrderGoods
>
selectListByOrderGoodsList
(
List
<
String
>
order
GoodsNo
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OrderGoods:
:
getOrderGoodsNo
,
order
Nos
));
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OrderGoods:
:
getOrderGoodsNo
,
order
GoodsNo
));
}
}
@Override
@Override
...
@@ -208,5 +213,20 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
...
@@ -208,5 +213,20 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
);
);
}
}
@Override
public
List
<
OrderGoods
>
getOrderGoodsListByOrderNoAndStatus
(
String
orderNo
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderGoods:
:
getOrderNo
,
orderNo
)
.
ne
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
SUCCESS
.
getCode
())
.
ne
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
.
ne
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
())
);
}
@Override
public
List
<
OrderGoodsAPPVO
>
getCancelOrderGoods
(
List
<
OrderGoodsTruckBind
>
param
)
{
return
baseMapper
.
getCancelOrderGoods
(
param
);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
dao
.
impl
;
package
com
.
clx
.
performance
.
dao
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
...
@@ -73,7 +74,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -73,7 +74,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
@Override
@Override
public
Optional
<
List
<
OrderGoodsTruckBind
>>
selectListByTruckNo
(
List
<
String
>
truckList
)
{
public
Optional
<
List
<
OrderGoodsTruckBind
>>
selectListByTruckNo
(
List
<
String
>
truckList
)
{
return
Optional
.
ofNullable
(
baseMapper
.
selectList
(
new
QueryWrapper
<
OrderGoodsTruckBind
>().
lambda
()
return
Optional
.
ofNullable
(
baseMapper
.
selectList
(
new
QueryWrapper
<
OrderGoodsTruckBind
>().
lambda
()
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
())
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
())
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
).
select
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
)));
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
).
select
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
)));
}
}
...
@@ -90,17 +91,23 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -90,17 +91,23 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
update
(
lUdWrapper
()
update
(
lUdWrapper
()
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
code
)
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
code
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
)
.
notIn
(
CollectionUtil
.
isNotEmpty
(
truckList
),
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
)
.
or
()
);
}
@Override
public
void
updateOrderGoodsBindStatus
(
String
orderGoodsNo
,
Integer
code
,
String
truckNo
)
{
update
(
lUdWrapper
()
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
code
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
get
Status
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
()
)
.
eq
(
OrderGoodsTruckBind:
:
get
TruckNo
,
truckNo
)
);
);
}
}
@Override
@Override
public
List
<
OrderGoodsTruckBind
>
selectListByOrderGoodsNo
(
String
orderGoodsNo
)
{
public
List
<
OrderGoodsTruckBind
>
selectListByOrderGoodsNo
(
String
orderGoodsNo
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
())
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
())
.
or
()
.
or
()
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
())
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
())
...
@@ -111,7 +118,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -111,7 +118,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public
void
updateOrderGoodsBindStatusExpire
(
String
orderGoodsNo
)
{
public
void
updateOrderGoodsBindStatusExpire
(
String
orderGoodsNo
)
{
update
(
lUdWrapper
()
update
(
lUdWrapper
()
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
())
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
())
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
EXPIRE
.
getCode
())
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
EXPIRE
.
getCode
())
);
);
}
}
...
@@ -124,7 +131,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -124,7 +131,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
if
(
StringUtils
.
isNotBlank
(
truckNo
)){
if
(
StringUtils
.
isNotBlank
(
truckNo
)){
query
.
eq
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckNo
);
query
.
eq
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckNo
);
}
}
query
.
in
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
(),
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
());
query
.
in
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
(),
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
());
query
.
orderByDesc
(
OrderGoodsTruckBind
::
getCreateTime
);
query
.
orderByDesc
(
OrderGoodsTruckBind
::
getCreateTime
);
return
baseMapper
.
selectList
(
query
);
return
baseMapper
.
selectList
(
query
);
}
}
...
@@ -133,7 +140,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -133,7 +140,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public
List
<
OrderGoodsTruckBind
>
judgeTruckIsBindDxOrder
(
Set
<
String
>
set
)
{
public
List
<
OrderGoodsTruckBind
>
judgeTruckIsBindDxOrder
(
Set
<
String
>
set
)
{
LambdaQueryWrapper
<
OrderGoodsTruckBind
>
query
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrderGoodsTruckBind
>
query
=
new
LambdaQueryWrapper
<>();
query
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
set
);
query
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
set
);
query
.
in
(
OrderGoodsTruckBind
::
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
(),
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
());
query
.
in
(
OrderGoodsTruckBind
::
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
(),
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
());
return
baseMapper
.
selectList
(
query
);
return
baseMapper
.
selectList
(
query
);
}
}
...
@@ -141,4 +148,25 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -141,4 +148,25 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public
void
deleteByIds
(
List
<
Integer
>
ids
)
{
public
void
deleteByIds
(
List
<
Integer
>
ids
)
{
baseMapper
.
deleteBatchIds
(
ids
);
baseMapper
.
deleteBatchIds
(
ids
);
}
}
@Override
public
List
<
OrderGoodsTruckBind
>
selectCancelRecord
(
String
orderGoodsNo
,
List
<
String
>
truckList
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
in
(
CollectionUtil
.
isNotEmpty
(
truckList
),
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
)
);
}
@Override
public
List
<
OrderGoodsTruckBind
>
getCancelOrderGoods
(
List
<
String
>
truckList
,
String
beginTime
,
String
endTime
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
)
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
())
.
le
(
OrderGoodsTruckBind:
:
getCreateTime
,
endTime
)
.
ge
(
OrderGoodsTruckBind:
:
getCreateTime
,
beginTime
)
);
}
@Override
public
void
deleteByOrderGoods
(
String
orderGoodsNo
)
{
baseMapper
.
delete
(
lQrWrapper
().
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
));
}
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/ThirdPartRequestLogDaoImpl.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.clx.performance.dao.SeniorLogisticsManagerDao
;
import
com.clx.performance.dao.ThirdPartRequestLogDao
;
import
com.clx.performance.enums.ThirdRequestStatusEnum
;
import
com.clx.performance.enums.ThirdRequestTypeEnum
;
import
com.clx.performance.mapper.SeniorLogisticsManagerMapper
;
import
com.clx.performance.mapper.ThirdPartRequestLogMapper
;
import
com.clx.performance.model.SeniorLogisticsManager
;
import
com.clx.performance.model.ThirdPartRequestLog
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author kavin
* Date 2023-09-17
* Time 16:45
*/
@Repository
public
class
ThirdPartRequestLogDaoImpl
extends
BaseDaoImpl
<
ThirdPartRequestLogMapper
,
ThirdPartRequestLog
,
Integer
>
implements
ThirdPartRequestLogDao
{
/**
* 查询发送请求失败的数据
*
* @param time
* @return
*/
@Override
public
List
<
ThirdPartRequestLog
>
listThirdPartRequestLogError
(
String
time
)
{
return
Optional
.
ofBlank
(
time
)
.
map
(
t
->
lQrWrapper
()
.
eq
(
ThirdPartRequestLog:
:
getRequestType
,
ThirdRequestTypeEnum
.
SEND
.
getCode
())
.
le
(
ThirdPartRequestLog:
:
getRetryTimes
,
5
)
.
in
(
ThirdPartRequestLog:
:
getStatus
,
ThirdRequestStatusEnum
.
HAVING
.
getCode
())
.
le
(
ThirdPartRequestLog:
:
getCreateTime
,
t
))
.
map
(
super
::
list
)
.
orElseGet
(
Collections:
:
emptyList
);
}
/**
* 修改重试次数
*
* @param logId
* @param retryTimes
*/
@Override
public
void
updateLogRetryTimes
(
Integer
logId
,
Integer
retryTimes
)
{
super
.
update
(
lUdWrapper
().
eq
(
ThirdPartRequestLog:
:
getId
,
logId
)
.
set
(
ThirdPartRequestLog:
:
getRetryTimes
,
retryTimes
));
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/dao/impl/breakcontract/BreakContractDriverRecordDaoImpl.java
浏览文件 @
8090bfdb
...
@@ -14,6 +14,8 @@ import com.msl.common.base.Optional;
...
@@ -14,6 +14,8 @@ import com.msl.common.base.Optional;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
/**
/**
* @author liruixin
* @author liruixin
* Date 2023-10-24
* Date 2023-10-24
...
@@ -31,11 +33,12 @@ public class BreakContractDriverRecordDaoImpl extends BaseDaoImpl<BreakContractD
...
@@ -31,11 +33,12 @@ public class BreakContractDriverRecordDaoImpl extends BaseDaoImpl<BreakContractD
}
}
@Override
@Override
public
Optional
<
BreakContractDriverRecord
>
selectLastLimitTimeByDriverUserNo
(
Long
driverUserNo
)
{
public
Optional
<
BreakContractDriverRecord
>
selectLastLimitTimeByDriverUserNo
(
Long
driverUserNo
,
LocalDateTime
time
)
{
return
Optional
.
of
(
driverUserNo
)
return
Optional
.
of
(
driverUserNo
)
.
map
(
item
->
lQrWrapper
()
.
map
(
item
->
lQrWrapper
()
.
eq
(
BreakContractDriverRecord:
:
getDriverUserNo
,
item
)
.
eq
(
BreakContractDriverRecord:
:
getDriverUserNo
,
item
)
.
isNotNull
(
BreakContractDriverRecord:
:
getLimitTime
)
.
isNotNull
(
BreakContractDriverRecord:
:
getLimitTime
)
.
ge
(
BreakContractDriverRecord:
:
getLimitTime
,
time
)
.
orderByDesc
(
BreakContractDriverRecord:
:
getLimitTime
)
.
orderByDesc
(
BreakContractDriverRecord:
:
getLimitTime
)
.
last
(
"limit 1"
)
.
last
(
"limit 1"
)
)
)
...
...
performance-web/src/main/java/com/clx/performance/encryption/oldmsl/PayEncryptTools.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
encryption
.
oldmsl
;
import
com.clx.performance.param.pc.payment.FreezeUnitDTO
;
import
com.clx.performance.param.pc.payment.PayUnitDTO
;
import
java.util.List
;
/**
*
* @author xujianke
* @date 2017年4月18日
* @description
*/
public
class
PayEncryptTools
{
/**
* 生成签名,签名结果直接赋值到PayUnitDTO签名字段
* @param
* @param privateKeyBytes
* @return 签名是否成功
*/
public
static
boolean
sign
(
PayUnitDTO
payDTO
,
byte
[]
privateKeyBytes
){
if
(
payDTO
==
null
){
//参数错误
return
false
;
}
byte
[]
data
=
makeByte
(
payDTO
);
String
sign
=
RSACoder
.
sign
(
data
,
privateKeyBytes
);
if
(
sign
==
null
){
//签名失败
return
false
;
}
payDTO
.
setSignature
(
sign
);
return
true
;
}
/**
* 生成签名,签名结果直接赋值到FreezeUnitDTO签名字段
* @param freezeDTO
* @param privateKeyBytes
* @return 签名是否成功
*/
public
static
boolean
sign
(
FreezeUnitDTO
freezeDTO
,
byte
[]
privateKeyBytes
){
if
(
freezeDTO
==
null
){
//参数错误
return
false
;
}
byte
[]
data
=
makeByte
(
freezeDTO
);
String
sign
=
RSACoder
.
sign
(
data
,
privateKeyBytes
);
if
(
sign
==
null
){
//签名失败
return
false
;
}
freezeDTO
.
setSignature
(
sign
);
return
true
;
}
/**
* 验证签名
* @param payDTO
* @param publicKeyBytes
* @return
*/
public
static
boolean
verify
(
PayUnitDTO
payDTO
,
byte
[]
publicKeyBytes
){
if
(
payDTO
==
null
||
payDTO
.
getSignature
()
==
null
){
//参数错误
return
false
;
}
byte
[]
data
=
makeByte
(
payDTO
);
return
RSACoder
.
verify
(
data
,
publicKeyBytes
,
payDTO
.
getSignature
());
}
/**
* 验证签名
* @param freezeDTO
* @param publicKeyBytes
* @return
*/
public
static
boolean
verify
(
FreezeUnitDTO
freezeDTO
,
byte
[]
publicKeyBytes
){
if
(
freezeDTO
==
null
||
freezeDTO
.
getSignature
()
==
null
){
//参数错误
return
false
;
}
byte
[]
data
=
makeByte
(
freezeDTO
);
return
RSACoder
.
verify
(
data
,
publicKeyBytes
,
freezeDTO
.
getSignature
());
}
/**
* 组装需要签名的字符串
* @param payDTO
* @return 字符串的字节数组
*/
public
static
byte
[]
makeByte
(
PayUnitDTO
payDTO
){
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
payDTO
.
getFigure
());
sb
.
append
(
':'
).
append
(
payDTO
.
getId
());
sb
.
append
(
':'
).
append
(
payDTO
.
getFrom
());
sb
.
append
(
':'
).
append
(
payDTO
.
getTimestamp
());
sb
.
append
(
':'
).
append
(
payDTO
.
getTo
());
sb
.
append
(
':'
).
append
(
payDTO
.
getType
());
String
text
=
sb
.
toString
();
return
text
.
getBytes
();
}
/**
* 组装需要签名的字符串
* @param freezeDTO
* @return 字符串的字节数组
*/
public
static
byte
[]
makeByte
(
FreezeUnitDTO
freezeDTO
){
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
freezeDTO
.
getAction
());
sb
.
append
(
':'
).
append
(
freezeDTO
.
getFigure
());
sb
.
append
(
':'
).
append
(
freezeDTO
.
getFee
());
sb
.
append
(
':'
).
append
(
freezeDTO
.
getFeeType
());
sb
.
append
(
':'
).
append
(
freezeDTO
.
getFreezeNo
());
sb
.
append
(
':'
).
append
(
freezeDTO
.
getTimestamp
());
if
(
freezeDTO
.
getReturnFee
()
!=
null
){
sb
.
append
(
':'
).
append
(
freezeDTO
.
getReturnFee
());
}
String
text
=
sb
.
toString
();
return
text
.
getBytes
();
}
/**
* 批量签名
* @param privateKeyBytes
* @return 成功签名的个数
*/
public
static
int
signBatch
(
List
<
PayUnitDTO
>
list
,
byte
[]
privateKeyBytes
){
int
count
=
0
;
boolean
b
;
for
(
PayUnitDTO
payDTO:
list
){
b
=
sign
(
payDTO
,
privateKeyBytes
);
if
(
b
){
count
++;
}
}
return
count
;
}
/**
* 批量验证签名
* @param publicKeyBytes
* @return
*/
public
static
int
verifyBatch
(
List
<
PayUnitDTO
>
list
,
byte
[]
publicKeyBytes
){
boolean
ret
=
true
;
int
i
;
PayUnitDTO
payDTO
;
for
(
i
=
0
;
i
<
list
.
size
();
i
++){
payDTO
=
list
.
get
(
i
);
ret
=
verify
(
payDTO
,
publicKeyBytes
);
if
(!
ret
){
break
;
}
}
return
i
;
}
}
performance-web/src/main/java/com/clx/performance/encryption/oldmsl/PrivateKeyConfig.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
encryption
.
oldmsl
;
import
org.bouncycastle.util.encoders.Base64
;
/**
* 加密使用的私钥配置类(等于商户的)
*/
public
class
PrivateKeyConfig
{
/** 非对称加密RSA私钥 私钥长度1024字节 单次最多加密53个字符
* 对应公钥为 SecretConfig.PAYMENT_PUBLIC_KEY
* */
private
static
final
String
privateKey
=
"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOT9q9k4SE5s"
+
"RC1xOtbRzKCwPa2Zp0j9/IGGQ1DUQzhJ1dtMaOzUs66ddMTokoG7nzUyFk8+50QbSb8AQTd+CoGa47oM4P48W9n91"
+
"fAsA1QHpSv4cBrVRbkZv77/XCPZgibnGSoP3IdaMp/GTGwUVnNuUtszNglG8mRB/IFLWMNLAgMBAAECgYBc0eqHuU"
+
"Wt7DrShLRKAW7Fr8rAhKkHcFSbGBZPPEsnFN7H7rgVT76pyA9eBbvlNG07fdsHMkNCGyGQd4T3/nI5BH/xwgT7P4E"
+
"pYy8PnyrIj185CEY7VplgH4l9cHPMcY8pKCwJZjbHBUlgS6ZCA3+DRB7c+7MZZiV/DX2Ay3IBeQJBAPdlTO7i9ncr"
+
"QWMI7So6byt9OSHQz6Gxdml6YS51gQTFKTCMc8n45yAhr7D7XxhgHSDqkSCmkcWkLlKm15XXkvUCQQDs9ICzCWE+I"
+
"viGhVNu2XZQwMiMLQZoC1go+ZBo0mPoxt8YDWVBJ+PqJ4y1fkASKQTdphuoEtpqCx4mzGAL15U/AkA6BiVcJhlea+"
+
"PDIZXWgKwQTCd5Oeto5iF6rbxbVC31e3SksVx684jp7VyyqtJr+ib60GlHeinYbCB9PCp2N4B9AkEAtJLTbRzNzUN"
+
"rL2B1J3lzL7DqY+CADFPw2DDvOuJyHtdG9hZnPlL+3ddL5JeUjgJSYfMPCnNrnPph/OEspHmikwJAIcOTlQmik37h"
+
"BsaoRTEoJG4X5NrqGx5apjXwkIbf4jjfMP4TdyZBX73yjWKNbPdXLd7Aixoqam5CP0nUg3uWKg=="
;
public
static
final
byte
[]
privateKeyByte
=
Base64
.
decode
(
privateKey
);
}
performance-web/src/main/java/com/clx/performance/encryption/oldmsl/RSACoder.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
encryption
.
oldmsl
;
import
org.bouncycastle.util.encoders.Base64
;
import
javax.crypto.Cipher
;
import
java.security.*
;
import
java.security.interfaces.RSAPrivateKey
;
import
java.security.interfaces.RSAPublicKey
;
import
java.security.spec.PKCS8EncodedKeySpec
;
import
java.security.spec.X509EncodedKeySpec
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* RSA非对称加密工具类
*
* @author xujianke
* @date 2017年4月13日
* @description
*/
public
class
RSACoder
{
public
static
final
String
KEY_ALGORITHM
=
"RSA"
;
public
static
final
String
SIGNATURE_ALGORITHM
=
"MD5withRSA"
;
private
static
final
String
PUBLIC_KEY
=
"RSAPublicKey"
;
private
static
final
String
PRIVATE_KEY
=
"RSAPrivateKey"
;
/**
* 用字符串私钥对信息生成数字签名
*
* @param data 加密数据
* @param privateKey 私钥字符串
* @return
* @throws Exception
*/
public
static
String
sign
(
byte
[]
data
,
String
privateKey
)
throws
Exception
{
// 解密由base64编码的私钥
byte
[]
keyBytes
=
Base64
.
decode
(
privateKey
);
return
sign
(
data
,
keyBytes
);
}
/**
* 用字节私钥对信息生成数字签名
*
* @param data 加密数据
* @param keyBytes 私钥字节
* @return
* @throws Exception
*/
public
static
String
sign
(
byte
[]
data
,
byte
[]
keyBytes
){
String
ret
=
null
;
try
{
// 构造PKCS8EncodedKeySpec对象
PKCS8EncodedKeySpec
pkcs8KeySpec
=
new
PKCS8EncodedKeySpec
(
keyBytes
);
// KEY_ALGORITHM 指定的加密算法
KeyFactory
keyFactory
=
KeyFactory
.
getInstance
(
KEY_ALGORITHM
);
// 取私钥匙对象
PrivateKey
priKey
=
keyFactory
.
generatePrivate
(
pkcs8KeySpec
);
// 用私钥对信息生成数字签名
Signature
signature
=
Signature
.
getInstance
(
SIGNATURE_ALGORITHM
);
signature
.
initSign
(
priKey
);
signature
.
update
(
data
);
byte
[]
dataBytes
=
Base64
.
encode
(
signature
.
sign
());
ret
=
new
String
(
dataBytes
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ret
;
}
/**
* 校验数字签名
*
* @param data 加密数据
* @param publicKey 公钥
* @param sign 数字签名
* @return 校验成功返回true 失败返回false
* @throws Exception
*
*/
public
static
boolean
verify
(
byte
[]
data
,
String
publicKey
,
String
sign
){
// 解密由base64编码的公钥
byte
[]
keyBytes
=
Base64
.
decode
(
publicKey
);
return
verify
(
data
,
keyBytes
,
sign
);
}
/**
* 校验数字签名
*
* @param data 加密数据
* @param publicKey 公钥
* @param sign 数字签名
* @return 校验成功返回true 失败返回false
* @throws Exception
*
*/
public
static
boolean
verify
(
byte
[]
data
,
byte
[]
keyBytes
,
String
sign
){
boolean
ret
=
false
;
try
{
// 构造X509EncodedKeySpec对象
X509EncodedKeySpec
keySpec
=
new
X509EncodedKeySpec
(
keyBytes
);
// KEY_ALGORITHM 指定的加密算法
KeyFactory
keyFactory
=
KeyFactory
.
getInstance
(
KEY_ALGORITHM
);
// 取公钥匙对象
PublicKey
pubKey
=
keyFactory
.
generatePublic
(
keySpec
);
Signature
signature
=
Signature
.
getInstance
(
SIGNATURE_ALGORITHM
);
signature
.
initVerify
(
pubKey
);
signature
.
update
(
data
);
// 验证签名是否正常
ret
=
signature
.
verify
(
Base64
.
decode
(
sign
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ret
;
}
/**
* 解密<br>
* 用字符串私钥解密
*
* @param data
* @param key
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
decryptByPrivateKey
(
byte
[]
data
,
String
key
)
throws
Exception
{
// 对密钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
return
decryptByPrivateKey
(
data
,
keyBytes
);
}
/**
* 解密<br>
* 用字符串私钥解密
*
* @param data
* @param key
* @return String
* @throws Exception
*/
public
static
String
decryptByPrivateKeyToString
(
byte
[]
data
,
String
key
){
// 对密钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
byte
[]
bytes
=
decryptByPrivateKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 解密<br>
* 用字节私钥解密
*
* @param data
* @param keyBytes
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
decryptByPrivateKey
(
byte
[]
data
,
byte
[]
keyBytes
)
{
byte
[]
ret
=
null
;
try
{
// 取得私钥
PKCS8EncodedKeySpec
pkcs8KeySpec
=
new
PKCS8EncodedKeySpec
(
keyBytes
);
KeyFactory
keyFactory
;
keyFactory
=
KeyFactory
.
getInstance
(
KEY_ALGORITHM
);
Key
privateKey
=
keyFactory
.
generatePrivate
(
pkcs8KeySpec
);
// 对数据解密
Cipher
cipher
=
Cipher
.
getInstance
(
keyFactory
.
getAlgorithm
());
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
privateKey
);
ret
=
cipher
.
doFinal
(
data
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ret
;
}
/**
* 解密<br>
* 用字节私钥解密
*
* @param data
* @param keyBytes
* @return String
* @throws Exception
*/
public
static
String
decryptByPrivateKeyToString
(
byte
[]
data
,
byte
[]
keyBytes
)
{
byte
[]
bytes
=
decryptByPrivateKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 解密<br>
* 用字符串公钥解密
*
* @param data
* @param key
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
decryptByPublicKey
(
byte
[]
data
,
String
key
)
{
// 对密钥解密
byte
[]
bytes
=
Base64
.
decode
(
key
);
return
decryptByPublicKey
(
data
,
bytes
);
}
/**
* 解密<br>
* 用字符串公钥解密
*
* @param data
* @param key
* @return String
* @throws Exception
*/
public
static
String
decryptByPublicKeyToString
(
byte
[]
data
,
String
key
)
{
// 对密钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
byte
[]
bytes
=
decryptByPublicKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 解密<br>
* 用字节公钥解密
*
* @param data
* @param keyBytes
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
decryptByPublicKey
(
byte
[]
data
,
byte
[]
keyBytes
)
{
byte
[]
ret
=
null
;
try
{
// 取得公钥
X509EncodedKeySpec
x509KeySpec
=
new
X509EncodedKeySpec
(
keyBytes
);
KeyFactory
keyFactory
=
KeyFactory
.
getInstance
(
KEY_ALGORITHM
);
Key
publicKey
=
keyFactory
.
generatePublic
(
x509KeySpec
);
// 对数据解密
Cipher
cipher
=
Cipher
.
getInstance
(
keyFactory
.
getAlgorithm
());
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
publicKey
);
ret
=
cipher
.
doFinal
(
data
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ret
;
}
/**
* 加密<br>
* 用字符串公钥加密
*
* @param data
* @param key
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
encryptByPublicKey
(
byte
[]
data
,
String
key
)
{
// 对公钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
return
encryptByPublicKey
(
data
,
keyBytes
);
}
/**
* 加密<br>
* 用字符串公钥加密
*
* @param data
* @param key
* @return String
* @throws Exception
*/
public
static
String
encryptByPublicKeyToString
(
byte
[]
data
,
String
key
)
{
// 对公钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
byte
[]
bytes
=
encryptByPublicKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 加密<br>
* 用字节公钥加密
*
* @param data
* @param keyBytes
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
encryptByPublicKey
(
byte
[]
data
,
byte
[]
keyBytes
)
{
byte
[]
ret
=
null
;
try
{
// 取得公钥
X509EncodedKeySpec
x509KeySpec
=
new
X509EncodedKeySpec
(
keyBytes
);
KeyFactory
keyFactory
;
keyFactory
=
KeyFactory
.
getInstance
(
KEY_ALGORITHM
);
Key
publicKey
=
keyFactory
.
generatePublic
(
x509KeySpec
);
// 对数据加密
Cipher
cipher
=
Cipher
.
getInstance
(
keyFactory
.
getAlgorithm
());
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
publicKey
);
ret
=
cipher
.
doFinal
(
data
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ret
;
}
/**
* 加密<br>
* 用字节公钥加密
*
* @param data
* @param keyBytes
* @return String
* @throws Exception
*/
public
static
String
encryptByPublicKeyToString
(
byte
[]
data
,
byte
[]
keyBytes
)
{
// 对公钥解密
byte
[]
bytes
=
encryptByPublicKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 加密<br>
* 用字符串私钥加密
*
* @param data
* @param key
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
encryptByPrivateKey
(
byte
[]
data
,
String
key
){
// 对密钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
return
encryptByPrivateKey
(
data
,
keyBytes
);
}
/**
* 加密<br>
* 用字符串私钥加密
*
* @param data
* @param key
* @return byte[]
* @throws Exception
*/
public
static
String
encryptByPrivateKeyToString
(
byte
[]
data
,
String
key
){
// 对密钥解密
byte
[]
keyBytes
=
Base64
.
decode
(
key
);
byte
[]
bytes
=
encryptByPrivateKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 加密<br>
* 用字节私钥加密
*
* @param data
* @param keyBytes
* @return byte[]
* @throws Exception
*/
public
static
byte
[]
encryptByPrivateKey
(
byte
[]
data
,
byte
[]
keyBytes
){
byte
[]
ret
=
null
;
try
{
// 取得私钥
PKCS8EncodedKeySpec
pkcs8KeySpec
=
new
PKCS8EncodedKeySpec
(
keyBytes
);
KeyFactory
keyFactory
=
KeyFactory
.
getInstance
(
KEY_ALGORITHM
);
Key
privateKey
=
keyFactory
.
generatePrivate
(
pkcs8KeySpec
);
// 对数据加密
Cipher
cipher
=
Cipher
.
getInstance
(
keyFactory
.
getAlgorithm
());
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
privateKey
);
ret
=
cipher
.
doFinal
(
data
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ret
;
}
/**
* 加密<br>
* 用字节私钥加密
*
* @param data
* @param keyBytes
* @return String
* @throws Exception
*/
public
static
String
encryptByPrivateKeyToString
(
byte
[]
data
,
byte
[]
keyBytes
){
byte
[]
bytes
=
encryptByPrivateKey
(
data
,
keyBytes
);
if
(
bytes
==
null
)
{
return
null
;
}
return
new
String
(
Base64
.
encode
(
bytes
));
}
/**
* 取得私钥
*
* @param keyMap
* @return
* @throws Exception
*/
public
static
String
getPrivateKey
(
Map
<
String
,
Object
>
keyMap
)
throws
Exception
{
Key
key
=
(
Key
)
keyMap
.
get
(
PRIVATE_KEY
);
byte
[]
keyBytes
=
Base64
.
encode
(
key
.
getEncoded
());
return
new
String
(
keyBytes
);
}
/**
* 取得公钥
*
* @param keyMap
* @return
* @throws Exception
*/
public
static
String
getPublicKey
(
Map
<
String
,
Object
>
keyMap
)
throws
Exception
{
Key
key
=
(
Key
)
keyMap
.
get
(
PUBLIC_KEY
);
byte
[]
keyBytes
=
Base64
.
encode
(
key
.
getEncoded
());
return
new
String
(
keyBytes
);
}
/**
* 初始化密钥
*
* @return
* @throws Exception
*/
public
static
Map
<
String
,
Object
>
initKey
(
int
keySize
)
throws
Exception
{
KeyPairGenerator
keyPairGen
=
KeyPairGenerator
.
getInstance
(
KEY_ALGORITHM
);
keyPairGen
.
initialize
(
keySize
);
KeyPair
keyPair
=
keyPairGen
.
generateKeyPair
();
// 公钥
RSAPublicKey
publicKey
=
(
RSAPublicKey
)
keyPair
.
getPublic
();
// 私钥
RSAPrivateKey
privateKey
=
(
RSAPrivateKey
)
keyPair
.
getPrivate
();
Map
<
String
,
Object
>
keyMap
=
new
HashMap
<
String
,
Object
>(
2
);
keyMap
.
put
(
PUBLIC_KEY
,
publicKey
);
keyMap
.
put
(
PRIVATE_KEY
,
privateKey
);
return
keyMap
;
}
}
performance-web/src/main/java/com/clx/performance/encryption/oldmsl/SystemCodeEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
encryption
.
oldmsl
;
/**
* 业务系统编码枚举类
* @author xujianke
* @date 2017年4月21日
* @description
*/
public
enum
SystemCodeEnum
{
USER_SERVICE
(
1
,
"用户服务"
),
ORDER_SERVICE
(
2
,
"订单服务"
),
PAYMENT_SERVICE
(
3
,
"支付服务"
),
MESSAGE_SERVICE
(
4
,
"消息服务"
),
MANAGE_SERVICE
(
5
,
"管理服务"
),
MERCHANT_SERVICE
(
6
,
"商户服务"
),
TRADE_SERVICE
(
7
,
"交易平台服务"
),
AUCTION_SERVICE
(
8
,
"竞拍服务"
),
PERFORMANCE_SERVICE
(
9
,
"履约服务"
);
// 成员变量
private
String
msg
;
private
int
code
;
// 构造方法
private
SystemCodeEnum
(
int
code
,
String
msg
)
{
this
.
msg
=
msg
;
this
.
code
=
code
;
}
// 普通方法
public
static
String
getMsg
(
int
code
)
{
for
(
SystemCodeEnum
c
:
SystemCodeEnum
.
values
())
{
if
(
c
.
getCode
()
==
code
)
{
return
c
.
msg
;
}
}
return
null
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
}
performance-web/src/main/java/com/clx/performance/enums/HttpEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
HttpEnum
{
PERFORMANCE_PAY_CLX_PAYMENT
(
10000
,
"履约服务向老马上来发起钱包转账"
,
"/payment-service/performance/payUserWalletTransfer"
),
;
private
final
int
code
;
private
final
String
mark
;
private
final
String
url
;
public
static
HttpEnum
getMsg
(
int
code
)
{
for
(
HttpEnum
httpEnum
:
HttpEnum
.
values
())
{
if
(
httpEnum
.
getCode
()
==
code
)
{
return
httpEnum
;
}
}
return
null
;
}
}
performance-web/src/main/java/com/clx/performance/enums/PayRemarkEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
enums
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* Created by cuiwanzhe on 2017/6/2.
* 支付备注枚举
*/
public
enum
PayRemarkEnum
{
OWNER_CREDIT
(
1
,
"货主冻结押金"
),
DRIVER_CREDIT
(
2
,
"司机冻结押金"
),
OWNER_FREIGHT
(
3
,
"货主冻结运费"
),
OWNER_INSURANCE
(
4
,
"货主冻结保险"
),
DRIVER_UNFREEZE
(
5
,
"司机解冻押金"
),
INSURANCE_UNFREEZE
(
6
,
"解冻保险到系统账户"
),
COMPENSATION_TO_DRIVER
(
7
,
"司机赔偿货主"
),
FREIGHT_TO_OWNER
(
8
,
"货主支付运费给司机"
),
UPDATE_FREIGHT
(
9
,
"修正运费"
),
UPDATE_INSURANCE
(
10
,
"修正保险"
),
OWNER_UNFREEZE
(
11
,
"解冻货主的押金"
),
DRIVER_SALE
(
12
,
"冻结司机的消费"
),
DRIVER_SALE_UNFREEZE
(
13
,
"司机支付货款给货主"
),
//v78 解冻保险
UNFREEZE_INSURANCE
(
14
,
"解冻保险"
),
;
private
static
Map
<
Integer
,
String
>
map
=
new
ConcurrentHashMap
<>();
static
{
for
(
PayRemarkEnum
payRemarkEnum
:
PayRemarkEnum
.
values
()){
map
.
put
(
payRemarkEnum
.
getValue
(),
payRemarkEnum
.
getDisplayValue
());
}
}
private
int
value
;
private
String
displayValue
;
public
void
setValue
(
int
value
)
{
this
.
value
=
value
;
}
public
String
getDisplayValue
()
{
return
displayValue
;
}
public
void
setDisplayValue
(
String
displayValue
)
{
this
.
displayValue
=
displayValue
;
}
private
PayRemarkEnum
(
int
value
,
String
displayValue
){
this
.
value
=
value
;
this
.
displayValue
=
displayValue
;
}
public
int
getValue
(){
return
value
;
}
public
static
String
toString
(
int
value
){
return
map
.
get
(
value
);
}
}
performance-web/src/main/java/com/clx/performance/enums/PayUnitTypeEnum.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
enums
;
public
enum
PayUnitTypeEnum
{
FREEZE
(
100
,
"冻结"
),
FREEZE_OWNER_DEPOSIT
(
101
,
"冻结货主保证金"
),
FREEZE_FREIGHT
(
102
,
"冻结货主运费"
),
FREEZE_DRIVER_DEPOSIT
(
103
,
"冻结司机保证金"
),
FREEZE_INSURANCE_FEE
(
104
,
"冻结货物担保"
),
FREEZE_PLATFORM_FEE
(
105
,
"冻结平台信息费"
),
FREEZE_WITHDRAW_DEPOSIT
(
106
,
"冻结提现金额"
),
FREEZE_SALE
(
107
,
"冻结货款"
),
FREEZE_SETTLEMENT_FEE
(
108
,
"冻结提现手续费"
),
FREEZE_SETTLEMENT_MER
(
109
,
"冻结子钱包提现金额"
),
FREEZE_SETTLEMENT_MER_FEE
(
110
,
"冻结提现手续费"
),
FREEZE_TRANSFER_WITHDRAW_DEPOSIT
(
111
,
"冻结转账提现金额"
),
FREEZE_TRANSFER_DEPOSIT
(
112
,
"转账收入"
),
FREEZE_TRADE_DEPOSIT
(
113
,
"冻结交易平台保证金"
),
FREEZE_TRADE_PAYMENT_GOODS
(
114
,
"冻结交易平台货款"
),
FREEZE_OIL_DRIVER_TO_MERCHANT
(
115
,
"冻结司机余额给商户用于加油"
),
FREEZE_AUCTION_DEPOSIT
(
116
,
"冻结竞拍保证金"
),
FREEZE_GROUP_SIGN_UP_DEPOSIT
(
117
,
"集采集销的保证金冻结"
),
FREEZE_WALLET_CARD
(
118
,
"消费卡消费到钱包冻结"
),
FREEZE_MERCHANT_CARD
(
119
,
"消费卡消费到商户冻结"
),
FREEZE_ORDER_CHILD
(
120
,
"冻结提现金额-运费自动提现"
),
UNFREEZE
(
200
,
"解冻"
),
UNFREEZE_OWNER_DEPOSIT
(
201
,
"解冻货主保证金"
),
UNFREEZE_FREIGHT
(
202
,
"解冻货主运费"
),
UNFREEZE_DRIVER_DEPOSIT
(
203
,
"解冻司机保证金"
),
UNFREEZE_INSURANCE_FEE
(
204
,
"解冻货物担保"
),
UNFREEZE_PLATFORM_FEE
(
205
,
"解冻平台信息费"
),
UNFREEZE_WITHDRAW_DEPOSIT
(
206
,
"解冻提现金额"
),
UNFREEZE_SALE
(
207
,
"解冻货款"
),
UNFREEZE_SETTLEMENT_FEE
(
208
,
"解冻提现手续费"
),
UNFREEZE_SETTLEMENT_MER
(
209
,
"解冻子钱包提现金额"
),
UNFREEZE_SETTLEMENT_MER_FEE
(
210
,
"解冻提现手续费"
),
UNFREEZE_TRANSFER_DEPOSIT
(
212
,
"解冻转账收入"
),
UNFREEZE_TRADE_DEPOSIT
(
213
,
"解冻交易平台保证金"
),
UNFREEZE_TRADE_PAYMENT_GOODS
(
214
,
"解冻交易平台货款"
),
UNFREEZE_OIL_DRIVER_TO_MERCHANT
(
215
,
"解冻司机余额给商户用于加油"
),
UNFREEZE_AUCTION_DEPOSIT
(
216
,
"解冻竞拍保证金"
),
UNFREEZE_FREEZE_GROUP_SIGN_UP_DEPOSIT
(
217
,
"集采集销的保证金冻结解冻"
),
UNFREEZE_WALLET_CARD
(
218
,
"消费卡消费到钱包解冻"
),
UNFREEZE_MERCHANT_CARD
(
219
,
"消费卡消费到商户解冻"
),
FREEZE_PAY
(
300
,
"从冻结支付"
),
FREEZE_PAY_OWNER_DEPOSIT
(
301
,
"支付货主保证金"
),
FREEZE_PAY_FREIGHT
(
302
,
"支付货物运费"
),
FREEZE_PAY_DRIVER_DEPOSIT
(
303
,
"支付司机保证金"
),
FREEZE_PAY_INSURANCE_FEE
(
304
,
"支付货物担保"
),
FREEZE_PAY_PLATFORM_FEE
(
305
,
"支付平台信息费"
),
FREEZE_PAY_WITHDRAW_DEPOSIT
(
306
,
"支付提现金额"
),
FREEZE_PAY_SALE
(
307
,
"支付货款"
),
FREEZE_PAY_SETTLEMENT_FEE
(
308
,
"支付提现手续费"
),
FREEZE_PAY_SETTLEMENT_MER
(
309
,
"支付子钱包提现金额"
),
FREEZE_PAY_SETTLEMENT_MER_FEE
(
310
,
"支付子钱包手续费"
),
FREEZE_PAY_TRANSFER_WITHDRAW_DEPOSIT
(
311
,
"支付余额转账提现金额"
),
FREEZE_PAY_TRANSFER_DEPOSIT
(
312
,
"支付转账收入"
),
FREEZE_PAY_TRADE_DEPOSIT
(
313
,
"保证金冻结"
),
FREEZE_PAY_TRADE_PAYMENT_GOODS
(
314
,
"货款扣款"
),
FREEZE_PAY_OIL_DRIVER_TO_MERCHANT
(
315
,
"消费"
),
FREEZE_PAY_AUCTION_DEPOSIT
(
316
,
"竞拍保证金冻结"
),
FREEZE_PAY_GROUP_SIGN_UP_DEPOSIT
(
317
,
"集采集销的保证金冻结"
),
FREEZE_PAY_WALLET_CARD
(
318
,
"消费"
),
FREEZE_PAY_MERCHANT_CARD
(
319
,
"消费"
),
FREEZE_PAY_ORDER_CHILD
(
320
,
"自动支付提现金额"
),
FREEZE_MODIFY
(
400
,
"修正冻结资金"
),
FREEZE_MODIFY_OWNER_DEPOSIT
(
401
,
"修正货主保证金"
),
FREEZE_MODIFY_FREIGHT
(
402
,
"修正货主运费"
),
FREEZE_MODIFY_DRIVER_DEPOSIT
(
403
,
"修正司机保证金"
),
FREEZE_MODIFY_INSURANCE_FEE
(
404
,
"修正货物担保"
),
FREEZE_MODIFY_PLATFORM_FEE
(
405
,
"修正平台信息费"
),
FREEZE_MODIFY_WITHDRAW_DEPOSIT
(
406
,
"修正提现金额"
),
FREEZE_MODIFY_SALE
(
407
,
"修正货款"
),
FREEZE_MODIFY_SETTLEMENT_FEE
(
408
,
"修正提现手续费"
),
FREEZE_MODIFY_SETTLEMENT_MER
(
409
,
"修正子钱包提现金额"
),
FREEZE_MODIFY_SETTLEMENT_MER_FEE
(
410
,
"修正子钱包提现手续费"
),
FREEZE_MODIFY_TRANSFER_DEPOSIT
(
412
,
"修正转账收入"
),
FREEZE_MODIFY_TRADE_PAYMENT_GOODS
(
414
,
"修正交易平台冻结货款"
),
RESIDUE_PAY
(
500
,
"余额支付"
),
RESIDUE_ACTIVITY_RETURN
(
502
,
"余额活动返现"
),
RESIDUE_ACTIVITY_RETURN_CARD
(
503
,
"余额活动返现到消费卡"
),
/** 支付违约金 */
RESIDUE_PAY_DEFAULT
(
501
,
"支付违约金"
),
CARD_PAY
(
600
,
"消费卡支付到钱包"
),
CARD_PAY_WALLET
(
601
,
"消费卡支付到子钱包"
),
SYSTEM_PAY
(
701
,
"系统支付到用户余额"
),
SYSTEM_PAY_CARD
(
702
,
"系统支付到用户消费卡"
),
SYSTEM_ACTIVITY_PAY
(
703
,
"系统活动返现到余额"
),
;
// 成员变量
private
String
msg
;
private
int
code
;
// 构造方法
private
PayUnitTypeEnum
(
int
code
,
String
msg
)
{
this
.
msg
=
msg
;
this
.
code
=
code
;
}
// 普通方法
public
static
String
getMsg
(
int
code
)
{
for
(
PayUnitTypeEnum
c
:
PayUnitTypeEnum
.
values
())
{
if
(
c
.
getCode
()
==
code
)
{
return
c
.
msg
;
}
}
return
null
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
}
performance-web/src/main/java/com/clx/performance/listener/OrderCancelHandler.java
浏览文件 @
8090bfdb
...
@@ -7,6 +7,7 @@ import com.clx.performance.enums.RoleEnum;
...
@@ -7,6 +7,7 @@ import com.clx.performance.enums.RoleEnum;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.service.OrderCancelService
;
import
com.clx.performance.service.OrderCancelService
;
import
com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService
;
import
com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -19,29 +20,17 @@ import java.util.Objects;
...
@@ -19,29 +20,17 @@ import java.util.Objects;
*/
*/
@Slf4j
@Slf4j
@Component
@Component
@AllArgsConstructor
public
class
OrderCancelHandler
{
public
class
OrderCancelHandler
{
@Autowired
private
final
OrderCancelService
orderCancelService
;
private
OrderCancelService
orderCancelService
;
@Autowired
private
BreakContractSettlementOwnerService
breakContractSettlementOwnerService
;
@RabbitListener
(
queues
=
RabbitKeyConstants
.
ORDER_CANCEL_QUEUE
)
@RabbitListener
(
queues
=
RabbitKeyConstants
.
ORDER_CANCEL_QUEUE
)
public
void
onMessage
(
String
message
)
{
public
void
onMessage
(
String
message
)
{
log
.
info
(
"处理订单取消监听器执行,订单No为{}"
,
message
);
log
.
info
(
"处理订单取消监听器执行,订单No为{}"
,
message
);
OrderCancelParam
param
=
JSONUtil
.
toBean
(
message
,
OrderCancelParam
.
class
);
OrderCancelParam
param
=
JSONUtil
.
toBean
(
message
,
OrderCancelParam
.
class
);
if
(
ObjectUtil
.
equals
(
param
.
getCancelType
(),
1
))
{
orderCancelService
.
orderCancelProcess
(
param
);
orderCancelService
.
orderCancelProcess
(
param
);
}
else
{
orderCancelService
.
orderCancelProcess
(
param
);
}
// //货主端取消订单进行违约计费
// if(Objects.equals(param.getCreateByType(), RoleEnum.Type.OWNER)){
// breakContractSettlementOwnerService.saveSettlementOwnerForCancelOrder(param.getOrderNo());
// }
}
}
}
}
performance-web/src/main/java/com/clx/performance/listener/RabbitOrderGoodsStatusOnHandler.java
浏览文件 @
8090bfdb
...
@@ -42,9 +42,14 @@ public class RabbitOrderGoodsStatusOnHandler {
...
@@ -42,9 +42,14 @@ public class RabbitOrderGoodsStatusOnHandler {
orderGoodsDao
.
updateOrderGoodsStatusByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
());
orderGoodsDao
.
updateOrderGoodsStatusByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
());
// 添加积分货单
// 添加积分货单
try
{
integralMqService
.
orderGoodsAdd
(
orderGoods
.
getOrderGoodsNo
(),
integralMqService
.
orderGoodsAdd
(
orderGoods
.
getOrderGoodsNo
(),
orderGoods
.
getSendAddressId
(),
orderGoods
.
getSendAddressShorter
(),
orderGoods
.
getSendAddressId
(),
orderGoods
.
getSendAddressShorter
(),
orderGoods
.
getReceiveAddressId
(),
orderGoods
.
getReceiveAddressShorter
());
orderGoods
.
getReceiveAddressId
(),
orderGoods
.
getReceiveAddressShorter
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/mapper/OrderChildMapper.java
浏览文件 @
8090bfdb
...
@@ -47,5 +47,5 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
...
@@ -47,5 +47,5 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
int
countValidByOrderGoodsNo
(
String
orderGoodsNo
);
int
countValidByOrderGoodsNo
(
String
orderGoodsNo
);
@UpdateProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"batchUpdateOrderChildStatus"
)
@UpdateProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"batchUpdateOrderChildStatus"
)
Integer
updateOrderGoodsSetResidueWeight
(
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"ids"
)
List
<
Integer
>
ids
);
Integer
updateOrderGoodsSetResidueWeight
(
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"
remark"
)
String
remark
,
@Param
(
value
=
"
ids"
)
List
<
Integer
>
ids
);
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsMapper.java
浏览文件 @
8090bfdb
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
...
@@ -42,6 +43,14 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
...
@@ -42,6 +43,14 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
" where id = #{id}"
)
" where id = #{id}"
)
void
updateOrderGoodsWeightAndStatus
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"weight"
)
BigDecimal
orderChildWeight
,
@Param
(
"orderGoodsStatus"
)
Integer
orderGoodsStatus
);
void
updateOrderGoodsWeightAndStatus
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"weight"
)
BigDecimal
orderChildWeight
,
@Param
(
"orderGoodsStatus"
)
Integer
orderGoodsStatus
);
@Update
(
" update order_goods set "
+
" residue_transport_weight = residue_transport_weight-#{residueTransportWeight},"
+
" already_transport_weight = already_transport_weight+#{alreadyTransportWeight},"
+
"order_goods_status = #{orderGoodsStatus} "
+
" where id = #{id}"
)
void
updateOrderGoodsWeightResidueAndAlreadyAndStatus
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"alreadyTransportWeight"
)
BigDecimal
alreadyTransportWeight
,
@Param
(
"residueTransportWeight"
)
BigDecimal
residueTransportWeight
,
@Param
(
"orderGoodsStatus"
)
Integer
orderGoodsStatus
);
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"openOrderPageGoodsList"
)
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"openOrderPageGoodsList"
)
IPage
<
OrderGoodsAPPVO
>
openOrderPageGoodsList
(
Page
<
OrderGoodsAPPVO
>
page
);
IPage
<
OrderGoodsAPPVO
>
openOrderPageGoodsList
(
Page
<
OrderGoodsAPPVO
>
page
);
...
@@ -66,8 +75,11 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
...
@@ -66,8 +75,11 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
OrderGoodsVO
findOrderGoodsById
(
Integer
id
);
OrderGoodsVO
findOrderGoodsById
(
Integer
id
);
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"updateOrderGoods"
)
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"updateOrderGoods"
)
Integer
updateOrderGoods
(
@Param
(
value
=
"param"
)
OrderGoodsEditParams
orderGoodsEditParams
);
Integer
updateOrderGoods
(
@Param
(
value
=
"param
s
"
)
OrderGoodsEditParams
orderGoodsEditParams
);
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus"
)
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus"
)
Integer
updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus
(
@Param
(
value
=
"residueWeight"
)
BigDecimal
residueWeight
,
@Param
(
value
=
"alreadyWeight"
)
BigDecimal
alreadyWeight
,
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"id"
)
Integer
id
);
Integer
updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus
(
@Param
(
value
=
"residueWeight"
)
BigDecimal
residueWeight
,
@Param
(
value
=
"alreadyWeight"
)
BigDecimal
alreadyWeight
,
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"id"
)
Integer
id
);
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"getCancelOrderGoods"
)
List
<
OrderGoodsAPPVO
>
getCancelOrderGoods
(
@Param
(
value
=
"param"
)
List
<
OrderGoodsTruckBind
>
param
);
}
}
performance-web/src/main/java/com/clx/performance/mapper/ThirdPartRequestLogMapper.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.ThirdPartRequestLog
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
ThirdPartRequestLogMapper
extends
BaseMapper
<
ThirdPartRequestLog
>
{
}
performance-web/src/main/java/com/clx/performance/model/ThirdPartRequestLog.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"third_part_request_log"
)
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
ThirdPartRequestLog
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
value
=
"ID"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"请求id"
)
private
String
requestId
;
@ApiModelProperty
(
value
=
"应用编号"
)
private
Long
appNo
;
@ApiModelProperty
(
value
=
"请求类型: 1-发送请求;2-接收请求"
)
private
Integer
requestType
;
@ApiModelProperty
(
value
=
"操作类型"
)
private
String
action
;
@ApiModelProperty
(
value
=
"请求地址"
)
private
String
url
;
@ApiModelProperty
(
value
=
"请求参数(JSON格式)"
)
private
String
requestContent
;
@ApiModelProperty
(
value
=
"返回数据(JSON格式)"
)
private
String
responseContent
;
@ApiModelProperty
(
value
=
"返回状态码"
)
private
Integer
statusCode
;
@ApiModelProperty
(
value
=
"状态: 0-请求中,1-成功,2-失败"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"重试次数"
)
private
Integer
retryTimes
;
@ApiModelProperty
(
value
=
"其他字段"
)
private
String
otherFields
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
LocalDateTime
createTime
;
@ApiModelProperty
(
value
=
"修改时间"
)
private
LocalDateTime
modifiedTime
;
@KeyColumn
(
"id"
)
@Override
public
Integer
gainKey
()
{
return
id
;
}
}
performance-web/src/main/java/com/clx/performance/service/OrderCancelService.java
浏览文件 @
8090bfdb
...
@@ -4,13 +4,13 @@ import com.clx.performance.param.pc.OrderCancelParam;
...
@@ -4,13 +4,13 @@ import com.clx.performance.param.pc.OrderCancelParam;
public
interface
OrderCancelService
{
public
interface
OrderCancelService
{
// void platformCancelOrderPre(String orderNo);
/**
//
* 承运端取消订单,货主同意调用此接口
// void platformCancelOrder(String orderNo);
* @param orderNo
/
/
*
/
void
ownerCancelOrderPre
(
String
orderNo
);
void
ownerC
onfirmC
ancelOrderPre
(
String
orderNo
);
//
void
ownerC
ancelOrder
(
String
orderNo
);
void
ownerC
onfirmCancelProcess
(
String
orderNo
);
/**
/**
* 货主取消订单前置(只修改订单状态)
* 货主取消订单前置(只修改订单状态)
...
@@ -30,4 +30,10 @@ public interface OrderCancelService {
...
@@ -30,4 +30,10 @@ public interface OrderCancelService {
*/
*/
void
orderCancelProcess
(
OrderCancelParam
param
);
void
orderCancelProcess
(
OrderCancelParam
param
);
/**
* 客服取消
* @param orderChildNo
*/
void
artificialCancelOrder
(
String
orderChildNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
8090bfdb
...
@@ -77,4 +77,5 @@ public interface OrderChildService {
...
@@ -77,4 +77,5 @@ public interface OrderChildService {
* @return
* @return
*/
*/
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
);
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/OrderGoodsService.java
浏览文件 @
8090bfdb
...
@@ -29,7 +29,7 @@ public interface OrderGoodsService {
...
@@ -29,7 +29,7 @@ public interface OrderGoodsService {
IPage
<
OrderGoodsVO
>
pageOrderGoodsList
(
PageOrderGoodsListParam
param
);
IPage
<
OrderGoodsVO
>
pageOrderGoodsList
(
PageOrderGoodsListParam
param
);
void
updateOrderGoodsReduceWeightAndStatus
(
Integer
id
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
);
void
updateOrderGoodsReduceWeightAndStatus
AmountLoad
(
OrderGoods
orderGoods
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
);
void
updateOrderGoodsReduceWeightAndStatus
(
OrderGoods
orderGoods
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
);
void
updateOrderGoodsReduceWeightAndStatus
(
OrderGoods
orderGoods
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
);
IPage
<
OrderGoodsAPPVO
>
indexOrderGoodsList
(
OrderGoodsListPageParam
orderGoodsListParam
);
IPage
<
OrderGoodsAPPVO
>
indexOrderGoodsList
(
OrderGoodsListPageParam
orderGoodsListParam
);
...
...
performance-web/src/main/java/com/clx/performance/service/OrderGoodsTruckBindService.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
service
;
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
java.util.List
;
import
java.util.List
;
public
interface
OrderGoodsTruckBindService
{
public
interface
OrderGoodsTruckBindService
{
List
<
Integer
>
getTrucksByOrderGoodsNo
(
String
orderGoodsNo
);
List
<
Integer
>
getTrucksByOrderGoodsNo
(
String
orderGoodsNo
);
List
<
OrderGoodsAPPVO
>
getCancelOrderGoods
(
Long
userNo
);
void
updateCancelTruckBind
(
String
orderGoodsNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/OwnerAccountService.java
浏览文件 @
8090bfdb
...
@@ -9,6 +9,7 @@ import com.clx.performance.param.pc.*;
...
@@ -9,6 +9,7 @@ import com.clx.performance.param.pc.*;
import
com.clx.performance.param.pc.owner.CreteAccountParam
;
import
com.clx.performance.param.pc.owner.CreteAccountParam
;
import
com.clx.performance.param.pc.owner.FrozenAccountParam
;
import
com.clx.performance.param.pc.owner.FrozenAccountParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.vo.pc.OwnerAccountAllVO
;
import
com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.OwnerAccountVO
;
import
com.clx.performance.vo.pc.OwnerAccountVO
;
import
com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam
;
import
com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam
;
...
@@ -25,7 +26,7 @@ public interface OwnerAccountService {
...
@@ -25,7 +26,7 @@ public interface OwnerAccountService {
IPage
<
OwnerAccountRunningWaterRecordVO
>
prepaidFreightAccountPageList
(
PagePlatformPrepaidFreightAccountParam
param
);
IPage
<
OwnerAccountRunningWaterRecordVO
>
prepaidFreightAccountPageList
(
PagePlatformPrepaidFreightAccountParam
param
);
Map
<
String
,
OwnerAccountVO
>
accountInfo
(
Long
ownerUserNo
);
OwnerAccountAllVO
accountInfo
(
Long
ownerUserNo
);
Long
accountTopUp
(
OwnerTopUpParam
param
);
Long
accountTopUp
(
OwnerTopUpParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/service/PaymentService.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.param.pc.payment.PayParam
;
import
com.msl.common.result.Result
;
public
interface
PaymentService
{
Result
paymentWallet
(
PayParam
noCheckPwd
);
}
performance-web/src/main/java/com/clx/performance/service/TempService.java
浏览文件 @
8090bfdb
...
@@ -6,4 +6,6 @@ public interface TempService {
...
@@ -6,4 +6,6 @@ public interface TempService {
void
updateBreakContractDriverSettlementFinish
(
String
settlementNo
);
void
updateBreakContractDriverSettlementFinish
(
String
settlementNo
);
void
paymentTest
(
String
fromUser
,
String
toUser
,
String
figure
);
}
}
performance-web/src/main/java/com/clx/performance/service/ThirdPartRequestLogService.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.ThirdPartRequestLog
;
import
com.msl.common.base.Optional
;
import
com.msl.common.result.Result
;
public
interface
ThirdPartRequestLogService
{
/**
* 保存第三方接口调用记录
*
* @param log
*/
void
save
(
ThirdPartRequestLog
log
);
/**
* 修改第三方接口返回值
*
* @param logId
* @param result
*/
void
updateResult
(
Integer
logId
,
Result
<?>
result
);
/**
* 修改重试次数
*
* @param logId
* @param retryTimes
*/
void
updateLogRetryTimes
(
Integer
logId
,
Integer
retryTimes
);
/**
* 根据id 查询
*/
Optional
<
ThirdPartRequestLog
>
getById
(
Integer
id
);
}
performance-web/src/main/java/com/clx/performance/service/breakcontract/BreakContractSettlementOwnerService.java
浏览文件 @
8090bfdb
...
@@ -8,6 +8,8 @@ import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractS
...
@@ -8,6 +8,8 @@ import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractS
import
com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO
;
import
com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
java.math.BigDecimal
;
/**
/**
* @author liruixin
* @author liruixin
* Date 2023-10-24
* Date 2023-10-24
...
@@ -38,7 +40,7 @@ public interface BreakContractSettlementOwnerService {
...
@@ -38,7 +40,7 @@ public interface BreakContractSettlementOwnerService {
void
saveSettlementOwnerForTonnageDown
(
OrderAdjustTonnageDownParam
param
);
void
saveSettlementOwnerForTonnageDown
(
OrderAdjustTonnageDownParam
param
);
void
saveSettlementOwnerForCancelOrder
(
String
orderNo
);
void
saveSettlementOwnerForCancelOrder
(
BigDecimal
transportWeight
,
BigDecimal
validFreightPrice
,
String
orderNo
,
Integer
cancelType
);
SettlementPlatformAccountVO
getCarrierSettlementPlatformAccount
(
Integer
id
);
SettlementPlatformAccountVO
getCarrierSettlementPlatformAccount
(
Integer
id
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -7,22 +7,24 @@ import com.clx.order.feign.OrderFeign;
...
@@ -7,22 +7,24 @@ import com.clx.order.feign.OrderFeign;
import
com.clx.order.param.feign.OrderCancelReasonParam
;
import
com.clx.order.param.feign.OrderCancelReasonParam
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.component.GoodsOrderTruckRecordComponent
;
import
com.clx.performance.component.OrderCancelComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.TruckDemandEnum
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.mq.OrderCancelMqParam
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.param.pc.owner.ThawAccountParam
;
import
com.clx.performance.service.OrderCancelService
;
import
com.clx.performance.service.OrderCancelService
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.msl.common.enums.ResultEnum
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.data.UserSessionData
;
...
@@ -60,14 +62,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -60,14 +62,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private
final
OwnerAccountService
ownerAccountService
;
private
final
OwnerAccountService
ownerAccountService
;
private
final
OrderGoodsTruckBindService
orderGoodsTruckBindService
;
private
final
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
private
final
OrderCancelComponent
orderCancelComponent
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerCancelOrderPre
(
String
orderNo
)
{
public
void
ownerC
onfirmC
ancelOrderPre
(
String
orderNo
)
{
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
Integer
orderStatusCode
=
OrderEnum
.
Status
.
CANCELED
.
getCode
();
if
(
CollectionUtil
.
isEmpty
(
orderGoodsList
))
{
if
(
CollectionUtil
.
isEmpty
(
orderGoodsList
))
{
//未产生货单
//未产生货单
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
OrderEnum
.
Status
.
CANCELED
.
getCode
()
);
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
);
if
(!
result
.
succeed
())
{
if
(!
result
.
succeed
())
{
throw
new
RuntimeException
(
"货主取消订单失败,原因:远程调用取消订单失败"
);
throw
new
RuntimeException
(
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
}
...
@@ -75,10 +84,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -75,10 +84,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
"1"
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
()
);
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
this
.
ownerC
ancelOrder
(
orderNo
);
this
.
ownerC
onfirmCancelProcess
(
orderNo
);
return
;
return
;
}
}
...
@@ -86,15 +95,34 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -86,15 +95,34 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if
(
CollectionUtil
.
isEmpty
(
orderChildrenList
))
{
if
(
CollectionUtil
.
isEmpty
(
orderChildrenList
))
{
//说明此刻未产生运单
//说明此刻未产生运单
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
OrderEnum
.
Status
.
CANCELED
.
getCode
());
List
<
Integer
>
ids
=
new
LinkedList
<>();
if
(!
result
.
succeed
())
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
throw
new
RuntimeException
(
"货主取消订单失败,原因:远程调用取消订单失败"
);
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
}
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
ids
.
add
(
orderGoods
.
getId
());
}
orderGoodsDao
.
batchUpdateOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
(),
orderGoodsDao
.
batchUpdateOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
(),
orderGoodsList
.
stream
().
map
(
OrderGoods:
:
getId
).
collect
(
Collectors
.
toList
())
);
ids
);
}
else
{
}
else
{
List
<
OrderChild
>
arriveSendChildList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
arriveSendChildList
)
{
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
ids
);
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
}
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
()
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
...
@@ -124,9 +152,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -124,9 +152,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
//虽然没有余量,但是可以取消的运单都是未到达货源地的
//虽然没有余量,但是可以取消的运单都是未到达货源地的
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
}
}
}
}
}
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
orderGoodsDao
.
updateEntityByKey
(
update
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
...
@@ -135,27 +168,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -135,27 +168,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
"1"
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
()
);
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
this
.
ownerCancelOrder
(
orderNo
);
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
OrderEnum
.
Status
.
COMPLETED
.
getCode
()
);
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
);
if
(!
result
.
succeed
())
{
if
(!
result
.
succeed
())
{
throw
new
RuntimeException
(
"货主取消订单失败,原因:远程调用取消订单失败"
);
throw
new
RuntimeException
(
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
}
// log.info("执行货主订单取消前置:更改相关状态完毕,开始执行吨数回填,发送MQ消息,订单No {}", orderNo);
this
.
ownerConfirmCancelProcess
(
orderNo
);
// OrderCancelMqParam mqParam = new OrderCancelMqParam();
// mqParam.setType("2");
// mqParam.setOrderNo(orderNo);
// Message message = MessageBuilder.withBody(JSONUtil.parse(mqParam).toString().getBytes()).build();
// rabbitTemplate.send(
// RabbitKeyConstants.ORDER_CANCEL_EXCHANGE, RabbitKeyConstants.ORDER_CANCEL_ROUTE_KEY, message
// );
}
}
@Override
@Override
public
void
ownerC
ancelOrder
(
String
orderNo
)
{
public
void
ownerC
onfirmCancelProcess
(
String
orderNo
)
{
log
.
info
(
"开始执行订单取消吨数回填"
);
log
.
info
(
"开始执行订单取消吨数回填"
);
FeignOrderVO
orderInfoFeignVO
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
FeignOrderVO
orderInfoFeignVO
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
...
@@ -166,21 +193,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -166,21 +193,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if
(!
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
().
equals
(
orderInfoFeignVO
.
getTruckDemand
()))
{
if
(!
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
().
equals
(
orderInfoFeignVO
.
getTruckDemand
()))
{
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
//已完结
//已完结
List
<
Integer
>
ids
=
new
LinkedList
<>();
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
for
(
OrderChild
orderChild
:
orderChildrenList
)
{
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
ids
);
}
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
()
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
.
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
...
@@ -200,31 +213,23 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -200,31 +213,23 @@ public class OrderCancelServiceImpl implements OrderCancelService {
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
.
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
BigDecimal
.
ZERO
,
sum
,
orderGoods
.
getId
());
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
sum
,
sum
,
orderGoods
.
getId
());
}
}
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
//已取消
//已取消
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
ids
.
add
(
orderGoods
.
getId
());
}
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderGoodsDao
.
batchUpdateOrderGoodsWeight
(
BigDecimal
.
ZERO
,
ids
);
}
}
}
Integer
truckDemand
=
orderInfoFeignVO
.
getTruckDemand
();
Integer
truckDemand
=
orderInfoFeignVO
.
getTruckDemand
();
BigDecimal
residueWeight
=
truckDemandMap
.
get
(
truckDemand
);
BigDecimal
residueWeight
=
truckDemandMap
.
get
(
truckDemand
);
if
(
residueWeight
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
residueWeight
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
log
.
info
(
"当前订单对应的货单无需吨数回填,订单编号{}"
,
orderNo
);
log
.
info
(
"当前订单对应的货单无需吨数回填,订单编号{}"
,
orderNo
);
return
;
return
;
}
}
//归还吨数
//归还吨数
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
param
.
setOrderNo
(
orderInfoFeignVO
.
getOrderNo
());
param
.
setOrderNo
(
orderInfoFeignVO
.
getOrderNo
());
...
@@ -247,19 +252,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -247,19 +252,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
if
(
OrderEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
//已完结
//已完结
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildrenList
)
{
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
ids
);
}
//货单
//货单
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
()
Map
<
String
,
List
<
OrderGoods
>>
orderGoodsMap
=
orderGoodsList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
.
collect
(
Collectors
.
groupingBy
(
OrderGoods:
:
getOrderGoodsNo
));
...
@@ -267,7 +259,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -267,7 +259,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
()
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildrenList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
for
(
Map
.
Entry
<
String
,
List
<
OrderGoods
>>
entry
:
orderGoodsMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
OrderGoods
>>
entry
:
orderGoodsMap
.
entrySet
())
{
String
orderGoodsNo
=
entry
.
getKey
();
String
orderGoodsNo
=
entry
.
getKey
();
OrderGoods
orderGoods
=
entry
.
getValue
().
get
(
0
);
OrderGoods
orderGoods
=
entry
.
getValue
().
get
(
0
);
...
@@ -280,26 +271,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -280,26 +271,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
.
add
(
orderGoods
.
getResidueTransportWeight
().
add
(
sum
)));
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
sum
,
sum
,
orderGoods
.
getId
());
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
BigDecimal
.
ZERO
,
sum
,
orderGoods
.
getId
());
}
}
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
}
else
if
(
OrderEnum
.
Status
.
CANCELED
.
getCode
().
equals
(
orderInfoFeignVO
.
getOrderStatus
()))
{
//已取消
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
ids
.
add
(
orderGoods
.
getId
());
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderGoodsDao
.
batchUpdateOrderGoodsWeight
(
BigDecimal
.
ZERO
,
ids
);
}
}
}
}
//归还吨数
//归还吨数
BigDecimal
platformResidueSum
=
vehicleUsageMap
.
get
(
1
);
BigDecimal
platformResidueSum
=
vehicleUsageMap
.
get
(
1
);
BigDecimal
ownResidueSum
=
vehicleUsageMap
.
get
(
2
);
BigDecimal
ownResidueSum
=
vehicleUsageMap
.
get
(
2
);
...
@@ -314,14 +295,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -314,14 +295,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if
(!
result
.
succeed
())
{
if
(!
result
.
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"远程调用更新订单余量失败"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"远程调用更新订单余量失败"
);
}
}
if
(!
orderFeign
.
saveOrderSettlementJobRecord
(
orderNo
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用结算单锁定失败"
);
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
e
.
getMessage
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
e
.
getMessage
());
}
}
}
}
}
}
...
@@ -329,101 +312,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -329,101 +312,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerCancelOrderPre
(
OrderCancelParam
param
)
{
public
void
ownerCancelOrderPre
(
OrderCancelParam
param
)
{
String
orderNo
=
param
.
getOrderNo
();
String
orderNo
=
param
.
getOrderNo
();
List
<
OrderGoods
>
orderGoodsList
=
null
;
orderCancelComponent
.
ownerProcess
(
param
);
Integer
orderStatusCode
=
OrderEnum
.
Status
.
CANCELED
.
getCode
();
switch
(
param
.
getCancelType
())
{
case
1
:
//单纯取消订单
if
(
CollectionUtil
.
isNotEmpty
(
orderChildDao
.
getOrderChildByOrderNo
(
orderNo
)))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前订单已发生变化,请重新选择取消方式"
);
}
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
orderGoodsDao
.
batchUpdateOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
(),
orderGoodsList
.
stream
().
map
(
OrderGoods:
:
getId
).
collect
(
Collectors
.
toList
()));
}
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
OrderEnum
.
Status
.
CANCELED
.
getCode
());
if
(!
result
.
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
break
;
case
2
:
//取消未拉运吨数的货单
// if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
// }
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
orderGoods
.
getExtractWeight
())
==
0
)
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
orderGoodsDao
.
updateEntityByKey
(
update
);
}
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
break
;
case
3
:
//取消未拉运+未到达货源地吨数
List
<
OrderChild
>
orderChildren
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
if
(
CollectionUtil
.
isEmpty
(
orderChildren
))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前订单已发生变化,请重新选择取消方式"
);
}
// if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
// }
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildren
)
{
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
}
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
ids
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildren
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
if
(
CollectionUtil
.
isEmpty
(
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())))
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
BigDecimal
reduce
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
if
(
orderGoods
.
getExtractWeight
().
compareTo
(
orderGoods
.
getResidueTransportWeight
().
add
(
reduce
))
==
0
)
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
}
orderGoodsDao
.
updateEntityByKey
(
update
);
}
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
break
;
default
:
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"参数有误"
);
}
OrderCancelReasonParam
orderCancelReasonParam
=
new
OrderCancelReasonParam
();
OrderCancelReasonParam
orderCancelReasonParam
=
new
OrderCancelReasonParam
();
orderCancelReasonParam
.
setOrderNo
(
orderNo
);
orderCancelReasonParam
.
setOrderNo
(
orderNo
);
orderCancelReasonParam
.
setReason
(
param
.
getCancelReason
());
orderCancelReasonParam
.
setReason
(
param
.
getCancelReason
());
...
@@ -437,7 +327,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -437,7 +327,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
"1"
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
()
);
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
...
@@ -449,6 +339,11 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -449,6 +339,11 @@ public class OrderCancelServiceImpl implements OrderCancelService {
);
);
}
}
/**
* 平台取消订单前置(只修改订单相关状态)
*
* @param param
*/
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
platformCancelOrderPre
(
OrderCancelParam
param
)
{
public
void
platformCancelOrderPre
(
OrderCancelParam
param
)
{
...
@@ -464,37 +359,39 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -464,37 +359,39 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
orderGoodsDao
.
batchUpdateOrderGoodsStatus
(
List
<
Integer
>
ids
=
new
LinkedList
<>();
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
(),
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
orderGoodsList
.
stream
().
map
(
OrderGoods:
:
getId
).
collect
(
Collectors
.
toList
()));
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
}
ids
.
add
(
orderGoods
.
getId
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
Result
<
Object
>
result
=
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
OrderEnum
.
Status
.
CANCELED
.
getCode
());
}
if
(!
result
.
succeed
())
{
orderGoodsDao
.
batchUpdateOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
(),
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
ids
);
}
}
break
;
break
;
case
2
:
//取消未拉运吨数的货单
case
2
:
//取消未拉运吨数的货单
// if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
// }
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
update
.
setId
(
orderGoods
.
getId
());
//提取和剩余吨数一样,代表一直没人拉
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
orderGoods
.
getExtractWeight
())
==
0
)
{
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
orderGoods
.
getExtractWeight
())
==
0
)
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
}
else
{
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
}
orderGoodsDao
.
updateEntityByKey
(
update
);
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
}
}
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
orderGoodsDao
.
updateEntityByKey
(
update
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
}
break
;
break
;
...
@@ -503,18 +400,17 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -503,18 +400,17 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if
(
CollectionUtil
.
isEmpty
(
orderChildren
))
{
if
(
CollectionUtil
.
isEmpty
(
orderChildren
))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前订单已发生变化,请重新选择取消方式"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前订单已发生变化,请重新选择取消方式"
);
}
}
// if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
// }
List
<
Integer
>
ids
=
new
LinkedList
<>();
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildren
)
{
for
(
OrderChild
orderChild
:
orderChildren
)
{
//释放车辆
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
ids
.
add
(
orderChild
.
getId
());
}
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
()
,
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
"平台取消"
,
ids
);
ids
);
}
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildren
.
stream
()
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
orderChildren
.
stream
()
...
@@ -528,6 +424,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -528,6 +424,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
else
{
}
else
{
BigDecimal
reduce
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())
BigDecimal
reduce
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
//当前产生可取消运单的吨数加货单剩余吨数如果等于货单提取的吨数,那么就是已取消
if
(
orderGoods
.
getExtractWeight
().
compareTo
(
orderGoods
.
getResidueTransportWeight
().
add
(
reduce
))
==
0
)
{
if
(
orderGoods
.
getExtractWeight
().
compareTo
(
orderGoods
.
getResidueTransportWeight
().
add
(
reduce
))
==
0
)
{
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
}
else
{
}
else
{
...
@@ -535,12 +432,15 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -535,12 +432,15 @@ public class OrderCancelServiceImpl implements OrderCancelService {
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
}
}
}
orderGoodsDao
.
updateEntityByKey
(
update
);
if
(
orderGoods
.
getPendingOrderWay
().
equals
(
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
()))
{
orderGoodsTruckBindService
.
updateCancelTruckBind
(
orderGoods
.
getOrderGoodsNo
());
}
}
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
break
;
break
;
default
:
default
:
...
@@ -548,23 +448,28 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -548,23 +448,28 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
}
log
.
info
(
"
执行承运端订单取消前置:更改相关状态完毕,开始执行吨数回填,发送MQ消息,订单No {}"
,
orderNo
);
log
.
info
(
"
记录订单取消原因"
);
OrderCancelReasonParam
orderCancelReasonParam
=
new
OrderCancelReasonParam
();
OrderCancelReasonParam
orderCancelReasonParam
=
new
OrderCancelReasonParam
();
orderCancelReasonParam
.
setOrderNo
(
orderNo
);
orderCancelReasonParam
.
setOrderNo
(
orderNo
);
orderCancelReasonParam
.
setReason
(
param
.
getCancelReason
());
orderCancelReasonParam
.
setReason
(
param
.
getCancelReason
());
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
orderCancelReasonParam
.
setCreateNo
(
loginUserInfo
.
getUserNo
());
orderCancelReasonParam
.
setCreateNo
(
loginUserInfo
.
getUserNo
());
orderCancelReasonParam
.
setCreateName
(
loginUserInfo
.
getUserName
());
orderCancelReasonParam
.
setCreateName
(
loginUserInfo
.
getUserName
());
orderFeign
.
orderCancelReason
(
orderCancelReasonParam
);
orderFeign
.
orderCancelReason
(
orderCancelReasonParam
);
//TODO 注意判断普通单还是网运单 普通单类型 1 网运单 2
//TODO 注意判断普通单还是网运单 普通单类型 1 网运单 2
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
"1"
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
()
);
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
log
.
info
(
"执行订单状态更改"
);
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
log
.
info
(
"执行承运端订单取消前置:更改相关状态完毕,开始执行吨数回填,发送MQ消息,订单No {}"
,
orderNo
);
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
param
).
toString
().
getBytes
()).
build
();
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
param
).
toString
().
getBytes
()).
build
();
rabbitTemplate
.
send
(
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_CANCEL_EXCHANGE
,
RabbitKeyConstants
.
ORDER_CANCEL_ROUTE_KEY
,
message
RabbitKeyConstants
.
ORDER_CANCEL_EXCHANGE
,
RabbitKeyConstants
.
ORDER_CANCEL_ROUTE_KEY
,
message
...
@@ -573,6 +478,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -573,6 +478,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
/**
/**
* 执行订单取消后归还吨数
* 执行订单取消后归还吨数
*
* @param param
* @param param
*/
*/
@Override
@Override
...
@@ -595,23 +501,15 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -595,23 +501,15 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(!
orderInfoFeign
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
if
(!
orderInfoFeign
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
}
else
{
}
else
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
}
}
//归还吨数
//归还吨数
...
@@ -636,30 +534,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -636,30 +534,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
platformResidueSum
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
platformResidueSum
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
ownResidueSum
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
ownResidueSum
);
}
}
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
break
;
return
;
case
2
:
//取消未拉运吨数的货单及订单
case
2
:
//取消未拉运吨数的货单及订单
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(!
orderInfoFeign
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
if
(!
orderInfoFeign
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
}
else
{
}
else
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
}
}
//归还吨数
//归还吨数
...
@@ -684,11 +573,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -684,11 +573,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
platformResidueSum
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
platformResidueSum
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
ownResidueSum
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
ownResidueSum
);
}
}
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
break
;
return
;
case
3
:
//取消未拉运+未到达货源地吨数
case
3
:
//取消未拉运+未到达货源地吨数
List
<
OrderChild
>
orderChildren
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
Integer
>
list
=
new
LinkedList
<>();
list
.
add
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
());
list
.
add
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
());
List
<
OrderChild
>
orderChildren
=
orderChildDao
.
listOrderChildByOrderNoAndStatus
(
orderNo
,
list
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
new
HashMap
<>();
if
(
CollectionUtil
.
isNotEmpty
(
orderChildren
))
{
if
(
CollectionUtil
.
isNotEmpty
(
orderChildren
))
{
...
@@ -702,7 +594,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -702,7 +594,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())))
{
if
(
CollectionUtil
.
isNotEmpty
(
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())))
{
BigDecimal
childSum
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
()).
stream
()
BigDecimal
childSum
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
()).
stream
()
.
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
.
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
...
@@ -715,9 +606,9 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -715,9 +606,9 @@ public class OrderCancelServiceImpl implements OrderCancelService {
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
put
(
orderGoods
.
getTruckDemand
(),
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
truckDemandMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
childSum
));
.
add
(
childSum
));
}
orderGoodsDao
.
updateEntityByKey
(
update
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
}
}
else
{
}
else
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
for
(
OrderGoods
orderGoods
:
orderGoodsList
)
{
...
@@ -726,7 +617,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -726,7 +617,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
put
(
orderGoods
.
getVehicleUsage
(),
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
vehicleUsageMap
.
get
(
orderGoods
.
getVehicleUsage
())
.
add
(
orderGoods
.
getResidueTransportWeight
()));
.
add
(
orderGoods
.
getResidueTransportWeight
()));
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())))
{
if
(
CollectionUtil
.
isNotEmpty
(
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
())))
{
BigDecimal
childSum
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
()).
stream
()
BigDecimal
childSum
=
orderChildMap
.
get
(
orderGoods
.
getOrderGoodsNo
()).
stream
()
.
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
.
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
...
@@ -739,9 +629,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -739,9 +629,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
vehicleUsageMap
.
put
(
orderGoods
.
getTruckDemand
(),
vehicleUsageMap
.
put
(
orderGoods
.
getTruckDemand
(),
vehicleUsageMap
.
get
(
orderGoods
.
getTruckDemand
())
vehicleUsageMap
.
get
(
orderGoods
.
getTruckDemand
())
.
add
(
childSum
));
.
add
(
childSum
));
}
orderGoodsDao
.
updateEntityByKey
(
update
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
}
}
}
//归还吨数
//归还吨数
if
(!
orderInfoFeign
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
if
(!
orderInfoFeign
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
...
@@ -765,10 +656,35 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -765,10 +656,35 @@ public class OrderCancelServiceImpl implements OrderCancelService {
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
platformResidueSum
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
platformResidueSum
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
ownResidueSum
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
ownResidueSum
);
}
}
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
break
;
default
:
return
;
}
if
(!
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"远程调用更新订单余量失败"
);
}
if
(!
orderFeign
.
saveOrderSettlementJobRecord
(
orderNo
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用结算单锁定失败"
);
}
}
}
}
@Override
public
void
artificialCancelOrder
(
String
orderChildNo
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
orderChildNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderChild
update
=
new
OrderChild
();
update
.
setId
(
orderChild
.
getId
());
update
.
setStatus
(
OrderChildEnum
.
Status
.
ARTIFICIAL_CANCEL
.
getCode
());
update
.
setCancelRemark
(
OrderChildEnum
.
Status
.
ARTIFICIAL_CANCEL
.
getName
());
orderChildDao
.
updateEntityByKey
(
update
);
orderCancelComponent
.
backFillTonnageForArtificial
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
getWeight
());
}
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildPoundAuditServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -151,7 +151,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
...
@@ -151,7 +151,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
}
}
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
()
,
dif
,
status
);
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
AmountLoad
(
orderGoods
,
dif
,
status
);
}
}
/**
/**
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -288,11 +288,20 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -288,11 +288,20 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setTruckModel
(
driverTruckInfo
.
getModel
());
orderChild
.
setTruckModel
(
driverTruckInfo
.
getModel
());
Integer
overWeight
=
orderInfo
.
getOverWeight
();
Integer
overWeight
=
orderInfo
.
getOverWeight
();
if
(
Objects
.
equals
(
overWeight
,
OrderGoodsOverWeightEnum
.
NO
.
getCode
())){
if
(
Objects
.
equals
(
overWeight
,
OrderGoodsOverWeightEnum
.
NO
.
getCode
())){
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
new
BigDecimal
(
33
))
<
0
)
{
orderChild
.
setWeight
(
orderGoods
.
getResidueTransportWeight
());
}
else
{
orderChild
.
setWeight
(
new
BigDecimal
(
33
));
orderChild
.
setWeight
(
new
BigDecimal
(
33
));
}
else
{
}
}
else
{
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
new
BigDecimal
(
50
))
<
0
)
{
orderChild
.
setWeight
(
orderGoods
.
getResidueTransportWeight
());
}
else
{
orderChild
.
setWeight
(
new
BigDecimal
(
50
));
orderChild
.
setWeight
(
new
BigDecimal
(
50
));
}
}
}
//orderChild.setWeight(orderChild.getTruckLoad());
//orderChild.setWeight(orderChild.getTruckLoad());
orderChild
.
setFreight
(
orderChildFreightCalc
(
orderChild
));
orderChild
.
setFreight
(
orderChildFreightCalc
(
orderChild
));
orderChild
.
setPayTime
(
now
);
orderChild
.
setPayTime
(
now
);
...
@@ -465,9 +474,9 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -465,9 +474,9 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_STATUS_CHANGED
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_STATUS_CHANGED
);
}
}
// 装货超时
// 装货超时
if
(
orderChild
.
getLoadDeadline
().
isBefore
(
LocalDateTime
.
now
()))
{
//
if (orderChild.getLoadDeadline().isBefore(LocalDateTime.now())) {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_TIMEOUT
);
//
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_TIMEOUT);
}
//
}
// 距离验证
// 距离验证
FeignOrderInfoVO
orderInfo
=
orderService
.
getOrderInfo
(
orderChild
.
getOrderNo
()).
orElseThrow
(
FeignOrderInfoVO
orderInfo
=
orderService
.
getOrderInfo
(
orderChild
.
getOrderNo
()).
orElseThrow
(
...
@@ -648,6 +657,10 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -648,6 +657,10 @@ public class OrderChildServiceImpl implements OrderChildService {
BigDecimal
dif
=
param
.
getLoadNet
().
subtract
(
orderChild
.
getWeight
());
BigDecimal
dif
=
param
.
getLoadNet
().
subtract
(
orderChild
.
getWeight
());
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
dif
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_WEIGHT_LACK
);
}
orderChild
.
setLoadRough
(
param
.
getLoadRough
());
orderChild
.
setLoadRough
(
param
.
getLoadRough
());
orderChild
.
setLoadTare
(
param
.
getLoadTare
());
orderChild
.
setLoadTare
(
param
.
getLoadTare
());
orderChild
.
setLoadNet
(
param
.
getLoadNet
());
orderChild
.
setLoadNet
(
param
.
getLoadNet
());
...
@@ -788,6 +801,9 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -788,6 +801,9 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新出车状态
// 更新出车状态
updateDriverOrderStatusUnload
(
orderChild
.
getDriverUserNo
(),
orderChild
.
getTruckId
());
updateDriverOrderStatusUnload
(
orderChild
.
getDriverUserNo
(),
orderChild
.
getTruckId
());
//释放车辆
goodsOrderTruckRecordComponent
.
releaseDriverCard
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
}
}
private
void
updateReUnload
(
OrderChildUnloadParam
param
,
OrderChild
orderChild
)
{
private
void
updateReUnload
(
OrderChildUnloadParam
param
,
OrderChild
orderChild
)
{
...
@@ -1334,7 +1350,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1334,7 +1350,7 @@ public class OrderChildServiceImpl implements OrderChildService {
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
}
}
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
()
,
orderChild
.
getWeight
().
negate
(),
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
AmountLoad
(
orderGoods
,
orderChild
.
getWeight
().
negate
(),
status
);
status
);
}
}
...
@@ -1346,9 +1362,10 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1346,9 +1362,10 @@ public class OrderChildServiceImpl implements OrderChildService {
return
;
return
;
}
}
Integer
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
Integer
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
()
,
dif
,
status
);
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
AmountLoad
(
orderGoods
,
dif
,
status
);
}
}
/**
/**
...
@@ -1405,7 +1422,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1405,7 +1422,7 @@ public class OrderChildServiceImpl implements OrderChildService {
* 司机接单限制
* 司机接单限制
*/
*/
private
void
driverTakeOrderLimit
(
Long
driverUserNo
){
private
void
driverTakeOrderLimit
(
Long
driverUserNo
){
Optional
<
BreakContractDriverRecord
>
limitOptional
=
breakContractDriverRecordDao
.
selectLastLimitTimeByDriverUserNo
(
driverUserNo
);
Optional
<
BreakContractDriverRecord
>
limitOptional
=
breakContractDriverRecordDao
.
selectLastLimitTimeByDriverUserNo
(
driverUserNo
,
LocalDateTime
.
now
()
);
if
(
limitOptional
.
isPresent
()){
if
(
limitOptional
.
isPresent
()){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT
,
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT
,
PerformanceResultEnum
.
ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT
.
getMsg
()+
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
limitOptional
.
get
().
getLimitTime
(),
"yyyy-MM-dd HH:mm"
));
PerformanceResultEnum
.
ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT
.
getMsg
()+
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
limitOptional
.
get
().
getLimitTime
(),
"yyyy-MM-dd HH:mm"
));
...
@@ -1862,6 +1879,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1862,6 +1879,7 @@ public class OrderChildServiceImpl implements OrderChildService {
return
orderChildDao
.
selectInTransitOrderChild
(
orderNo
);
return
orderChildDao
.
selectInTransitOrderChild
(
orderNo
);
}
}
/**
/**
* @return
* @return
* @Author kavin
* @Author kavin
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -5,10 +5,12 @@ import cn.hutool.json.JSONUtil;
...
@@ -5,10 +5,12 @@ import cn.hutool.json.JSONUtil;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.order.enums.UpdateEnum
;
import
com.clx.order.enums.VehicleUsageEnum
;
import
com.clx.order.enums.VehicleUsageEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.OrderCancelReasonParam
;
import
com.clx.order.param.feign.OrderCancelReasonParam
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.performance.component.OrderCancelComponent
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
import
com.clx.performance.param.pc.PageOrderGoodsListParam
;
...
@@ -95,6 +97,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -95,6 +97,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
private
DriverService
driverService
;
private
DriverService
driverService
;
private
OrderCancelComponent
orderCancelComponent
;
@Override
@Override
public
OrderGoodsVO
getOrderGoodsInfoByOrderGoodsNoForPC
(
String
orderGoodsNo
)
{
public
OrderGoodsVO
getOrderGoodsInfoByOrderGoodsNoForPC
(
String
orderGoodsNo
)
{
OrderGoodsVO
orderGoodsVO
=
orderGoodsDao
.
getOrderGoodsInfoByOrderGoodsNoForPC
(
orderGoodsNo
).
map
(
orderGoodsStruct:
:
convert
).
get
();
OrderGoodsVO
orderGoodsVO
=
orderGoodsDao
.
getOrderGoodsInfoByOrderGoodsNoForPC
(
orderGoodsNo
).
map
(
orderGoodsStruct:
:
convert
).
get
();
...
@@ -124,8 +128,18 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -124,8 +128,18 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
@Override
@Override
public
void
updateOrderGoodsReduceWeightAndStatus
(
Integer
id
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
)
{
public
void
updateOrderGoodsReduceWeightAndStatusAmountLoad
(
OrderGoods
orderGoods
,
BigDecimal
orderChildWeight
,
Integer
orderGoodsStatus
)
{
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
id
,
orderChildWeight
,
orderGoodsStatus
);
if
(
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
||
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
())
)
{
//当前订单已经取消或完结
orderCancelComponent
.
backFillTonnage
(
orderGoods
,
orderChildWeight
);
}
else
{
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
orderChildWeight
,
orderGoodsStatus
);
}
}
}
@Override
@Override
...
@@ -229,25 +243,37 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -229,25 +243,37 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Override
@Override
public
BigDecimal
orderCancelResidueWeight
(
String
orderNo
,
String
optionType
)
{
public
BigDecimal
orderCancelResidueWeight
(
String
orderNo
,
String
optionType
)
{
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
List
<
OrderGoods
>
orderGoodsList
=
null
;
if
(
StringUtils
.
equals
(
optionType
,
"1"
))
{
BigDecimal
orderGoodsResidueWeight
=
BigDecimal
.
ZERO
;
return
new
BigDecimal
(
orderInfoFeign
.
getResidueWeight
());
}
else
{
String
residueWeight
=
orderInfoFeign
.
getResidueWeight
();
String
residueWeight
=
orderInfoFeign
.
getResidueWeight
();
switch
(
optionType
)
{
case
"1"
:
return
new
BigDecimal
(
residueWeight
);
case
"2"
:
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNoAndStatus
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
orderGoodsResidueWeight
=
orderGoodsList
.
stream
().
map
(
OrderGoods:
:
getResidueTransportWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
}
return
orderGoodsResidueWeight
.
add
(
new
BigDecimal
(
residueWeight
));
case
"3"
:
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
BigDecimal
childResidueWeight
=
BigDecimal
.
ZERO
;
BigDecimal
childResidueWeight
=
BigDecimal
.
ZERO
;
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
childResidueWeight
=
orderChildList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
childResidueWeight
=
orderChildList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
}
}
BigDecimal
orderGoodsResidueWeight
=
BigDecimal
.
ZERO
;
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNoAndStatus
(
orderNo
);
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
orderGoodsList
))
{
orderGoodsResidueWeight
=
orderGoodsList
.
stream
().
map
(
OrderGoods:
:
getResidueTransportWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
orderGoodsResidueWeight
=
orderGoodsList
.
stream
().
map
(
OrderGoods:
:
getResidueTransportWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
}
}
return
new
BigDecimal
(
residueWeight
).
add
(
orderGoodsResidueWeight
).
add
(
childResidueWeight
);
return
new
BigDecimal
(
residueWeight
).
add
(
orderGoodsResidueWeight
).
add
(
childResidueWeight
);
default
:
throw
new
RuntimeException
(
"参数错误"
);
}
}
}
}
...
@@ -259,7 +285,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -259,7 +285,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateEditOrderGoods
(
UpdateEditOrderGoodsParam
param
)
{
public
void
updateEditOrderGoods
(
UpdateEditOrderGoodsParam
param
)
{
UserSessionData
loginUserInfo
=
null
;
try
{
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
}
catch
(
Exception
e
)
{
}
OrderGoodsEditParams
orderGoodsParams
=
param
.
getOrderGoodsParams
();
OrderGoodsEditParams
orderGoodsParams
=
param
.
getOrderGoodsParams
();
OrderGoods
oldOrderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsParams
.
getOrderGoodsNo
()).
get
();
OrderGoods
oldOrderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsParams
.
getOrderGoodsNo
()).
get
();
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
param
.
getOrderNo
());
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
param
.
getOrderNo
());
...
@@ -268,26 +300,57 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -268,26 +300,57 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
BigDecimal
answer
=
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getExtractWeight
());
BigDecimal
answer
=
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getExtractWeight
());
int
flag
=
answer
.
compareTo
(
BigDecimal
.
ZERO
);
int
flag
=
answer
.
compareTo
(
BigDecimal
.
ZERO
);
if
(
flag
>=
0
)
{
orderGoodsParams
.
setResidueTransportWeight
(
oldOrderGoods
.
getResidueTransportWeight
().
add
(
answer
));
}
else
{
orderGoodsParams
.
setResidueTransportWeight
(
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getAlreadyTransportWeight
()));
//归还吨数
//归还吨数
RollbackOrderWeightParam
rollbackOrderWeightParam
=
new
RollbackOrderWeightParam
();
RollbackOrderWeightParam
rollbackOrderWeightParam
=
new
RollbackOrderWeightParam
();
rollbackOrderWeightParam
.
setOrderNo
(
param
.
getOrderNo
());
rollbackOrderWeightParam
.
setOrderNo
(
param
.
getOrderNo
());
log
.
info
(
"falg:{}"
,
flag
);
if
(
flag
>
0
)
{
orderGoodsParams
.
setResidueTransportWeight
(
oldOrderGoods
.
getResidueTransportWeight
().
add
(
answer
));
rollbackOrderWeightParam
.
setUpdateType
(
UpdateEnum
.
SUB
.
getCode
());
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
answer
);
}
else
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY_CAR
.
getCode
()))
{
if
(
orderGoodsParams
.
getVehicleUsage
().
equals
(
VehicleUsageEnum
.
Status
.
OWN
.
getCode
()))
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
answer
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
else
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
answer
);
}
}
log
.
info
(
"回填吨数:{}"
,
JSONUtil
.
parse
(
rollbackOrderWeightParam
));
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
}
else
if
(
flag
<
0
){
orderGoodsParams
.
setResidueTransportWeight
(
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getAlreadyTransportWeight
()));
rollbackOrderWeightParam
.
setUpdateType
(
UpdateEnum
.
ADD
.
getCode
());
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setResidueWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
answer
.
negate
());
}
else
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
OWNER
_CAR
.
getCode
()))
{
}
else
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_ANY
_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setResidueWeight
(
answer
.
negate
());
if
(
VehicleUsageEnum
.
Status
.
OWN
.
getCode
().
equals
(
oldOrderGoods
.
getVehicleUsage
()))
{
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
else
{
rollbackOrderWeightParam
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
rollbackOrderWeightParam
.
setPlatformResidueCarryWeight
(
answer
.
negate
());
}
}
}
log
.
info
(
"回填吨数:{}"
,
JSONUtil
.
parse
(
rollbackOrderWeightParam
));
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
}
else
{
orderGoodsParams
.
setResidueTransportWeight
(
oldOrderGoods
.
getResidueTransportWeight
());
}
}
if
(
new
BigDecimal
(
orderInfoFeign
.
getResidueWeight
()).
compareTo
(
orderGoodsParams
.
getExtractWeight
())
<
0
)
{
if
(
new
BigDecimal
(
orderInfoFeign
.
getResidueWeight
()).
compareTo
(
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getExtractWeight
()))
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单提取吨数已超订单可提取吨数"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单提取吨数已超订单可提取吨数"
);
}
}
...
@@ -317,12 +380,21 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -317,12 +380,21 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
List
<
OrderGoodsTruckBind
>
deleteList
=
truckBindList
.
stream
().
filter
(
i
->
!
i
.
getStatus
().
equals
(
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
())).
collect
(
Collectors
.
toList
());
List
<
OrderGoodsTruckBind
>
deleteList
=
truckBindList
.
stream
().
filter
(
i
->
!
i
.
getStatus
().
equals
(
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
())).
collect
(
Collectors
.
toList
());
//已接单的记录
//已接单的记录
getChildList
=
truckBindList
.
stream
().
filter
(
i
->
i
.
getStatus
().
equals
(
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
())).
collect
(
Collectors
.
toList
());
getChildList
=
truckBindList
.
stream
().
filter
(
i
->
i
.
getStatus
().
equals
(
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
deleteList
))
{
orderGoodsTruckBindDao
.
deleteByIds
(
deleteList
.
stream
().
map
(
OrderGoodsTruckBind:
:
getId
).
collect
(
Collectors
.
toList
()));
orderGoodsTruckBindDao
.
deleteByIds
(
deleteList
.
stream
().
map
(
OrderGoodsTruckBind:
:
getId
).
collect
(
Collectors
.
toList
()));
}
for
(
OrderGoodsTruckBind
bind
:
deleteList
)
{
for
(
OrderGoodsTruckBind
bind
:
deleteList
)
{
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsNo
,
bind
.
getTruckNo
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsNo
,
bind
.
getTruckNo
());
}
}
}
}
if
(!
oldOrderGoods
.
getPendingOrderWay
().
equals
(
orderGoodsParams
.
getPendingOrderWay
()))
{
orderGoodsTruckBindDao
.
deleteByOrderGoods
(
orderGoodsNo
);
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsNo
);
}
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
List
<
String
>
truckList
=
orderGoodsParams
.
getTruckList
();
List
<
String
>
truckList
=
orderGoodsParams
.
getTruckList
();
if
(
CollectionUtil
.
isNotEmpty
(
truckList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
truckList
))
{
...
@@ -339,10 +411,12 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -339,10 +411,12 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderGoodsStatusLazyComponent
.
expireProduceByLastOrderTime
(
DateUtils
.
parseDateTime
(
orderGoodsParams
.
getLastOrderTime
(),
"yyyy-MM-dd HH:mm:ss"
).
get
(),
orderGoodsNo
);
orderGoodsStatusLazyComponent
.
expireProduceByLastOrderTime
(
DateUtils
.
parseDateTime
(
orderGoodsParams
.
getLastOrderTime
(),
"yyyy-MM-dd HH:mm:ss"
).
get
(),
orderGoodsNo
);
orderGoodsStatusLazyComponent
.
expireProduceByLastArriveSendTime
(
DateUtils
.
parseDateTime
(
orderGoodsParams
.
getLastArriveSendTime
(),
"yyyy-MM-dd HH:mm:ss"
).
get
(),
orderGoodsNo
);
orderGoodsStatusLazyComponent
.
expireProduceByLastArriveSendTime
(
DateUtils
.
parseDateTime
(
orderGoodsParams
.
getLastArriveSendTime
(),
"yyyy-MM-dd HH:mm:ss"
).
get
(),
orderGoodsNo
);
orderGoodsParams
.
setUserNo
(
loginUserInfo
.
getUserNo
());
orderGoodsParams
.
setUserName
(
loginUserInfo
.
getUserName
());
orderGoodsDao
.
updateOrderGoods
(
orderGoodsParams
);
orderGoodsDao
.
updateOrderGoods
(
orderGoodsParams
);
//日志提交
//日志提交
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
orderGoodsLogService
.
saveLog
(
orderGoodsNo
,
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
(),
OrderGoodsLogsEnum
.
Type
.
EDIT
.
getName
(),
""
);
orderGoodsLogService
.
saveLog
(
orderGoodsNo
,
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
(),
OrderGoodsLogsEnum
.
Type
.
EDIT
.
getName
(),
""
);
}
}
...
@@ -383,19 +457,19 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -383,19 +457,19 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
orderGoodsCancel
(
OrderGoodsCancelParam
goodsCancelParam
)
{
public
void
orderGoodsCancel
(
OrderGoodsCancelParam
goodsCancelParam
)
{
String
orderGoodsNo
=
goodsCancelParam
.
getOrderGoodsNo
();
String
orderGoodsNo
=
goodsCancelParam
.
getOrderGoodsNo
();
Optional
<
OrderGoods
>
optional
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
).
orElseThrow
(
PerformanceResultEnum
.
HTTP_ERROR
,
"数据错误"
);
if
(!
optional
.
isPresent
())
{
return
;
}
OrderGoods
orderGoods
=
optional
.
get
();
List
<
OrderChild
>
orderChildList
=
null
;
List
<
OrderChild
>
orderChildList
=
null
;
BigDecimal
residueWeight
=
null
;
BigDecimal
residueWeight
=
null
;
BigDecimal
sum
=
BigDecimal
.
ZERO
;
BigDecimal
sum
=
BigDecimal
.
ZERO
;
List
<
Integer
>
ids
=
new
LinkedList
<>();
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
Integer
cancelOperateType
=
goodsCancelParam
.
getCancelOperateType
();
Integer
cancelOperateType
=
goodsCancelParam
.
getCancelOperateType
();
Integer
orderGoodsStatus
=
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
();
switch
(
cancelOperateType
)
{
switch
(
cancelOperateType
)
{
case
1
:
case
1
:
orderChildList
=
orderChildDao
.
selectResidueWeightByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
null
);
orderChildList
=
orderChildDao
.
selectResidueWeightByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderChildEnum
.
Status
.
DRIVER_CANCEL
.
getCode
()
);
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单已产生运单"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单已产生运单"
);
}
}
...
@@ -421,16 +495,31 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -421,16 +495,31 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
if
(
orderFeign
.
rollbackOrderWeight
(
param
).
succeed
())
{
if
(
orderFeign
.
rollbackOrderWeight
(
param
).
succeed
())
{
OrderGoods
update
=
new
OrderGoods
();
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
update
.
setId
(
orderGoods
.
getId
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
update
.
setOrderGoodsStatus
(
orderGoodsStatus
);
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
update
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
break
;
break
;
case
2
:
case
2
:
orderChildList
=
orderChildDao
.
selectResidueWeightByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
orderChildList
=
orderChildDao
.
selectResidueWeightByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderChildEnum
.
Status
.
DRIVER_CANCEL
.
getCode
());
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
sum
=
orderChildList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
List
<
OrderChild
>
filterOrderChildList
=
orderChildList
.
stream
().
filter
(
item
->
item
.
getStatus
()
<
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
()).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
filterOrderChildList
))
{
for
(
OrderChild
orderChild
:
filterOrderChildList
)
{
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
sum
=
sum
.
add
(
orderChild
.
getWeight
());
}
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
ids
);
}
}
orderChildList
.
removeAll
(
filterOrderChildList
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildList
))
{
orderGoodsStatus
=
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
();
}
}
residueWeight
=
orderGoods
.
getResidueTransportWeight
().
add
(
sum
);
residueWeight
=
orderGoods
.
getResidueTransportWeight
().
add
(
sum
);
param
.
setResidueWeight
(
residueWeight
);
param
.
setResidueWeight
(
residueWeight
);
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
...
@@ -447,25 +536,36 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -447,25 +536,36 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
}
}
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
orderGoodsStatus
);
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
orderChildList
.
stream
().
map
(
OrderChild:
:
getId
).
collect
(
Collectors
.
toList
()));
}
log
.
info
(
"取消货单,参数:{}"
,
JSONUtil
.
parse
(
param
));
log
.
info
(
"取消货单,参数:{}"
,
JSONUtil
.
parse
(
param
));
if
(
orderFeign
.
rollbackOrderWeight
(
param
).
succeed
())
{
if
(
orderFeign
.
rollbackOrderWeight
(
param
).
succeed
())
{
OrderGoods
update
=
new
OrderGoods
();
OrderGoods
update
=
new
OrderGoods
();
update
.
setId
(
orderGoods
.
getId
());
update
.
setId
(
orderGoods
.
getId
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
());
update
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
update
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
update
);
orderGoodsDao
.
updateEntityByKey
(
update
);
}
}
break
;
break
;
case
3
:
case
3
:
orderChildList
=
orderChildDao
.
selectResidueWeightByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
goodsCancelParam
.
getTruckList
());
orderChildList
=
orderChildDao
.
selectResidueWeightByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
(),
OrderChildEnum
.
Status
.
DRIVER_CANCEL
.
getCode
(),
goodsCancelParam
.
getTruckList
());
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
sum
=
orderChildList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
List
<
OrderChild
>
filterOrderChildList
=
orderChildList
.
stream
().
filter
(
item
->
item
.
getStatus
()
<
OrderChildEnum
.
Status
.
LOAD
.
getCode
()).
collect
(
Collectors
.
toList
());
for
(
OrderChild
orderChild
:
filterOrderChildList
)
{
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
sum
=
sum
.
add
(
orderChild
.
getWeight
());
}
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
ids
);
orderChildList
.
removeAll
(
filterOrderChildList
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildList
))
{
orderGoodsStatus
=
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
();
}
}
}
residueWeight
=
orderGoods
.
getResidueTransportWeight
().
add
(
sum
);
residueWeight
=
orderGoods
.
getResidueTransportWeight
().
add
(
sum
);
param
.
setResidueWeight
(
residueWeight
);
param
.
setResidueWeight
(
residueWeight
);
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
...
@@ -482,18 +582,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -482,18 +582,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
}
}
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
());
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildList
)
{
ids
.
add
(
orderChild
.
getId
());
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
}
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
ids
);
}
log
.
info
(
"取消货单,参数:{}"
,
JSONUtil
.
parse
(
param
));
log
.
info
(
"取消货单,参数:{}"
,
JSONUtil
.
parse
(
param
));
if
(
orderFeign
.
rollbackOrderWeight
(
param
).
succeed
())
{
if
(
orderFeign
.
rollbackOrderWeight
(
param
).
succeed
())
{
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus
(
residueWeight
,
sum
,
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
()
,
orderGoods
.
getId
());
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus
(
residueWeight
,
sum
,
orderGoodsStatus
,
orderGoods
.
getId
());
}
}
break
;
break
;
default
:
default
:
...
@@ -507,6 +599,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -507,6 +599,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
orderCancelReasonParam
.
setCreateNo
(
loginUserInfo
.
getUserNo
());
orderCancelReasonParam
.
setCreateNo
(
loginUserInfo
.
getUserNo
());
orderCancelReasonParam
.
setCreateName
(
loginUserInfo
.
getUserName
());
orderCancelReasonParam
.
setCreateName
(
loginUserInfo
.
getUserName
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoods
.
getOrderGoodsNo
());
orderFeign
.
orderCancelReason
(
orderCancelReasonParam
);
orderFeign
.
orderCancelReason
(
orderCancelReasonParam
);
...
@@ -579,11 +672,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -579,11 +672,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
result
.
setOwnCarryWeight
(
orderInfoFeign
.
getOwnCarryWeight
());
result
.
setOwnCarryWeight
(
orderInfoFeign
.
getOwnCarryWeight
());
result
.
setOwnResidueCarryWeight
(
orderInfoFeign
.
getOwnResidueCarryWeight
());
result
.
setOwnResidueCarryWeight
(
orderInfoFeign
.
getOwnResidueCarryWeight
());
result
.
setPlatformCarryWeight
(
orderInfoFeign
.
getPlatformCarryWeight
());
result
.
setPlatformCarryWeight
(
orderInfoFeign
.
getPlatformCarryWeight
());
result
.
setPlatformResidueCarryWeight
(
orderInfoFeign
.
getPlatformResidueCarryWeight
());
result
.
setDownFloatWeight
(
orderInfoFeign
.
getDownFloatWeight
());
result
.
setDownFloatWeight
(
orderInfoFeign
.
getDownFloatWeight
());
result
.
setUpFloatWeight
(
orderInfoFeign
.
getUpFloatWeight
());
result
.
setUpFloatWeight
(
orderInfoFeign
.
getUpFloatWeight
());
result
.
setStopFlag
(
orderInfoFeign
.
getStopFlag
());
result
.
setStopFlag
(
orderInfoFeign
.
getStopFlag
());
result
.
setSettlementAccountPeriod
(
orderInfoFeign
.
getSettlementAccountPeriod
());
result
.
setSettlementAccountPeriod
(
orderInfoFeign
.
getSettlementAccountPeriod
());
result
.
setTransportEndTime
(
orderInfoFeign
.
getTransportEndTime
());
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
selectListByOrderGoodsNo
(
orderGoodsVO
.
getOrderGoodsNo
());
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
selectListByOrderGoodsNo
(
orderGoodsVO
.
getOrderGoodsNo
());
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
orderChildList
))
{
result
.
setEditAllFlag
(
false
);
result
.
setEditAllFlag
(
false
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsTruckBindServiceImpl.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
service
.
impl
;
package
com
.
clx
.
performance
.
service
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
com.clx.user.feign.TruckFeign
;
import
com.clx.user.vo.app.driver.truck.DriverTruckAppVo
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
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.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
@Service
@AllArgsConstructor
@Slf4j
public
class
OrderGoodsTruckBindServiceImpl
implements
OrderGoodsTruckBindService
{
public
class
OrderGoodsTruckBindServiceImpl
implements
OrderGoodsTruckBindService
{
@Autowired
private
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
private
final
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
TruckFeign
truckFeign
;
private
final
OrderChildDao
orderChildDao
;
@Override
@Override
public
List
<
Integer
>
getTrucksByOrderGoodsNo
(
String
orderGoodsNo
)
{
public
List
<
Integer
>
getTrucksByOrderGoodsNo
(
String
orderGoodsNo
)
{
return
orderGoodsTruckBindDao
.
getTrucksByOrderGoodsNo
(
orderGoodsNo
);
return
orderGoodsTruckBindDao
.
getTrucksByOrderGoodsNo
(
orderGoodsNo
);
}
}
@Override
public
List
<
OrderGoodsAPPVO
>
getCancelOrderGoods
(
Long
userNo
)
{
Result
<
List
<
DriverTruckAppVo
>>
result
=
truckFeign
.
driverTruckList
(
userNo
);
if
(!
result
.
succeed
()
||
CollectionUtil
.
isEmpty
(
result
.
getData
()))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
}
List
<
String
>
truckList
=
result
.
getData
().
stream
().
map
(
DriverTruckAppVo:
:
getTruckNo
).
collect
(
Collectors
.
toList
());
LocalDateTime
now
=
LocalDateTime
.
now
();
List
<
OrderGoodsTruckBind
>
list
=
orderGoodsTruckBindDao
.
getCancelOrderGoods
(
truckList
,
DateUtils
.
formatDateTime
(
now
.
plusDays
(-
3
),
"yyyy-MM-dd HH:mm:ss"
).
get
(),
DateUtils
.
formatDateTime
(
now
,
"yyyy-MM-dd HH:mm:ss"
).
get
());
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
null
;
}
return
orderGoodsDao
.
getCancelOrderGoods
(
list
);
}
@Override
public
void
updateCancelTruckBind
(
String
orderGoodsNo
)
{
List
<
OrderChild
>
arriveSendOrderChild
=
orderChildDao
.
selectArriveSendOrderChildGe
(
orderGoodsNo
);
List
<
String
>
truckList
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
arriveSendOrderChild
))
{
truckList
=
arriveSendOrderChild
.
stream
().
map
(
OrderChild:
:
getTruckNo
).
collect
(
Collectors
.
toList
());
}
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
(),
truckList
);
// List<OrderGoodsTruckBind> truckBindList = orderGoodsTruckBindDao.selectCancelRecord(orderGoodsNo, truckList);
// if (CollectionUtils.isNotEmpty(truckBindList)) {
// for (OrderGoodsTruckBind bind : truckBindList) {
// goodsOrderTruckRecordComponent.deleteTruckRecord(orderGoodsNo, bind.getTruckNo());
// }
// }
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OwnerAccountServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -23,6 +23,7 @@ import com.clx.performance.utils.excel.ExcelData;
...
@@ -23,6 +23,7 @@ import com.clx.performance.utils.excel.ExcelData;
import
com.clx.performance.utils.excel.ExcelField
;
import
com.clx.performance.utils.excel.ExcelField
;
import
com.clx.performance.utils.excel.ExcelSheet
;
import
com.clx.performance.utils.excel.ExcelSheet
;
import
com.clx.performance.utils.excel.ExcelUtil
;
import
com.clx.performance.utils.excel.ExcelUtil
;
import
com.clx.performance.vo.pc.OwnerAccountAllVO
;
import
com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.OwnerAccountVO
;
import
com.clx.performance.vo.pc.OwnerAccountVO
;
import
com.clx.user.enums.driver.DriverTruckEnum
;
import
com.clx.user.enums.driver.DriverTruckEnum
;
...
@@ -85,14 +86,14 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -85,14 +86,14 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
}
}
@Override
@Override
public
Map
<
String
,
OwnerAccountVO
>
accountInfo
(
Long
ownerUserNo
)
{
public
OwnerAccountAllVO
accountInfo
(
Long
ownerUserNo
)
{
Map
<
String
,
OwnerAccountVO
>
result
=
new
HashMap
<>(
2
);
OwnerAccountAllVO
result
=
new
OwnerAccountAllVO
(
);
List
<
OwnerAccountVO
>
list
=
ownerAccountStruct
.
convertList
(
ownerAccountDao
.
accountInfo
(
ownerUserNo
));
List
<
OwnerAccountVO
>
list
=
ownerAccountStruct
.
convertList
(
ownerAccountDao
.
accountInfo
(
ownerUserNo
));
for
(
OwnerAccountVO
ownerAccountVO
:
list
)
{
for
(
OwnerAccountVO
ownerAccountVO
:
list
)
{
if
(
OwnerAccountEnum
.
AccountTypeStatus
.
MARGIN_ACCOUNT
.
getCode
().
equals
(
ownerAccountVO
.
getAccountType
()))
{
if
(
OwnerAccountEnum
.
AccountTypeStatus
.
MARGIN_ACCOUNT
.
getCode
().
equals
(
ownerAccountVO
.
getAccountType
()))
{
result
.
put
(
"marginAccount"
,
ownerAccountVO
);
result
.
setMarginAccount
(
ownerAccountVO
);
}
else
{
}
else
{
result
.
put
(
"prepaidFreightAccount"
,
ownerAccountVO
);
result
.
setPrepaidFreightAccount
(
ownerAccountVO
);
}
}
}
}
return
result
;
return
result
;
...
@@ -782,7 +783,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -782,7 +783,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerAccountThaw
(
ThawAccountParam
param
)
{
public
void
ownerAccountThaw
(
ThawAccountParam
param
)
{
String
orderNo
=
param
.
getOrderNo
();
String
orderNo
=
param
.
getOrderNo
();
if
(
StringUtils
.
equals
(
param
.
getOrderType
(),
"1"
))
{
if
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
ORDINARY
.
getCode
().
equals
(
param
.
getOrderType
()
))
{
List
<
OwnerRunningWaterRecord
>
list
=
ownerRunningWaterRecordDao
.
getOwnerRunningWaterRecord
(
orderNo
);
List
<
OwnerRunningWaterRecord
>
list
=
ownerRunningWaterRecordDao
.
getOwnerRunningWaterRecord
(
orderNo
);
if
(
null
==
list
||
list
.
size
()
!=
2
)
{
if
(
null
==
list
||
list
.
size
()
!=
2
)
{
log
.
info
(
"解冻预付运费、保证金账户出错,查询出冻结流水有问题,参数为{}"
,
JSONUtil
.
parse
(
param
));
log
.
info
(
"解冻预付运费、保证金账户出错,查询出冻结流水有问题,参数为{}"
,
JSONUtil
.
parse
(
param
));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/PaymentServiceImpl.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.config.MslAppConfig
;
import
com.clx.performance.config.MslPaymentConfig
;
import
com.clx.performance.constant.ActionConstants
;
import
com.clx.performance.dao.ThirdPartRequestLogDao
;
import
com.clx.performance.encryption.oldmsl.PayEncryptTools
;
import
com.clx.performance.encryption.oldmsl.PrivateKeyConfig
;
import
com.clx.performance.encryption.oldmsl.SystemCodeEnum
;
import
com.clx.performance.enums.PayUnitTypeEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.ThirdRequestTypeEnum
;
import
com.clx.performance.service.PaymentService
;
import
com.clx.performance.model.ThirdPartRequestLog
;
import
com.clx.performance.param.pc.payment.PayParam
;
import
com.clx.performance.param.pc.payment.PayUnitDTO
;
import
com.clx.performance.param.pc.payment.PayUserDTO
;
import
com.clx.performance.service.ThirdPartRequestLogService
;
import
com.msl.common.dto.HttpDTO
;
import
com.msl.common.enums.ResultCodeEnum
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.EncryptUtil
;
import
com.msl.common.utils.HttpUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.security.GeneralSecurityException
;
import
java.util.UUID
;
import
static
com
.
clx
.
performance
.
enums
.
HttpEnum
.
PERFORMANCE_PAY_CLX_PAYMENT
;
@Service
@Slf4j
@AllArgsConstructor
public
class
PaymentServiceImpl
implements
PaymentService
{
public
static
final
String
TRANSPORT_USER
=
"13403503399"
;
public
static
final
String
TRANSPORT_KEY
=
"9Y1N5AUP8N2TI359"
;
/** 转账回调地址 **/
public
static
final
String
NOTIFY_URL
=
"/clx-performance/payment/notify/userPayNotify"
;
@Autowired
private
final
MslPaymentConfig
mslPaymentConfig
;
@Autowired
ThirdPartRequestLogDao
thirdPartRequestLogDao
;
@Autowired
ThirdPartRequestLogService
thirdPartRequestLogService
;
/**
* 钱包直接划账给钱包
*
* @param payDTO
* @return
*/
@Override
public
Result
paymentWallet
(
PayParam
payDTO
)
{
/** 构建支付单元 **/
PayUnitDTO
payUnitDTO
=
PayUnitDTO
.
builder
()
.
id
(
payDTO
.
getTradeId
().
toString
())
.
from
(
payDTO
.
getFrom
())
.
to
(
payDTO
.
getTo
())
.
figure
(
payDTO
.
getFigure
())
.
type
(
PayUnitTypeEnum
.
RESIDUE_PAY
.
getCode
())
.
timestamp
(
System
.
currentTimeMillis
()
/
1000
)
.
remark
(
payDTO
.
getRemark
()).
build
();
/** 生成签名**/
PayEncryptTools
.
sign
(
payUnitDTO
,
PrivateKeyConfig
.
privateKeyByte
);
/** 构建支付支付 ***/
PayUserDTO
payUserDTO
=
PayUserDTO
.
builder
()
.
pwd
(
payDTO
.
getPwd
())
.
system
(
SystemCodeEnum
.
PERFORMANCE_SERVICE
.
getCode
())
.
userCode
(
payDTO
.
getFrom
())
.
orderNo
(
payDTO
.
getTradeNo
())
.
uuid
(
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
))
.
notifyUrl
(
mslPaymentConfig
.
getNotifyhost
()
+
NOTIFY_URL
)
.
payUnitDTO
(
payUnitDTO
).
build
();
log
.
info
(
"发起支付请求日志 {}"
,
payUserDTO
);
Result
<
Object
>
notify
=
(
Result
<
Object
>)
postRequest
(
mslPaymentConfig
.
getHost
()+
PERFORMANCE_PAY_CLX_PAYMENT
.
getUrl
(),
JSON
.
toJSONString
(
payUserDTO
));
log
.
info
(
"支付返回日志 {}"
,
notify
);
if
(
notify
==
null
)
{
//FEGIN返回null
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"支付服务返回异常"
);
}
return
notify
;
}
/**
* post请求
*/
@Transactional
(
propagation
=
Propagation
.
NOT_SUPPORTED
)
public
Result
<?>
postRequest
(
String
requestUrl
,
String
param
)
{
ThirdPartRequestLog
log
=
ThirdPartRequestLog
.
builder
()
.
requestId
(
UUID
.
randomUUID
().
toString
())
//应用编号 10000 默认诚联信
.
appNo
(
Long
.
valueOf
(
10000
))
.
requestType
(
ThirdRequestTypeEnum
.
SEND
.
getCode
())
.
action
(
ActionConstants
.
CLX_PAYMENT_PAY
)
.
url
(
requestUrl
)
.
requestContent
(
param
)
//状态: 0-请求中,1-成功,2-失败
.
status
(
0
)
.
build
();
thirdPartRequestLogDao
.
saveEntity
(
log
);
return
encryptPost
(
requestUrl
,
param
,
log
.
getId
());
}
private
Result
<?>
encryptPost
(
String
url
,
String
param
,
Integer
httpLogId
)
{
try
{
return
HttpUtil
.
post
(
url
,
null
,
EncryptUtil
.
buildDTO
(
TRANSPORT_USER
,
param
,
TRANSPORT_KEY
,
System
.
currentTimeMillis
()))
.
map
(
r
->
JSON
.
parseObject
(
r
,
new
TypeReference
<
HttpDTO
>()
{
}))
.
peek
(
dto
->
log
.
info
(
"http请求返回------dto->{}"
,
dto
))
.
mapTry
(
dto
->
EncryptUtil
.
decrypt
(
dto
.
getData
(),
TRANSPORT_KEY
))
.
map
(
this
::
covertResult
)
.
peek
(
result
->
thirdPartRequestLogService
.
updateResult
(
httpLogId
,
result
))
.
filter
(
Result:
:
succeed
)
.
orElseThrow
();
}
catch
(
GeneralSecurityException
e
)
{
log
.
error
(
"解密失败"
,
e
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"http 请求异常"
);
}
}
private
<
T
>
Result
<?>
covertResult
(
String
result
)
{
return
JSON
.
parseObject
(
result
,
Result
.
class
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/TempServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -2,7 +2,10 @@ package com.clx.performance.service.impl;
...
@@ -2,7 +2,10 @@ package com.clx.performance.service.impl;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao
;
import
com.clx.performance.enums.BreakContractSettlementDriverEnum
;
import
com.clx.performance.enums.BreakContractSettlementDriverEnum
;
import
com.clx.performance.enums.PayRemarkEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.param.pc.payment.PayParam
;
import
com.clx.performance.service.PaymentService
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.service.TempService
;
import
com.clx.performance.service.TempService
;
import
com.clx.performance.service.settle.SettlementService
;
import
com.clx.performance.service.settle.SettlementService
;
...
@@ -10,6 +13,8 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -10,6 +13,8 @@ import lombok.extern.slf4j.Slf4j;
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.UUID
;
@Slf4j
@Slf4j
@Service
@Service
public
class
TempServiceImpl
implements
TempService
{
public
class
TempServiceImpl
implements
TempService
{
...
@@ -19,7 +24,8 @@ public class TempServiceImpl implements TempService {
...
@@ -19,7 +24,8 @@ public class TempServiceImpl implements TempService {
@Autowired
@Autowired
private
BreakContractSettlementDriverDao
breakContractSettlementDriverDao
;
private
BreakContractSettlementDriverDao
breakContractSettlementDriverDao
;
@Autowired
private
PaymentService
paymentService
;
@Override
@Override
public
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
public
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
...
@@ -33,4 +39,20 @@ public class TempServiceImpl implements TempService {
...
@@ -33,4 +39,20 @@ public class TempServiceImpl implements TempService {
settlement
.
setSettleStatus
(
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
());
settlement
.
setSettleStatus
(
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
());
}
}
@Override
public
void
paymentTest
(
String
fromUser
,
String
toUser
,
String
figure
)
{
PayParam
noCheckPwd
=
PayParam
.
builder
().
from
(
Integer
.
valueOf
(
fromUser
))
.
to
(
Integer
.
valueOf
(
toUser
))
.
figure
(
Integer
.
valueOf
(
figure
))
.
tradeNo
(
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
))
.
tradeId
(
12345
)
.
pwd
(
"noCheckPwd"
)
.
remark
(
PayRemarkEnum
.
toString
(
PayRemarkEnum
.
FREIGHT_TO_OWNER
.
getValue
()))
.
build
();
paymentService
.
paymentWallet
(
noCheckPwd
);
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/ThirdPartRequestLogServiceImpl.java
0 → 100644
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.performance.dao.ThirdPartRequestLogDao
;
import
com.clx.performance.enums.ThirdRequestStatusEnum
;
import
com.clx.performance.model.ThirdPartRequestLog
;
import
com.clx.performance.service.ThirdPartRequestLogService
;
import
com.msl.common.base.Optional
;
import
com.msl.common.result.Result
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Service
@Slf4j
public
class
ThirdPartRequestLogServiceImpl
implements
ThirdPartRequestLogService
{
@Autowired
ThirdPartRequestLogDao
thirdPartRequestLogDao
;
@Override
public
void
save
(
ThirdPartRequestLog
log
)
{
thirdPartRequestLogDao
.
saveEntity
(
log
);
}
@Override
public
void
updateResult
(
Integer
logId
,
Result
<?>
result
)
{
thirdPartRequestLogDao
.
updateEntityByKey
(
new
ThirdPartRequestLog
()
.
setId
(
logId
)
.
setResponseContent
(
JSON
.
toJSONString
(
result
))
.
setStatusCode
(
result
.
getCode
())
.
setStatus
(
result
.
succeed
()
?
ThirdRequestStatusEnum
.
SUCCESS
.
getCode
()
:
ThirdRequestStatusEnum
.
FAIL
.
getCode
()));
}
/**
* 修改重试次数
*
* @param logId
* @param retryTimes
*/
@Override
public
void
updateLogRetryTimes
(
Integer
logId
,
Integer
retryTimes
)
{
thirdPartRequestLogDao
.
updateLogRetryTimes
(
logId
,
retryTimes
);
}
/**
* 根据id 查询
*
* @param id
*/
@Override
public
Optional
<
ThirdPartRequestLog
>
getById
(
Integer
id
)
{
return
thirdPartRequestLogDao
.
getEntityByKey
(
id
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractDriverRecordServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -246,7 +246,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
...
@@ -246,7 +246,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
* 费用计算 (运单取消)
* 费用计算 (运单取消)
*/
*/
private
BigDecimal
orderChildCancelFigureCalc
(
OrderChild
orderChild
,
BreakContractDriverRuleVO
rule
){
private
BigDecimal
orderChildCancelFigureCalc
(
OrderChild
orderChild
,
BreakContractDriverRuleVO
rule
){
long
time
=
com
.
clx
.
performance
.
utils
.
LocalDateTimeUtils
.
betweenSecond
(
orderChild
.
get
CancelTime
(),
orderChild
.
getPay
Time
());
long
time
=
com
.
clx
.
performance
.
utils
.
LocalDateTimeUtils
.
betweenSecond
(
orderChild
.
get
PayTime
(),
orderChild
.
getCancel
Time
());
long
baseTime
=
rule
.
getDriverCancelRule
().
getBaseTime
().
multiply
(
BigDecimal
.
valueOf
(
3600
)).
setScale
(
0
,
RoundingMode
.
HALF_UP
).
longValue
();
long
baseTime
=
rule
.
getDriverCancelRule
().
getBaseTime
().
multiply
(
BigDecimal
.
valueOf
(
3600
)).
setScale
(
0
,
RoundingMode
.
HALF_UP
).
longValue
();
if
(
time
<
baseTime
)
{
if
(
time
<
baseTime
)
{
...
@@ -254,7 +254,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
...
@@ -254,7 +254,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
}
}
else
{
else
{
BigDecimal
money
=
rule
.
getDriverCancelRule
().
getBaseFigure
();
BigDecimal
money
=
rule
.
getDriverCancelRule
().
getBaseFigure
();
money
=
money
.
add
(
BigDecimal
.
valueOf
(
time
-
baseTime
).
divide
(
BigDecimal
.
valueOf
(
1800
),
0
,
RoundingMode
.
UP
).
multiply
(
rule
.
getDriverCancelRule
().
get
BaseFigure
()));
money
=
money
.
add
(
BigDecimal
.
valueOf
(
time
-
baseTime
).
divide
(
BigDecimal
.
valueOf
(
1800
),
0
,
RoundingMode
.
UP
).
multiply
(
rule
.
getDriverCancelRule
().
get
FigurePerHour
()));
return
money
.
movePointRight
(
2
);
return
money
.
movePointRight
(
2
);
}
}
}
}
...
@@ -263,9 +263,9 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
...
@@ -263,9 +263,9 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
* 费用计算 (到达货源地超时)
* 费用计算 (到达货源地超时)
*/
*/
private
BigDecimal
arriveSendAddressFigureCalc
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
BreakContractDriverRuleVO
rule
){
private
BigDecimal
arriveSendAddressFigureCalc
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
BreakContractDriverRuleVO
rule
){
long
time
=
com
.
clx
.
performance
.
utils
.
LocalDateTimeUtils
.
betweenSecond
(
order
Child
.
getArriveSendTime
(),
orderGoods
.
getLas
tArriveSendTime
());
long
time
=
com
.
clx
.
performance
.
utils
.
LocalDateTimeUtils
.
betweenSecond
(
order
Goods
.
getLastArriveSendTime
(),
orderChild
.
ge
tArriveSendTime
());
BigDecimal
money
=
BigDecimal
.
valueOf
(
time
).
divide
(
BigDecimal
.
valueOf
(
3600
),
0
,
RoundingMode
.
HALF_UP
).
multiply
(
rule
.
getSendAddressRule
().
getFigurePerHour
()
);
BigDecimal
money
=
BigDecimal
.
valueOf
(
time
).
divide
(
BigDecimal
.
valueOf
(
3600
),
2
,
RoundingMode
.
HALF_UP
).
multiply
(
rule
.
getSendAddressRule
().
getFigurePerHour
()).
setScale
(
2
,
RoundingMode
.
HALF_UP
);
return
money
.
movePointRight
(
2
);
return
money
.
movePointRight
(
2
);
}
}
...
@@ -273,7 +273,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
...
@@ -273,7 +273,7 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
* 费用计算 (到达目的地超时)
* 费用计算 (到达目的地超时)
*/
*/
private
BigDecimal
arriveReceiveAddressFigureCalc
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
BreakContractDriverRuleVO
rule
){
private
BigDecimal
arriveReceiveAddressFigureCalc
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
BreakContractDriverRuleVO
rule
){
long
time
=
com
.
clx
.
performance
.
utils
.
LocalDateTimeUtils
.
betweenSecond
(
order
Child
.
getArriveReceiveTime
(),
orderGoods
.
getLas
tArriveReceiveTime
());
long
time
=
com
.
clx
.
performance
.
utils
.
LocalDateTimeUtils
.
betweenSecond
(
order
Goods
.
getLastArriveReceiveTime
(),
orderChild
.
ge
tArriveReceiveTime
());
BigDecimal
money
=
BigDecimal
.
valueOf
(
time
).
divide
(
BigDecimal
.
valueOf
(
3600
),
0
,
RoundingMode
.
UP
).
multiply
(
rule
.
getReceiveAddressRule
().
getFigurePerHour
()).
multiply
(
orderChild
.
getWeight
()).
setScale
(
2
,
RoundingMode
.
HALF_UP
);
BigDecimal
money
=
BigDecimal
.
valueOf
(
time
).
divide
(
BigDecimal
.
valueOf
(
3600
),
0
,
RoundingMode
.
UP
).
multiply
(
rule
.
getReceiveAddressRule
().
getFigurePerHour
()).
multiply
(
orderChild
.
getWeight
()).
setScale
(
2
,
RoundingMode
.
HALF_UP
);
return
money
.
movePointRight
(
2
);
return
money
.
movePointRight
(
2
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractOwnerRuleServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -55,10 +55,11 @@ public class BreakContractOwnerRuleServiceImpl implements BreakContractOwnerRul
...
@@ -55,10 +55,11 @@ public class BreakContractOwnerRuleServiceImpl implements BreakContractOwnerRul
autoRule
.
setOrderCancelRule
(
new
BreakContractOwnerRuleVO
.
OrderCancelRule
());
autoRule
.
setOrderCancelRule
(
new
BreakContractOwnerRuleVO
.
OrderCancelRule
());
autoRule
.
setOrderAmountReduceRule
(
new
BreakContractOwnerRuleVO
.
OrderAmountReduceRule
());
autoRule
.
setOrderAmountReduceRule
(
new
BreakContractOwnerRuleVO
.
OrderAmountReduceRule
());
autoRule
.
getOrderAmountReduceRule
().
setRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-a"
)).
movePointLeft
(
2
));
autoRule
.
getOrderAmountReduceRule
().
setBeforeRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-a"
)).
movePointLeft
(
2
));
autoRule
.
getOrderCancelRule
().
setBeforeRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-b"
)).
movePointLeft
(
2
));
autoRule
.
getOrderAmountReduceRule
().
setAfterRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-b"
)).
movePointLeft
(
2
));
autoRule
.
getOrderCancelRule
().
setAfterRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-c"
)).
movePointLeft
(
2
));
autoRule
.
getOrderCancelRule
().
setBeforeRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-c"
)).
movePointLeft
(
2
));
autoRule
.
getOrderCancelRule
().
setAfterFigurePerHour
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-d"
)).
movePointLeft
(
2
));
autoRule
.
getOrderCancelRule
().
setAfterRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-d"
)).
movePointLeft
(
2
));
autoRule
.
getOrderCancelRule
().
setAfterFigurePerHour
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-e"
)).
movePointLeft
(
2
));
rule
.
setAutoRuleJson
(
JSON
.
toJSONString
(
autoRule
));
rule
.
setAutoRuleJson
(
JSON
.
toJSONString
(
autoRule
));
breakContractOwnerRuleDao
.
saveEntity
(
rule
);
breakContractOwnerRuleDao
.
saveEntity
(
rule
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractSettlementOwnerServiceImpl.java
浏览文件 @
8090bfdb
...
@@ -9,6 +9,7 @@ import com.clx.order.feign.OrderFeign;
...
@@ -9,6 +9,7 @@ import com.clx.order.feign.OrderFeign;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.pc.owner.OwnerQuotationDetailVO
;
import
com.clx.order.vo.pc.owner.OwnerQuotationDetailVO
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao
;
import
com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao
;
import
com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao
;
import
com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementLogDao
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementLogDao
;
...
@@ -17,6 +18,7 @@ import com.clx.performance.dao.settle.SettlementPlatformAccountDao;
...
@@ -17,6 +18,7 @@ import com.clx.performance.dao.settle.SettlementPlatformAccountDao;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.extranal.order.QuotationService
;
import
com.clx.performance.extranal.order.QuotationService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.breakcontract.BreakContractOwnerRecord
;
import
com.clx.performance.model.breakcontract.BreakContractOwnerRecord
;
import
com.clx.performance.model.breakcontract.BreakContractOwnerRule
;
import
com.clx.performance.model.breakcontract.BreakContractOwnerRule
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementLog
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementLog
;
...
@@ -80,6 +82,8 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -80,6 +82,8 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
private
final
QuotationService
quotationService
;
private
final
QuotationService
quotationService
;
private
final
BreakContractOwnerRecordService
breakContractOwnerRecordService
;
private
final
BreakContractOwnerRecordService
breakContractOwnerRecordService
;
private
final
BreakContractOwnerRecordDao
breakContractOwnerRecordDao
;
private
final
BreakContractOwnerRecordDao
breakContractOwnerRecordDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
...
@@ -271,6 +275,12 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -271,6 +275,12 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
param
.
setStatus
(
BreakContractSettlementOwnerEnum
.
Status
.
PLATFORM_CONFIRMED_OWNER_PAYMENT
.
getCode
());
param
.
setStatus
(
BreakContractSettlementOwnerEnum
.
Status
.
PLATFORM_CONFIRMED_OWNER_PAYMENT
.
getCode
());
breakContractSettlementOwnerDao
.
saveCarrierBreakContractPayee
(
param
);
breakContractSettlementOwnerDao
.
saveCarrierBreakContractPayee
(
param
);
BreakContractOwnerRecord
record
=
new
BreakContractOwnerRecord
();
record
.
setSettlementNo
(
settlementOwner
.
getSettlementNo
());
record
.
setPayStatus
(
BreakContractOwnerRecordEnum
.
PayStatus
.
YES
.
getCode
());
record
.
setPayTime
(
LocalDateTime
.
now
());
breakContractOwnerRecordDao
.
uploadPayTime
(
record
);
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
//保存结算单日志----货主付款
//保存结算单日志----货主付款
breakContractSettlementLogService
.
saveBreakSettlementLog
(
settlementOwner
.
getSettlementNo
(),
breakContractSettlementLogService
.
saveBreakSettlementLog
(
settlementOwner
.
getSettlementNo
(),
...
@@ -308,6 +318,16 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -308,6 +318,16 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
return
;
return
;
}
}
//违约金方案
BreakContractOwnerRule
ownerRule
=
breakContractOwnerRuleDao
.
getEntityByKey
(
param
.
getLiquidatedDamagesPlanId
())
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
ownerRule
.
getStatus
(),
2
)){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
BREAK_CONTRACT_RULE_NO_FOUND
);
}
String
autoRuleJson
=
ownerRule
.
getAutoRuleJson
();
//系统自动违规
BreakContractOwnerRuleVO
.
AutoRule
autoRule
=
JSONObject
.
parseObject
(
autoRuleJson
,
BreakContractOwnerRuleVO
.
AutoRule
.
class
);
BreakContractOwnerRuleVO
.
OrderAmountReduceRule
reduceRule
=
autoRule
.
getOrderAmountReduceRule
();
//订单吨数减少规则
//运单状态(不包括取消)
//运单状态(不包括取消)
List
<
Integer
>
statusList
=
Arrays
.
asList
(
List
<
Integer
>
statusList
=
Arrays
.
asList
(
new
Integer
[]{
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
(),
new
Integer
[]{
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
(),
...
@@ -316,15 +336,29 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -316,15 +336,29 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
(),
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
()});
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
()});
BigDecimal
totalFreight
;
//总费用
BigDecimal
figure
;
//总费用
//订单号查询货单
List
<
OrderGoods
>
orderGoods
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
param
.
getOrderNo
());
if
(
CollectionUtils
.
isEmpty
(
orderGoods
)){
BigDecimal
totalFreight
=
param
.
getTransportWeight
().
multiply
(
param
.
getValidFreightPrice
());
figure
=
totalFreight
.
multiply
(
reduceRule
.
getBeforeRatio
()).
multiply
(
param
.
getWeight
())
.
divide
(
param
.
getTransportWeight
(),
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
List
<
OrderChild
>
orderChilds
=
orderChildDao
.
listOrderChildByOrderNoAndStatus
(
param
.
getOrderNo
(),
statusList
);
List
<
OrderChild
>
orderChilds
=
orderChildDao
.
listOrderChildByOrderNoAndStatus
(
param
.
getOrderNo
(),
statusList
);
if
(
CollectionUtils
.
isEmpty
(
orderChilds
)){
if
(
CollectionUtils
.
isEmpty
(
orderChilds
)){
totalFreight
=
param
.
getTransportWeight
().
multiply
(
param
.
getValidFreightPrice
());
BigDecimal
totalFreight
=
param
.
getTransportWeight
().
multiply
(
param
.
getValidFreightPrice
());
figure
=
totalFreight
.
multiply
(
reduceRule
.
getAfterRatio
()).
multiply
(
param
.
getWeight
())
.
divide
(
param
.
getTransportWeight
(),
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
}
else
{
BigDecimal
deliveredWeight
=
BigDecimal
.
ZERO
;
//已拉运的重量
BigDecimal
deliveredWeight
=
BigDecimal
.
ZERO
;
//已拉运的重量
BigDecimal
deliveredFreight
=
BigDecimal
.
ZERO
;
//已拉运的费用
BigDecimal
deliveredFreight
=
BigDecimal
.
ZERO
;
//已拉运的费用
for
(
OrderChild
orderChild
:
orderChilds
){
for
(
OrderChild
orderChild
:
orderChilds
){
if
(
orderChild
.
getLoadNet
()
!
=
null
){
if
(
orderChild
.
getLoadNet
()
=
=
null
){
deliveredWeight
=
deliveredWeight
.
add
(
orderChild
.
getWeight
())
;
deliveredWeight
=
deliveredWeight
.
add
(
orderChild
.
getWeight
())
;
deliveredFreight
=
deliveredFreight
.
add
(
orderChild
.
getOrderFreightPrice
().
multiply
(
orderChild
.
getWeight
()));
deliveredFreight
=
deliveredFreight
.
add
(
orderChild
.
getOrderFreightPrice
().
multiply
(
orderChild
.
getWeight
()));
}
else
{
}
else
{
...
@@ -335,25 +369,15 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -335,25 +369,15 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
}
}
BigDecimal
noTransitWeight
=
param
.
getTransportWeight
().
subtract
(
deliveredWeight
);
//未拉运的重量
BigDecimal
noTransitWeight
=
param
.
getTransportWeight
().
subtract
(
deliveredWeight
);
//未拉运的重量
BigDecimal
noTransitFreight
=
noTransitWeight
.
multiply
(
param
.
getValidFreightPrice
());
//未拉运的费用
BigDecimal
noTransitFreight
=
noTransitWeight
.
multiply
(
param
.
getValidFreightPrice
());
//未拉运的费用
totalFreight
=
deliveredFreight
.
add
(
noTransitFreight
);
BigDecimal
totalFreight
=
deliveredFreight
.
add
(
noTransitFreight
);
figure
=
totalFreight
.
multiply
(
reduceRule
.
getAfterRatio
()).
multiply
(
param
.
getWeight
())
.
divide
(
param
.
getTransportWeight
(),
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
//违约金方案
BreakContractOwnerRule
ownerRule
=
breakContractOwnerRuleDao
.
getEntityByKey
(
param
.
getLiquidatedDamagesPlanId
())
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
ownerRule
.
getStatus
(),
2
)){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
BREAK_CONTRACT_RULE_NO_FOUND
);
}
}
String
autoRuleJson
=
ownerRule
.
getAutoRuleJson
();
//系统自动违规
BreakContractOwnerRuleVO
.
AutoRule
autoRule
=
JSONObject
.
parseObject
(
autoRuleJson
,
BreakContractOwnerRuleVO
.
AutoRule
.
class
);
BreakContractOwnerRuleVO
.
OrderAmountReduceRule
reduceRule
=
autoRule
.
getOrderAmountReduceRule
();
//订单吨数减少规则
BigDecimal
ratio
=
reduceRule
.
getRatio
();
//比例
//组装参数 生成违约记录 违约计费 违约结算单
//组装参数 生成违约记录 违约计费 违约结算单
BreakContractOwnerRecordAddParam
ownerRecordAddParam
=
new
BreakContractOwnerRecordAddParam
();
BreakContractOwnerRecordAddParam
ownerRecordAddParam
=
new
BreakContractOwnerRecordAddParam
();
ownerRecordAddParam
.
setBreakContractPartyType
(
BreakContractRecordEnum
.
BreakContractPartyType
.
OWNER
.
getCode
());
ownerRecordAddParam
.
setBreakContractPartyType
(
BreakContractRecordEnum
.
BreakContractPartyType
.
OWNER
.
getCode
());
BigDecimal
figure
=
totalFreight
.
multiply
(
ratio
).
multiply
(
param
.
getWeight
())
.
divide
(
param
.
getTransportWeight
(),
2
,
BigDecimal
.
ROUND_HALF_UP
);
ownerRecordAddParam
.
setFigure
(
figure
);
ownerRecordAddParam
.
setFigure
(
figure
);
ownerRecordAddParam
.
setOrderNo
(
param
.
getOrderNo
());
ownerRecordAddParam
.
setOrderNo
(
param
.
getOrderNo
());
ownerRecordAddParam
.
setRemark
(
"下调吨数产生违约"
);
ownerRecordAddParam
.
setRemark
(
"下调吨数产生违约"
);
...
@@ -383,13 +407,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -383,13 +407,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
}
}
@Override
@Override
public
void
saveSettlementOwnerForCancelOrder
(
String
orderNo
)
{
public
void
saveSettlementOwnerForCancelOrder
(
BigDecimal
transportWeight
,
BigDecimal
validFreightPrice
,
String
orderNo
,
Integer
cancelType
)
{
//获取订单信息
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
if
(
Objects
.
isNull
(
orderInfoFeign
)){
log
.
info
(
"货主取消保存违约结算单获取订单数据为空"
);
return
;
}
//获取订单配置的违约金方案
//获取订单配置的违约金方案
OwnerQuotationDetailVO
quotationDetailVO
=
quotationService
.
getQuotationByOrderNo
(
orderNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OwnerQuotationDetailVO
quotationDetailVO
=
quotationService
.
getQuotationByOrderNo
(
orderNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
...
@@ -414,22 +432,30 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -414,22 +432,30 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
(),
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
()});
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
()});
BigDecimal
figure
;
//总费用
BigDecimal
figure
;
//总费用
//订单号查询货单
List
<
OrderGoods
>
orderGoods
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
if
(
CollectionUtils
.
isEmpty
(
orderGoods
)){
figure
=
transportWeight
.
multiply
(
validFreightPrice
).
multiply
(
orderCancelRule
.
getBeforeRatio
());
}
else
{
List
<
OrderChild
>
orderChilds
=
orderChildDao
.
listOrderChildByOrderNoAndStatus
(
orderNo
,
statusList
);
List
<
OrderChild
>
orderChilds
=
orderChildDao
.
listOrderChildByOrderNoAndStatus
(
orderNo
,
statusList
);
LocalDateTime
now
=
LocalDateTime
.
now
();
//当前时间
LocalDateTime
now
=
LocalDateTime
.
now
();
//当前时间
//没有司机拉运
//没有司机拉运
if
(
CollectionUtils
.
isEmpty
(
orderChilds
)){
if
(
CollectionUtils
.
isEmpty
(
orderChilds
)){
figure
=
orderInfoFeign
.
getTransportWeight
().
multiply
(
orderInfoFeign
.
getValidFreightPrice
()).
multiply
(
orderCancelRule
.
getBefore
Ratio
());
figure
=
transportWeight
.
multiply
(
validFreightPrice
).
multiply
(
orderCancelRule
.
getAfter
Ratio
());
}
else
{
}
else
{
BigDecimal
deliveredWeight
=
BigDecimal
.
ZERO
;
//已拉运的重量
BigDecimal
deliveredWeight
=
BigDecimal
.
ZERO
;
//已拉运的重量
BigDecimal
cancelWeight
=
BigDecimal
.
ZERO
;
//可取消的重量
BigDecimal
cancelWeight
=
BigDecimal
.
ZERO
;
//可取消的重量
BigDecimal
deliveredFreight
=
BigDecimal
.
ZERO
;
//已拉运的费用
BigDecimal
deliveredFreight
=
BigDecimal
.
ZERO
;
//已拉运的费用
BigDecimal
seconds
=
BigDecimal
.
ZERO
;
//总毫秒数
BigDecimal
seconds
=
BigDecimal
.
ZERO
;
//总毫秒数
for
(
OrderChild
orderChild
:
orderChilds
){
for
(
OrderChild
orderChild
:
orderChilds
){
if
(
orderChild
.
getLoadNet
()
!
=
null
){
if
(
orderChild
.
getLoadNet
()
=
=
null
){
deliveredWeight
=
deliveredWeight
.
add
(
orderChild
.
getWeight
())
;
deliveredWeight
=
deliveredWeight
.
add
(
orderChild
.
getWeight
())
;
deliveredFreight
=
deliveredFreight
.
add
(
orderChild
.
getOrderFreightPrice
().
multiply
(
orderChild
.
getWeight
()));
deliveredFreight
=
deliveredFreight
.
add
(
orderChild
.
getOrderFreightPrice
().
multiply
(
orderChild
.
getWeight
()));
}
else
{
}
else
{
...
@@ -445,15 +471,20 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
...
@@ -445,15 +471,20 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
}
}
}
}
BigDecimal
noTransitWeight
=
orderInfoFeign
.
getTransportWeight
()
.
subtract
(
deliveredWeight
);
//未拉运的重量
BigDecimal
noTransitWeight
=
transportWeight
.
subtract
(
deliveredWeight
);
//未拉运的重量
BigDecimal
noTransitFreight
=
noTransitWeight
.
multiply
(
orderInfoFeign
.
getValidFreightPrice
()
);
//未拉运的费用
BigDecimal
noTransitFreight
=
noTransitWeight
.
multiply
(
validFreightPrice
);
//未拉运的费用
BigDecimal
totalFreight
=
deliveredFreight
.
add
(
noTransitFreight
);
BigDecimal
totalFreight
=
deliveredFreight
.
add
(
noTransitFreight
);
BigDecimal
baseFigure
=
totalFreight
.
multiply
(
orderCancelRule
.
getAfterRatio
()).
multiply
(
cancelWeight
)
BigDecimal
baseFigure
=
totalFreight
.
multiply
(
orderCancelRule
.
getAfterRatio
()).
multiply
(
cancelWeight
)
.
divide
(
orderInfoFeign
.
getTransportWeight
(),
2
,
BigDecimal
.
ROUND_HALF_UP
);
.
divide
(
transportWeight
,
2
,
BigDecimal
.
ROUND_HALF_UP
);
BigDecimal
truckFigure
=
seconds
.
multiply
(
orderCancelRule
.
getAfterFigurePerHour
())
BigDecimal
truckFigure
=
BigDecimal
.
ZERO
;
.
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
Objects
.
equals
(
cancelType
,
CancelOrderEnum
.
Type
.
NOT_ARRIVE
)){
truckFigure
=
seconds
.
multiply
(
orderCancelRule
.
getAfterFigurePerHour
())
.
divide
(
new
BigDecimal
(
3600
),
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
figure
=
baseFigure
.
add
(
truckFigure
);
figure
=
baseFigure
.
add
(
truckFigure
);
}
}
}
//组装参数 生成违约记录 违约计费 违约结算单
//组装参数 生成违约记录 违约计费 违约结算单
BreakContractOwnerRecordAddParam
ownerRecordAddParam
=
new
BreakContractOwnerRecordAddParam
();
BreakContractOwnerRecordAddParam
ownerRecordAddParam
=
new
BreakContractOwnerRecordAddParam
();
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
8090bfdb
...
@@ -126,10 +126,10 @@ public class OrderChildSqlProvider {
...
@@ -126,10 +126,10 @@ public class OrderChildSqlProvider {
}
}
public
String
batchUpdateOrderChildStatus
(
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"ids"
)
List
<
Integer
>
ids
){
public
String
batchUpdateOrderChildStatus
(
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"remark"
)
String
remark
,
@Param
(
value
=
"ids"
)
List
<
Integer
>
ids
){
StringBuffer
sqlList
=
new
StringBuffer
();
StringBuffer
sqlList
=
new
StringBuffer
();
sqlList
.
append
(
"update order_child set status = "
+
status
+
" where id in ("
);
sqlList
.
append
(
"update order_child set
cancel_remark = '"
+
remark
+
"' ,
status = "
+
status
+
" where id in ("
);
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
Integer
id
=
ids
.
get
(
i
);
Integer
id
=
ids
.
get
(
i
);
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
浏览文件 @
8090bfdb
...
@@ -36,7 +36,7 @@ public class OrderGoodsSqlProvider {
...
@@ -36,7 +36,7 @@ public class OrderGoodsSqlProvider {
" date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time,"
+
" date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time,"
+
" date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modified_time,"
+
" date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modified_time,"
+
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name,a.pending_order_freight,"
+
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name,a.pending_order_freight,"
+
"a.user_no,a.user_name,a.stop_flag,a.batch_number,a.last_arrive_receive_time,a.last_load_time,a.last_order_time"
);
"a.user_no,a.user_name,a.stop_flag,a.batch_number,a.last_arrive_receive_time,a.last_load_time,a.last_order_time
,a.vehicle_usage
"
);
FROM
(
"order_goods a"
);
FROM
(
"order_goods a"
);
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
())
&&
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
())
&&
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
...
@@ -149,7 +149,7 @@ public class OrderGoodsSqlProvider {
...
@@ -149,7 +149,7 @@ public class OrderGoodsSqlProvider {
"need_truck_num,vehicle_usage,pending_order_way,pending_order_time,pending_order_freight,last_arrive_send_time,senior_logistics_manager_id,"
+
"need_truck_num,vehicle_usage,pending_order_way,pending_order_time,pending_order_freight,last_arrive_send_time,senior_logistics_manager_id,"
+
"senior_logistics_manager_name,order_no,order_goods_no,order_goods_status,send_address_id,send_address_shorter,send_longitude,"
+
"senior_logistics_manager_name,order_no,order_goods_no,order_goods_status,send_address_id,send_address_shorter,send_longitude,"
+
"send_latitude,receive_latitude,receive_longitude,receive_address_id,receive_address_shorter,goods_name,goods_id,create_time,modified_time,"
+
"send_latitude,receive_latitude,receive_longitude,receive_address_id,receive_address_shorter,goods_name,goods_id,create_time,modified_time,"
+
"user_name,user_no,batch_number,last_arrive_receive_time,last_load_time,last_order_time) VALUES "
);
"user_name,user_no,batch_number,last_arrive_receive_time,last_load_time,last_order_time
,settlement_account_period
) VALUES "
);
for
(
int
i
=
0
;
i
<
orderGoodsList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
orderGoodsList
.
size
();
i
++)
{
OrderGoods
o
=
orderGoodsList
.
get
(
i
);
OrderGoods
o
=
orderGoodsList
.
get
(
i
);
...
@@ -164,7 +164,7 @@ public class OrderGoodsSqlProvider {
...
@@ -164,7 +164,7 @@ public class OrderGoodsSqlProvider {
.
append
(
o
.
getReceiveAddressId
()).
append
(
"','"
).
append
(
o
.
getReceiveAddressShorter
()).
append
(
"','"
).
append
(
o
.
getGoodsName
()).
append
(
"','"
)
.
append
(
o
.
getReceiveAddressId
()).
append
(
"','"
).
append
(
o
.
getReceiveAddressShorter
()).
append
(
"','"
).
append
(
o
.
getGoodsName
()).
append
(
"','"
)
.
append
(
o
.
getGoodsId
()).
append
(
"','"
).
append
(
o
.
getCreateTime
()).
append
(
"','"
).
append
(
o
.
getModifiedTime
()).
append
(
"','"
).
append
(
o
.
getUserName
()).
append
(
"','"
)
.
append
(
o
.
getGoodsId
()).
append
(
"','"
).
append
(
o
.
getCreateTime
()).
append
(
"','"
).
append
(
o
.
getModifiedTime
()).
append
(
"','"
).
append
(
o
.
getUserName
()).
append
(
"','"
)
.
append
(
o
.
getUserNo
()).
append
(
"','"
).
append
(
o
.
getBatchNumber
()).
append
(
"','"
).
append
(
o
.
getLastArriveReceiveTime
()).
append
(
"','"
)
.
append
(
o
.
getUserNo
()).
append
(
"','"
).
append
(
o
.
getBatchNumber
()).
append
(
"','"
).
append
(
o
.
getLastArriveReceiveTime
()).
append
(
"','"
)
.
append
(
o
.
getLastLoadTime
()).
append
(
"','"
).
append
(
o
.
getLastOrderTime
())
.
append
(
o
.
getLastLoadTime
()).
append
(
"','"
).
append
(
o
.
getLastOrderTime
())
.
append
(
"','"
).
append
(
o
.
getSettlementAccountPeriod
())
.
append
(
"')"
);
.
append
(
"')"
);
if
(
i
<
orderGoodsList
.
size
()
-
1
)
{
if
(
i
<
orderGoodsList
.
size
()
-
1
)
{
...
@@ -177,7 +177,7 @@ public class OrderGoodsSqlProvider {
...
@@ -177,7 +177,7 @@ public class OrderGoodsSqlProvider {
public
String
updateOrderGoodsSetAlreadyWeight
(
@Param
(
value
=
"alreadyWeight"
)
BigDecimal
alreadyWeight
,
@Param
(
value
=
"id"
)
Integer
id
){
public
String
updateOrderGoodsSetAlreadyWeight
(
@Param
(
value
=
"alreadyWeight"
)
BigDecimal
alreadyWeight
,
@Param
(
value
=
"id"
)
Integer
id
){
String
sql
=
new
SQL
()
{{
String
sql
=
new
SQL
()
{{
UPDATE
(
"order_goods"
)
UPDATE
(
"order_goods"
)
.
SET
(
"already_transport_weight = already_transport_weight - #{
residue
Weight}"
)
.
SET
(
"already_transport_weight = already_transport_weight - #{
already
Weight}"
)
.
WHERE
(
"id = #{id}"
);
.
WHERE
(
"id = #{id}"
);
}}.
toString
();
}}.
toString
();
...
@@ -237,7 +237,6 @@ public class OrderGoodsSqlProvider {
...
@@ -237,7 +237,6 @@ public class OrderGoodsSqlProvider {
.
SET
(
"pending_order_freight = #{params.pendingOrderFreight}"
)
.
SET
(
"pending_order_freight = #{params.pendingOrderFreight}"
)
.
SET
(
"user_no = #{params.userNo}"
)
.
SET
(
"user_no = #{params.userNo}"
)
.
SET
(
"user_name = #{params.userName}"
)
.
SET
(
"user_name = #{params.userName}"
)
.
SET
(
"batch_number = #{params.batchNumber}"
)
.
WHERE
(
"id = #{params.id}"
);
.
WHERE
(
"id = #{params.id}"
);
}}.
toString
();
}}.
toString
();
...
@@ -247,9 +246,9 @@ public class OrderGoodsSqlProvider {
...
@@ -247,9 +246,9 @@ public class OrderGoodsSqlProvider {
public
String
updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus
(
@Param
(
value
=
"residueWeight"
)
BigDecimal
residueWeight
,
@Param
(
value
=
"alreadyWeight"
)
BigDecimal
alreadyWeight
,
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"id"
)
Integer
id
){
public
String
updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus
(
@Param
(
value
=
"residueWeight"
)
BigDecimal
residueWeight
,
@Param
(
value
=
"alreadyWeight"
)
BigDecimal
alreadyWeight
,
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"id"
)
Integer
id
){
String
sql
=
new
SQL
()
{{
String
sql
=
new
SQL
()
{{
UPDATE
(
"order_goods"
)
UPDATE
(
"order_goods"
)
.
SET
(
"residue_transport_weight = residue_transport_weight
-
#{residueWeight}"
)
.
SET
(
"residue_transport_weight = residue_transport_weight
+
#{residueWeight}"
)
.
SET
(
"already_transport_weight = already_transport_weight - #{alreadyWeight}"
)
.
SET
(
"already_transport_weight = already_transport_weight - #{alreadyWeight}"
)
.
SET
(
"status = #{status}"
)
.
SET
(
"
order_goods_
status = #{status}"
)
.
WHERE
(
"id = #{id}"
);
.
WHERE
(
"id = #{id}"
);
...
@@ -257,4 +256,25 @@ public class OrderGoodsSqlProvider {
...
@@ -257,4 +256,25 @@ public class OrderGoodsSqlProvider {
return
sql
;
return
sql
;
}
}
public
String
getCancelOrderGoods
(
@Param
(
"param"
)
PageOrderGoodsListParam
param
)
{
String
sql
=
" select a.id, a.order_no,"
+
" a.order_goods_no, a.order_goods_status, a.extract_weight, "
+
" if(a.residue_transport_weight < 0, '0', a.residue_transport_weight) as residue_transport_weight ,a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude,"
+
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude,"
+
"a.goods_id, a.goods_name, a.pending_order_way,"
+
" date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time ,"
+
" date_format(a.last_arrive_send_time, '%Y-%m-%d %H:%i:%s') as last_arrive_send_time ,"
+
" date_format(a.pending_order_time, '%Y-%m-%d %H:%i:%s') as pending_order_time,"
+
" date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time,"
+
" date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modified_time,"
+
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name,a.pending_order_freight,"
+
"a.user_no,a.user_name,a.stop_flag,a.batch_number,a.last_arrive_receive_time,a.last_load_time,a.last_order_time,a.vehicle_usage,ab.truck_no as truckNo"
+
"from order_goods a left join order_goods_truck_bind ab on ab.order_goods_no = a.order_goods_no"
;
return
sql
;
}
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsTruckBindSqlProvider.java
浏览文件 @
8090bfdb
package
com
.
clx
.
performance
.
sqlProvider
;
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
...
@@ -14,7 +15,7 @@ public class OrderGoodsTruckBindSqlProvider {
...
@@ -14,7 +15,7 @@ public class OrderGoodsTruckBindSqlProvider {
for
(
int
i
=
0
;
i
<
trackList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
trackList
.
size
();
i
++)
{
String
truckNo
=
trackList
.
get
(
i
);
String
truckNo
=
trackList
.
get
(
i
);
sqlList
.
append
(
" ('"
).
append
(
orderNo
).
append
(
"','"
).
append
(
orderGoodsNo
).
append
(
"','"
).
append
(
truckNo
).
append
(
"','"
)
sqlList
.
append
(
" ('"
).
append
(
orderNo
).
append
(
"','"
).
append
(
orderGoodsNo
).
append
(
"','"
).
append
(
truckNo
).
append
(
"','"
)
.
append
(
now
).
append
(
"','"
).
append
(
now
).
append
(
"','"
).
append
(
OrderGoodsTruckBind
.
Status
.
NORMAL
.
getCode
())
.
append
(
now
).
append
(
"','"
).
append
(
now
).
append
(
"','"
).
append
(
OrderGoodsTruckBind
Enum
.
Status
.
NORMAL
.
getCode
())
.
append
(
"')"
);
.
append
(
"')"
);
if
(
i
<
trackList
.
size
()
-
1
)
{
if
(
i
<
trackList
.
size
()
-
1
)
{
sqlList
.
append
(
","
);
sqlList
.
append
(
","
);
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/OneGoodsOrderStrategy.java
浏览文件 @
8090bfdb
...
@@ -214,9 +214,9 @@ public class OneGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
...
@@ -214,9 +214,9 @@ public class OneGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
log
.
info
(
"货单更改挂单中,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中发送延迟消息,因为挂单时间大于当前时间{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中发送延迟消息,因为挂单时间大于当前时间{}"
,
epochMilli
);
message
.
getMessageProperties
().
set
Expiration
(
String
.
valueOf
(
epochMilli
)
);
message
.
getMessageProperties
().
set
Header
(
"x-delay"
,
epochMilli
);
rabbitTemplate
.
send
(
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_GOODS_ON_
EXCHANGE
,
RabbitKeyConstants
.
ORDER_GOODS_ON
_ROUTE_KEY
,
message
RabbitKeyConstants
.
ORDER_GOODS_ON_
DEAD_EXCHANGE
,
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD
_ROUTE_KEY
,
message
);
);
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
浏览文件 @
8090bfdb
...
@@ -229,9 +229,9 @@ public class ThreeGoodsOrderStrategy extends GoodsOrderStrategy implements Initi
...
@@ -229,9 +229,9 @@ public class ThreeGoodsOrderStrategy extends GoodsOrderStrategy implements Initi
log
.
info
(
"货单更改挂单中,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中发送延迟消息,因为挂单时间大于当前时间{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中发送延迟消息,因为挂单时间大于当前时间{}"
,
epochMilli
);
message
.
getMessageProperties
().
set
Expiration
(
String
.
valueOf
(
epochMilli
)
);
message
.
getMessageProperties
().
set
Header
(
"x-delay"
,
epochMilli
);
rabbitTemplate
.
send
(
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_GOODS_ON_
EXCHANGE
,
RabbitKeyConstants
.
ORDER_GOODS_ON
_ROUTE_KEY
,
message
RabbitKeyConstants
.
ORDER_GOODS_ON_
DEAD_EXCHANGE
,
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD
_ROUTE_KEY
,
message
);
);
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
浏览文件 @
8090bfdb
...
@@ -247,9 +247,9 @@ public class TwoGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
...
@@ -247,9 +247,9 @@ public class TwoGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
log
.
info
(
"货单更改挂单中,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中发送延迟消息,因为挂单时间大于当前时间{}"
,
epochMilli
);
log
.
info
(
"货单更改挂单中发送延迟消息,因为挂单时间大于当前时间{}"
,
epochMilli
);
message
.
getMessageProperties
().
set
Expiration
(
String
.
valueOf
(
epochMilli
)
);
message
.
getMessageProperties
().
set
Header
(
"x-delay"
,
epochMilli
);
rabbitTemplate
.
send
(
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_GOODS_ON_
EXCHANGE
,
RabbitKeyConstants
.
ORDER_GOODS_ON
_ROUTE_KEY
,
message
RabbitKeyConstants
.
ORDER_GOODS_ON_
DEAD_EXCHANGE
,
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD
_ROUTE_KEY
,
message
);
);
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/utils/gd/GdService.java
浏览文件 @
8090bfdb
...
@@ -46,7 +46,7 @@ public class GdService {
...
@@ -46,7 +46,7 @@ public class GdService {
public
static
List
<
GdRouteDTO
>
getRoute
(
String
key
,
BigDecimal
originLongitude
,
BigDecimal
originLatitude
,
public
static
List
<
GdRouteDTO
>
getRoute
(
String
key
,
BigDecimal
originLongitude
,
BigDecimal
originLatitude
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
)
{
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
)
{
log
.
info
(
"高德线路规划开始"
);
//
log.info("高德线路规划开始");
List
<
GdRouteDTO
>
routeList
=
new
ArrayList
<>();
List
<
GdRouteDTO
>
routeList
=
new
ArrayList
<>();
String
url
=
DIRECTION_API
+
"?origin="
+
originLongitude
.
doubleValue
()+
","
+
originLatitude
.
doubleValue
()
String
url
=
DIRECTION_API
+
"?origin="
+
originLongitude
.
doubleValue
()+
","
+
originLatitude
.
doubleValue
()
...
@@ -154,7 +154,7 @@ public class GdService {
...
@@ -154,7 +154,7 @@ public class GdService {
// 按距离升序
// 按距离升序
routeList
.
sort
(
Comparator
.
comparingInt
(
GdRouteDTO:
:
getDistance
));
routeList
.
sort
(
Comparator
.
comparingInt
(
GdRouteDTO:
:
getDistance
));
log
.
info
(
"高德线路规划结束, route:{}"
,
routeList
.
size
());
//
log.info("高德线路规划结束, route:{}", routeList.size());
return
routeList
;
return
routeList
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论