提交 cd4ba190 作者: 张小凤

Requirements(update)

上级 14b79f8e
...@@ -1870,87 +1870,91 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -1870,87 +1870,91 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override @Override
public ResultBody flyHandAgree(FlyHandAgreeVO agreeVO, HttpServletRequest request) { public ResultBody flyHandAgree(FlyHandAgreeVO agreeVO, HttpServletRequest request) {
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancelFlyers(agreeVO.getRequirementsInfoId());
ServiceSettleAccountsVO settleAccountsVO = new ServiceSettleAccountsVO(); ServiceSettleAccountsVO settleAccountsVO = new ServiceSettleAccountsVO();
settleAccountsVO.setRequirementsInfoId(agreeVO.getRequirementsInfoId()); settleAccountsVO.setRequirementsInfoId(agreeVO.getRequirementsInfoId());
RequirementsInfoDO infoDO = requirementsDao.flyHandAgree(agreeVO.getRequirementsInfoId()); RequirementsServiceDO serviceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO);
RequirementsServiceDO requirementsServiceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO); RequirementsAmountUpdateDO updateAmount = requirementsDao.findUpdateAmount(agreeVO.getRequirementsInfoId());
RequirementsAmountUpdateDO amountUpdateDO = requirementsDao.selectAmountUpdate(agreeVO.getRequirementsInfoId());
IsNullConvertZeroUtil.checkIsNull(infoDO);
IsNullConvertZeroUtil.checkIsNull(requirementsServiceDO);
IsNullConvertZeroUtil.checkIsNull(amountUpdateDO);
ServiceSettleAccountsDO settleAccountsDO = new ServiceSettleAccountsDO(settleAccountsVO);
requirementsDao.settleAccounts(settleAccountsDO);
requirementsDao.updateScene(settleAccountsVO.getRequirementsInfoId(), 5);
requirementsDao.updateInfo(settleAccountsVO.getRequirementsInfoId(), 5);
//正常结算
WalletFlowVO walletFlowVO = new WalletFlowVO(); WalletFlowVO walletFlowVO = new WalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO(); PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO); IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO); IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
//给发布者发送 IsNullConvertZeroUtil.checkIsNull(serviceDO);
BigDecimal orderAmount = infoDO.getUpdateOrderAmount(); IsNullConvertZeroUtil.checkIsNull(requirementsInfoDO);
BigDecimal bigDecimal = new BigDecimal(0.9);
BigDecimal bigDecimal1 = orderAmount.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP);
publisherWalletFlowVO.setModeOfPayment(700);
publisherWalletFlowVO.setFlyerSalaryAmount(bigDecimal1);
//如果修改金额小于订单金额 if (requirementsInfoDO == null) {
if (infoDO.getOrderAmount().compareTo(infoDO.getUpdateOrderAmount()) == 1) { return ResultBody.error("结算失败");
BigDecimal cashAmount = infoDO.getCashAmount().add(amountUpdateDO.getCashAmount());
BigDecimal salaryAmount = infoDO.getSalaryAmount().add(amountUpdateDO.getSalaryAmount());
publisherWalletFlowVO.setCashAmount(cashAmount.negate());
publisherWalletFlowVO.setSalaryAmount(salaryAmount.negate());
publisherWalletFlowVO.setUserAccountId(infoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
} else if (infoDO.getOrderAmount().compareTo(infoDO.getUpdateOrderAmount()) == -1) {
BigDecimal cashAmount = infoDO.getCashAmount().subtract(amountUpdateDO.getReturnCashAmount());
BigDecimal salaryAmount = infoDO.getSalaryAmount().subtract(amountUpdateDO.getReturnSalaryAmount());
publisherWalletFlowVO.setCashAmount(cashAmount.negate());
publisherWalletFlowVO.setSalaryAmount(salaryAmount.negate());
publisherWalletFlowVO.setUserAccountId(settleAccountsVO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
} }
BigDecimal earnings=BigDecimal.ZERO;
//修改金额
if (updateAmount!=null){
//继续支付需要扣除金额
IsNullConvertZeroUtil.checkIsNull(updateAmount);
publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount().negate());
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().negate());
publisherWalletFlowVO.setUserAccountId(requirementsInfoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
publisherWalletFlowVO.setModeOfPayment(1000);
if (updateAmount.getCashAmount().compareTo(BigDecimal.ZERO)!=0||
updateAmount.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
if ("TOP_ORDER".equals(infoDO.getOrderLevel())) { BigDecimal cash = publisherWalletFlowVO.getCashAmount().negate();
publisherWalletFlowVO.setTopYxjAmount(infoDO.getLevelCashAmount().negate()); BigDecimal salary = publisherWalletFlowVO.getSalaryAmount().negate();
publisherWalletFlowVO.setTopSalaryAmount(infoDO.getLevelSalaryAmount().negate()); BigDecimal add = cash.add(updateAmount.getCashAmount());
} else if ("RUSH_ORDER".equals(infoDO.getOrderLevel())) { BigDecimal addSalary = salary.add(updateAmount.getSalaryAmount());
publisherWalletFlowVO.setUrgentYxjAmount(infoDO.getLevelCashAmount().negate()); publisherWalletFlowVO.setCashAmount(add.negate());
publisherWalletFlowVO.setUrgentSalaryAmount(infoDO.getLevelSalaryAmount().negate()); publisherWalletFlowVO.setSalaryAmount(addSalary.negate());
// publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getSalaryAmount().negate());
//publisherWalletFlowVO.setRefundCashAmount(updateAmount.getCashAmount().negate());
}if(updateAmount.getReturnCashAmount().compareTo(BigDecimal.ZERO)!=0 ||
updateAmount.getReturnSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
publisherWalletFlowVO.setRefundCashAmount(updateAmount.getReturnCashAmount());
publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getReturnSalaryAmount());
} }
if (updateAmount.getReturnWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO(); ApplyRefundVO applyRefundVO = new ApplyRefundVO();
//推发布者微信钱 applyRefundVO.setReason("飞手确认退款");
if (amountUpdateDO.getReturnWeChat().compareTo(BigDecimal.ZERO) != 0) { applyRefundVO.setOutTradeNo(updateAmount.getWechatPayOrderNumber());
applyRefundVO.setReason("推发布者微信金额"); applyRefundVO.setRefund(updateAmount.getReturnWeChat().multiply(new BigDecimal(100)).longValue());
applyRefundVO.setOutTradeNo(infoDO.getWechatPayOrderNumber());
BigDecimal weChat = amountUpdateDO.getWeChat();
long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue();
applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, request.getHeader("token")); applyRefund(applyRefundVO, request.getHeader("token"));
} }
//退飞手钱 //给飞手金额
flyerWalletFlowVO.setModeOfPayment(700); BigDecimal updateOrderAmount = updateAmount.getUpdateOrderAmount();
flyerWalletFlowVO.setCashAmount(requirementsServiceDO.getCashAmount());
flyerWalletFlowVO.setSalaryAmount(requirementsServiceDO.getSalaryAmount());
flyerWalletFlowVO.setUserAccountId(requirementsServiceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(settleAccountsVO.getUserAccountId());
BigDecimal multiply = updateOrderAmount.multiply(new BigDecimal(0.9)).setScale(2, BigDecimal.ROUND_HALF_UP);
publisherWalletFlowVO.setFlyerSalaryAmount(multiply);
//平台收益
earnings = updateOrderAmount.multiply(new BigDecimal(0.1)).setScale(2, BigDecimal.ROUND_HALF_UP);
}
if (requirementsServiceDO.getWeChat().compareTo(BigDecimal.ZERO) != 0) { flyerWalletFlowVO.setSalaryAmount(serviceDO.getSalaryAmount());
flyerWalletFlowVO.setCashAmount(serviceDO.getCashAmount());
flyerWalletFlowVO.setUserAccountId(serviceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
flyerWalletFlowVO.setModeOfPayment(1000);
if (serviceDO.getWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("原路退回"); applyRefundVO.setReason("原路退回");
applyRefundVO.setOutTradeNo(requirementsServiceDO.getWechatPayOrderNumber()); applyRefundVO.setOutTradeNo(serviceDO.getWechatPayOrderNumber());
BigDecimal weChat = requirementsServiceDO.getWeChat(); BigDecimal weChat = serviceDO.getWeChat();
BigDecimal decimal = new BigDecimal(100);
long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue(); long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue();
applyRefundVO.setRefund(longValueWeChat); applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, request.getHeader("token")); applyRefund(applyRefundVO, request.getHeader("token"));
} }
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO); walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO); walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancel(walletFlowVO, request.getHeader("token"));
flyerCancelNO(walletFlowVO,request.getHeader("token"));
BigDecimal orderEarnings = requirementsInfoDO.getOrderEarnings();
BigDecimal add = orderEarnings.add(earnings);
requirementsDao.updateOrderEarnings(add,agreeVO.getRequirementsInfoId());
requirementsDao.updateInfo(agreeVO.getRequirementsInfoId(), 5);
requirementsDao.updateScene(agreeVO.getRequirementsInfoId(), 5);
return ResultBody.success(); return ResultBody.success();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论