Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
efa11216
提交
efa11216
authored
11月 10, 2023
作者:
恶龙咆哮
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改
上级
986e8b46
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
320 行增加
和
277 行删除
+320
-277
RequirementsDao.java
...rc/main/java/com/mmc/csf/release/dao/RequirementsDao.java
+14
-0
RequirementsServiceImpl.java
...mmc/csf/release/service/impl/RequirementsServiceImpl.java
+300
-277
RequirementsDao.xml
...rc/main/resources/mapper/requirements/RequirementsDao.xml
+6
-0
没有找到文件。
release-service/src/main/java/com/mmc/csf/release/dao/RequirementsDao.java
浏览文件 @
efa11216
...
@@ -297,4 +297,18 @@ public interface RequirementsDao {
...
@@ -297,4 +297,18 @@ public interface RequirementsDao {
* @return {@link Integer} 2 就是同意 11 是拒绝
* @return {@link Integer} 2 就是同意 11 是拒绝
*/
*/
Integer
selectServiceIdByRequireIdAndUserId
(
Integer
requirementsId
,
Integer
userAccountId
);
Integer
selectServiceIdByRequireIdAndUserId
(
Integer
requirementsId
,
Integer
userAccountId
);
/**
* 根绝订单id获取所需总人数
* @param requirementsId 订单id
* @return {@link Integer}
*/
Integer
selectRequirementsNum
(
Integer
requirementsId
);
/**
* 根据父订单id查询不满足状态条件的子订单数量
* @param requirementsId 父订单id
* @return {@link Integer}
*/
Integer
selectServiceFlowIdByFatherId
(
Integer
requirementsId
);
}
}
release-service/src/main/java/com/mmc/csf/release/service/impl/RequirementsServiceImpl.java
浏览文件 @
efa11216
...
@@ -732,97 +732,105 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -732,97 +732,105 @@ public class RequirementsServiceImpl implements RequirementsService {
RequirementsServiceDO
requirementsServiceDO
=
requirementsDao
.
droneFlyerCancel
(
requirementsInfoId
,
userAccountId
);
RequirementsServiceDO
requirementsServiceDO
=
requirementsDao
.
droneFlyerCancel
(
requirementsInfoId
,
userAccountId
);
IsNullConvertZeroUtil
.
checkIsNull
(
requirementsServiceDO
);
IsNullConvertZeroUtil
.
checkIsNull
(
requirementsServiceDO
);
Integer
serviceFlowId
=
requirementsServiceDO
.
getServiceFlowId
();
Integer
serviceFlowId
=
requirementsServiceDO
.
getServiceFlowId
();
if
(
serviceFlowId
!=
2
)
{
if
(
serviceFlowId
!=
10
)
{
return
ResultBody
.
error
(
ResultEnum
.
YOU_CANNOT_CANCEL_THE_ORDER_AT_THIS_TIME
.
getResultMsg
());
return
ResultBody
.
error
(
ResultEnum
.
YOU_CANNOT_CANCEL_THE_ORDER_AT_THIS_TIME
.
getResultMsg
());
}
else
{
//修改订单所需人数以及订单状态
requirementsDao
.
updateRequirementsInfoByRefusePilot
(
requirementsInfoId
);
Integer
fatherRequireId
=
requirementsDao
.
selectFatherRequireIdBySonId
(
requirementsInfoId
);
Integer
repertory
=
requirementsDao
.
selectRepertoryByRequireId
(
fatherRequireId
);
requirementsDao
.
updateRequirementsInfoRepertory
(
fatherRequireId
,
repertory
);
return
ResultBody
.
success
();
}
}
BigDecimal
bigDecimal
=
new
BigDecimal
(
0.9
);
BigDecimal
preemptTotalAmount
=
requirementsServiceDO
.
getPreemptTotalAmount
();
BigDecimal
percentagePenaltyOfOrder
=
preemptTotalAmount
.
multiply
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
//平台抽取百分之十
BigDecimal
earnings
=
preemptTotalAmount
.
multiply
(
new
BigDecimal
(
0.1
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
WalletFlowVO
walletFlowVO
=
new
WalletFlowVO
();
FlyerWalletFlowVO
flyerWalletFlowVO
=
new
FlyerWalletFlowVO
();
IsNullConvertZeroUtil
.
checkIsNull
(
flyerWalletFlowVO
);
IsNullConvertZeroUtil
.
checkIsNull
(
walletFlowVO
);
PublisherWalletFlowVO
publisherWalletFlowVO
=
new
PublisherWalletFlowVO
();
IsNullConvertZeroUtil
.
checkIsNull
(
publisherWalletFlowVO
);
IsNullConvertZeroUtil
.
checkIsNull
(
walletFlowVO
);
flyerWalletFlowVO
.
setModeOfPayment
(
600
);
flyerWalletFlowVO
.
setPercentagePenaltyOfOrder
(
percentagePenaltyOfOrder
.
negate
());
flyerWalletFlowVO
.
setUserAccountId
(
userAccountId
);
flyerWalletFlowVO
.
setOperateUserAccountId
(
userAccountId
);
//如果微信里面的钱大于需要扣除的钱
/* if (requirementsServiceDO.getWeChat().compareTo(preemptTotalAmount) == 1 ||
requirementsServiceDO.getWeChat().compareTo(preemptTotalAmount) == 0) {
//
}*/
//如果微信里面的钱小于需要扣除的金额
if
(
requirementsServiceDO
.
getWeChat
().
compareTo
(
preemptTotalAmount
)
==
-
1
)
{
//优先扣除微信的钱
BigDecimal
subtract
=
preemptTotalAmount
.
subtract
(
requirementsServiceDO
.
getWeChat
());
if
(
requirementsServiceDO
.
getSalaryAmount
().
compareTo
(
subtract
)
==
-
1
)
{
BigDecimal
sub2
=
subtract
.
subtract
(
requirementsServiceDO
.
getSalaryAmount
());
flyerWalletFlowVO
.
setSalaryCashPledge
(
requirementsServiceDO
.
getSalaryAmount
().
negate
());
if
(
sub2
.
compareTo
(
requirementsServiceDO
.
getCashAmount
())
==
0
||
sub2
.
compareTo
(
requirementsServiceDO
.
getCashAmount
())
==
-
1
)
{
//云享金扣除违约多少
flyerWalletFlowVO
.
setYxjCashPledge
(
sub2
.
negate
());
}
}
else
if
(
requirementsServiceDO
.
getSalaryAmount
().
compareTo
(
subtract
)
==
1
||
requirementsServiceDO
.
getSalaryAmount
().
compareTo
(
subtract
)
==
0
)
{
flyerWalletFlowVO
.
setSalaryCashPledge
(
subtract
.
negate
());
}
}
walletFlowVO
.
setFlyerWalletFlowVO
(
flyerWalletFlowVO
);
//给发布者退钱
publisherWalletFlowVO
.
setUserAccountId
(
infoDO
.
getUserAccountId
());
publisherWalletFlowVO
.
setModeOfPayment
(
600
);
publisherWalletFlowVO
.
setOperateUserAccountId
(
userAccountId
);
publisherWalletFlowVO
.
setSalaryAmount
(
infoDO
.
getSalaryAmount
());
publisherWalletFlowVO
.
setCashAmount
(
infoDO
.
getCashAmount
());
//退云享金和佣金
if
(
infoDO
.
getOrderLevel
().
equals
(
"RUSH_ORDER"
))
{
publisherWalletFlowVO
.
setUrgentYxjAmount
(
infoDO
.
getLevelCashAmount
());
publisherWalletFlowVO
.
setUrgentSalaryAmount
(
infoDO
.
getLevelSalaryAmount
());
}
if
(
infoDO
.
getOrderLevel
().
equals
(
"TOP_ORDER"
))
{
publisherWalletFlowVO
.
setTopYxjAmount
(
infoDO
.
getLevelCashAmount
());
publisherWalletFlowVO
.
setTopSalaryAmount
(
infoDO
.
getLevelSalaryAmount
());
}
walletFlowVO
.
setPublisherWalletFlowVO
(
publisherWalletFlowVO
);
//给发布者微信退钱
String
wechatPayOrderNumber
=
infoDO
.
getWechatPayOrderNumber
();
if
(
wechatPayOrderNumber
!=
null
)
{
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
BigDecimal
weChat
=
infoDO
.
getWeChat
();
BigDecimal
levelWeChatAmount
=
infoDO
.
getLevelWeChatAmount
();
BigDecimal
add
=
weChat
.
add
(
levelWeChatAmount
);
long
longValue
=
add
.
multiply
(
new
BigDecimal
(
100
)).
longValue
();
applyRefundVO
.
setRefund
(
longValue
);
applyRefundVO
.
setReason
(
"退回微信支付金额"
);
applyRefundVO
.
setOutTradeNo
(
infoDO
.
getWechatPayOrderNumber
());
applyRefund
(
applyRefundVO
,
request
.
getHeader
(
"token"
));
}
IsNullConvertZeroUtil
.
checkIsNull
(
infoDO
);
//任务佣金
// BigDecimal bigDecimal = new BigDecimal(0.9);
requirementsServiceDO
.
setPercentagePenaltyOfOrder
(
percentagePenaltyOfOrder
);
// BigDecimal preemptTotalAmount = requirementsServiceDO.getPreemptTotalAmount();
//飞手单方面取消将20之二十退回到发布者佣金里面
// BigDecimal percentagePenaltyOfOrder = preemptTotalAmount.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP);
flyerCancel
(
walletFlowVO
,
request
.
getHeader
(
"token"
));
// //平台抽取百分之十
requirementsServiceDO
.
setOrderEarnings
(
new
BigDecimal
(
0
));
// BigDecimal earnings = preemptTotalAmount.multiply(new BigDecimal(0.1)).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal
orderEarnings
=
requirementsServiceDO
.
getOrderEarnings
();
// WalletFlowVO walletFlowVO = new WalletFlowVO();
BigDecimal
add
=
orderEarnings
.
add
(
earnings
);
// FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
requirementsServiceDO
.
setOrderEarnings
(
add
);
// IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
requirementsServiceDO
.
setRequirementsInfoId
(
requirementsServiceDO
.
getId
());
// IsNullConvertZeroUtil.checkIsNull(walletFlowVO);
requirementsDao
.
updateAmounts
(
requirementsServiceDO
);
// PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
// requirementsDao.insertPlatformOrderEarnings(earnings, requirementsInfoId, userAccountId);
// IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
requirementsDao
.
updatePlatformOrderEarnings
(
earnings
,
requirementsInfoId
,
userAccountId
);
// IsNullConvertZeroUtil.checkIsNull(walletFlowVO);
requirementsDao
.
updateScene
(
requirementsInfoId
,
7
);
// flyerWalletFlowVO.setModeOfPayment(600);
requirementsDao
.
updateInfo
(
requirementsInfoId
,
7
);
// flyerWalletFlowVO.setPercentagePenaltyOfOrder(percentagePenaltyOfOrder.negate());
requirementsDao
.
updateFlow
(
requirementsInfoId
,
7
);
// flyerWalletFlowVO.setUserAccountId(userAccountId);
this
.
sendMsgPublishInfoAuth
(
requirementsServiceDO
);
// flyerWalletFlowVO.setOperateUserAccountId(userAccountId);
return
ResultBody
.
success
(
ResultEnum
.
PAYMENT_SUCCESS
.
getResultMsg
());
// //如果微信里面的钱大于需要扣除的钱
// /* if (requirementsServiceDO.getWeChat().compareTo(preemptTotalAmount) == 1 ||
// requirementsServiceDO.getWeChat().compareTo(preemptTotalAmount) == 0) {
// //
// }*/
// //如果微信里面的钱小于需要扣除的金额
// if (requirementsServiceDO.getWeChat().compareTo(preemptTotalAmount) == -1) {
// //优先扣除微信的钱
// BigDecimal subtract = preemptTotalAmount.subtract(requirementsServiceDO.getWeChat());
// if (requirementsServiceDO.getSalaryAmount().compareTo(subtract) == -1) {
// BigDecimal sub2 = subtract.subtract(requirementsServiceDO.getSalaryAmount());
// flyerWalletFlowVO.setSalaryCashPledge(requirementsServiceDO.getSalaryAmount().negate());
// if (sub2.compareTo(requirementsServiceDO.getCashAmount()) == 0 ||
// sub2.compareTo(requirementsServiceDO.getCashAmount()) == -1) {
// //云享金扣除违约多少
// flyerWalletFlowVO.setYxjCashPledge(sub2.negate());
// }
// } else if (requirementsServiceDO.getSalaryAmount().compareTo(subtract) == 1 ||
// requirementsServiceDO.getSalaryAmount().compareTo(subtract) == 0) {
// flyerWalletFlowVO.setSalaryCashPledge(subtract.negate());
// }
// }
// walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
// //给发布者退钱
// publisherWalletFlowVO.setUserAccountId(infoDO.getUserAccountId());
// publisherWalletFlowVO.setModeOfPayment(600);
// publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
// publisherWalletFlowVO.setSalaryAmount(infoDO.getSalaryAmount());
// publisherWalletFlowVO.setCashAmount(infoDO.getCashAmount());
// //退云享金和佣金
// if (infoDO.getOrderLevel().equals("RUSH_ORDER")) {
// publisherWalletFlowVO.setUrgentYxjAmount(infoDO.getLevelCashAmount());
// publisherWalletFlowVO.setUrgentSalaryAmount(infoDO.getLevelSalaryAmount());
// }
// if (infoDO.getOrderLevel().equals("TOP_ORDER")) {
// publisherWalletFlowVO.setTopYxjAmount(infoDO.getLevelCashAmount());
// publisherWalletFlowVO.setTopSalaryAmount(infoDO.getLevelSalaryAmount());
// }
//
// walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
// //给发布者微信退钱
// String wechatPayOrderNumber = infoDO.getWechatPayOrderNumber();
// if (wechatPayOrderNumber != null) {
// ApplyRefundVO applyRefundVO = new ApplyRefundVO();
// BigDecimal weChat = infoDO.getWeChat();
// BigDecimal levelWeChatAmount = infoDO.getLevelWeChatAmount();
// BigDecimal add = weChat.add(levelWeChatAmount);
// long longValue = add.multiply(new BigDecimal(100)).longValue();
// applyRefundVO.setRefund(longValue);
// applyRefundVO.setReason("退回微信支付金额");
// applyRefundVO.setOutTradeNo(infoDO.getWechatPayOrderNumber());
// applyRefund(applyRefundVO, request.getHeader("token"));
// }
// IsNullConvertZeroUtil.checkIsNull(infoDO);
//
// //任务佣金
// requirementsServiceDO.setPercentagePenaltyOfOrder(percentagePenaltyOfOrder);
// //飞手单方面取消将20之二十退回到发布者佣金里面
// flyerCancel(walletFlowVO, request.getHeader("token"));
// requirementsServiceDO.setOrderEarnings(new BigDecimal(0));
// BigDecimal orderEarnings = requirementsServiceDO.getOrderEarnings();
// BigDecimal add = orderEarnings.add(earnings);
// requirementsServiceDO.setOrderEarnings(add);
// requirementsServiceDO.setRequirementsInfoId(requirementsServiceDO.getId());
// requirementsDao.updateAmounts(requirementsServiceDO);
// // requirementsDao.insertPlatformOrderEarnings(earnings, requirementsInfoId, userAccountId);
// requirementsDao.updatePlatformOrderEarnings(earnings, requirementsInfoId, userAccountId);
// requirementsDao.updateScene(requirementsInfoId, 7);
// requirementsDao.updateInfo(requirementsInfoId, 7);
// requirementsDao.updateFlow(requirementsInfoId, 7);
// this.sendMsgPublishInfoAuth(requirementsServiceDO);
// return ResultBody.success(ResultEnum.PAYMENT_SUCCESS.getResultMsg());
}
}
...
@@ -1023,7 +1031,20 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -1023,7 +1031,20 @@ public class RequirementsServiceImpl implements RequirementsService {
FlyerWalletFlowVO
flyerWalletFlowVO
=
new
FlyerWalletFlowVO
();
FlyerWalletFlowVO
flyerWalletFlowVO
=
new
FlyerWalletFlowVO
();
IsNullConvertZeroUtil
.
checkIsNull
(
publisherWalletFlowVO
);
IsNullConvertZeroUtil
.
checkIsNull
(
publisherWalletFlowVO
);
IsNullConvertZeroUtil
.
checkIsNull
(
flyerWalletFlowVO
);
IsNullConvertZeroUtil
.
checkIsNull
(
flyerWalletFlowVO
);
if
(
serviceFlowId
==
1
)
{
Boolean
condition1
=
false
;
Boolean
condition2
=
false
;
//如果是多人订单 需要判断每一个子订单是否是在 1,10 状态
if
(
requirementsDao
.
selectRequirementsNum
(
requirementsInfoId
)
>
1
)
{
if
(
requirementsDao
.
selectServiceFlowIdByFatherId
(
requirementsInfoId
)
==
0
)
{
condition2
=
true
;
condition1
=
true
;
}
}
else
{
condition1
=
serviceFlowId
==
1
;
condition2
=
serviceFlowId
==
10
;
}
if
(
condition1
||
condition2
)
{
//飞手无责取消 将全部退回 不包含加急或者置顶
//飞手无责取消 将全部退回 不包含加急或者置顶
//支付
//支付
if
(
requirementsInfoDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
if
(
requirementsInfoDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
...
@@ -1059,195 +1080,197 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -1059,195 +1080,197 @@ public class RequirementsServiceImpl implements RequirementsService {
requirementsDao
.
updateInfo
(
requirementsInfoId
,
7
);
requirementsDao
.
updateInfo
(
requirementsInfoId
,
7
);
requirementsDao
.
updateFlow
(
requirementsInfoId
,
7
);
requirementsDao
.
updateFlow
(
requirementsInfoId
,
7
);
return
ResultBody
.
success
(
ResultEnum
.
THE_AMOUNT_OF_THE_MISSION_WILL_BE_RETURNED
.
getResultMsg
());
return
ResultBody
.
success
(
ResultEnum
.
THE_AMOUNT_OF_THE_MISSION_WILL_BE_RETURNED
.
getResultMsg
());
}
}
else
{
if
(
serviceFlowId
!=
2
&&
serviceFlowId
!=
1
)
{
return
ResultBody
.
error
(
ResultEnum
.
YOU_CANNOT_CANCEL_THE_ORDER_AT_THIS_TIME
.
getResultMsg
());
return
ResultBody
.
error
(
ResultEnum
.
YOU_CANNOT_CANCEL_THE_ORDER_AT_THIS_TIME
.
getResultMsg
());
}
}
//单方面取消订单并且飞手已经抢单
// if (serviceFlowId != 2 && serviceFlowId != 1) {
if
(
serviceFlowId
==
2
)
{
// return ResultBody.error(ResultEnum.YOU_CANNOT_CANCEL_THE_ORDER_AT_THIS_TIME.getResultMsg());
BigDecimal
orderAmount
=
requirementsInfoDO
.
getOrderAmount
();
// }
BigDecimal
bigDecimal
=
new
BigDecimal
(
0.7
);
// //单方面取消订单并且飞手已经抢单
//剩余金额
// if (serviceFlowId == 2) {
BigDecimal
residueOrderAmount
=
orderAmount
.
multiply
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
// BigDecimal orderAmount = requirementsInfoDO.getOrderAmount();
//先退微信 再退任务佣金 最后退云享金
// BigDecimal bigDecimal = new BigDecimal(0.7);
BigDecimal
weChat
=
requirementsInfoDO
.
getWeChat
();
// //剩余金额
//微信需要退款多少金额
// BigDecimal residueOrderAmount = orderAmount.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP);
//微信金额大于扣除之后的金额
// //先退微信 再退任务佣金 最后退云享金
BigDecimal
refundCashAmount
=
new
BigDecimal
(
0
);
// BigDecimal weChat = requirementsInfoDO.getWeChat();
BigDecimal
refundSalaryAmount
=
new
BigDecimal
(
0
);
// //微信需要退款多少金额
BigDecimal
refundWeChat
=
new
BigDecimal
(
0
);
// //微信金额大于扣除之后的金额
//飞手获得的金额
// BigDecimal refundCashAmount = new BigDecimal(0);
BigDecimal
receiveSalaryAmount
=
orderAmount
.
multiply
(
new
BigDecimal
(
0.2
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
// BigDecimal refundSalaryAmount = new BigDecimal(0);
BigDecimal
freeze
=
orderAmount
.
multiply
(
new
BigDecimal
(
0.3
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
// BigDecimal refundWeChat = new BigDecimal(0);
//微信支付金额大于需要退款金额
// //飞手获得的金额
if
(
weChat
.
compareTo
(
residueOrderAmount
)
==
1
)
{
// BigDecimal receiveSalaryAmount = orderAmount.multiply(new BigDecimal(0.2)).setScale(2, BigDecimal.ROUND_HALF_UP);
// BigDecimal freeze = orderAmount.multiply(new BigDecimal(0.3)).setScale(2, BigDecimal.ROUND_HALF_UP);
//云享金扣除多少
// //微信支付金额大于需要退款金额
// publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount().negate());
// if (weChat.compareTo(residueOrderAmount) == 1) {
//佣金扣除多少
//
// publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().negate());
// //云享金扣除多少
//违约云享金多少
// // publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount().negate());
publisherWalletFlowVO
.
setYxjCashPledge
(
requirementsInfoDO
.
getCashAmount
().
negate
());
// //佣金扣除多少
//违约佣金
// // publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().negate());
publisherWalletFlowVO
.
setSalaryCashPledge
(
requirementsInfoDO
.
getSalaryAmount
().
negate
());
// //违约云享金多少
// publisherWalletFlowVO.setYxjCashPledge(requirementsInfoDO.getCashAmount().negate());
//用户退百分之七十的费用
// //违约佣金
refundWeChat
=
residueOrderAmount
;
// publisherWalletFlowVO.setSalaryCashPledge(requirementsInfoDO.getSalaryAmount().negate());
BigDecimal
multiply
=
refundWeChat
.
multiply
(
new
BigDecimal
(
100
));
//
Long
longWeChat
=
multiply
.
longValue
();
// //用户退百分之七十的费用
applyRefundVO
.
setRefund
(
longWeChat
);
// refundWeChat = residueOrderAmount;
applyRefundVO
.
setReason
(
"扣除飞手百分之三十的费用"
);
// BigDecimal multiply = refundWeChat.multiply(new BigDecimal(100));
applyRefundVO
.
setOutTradeNo
(
requirementsInfoDO
.
getWechatPayOrderNumber
());
// Long longWeChat = multiply.longValue();
//退款到微信
// applyRefundVO.setRefund(longWeChat);
applyRefund
(
applyRefundVO
,
request
.
getHeader
(
"token"
));
// applyRefundVO.setReason("扣除飞手百分之三十的费用");
}
// applyRefundVO.setOutTradeNo(requirementsInfoDO.getWechatPayOrderNumber());
//微信支付金额小于需要退款金额
// //退款到微信
if
(
weChat
.
compareTo
(
residueOrderAmount
)
==
-
1
||
// applyRefund(applyRefundVO, request.getHeader("token"));
weChat
.
compareTo
(
refundCashAmount
)
==
0
)
{
// }
//优先扣除微信里面的钱
// //微信支付金额小于需要退款金额
BigDecimal
returnToWechat
=
residueOrderAmount
.
subtract
(
requirementsInfoDO
.
getWeChat
());
// if (weChat.compareTo(residueOrderAmount) == -1 ||
// weChat.compareTo(refundCashAmount) == 0) {
BigDecimal
residueAmount
=
new
BigDecimal
(
0
);
// //优先扣除微信里面的钱
if
(
returnToWechat
.
compareTo
(
requirementsInfoDO
.
getSalaryAmount
())
==
1
)
{
// BigDecimal returnToWechat = residueOrderAmount.subtract(requirementsInfoDO.getWeChat());
//退回佣金
//
residueAmount
=
returnToWechat
.
subtract
(
requirementsInfoDO
.
getSalaryAmount
());
// BigDecimal residueAmount = new BigDecimal(0);
publisherWalletFlowVO
.
setSalaryAmount
(
requirementsInfoDO
.
getSalaryAmount
());
// if (returnToWechat.compareTo(requirementsInfoDO.getSalaryAmount()) == 1) {
publisherWalletFlowVO
.
setCashAmount
(
residueAmount
);
// //退回佣金
publisherWalletFlowVO
.
setYxjCashPledge
(
requirementsInfoDO
.
getCashAmount
().
subtract
(
residueAmount
).
negate
());
// residueAmount = returnToWechat.subtract(requirementsInfoDO.getSalaryAmount());
// publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount());
}
// publisherWalletFlowVO.setCashAmount(residueAmount);
if
(
returnToWechat
.
compareTo
(
requirementsInfoDO
.
getSalaryAmount
())
==
0
)
{
// publisherWalletFlowVO.setYxjCashPledge(requirementsInfoDO.getCashAmount().subtract(residueAmount).negate());
publisherWalletFlowVO
.
setSalaryAmount
(
returnToWechat
);
//
}
// }
// if (returnToWechat.compareTo(requirementsInfoDO.getSalaryAmount()) == 0) {
//如果退回的佣金小于支付的佣金
// publisherWalletFlowVO.setSalaryAmount(returnToWechat);
if
(
returnToWechat
.
compareTo
(
requirementsInfoDO
.
getSalaryAmount
())
==
-
1
)
{
// }
residueAmount
=
requirementsInfoDO
.
getSalaryAmount
().
subtract
(
returnToWechat
);
//
//one
// //如果退回的佣金小于支付的佣金
publisherWalletFlowVO
.
setSalaryAmount
(
requirementsInfoDO
.
getSalaryAmount
().
subtract
(
residueAmount
));
// if (returnToWechat.compareTo(requirementsInfoDO.getSalaryAmount()) == -1) {
publisherWalletFlowVO
.
setSalaryCashPledge
(
residueAmount
.
negate
());
// residueAmount = requirementsInfoDO.getSalaryAmount().subtract(returnToWechat);
//修改2
// //one
//修改三
// publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().subtract(residueAmount));
// publisherWalletFlowVO.setSalaryCashPledge(residueAmount.negate());
if
(
residueAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
// //修改2
publisherWalletFlowVO
.
setYxjCashPledge
(
requirementsInfoDO
.
getCashAmount
().
negate
());
// //修改三
}
//
}
// if (residueAmount.compareTo(BigDecimal.ZERO) == 1) {
//如果退回佣金等于0
// publisherWalletFlowVO.setYxjCashPledge(requirementsInfoDO.getCashAmount().negate());
if
(
residueAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
// }
publisherWalletFlowVO
.
setYxjCashPledge
(
requirementsInfoDO
.
getCashAmount
().
negate
());
// }
}
// //如果退回佣金等于0
// if (residueAmount.compareTo(BigDecimal.ZERO) == 0) {
if
(
residueAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
-
1
)
{
// publisherWalletFlowVO.setYxjCashPledge(requirementsInfoDO.getCashAmount().negate());
publisherWalletFlowVO
.
setUserAccountId
(
userAccountId
);
// }
publisherWalletFlowVO
.
setOperateUserAccountId
(
userAccountId
);
//
publisherWalletFlowVO
.
setModeOfPayment
(
300
);
// if (residueAmount.compareTo(BigDecimal.ZERO) == -1) {
publisherWalletFlowVO
.
setSalaryAmount
(
residueAmount
.
negate
());
// publisherWalletFlowVO.setUserAccountId(userAccountId);
System
.
out
.
println
(
residueAmount
);
// publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
BigDecimal
subtract
=
requirementsInfoDO
.
getSalaryAmount
().
subtract
(
residueAmount
.
negate
());
// publisherWalletFlowVO.setModeOfPayment(300);
publisherWalletFlowVO
.
setSalaryCashPledge
(
subtract
.
negate
());
// publisherWalletFlowVO.setSalaryAmount(residueAmount.negate());
publisherWalletFlowVO
.
setYxjCashPledge
(
requirementsInfoDO
.
getCashAmount
().
negate
());
// System.out.println(residueAmount);
// BigDecimal subtract = requirementsInfoDO.getSalaryAmount().subtract(residueAmount.negate());
// BigDecimal subtract = requirementsInfoDO.getSalaryAmount().subtract(residueAmount.negate());
// publisherWalletFlowVO.setSalaryCashPledge(subtract.negate());
// publisherWalletFlowVO.setSalaryCashPledge(subtract.negate());
// publisherWalletFlowVO.setYxjCashPledge(requirementsInfoDO.getCashAmount().negate());
//
walletFlowVO
.
setPublisherWalletFlowVO
(
publisherWalletFlowVO
);
// // BigDecimal subtract = requirementsInfoDO.getSalaryAmount().subtract(residueAmount.negate());
//flyerCancel(walletFlowVO, request.getHeader("token"));
// // publisherWalletFlowVO.setSalaryCashPledge(subtract.negate());
//退回的佣金大于0
//
}
else
if
(
residueAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
// walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
// publisherWalletFlowVO.setCashAmount(residueAmount);
// //flyerCancel(walletFlowVO, request.getHeader("token"));
publisherWalletFlowVO
.
setUserAccountId
(
userAccountId
);
// //退回的佣金大于0
publisherWalletFlowVO
.
setOperateUserAccountId
(
userAccountId
);
// } else if (residueAmount.compareTo(BigDecimal.ZERO) == 1) {
publisherWalletFlowVO
.
setModeOfPayment
(
300
);
// // publisherWalletFlowVO.setCashAmount(residueAmount);
walletFlowVO
.
setPublisherWalletFlowVO
(
publisherWalletFlowVO
);
// publisherWalletFlowVO.setUserAccountId(userAccountId);
//退回任务佣金
// publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
//flyerCancel(walletFlowVO, request.getHeader("token"));
// publisherWalletFlowVO.setModeOfPayment(300);
// walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
}
// //退回任务佣金
BigDecimal
weChatAmount
=
requirementsInfoDO
.
getWeChat
();
// //flyerCancel(walletFlowVO, request.getHeader("token"));
long
longWeChat
=
weChatAmount
.
multiply
(
new
BigDecimal
(
100
)).
longValue
();
//
applyRefundVO
.
setRefund
(
longWeChat
);
// }
applyRefundVO
.
setReason
(
"退回方式——微信佣金云享金"
);
// BigDecimal weChatAmount = requirementsInfoDO.getWeChat();
applyRefundVO
.
setOutTradeNo
(
requirementsInfoDO
.
getWechatPayOrderNumber
());
// long longWeChat = weChatAmount.multiply(new BigDecimal(100)).longValue();
applyRefund
(
applyRefundVO
,
request
.
getHeader
(
"token"
));
// applyRefundVO.setRefund(longWeChat);
}
// applyRefundVO.setReason("退回方式——微信佣金云享金");
// applyRefundVO.setOutTradeNo(requirementsInfoDO.getWechatPayOrderNumber());
//平台抽取百分之十
// applyRefund(applyRefundVO, request.getHeader("token"));
//发布者取消
// }
BigDecimal
earnings
=
orderAmount
.
multiply
(
new
BigDecimal
(
0.1
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
//
BigDecimal
orderEarnings
=
requirementsInfoDO
.
getOrderEarnings
();
// //平台抽取百分之十
BigDecimal
add
=
orderEarnings
.
add
(
earnings
);
// //发布者取消
requirementsInfoDO
.
setOrderEarnings
(
add
);
// BigDecimal earnings = orderAmount.multiply(new BigDecimal(0.1)).setScale(2, BigDecimal.ROUND_HALF_UP);
requirementsDao
.
updateRequirementsAmount
(
requirementsInfoDO
);
// BigDecimal orderEarnings = requirementsInfoDO.getOrderEarnings();
// requirementsDao.insertPlatformOrderEarnings(earnings, requirementsInfoId, userAccountId);
// BigDecimal add = orderEarnings.add(earnings);
requirementsDao
.
updatePlatformOrderEarnings
(
earnings
,
requirementsInfoId
,
userAccountId
);
// requirementsInfoDO.setOrderEarnings(add);
// requirementsDao.updateRequirementsAmount(requirementsInfoDO);
// // requirementsDao.insertPlatformOrderEarnings(earnings, requirementsInfoId, userAccountId);
if
(
serviceDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
// requirementsDao.updatePlatformOrderEarnings(earnings, requirementsInfoId, userAccountId);
serviceDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
//
serviceDO
.
getWeChat
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
//
System
.
out
.
println
(
freeze
);
// if (serviceDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0 ||
//优先扣除微信
// serviceDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0 ||
BigDecimal
weChat1
=
requirementsInfoDO
.
getWeChat
();
// serviceDO.getWeChat().compareTo(BigDecimal.ZERO) != 0) {
//如果微信扣除的金额小于飞手获得的钱
// System.out.println(freeze);
if
(
weChat1
.
compareTo
(
freeze
)
==
-
1
)
{
// //优先扣除微信
//还需要扣除多少
// BigDecimal weChat1 = requirementsInfoDO.getWeChat();
BigDecimal
subtract
=
freeze
.
subtract
(
weChat1
);
// //如果微信扣除的金额小于飞手获得的钱
if
(
subtract
.
compareTo
(
requirementsInfoDO
.
getSalaryAmount
())
==
1
)
{
// if (weChat1.compareTo(freeze) == -1) {
publisherWalletFlowVO
.
setSalaryCashPledge
(
requirementsInfoDO
.
getSalaryAmount
().
negate
());
// //还需要扣除多少
// BigDecimal subtract = freeze.subtract(weChat1);
BigDecimal
subtract1
=
subtract
.
subtract
(
requirementsInfoDO
.
getSalaryAmount
());
// if (subtract.compareTo(requirementsInfoDO.getSalaryAmount()) == 1) {
if
(
subtract1
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
||
subtract1
.
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
// publisherWalletFlowVO.setSalaryCashPledge(requirementsInfoDO.getSalaryAmount().negate());
publisherWalletFlowVO
.
setYxjCashPledge
(
subtract1
.
negate
());
//
}
// BigDecimal subtract1 = subtract.subtract(requirementsInfoDO.getSalaryAmount());
}
// if (subtract1.compareTo(BigDecimal.ZERO) == 0 || subtract1.compareTo(BigDecimal.ZERO) == 1) {
if
(
subtract
.
compareTo
(
requirementsInfoDO
.
getSalaryAmount
())
==
-
1
)
{
// publisherWalletFlowVO.setYxjCashPledge(subtract1.negate());
//update
// }
if
(
requirementsInfoDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
// }
publisherWalletFlowVO
.
setSalaryCashPledge
(
subtract
.
negate
());
// if (subtract.compareTo(requirementsInfoDO.getSalaryAmount()) == -1) {
}
// //update
if
(
requirementsInfoDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
// if (requirementsInfoDO.getCashAmount().compareTo(BigDecimal.ZERO) == 0) {
BigDecimal
subtract1
=
requirementsInfoDO
.
getCashAmount
().
subtract
(
publisherWalletFlowVO
.
getCashAmount
());
// publisherWalletFlowVO.setSalaryCashPledge(subtract.negate());
publisherWalletFlowVO
.
setYxjCashPledge
(
subtract1
.
negate
());
// }
}
// if (requirementsInfoDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0) {
//publisherWalletFlowVO.setYxjCashPledge(subtract.negate());
// BigDecimal subtract1 = requirementsInfoDO.getCashAmount().subtract(publisherWalletFlowVO.getCashAmount());
}
// publisherWalletFlowVO.setYxjCashPledge(subtract1.negate());
// }
}
// //publisherWalletFlowVO.setYxjCashPledge(subtract.negate());
//飞手应该获得的金额
// }
publisherWalletFlowVO
.
setUserAccountId
(
userAccountId
);
//
publisherWalletFlowVO
.
setOperateUserAccountId
(
userAccountId
);
// }
publisherWalletFlowVO
.
setModeOfPayment
(
300
);
// //飞手应该获得的金额
publisherWalletFlowVO
.
setPercentagePenaltyOfOrder
(
receiveSalaryAmount
.
negate
());
// publisherWalletFlowVO.setUserAccountId(userAccountId);
flyerWalletFlowVO
.
setCashAmount
(
serviceDO
.
getCashAmount
());
// publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
flyerWalletFlowVO
.
setSalaryAmount
(
serviceDO
.
getSalaryAmount
());
// publisherWalletFlowVO.setModeOfPayment(300);
flyerWalletFlowVO
.
setUserAccountId
(
requirementsInfoDO
.
getPilotCertificationUserId
());
// publisherWalletFlowVO.setPercentagePenaltyOfOrder(receiveSalaryAmount.negate());
flyerWalletFlowVO
.
setOperateUserAccountId
(
userAccountId
);
// flyerWalletFlowVO.setCashAmount(serviceDO.getCashAmount());
flyerWalletFlowVO
.
setModeOfPayment
(
300
);
// flyerWalletFlowVO.setSalaryAmount(serviceDO.getSalaryAmount());
walletFlowVO
.
setPublisherWalletFlowVO
(
publisherWalletFlowVO
);
// flyerWalletFlowVO.setUserAccountId(requirementsInfoDO.getPilotCertificationUserId());
walletFlowVO
.
setFlyerWalletFlowVO
(
flyerWalletFlowVO
);
// flyerWalletFlowVO.setOperateUserAccountId(userAccountId);
String
s
=
String
.
valueOf
(
walletFlowVO
);
// flyerWalletFlowVO.setModeOfPayment(300);
log
.
info
(
s
);
// walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
flyerCancel
(
walletFlowVO
,
request
.
getHeader
(
"token"
));
// walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
}
// String s = String.valueOf(walletFlowVO);
//飞手全额退款
// log.info(s);
if
(
serviceDO
.
getWechatPayOrderNumber
()
!=
null
)
{
// flyerCancel(walletFlowVO, request.getHeader("token"));
ApplyRefundVO
arv
=
new
ApplyRefundVO
();
// }
arv
.
setReason
(
"全额退款"
);
// //飞手全额退款
arv
.
setRefund
(
serviceDO
.
getWeChat
().
multiply
(
new
BigDecimal
(
100
)).
longValue
());
// if (serviceDO.getWechatPayOrderNumber() != null) {
arv
.
setOutTradeNo
(
serviceDO
.
getWechatPayOrderNumber
());
// ApplyRefundVO arv = new ApplyRefundVO();
applyRefund
(
arv
,
request
.
getHeader
(
"token"
));
// arv.setReason("全额退款");
}
// arv.setRefund(serviceDO.getWeChat().multiply(new BigDecimal(100)).longValue());
// arv.setOutTradeNo(serviceDO.getWechatPayOrderNumber());
requirementsInfoDO
.
setReceiveSalaryAmount
(
receiveSalaryAmount
);
// applyRefund(arv, request.getHeader("token"));
//给飞手发送短信
// }
this
.
sendMsgFlyerInfoAuth
(
requirementsInfoDO
);
//
requirementsDao
.
updateInfo
(
requirementsInfoId
,
7
);
// requirementsInfoDO.setReceiveSalaryAmount(receiveSalaryAmount);
requirementsDao
.
updateFlow
(
requirementsInfoId
,
7
);
// //给飞手发送短信
return
ResultBody
.
success
(
ResultEnum
.
REFUND_PERCENTAGE
.
getResultMsg
());
// this.sendMsgFlyerInfoAuth(requirementsInfoDO);
}
// requirementsDao.updateInfo(requirementsInfoId, 7);
// requirementsDao.updateFlow(requirementsInfoId, 7);
return
ResultBody
.
success
();
// return ResultBody.success(ResultEnum.REFUND_PERCENTAGE.getResultMsg());
// }
//
// return ResultBody.success();
}
}
/**
/**
...
@@ -2898,7 +2921,7 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2898,7 +2921,7 @@ public class RequirementsServiceImpl implements RequirementsService {
BigDecimal
cashAndSalary
=
cashAmt
.
add
(
salaryAmt
);
BigDecimal
cashAndSalary
=
cashAmt
.
add
(
salaryAmt
);
//需要支付的总金额(任务佣金)
//需要支付的总金额(任务佣金)
BigDecimal
totalAmount
=
requirementsInfoDO
.
getOrderAmount
();
BigDecimal
totalAmount
=
requirementsInfoDO
.
getOrderAmount
();
BigDecimal
bigDecimal
=
new
BigDecimal
(
0.
3
);
BigDecimal
bigDecimal
=
new
BigDecimal
(
0.
0
);
totalAmount
=
totalAmount
.
multiply
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
totalAmount
=
totalAmount
.
multiply
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
grabTheOrderVO
.
getWechatPayOrderNumber
()
+
grabTheOrderVO
.
getUserAccountId
());
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
grabTheOrderVO
.
getWechatPayOrderNumber
()
+
grabTheOrderVO
.
getUserAccountId
());
GetOrderNumberDTO
orderNumberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
GetOrderNumberDTO
orderNumberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
...
...
release-service/src/main/resources/mapper/requirements/RequirementsDao.xml
浏览文件 @
efa11216
...
@@ -1686,4 +1686,10 @@
...
@@ -1686,4 +1686,10 @@
select service_flow_id from agree_pilot_order
select service_flow_id from agree_pilot_order
where require_info_id = #{requirementsId} and pilot_certification_user_id = #{userAccountId}
where require_info_id = #{requirementsId} and pilot_certification_user_id = #{userAccountId}
</select>
</select>
<select
id=
"selectRequirementsNum"
resultType=
"java.lang.Integer"
>
select count(id) from requirements_info where id =#{requirementsId}
</select>
<select
id=
"selectServiceFlowIdByFatherId"
resultType=
"java.lang.Integer"
>
select count(id) from requirements_info where father_require_id = #{requirementsId} and service_flow_id not in (1,10)
</select>
</mapper>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论