提交 39193034 作者: 张小凤

Req(update)

上级 dfe1bd40
......@@ -239,7 +239,7 @@ public class RequirementsController extends BaseController {
@PostMapping("confirmSettlement")
public ResultBody confirmSettlement(HttpServletRequest request, @RequestParam(value = "需求id") Integer requirementsInfoId) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return requirementsService.confirmSettlement(userAccountId, requirementsInfoId);
return requirementsService.confirmSettlement(userAccountId, requirementsInfoId,request);
}
@ApiOperation(value = "new——小程序-—发布者--订单结算详情")
......
......@@ -111,7 +111,7 @@ public interface RequirementsService {
ResultBody<FlowDictionaryDTO> flowDictionary();
ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId);
ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId,HttpServletRequest request);
ResultBody orderRequirements(String format);
......
......@@ -1513,9 +1513,9 @@ public class RequirementsServiceImpl implements RequirementsService {
flyerCancelNO(walletFlowVO,request.getHeader("token"));
}
//倒计时
// redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 1, TimeUnit.HOURS);
redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 1, TimeUnit.HOURS);
redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 2, TimeUnit.SECONDS);
// redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 2, TimeUnit.SECONDS);
return ResultBody.success();
} else {
......@@ -1533,11 +1533,80 @@ public class RequirementsServiceImpl implements RequirementsService {
}
@Override
public ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId) {
public ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId,HttpServletRequest request) {
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancel(requirementsInfoId, userAccountId);
ServiceSettleAccountsVO settleAccountsVO = new ServiceSettleAccountsVO();
settleAccountsVO.setRequirementsInfoId(requirementsInfoId);
RequirementsServiceDO serviceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO);
RequirementsAmountUpdateDO updateAmount = requirementsDao.findUpdateAmount(requirementsInfoId);
WalletFlowVO walletFlowVO = new WalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
IsNullConvertZeroUtil.checkIsNull(serviceDO);
if (requirementsInfoDO == null) {
return ResultBody.error("结算失败");
}
BigDecimal earnings=BigDecimal.ZERO;
//修改金额
if (updateAmount!=null){
//继续支付需要扣除金额
IsNullConvertZeroUtil.checkIsNull(updateAmount);
publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount());
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount());
publisherWalletFlowVO.setUserAccountId(requirementsInfoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
publisherWalletFlowVO.setModeOfPayment(1000);
if (updateAmount.getCashAmount().compareTo(BigDecimal.ZERO)!=0||
updateAmount.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
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.setReason("飞手确认退款");
applyRefundVO.setOutTradeNo(updateAmount.getWechatPayOrderNumber());
applyRefundVO.setRefund(updateAmount.getReturnWeChat().multiply(new BigDecimal(100)).longValue());
applyRefund(applyRefundVO, request.getHeader("token"));
}
//给飞手金额
BigDecimal updateOrderAmount = updateAmount.getUpdateOrderAmount();
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));
}
flyerWalletFlowVO.setSalaryAmount(serviceDO.getSalaryAmount());
flyerWalletFlowVO.setCashAmount(serviceDO.getCashAmount());
flyerWalletFlowVO.setUserAccountId(serviceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(userAccountId);
flyerWalletFlowVO.setModeOfPayment(1000);
if (serviceDO.getWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("原路退回");
applyRefundVO.setOutTradeNo(serviceDO.getWechatPayOrderNumber());
BigDecimal weChat = serviceDO.getWeChat();
long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue();
applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, request.getHeader("token"));
}
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancelNO(walletFlowVO,request.getHeader("token"));
requirementsDao.updateOrderEarnings(earnings,requirementsInfoId);
requirementsDao.updateInfo(requirementsInfoId, 5);
requirementsDao.updateScene(requirementsInfoId, 5);
return ResultBody.success();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论