Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
9f520a47
提交
9f520a47
authored
9月 26, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
租赁订单
上级
71c0169a
显示空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
718 行增加
和
42 行删除
+718
-42
LeaseOrderController.java
...va/com/mmc/oms/controller/lease/LeaseOrderController.java
+60
-1
LeaseOrderDao.java
src/main/java/com/mmc/oms/dao/lease/LeaseOrderDao.java
+23
-0
LeaseOrderDO.java
src/main/java/com/mmc/oms/entity/lease/LeaseOrderDO.java
+4
-0
LeaseOrderExpressDO.java
...in/java/com/mmc/oms/entity/lease/LeaseOrderExpressDO.java
+26
-0
LeaseRefundOrderDO.java
...ain/java/com/mmc/oms/entity/lease/LeaseRefundOrderDO.java
+12
-2
LeaseOrderStatus.java
src/main/java/com/mmc/oms/enums/LeaseOrderStatus.java
+4
-3
OrderType.java
src/main/java/com/mmc/oms/enums/OrderType.java
+34
-0
LeaseOrderDTO.java
src/main/java/com/mmc/oms/model/dto/lease/LeaseOrderDTO.java
+4
-1
LeaseRefundOrderDTO.java
...java/com/mmc/oms/model/dto/lease/LeaseRefundOrderDTO.java
+39
-0
TranStatusDicDTO.java
...va/com/mmc/oms/model/dto/transtatus/TranStatusDicDTO.java
+2
-1
AddLeaseOrderVO.java
...main/java/com/mmc/oms/model/vo/lease/AddLeaseOrderVO.java
+4
-0
LeaseOrderRefundVO.java
...n/java/com/mmc/oms/model/vo/lease/LeaseOrderRefundVO.java
+8
-2
DemandReleaseOrderServiceImpl.java
...ms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
+34
-13
LeaseOrderService.java
...ain/java/com/mmc/oms/service/lease/LeaseOrderService.java
+19
-0
LeaseOrderServiceImpl.java
...com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
+274
-9
LeaseOrderDao.xml
src/main/resources/mapper/lease/LeaseOrderDao.xml
+171
-10
没有找到文件。
src/main/java/com/mmc/oms/controller/lease/LeaseOrderController.java
浏览文件 @
9f520a47
...
...
@@ -3,9 +3,11 @@ package com.mmc.oms.controller.lease;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.model.dto.lease.LeaseOrderDTO
;
import
com.mmc.oms.model.dto.transtatus.TranStatusDicDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -44,7 +46,7 @@ public class LeaseOrderController extends BaseController {
@ApiOperation
(
value
=
"买家申请退款(取消订单)"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@
Ge
tMapping
(
"close"
)
@
Pos
tMapping
(
"close"
)
public
ResultBody
close
(
@RequestBody
LeaseOrderRefundVO
leaseOrderRefundVO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
close
(
leaseOrderRefundVO
,
this
.
getCurrentAccount
(
request
).
getToken
());
}
...
...
@@ -55,4 +57,61 @@ public class LeaseOrderController extends BaseController {
public
ResultBody
<
LeaseOrderDTO
>
list
(
@RequestBody
UavOrderQO
uavOrderQO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
list
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"个人订单列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LeaseOrderDTO
.
class
)})
@PostMapping
(
"listByUid"
)
public
ResultBody
<
LeaseOrderDTO
>
listByUid
(
@RequestBody
UavOrderQO
uavOrderQO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
listByUid
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"支付"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"pay"
)
public
ResultBody
pay
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
pay
(
id
,
this
.
getCurrentAccount
(
request
),
request
);
}
@ApiOperation
(
value
=
"发货"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"send"
)
public
ResultBody
send
(
@RequestBody
UavOrderExpressVO
param
)
{
return
leaseOrderService
.
send
(
param
);
}
@ApiOperation
(
value
=
"用户收货"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"receive"
)
public
ResultBody
receive
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
receive
(
id
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"归还商品"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"giveBack"
)
public
ResultBody
giveBack
(
@RequestBody
LeaseOrderRefundVO
leaseOrderRefundVO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
giveBack
(
leaseOrderRefundVO
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"平台确认归还"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"pfConfirmOrderWare"
)
public
ResultBody
pfConfirmOrderWare
(
HttpServletRequest
request
,
@RequestBody
LeaseOrderRefundVO
param
)
{
return
leaseOrderService
.
pfConfirmOrderWare
(
this
.
getCurrentAccount
(
request
),
param
);
}
@ApiOperation
(
value
=
"订单状态列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
TranStatusDicDTO
.
class
)})
@GetMapping
(
"statusList"
)
public
ResultBody
statusList
()
{
return
leaseOrderService
.
statusList
();
}
@ApiOperation
(
value
=
"用户删除订单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"removeLeaseOrder"
)
public
ResultBody
removeLeaseOrder
(
@RequestParam
Integer
id
)
{
return
leaseOrderService
.
removeLeaseOrder
(
id
);
}
}
src/main/java/com/mmc/oms/dao/lease/LeaseOrderDao.java
浏览文件 @
9f520a47
...
...
@@ -3,8 +3,13 @@ package com.mmc.oms.dao.lease;
import
com.mmc.oms.entity.lease.LeaseOrderDO
;
import
com.mmc.oms.entity.lease.LeaseOrderExpressDO
;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.transtatus.TranStatusDicDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/9/21 16:48
...
...
@@ -23,4 +28,22 @@ public interface LeaseOrderDao {
void
updateUavOrderStatus
(
Integer
id
,
Integer
code
);
void
addLeaseRefundOrder
(
LeaseRefundOrderDO
leaseRefundOrderDO
);
int
countList
(
UavOrderQO
uavOrderQO
);
List
<
LeaseOrderDO
>
list
(
UavOrderQO
uavOrderQO
);
List
<
LeaseRefundOrderDO
>
getLeaseRefundOrder
(
List
<
Integer
>
ids
);
UavOrderDO
detailByNo
(
String
orderNo
);
void
updateLeaseOrderExpress
(
LeaseOrderExpressDO
leaseOrderExpressDO
);
List
<
TranStatusDicDO
>
statusList
();
void
closeShowLeaseOrder
(
Integer
id
);
List
<
LeaseOrderExpressDO
>
listLeaseOrderExpress
(
List
<
Integer
>
expressIds
);
void
updateLeaseOrderProportion
(
Integer
id
,
int
proportion
);
}
src/main/java/com/mmc/oms/entity/lease/LeaseOrderDO.java
浏览文件 @
9f520a47
...
...
@@ -154,6 +154,10 @@ public class LeaseOrderDO implements Serializable {
private
String
modeOfDeliveryInfo
;
private
BigDecimal
shareCashPledge
;
private
BigDecimal
salaryCashPledge
;
public
LeaseOrderDTO
buildLeaseOrderDTO
()
{
return
LeaseOrderDTO
.
builder
().
id
(
id
).
orderNo
(
orderNo
).
statusCode
(
statusCode
).
userAccountId
(
userAccountId
)
.
thirdBackUserAccountId
(
thirdBackUserAccountId
).
companyName
(
companyName
).
orderTotalAmount
(
orderTotalAmount
)
...
...
src/main/java/com/mmc/oms/entity/lease/LeaseOrderExpressDO.java
浏览文件 @
9f520a47
...
...
@@ -2,6 +2,8 @@ package com.mmc.oms.entity.lease;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.model.dto.uav.UavOrderExpressDTO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
@@ -44,6 +46,10 @@ public class LeaseOrderExpressDO implements Serializable {
* 收货详细地址
*/
private
String
takeAddress
;
private
String
returnExpNo
;
private
String
returnExpCode
;
private
Date
returnTime
;
/**
* 发货时间
*/
...
...
@@ -68,6 +74,26 @@ public class LeaseOrderExpressDO implements Serializable {
this
.
takeAddress
=
userAddressDO
.
getTakeAddress
();
}
public
LeaseOrderExpressDO
(
UavOrderExpressVO
param
)
{
this
.
id
=
param
.
getId
();
this
.
leaseOrderId
=
param
.
getUavOrderId
();
this
.
sendExpNo
=
param
.
getSendExpNo
();
this
.
sendExpCode
=
param
.
getSendExpCode
();
this
.
takeName
=
param
.
getTakeName
();
this
.
takePhone
=
param
.
getTakePhone
();
this
.
takeRegion
=
param
.
getTakeRegion
();
this
.
takeAddress
=
param
.
getTakeAddress
();
this
.
sendTime
=
new
Date
();
}
public
LeaseOrderExpressDO
(
LeaseOrderRefundVO
leaseOrderRefundVO
)
{
this
.
id
=
leaseOrderRefundVO
.
getId
();
this
.
leaseOrderId
=
leaseOrderRefundVO
.
getOrderId
();
this
.
returnExpNo
=
leaseOrderRefundVO
.
getExpressNum
();
this
.
returnExpCode
=
leaseOrderRefundVO
.
getExpressCode
();
this
.
receiveTime
=
new
Date
();
}
public
UavOrderExpressDTO
buildUavOrderExpressDTO
()
{
return
UavOrderExpressDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
leaseOrderId
).
sendExpNo
(
this
.
sendExpNo
).
sendExpCode
(
this
.
sendExpCode
).
takeName
(
this
.
takeName
)
.
takePhone
(
this
.
takePhone
).
takeAddress
(
this
.
takeAddress
).
takeRegion
(
this
.
takeRegion
).
receive
(
this
.
receive
).
receiveTime
(
this
.
receiveTime
)
...
...
src/main/java/com/mmc/oms/entity/lease/LeaseRefundOrderDO.java
浏览文件 @
9f520a47
package
com
.
mmc
.
oms
.
entity
.
lease
;
import
com.mmc.oms.model.dto.lease.LeaseRefundOrderDTO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -44,12 +45,21 @@ public class LeaseRefundOrderDO implements Serializable {
private
Date
updateTime
;
private
Integer
leaseOrderExpressId
;
private
Integer
type
;
public
LeaseRefundOrderDO
(
LeaseOrderRefundVO
leaseOrderRefundVO
)
{
this
.
leaseOrderId
=
leaseOrderRefundVO
.
getId
();
this
.
leaseOrderId
=
leaseOrderRefundVO
.
get
Order
Id
();
this
.
status
=
leaseOrderRefundVO
.
getStatus
();
this
.
expressNum
=
leaseOrderRefundVO
.
getExpressNum
();
this
.
file
=
leaseOrderRefundVO
.
getFile
();
this
.
reason
=
leaseOrderRefundVO
.
getReason
();
}
public
LeaseRefundOrderDTO
buildLeaseRefundOrderDTO
()
{
return
LeaseRefundOrderDTO
.
builder
().
id
(
this
.
id
).
leaseOrderId
(
this
.
leaseOrderId
)
.
status
(
this
.
status
).
file
(
this
.
file
).
reason
(
this
.
reason
)
.
createTime
(
this
.
createTime
).
build
();
}
}
src/main/java/com/mmc/oms/enums/LeaseOrderStatus.java
浏览文件 @
9f520a47
...
...
@@ -6,12 +6,13 @@ package com.mmc.oms.enums;
*/
public
enum
LeaseOrderStatus
{
PLACED_AN_ORDER
(
100
,
"已下单"
,
"待付款"
),
PAID
(
200
,
"已付款"
,
"
等
发货"
),
PAID
(
200
,
"已付款"
,
"
待
发货"
),
SHIPPED
(
300
,
"卖家已发货"
,
"待买家收货"
),
TO_BE_RETURNED
(
400
,
"待归还"
,
"待归还"
),
WAITING_MERCHANT_CONFIRM
(
500
,
"等待商家确认"
,
"等待商家确认"
),
COMPLETE_TRANSACTION
(
600
,
"交易完成"
,
"交易完成"
),
APPLY_REFUND
(
700
,
"申请退款"
,
"退款中"
),
REMAIN_TO_BE_EVALUATED
(
600
,
"待评价"
,
"待评价"
),
COMPLETE_TRANSACTION
(
700
,
"交易完成"
,
"交易完成"
),
APPLY_REFUND
(
800
,
"申请退款"
,
"退款中"
),
CLOSE
(
999
,
"订单关闭"
,
"订单关闭"
);
public
Integer
getCode
()
{
...
...
src/main/java/com/mmc/oms/enums/OrderType.java
0 → 100644
浏览文件 @
9f520a47
package
com
.
mmc
.
oms
.
enums
;
/**
* @author 作者 lw
* @version 创建时间:2023年09月26日 下午10:57:12
* @explain 类说明
*/
public
enum
OrderType
{
REC
(
1
,
"客户收货"
),
RETURN
(
2
,
"归还"
),
PFREC
(
3
,
"平台收货"
),
RETREAT
(
4
,
"申请退款"
);
OrderType
(
Integer
code
,
String
status
)
{
this
.
code
=
code
;
this
.
status
=
status
;
}
private
Integer
code
;
private
String
status
;
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
}
src/main/java/com/mmc/oms/model/dto/lease/LeaseOrderDTO.java
浏览文件 @
9f520a47
...
...
@@ -91,5 +91,8 @@ public class LeaseOrderDTO implements Serializable {
private
String
skuImg
;
@ApiModelProperty
(
"运费"
)
private
String
modeOfDeliveryInfo
;
@ApiModelProperty
(
"发货后申请退款"
)
private
LeaseRefundOrderDTO
leaseRefundOrder
;
@ApiModelProperty
(
"商户确认收货信息"
)
private
LeaseRefundOrderDTO
storeReceiveOrder
;
}
src/main/java/com/mmc/oms/model/dto/lease/LeaseRefundOrderDTO.java
0 → 100644
浏览文件 @
9f520a47
package
com
.
mmc
.
oms
.
model
.
dto
.
lease
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Author LW
* @date 2023/9/25 14:19
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
LeaseRefundOrderDTO
implements
Serializable
{
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"订单id"
)
private
Integer
leaseOrderId
;
@ApiModelProperty
(
"归还状态:0已归还 1无需归还"
)
private
Integer
status
;
@ApiModelProperty
(
"快递单号"
)
private
String
expressNum
;
@ApiModelProperty
(
"物流编号"
)
private
String
expressCode
;
@ApiModelProperty
(
"图片文件"
)
private
String
file
;
@ApiModelProperty
(
"退款原因"
)
private
String
reason
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
}
src/main/java/com/mmc/oms/model/dto/transtatus/TranStatusDicDTO.java
浏览文件 @
9f520a47
...
...
@@ -17,12 +17,13 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.TranStatusDicDTO", description = "订单状态DTO")
public
class
TranStatusDicDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5956006425413101797L
;
@ApiModelProperty
(
value
=
"状态码"
)
private
String
status
;
@ApiModelProperty
(
value
=
"当前状态描述"
)
private
String
doing
;
@ApiModelProperty
(
value
=
"等待状态描述"
)
private
String
waiting
;
private
String
leaseOrderStatus
;
}
src/main/java/com/mmc/oms/model/vo/lease/AddLeaseOrderVO.java
浏览文件 @
9f520a47
...
...
@@ -33,6 +33,10 @@ public class AddLeaseOrderVO implements Serializable {
private
BigDecimal
walletAmount
;
@ApiModelProperty
(
value
=
"抵扣云享金余额"
,
hidden
=
true
)
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
value
=
"云享金抵扣押金金额"
,
hidden
=
true
)
private
BigDecimal
shareCashPledgeAmount
;
@ApiModelProperty
(
value
=
"余额抵扣押金金额"
,
hidden
=
true
)
private
BigDecimal
salaryCashPledgeAmount
;
@ApiModelProperty
(
value
=
"其他方式支付额度"
,
hidden
=
true
)
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
value
=
"租期"
,
hidden
=
true
)
...
...
src/main/java/com/mmc/oms/model/vo/lease/LeaseOrderRefundVO.java
浏览文件 @
9f520a47
...
...
@@ -16,12 +16,18 @@ import java.io.Serializable;
@AllArgsConstructor
@NoArgsConstructor
public
class
LeaseOrderRefundVO
implements
Serializable
{
@ApiModelProperty
(
"
订单
id"
)
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"归还状态 0已归还 1无需归还"
)
@ApiModelProperty
(
"订单id"
)
private
Integer
orderId
;
@ApiModelProperty
(
"归还状态 0已归还 1无需归还(注:发货后申请退款需要传,归还商品的时候不需要)"
)
private
Integer
status
;
@ApiModelProperty
(
"商家确认商品是否破损 0:未破损 1:破损"
)
private
Integer
damage
;
@ApiModelProperty
(
"物流单号"
)
private
String
expressNum
;
@ApiModelProperty
(
value
=
"物流编码"
)
private
String
expressCode
;
@ApiModelProperty
(
"图片文件"
)
private
String
file
;
@ApiModelProperty
(
"原因"
)
...
...
src/main/java/com/mmc/oms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
浏览文件 @
9f520a47
...
...
@@ -9,6 +9,7 @@ import com.mmc.oms.common.util.TDateUtil;
import
com.mmc.oms.controller.demand.util.EmojiUtils
;
import
com.mmc.oms.dao.demand.DemandReleaseOrderDao
;
import
com.mmc.oms.dao.demand.PublishServiceOrderDao
;
import
com.mmc.oms.dao.lease.LeaseOrderDao
;
import
com.mmc.oms.dao.topup.TopUpOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.dao.uav.UavPayWxDao
;
...
...
@@ -19,9 +20,7 @@ import com.mmc.oms.entity.demand.ServiceRequirementsDO;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.entity.uav.UavPayWxDO
;
import
com.mmc.oms.enums.UavOrderStatus
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.demand.DemandReleaseOrderVO
;
import
com.mmc.oms.model.vo.demand.OrderRequestParamsVO
;
...
...
@@ -41,7 +40,6 @@ import org.springframework.web.client.RestTemplate;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -88,6 +86,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
@Autowired
private
UserAppApi
userAppApi
;
@Autowired
private
LeaseOrderDao
leaseOrderDao
;
@Override
public
ResultBody
publish
(
DemandReleaseOrderVO
demandReleaseOrderVO
,
HttpServletRequest
request
)
{
DemandReleaseOrderDO
requirementsInfoDO
=
new
DemandReleaseOrderDO
(
demandReleaseOrderVO
);
...
...
@@ -102,11 +103,13 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
switch
(
commonPaymentVO
.
getOrderPort
().
toString
())
{
case
"0"
:
return
payUavOrder
(
commonPaymentVO
,
token
);
case
"1"
:
return
payLeaseOrder
(
commonPaymentVO
,
token
);
case
"3"
:
return
orderPost
(
commonPaymentVO
,
token
);
case
"4"
:
//发布服务需求支付
return
publishServicePay
(
commonPaymentVO
,
token
,
userAccountId
,
request
);
return
publishServicePay
(
commonPaymentVO
,
token
,
userAccountId
,
request
);
case
"5"
:
return
topUpOrder
(
commonPaymentVO
,
token
,
userAccountId
);
default
:
...
...
@@ -114,9 +117,27 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
}
}
private
ResultBody
payLeaseOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
)
{
OrderRequestParamsVO
orderRequestParamsVO
=
new
OrderRequestParamsVO
();
orderRequestParamsVO
.
setOrderNo
(
commonPaymentVO
.
getOrderNumber
());
orderRequestParamsVO
.
setAmount
(
commonPaymentVO
.
getAmount
());
orderRequestParamsVO
.
setAttach
(
"LEASE_ORDER"
);
orderRequestParamsVO
.
setOrderPort
(
commonPaymentVO
.
getOrderPort
());
UavOrderDO
leaseOrder
=
leaseOrderDao
.
detailByNo
(
commonPaymentVO
.
getOrderNumber
());
if
(
leaseOrder
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
commonPaymentVO
.
getAmount
()))
!=
0
)
{
return
ResultBody
.
error
(
"支付金额不正确"
);
}
orderRequestParamsVO
.
setDescription
(
"租赁订单"
+
leaseOrder
.
getOrderNo
());
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
return
ResultBody
.
error
(
"调用微信支付方法失败"
);
}
return
resultBody
;
}
private
ResultBody
multiUavOrderPay
(
OrderRequestParamsVO
orderRequestParamsVO
,
String
token
)
{
UavPayWxDO
uavPayWxDO
=
uavPayWxDao
.
getUavPayWx
(
orderRequestParamsVO
.
getOrderNo
());
if
(
uavPayWxDO
.
getAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
orderRequestParamsVO
.
getAmount
()))
!=
0
)
{
if
(
uavPayWxDO
.
getAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
orderRequestParamsVO
.
getAmount
()))
!=
0
)
{
return
ResultBody
.
error
(
"发起支付金额不正确"
);
}
orderRequestParamsVO
.
setDescription
(
"商城多订单"
+
orderRequestParamsVO
.
getOrderNo
());
...
...
@@ -129,7 +150,7 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
private
ResultBody
singleUavOrderPay
(
OrderRequestParamsVO
orderRequestParamsVO
,
String
token
)
{
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
orderRequestParamsVO
.
getOrderNo
());
if
(
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
orderRequestParamsVO
.
getAmount
()))
!=
0
)
{
if
(
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
orderRequestParamsVO
.
getAmount
()))
!=
0
)
{
return
ResultBody
.
error
(
"发起支付金额不正确"
);
}
orderRequestParamsVO
.
setDescription
(
"商城订单"
+
uavOrderDO
.
getOrderNo
());
...
...
@@ -149,7 +170,7 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
// 购物车下单涉及多订单
if
(
commonPaymentVO
.
getOrderNumber
().
startsWith
(
"m"
))
{
return
multiUavOrderPay
(
orderRequestParamsVO
,
token
);
}
else
{
}
else
{
return
singleUavOrderPay
(
orderRequestParamsVO
,
token
);
}
}
...
...
@@ -190,9 +211,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
* @param userAccountId
* @return
*/
private
ResultBody
publishServicePay
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
,
HttpServletRequest
request
)
{
private
ResultBody
publishServicePay
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
,
HttpServletRequest
request
)
{
if
(
"4"
.
equals
(
commonPaymentVO
.
getOrderPort
().
toString
())){
if
(
"4"
.
equals
(
commonPaymentVO
.
getOrderPort
().
toString
()))
{
try
{
TimeUnit
.
SECONDS
.
sleep
(
1
);
}
catch
(
InterruptedException
e
)
{
...
...
@@ -202,14 +223,14 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
orderNumber
);
GetOrderNumberDTO
getOrderNumberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
GetOrderNumberDO
getOrderNumberDO
=
new
GetOrderNumberDO
(
getOrderNumberDTO
);
if
(
getOrderNumberDTO
.
getRequirementsInfoId
()
!=
null
)
{
if
(
getOrderNumberDTO
.
getRequirementsInfoId
()
!=
null
)
{
int
i
=
releaseOrderDao
.
selectOrderNumberDO
(
getOrderNumberDO
.
getRequirementsInfoId
());
if
(
i
!=
0
)
{
if
(
i
!=
0
)
{
return
ResultBody
.
error
(
"当前需求已有人支付"
);
}
ServiceRequirementsDO
repertory
=
repertory
(
getOrderNumberDO
.
getRequirementsInfoId
(),
request
);
Integer
repertory1
=
repertory
.
getRepertory
();
if
(
repertory1
!=
null
&&
repertory1
<=
0
)
{
if
(
repertory1
!=
null
&&
repertory1
<=
0
)
{
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
}
...
...
@@ -220,7 +241,7 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
OrderRequestParamsVO
orderRequestParamsVO
=
getOrderNumberDO
.
orderRequestParamsVO
();
orderRequestParamsVO
.
setAmount
(
i
);
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
stringRedisTemplate
.
opsForValue
().
set
(
getOrderNumberDO
.
getPaymentOrderNumber
()
+
getOrderNumberDO
.
getUserAccountId
(),
JsonUtil
.
parseObjToJson
(
getOrderNumberDO
));
stringRedisTemplate
.
opsForValue
().
set
(
getOrderNumberDO
.
getPaymentOrderNumber
()
+
getOrderNumberDO
.
getUserAccountId
(),
JsonUtil
.
parseObjToJson
(
getOrderNumberDO
));
return
resultBody
;
}
return
ResultBody
.
success
();
...
...
src/main/java/com/mmc/oms/service/lease/LeaseOrderService.java
浏览文件 @
9f520a47
...
...
@@ -6,6 +6,9 @@ import com.mmc.oms.model.dto.user.BaseAccountDTO;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author LW
...
...
@@ -21,4 +24,20 @@ public interface LeaseOrderService {
ResultBody
close
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
String
token
);
ResultBody
<
LeaseOrderDTO
>
list
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
);
ResultBody
<
LeaseOrderDTO
>
listByUid
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
);
ResultBody
pay
(
Integer
id
,
BaseAccountDTO
currentAccount
,
HttpServletRequest
request
);
ResultBody
send
(
UavOrderExpressVO
param
);
ResultBody
receive
(
Integer
id
,
BaseAccountDTO
currentAccount
);
ResultBody
statusList
();
ResultBody
removeLeaseOrder
(
Integer
id
);
ResultBody
giveBack
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
);
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
);
}
src/main/java/com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
浏览文件 @
9f520a47
package
com
.
mmc
.
oms
.
service
.
lease
.
impl
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.constant.UavOrderProportion
;
import
com.mmc.oms.common.json.JsonUtil
;
import
com.mmc.oms.common.result.PageResult
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.util.CodeUtil
;
import
com.mmc.oms.common.util.KdnExpressUtil
;
...
...
@@ -11,39 +14,49 @@ import com.mmc.oms.entity.lease.LeaseOrderDO;
import
com.mmc.oms.entity.lease.LeaseOrderExpressDO
;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.transtatus.TranStatusDicDO
;
import
com.mmc.oms.enums.LeaseOrderStatus
;
import
com.mmc.oms.enums.LeaseTermInfo
;
import
com.mmc.oms.enums.OrderType
;
import
com.mmc.oms.feign.PaymentAppApi
;
import
com.mmc.oms.feign.PmsAppApi
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.kdn.KdnExpDTO
;
import
com.mmc.oms.model.dto.lease.LeaseOrderDTO
;
import
com.mmc.oms.model.dto.lease.LeaseRefundOrderDTO
;
import
com.mmc.oms.model.dto.order.ExpStationsDTO
;
import
com.mmc.oms.model.dto.transtatus.TranStatusDicDTO
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.dto.user.UserAccountSimpleDTO
;
import
com.mmc.oms.model.qo.UserAccountQO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.ApplyRefundVO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseGoodsVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.lease.LeasePriceStockVO
;
import
com.mmc.oms.model.vo.uav.GoodsResourcesVO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.service.demand.DemandReleaseOrderService
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.mmc.oms.util.TDateUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.
Collections
;
import
java.util.
Comparator
;
import
java.util.
Date
;
import
java.util.
*
;
import
java.util.
function.Function
;
import
java.util.
stream.Collectors
;
/**
* @Author LW
...
...
@@ -65,6 +78,8 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
private
UserAppApi
userAppApi
;
@Resource
private
PaymentAppApi
paymentAppApi
;
@Resource
DemandReleaseOrderService
demandReleaseOrderService
;
@Override
@Transactional
...
...
@@ -121,8 +136,16 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
BigDecimal
orderTotalAmount
=
param
.
getUnitPrice
().
multiply
(
BigDecimal
.
valueOf
(
param
.
getLeaseTerm
()))
.
multiply
(
BigDecimal
.
valueOf
(
param
.
getWareNum
())).
add
(
param
.
getDeposit
().
multiply
(
BigDecimal
.
valueOf
(
param
.
getWareNum
())));
BigDecimal
otherAmount
=
BigDecimal
.
ZERO
;
// 用来进行操作的总金额
otherAmount
=
otherAmount
.
add
(
orderTotalAmount
);
// 判断云享金或余额是否够抵扣
// 总押金金额
BigDecimal
totalDeposit
=
param
.
getDeposit
().
multiply
(
BigDecimal
.
valueOf
(
param
.
getWareNum
()));
// 用来操作的总押金
BigDecimal
otherCashPledge
=
BigDecimal
.
ZERO
;
otherCashPledge
=
otherCashPledge
.
add
(
totalDeposit
);
// 云享金押金金额,余额押金金额
BigDecimal
shareCashPledge
=
BigDecimal
.
ZERO
;
BigDecimal
salaryCashPledge
=
BigDecimal
.
ZERO
;
// 校验云享金、钱包余额是否足够抵扣
BigDecimal
shareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
...
...
@@ -301,8 +324,9 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
}
@Override
@Transactional
public
ResultBody
close
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
String
token
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
getId
());
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
get
Order
Id
());
if
(
leaseOrderDO
==
null
)
{
return
ResultBody
.
error
(
"订单信息不存在!"
);
}
...
...
@@ -312,11 +336,22 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return
ResultBody
.
error
(
"当前状态不可申请退款"
);
}
// 判断商品是否需要归还
if
(
leaseOrderRefundVO
.
getStatus
().
equals
(
0
)
&&
leaseOrderRefundVO
.
getExpressNum
()
==
null
)
{
return
ResultBody
.
error
(
"请填充物流编号"
);
if
(
leaseOrderRefundVO
.
getStatus
().
equals
(
0
))
{
if
(
leaseOrderRefundVO
.
getExpressCode
()
==
null
||
leaseOrderRefundVO
.
getExpressNum
()
==
null
)
{
return
ResultBody
.
error
(
"请完善物流信息"
);
}
}
// 插入退货地址信息
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
();
leaseOrderExpressDO
.
setLeaseOrderId
(
leaseOrderRefundVO
.
getOrderId
());
leaseOrderExpressDO
.
setReturnExpCode
(
leaseOrderRefundVO
.
getExpressCode
());
leaseOrderExpressDO
.
setReturnExpNo
(
leaseOrderRefundVO
.
getExpressNum
());
leaseOrderExpressDO
.
setReturnTime
(
new
Date
());
leaseOrderDao
.
addAddress
(
leaseOrderExpressDO
);
// 插入退款订单信息
LeaseRefundOrderDO
leaseRefundOrderDO
=
new
LeaseRefundOrderDO
(
leaseOrderRefundVO
);
leaseRefundOrderDO
.
setLeaseOrderExpressId
(
leaseOrderExpressDO
.
getId
());
leaseRefundOrderDO
.
setType
(
OrderType
.
RETREAT
.
getCode
());
leaseOrderDao
.
addLeaseRefundOrder
(
leaseRefundOrderDO
);
// 修改订单状态
leaseOrderDao
.
updateUavOrderStatus
(
leaseOrderRefundVO
.
getStatus
(),
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
());
...
...
@@ -348,7 +383,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
}
}
// 修改订单状态
this
.
updateLeaseOrderStatus
(
leaseOrderRefundVO
.
getId
(),
LeaseOrderStatus
.
CLOSE
);
this
.
updateLeaseOrderStatus
(
leaseOrderRefundVO
.
get
Order
Id
(),
LeaseOrderStatus
.
CLOSE
);
return
ResultBody
.
success
();
}
}
...
...
@@ -360,6 +395,236 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
@Override
public
ResultBody
<
LeaseOrderDTO
>
list
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
)
{
return
null
;
if
(!
currentAccount
.
getRoleInfo
().
getSuperAdmin
().
equals
(
1
))
{
uavOrderQO
.
setThirdBackUserAccountId
(
currentAccount
.
getUserAccountId
());
}
int
count
=
leaseOrderDao
.
countList
(
uavOrderQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
uavOrderQO
.
getPageNo
(),
uavOrderQO
.
getPageSize
(),
count
));
}
Integer
pageNo
=
uavOrderQO
.
getPageNo
();
uavOrderQO
.
buildCurrentPage
();
List
<
LeaseOrderDO
>
leaseOrderDOS
=
leaseOrderDao
.
list
(
uavOrderQO
);
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
=
new
HashMap
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
List
<
Integer
>
userIds
=
new
ArrayList
<>();
for
(
LeaseOrderDO
leaseOrderDO
:
leaseOrderDOS
)
{
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
leaseOrderDTOMap
.
put
(
leaseOrderDO
.
getId
(),
leaseOrderDTO
);
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
())
||
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
()))
{
ids
.
add
(
leaseOrderDO
.
getId
());
}
userIds
.
add
(
leaseOrderDTO
.
getUserAccountId
());
}
buildRefundOrder
(
leaseOrderDTOMap
,
ids
);
UserAccountQO
userAccountQO
=
new
UserAccountQO
();
userAccountQO
.
setUserIds
(
userIds
);
List
<
UserAccountSimpleDTO
>
userDTOS
=
userAppApi
.
feignListAppUserAccount
(
userAccountQO
,
currentAccount
.
getToken
());
if
(
CollectionUtils
.
isNotEmpty
(
userDTOS
))
{
Map
<
Integer
,
UserAccountSimpleDTO
>
userDTOMap
=
userDTOS
.
stream
().
collect
(
Collectors
.
toMap
(
UserAccountSimpleDTO:
:
getId
,
user
->
user
,
(
k1
,
k2
)
->
k2
));
for
(
LeaseOrderDTO
leaseOrderDTO
:
leaseOrderDTOMap
.
values
())
{
UserAccountSimpleDTO
user
=
userDTOMap
.
get
(
leaseOrderDTO
.
getUserAccountId
());
if
(
user
!=
null
)
{
leaseOrderDTO
.
setPhoneNum
(
user
.
getPhoneNum
());
leaseOrderDTO
.
setNickname
(
user
.
getNickName
());
leaseOrderDTO
.
setUserName
(
user
.
getUserName
());
}
}
}
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
uavOrderQO
.
getPageSize
(),
count
,
new
ArrayList
<>(
leaseOrderDTOMap
.
values
())));
}
@Override
public
ResultBody
<
LeaseOrderDTO
>
listByUid
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
)
{
uavOrderQO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
uavOrderQO
.
setShowUserPort
(
1
);
int
count
=
leaseOrderDao
.
countList
(
uavOrderQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
uavOrderQO
.
getPageNo
(),
uavOrderQO
.
getPageSize
(),
count
));
}
Integer
pageNo
=
uavOrderQO
.
getPageNo
();
uavOrderQO
.
buildCurrentPage
();
List
<
LeaseOrderDO
>
leaseOrderDOS
=
leaseOrderDao
.
list
(
uavOrderQO
);
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
=
new
HashMap
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
for
(
LeaseOrderDO
leaseOrderDO
:
leaseOrderDOS
)
{
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
leaseOrderDTOMap
.
put
(
leaseOrderDO
.
getId
(),
leaseOrderDTO
);
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
()))
{
ids
.
add
(
leaseOrderDO
.
getId
());
}
}
buildRefundOrder
(
leaseOrderDTOMap
,
ids
);
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
uavOrderQO
.
getPageSize
(),
count
,
new
ArrayList
<>(
leaseOrderDTOMap
.
values
())));
}
private
void
buildRefundOrder
(
Map
<
Integer
,
LeaseOrderDTO
>
leaseOrderDTOMap
,
List
<
Integer
>
ids
)
{
if
(
ids
.
size
()
>
0
)
{
List
<
LeaseRefundOrderDO
>
leaseRefundOrderDO
=
leaseOrderDao
.
getLeaseRefundOrder
(
ids
);
List
<
Integer
>
expressIds
=
leaseRefundOrderDO
.
stream
().
map
(
LeaseRefundOrderDO:
:
getLeaseOrderExpressId
).
collect
(
Collectors
.
toList
());
List
<
LeaseOrderExpressDO
>
expressDOS
=
leaseOrderDao
.
listLeaseOrderExpress
(
expressIds
);
Map
<
Integer
,
LeaseOrderExpressDO
>
expressDOMap
=
expressDOS
.
stream
().
collect
(
Collectors
.
toMap
(
LeaseOrderExpressDO:
:
getId
,
Function
.
identity
()));
for
(
LeaseRefundOrderDO
refundOrderDO
:
leaseRefundOrderDO
)
{
LeaseRefundOrderDTO
refundOrderDTO
=
refundOrderDO
.
buildLeaseRefundOrderDTO
();
LeaseOrderExpressDO
expressDO
=
expressDOMap
.
get
(
refundOrderDO
.
getLeaseOrderExpressId
());
if
(
expressDO
!=
null
)
{
refundOrderDTO
.
setExpressCode
(
expressDO
.
getReturnExpCode
());
refundOrderDTO
.
setExpressNum
(
expressDO
.
getReturnExpNo
());
}
LeaseOrderDTO
correspondingLeaseOrderDTO
=
leaseOrderDTOMap
.
get
(
refundOrderDTO
.
getLeaseOrderId
());
if
(
correspondingLeaseOrderDTO
!=
null
)
{
if
(
refundOrderDO
.
getType
().
equals
(
OrderType
.
RETREAT
.
getCode
()))
{
correspondingLeaseOrderDTO
.
setLeaseRefundOrder
(
refundOrderDTO
);
}
else
{
correspondingLeaseOrderDTO
.
setStoreReceiveOrder
(
refundOrderDTO
);
}
}
}
}
}
@Override
public
ResultBody
pay
(
Integer
id
,
BaseAccountDTO
currentAccount
,
HttpServletRequest
request
)
{
// 发起微信支付
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
id
);
if
(!
leaseOrderDO
.
getStatusCode
().
toString
().
equals
(
LeaseOrderStatus
.
PLACED_AN_ORDER
.
getCode
().
toString
()))
{
return
ResultBody
.
error
(
"操作有误,请重试!"
);
}
CommonPaymentVO
commonPaymentVO
=
new
CommonPaymentVO
();
int
shouldPay
=
leaseOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
intValue
();
if
(
shouldPay
<=
0
)
{
return
ResultBody
.
success
(
"已支付完成"
);
}
commonPaymentVO
.
setAmount
(
shouldPay
);
commonPaymentVO
.
setDescription
(
leaseOrderDO
.
getOrderName
());
commonPaymentVO
.
setOrderNumber
(
leaseOrderDO
.
getOrderNo
());
commonPaymentVO
.
setOrderPort
(
1
);
ResultBody
resultBody
=
demandReleaseOrderService
.
orderPayment
(
commonPaymentVO
,
request
,
currentAccount
.
getUserAccountId
());
return
resultBody
;
}
@Override
public
ResultBody
send
(
UavOrderExpressVO
param
)
{
// 修改订单状态
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getUavOrderId
());
if
(!
leaseOrderDO
.
getStatusCode
().
toString
().
equals
(
LeaseOrderStatus
.
PAID
.
getCode
().
toString
()))
{
return
ResultBody
.
error
(
"状态流程有误,请重试!"
);
}
this
.
updateLeaseOrderStatus
(
param
.
getUavOrderId
(),
LeaseOrderStatus
.
SHIPPED
);
// 修改收货信息
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
param
);
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpressDO
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
receive
(
Integer
id
,
BaseAccountDTO
currentAccount
)
{
// 修改订单状态
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
id
);
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
SHIPPED
.
getCode
()))
{
return
ResultBody
.
error
(
"状态流程有误,请重试!"
);
}
// 修改收货信息
LeaseOrderExpressDO
leaseOrderExpress
=
leaseOrderDao
.
getLeaseOrderExpress
(
id
);
leaseOrderExpress
.
setReceive
(
1
);
leaseOrderExpress
.
setReceiveTime
(
new
Date
());
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpress
);
this
.
updateLeaseOrderStatus
(
id
,
LeaseOrderStatus
.
TO_BE_RETURNED
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
statusList
()
{
List
<
TranStatusDicDO
>
statusDOS
=
leaseOrderDao
.
statusList
();
List
<
TranStatusDicDTO
>
uavOrderStatusDTOS
=
statusDOS
.
stream
().
map
(
TranStatusDicDO:
:
buildTranStatusDicDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
uavOrderStatusDTOS
);
}
@Override
public
ResultBody
removeLeaseOrder
(
Integer
id
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
id
);
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(
leaseOrderDO
.
getStatusCode
().
compareTo
(
LeaseOrderStatus
.
COMPLETE_TRANSACTION
.
getCode
())
<
0
)
{
return
ResultBody
.
error
(
"该订单状态不可删除!"
);
}
leaseOrderDao
.
closeShowLeaseOrder
(
id
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
giveBack
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
BaseAccountDTO
currentAccount
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
getOrderId
());
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
TO_BE_RETURNED
.
getCode
()))
{
return
ResultBody
.
error
(
"状态流程有误,请重试!"
);
}
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
leaseOrderRefundVO
);
leaseOrderDao
.
updateLeaseOrderExpress
(
leaseOrderExpressDO
);
this
.
updateLeaseOrderStatus
(
leaseOrderRefundVO
.
getOrderId
(),
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
);
return
ResultBody
.
success
();
}
@Override
@Transactional
public
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getOrderId
());
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(!
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
()))
{
return
ResultBody
.
error
(
"状态流程有误,请重试!"
);
}
if
(
param
.
getDamage
().
equals
(
0
))
{
// 解冻用户钱包金额
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
PayUavWalletVO
userPayUavWalletVO
=
new
PayUavWalletVO
();
userPayUavWalletVO
.
setRemark
(
"租赁订单金额解冻"
);
userPayUavWalletVO
.
setCashAmount
(
leaseOrderDO
.
getShareAmount
());
userPayUavWalletVO
.
setSalaryAmount
(
leaseOrderDO
.
getSalaryAmount
());
userPayUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
userPayUavWalletVO
.
setOrderStatus
(
999
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
resultBody
;
}
}
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
);
payUavWalletVO
.
setRemark
(
"租赁订单收入,订单编号"
+
leaseOrderDO
.
getOrderNo
());
payUavWalletVO
.
setOrderStatus
(
1500
);
// 拿到商家管理员的用户id
ResultBody
managerRes
=
userAppApi
.
getManagerIdByBackUserId
(
leaseOrderDO
.
getThirdBackUserAccountId
(),
null
);
if
(!
managerRes
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
managerRes
;
}
payUavWalletVO
.
setUserAccountId
((
Integer
)
managerRes
.
getResult
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
resultBody
;
}
leaseOrderDao
.
updateLeaseOrderProportion
(
leaseOrderDO
.
getId
(),
UavOrderProportion
.
PROPORTION
.
intValue
());
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
);
return
ResultBody
.
success
();
}
else
{
// todo 进行相应赔偿
return
ResultBody
.
success
();
}
}
}
src/main/resources/mapper/lease/LeaseOrderDao.xml
浏览文件 @
9f520a47
...
...
@@ -22,27 +22,92 @@
ware_num,
deposit,
start_date,
end_date)
share_cash_pledge,
salary_cash_pledge,
end_date,
sku)
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId},
#{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount},
#{userAddressId},
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{endDate});
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{shareCashPledge},
#{salaryCashPledge}, #{endDate}, #{sku});
</insert>
<insert
id=
"addAddress"
>
<insert
id=
"addAddress"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.oms.entity.lease.LeaseOrderExpressDO"
>
insert into lease_order_express(lease_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region,
take_address, create_time)
take_address, create_time
, return_exp_no, return_exp_code, return_time
)
values (#{leaseOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress},
NOW())
NOW()
, #{returnExpNo}, #{returnExpCode}, #{returnTime}
)
</insert>
<insert
id=
"addLeaseRefundOrder"
>
insert into lease_order_id,status,express_num,file,reason
values (#{leaseOrderId}, #{status}, #{expressNum}, #{file}, #{reason})
<insert
id=
"addLeaseRefundOrder"
parameterType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into lease_refund_order(lease_order_id, status, file, reason, type, lease_order_express_id)
values (#{leaseOrderId}, #{status}, #{file}, #{reason}, #{type}, #{leaseOrderExpressId})
</insert>
<update
id=
"updateUavOrderStatus"
>
update lease_order
set status_code = #{code}
where id = #{id}
</update>
<update
id=
"updateLeaseOrderExpress"
>
update lease_order_express
<set>
<if
test=
"sendExpNo != null"
>
send_exp_no = #{sendExpNo},
</if>
<if
test=
"sendExpCode != null"
>
send_exp_code = #{sendExpCode},
</if>
<if
test=
"takeName != null"
>
take_name = #{takeName},
</if>
<if
test=
"takePhone != null"
>
take_phone = #{takePhone},
</if>
<if
test=
"takeRegion != null"
>
take_region = #{takeRegion},
</if>
<if
test=
"takeAddress != null"
>
take_address = #{takeAddress},
</if>
<if
test=
"sendTime != null"
>
send_time = #{sendTime},
</if>
<if
test=
"takeAddress != null"
>
take_address = #{takeAddress},
</if>
<if
test=
"receive != null"
>
is_receive = #{receive},
</if>
<if
test=
"receiveTime != null"
>
receive_time = #{receiveTime},
</if>
<if
test=
"takeAddress != null"
>
take_address = #{takeAddress},
</if>
<if
test=
"returnExpNo != null"
>
return_exp_no = #{returnExpNo},
</if>
<if
test=
"returnExpCode != null"
>
return_exp_code = #{returnExpCode},
</if>
<if
test=
"returnTime != null"
>
return_time = #{returnTime},
</if>
</set>
where
id = #{id}
</update>
<update
id=
"closeShowLeaseOrder"
>
update lease_order
set show_user_port = 0
where id = #{id}
</update>
<update
id=
"updateLeaseOrderProportion"
>
update lease_order
set proportion = #{proportion}
where id = #{id}
</update>
<sql
id=
"lease_order_column"
>
id
...
...
@@ -60,8 +125,8 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
<sql
id=
"lease_order_express_column"
>
id
,
lease_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region, take_address, send_time,
is_receive as receive, receive_time, update_time,
create_time
,
lease_order_id,send_exp_no,send_exp_code,take_name,take_phone,take_region,take_address,send_time,is_receive
,receive_time,return_exp_no,return_exp_code,return_time,update_time,
create_time
</sql>
<select
id=
"getLeaseOrderExpress"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderExpressDO"
>
select
...
...
@@ -69,4 +134,99 @@ proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,st
from lease_order_express
where lease_order_id = #{id}
</select>
<select
id=
"countList"
resultType=
"java.lang.Integer"
>
select count(*) from lease_order lo
where 1 = 1
<if
test=
"keyword != null"
>
and order_no = #{keyword}
</if>
<if
test=
"userAccountId != null"
>
and user_account_id = #{userAccountId}
</if>
<if
test=
"statusCode != null"
>
and status_code = #{statusCode}
</if>
<if
test=
"thirdBackUserAccountId != null"
>
and third_back_user_account_id = #{thirdBackUserAccountId}
</if>
<if
test=
"startTime != null"
>
and create_time >= #{startTime}
</if>
<if
test=
"endTime != null"
>
and #{endTime} >= create_time
</if>
<if
test=
"showUserPort != null"
>
and show_user_port = #{showUserPort}
</if>
</select>
<select
id=
"list"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderDO"
>
SELECT
<include
refid=
"lease_order_column"
/>
FROM
lease_order lo
WHERE
1 = 1
<if
test=
"keyword != null"
>
and lo.order_no = #{keyword}
</if>
<if
test=
"uid != null"
>
and lo.user_account_id = #{uid}
</if>
<if
test=
"userAccountId != null"
>
and lo.user_account_id = #{userAccountId}
</if>
<if
test=
"statusCode != null"
>
and lo.status_code = #{statusCode}
</if>
<if
test=
"thirdBackUserAccountId != null"
>
and lo.third_back_user_account_id = #{thirdBackUserAccountId}
</if>
<if
test=
"startTime != null"
>
and lo.create_time >= #{startTime}
</if>
<if
test=
"endTime != null"
>
and #{endTime} >= lo.create_time
</if>
<if
test=
"showUserPort != null"
>
and show_user_port = #{showUserPort}
</if>
order by lo.id desc
limit #{pageNo}, #{pageSize}
</select>
<sql
id=
"lease_refund_order_column"
>
id
,lease_order_express_id,lease_order_id,status,type,file,reason,create_time
</sql>
<select
id=
"getLeaseRefundOrder"
resultType=
"com.mmc.oms.entity.lease.LeaseRefundOrderDO"
>
select
<include
refid=
"lease_refund_order_column"
/>
from lease_refund_order
<where>
<foreach
collection=
"list"
item=
"item"
open=
"and lease_order_id in("
separator=
","
close=
")"
>
lease_order_id = #{item}
</foreach>
</where>
</select>
<select
id=
"detailByNo"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"lease_order_column"
/>
from lease_order
where order_no = #{orderNo}
</select>
<select
id=
"statusList"
resultType=
"com.mmc.oms.entity.transtatus.TranStatusDicDO"
>
select t.id, t.`status`, t.doing, t.waiting
from tran_status_dic t
order by t.sort asc
</select>
<select
id=
"listLeaseOrderExpress"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderExpressDO"
>
select
<include
refid=
"lease_order_express_column"
/>
from lease_order_express
<where>
<foreach
collection=
"list"
item=
"item"
open=
"and id in("
separator=
","
close=
")"
>
id = #{item}
</foreach>
</where>
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论