提交 efa11216 作者: 恶龙咆哮

修改

上级 986e8b46
...@@ -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);
} }
...@@ -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);
......
...@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论