Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
oms
Commits
f528742a
提交
f528742a
authored
9月 07, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
商城订单支付修改
上级
df265922
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
326 行增加
和
40 行删除
+326
-40
UavOrderController.java
...n/java/com/mmc/oms/controller/uav/UavOrderController.java
+1
-1
UavOrderDao.java
src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
+6
-0
UavOrderDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderDO.java
+4
-4
UavOrderPayDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderPayDO.java
+6
-1
UserAppApi.java
src/main/java/com/mmc/oms/feign/UserAppApi.java
+10
-0
UserAppApiHystrix.java
...ain/java/com/mmc/oms/feign/hystrix/UserAppApiHystrix.java
+15
-0
PayWalletDTO.java
src/main/java/com/mmc/oms/model/dto/uav/PayWalletDTO.java
+83
-0
UavOrderDTO.java
src/main/java/com/mmc/oms/model/dto/uav/UavOrderDTO.java
+3
-3
UavOrderPayDTO.java
src/main/java/com/mmc/oms/model/dto/uav/UavOrderPayDTO.java
+5
-0
AddUavOrderVO.java
src/main/java/com/mmc/oms/model/vo/uav/AddUavOrderVO.java
+10
-4
PayUavWalletVO.java
src/main/java/com/mmc/oms/model/vo/uav/PayUavWalletVO.java
+34
-0
UavOrderSkuVO.java
src/main/java/com/mmc/oms/model/vo/uav/UavOrderSkuVO.java
+6
-0
RabbitmqConstant.java
src/main/java/com/mmc/oms/mq/constant/RabbitmqConstant.java
+2
-2
MqConsumer.java
src/main/java/com/mmc/oms/mq/listener/MqConsumer.java
+13
-0
DemandReleaseOrderServiceImpl.java
...ms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
+17
-0
UavOrderService.java
src/main/java/com/mmc/oms/service/uav/UavOrderService.java
+3
-0
UavOrderServiceImpl.java
...ava/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
+80
-21
UavOrderDao.xml
src/main/resources/mapper/uav/UavOrderDao.xml
+28
-4
没有找到文件。
src/main/java/com/mmc/oms/controller/uav/UavOrderController.java
浏览文件 @
f528742a
...
@@ -65,7 +65,7 @@ public class UavOrderController extends BaseController {
...
@@ -65,7 +65,7 @@ public class UavOrderController extends BaseController {
return
uavOrderService
.
listByUid
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
return
uavOrderService
.
listByUid
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
}
}
@ApiOperation
(
value
=
"支付"
)
@ApiOperation
(
value
=
"支付"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"pay"
)
@GetMapping
(
"pay"
)
public
ResultBody
pay
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
public
ResultBody
pay
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
...
...
src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
浏览文件 @
f528742a
...
@@ -21,6 +21,8 @@ public interface UavOrderDao {
...
@@ -21,6 +21,8 @@ public interface UavOrderDao {
UavOrderDO
detail
(
Integer
id
);
UavOrderDO
detail
(
Integer
id
);
UavOrderDO
detailByNo
(
String
orderNo
);
List
<
UavOrderPayDO
>
listUavOrderPay
(
Integer
uavOrderId
);
List
<
UavOrderPayDO
>
listUavOrderPay
(
Integer
uavOrderId
);
List
<
UavOrderSkuDO
>
listUavOrderSkuDO
(
Integer
uavOrderId
);
List
<
UavOrderSkuDO
>
listUavOrderSkuDO
(
Integer
uavOrderId
);
...
@@ -34,4 +36,8 @@ public interface UavOrderDao {
...
@@ -34,4 +36,8 @@ public interface UavOrderDao {
int
countList
(
UavOrderQO
uavOrderQO
);
int
countList
(
UavOrderQO
uavOrderQO
);
List
<
UavOrderDO
>
list
(
UavOrderQO
uavOrderQO
);
List
<
UavOrderDO
>
list
(
UavOrderQO
uavOrderQO
);
void
addOrderPay
(
UavOrderPayDO
uavOrderPayDO
);
void
updateUavOrderPayInfo
(
UavOrderDO
uavOrderDO
);
}
}
src/main/java/com/mmc/oms/entity/uav/UavOrderDO.java
浏览文件 @
f528742a
...
@@ -38,13 +38,13 @@ public class UavOrderDO implements Serializable {
...
@@ -38,13 +38,13 @@ public class UavOrderDO implements Serializable {
private
String
companyName
;
private
String
companyName
;
@ApiModelProperty
(
"订单实付总额"
)
@ApiModelProperty
(
"订单实付总额"
)
private
BigDecimal
orderTotalAmount
;
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
"抵扣
钱包
余额"
)
@ApiModelProperty
(
"抵扣
佣金
余额"
)
private
BigDecimal
wallet
Amount
;
private
BigDecimal
salary
Amount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
@ApiModelProperty
(
"抵扣云享金余额"
)
private
BigDecimal
shareAmount
;
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherAmount
;
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"
支付方式,wechatpay微信,alipay支付宝
"
)
@ApiModelProperty
(
"
wechatpay微信,alipay支付宝,offline线下
"
)
private
String
payType
;
private
String
payType
;
@ApiModelProperty
(
"订单类型,0正常订单、1意向订单"
)
@ApiModelProperty
(
"订单类型,0正常订单、1意向订单"
)
private
Integer
orderType
;
private
Integer
orderType
;
...
@@ -73,7 +73,7 @@ public class UavOrderDO implements Serializable {
...
@@ -73,7 +73,7 @@ public class UavOrderDO implements Serializable {
public
UavOrderDTO
buildUavOrderDTO
(){
public
UavOrderDTO
buildUavOrderDTO
(){
return
UavOrderDTO
.
builder
().
id
(
this
.
id
).
version
(
this
.
version
).
orderNo
(
this
.
orderNo
).
statusCode
(
this
.
statusCode
).
userAccountId
(
this
.
userAccountId
)
return
UavOrderDTO
.
builder
().
id
(
this
.
id
).
version
(
this
.
version
).
orderNo
(
this
.
orderNo
).
statusCode
(
this
.
statusCode
).
userAccountId
(
this
.
userAccountId
)
.
thirdBackUserAccountId
(
this
.
thirdBackUserAccountId
).
companyName
(
this
.
companyName
).
orderTotalAmount
(
this
.
orderTotalAmount
).
walletAmount
(
this
.
wallet
Amount
)
.
thirdBackUserAccountId
(
this
.
thirdBackUserAccountId
).
companyName
(
this
.
companyName
).
orderTotalAmount
(
this
.
orderTotalAmount
).
salaryAmount
(
this
.
salary
Amount
)
.
shareAmount
(
this
.
shareAmount
).
otherAmount
(
this
.
otherAmount
).
payType
(
this
.
payType
).
orderType
(
this
.
orderType
).
deliveryTime
(
this
.
deliveryTime
).
userAddressId
(
this
.
userAddressId
)
.
shareAmount
(
this
.
shareAmount
).
otherAmount
(
this
.
otherAmount
).
payType
(
this
.
payType
).
orderType
(
this
.
orderType
).
deliveryTime
(
this
.
deliveryTime
).
userAddressId
(
this
.
userAddressId
)
.
userRemark
(
this
.
userRemark
).
sellerRemark
(
this
.
sellerRemark
).
createTime
(
this
.
createTime
).
payTime
(
this
.
payTime
).
confirmReceiptTime
(
this
.
confirmReceiptTime
)
.
userRemark
(
this
.
userRemark
).
sellerRemark
(
this
.
sellerRemark
).
createTime
(
this
.
createTime
).
payTime
(
this
.
payTime
).
confirmReceiptTime
(
this
.
confirmReceiptTime
)
.
remarkStatus
(
this
.
remarkStatus
).
updateTime
(
this
.
updateTime
).
skuDTOList
(
CollectionUtils
.
isEmpty
(
skuDOS
)
?
null
:
.
remarkStatus
(
this
.
remarkStatus
).
updateTime
(
this
.
updateTime
).
skuDTOList
(
CollectionUtils
.
isEmpty
(
skuDOS
)
?
null
:
...
...
src/main/java/com/mmc/oms/entity/uav/UavOrderPayDO.java
浏览文件 @
f528742a
...
@@ -2,11 +2,13 @@ package com.mmc.oms.entity.uav;
...
@@ -2,11 +2,13 @@ package com.mmc.oms.entity.uav;
import
com.mmc.oms.model.dto.uav.UavOrderPayDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderPayDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
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
;
/**
/**
...
@@ -23,14 +25,17 @@ public class UavOrderPayDO implements Serializable {
...
@@ -23,14 +25,17 @@ public class UavOrderPayDO implements Serializable {
private
Integer
uavOrderId
;
private
Integer
uavOrderId
;
private
String
payImgList
;
private
String
payImgList
;
private
Integer
checkStatus
;
private
Integer
checkStatus
;
private
Integer
payType
;
private
String
payRemark
;
private
String
payRemark
;
private
String
refuseReason
;
private
String
refuseReason
;
private
Date
createTime
;
private
Date
createTime
;
private
Date
checkTime
;
private
Date
checkTime
;
private
BigDecimal
payAmount
;
public
UavOrderPayDTO
buildUavOrderPayDTO
(){
public
UavOrderPayDTO
buildUavOrderPayDTO
(){
return
UavOrderPayDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
uavOrderId
).
payImgList
(
this
.
payImgList
).
checkStatus
(
this
.
checkStatus
)
return
UavOrderPayDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
uavOrderId
).
payImgList
(
this
.
payImgList
).
checkStatus
(
this
.
checkStatus
)
.
payRemark
(
this
.
payRemark
).
refuseReason
(
this
.
refuseReason
).
createTime
(
this
.
createTime
).
build
();
.
payRemark
(
this
.
payRemark
).
refuseReason
(
this
.
refuseReason
).
createTime
(
this
.
createTime
).
payType
(
this
.
payType
)
.
payAmount
(
this
.
payAmount
).
build
();
}
}
}
}
src/main/java/com/mmc/oms/feign/UserAppApi.java
浏览文件 @
f528742a
...
@@ -2,10 +2,14 @@ package com.mmc.oms.feign;
...
@@ -2,10 +2,14 @@ package com.mmc.oms.feign;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.hystrix.UserAppApiHystrix
;
import
com.mmc.oms.feign.hystrix.UserAppApiHystrix
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
/**
/**
* @author: zj
* @author: zj
...
@@ -16,4 +20,10 @@ public interface UserAppApi {
...
@@ -16,4 +20,10 @@ public interface UserAppApi {
@PostMapping
(
"pay/feignTopUpCash"
)
@PostMapping
(
"pay/feignTopUpCash"
)
public
ResultBody
feignTopUpCash
(
@RequestBody
TopUpOrderVO
topUpOrderVO
);
public
ResultBody
feignTopUpCash
(
@RequestBody
TopUpOrderVO
topUpOrderVO
);
@GetMapping
(
"pay/getCurrentUserPayWalletInfo"
)
public
ResultBody
<
PayWalletDTO
>
getCurrentUserPayWalletInfo
(
@RequestHeader
String
token
);
@PostMapping
(
"pay/feignPayUavWallet"
)
public
ResultBody
feignPayUavWallet
(
@RequestBody
PayUavWalletVO
payUavWalletVO
,
@RequestHeader
String
token
);
}
}
src/main/java/com/mmc/oms/feign/hystrix/UserAppApiHystrix.java
浏览文件 @
f528742a
package
com
.
mmc
.
oms
.
feign
.
hystrix
;
package
com
.
mmc
.
oms
.
feign
.
hystrix
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -17,4 +20,16 @@ public class UserAppApiHystrix implements UserAppApi {
...
@@ -17,4 +20,16 @@ public class UserAppApiHystrix implements UserAppApi {
log
.
error
(
"熔断:UserAppApiHystrix.feignTopUpCash==error==>param:{}"
,
topUpOrderVO
);
log
.
error
(
"熔断:UserAppApiHystrix.feignTopUpCash==error==>param:{}"
,
topUpOrderVO
);
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
}
@Override
public
ResultBody
<
PayWalletDTO
>
getCurrentUserPayWalletInfo
(
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.getCurrentUserPayWalletInfo==error"
);
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
@Override
public
ResultBody
feignPayUavWallet
(
PayUavWalletVO
payUavWalletVO
,
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.feignPayUavWallet==error==>param:{}"
,
JSONObject
.
toJSONString
(
payUavWalletVO
));
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
}
}
src/main/java/com/mmc/oms/model/dto/uav/PayWalletDTO.java
0 → 100644
浏览文件 @
f528742a
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author 作者 lw
* @version 创建时间:2023.08.18 下午13:31:12
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PayWalletDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
75097833899496576L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"用户姓名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"云享金余额"
)
private
BigDecimal
cashAmt
;
@ApiModelProperty
(
value
=
"云享金总金额"
)
private
BigDecimal
totalCash
;
@ApiModelProperty
(
value
=
"已冻结云享金"
)
private
BigDecimal
cashFreeze
;
@ApiModelProperty
(
value
=
"佣金余额"
)
private
BigDecimal
salaryAmt
;
@ApiModelProperty
(
value
=
"已冻结佣金"
)
private
BigDecimal
salaryFreeze
;
@ApiModelProperty
(
value
=
"佣金总额度"
)
private
BigDecimal
totalSalary
;
@ApiModelProperty
(
value
=
"已提现的金额"
)
private
BigDecimal
rebateWdl
;
@ApiModelProperty
(
value
=
"提现冻结金额"
)
private
BigDecimal
wdlFreeze
;
@ApiModelProperty
(
value
=
"冻结总额"
)
private
BigDecimal
totalFreeze
;
@ApiModelProperty
(
value
=
"总金额"
)
private
BigDecimal
totalAmount
;
public
void
mathTotal
()
{
// 总冻结余额
this
.
totalFreeze
=
BigDecimal
.
ZERO
;
if
(
this
.
cashFreeze
!=
null
)
{
this
.
totalFreeze
=
this
.
totalFreeze
.
add
(
this
.
cashFreeze
);
}
if
(
this
.
salaryFreeze
!=
null
)
{
this
.
totalFreeze
=
this
.
totalFreeze
.
add
(
this
.
salaryFreeze
);
}
// 总云享金余额
this
.
totalCash
=
BigDecimal
.
ZERO
;
if
(
this
.
cashAmt
!=
null
)
{
this
.
totalCash
=
this
.
totalCash
.
add
(
this
.
cashAmt
);
}
if
(
this
.
cashFreeze
!=
null
)
{
this
.
totalCash
=
this
.
totalCash
.
add
(
this
.
cashFreeze
);
}
// 总佣金余额
this
.
totalSalary
=
BigDecimal
.
ZERO
;
if
(
this
.
salaryAmt
!=
null
)
{
this
.
totalSalary
=
this
.
totalSalary
.
add
(
this
.
salaryAmt
);
}
if
(
this
.
salaryFreeze
!=
null
)
{
this
.
totalSalary
=
this
.
totalSalary
.
add
(
this
.
salaryFreeze
);
}
// 总金额
this
.
totalAmount
=
BigDecimal
.
ZERO
;
this
.
totalAmount
=
this
.
totalAmount
.
add
(
this
.
totalCash
);
this
.
totalAmount
=
this
.
totalAmount
.
add
(
this
.
totalSalary
);
}
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderDTO.java
浏览文件 @
f528742a
...
@@ -38,13 +38,13 @@ public class UavOrderDTO implements Serializable {
...
@@ -38,13 +38,13 @@ public class UavOrderDTO implements Serializable {
private
String
companyName
;
private
String
companyName
;
@ApiModelProperty
(
"订单实付总额"
)
@ApiModelProperty
(
"订单实付总额"
)
private
BigDecimal
orderTotalAmount
;
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
"抵扣
钱包
余额"
)
@ApiModelProperty
(
"抵扣
佣金
余额"
)
private
BigDecimal
wallet
Amount
;
private
BigDecimal
salary
Amount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
@ApiModelProperty
(
"抵扣云享金余额"
)
private
BigDecimal
shareAmount
;
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherAmount
;
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"
支付方式,wechatpay微信,alipay支付宝
"
)
@ApiModelProperty
(
"
wechatpay微信,alipay支付宝,offline线下
"
)
private
String
payType
;
private
String
payType
;
@ApiModelProperty
(
"订单类型,0正常订单、1意向订单"
)
@ApiModelProperty
(
"订单类型,0正常订单、1意向订单"
)
private
Integer
orderType
;
private
Integer
orderType
;
...
...
src/main/java/com/mmc/oms/model/dto/uav/UavOrderPayDTO.java
浏览文件 @
f528742a
...
@@ -8,6 +8,7 @@ import lombok.Data;
...
@@ -8,6 +8,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
;
/**
/**
...
@@ -35,4 +36,8 @@ public class UavOrderPayDTO implements Serializable {
...
@@ -35,4 +36,8 @@ public class UavOrderPayDTO implements Serializable {
private
String
refuseReason
;
private
String
refuseReason
;
@ApiModelProperty
(
value
=
"提交时间"
)
@ApiModelProperty
(
value
=
"提交时间"
)
private
Date
createTime
;
private
Date
createTime
;
@ApiModelProperty
(
value
=
"0微信支付,1支付宝,2线下支付凭证"
)
private
Integer
payType
;
@ApiModelProperty
(
value
=
"支付金额"
)
private
BigDecimal
payAmount
;
}
}
src/main/java/com/mmc/oms/model/vo/uav/AddUavOrderVO.java
浏览文件 @
f528742a
...
@@ -28,16 +28,22 @@ public class AddUavOrderVO implements Serializable {
...
@@ -28,16 +28,22 @@ public class AddUavOrderVO implements Serializable {
private
Integer
userAddressId
;
private
Integer
userAddressId
;
@ApiModelProperty
(
"订单类型,0正常直接支付订单,1意向沟通订单"
)
@ApiModelProperty
(
"订单类型,0正常直接支付订单,1意向沟通订单"
)
private
Integer
orderType
;
private
Integer
orderType
;
@ApiModelProperty
(
"订单实付总额"
)
@ApiModelProperty
(
value
=
"订单实付总额"
,
hidden
=
true
)
private
BigDecimal
orderTotalAmount
;
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
"抵扣钱包余额"
)
@ApiModelProperty
(
value
=
"抵扣钱包余额"
,
hidden
=
true
)
private
BigDecimal
walletAmount
;
private
BigDecimal
walletAmount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
@ApiModelProperty
(
value
=
"抵扣云享金余额"
,
hidden
=
true
)
private
BigDecimal
shareAmount
;
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
@ApiModelProperty
(
value
=
"其他方式支付额度"
,
hidden
=
true
)
private
BigDecimal
otherAmount
;
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"用户备注"
)
@ApiModelProperty
(
"用户备注"
)
private
String
userRemark
;
private
String
userRemark
;
@ApiModelProperty
(
"规格列表"
)
@ApiModelProperty
(
"规格列表"
)
private
List
<
UavOrderSkuVO
>
skuVOS
;
private
List
<
UavOrderSkuVO
>
skuVOS
;
@ApiModelProperty
(
"是否抵扣云享金,0否,1是"
)
private
Integer
deductShareAmount
;
@ApiModelProperty
(
"是否抵扣余额,0否,1是"
)
private
Integer
deductSalaryAmount
;
}
}
src/main/java/com/mmc/oms/model/vo/uav/PayUavWalletVO.java
0 → 100644
浏览文件 @
f528742a
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/9/7 16:07
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
PayUavWalletVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1683979749411588941L
;
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"云享金"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"订单状态 100:订单支付 1400:商城订单退款"
)
private
Integer
orderStatus
;
}
src/main/java/com/mmc/oms/model/vo/uav/UavOrderSkuVO.java
浏览文件 @
f528742a
...
@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
...
@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -18,17 +19,22 @@ import java.math.BigDecimal;
...
@@ -18,17 +19,22 @@ import java.math.BigDecimal;
public
class
UavOrderSkuVO
implements
Serializable
{
public
class
UavOrderSkuVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6034392498890957390L
;
private
static
final
long
serialVersionUID
=
6034392498890957390L
;
@ApiModelProperty
(
"商品规格id"
)
@ApiModelProperty
(
"商品规格id"
)
@NotNull
(
message
=
"商品规格id必传"
)
private
Integer
priceStockId
;
private
Integer
priceStockId
;
@ApiModelProperty
(
"商品规格"
)
@ApiModelProperty
(
"商品规格"
)
@NotNull
(
message
=
"商品规格必传"
)
private
String
productSpec
;
private
String
productSpec
;
@ApiModelProperty
(
"购买数量"
)
@ApiModelProperty
(
"购买数量"
)
@NotNull
(
message
=
"购买数量图片必传"
)
private
Integer
orderNum
;
private
Integer
orderNum
;
@ApiModelProperty
(
value
=
"单价"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"单价"
,
hidden
=
true
)
private
BigDecimal
unitPrice
;
private
BigDecimal
unitPrice
;
@ApiModelProperty
(
"商品规格图片"
)
@ApiModelProperty
(
"商品规格图片"
)
@NotNull
(
message
=
"商品规格图片必传"
)
private
String
skuImage
;
private
String
skuImage
;
@ApiModelProperty
(
"商品规格编号"
)
@ApiModelProperty
(
"商品规格编号"
)
private
String
skuNo
;
private
String
skuNo
;
@ApiModelProperty
(
"客户提交订单的单价"
)
@ApiModelProperty
(
"客户提交订单的单价"
)
@NotNull
(
message
=
"价格必传"
)
private
BigDecimal
salePrice
;
private
BigDecimal
salePrice
;
}
}
src/main/java/com/mmc/oms/mq/constant/RabbitmqConstant.java
浏览文件 @
f528742a
...
@@ -5,9 +5,9 @@ package com.mmc.oms.mq.constant;
...
@@ -5,9 +5,9 @@ package com.mmc.oms.mq.constant;
* @Date: 2023/8/23 11:26
* @Date: 2023/8/23 11:26
*/
*/
public
class
RabbitmqConstant
{
public
class
RabbitmqConstant
{
public
final
static
String
USER_TOP_UP_DIRECT_EXCHANGE
=
"USER_TOP_UP_DIRECT_EXCHANGE"
;
public
final
static
String
USER_TOP_UP_DIRECT_QUEUE
=
"USER_TOP_UP_DIRECT_QUEUE"
;
public
final
static
String
USER_TOP_UP_DIRECT_QUEUE
=
"USER_TOP_UP_DIRECT_QUEUE"
;
public
final
static
String
USER_TOP_UP_ROUTING_KEY
=
"USER_TOP_UP_ROUTING_KEY"
;
public
final
static
String
PAY_UAV_ORDER_SUCCESS_QUEUE
=
"PAY_UAV_ORDER_SUCCESS_QUEUE"
;
}
}
src/main/java/com/mmc/oms/mq/listener/MqConsumer.java
浏览文件 @
f528742a
...
@@ -5,6 +5,7 @@ import com.mmc.oms.dao.topup.TopUpOrderDao;
...
@@ -5,6 +5,7 @@ import com.mmc.oms.dao.topup.TopUpOrderDao;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.mq.constant.RabbitmqConstant
;
import
com.mmc.oms.mq.constant.RabbitmqConstant
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.rabbitmq.client.Channel
;
import
com.rabbitmq.client.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.Message
;
...
@@ -24,6 +25,9 @@ public class MqConsumer {
...
@@ -24,6 +25,9 @@ public class MqConsumer {
@Resource
@Resource
TopUpOrderDao
topUpOrderDao
;
TopUpOrderDao
topUpOrderDao
;
@Resource
private
UavOrderService
uavOrderService
;
@RabbitListener
(
queues
=
RabbitmqConstant
.
USER_TOP_UP_DIRECT_QUEUE
)
@RabbitListener
(
queues
=
RabbitmqConstant
.
USER_TOP_UP_DIRECT_QUEUE
)
public
void
subscribeDirectQueue
(
@Payload
String
topUpOrder
,
Channel
channel
,
Message
message
)
{
public
void
subscribeDirectQueue
(
@Payload
String
topUpOrder
,
Channel
channel
,
Message
message
)
{
TopUpOrderVO
topUpOrderVO
=
JSONObject
.
parseObject
(
topUpOrder
,
TopUpOrderVO
.
class
);
TopUpOrderVO
topUpOrderVO
=
JSONObject
.
parseObject
(
topUpOrder
,
TopUpOrderVO
.
class
);
...
@@ -36,4 +40,13 @@ public class MqConsumer {
...
@@ -36,4 +40,13 @@ public class MqConsumer {
topUpOrderDao
.
updateTopUpOrderInfo
(
topUpOrderDO
);
topUpOrderDao
.
updateTopUpOrderInfo
(
topUpOrderDO
);
log
.
info
(
"<==========用户充值订单消费结束==========>"
);
log
.
info
(
"<==========用户充值订单消费结束==========>"
);
}
}
@RabbitListener
(
queues
=
RabbitmqConstant
.
PAY_UAV_ORDER_SUCCESS_QUEUE
)
public
void
subscribePayUavOrderDirectQueue
(
@Payload
String
topUpOrder
,
Channel
channel
,
Message
message
)
{
TopUpOrderVO
topUpOrderVO
=
JSONObject
.
parseObject
(
topUpOrder
,
TopUpOrderVO
.
class
);
log
.
info
(
"<==========商城支付消费开始:信息是---->{}==========>"
,
topUpOrderVO
);
// 根据支付消息修改订单状态
uavOrderService
.
payUavOrder
(
topUpOrderVO
);
log
.
info
(
"<==========用户充值订单消费结束==========>"
);
}
}
}
src/main/java/com/mmc/oms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
浏览文件 @
f528742a
...
@@ -10,10 +10,15 @@ import com.mmc.oms.controller.demand.util.EmojiUtils;
...
@@ -10,10 +10,15 @@ import com.mmc.oms.controller.demand.util.EmojiUtils;
import
com.mmc.oms.dao.demand.DemandReleaseOrderDao
;
import
com.mmc.oms.dao.demand.DemandReleaseOrderDao
;
import
com.mmc.oms.dao.demand.PublishServiceOrderDao
;
import
com.mmc.oms.dao.demand.PublishServiceOrderDao
;
import
com.mmc.oms.dao.topup.TopUpOrderDao
;
import
com.mmc.oms.dao.topup.TopUpOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDTO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDTO
;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
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.CommonPaymentVO
;
import
com.mmc.oms.model.vo.demand.DemandReleaseOrderVO
;
import
com.mmc.oms.model.vo.demand.DemandReleaseOrderVO
;
import
com.mmc.oms.model.vo.demand.OrderRequestParamsVO
;
import
com.mmc.oms.model.vo.demand.OrderRequestParamsVO
;
...
@@ -32,6 +37,7 @@ import org.springframework.web.client.RestTemplate;
...
@@ -32,6 +37,7 @@ import org.springframework.web.client.RestTemplate;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -53,6 +59,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
...
@@ -53,6 +59,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
private
DemandReleaseOrderDao
releaseOrderDao
;
private
DemandReleaseOrderDao
releaseOrderDao
;
@Autowired
@Autowired
private
UavOrderDao
uavOrderDao
;
@Autowired
private
RestTemplate
restTemplate
;
private
RestTemplate
restTemplate
;
@Value
(
"${payment.url}"
)
@Value
(
"${payment.url}"
)
...
@@ -64,6 +73,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
...
@@ -64,6 +73,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
@Resource
@Resource
private
TopUpOrderDao
topUpOrderDao
;
private
TopUpOrderDao
topUpOrderDao
;
@Autowired
private
UserAppApi
userAppApi
;
@Override
@Override
public
ResultBody
publish
(
DemandReleaseOrderVO
demandReleaseOrderVO
,
HttpServletRequest
request
)
{
public
ResultBody
publish
(
DemandReleaseOrderVO
demandReleaseOrderVO
,
HttpServletRequest
request
)
{
DemandReleaseOrderDO
requirementsInfoDO
=
new
DemandReleaseOrderDO
(
demandReleaseOrderVO
);
DemandReleaseOrderDO
requirementsInfoDO
=
new
DemandReleaseOrderDO
(
demandReleaseOrderVO
);
...
@@ -91,11 +103,16 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
...
@@ -91,11 +103,16 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
}
}
public
ResultBody
payUavOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
)
{
public
ResultBody
payUavOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
)
{
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
commonPaymentVO
.
getOrderNumber
());
if
(!
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
equals
(
commonPaymentVO
.
getAmount
())){
return
ResultBody
.
error
(
"发起支付金额不正确"
);
}
OrderRequestParamsVO
orderRequestParamsVO
=
new
OrderRequestParamsVO
();
OrderRequestParamsVO
orderRequestParamsVO
=
new
OrderRequestParamsVO
();
orderRequestParamsVO
.
setOrderNo
(
commonPaymentVO
.
getOrderNumber
());
orderRequestParamsVO
.
setOrderNo
(
commonPaymentVO
.
getOrderNumber
());
orderRequestParamsVO
.
setAmount
(
commonPaymentVO
.
getAmount
());
orderRequestParamsVO
.
setAmount
(
commonPaymentVO
.
getAmount
());
orderRequestParamsVO
.
setAttach
(
"PAY_UAV_ORDER"
);
orderRequestParamsVO
.
setAttach
(
"PAY_UAV_ORDER"
);
orderRequestParamsVO
.
setDescription
(
commonPaymentVO
.
getDescription
());
orderRequestParamsVO
.
setDescription
(
commonPaymentVO
.
getDescription
());
orderRequestParamsVO
.
setOrderPort
(
commonPaymentVO
.
getOrderPort
());
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
throw
new
RuntimeException
(
"调用微信支付方法失败!"
);
throw
new
RuntimeException
(
"调用微信支付方法失败!"
);
...
...
src/main/java/com/mmc/oms/service/uav/UavOrderService.java
浏览文件 @
f528742a
...
@@ -7,6 +7,7 @@ import com.mmc.oms.model.vo.uav.AddUavOrderVO;
...
@@ -7,6 +7,7 @@ import com.mmc.oms.model.vo.uav.AddUavOrderVO;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderPayVO
;
import
com.mmc.oms.model.vo.uav.UavOrderPayVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
...
@@ -40,4 +41,6 @@ public interface UavOrderService {
...
@@ -40,4 +41,6 @@ public interface UavOrderService {
ResultBody
upLoadPay
(
UavOrderPayVO
uavOrderPayVO
);
ResultBody
upLoadPay
(
UavOrderPayVO
uavOrderPayVO
);
ResultBody
checkPay
(
UavOrderPayVO
uavOrderPayVO
);
ResultBody
checkPay
(
UavOrderPayVO
uavOrderPayVO
);
void
payUavOrder
(
TopUpOrderVO
topUpOrderVO
);
}
}
src/main/java/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
浏览文件 @
f528742a
package
com
.
mmc
.
oms
.
service
.
uav
.
impl
;
package
com
.
mmc
.
oms
.
service
.
uav
.
impl
;
import
com.mmc.oms.client.PmsClient
;
import
com.mmc.oms.client.PmsClient
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.json.JsonUtil
;
import
com.mmc.oms.common.json.JsonUtil
;
import
com.mmc.oms.common.result.PageResult
;
import
com.mmc.oms.common.result.PageResult
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
...
@@ -15,14 +16,12 @@ import com.mmc.oms.enums.UavOrderStatus;
...
@@ -15,14 +16,12 @@ import com.mmc.oms.enums.UavOrderStatus;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.kdn.KdnExpDTO
;
import
com.mmc.oms.model.dto.kdn.KdnExpDTO
;
import
com.mmc.oms.model.dto.order.ExpStationsDTO
;
import
com.mmc.oms.model.dto.order.ExpStationsDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderDTO
;
import
com.mmc.oms.model.dto.uav.*
;
import
com.mmc.oms.model.dto.uav.UavOrderPayDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderSkuDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderStatusDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.uav.*
;
import
com.mmc.oms.model.vo.uav.*
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.service.demand.DemandReleaseOrderService
;
import
com.mmc.oms.service.demand.DemandReleaseOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
@@ -94,38 +93,76 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -94,38 +93,76 @@ public class UavOrderServiceImpl implements UavOrderService {
}
}
String
orderNo
=
CodeUtil
.
uavOrderCode
();
String
orderNo
=
CodeUtil
.
uavOrderCode
();
BigDecimal
orderTotalAmount
=
BigDecimal
.
ZERO
;
BigDecimal
orderTotalAmount
=
BigDecimal
.
ZERO
;
BigDecimal
otherAmount
=
BigDecimal
.
ZERO
;
for
(
UavOrderSkuVO
skuVO
:
param
.
getSkuVOS
())
{
for
(
UavOrderSkuVO
skuVO
:
param
.
getSkuVOS
())
{
// 计算规格金额
// 计算规格金额
BigDecimal
skuAmount
=
BigDecimal
.
valueOf
(
skuVO
.
getOrderNum
()).
multiply
(
skuVO
.
getUnitPrice
());
BigDecimal
skuAmount
=
BigDecimal
.
valueOf
(
skuVO
.
getOrderNum
()).
multiply
(
skuVO
.
getUnitPrice
());
orderTotalAmount
=
orderTotalAmount
.
add
(
skuAmount
);
orderTotalAmount
=
orderTotalAmount
.
add
(
skuAmount
);
}
}
if
(
orderTotalAmount
.
compareTo
(
param
.
getOrderTotalAmount
())
!=
0
)
{
otherAmount
=
otherAmount
.
add
(
orderTotalAmount
);
return
ResultBody
.
error
(
"价格有变动,请重新选择规格后下单!"
);
// 校验云享金、钱包余额是否足够抵扣
BigDecimal
shareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
){
return
payResInfo
;
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
if
(
param
.
getDeductShareAmount
().
equals
(
1
)){
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getCashAmt
())
>=
0
)
{
// 抵扣云享金小于等于订单总额时,直接使用云享金
shareAmount
=
payWalletDTO
.
getCashAmt
();
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
shareAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
Integer
statusCode
=
null
;
// 支付完成
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
){
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
)){
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>=
0
)
{
// 抵扣余额小于等于订单总额时,直接使用余额
salaryAmount
=
payWalletDTO
.
getSalaryAmt
();
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
salaryAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
}
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setCashAmount
(
shareAmount
);
payUavWalletVO
.
setSalaryAmount
(
salaryAmount
);
payUavWalletVO
.
setOrderStatus
(
100
);
payUavWalletVO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())){
return
resultBody
;
}
}
// TODO 校验云享金、钱包余额是否足够抵扣
param
.
getShareAmount
();
param
.
getWalletAmount
();
// 添加总订单表
// 添加总订单表
UavOrderDO
uavOrderDO
=
new
UavOrderDO
();
UavOrderDO
uavOrderDO
=
new
UavOrderDO
();
uavOrderDO
.
setOrderNo
(
orderNo
);
uavOrderDO
.
setOrderNo
(
orderNo
);
uavOrderDO
.
setOrderTotalAmount
(
orderTotalAmount
);
uavOrderDO
.
setOrderTotalAmount
(
orderTotalAmount
);
uavOrderDO
.
setOrderType
(
param
.
getOrderType
());
uavOrderDO
.
setOrderType
(
param
.
getOrderType
());
if
(
param
.
getOrderType
().
equals
(
0
)){
// TODO 意向订单待处理
uavOrderDO
.
setPayType
(
"wechatpay"
);
uavOrderDO
.
setStatusCode
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
?
UavOrderStatus
.
PAYING
.
getCode
()
:
statusCode
);
uavOrderDO
.
setStatusCode
(
UavOrderStatus
.
PAYING
.
getCode
());
}
else
{
uavOrderDO
.
setStatusCode
(
UavOrderStatus
.
CONTACT
.
getCode
());
}
uavOrderDO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
uavOrderDO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
uavOrderDO
.
setThirdBackUserAccountId
(
param
.
getThirdBackUserAccountId
());
uavOrderDO
.
setThirdBackUserAccountId
(
param
.
getThirdBackUserAccountId
());
uavOrderDO
.
setCompanyName
(
param
.
getCompanyName
());
uavOrderDO
.
setCompanyName
(
param
.
getCompanyName
());
uavOrderDO
.
set
WalletAmount
(
param
.
getWalletAmount
()
);
uavOrderDO
.
set
SalaryAmount
(
salaryAmount
);
uavOrderDO
.
setShareAmount
(
param
.
getShareAmount
()
);
uavOrderDO
.
setShareAmount
(
shareAmount
);
uavOrderDO
.
setOtherAmount
(
param
.
getOtherAmount
()
);
uavOrderDO
.
setOtherAmount
(
otherAmount
);
uavOrderDO
.
setUserAddressId
(
param
.
getUserAddressId
());
uavOrderDO
.
setUserAddressId
(
param
.
getUserAddressId
());
uavOrderDO
.
setUserRemark
(
param
.
getUserRemark
());
uavOrderDO
.
setUserRemark
(
param
.
getUserRemark
());
uavOrderDao
.
addOrder
(
uavOrderDO
);
uavOrderDao
.
addOrder
(
uavOrderDO
);
List
<
UavOrderSkuDO
>
skuDOS
=
new
ArrayList
<>();
List
<
UavOrderSkuDO
>
skuDOS
=
new
ArrayList
<>();
for
(
UavOrderSkuVO
skuVO
:
param
.
getSkuVOS
())
{
for
(
UavOrderSkuVO
skuVO
:
param
.
getSkuVOS
())
{
UavOrderSkuDO
uavOrderSkuDO
=
new
UavOrderSkuDO
();
UavOrderSkuDO
uavOrderSkuDO
=
new
UavOrderSkuDO
();
...
@@ -239,10 +276,9 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -239,10 +276,9 @@ public class UavOrderServiceImpl implements UavOrderService {
return
ResultBody
.
error
(
"操作有误,请重试!"
);
return
ResultBody
.
error
(
"操作有误,请重试!"
);
}
}
CommonPaymentVO
commonPaymentVO
=
new
CommonPaymentVO
();
CommonPaymentVO
commonPaymentVO
=
new
CommonPaymentVO
();
//
int
shouldPay
=
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
intValue
();
int
shouldPay
=
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
intValue
();
if
(
shouldPay
<=
0
)
{
if
(
shouldPay
<=
0
)
{
return
ResultBody
.
error
(
"已支付完成"
);
return
ResultBody
.
success
(
"已支付完成"
);
}
}
List
<
UavOrderSkuDO
>
orderSkuDOS
=
uavOrderDao
.
listUavOrderSkuDO
(
id
);
List
<
UavOrderSkuDO
>
orderSkuDOS
=
uavOrderDao
.
listUavOrderSkuDO
(
id
);
StringBuffer
sb
=
new
StringBuffer
();
StringBuffer
sb
=
new
StringBuffer
();
...
@@ -321,4 +357,27 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -321,4 +357,27 @@ public class UavOrderServiceImpl implements UavOrderService {
public
ResultBody
checkPay
(
UavOrderPayVO
uavOrderPayVO
)
{
public
ResultBody
checkPay
(
UavOrderPayVO
uavOrderPayVO
)
{
return
null
;
return
null
;
}
}
@Transactional
@Override
public
void
payUavOrder
(
TopUpOrderVO
topUpOrderVO
)
{
// 添加支付凭证、记录支付方式
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
topUpOrderVO
.
getOrderNo
());
if
(
uavOrderDO
==
null
)
{
throw
new
RuntimeException
();
}
this
.
updateUavOrderStatus
(
uavOrderDO
.
getId
(),
UavOrderStatus
.
WAITING_DELIVER_GOODS
);
// 修改订单信息
uavOrderDO
.
setPayType
(
"wechatpay"
);
uavOrderDO
.
setPayTime
(
new
Date
());
uavOrderDao
.
updateUavOrderPayInfo
(
uavOrderDO
);
UavOrderPayDO
uavOrderPayDO
=
new
UavOrderPayDO
();
uavOrderPayDO
.
setUavOrderId
(
uavOrderDO
.
getId
());
uavOrderPayDO
.
setPayRemark
(
topUpOrderVO
.
getTradeStateDesc
());
uavOrderPayDO
.
setPayType
(
0
);
uavOrderPayDO
.
setPayAmount
(
BigDecimal
.
valueOf
(
topUpOrderVO
.
getAmount
()).
divide
(
BigDecimal
.
valueOf
(
100
)));
uavOrderPayDO
.
setCheckStatus
(
1
);
uavOrderPayDO
.
setCreateTime
(
new
Date
());
uavOrderDao
.
addOrderPay
(
uavOrderPayDO
);
}
}
}
src/main/resources/mapper/uav/UavOrderDao.xml
浏览文件 @
f528742a
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<result
property=
"thirdBackUserAccountId"
column=
"third_back_user_account_id"
/>
<result
property=
"thirdBackUserAccountId"
column=
"third_back_user_account_id"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"orderTotalAmount"
column=
"order_total_amount"
/>
<result
property=
"orderTotalAmount"
column=
"order_total_amount"
/>
<result
property=
"
walletAmount"
column=
"wallet
_amount"
/>
<result
property=
"
salaryAmount"
column=
"salary
_amount"
/>
<result
property=
"shareAmount"
column=
"share_amount"
/>
<result
property=
"shareAmount"
column=
"share_amount"
/>
<result
property=
"otherAmount"
column=
"other_amount"
/>
<result
property=
"otherAmount"
column=
"other_amount"
/>
<result
property=
"payType"
column=
"pay_type"
/>
<result
property=
"payType"
column=
"pay_type"
/>
...
@@ -33,17 +33,17 @@
...
@@ -33,17 +33,17 @@
</resultMap>
</resultMap>
<sql
id=
"uav_order_column"
>
<sql
id=
"uav_order_column"
>
id, order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
wallet
_amount,
id, order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
salary
_amount,
share_amount, other_amount, pay_type, order_type, delivery_time, user_address_id, user_remark, seller_remark, create_time,
share_amount, other_amount, pay_type, order_type, delivery_time, user_address_id, user_remark, seller_remark, create_time,
pay_time, confirm_receipt_time, version, remark_status, update_time
pay_time, confirm_receipt_time, version, remark_status, update_time
</sql>
</sql>
<insert
id=
"addOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"addOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
wallet
_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
salary
_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
)
)
values( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount},
values( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount},
#{
wallet
Amount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark},
#{
salary
Amount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark},
NOW()
NOW()
);
);
</insert>
</insert>
...
@@ -57,6 +57,22 @@
...
@@ -57,6 +57,22 @@
</foreach>
</foreach>
</insert>
</insert>
<insert
id=
"addOrderPay"
parameterType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into uav_order_pay(
uav_order_id,
order_no,
pay_type,
pay_amount,
pay_img_list,
check_status,
pay_remark,
refuse_reason,
create_time,
check_time
)
values(#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark}, #{refuseReason}, NOW(), #{checkTime})
</insert>
<update
id=
"sellerRemark"
>
<update
id=
"sellerRemark"
>
update uav_order set seller_remark = #{content} where id = #{id}
update uav_order set seller_remark = #{content} where id = #{id}
</update>
</update>
...
@@ -65,6 +81,10 @@
...
@@ -65,6 +81,10 @@
update uav_order set status_code = #{nextCode} where id = #{id}
update uav_order set status_code = #{nextCode} where id = #{id}
</update>
</update>
<update
id=
"updateUavOrderPayInfo"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
update uav_order set pay_time = #{payTime}, pay_type = #{payType} where id = #{id}
</update>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"uav_order_column"
/>
from uav_order where id = #{id}
select
<include
refid=
"uav_order_column"
/>
from uav_order where id = #{id}
</select>
</select>
...
@@ -166,4 +186,8 @@
...
@@ -166,4 +186,8 @@
limit #{pageNo}, #{pageSize}
limit #{pageNo}, #{pageSize}
</select>
</select>
<select
id=
"detailByNo"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"uav_order_column"
/>
from uav_order where order_no = #{orderNo}
</select>
</mapper>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论