提交 7c0e08d1 作者: 张小凤

service(update)

上级 ce959360
......@@ -118,6 +118,8 @@ public interface RequirementsDao {
RequirementsInfoDO publisherCancel(Integer requirementsInfoId, Integer userAccountId);
RequirementsInfoDO publisherCancelFlyer(Integer requirementsInfoId);
RequirementsInfoDO publisherOrderNumber(String publisherNumber);
List<FlowDictionaryDO> flowDictionary();
......
......@@ -717,6 +717,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
public ResultBody droneFlyerCancel(Integer requirementsInfoId, Integer userAccountId, HttpServletRequest request) {
RequirementsInfoDO infoDO = requirementsDao.publisherCancelFlyer(requirementsInfoId);
RequirementsServiceDO requirementsServiceDO = requirementsDao.droneFlyerCancel(requirementsInfoId, userAccountId);
IsNullConvertZeroUtil.checkIsNull(requirementsServiceDO);
Integer serviceFlowId = requirementsServiceDO.getServiceFlowId();
......@@ -733,15 +734,55 @@ public class RequirementsServiceImpl implements RequirementsService {
IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
IsNullConvertZeroUtil.checkIsNull(walletFlowVO);
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
IsNullConvertZeroUtil.checkIsNull(walletFlowVO);
flyerWalletFlowVO.setModeOfPayment(600);
flyerWalletFlowVO.setPercentagePenaltyOfOrder(percentagePenaltyOfOrder);
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());
if (sub2.compareTo(requirementsServiceDO.getCashAmount()) == 0 ||
sub2.compareTo(requirementsServiceDO.getCashAmount()) == -1) {
//云享金扣除违约多少
flyerWalletFlowVO.setYxjCashPledge(sub2);
}
} else if (requirementsServiceDO.getSalaryAmount().compareTo(subtract) == 1 ||
requirementsServiceDO.getSalaryAmount().compareTo(subtract) == 0) {
flyerWalletFlowVO.setSalaryCashPledge(subtract);
}
}
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
publisherWalletFlowVO.setUserAccountId(requirementsServiceDO.getUserAccountId());
//给发布者退钱
publisherWalletFlowVO.setUserAccountId(infoDO.getUserAccountId());
publisherWalletFlowVO.setModeOfPayment(600);
publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
publisherWalletFlowVO.setSalaryAmount(infoDO.getSalaryAmount());
publisherWalletFlowVO.setCashAmount(infoDO.getCashAmount());
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
//给发布者微信退钱
String wechatPayOrderNumber = infoDO.getWechatPayOrderNumber();
if (wechatPayOrderNumber != null) {
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setRefund(infoDO.getWeChat().multiply(new BigDecimal(100)).longValue());
applyRefundVO.setReason("退回微信支付金额");
applyRefundVO.setOutTradeNo(infoDO.getWechatPayOrderNumber());
applyRefund(applyRefundVO, request.getHeader("token"));
}
IsNullConvertZeroUtil.checkIsNull(infoDO);
//任务佣金
requirementsServiceDO.setPercentagePenaltyOfOrder(percentagePenaltyOfOrder);
//飞手单方面取消将20之二十退回到发布者佣金里面
......
......@@ -802,9 +802,9 @@
sf.order_status,
ri.publish,
rs.preempt_total_amount,
ra.cash_amount,
ra.we_chat,
ra.salary_amount,
rs.cash_amount,
rs.we_chat,
rs.salary_amount,
rs.wechat_pay_order_number,
rs.preempt_total_amount,
rs.service_flow_id,
......@@ -812,8 +812,7 @@
ri.openid,
ra.order_earnings
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
INNER JOIN requirements_service rs ON ri.id = rs.requirements_info_id
......@@ -871,6 +870,55 @@
AND ri.id = #{requirementsInfoId}
</select>
<select id="publisherCancelFlyer" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ra.order_level,
ra.order_amount,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ra.order_amount,
ra.we_chat,
ra.salary_amount,
ra.cash_amount,
ra.level_cash_amount,
ra.level_salary_amount,
ra.level_we_chat_amount,
ra.wechat_pay_order_number,
ri.service_flow_id,
rs.pilot_certification_user_id,
rs.openid as flyerOpenid,
ri.create_time,
ra.order_level_amount,
ra.order_earnings
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
WHERE ri.id = #{requirementsInfoId}
</select>
<select id="publisherOrderNumber" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论