Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
oms
Commits
fac87e81
提交
fac87e81
authored
10月 16, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
78c1d4be
25e676ff
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
480 行增加
和
76 行删除
+480
-76
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
CodeUtil.java
src/main/java/com/mmc/oms/common/util/CodeUtil.java
+1
-1
LeaseOrderController.java
...va/com/mmc/oms/controller/lease/LeaseOrderController.java
+20
-4
LeaseOrderDao.java
src/main/java/com/mmc/oms/dao/lease/LeaseOrderDao.java
+8
-1
LeaseOrderDO.java
src/main/java/com/mmc/oms/entity/lease/LeaseOrderDO.java
+6
-2
LeaseRefundOrderDO.java
...ain/java/com/mmc/oms/entity/lease/LeaseRefundOrderDO.java
+5
-1
LeaseOrderStatus.java
src/main/java/com/mmc/oms/enums/LeaseOrderStatus.java
+2
-0
LeaseOrderDTO.java
src/main/java/com/mmc/oms/model/dto/lease/LeaseOrderDTO.java
+25
-1
LeaseRefundOrderDTO.java
...java/com/mmc/oms/model/dto/lease/LeaseRefundOrderDTO.java
+3
-0
LeaseOrderRefundVO.java
...n/java/com/mmc/oms/model/vo/lease/LeaseOrderRefundVO.java
+3
-0
LeaseOrderService.java
...ain/java/com/mmc/oms/service/lease/LeaseOrderService.java
+6
-1
LeaseOrderServiceImpl.java
...com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
+368
-54
LeaseOrderDao.xml
src/main/resources/mapper/lease/LeaseOrderDao.xml
+32
-10
没有找到文件。
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
fac87e81
...
@@ -14,4 +14,4 @@ patches:
...
@@ -14,4 +14,4 @@ patches:
images
:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newTag
:
b7b6292e8a4fd03a5ea0c9ad7cb8d3079ed995ad
newTag
:
1a194fd7d926274c664924e84d1ca181726cd9b9
src/main/java/com/mmc/oms/common/util/CodeUtil.java
浏览文件 @
fac87e81
...
@@ -261,7 +261,7 @@ public class CodeUtil {
...
@@ -261,7 +261,7 @@ public class CodeUtil {
Date
now
=
new
Date
();
Date
now
=
new
Date
();
String
dateString
=
sdf
.
format
(
now
);
String
dateString
=
sdf
.
format
(
now
);
int
count
=
counter
.
incrementAndGet
();
int
count
=
counter
.
incrementAndGet
();
return
"
ORD
"
+
dateString
+
String
.
format
(
"%04d"
,
count
);
return
"
L
"
+
dateString
+
String
.
format
(
"%04d"
,
count
);
}
}
}
}
src/main/java/com/mmc/oms/controller/lease/LeaseOrderController.java
浏览文件 @
fac87e81
...
@@ -8,6 +8,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO;
...
@@ -8,6 +8,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -81,14 +82,14 @@ public class LeaseOrderController extends BaseController {
...
@@ -81,14 +82,14 @@ public class LeaseOrderController extends BaseController {
@ApiOperation
(
value
=
"用户收货"
)
@ApiOperation
(
value
=
"用户收货"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@
Ge
tMapping
(
"receive"
)
@
Pos
tMapping
(
"receive"
)
public
ResultBody
receive
(
@Request
Param
Integer
id
,
HttpServletRequest
request
)
{
public
ResultBody
receive
(
@Request
Body
LeaseOrderRefundVO
leaseOrderRefundVO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
receive
(
id
,
this
.
getCurrentAccount
(
request
));
return
leaseOrderService
.
receive
(
leaseOrderRefundVO
,
this
.
getCurrentAccount
(
request
));
}
}
@ApiOperation
(
value
=
"归还商品"
)
@ApiOperation
(
value
=
"归还商品"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@
Ge
tMapping
(
"giveBack"
)
@
Pos
tMapping
(
"giveBack"
)
public
ResultBody
giveBack
(
@RequestBody
LeaseOrderRefundVO
leaseOrderRefundVO
,
HttpServletRequest
request
)
{
public
ResultBody
giveBack
(
@RequestBody
LeaseOrderRefundVO
leaseOrderRefundVO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
giveBack
(
leaseOrderRefundVO
,
this
.
getCurrentAccount
(
request
));
return
leaseOrderService
.
giveBack
(
leaseOrderRefundVO
,
this
.
getCurrentAccount
(
request
));
}
}
...
@@ -114,4 +115,19 @@ public class LeaseOrderController extends BaseController {
...
@@ -114,4 +115,19 @@ public class LeaseOrderController extends BaseController {
return
leaseOrderService
.
removeLeaseOrder
(
id
);
return
leaseOrderService
.
removeLeaseOrder
(
id
);
}
}
@ApiOperation
(
value
=
"小程序确认结算"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"confirmSettlement"
)
public
ResultBody
confirmSettlement
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
confirmSettlement
(
id
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"评价订单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"remarkOrder"
)
public
ResultBody
remarkOrder
(
@RequestBody
UavOrderRemarkVO
uavOrderRemarkVO
)
{
return
leaseOrderService
.
remarkOrder
(
uavOrderRemarkVO
);
}
}
}
src/main/java/com/mmc/oms/dao/lease/LeaseOrderDao.java
浏览文件 @
fac87e81
...
@@ -5,6 +5,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
...
@@ -5,6 +5,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.transtatus.TranStatusDicDO
;
import
com.mmc.oms.entity.transtatus.TranStatusDicDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderRemarkDO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -25,7 +26,7 @@ public interface LeaseOrderDao {
...
@@ -25,7 +26,7 @@ public interface LeaseOrderDao {
LeaseOrderExpressDO
getLeaseOrderExpress
(
Integer
id
);
LeaseOrderExpressDO
getLeaseOrderExpress
(
Integer
id
);
void
update
Uav
OrderStatus
(
Integer
id
,
Integer
code
);
void
update
Lease
OrderStatus
(
Integer
id
,
Integer
code
);
void
addLeaseRefundOrder
(
LeaseRefundOrderDO
leaseRefundOrderDO
);
void
addLeaseRefundOrder
(
LeaseRefundOrderDO
leaseRefundOrderDO
);
...
@@ -46,4 +47,10 @@ public interface LeaseOrderDao {
...
@@ -46,4 +47,10 @@ public interface LeaseOrderDao {
List
<
LeaseOrderExpressDO
>
listLeaseOrderExpress
(
List
<
Integer
>
expressIds
);
List
<
LeaseOrderExpressDO
>
listLeaseOrderExpress
(
List
<
Integer
>
expressIds
);
void
updateLeaseOrderProportion
(
Integer
id
,
int
proportion
);
void
updateLeaseOrderProportion
(
Integer
id
,
int
proportion
);
LeaseRefundOrderDO
selectGiveBackByOrderId
(
Integer
id
,
Integer
type
);
void
updateLeaseOrderRemarkStatus
(
Integer
id
);
void
addRemarkOrder
(
UavOrderRemarkDO
uavOrderRemarkDO
);
}
}
src/main/java/com/mmc/oms/entity/lease/LeaseOrderDO.java
浏览文件 @
fac87e81
...
@@ -158,12 +158,16 @@ public class LeaseOrderDO implements Serializable {
...
@@ -158,12 +158,16 @@ public class LeaseOrderDO implements Serializable {
private
BigDecimal
salaryCashPledge
;
private
BigDecimal
salaryCashPledge
;
private
BigDecimal
otherPledge
;
public
LeaseOrderDTO
buildLeaseOrderDTO
()
{
public
LeaseOrderDTO
buildLeaseOrderDTO
()
{
return
LeaseOrderDTO
.
builder
().
id
(
id
).
orderNo
(
orderNo
).
statusCode
(
statusCode
).
userAccountId
(
userAccountId
)
return
LeaseOrderDTO
.
builder
().
id
(
id
).
orderNo
(
orderNo
).
orderName
(
orderName
).
statusCode
(
statusCode
).
userAccountId
(
userAccountId
)
.
thirdBackUserAccountId
(
thirdBackUserAccountId
).
companyName
(
companyName
).
orderTotalAmount
(
orderTotalAmount
)
.
thirdBackUserAccountId
(
thirdBackUserAccountId
).
companyName
(
companyName
).
orderTotalAmount
(
orderTotalAmount
)
.
salaryAmount
(
salaryAmount
).
shareAmount
(
shareAmount
).
otherAmount
(
otherAmount
).
payType
(
payType
).
payTime
(
payTime
)
.
salaryAmount
(
salaryAmount
).
shareAmount
(
shareAmount
).
otherAmount
(
otherAmount
).
payType
(
payType
).
payTime
(
payTime
)
.
startDate
(
startDate
).
endDate
(
endDate
).
userRemark
(
userRemark
).
sellerRemark
(
sellerRemark
).
createTime
(
createTime
)
.
startDate
(
startDate
).
endDate
(
endDate
).
userRemark
(
userRemark
).
sellerRemark
(
sellerRemark
).
createTime
(
createTime
)
.
confirmReceiptTime
(
confirmReceiptTime
).
remarkStatus
(
remarkStatus
).
modeOfDeliveryInfo
(
modeOfDeliveryInfo
).
sku
(
sku
).
skuImg
(
skuImg
).
build
();
.
confirmReceiptTime
(
confirmReceiptTime
).
remarkStatus
(
remarkStatus
).
modeOfDeliveryInfo
(
modeOfDeliveryInfo
).
depositBackTime
(
confirmReceiptTime
)
.
unitPrice
(
unitPrice
).
deposit
(
deposit
).
wareNum
(
wareNum
).
sku
(
sku
).
skuImg
(
skuImg
).
leaseGoodsId
(
leaseGoodsId
).
otherPledge
(
otherPledge
)
.
salaryCashPledge
(
salaryCashPledge
).
shareCashPledge
(
shareCashPledge
).
modeOfDeliveryInfo
(
modeOfDeliveryInfo
).
build
();
}
}
}
}
src/main/java/com/mmc/oms/entity/lease/LeaseRefundOrderDO.java
浏览文件 @
fac87e81
...
@@ -7,6 +7,7 @@ import lombok.Data;
...
@@ -7,6 +7,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
...
@@ -49,17 +50,20 @@ public class LeaseRefundOrderDO implements Serializable {
...
@@ -49,17 +50,20 @@ public class LeaseRefundOrderDO implements Serializable {
private
Integer
type
;
private
Integer
type
;
private
BigDecimal
modifiedDeposit
;
public
LeaseRefundOrderDO
(
LeaseOrderRefundVO
leaseOrderRefundVO
)
{
public
LeaseRefundOrderDO
(
LeaseOrderRefundVO
leaseOrderRefundVO
)
{
this
.
leaseOrderId
=
leaseOrderRefundVO
.
getOrderId
();
this
.
leaseOrderId
=
leaseOrderRefundVO
.
getOrderId
();
this
.
status
=
leaseOrderRefundVO
.
getStatus
();
this
.
status
=
leaseOrderRefundVO
.
getStatus
();
this
.
file
=
leaseOrderRefundVO
.
getFile
();
this
.
file
=
leaseOrderRefundVO
.
getFile
();
this
.
reason
=
leaseOrderRefundVO
.
getReason
();
this
.
reason
=
leaseOrderRefundVO
.
getReason
();
this
.
modifiedDeposit
=
leaseOrderRefundVO
.
getDeductionAmount
();
}
}
public
LeaseRefundOrderDTO
buildLeaseRefundOrderDTO
()
{
public
LeaseRefundOrderDTO
buildLeaseRefundOrderDTO
()
{
return
LeaseRefundOrderDTO
.
builder
().
id
(
this
.
id
).
leaseOrderId
(
this
.
leaseOrderId
)
return
LeaseRefundOrderDTO
.
builder
().
id
(
this
.
id
).
leaseOrderId
(
this
.
leaseOrderId
)
.
status
(
this
.
status
).
file
(
this
.
file
).
reason
(
this
.
reason
)
.
status
(
this
.
status
).
file
(
this
.
file
).
reason
(
this
.
reason
)
.
createTime
(
this
.
createTime
).
build
();
.
createTime
(
this
.
createTime
).
modifiedDeposit
(
modifiedDeposit
).
build
();
}
}
}
}
src/main/java/com/mmc/oms/enums/LeaseOrderStatus.java
浏览文件 @
fac87e81
...
@@ -13,6 +13,8 @@ public enum LeaseOrderStatus {
...
@@ -13,6 +13,8 @@ public enum LeaseOrderStatus {
REMAIN_TO_BE_EVALUATED
(
600
,
"待评价"
,
"待评价"
),
REMAIN_TO_BE_EVALUATED
(
600
,
"待评价"
,
"待评价"
),
COMPLETE_TRANSACTION
(
700
,
"交易完成"
,
"交易完成"
),
COMPLETE_TRANSACTION
(
700
,
"交易完成"
,
"交易完成"
),
APPLY_REFUND
(
800
,
"申请退款"
,
"退款中"
),
APPLY_REFUND
(
800
,
"申请退款"
,
"退款中"
),
MODIFIED_DEPOSIT_TO_BE_CONFIRMED
(
900
,
"待确认修改后押金"
,
"待确认修改后押金"
),
MODIFIED_DEPOSIT_REFUND
(
950
,
"待确认修改后押金"
,
"待确认修改后押金"
),
CLOSE
(
999
,
"订单关闭"
,
"订单关闭"
);
CLOSE
(
999
,
"订单关闭"
,
"订单关闭"
);
public
Integer
getCode
()
{
public
Integer
getCode
()
{
...
...
src/main/java/com/mmc/oms/model/dto/lease/LeaseOrderDTO.java
浏览文件 @
fac87e81
...
@@ -29,6 +29,8 @@ public class LeaseOrderDTO implements Serializable {
...
@@ -29,6 +29,8 @@ public class LeaseOrderDTO implements Serializable {
private
Integer
id
;
private
Integer
id
;
@ApiModelProperty
(
"订单编号"
)
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
private
String
orderNo
;
@ApiModelProperty
(
"订单名称"
)
private
String
orderName
;
@ApiModelProperty
(
"订单状态"
)
@ApiModelProperty
(
"订单状态"
)
private
Integer
statusCode
;
private
Integer
statusCode
;
@ApiModelProperty
(
"买家id"
)
@ApiModelProperty
(
"买家id"
)
...
@@ -51,8 +53,14 @@ public class LeaseOrderDTO implements Serializable {
...
@@ -51,8 +53,14 @@ public class LeaseOrderDTO implements Serializable {
private
BigDecimal
salaryAmount
;
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
@ApiModelProperty
(
"抵扣云享金余额"
)
private
BigDecimal
shareAmount
;
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"云享金押金抵扣"
)
private
BigDecimal
shareCashPledge
;
@ApiModelProperty
(
"余额押金抵扣"
)
private
BigDecimal
salaryCashPledge
;
@ApiModelProperty
(
"其他方式支付额度"
)
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherAmount
;
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherPledge
;
@ApiModelProperty
(
"wechatpay微信,alipay支付宝,offline线下"
)
@ApiModelProperty
(
"wechatpay微信,alipay支付宝,offline线下"
)
private
String
payType
;
private
String
payType
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
...
@@ -83,8 +91,20 @@ public class LeaseOrderDTO implements Serializable {
...
@@ -83,8 +91,20 @@ public class LeaseOrderDTO implements Serializable {
private
Date
updateTime
;
private
Date
updateTime
;
@ApiModelProperty
(
"用户收货地址信息"
)
@ApiModelProperty
(
"用户收货地址信息"
)
private
UavOrderExpressDTO
uavOrderExpressDTO
;
private
UavOrderExpressDTO
uavOrderExpressDTO
;
@ApiModelProperty
(
"快递信息"
)
@ApiModelProperty
(
"
发货
快递信息"
)
private
KdnExpDTO
kdnExpDTO
;
private
KdnExpDTO
kdnExpDTO
;
@ApiModelProperty
(
"归还快递信息"
)
private
KdnExpDTO
returnKdnExpDTO
;
@ApiModelProperty
(
"确认收货的信息"
)
private
LeaseRefundOrderDTO
confirmReceipt
;
@ApiModelProperty
(
"购买数量"
)
private
Integer
wareNum
;
@ApiModelProperty
(
value
=
"单价"
,
hidden
=
true
)
private
BigDecimal
unitPrice
;
@ApiModelProperty
(
value
=
"押金"
,
hidden
=
true
)
private
BigDecimal
deposit
;
@ApiModelProperty
(
"租赁商品id"
)
private
Integer
leaseGoodsId
;
@ApiModelProperty
(
"订单规格列表"
)
@ApiModelProperty
(
"订单规格列表"
)
private
String
sku
;
private
String
sku
;
@ApiModelProperty
(
"sku图片"
)
@ApiModelProperty
(
"sku图片"
)
...
@@ -93,6 +113,10 @@ public class LeaseOrderDTO implements Serializable {
...
@@ -93,6 +113,10 @@ public class LeaseOrderDTO implements Serializable {
private
String
modeOfDeliveryInfo
;
private
String
modeOfDeliveryInfo
;
@ApiModelProperty
(
"发货后申请退款"
)
@ApiModelProperty
(
"发货后申请退款"
)
private
LeaseRefundOrderDTO
leaseRefundOrder
;
private
LeaseRefundOrderDTO
leaseRefundOrder
;
@ApiModelProperty
(
"商户收货后上传的破损信息"
)
private
LeaseRefundOrderDTO
storeDamageOrder
;
@ApiModelProperty
(
"商户确认收货信息"
)
@ApiModelProperty
(
"商户确认收货信息"
)
private
LeaseRefundOrderDTO
storeReceiveOrder
;
private
LeaseRefundOrderDTO
storeReceiveOrder
;
@ApiModelProperty
(
"押金退回时间"
)
private
Date
depositBackTime
;
}
}
src/main/java/com/mmc/oms/model/dto/lease/LeaseRefundOrderDTO.java
浏览文件 @
fac87e81
...
@@ -7,6 +7,7 @@ import lombok.Data;
...
@@ -7,6 +7,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
...
@@ -33,6 +34,8 @@ public class LeaseRefundOrderDTO implements Serializable {
...
@@ -33,6 +34,8 @@ public class LeaseRefundOrderDTO implements Serializable {
private
String
file
;
private
String
file
;
@ApiModelProperty
(
"退款原因"
)
@ApiModelProperty
(
"退款原因"
)
private
String
reason
;
private
String
reason
;
@ApiModelProperty
(
"修改后的押金"
)
private
BigDecimal
modifiedDeposit
;
@ApiModelProperty
(
"创建时间"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
private
Date
createTime
;
...
...
src/main/java/com/mmc/oms/model/vo/lease/LeaseOrderRefundVO.java
浏览文件 @
fac87e81
...
@@ -6,6 +6,7 @@ import lombok.Data;
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
/**
* @Author LW
* @Author LW
...
@@ -32,4 +33,6 @@ public class LeaseOrderRefundVO implements Serializable {
...
@@ -32,4 +33,6 @@ public class LeaseOrderRefundVO implements Serializable {
private
String
file
;
private
String
file
;
@ApiModelProperty
(
"原因"
)
@ApiModelProperty
(
"原因"
)
private
String
reason
;
private
String
reason
;
@ApiModelProperty
(
"扣除的押金"
)
private
BigDecimal
deductionAmount
;
}
}
src/main/java/com/mmc/oms/service/lease/LeaseOrderService.java
浏览文件 @
fac87e81
...
@@ -7,6 +7,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO;
...
@@ -7,6 +7,7 @@ import com.mmc.oms.model.qo.uav.UavOrderQO;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
...
@@ -31,7 +32,7 @@ public interface LeaseOrderService {
...
@@ -31,7 +32,7 @@ public interface LeaseOrderService {
ResultBody
send
(
UavOrderExpressVO
param
);
ResultBody
send
(
UavOrderExpressVO
param
);
ResultBody
receive
(
Integer
id
,
BaseAccountDTO
currentAccount
);
ResultBody
receive
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
);
ResultBody
statusList
();
ResultBody
statusList
();
...
@@ -40,4 +41,8 @@ public interface LeaseOrderService {
...
@@ -40,4 +41,8 @@ public interface LeaseOrderService {
ResultBody
giveBack
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
);
ResultBody
giveBack
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
);
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
);
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
);
ResultBody
confirmSettlement
(
Integer
id
,
BaseAccountDTO
currentAccount
);
ResultBody
remarkOrder
(
UavOrderRemarkVO
uavOrderRemarkVO
);
}
}
src/main/java/com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
浏览文件 @
fac87e81
...
@@ -15,6 +15,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
...
@@ -15,6 +15,7 @@ import com.mmc.oms.entity.lease.LeaseOrderExpressDO;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.transtatus.TranStatusDicDO
;
import
com.mmc.oms.entity.transtatus.TranStatusDicDO
;
import
com.mmc.oms.entity.uav.UavOrderRemarkDO
;
import
com.mmc.oms.enums.LeaseOrderStatus
;
import
com.mmc.oms.enums.LeaseOrderStatus
;
import
com.mmc.oms.enums.LeaseTermInfo
;
import
com.mmc.oms.enums.LeaseTermInfo
;
import
com.mmc.oms.enums.OrderType
;
import
com.mmc.oms.enums.OrderType
;
...
@@ -40,6 +41,7 @@ import com.mmc.oms.model.vo.lease.LeasePriceStockVO;
...
@@ -40,6 +41,7 @@ import com.mmc.oms.model.vo.lease.LeasePriceStockVO;
import
com.mmc.oms.model.vo.uav.GoodsResourcesVO
;
import
com.mmc.oms.model.vo.uav.GoodsResourcesVO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.service.demand.DemandReleaseOrderService
;
import
com.mmc.oms.service.demand.DemandReleaseOrderService
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
...
@@ -149,6 +151,8 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -149,6 +151,8 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
// 校验云享金、钱包余额是否足够抵扣
// 校验云享金、钱包余额是否足够抵扣
BigDecimal
shareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
shareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
// 其他抵扣押金
BigDecimal
otherPledge
=
BigDecimal
.
ZERO
;
Integer
statusCode
=
null
;
Integer
statusCode
=
null
;
// 获取用户钱包信息
// 获取用户钱包信息
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
)
||
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
)
||
param
.
getDeductShareAmount
().
equals
(
1
))
{
...
@@ -166,6 +170,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -166,6 +170,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
// 够抵扣押金
// 够抵扣押金
shareCashPledge
=
otherCashPledge
;
shareCashPledge
=
otherCashPledge
;
}
}
}
otherCashPledge
=
otherCashPledge
.
subtract
(
shareCashPledge
);
otherCashPledge
=
otherCashPledge
.
subtract
(
shareCashPledge
);
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
otherAmount
=
otherAmount
.
subtract
(
shareCashPledge
);
otherAmount
=
otherAmount
.
subtract
(
shareCashPledge
);
...
@@ -179,11 +184,11 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -179,11 +184,11 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
otherCashPledge
=
otherCashPledge
.
subtract
(
salaryCashPledge
);
otherCashPledge
=
otherCashPledge
.
subtract
(
salaryCashPledge
);
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
otherAmount
=
otherAmount
.
subtract
(
salaryCashPledge
.
add
(
shareCashPledge
));
otherAmount
=
otherAmount
.
subtract
(
salaryCashPledge
.
add
(
shareCashPledge
));
}
else
{
otherPledge
=
otherCashPledge
;
}
}
}
}
}
}
}
// 抵扣完后当押金为0的时候 继续抵扣其余金额
// 抵扣完后当押金为0的时候 继续抵扣其余金额
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
...
@@ -236,6 +241,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -236,6 +241,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
leaseOrderDO
.
setCompanyName
(
param
.
getCompanyName
());
leaseOrderDO
.
setCompanyName
(
param
.
getCompanyName
());
leaseOrderDO
.
setThirdBackUserAccountId
(
param
.
getThirdBackUserAccountId
());
leaseOrderDO
.
setThirdBackUserAccountId
(
param
.
getThirdBackUserAccountId
());
leaseOrderDO
.
setOrderName
(
leaseGoodsVO
.
getTradeName
());
leaseOrderDO
.
setOrderName
(
leaseGoodsVO
.
getTradeName
());
leaseOrderDO
.
setOtherPledge
(
otherPledge
);
leaseOrderDO
.
setModeOfDeliveryInfo
(
leaseGoodsVO
.
getModeOfDeliveryInfo
());
leaseOrderDO
.
setModeOfDeliveryInfo
(
leaseGoodsVO
.
getModeOfDeliveryInfo
());
if
(
priceStock
.
getSkuImage
()
!=
null
)
{
if
(
priceStock
.
getSkuImage
()
!=
null
)
{
leaseOrderDO
.
setSkuImg
(
priceStock
.
getSkuImage
());
leaseOrderDO
.
setSkuImg
(
priceStock
.
getSkuImage
());
...
@@ -319,27 +325,56 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -319,27 +325,56 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return
ResultBody
.
error
(
"订单信息不存在!"
);
return
ResultBody
.
error
(
"订单信息不存在!"
);
}
}
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
PLACED_AN_ORDER
.
getCode
()))
{
Integer
statusCode
=
leaseOrderDO
.
getStatusCode
();
if
(
statusCode
.
equals
(
LeaseOrderStatus
.
PLACED_AN_ORDER
.
getCode
()))
{
leaseOrderDTO
.
setNeedPayAmount
(
leaseOrderDO
.
getOtherAmount
());
leaseOrderDTO
.
setNeedPayAmount
(
leaseOrderDO
.
getOtherAmount
());
}
}
// 收货信息、付款信息、规格信息、快递信息、签署信息
// 收货信息、付款信息、规格信息、快递信息、签署信息
LeaseOrderExpressDO
leaseOrderExpressDO
=
leaseOrderDao
.
getLeaseOrderExpress
(
id
);
LeaseOrderExpressDO
leaseOrderExpressDO
=
leaseOrderDao
.
getLeaseOrderExpress
(
id
);
if
(
leaseOrderExpressDO
!=
null
)
{
leaseOrderDTO
.
setUavOrderExpressDTO
(
leaseOrderExpressDO
.
buildUavOrderExpressDTO
());
leaseOrderDTO
.
setUavOrderExpressDTO
(
leaseOrderExpressDO
.
buildUavOrderExpressDTO
());
// 快递信息
// 快递信息
KdnExpDTO
kdnExpDTO
=
this
.
getOrderExpInfo
(
leaseOrderExpressDO
);
KdnExpDTO
kdnExpDTO
=
this
.
getOrderExpInfo
(
leaseOrderExpressDO
);
leaseOrderDTO
.
setKdnExpDTO
(
kdnExpDTO
);
leaseOrderDTO
.
setKdnExpDTO
(
kdnExpDTO
);
}
// 判断订单状态是否是已归还状态
if
(
statusCode
.
compareTo
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
())
>=
0
)
{
// 快递信息
KdnExpDTO
returnKdnExpDTO
=
this
.
getReturnOrderExpInfo
(
leaseOrderDO
,
leaseOrderExpressDO
);
leaseOrderDTO
.
setReturnKdnExpDTO
(
returnKdnExpDTO
);
}
// 设置确认收货信息
setConfirmReceiptInfo
(
id
,
OrderType
.
REC
.
getCode
(),
leaseOrderDTO
);
// 设置退款信息
setConfirmReceiptInfo
(
id
,
OrderType
.
RETREAT
.
getCode
(),
leaseOrderDTO
);
// 设置破损信息
setConfirmReceiptInfo
(
id
,
OrderType
.
PFREC
.
getCode
(),
leaseOrderDTO
);
// 设置个人信息
// 设置个人信息
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
leaseOrderDO
.
getUserAccountId
(),
currentAccount
.
getToken
());
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
leaseOrderDO
.
getUserAccountId
(),
currentAccount
.
getToken
());
if
(
userAccountSimpleDTO
!=
null
)
{
if
(
userAccountSimpleDTO
!=
null
)
{
leaseOrderDTO
.
setUserName
(
userAccountSimpleDTO
.
getUserName
());
leaseOrderDTO
.
setNickname
(
userAccountSimpleDTO
.
getNickName
());
leaseOrderDTO
.
setNickname
(
userAccountSimpleDTO
.
getNickName
());
leaseOrderDTO
.
setPhoneNum
(
userAccountSimpleDTO
.
getPhoneNum
());
leaseOrderDTO
.
setPhoneNum
(
userAccountSimpleDTO
.
getPhoneNum
());
leaseOrderDTO
.
setUserName
(
userAccountSimpleDTO
.
getUserName
());
}
}
return
ResultBody
.
success
(
leaseOrderDTO
);
return
ResultBody
.
success
(
leaseOrderDTO
);
}
}
private
void
setConfirmReceiptInfo
(
Integer
id
,
Integer
orderType
,
LeaseOrderDTO
leaseOrderDTO
)
{
LeaseRefundOrderDO
leaseRefundOrderDO
=
leaseOrderDao
.
selectGiveBackByOrderId
(
id
,
orderType
);
switch
(
orderType
)
{
case
1
:
leaseOrderDTO
.
setConfirmReceipt
(
leaseRefundOrderDO
==
null
?
null
:
leaseRefundOrderDO
.
buildLeaseRefundOrderDTO
());
break
;
case
4
:
leaseOrderDTO
.
setLeaseRefundOrder
(
leaseRefundOrderDO
==
null
?
null
:
leaseRefundOrderDO
.
buildLeaseRefundOrderDTO
());
break
;
case
3
:
leaseOrderDTO
.
setStoreDamageOrder
(
leaseRefundOrderDO
==
null
?
null
:
leaseRefundOrderDO
.
buildLeaseRefundOrderDTO
());
break
;
default
:
break
;
}
}
private
KdnExpDTO
getOrderExpInfo
(
LeaseOrderExpressDO
exp
)
throws
Exception
{
private
KdnExpDTO
getOrderExpInfo
(
LeaseOrderExpressDO
exp
)
throws
Exception
{
String
json
=
""
;
String
json
=
""
;
if
(
"SF"
.
equals
(
exp
.
getSendExpCode
()))
{
if
(
"SF"
.
equals
(
exp
.
getSendExpCode
()))
{
...
@@ -357,6 +392,31 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -357,6 +392,31 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return
kdn
;
return
kdn
;
}
}
private
KdnExpDTO
getReturnOrderExpInfo
(
LeaseOrderDO
leaseOrderDO
,
LeaseOrderExpressDO
exp
)
throws
Exception
{
Integer
leaseGoodsId
=
leaseOrderDO
.
getLeaseGoodsId
();
ResultBody
<
LeaseGoodsVO
>
leaseGoodsVOResultBody
=
pmsAppApi
.
leaseGoodsDetails
(
leaseGoodsId
);
if
(!
leaseGoodsVOResultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
null
;
}
LeaseGoodsVO
leaseGoodsVO
=
leaseGoodsVOResultBody
.
getResult
();
Integer
returnAddress
=
leaseGoodsVO
.
getReturnAddress
();
UserAddressDO
userAddressDO
=
userAddressDao
.
selectById
(
returnAddress
);
String
json
=
""
;
if
(
"SF"
.
equals
(
exp
.
getReturnExpCode
()))
{
json
=
KdnExpressUtil
.
SF
(
userAddressDO
.
getTakePhone
(),
exp
.
getReturnExpNo
());
}
else
if
(
"JD"
.
equals
(
exp
.
getReturnExpCode
()))
{
json
=
KdnExpressUtil
.
JD
(
""
,
exp
.
getReturnExpNo
());
}
else
{
json
=
KdnExpressUtil
.
others
(
exp
.
getReturnExpCode
(),
exp
.
getReturnExpNo
());
}
KdnExpDTO
kdn
=
JsonUtil
.
parseJsonToObj
(
json
,
KdnExpDTO
.
class
);
kdn
.
setLogisticCode
(
exp
.
getReturnExpNo
());
if
(!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
kdn
.
getTraces
()))
{
Collections
.
sort
(
kdn
.
getTraces
(),
Comparator
.
comparing
(
ExpStationsDTO:
:
getAcceptTime
).
reversed
());
// 升序
}
return
kdn
;
}
@Override
@Override
@Transactional
@Transactional
public
ResultBody
close
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
String
token
)
{
public
ResultBody
close
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
String
token
)
{
...
@@ -374,37 +434,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -374,37 +434,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
if
(
leaseOrderRefundVO
.
getExpressCode
()
==
null
||
leaseOrderRefundVO
.
getExpressNum
()
==
null
)
{
if
(
leaseOrderRefundVO
.
getExpressCode
()
==
null
||
leaseOrderRefundVO
.
getExpressNum
()
==
null
)
{
return
ResultBody
.
error
(
"请完善物流信息"
);
return
ResultBody
.
error
(
"请完善物流信息"
);
}
}
}
// 插入退货地址信息
// 插入退货地址信息
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
();
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
();
leaseOrderExpressDO
.
setId
(
leaseOrderRefundVO
.
getId
());
leaseOrderExpressDO
.
setLeaseOrderId
(
leaseOrderRefundVO
.
getOrderId
());
leaseOrderExpressDO
.
setLeaseOrderId
(
leaseOrderRefundVO
.
getOrderId
());
leaseOrderExpressDO
.
setReturnExpCode
(
leaseOrderRefundVO
.
getExpressCode
());
leaseOrderExpressDO
.
setReturnExpCode
(
leaseOrderRefundVO
.
getExpressCode
());
leaseOrderExpressDO
.
setReturnExpNo
(
leaseOrderRefundVO
.
getExpressNum
());
leaseOrderExpressDO
.
setReturnExpNo
(
leaseOrderRefundVO
.
getExpressNum
());
leaseOrderExpressDO
.
setReturnTime
(
new
Date
());
leaseOrderExpressDO
.
setReturnTime
(
new
Date
());
leaseOrderDao
.
addAdd
ress
(
leaseOrderExpressDO
);
leaseOrderDao
.
updateLeaseOrderExp
ress
(
leaseOrderExpressDO
);
// 插入退款订单信息
// 插入退款订单信息
LeaseRefundOrderDO
leaseRefundOrderDO
=
new
LeaseRefundOrderDO
(
leaseOrderRefundVO
);
LeaseRefundOrderDO
leaseRefundOrderDO
=
new
LeaseRefundOrderDO
(
leaseOrderRefundVO
);
leaseRefundOrderDO
.
setLeaseOrderExpressId
(
leaseOrderExpressDO
.
getId
());
leaseRefundOrderDO
.
setType
(
OrderType
.
RETREAT
.
getCode
());
leaseRefundOrderDO
.
setType
(
OrderType
.
RETREAT
.
getCode
());
leaseOrderDao
.
addLeaseRefundOrder
(
leaseRefundOrderDO
);
leaseOrderDao
.
addLeaseRefundOrder
(
leaseRefundOrderDO
);
// 修改订单状态
// 修改订单状态
leaseOrderDao
.
updateUavOrderStatus
(
leaseOrderRefundVO
.
getStatus
(),
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
());
leaseOrderDao
.
updateLeaseOrderStatus
(
leaseOrderRefundVO
.
getOrderId
(),
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
());
}
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
else
{
}
else
{
// 退云享金、佣金
// 退云享金、佣金
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
leaseOrderDO
.
getSalaryCashPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getShareCashPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
payUavWalletVO
.
setCashAmount
(
leaseOrderDO
.
getShareAmount
());
PayUavWalletVO
userPayUavWalletVO
=
amountUnfreezing
(
leaseOrderDO
,
leaseOrderDO
.
getShareAmount
(),
leaseOrderDO
.
getSalaryAmount
());
payUavWalletVO
.
setSalaryAmount
(
leaseOrderDO
.
getSalaryAmount
());
userPayUavWalletVO
.
setOrderStatus
(
1400
);
payUavWalletVO
.
setOrderStatus
(
1400
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
token
);
payUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
token
);
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultBody
;
return
resultBody
;
}
}
}
}
// 微信退款
// 微信退款
if
(
"wechatpay"
.
equals
(
leaseOrderDO
.
getPayType
())
)
{
if
(
leaseOrderDO
.
getOtherPledge
()
!=
null
&&
leaseOrderDO
.
getOtherPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
applyRefundVO
.
setOutTradeNo
(
leaseOrderDO
.
getOrderNo
());
applyRefundVO
.
setOutTradeNo
(
leaseOrderDO
.
getOrderNo
());
applyRefundVO
.
setReason
(
"关闭租赁订单"
);
applyRefundVO
.
setReason
(
"关闭租赁订单"
);
...
@@ -424,7 +482,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -424,7 +482,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateLeaseOrderStatus
(
Integer
id
,
LeaseOrderStatus
leaseOrderStatus
)
{
public
void
updateLeaseOrderStatus
(
Integer
id
,
LeaseOrderStatus
leaseOrderStatus
)
{
leaseOrderDao
.
update
Uav
OrderStatus
(
id
,
leaseOrderStatus
.
getCode
());
leaseOrderDao
.
update
Lease
OrderStatus
(
id
,
leaseOrderStatus
.
getCode
());
}
}
@Override
@Override
...
@@ -440,7 +498,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -440,7 +498,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
uavOrderQO
.
buildCurrentPage
();
uavOrderQO
.
buildCurrentPage
();
List
<
LeaseOrderDO
>
leaseOrderDOS
=
leaseOrderDao
.
list
(
uavOrderQO
);
List
<
LeaseOrderDO
>
leaseOrderDOS
=
leaseOrderDao
.
list
(
uavOrderQO
);
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
=
new
HashMap
<>();
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
=
new
Linked
HashMap
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
List
<
Integer
>
userIds
=
new
ArrayList
<>();
List
<
Integer
>
userIds
=
new
ArrayList
<>();
...
@@ -487,7 +545,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -487,7 +545,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
Integer
pageNo
=
uavOrderQO
.
getPageNo
();
Integer
pageNo
=
uavOrderQO
.
getPageNo
();
uavOrderQO
.
buildCurrentPage
();
uavOrderQO
.
buildCurrentPage
();
List
<
LeaseOrderDO
>
leaseOrderDOS
=
leaseOrderDao
.
list
(
uavOrderQO
);
List
<
LeaseOrderDO
>
leaseOrderDOS
=
leaseOrderDao
.
list
(
uavOrderQO
);
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
=
new
HashMap
<>();
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
=
new
Linked
HashMap
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
for
(
LeaseOrderDO
leaseOrderDO
:
leaseOrderDOS
)
{
for
(
LeaseOrderDO
leaseOrderDO
:
leaseOrderDOS
)
{
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
...
@@ -554,28 +612,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -554,28 +612,35 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
// 修改订单状态
// 修改订单状态
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getUavOrderId
());
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getUavOrderId
());
if
(!
leaseOrderDO
.
getStatusCode
().
toString
().
equals
(
LeaseOrderStatus
.
PAID
.
getCode
().
toString
()))
{
if
(!
leaseOrderDO
.
getStatusCode
().
toString
().
equals
(
LeaseOrderStatus
.
PAID
.
getCode
().
toString
()))
{
return
ResultBody
.
error
(
"状态流程有误
,请重试
!"
);
return
ResultBody
.
error
(
"状态流程有误!"
);
}
}
this
.
updateLeaseOrderStatus
(
param
.
getUavOrderId
(),
LeaseOrderStatus
.
SHIPPED
);
this
.
updateLeaseOrderStatus
(
param
.
getUavOrderId
(),
LeaseOrderStatus
.
SHIPPED
);
// 修改收货信息
// 修改收货信息
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
param
);
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
param
);
leaseOrderExpressDO
.
setSendTime
(
new
Date
());
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpressDO
);
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpressDO
);
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
@Override
@Override
public
ResultBody
receive
(
Integer
id
,
BaseAccountDTO
currentAccount
)
{
public
ResultBody
receive
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
)
{
// 修改订单状态
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
getOrderId
());
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
id
);
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
SHIPPED
.
getCode
()))
{
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
SHIPPED
.
getCode
()))
{
return
ResultBody
.
error
(
"状态流程有误,请重试!"
);
return
ResultBody
.
error
(
"状态流程有误!"
);
}
if
(
StringUtils
.
isNotEmpty
(
leaseOrderRefundVO
.
getFile
())
||
StringUtils
.
isNotEmpty
(
leaseOrderRefundVO
.
getReason
()))
{
// 插入确认信息
LeaseRefundOrderDO
leaseRefundOrderDO
=
new
LeaseRefundOrderDO
(
leaseOrderRefundVO
);
leaseRefundOrderDO
.
setStatus
(
1
);
leaseRefundOrderDO
.
setType
(
OrderType
.
REC
.
getCode
());
leaseOrderDao
.
addLeaseRefundOrder
(
leaseRefundOrderDO
);
}
}
// 修改收货信息
// 修改收货信息
LeaseOrderExpressDO
leaseOrderExpress
=
leaseOrderDao
.
getLeaseOrderExpress
(
id
);
LeaseOrderExpressDO
leaseOrderExpress
=
leaseOrderDao
.
getLeaseOrderExpress
(
leaseOrderRefundVO
.
getOrderId
()
);
leaseOrderExpress
.
setReceive
(
1
);
leaseOrderExpress
.
setReceive
(
1
);
leaseOrderExpress
.
setReceiveTime
(
new
Date
());
leaseOrderExpress
.
setReceiveTime
(
new
Date
());
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpress
);
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpress
);
this
.
updateLeaseOrderStatus
(
id
,
LeaseOrderStatus
.
TO_BE_RETURNED
);
this
.
updateLeaseOrderStatus
(
leaseOrderRefundVO
.
getOrderId
()
,
LeaseOrderStatus
.
TO_BE_RETURNED
);
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
...
@@ -599,11 +664,12 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -599,11 +664,12 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
}
}
@Override
@Override
@Transactional
public
ResultBody
giveBack
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
)
{
public
ResultBody
giveBack
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
getOrderId
());
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
getOrderId
());
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
TO_BE_RETURNED
.
getCode
()))
{
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
TO_BE_RETURNED
.
getCode
()))
{
return
ResultBody
.
error
(
"状态流程有误
,请重试
!"
);
return
ResultBody
.
error
(
"状态流程有误!"
);
}
}
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
leaseOrderRefundVO
);
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
leaseOrderRefundVO
);
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpressDO
);
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpressDO
);
...
@@ -615,50 +681,298 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
...
@@ -615,50 +681,298 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
@Transactional
@Transactional
public
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
)
{
public
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getOrderId
());
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getOrderId
());
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
log
.
info
(
"
平台确认归还操作,
leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(
!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
()))
{
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
.
getCode
()))
{
return
ResultBody
.
error
(
"
状态流程有误,请重试!
"
);
return
ResultBody
.
error
(
"
请勿重复操作
"
);
}
}
boolean
isWaitingMerchantConfirm
=
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
());
boolean
isApplyRefund
=
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
());
if
(
isWaitingMerchantConfirm
||
isApplyRefund
)
{
if
(
param
.
getDamage
().
equals
(
0
))
{
if
(
param
.
getDamage
().
equals
(
0
))
{
// 解冻用户钱包金额
// 解冻用户钱包金额
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
BigDecimal
shareAmount
=
leaseOrderDO
.
getShareAmount
();
PayUavWalletVO
userPayUavWalletVO
=
new
PayUavWalletVO
();
BigDecimal
salaryAmount
=
leaseOrderDO
.
getSalaryAmount
();
userPayUavWalletVO
.
setRemark
(
"租赁订单金额解冻"
);
userPayUavWalletVO
.
setCashAmount
(
leaseOrderDO
.
getShareAmount
());
ApplyRefundVO
applyRefundVO
=
null
;
userPayUavWalletVO
.
setSalaryAmount
(
leaseOrderDO
.
getSalaryAmount
());
if
(
isApplyRefund
&&
leaseOrderDO
.
getOtherAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
userPayUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
applyRefundVO
=
wxRefund
(
leaseOrderDO
);
userPayUavWalletVO
.
setOrderStatus
(
999
);
applyRefundVO
.
setRefund
((
leaseOrderDO
.
getOtherPledge
().
add
(
leaseOrderDO
.
getOtherAmount
())).
multiply
(
BigDecimal
.
valueOf
(
100
)).
longValue
());
}
else
if
(
leaseOrderDO
.
getOtherPledge
()
!=
null
&&
leaseOrderDO
.
getOtherPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
applyRefundVO
=
wxRefund
(
leaseOrderDO
);
}
if
(
applyRefundVO
!=
null
)
{
ResultBody
refundOtherPledge
=
paymentAppApi
.
applyRefund
(
applyRefundVO
,
currentAccount
.
getToken
());
if
(!
refundOtherPledge
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
refundOtherPledge
;
}
}
if
(
shareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
// 金额解冻
PayUavWalletVO
userPayUavWalletVO
=
amountUnfreezing
(
leaseOrderDO
,
shareAmount
,
salaryAmount
);
userPayUavWalletVO
.
setOrderStatus
(
isWaitingMerchantConfirm
?
999
:
1400
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
resultBody
;
return
resultBody
;
}
}
// 如果是交易完成则退回押金
if
(
isWaitingMerchantConfirm
)
{
BigDecimal
shareCashPledge
=
leaseOrderDO
.
getShareCashPledge
();
BigDecimal
salaryCashPledge
=
leaseOrderDO
.
getSalaryCashPledge
();
if
((
shareCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
))
{
moneyRefund
(
shareCashPledge
,
salaryCashPledge
,
currentAccount
,
leaseOrderDO
);
}
}
BigDecimal
thirdAmount
=
leaseOrderDO
.
getOrderTotalAmount
().
multiply
(
}
BigDecimal
.
valueOf
(
100
).
subtract
(
UavOrderProportion
.
PROPORTION
).
divide
(
BigDecimal
.
valueOf
(
100
)));
}
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setSalaryAmount
(
thirdAmount
);
// 修改退款操作
payUavWalletVO
.
setCashAmount
(
BigDecimal
.
ZERO
);
if
(
isApplyRefund
)
{
payUavWalletVO
.
setRemark
(
"租赁订单收入,订单编号"
+
leaseOrderDO
.
getOrderNo
());
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
CLOSE
);
payUavWalletVO
.
setOrderStatus
(
1500
);
}
if
(
isWaitingMerchantConfirm
)
{
return
businessIncome
(
currentAccount
,
param
.
getOrderId
(),
leaseOrderDO
,
0
);
}
}
else
{
// 有破损等待平台
if
(
StringUtils
.
isEmpty
(
param
.
getFile
())
||
StringUtils
.
isEmpty
(
param
.
getReason
()))
{
return
ResultBody
.
error
(
"请填充破损照片和原因!"
);
}
LeaseRefundOrderDO
leaseRefundOrderDO
=
new
LeaseRefundOrderDO
(
param
);
leaseRefundOrderDO
.
setStatus
(
1
);
leaseRefundOrderDO
.
setType
(
OrderType
.
PFREC
.
getCode
());
leaseOrderDao
.
addLeaseRefundOrder
(
leaseRefundOrderDO
);
// 修改订单状态
if
(
isWaitingMerchantConfirm
)
{
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
MODIFIED_DEPOSIT_TO_BE_CONFIRMED
);
}
else
{
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
MODIFIED_DEPOSIT_REFUND
);
}
}
}
else
{
return
ResultBody
.
error
(
"状态流程有误"
);
}
return
ResultBody
.
success
();
}
private
ResultBody
businessIncome
(
BaseAccountDTO
currentAccount
,
Integer
orderId
,
LeaseOrderDO
leaseOrderDO
,
Integer
flag
)
{
// 拿到商家管理员的用户id
// 拿到商家管理员的用户id
ResultBody
managerRes
=
userAppApi
.
getManagerIdByBackUserId
(
leaseOrderDO
.
getThirdBackUserAccountId
(),
null
);
ResultBody
managerRes
=
userAppApi
.
getManagerIdByBackUserId
(
leaseOrderDO
.
getThirdBackUserAccountId
(),
null
);
if
(!
managerRes
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
if
(!
managerRes
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
managerRes
;
return
managerRes
;
}
}
// 获取损坏的金额
LeaseRefundOrderDO
leaseRefundOrderDO
=
leaseOrderDao
.
selectGiveBackByOrderId
(
leaseOrderDO
.
getId
(),
OrderType
.
PFREC
.
getCode
());
if
(
leaseRefundOrderDO
!=
null
&&
leaseRefundOrderDO
.
getModifiedDeposit
()
!=
null
)
{
handleModifiedDeposit
(
currentAccount
,
leaseOrderDO
,
managerRes
,
leaseRefundOrderDO
);
}
// 为0时标识订单收益,否则就是修改状态
if
(
flag
==
0
)
{
handleOrderIncome
(
currentAccount
,
leaseOrderDO
,
managerRes
);
this
.
updateLeaseOrderStatus
(
orderId
,
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
);
}
else
{
// 修改退款操状态
this
.
updateLeaseOrderStatus
(
leaseOrderDO
.
getId
(),
LeaseOrderStatus
.
CLOSE
);
}
return
ResultBody
.
success
();
}
private
ResultBody
handleModifiedDeposit
(
BaseAccountDTO
currentAccount
,
LeaseOrderDO
leaseOrderDO
,
ResultBody
managerRes
,
LeaseRefundOrderDO
leaseRefundOrderDO
)
{
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setCashAmount
(
BigDecimal
.
ZERO
);
payUavWalletVO
.
setSalaryAmount
(
leaseRefundOrderDO
.
getModifiedDeposit
());
payUavWalletVO
.
setRemark
(
"租赁订单获赔,订单编号"
+
leaseOrderDO
.
getOrderNo
());
payUavWalletVO
.
setOrderStatus
(
1800
);
payUavWalletVO
.
setUserAccountId
((
Integer
)
managerRes
.
getResult
());
payUavWalletVO
.
setUserAccountId
((
Integer
)
managerRes
.
getResult
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
ResultBody
resultIncomeBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
resultBody
;
if
(!
resultIncomeBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultIncomeBody
;
}
return
ResultBody
.
success
();
}
}
private
ResultBody
handleOrderIncome
(
BaseAccountDTO
currentAccount
,
LeaseOrderDO
leaseOrderDO
,
ResultBody
managerRes
)
{
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
BigDecimal
orderTotalAmount
=
leaseOrderDO
.
getOrderTotalAmount
().
subtract
(
leaseOrderDO
.
getDeposit
());
BigDecimal
thirdAmount
=
orderTotalAmount
.
multiply
(
BigDecimal
.
valueOf
(
100
).
subtract
(
UavOrderProportion
.
PROPORTION
).
divide
(
BigDecimal
.
valueOf
(
100
)));
payUavWalletVO
.
setCashAmount
(
BigDecimal
.
ZERO
);
payUavWalletVO
.
setSalaryAmount
(
thirdAmount
);
payUavWalletVO
.
setRemark
(
"租赁订单收入,订单编号"
+
leaseOrderDO
.
getOrderNo
());
payUavWalletVO
.
setOrderStatus
(
1500
);
payUavWalletVO
.
setUserAccountId
((
Integer
)
managerRes
.
getResult
());
ResultBody
resultIncomeBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultIncomeBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultIncomeBody
;
}
leaseOrderDao
.
updateLeaseOrderProportion
(
leaseOrderDO
.
getId
(),
UavOrderProportion
.
PROPORTION
.
intValue
());
leaseOrderDao
.
updateLeaseOrderProportion
(
leaseOrderDO
.
getId
(),
UavOrderProportion
.
PROPORTION
.
intValue
());
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
);
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
private
ResultBody
moneyRefund
(
BigDecimal
shareCashPledge
,
BigDecimal
salaryCashPledge
,
BaseAccountDTO
currentAccount
,
LeaseOrderDO
leaseOrderDO
)
{
PayUavWalletVO
refundUavWalletVO
=
new
PayUavWalletVO
();
refundUavWalletVO
.
setRemark
(
"租赁押金退回"
);
refundUavWalletVO
.
setCashAmount
(
shareCashPledge
);
refundUavWalletVO
.
setSalaryAmount
(
salaryCashPledge
);
refundUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
refundUavWalletVO
.
setOrderStatus
(
1600
);
ResultBody
giveBackPledge
=
userAppApi
.
feignPayUavWallet
(
refundUavWalletVO
,
currentAccount
.
getToken
());
if
(!
giveBackPledge
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
giveBackPledge
;
}
return
ResultBody
.
success
();
}
private
ApplyRefundVO
wxRefund
(
LeaseOrderDO
leaseOrderDO
)
{
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
applyRefundVO
.
setOutTradeNo
(
leaseOrderDO
.
getOrderNo
());
applyRefundVO
.
setReason
(
"租赁押金退款"
);
applyRefundVO
.
setRefund
(
leaseOrderDO
.
getOtherPledge
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
longValue
());
return
applyRefundVO
;
}
private
PayUavWalletVO
amountUnfreezing
(
LeaseOrderDO
leaseOrderDO
,
BigDecimal
shareAmount
,
BigDecimal
salaryAmount
)
{
PayUavWalletVO
userPayUavWalletVO
=
new
PayUavWalletVO
();
userPayUavWalletVO
.
setRemark
(
"租赁订单金额解冻"
);
userPayUavWalletVO
.
setCashAmount
(
shareAmount
.
add
(
leaseOrderDO
.
getShareCashPledge
()));
userPayUavWalletVO
.
setSalaryAmount
(
salaryAmount
.
add
(
leaseOrderDO
.
getSalaryCashPledge
()));
userPayUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
return
userPayUavWalletVO
;
}
@Override
public
ResultBody
confirmSettlement
(
Integer
id
,
BaseAccountDTO
currentAccount
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
id
);
log
.
info
(
"平台确认归还操作,leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
.
getCode
()))
{
return
ResultBody
.
error
(
"请勿重复操作"
);
}
boolean
isModifiedConfirmed
=
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
MODIFIED_DEPOSIT_TO_BE_CONFIRMED
.
getCode
());
boolean
isRefund
=
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
MODIFIED_DEPOSIT_REFUND
.
getCode
());
if
(
isModifiedConfirmed
||
isRefund
)
{
// 根据订单id查询出修改后的押金
LeaseRefundOrderDO
leaseRefundOrderDO
=
leaseOrderDao
.
selectGiveBackByOrderId
(
id
,
OrderType
.
PFREC
.
getCode
());
BigDecimal
operatingDeposit
=
BigDecimal
.
ZERO
;
operatingDeposit
=
operatingDeposit
.
add
(
leaseRefundOrderDO
.
getModifiedDeposit
());
// 判断用户之前的押金,然后进行操作:
// 1、分别获取用户之前抵扣掉的押金
BigDecimal
shareCashPledge
=
leaseOrderDO
.
getShareCashPledge
();
BigDecimal
salaryCashPledge
=
leaseOrderDO
.
getSalaryCashPledge
();
BigDecimal
otherPledge
=
leaseOrderDO
.
getOtherPledge
();
// 一一判断押金是否够扣减的
if
(
shareCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
shareCashPledge
.
compareTo
(
operatingDeposit
)
>=
0
)
{
// 云享金押金足够抵扣
shareCashPledge
=
shareCashPledge
.
subtract
(
operatingDeposit
);
}
else
{
operatingDeposit
=
operatingDeposit
.
subtract
(
shareCashPledge
);
if
(
salaryCashPledge
.
compareTo
(
operatingDeposit
)
>=
0
)
{
// 云享金押金+余额押金足够抵扣
salaryCashPledge
=
salaryCashPledge
.
subtract
(
operatingDeposit
);
// 进行后续操作
}
else
{
operatingDeposit
=
operatingDeposit
.
subtract
(
salaryCashPledge
);
if
(
otherPledge
.
compareTo
(
operatingDeposit
)
>=
0
)
{
// 云享金押金+余额押金+其他押金足够抵扣
otherPledge
=
otherPledge
.
subtract
(
operatingDeposit
);
// 进行后续操作
}
}
}
// 进行金额解冻
PayUavWalletVO
userPayUavWalletVO
=
amountUnfreezing
(
leaseOrderDO
,
leaseOrderDO
.
getShareAmount
(),
leaseOrderDO
.
getSalaryAmount
());
userPayUavWalletVO
.
setOrderStatus
(
999
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultBody
;
}
// 进行多余的押金退回
if
((
shareCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
))
{
moneyRefund
(
shareCashPledge
,
salaryCashPledge
,
currentAccount
,
leaseOrderDO
);
}
}
else
{
}
else
{
// todo 进行相应赔偿
if
(
otherPledge
.
compareTo
(
operatingDeposit
)
>=
0
)
{
// 云享金押金+余额押金+其他押金足够抵扣
otherPledge
=
otherPledge
.
subtract
(
operatingDeposit
);
}
}
// 退回微信支付的押金部分
if
(
otherPledge
!=
null
&&
otherPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ApplyRefundVO
applyRefundVO
=
wxRefund
(
leaseOrderDO
);
applyRefundVO
.
setRefund
(
otherPledge
.
multiply
(
BigDecimal
.
valueOf
(
100
)).
longValue
());
ResultBody
refundOtherPledge
=
paymentAppApi
.
applyRefund
(
applyRefundVO
,
currentAccount
.
getToken
());
if
(!
refundOtherPledge
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
refundOtherPledge
;
}
}
if
(
isModifiedConfirmed
)
{
// 进行平台打款
return
businessIncome
(
currentAccount
,
id
,
leaseOrderDO
,
0
);
}
if
(
isRefund
)
{
// 退回微信的钱
if
(
leaseOrderDO
.
getOtherAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ApplyRefundVO
applyRefundVO
=
wxRefund
(
leaseOrderDO
);
applyRefundVO
.
setRefund
((
leaseOrderDO
.
getOtherPledge
().
add
(
leaseOrderDO
.
getOtherAmount
())).
multiply
(
BigDecimal
.
valueOf
(
100
)).
longValue
());
ResultBody
refundOtherPledge
=
paymentAppApi
.
applyRefund
(
applyRefundVO
,
currentAccount
.
getToken
());
if
(!
refundOtherPledge
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
refundOtherPledge
;
}
}
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
// 退回云享金及余额
PayUavWalletVO
userPayUavWalletVO
=
new
PayUavWalletVO
();
userPayUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
userPayUavWalletVO
.
setCashAmount
(
leaseOrderDO
.
getShareAmount
());
userPayUavWalletVO
.
setSalaryAmount
(
leaseOrderDO
.
getSalaryAmount
());
userPayUavWalletVO
.
setRemark
(
"租赁订单退款"
);
userPayUavWalletVO
.
setOrderStatus
(
1700
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultBody
;
}
}
// 进行平台打款
return
businessIncome
(
currentAccount
,
id
,
leaseOrderDO
,
1
);
}
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
else
{
return
ResultBody
.
error
(
"状态流程有误"
);
}
}
}
@Override
public
ResultBody
remarkOrder
(
UavOrderRemarkVO
uavOrderRemarkVO
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
uavOrderRemarkVO
.
getUavOrderId
());
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
.
getCode
()))
{
return
ResultBody
.
error
(
"状态流程有误"
);
}
// 修改订单状态
this
.
updateLeaseOrderStatus
(
uavOrderRemarkVO
.
getUavOrderId
(),
LeaseOrderStatus
.
COMPLETE_TRANSACTION
);
leaseOrderDao
.
updateLeaseOrderRemarkStatus
(
leaseOrderDO
.
getId
());
// 填入评价内容
UavOrderRemarkDO
uavOrderRemarkDO
=
new
UavOrderRemarkDO
(
uavOrderRemarkVO
);
uavOrderRemarkDO
.
setRemarkType
(
1
);
uavOrderRemarkDO
.
setMallGoodsId
(
leaseOrderDO
.
getId
());
leaseOrderDao
.
addRemarkOrder
(
uavOrderRemarkDO
);
return
ResultBody
.
success
();
}
}
}
}
src/main/resources/mapper/lease/LeaseOrderDao.xml
浏览文件 @
fac87e81
...
@@ -24,13 +24,15 @@
...
@@ -24,13 +24,15 @@
start_date,
start_date,
share_cash_pledge,
share_cash_pledge,
salary_cash_pledge,
salary_cash_pledge,
other_pledge,
mode_of_delivery_Info,
end_date,
end_date,
sku)
sku)
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId},
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId},
#{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount},
#{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount},
#{userAddressId},
#{userAddressId},
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{shareCashPledge},
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{shareCashPledge},
#{salaryCashPledge}, #{endDate}, #{sku});
#{salaryCashPledge}, #{
otherPledge}, #{modeOfDeliveryInfo}, #{
endDate}, #{sku});
</insert>
</insert>
<insert
id=
"addAddress"
keyProperty=
"id"
useGeneratedKeys=
"true"
<insert
id=
"addAddress"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.oms.entity.lease.LeaseOrderExpressDO"
>
parameterType=
"com.mmc.oms.entity.lease.LeaseOrderExpressDO"
>
...
@@ -41,10 +43,16 @@
...
@@ -41,10 +43,16 @@
</insert>
</insert>
<insert
id=
"addLeaseRefundOrder"
parameterType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
useGeneratedKeys=
"true"
<insert
id=
"addLeaseRefundOrder"
parameterType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
keyProperty=
"id"
>
insert into lease_refund_order(lease_order_id, status, file, reason, type, lease_order_express_id)
insert into lease_refund_order(lease_order_id, status, file, reason, type, lease_order_express_id,
values (#{leaseOrderId}, #{status}, #{file}, #{reason}, #{type}, #{leaseOrderExpressId})
modified_deposit)
values (#{leaseOrderId}, #{status}, #{file}, #{reason}, #{type}, #{leaseOrderExpressId}, #{modifiedDeposit})
</insert>
</insert>
<update
id=
"updateUavOrderStatus"
>
<insert
id=
"addRemarkOrder"
>
insert into uav_order_remark (remark_type, mall_goods_id, uav_order_id, remark_level, uav_images, content,
create_time)
values (#{remarkType}, #{mallGoodsId}, #{uavOrderId}, #{remarkLevel}, #{uavImages}, #{content}, NOW())
</insert>
<update
id=
"updateLeaseOrderStatus"
>
update lease_order
update lease_order
set status_code = #{code}
set status_code = #{code}
where id = #{id}
where id = #{id}
...
@@ -105,7 +113,13 @@
...
@@ -105,7 +113,13 @@
</update>
</update>
<update
id=
"updateLeaseOrderProportion"
>
<update
id=
"updateLeaseOrderProportion"
>
update lease_order
update lease_order
set proportion = #{proportion}
set proportion = #{proportion},
confirm_receipt_time = NOW()
where id = #{id}
</update>
<update
id=
"updateLeaseOrderRemarkStatus"
>
update lease_order
set remark_status = 1
where id = #{id}
where id = #{id}
</update>
</update>
...
@@ -114,7 +128,8 @@
...
@@ -114,7 +128,8 @@
,order_no,status_code,user_account_id,lease_goods_id,company_name,third_back_user_account_id,
,order_no,status_code,user_account_id,lease_goods_id,company_name,third_back_user_account_id,
order_name,sku_img,sku,order_total_amount,salary_amount,share_amount,other_amount,pay_type,
order_name,sku_img,sku,order_total_amount,salary_amount,share_amount,other_amount,pay_type,
user_address_id,user_remark,seller_remark,pay_time,confirm_receipt_time,version,remark_status,mode_of_delivery_Info,
user_address_id,user_remark,seller_remark,pay_time,confirm_receipt_time,version,remark_status,mode_of_delivery_Info,
proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,start_date,end_date,shut_reason,send_ware_time
proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,start_date,end_date,shut_reason,
share_cash_pledge,salary_cash_pledge,other_pledge
</sql>
</sql>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderDO"
>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderDO"
>
...
@@ -138,7 +153,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
...
@@ -138,7 +153,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
select count(*) from lease_order lo
select count(*) from lease_order lo
where 1 = 1
where 1 = 1
<if
test=
"keyword != null"
>
<if
test=
"keyword != null"
>
and
order_no = #{keyword}
and
(lo.order_no like CONCAT('%',#{keyword},'%') or lo.order_name like CONCAT('%',#{keyword},'%'))
</if>
</if>
<if
test=
"userAccountId != null"
>
<if
test=
"userAccountId != null"
>
and user_account_id = #{userAccountId}
and user_account_id = #{userAccountId}
...
@@ -167,7 +182,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
...
@@ -167,7 +182,7 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
WHERE
WHERE
1 = 1
1 = 1
<if
test=
"keyword != null"
>
<if
test=
"keyword != null"
>
and
lo.order_no = #{keyword}
and
(lo.order_no like CONCAT('%',#{keyword},'%') or lo.order_name like CONCAT('%',#{keyword},'%'))
</if>
</if>
<if
test=
"uid != null"
>
<if
test=
"uid != null"
>
and lo.user_account_id = #{uid}
and lo.user_account_id = #{uid}
...
@@ -190,12 +205,12 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
...
@@ -190,12 +205,12 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
<if
test=
"showUserPort != null"
>
<if
test=
"showUserPort != null"
>
and show_user_port = #{showUserPort}
and show_user_port = #{showUserPort}
</if>
</if>
order by lo.
id
desc
order by lo.
create_time
desc
limit #{pageNo}, #{pageSize}
limit #{pageNo}, #{pageSize}
</select>
</select>
<sql
id=
"lease_refund_order_column"
>
<sql
id=
"lease_refund_order_column"
>
id
id
,lease_order_express_id,lease_order_id,status,type,file,reason,create_time
,lease_order_express_id,lease_order_id,status,type,file,reason,create_time
,modified_deposit
</sql>
</sql>
<select
id=
"getLeaseRefundOrder"
resultType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
>
<select
id=
"getLeaseRefundOrder"
resultType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
>
select
select
...
@@ -229,4 +244,10 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
...
@@ -229,4 +244,10 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
</foreach>
</foreach>
</where>
</where>
</select>
</select>
<select
id=
"selectGiveBackByOrderId"
resultType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
>
select
<include
refid=
"lease_refund_order_column"
/>
from lease_refund_order
where lease_order_id = #{id} and type = #{type}
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论