提交 4c17e602 作者: 张小凤

RequirementsDao(update)

上级 0d309d3c
package com.mmc.csf.infomation.vo;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/8 15:23
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class LiabilityProblemVO {
@ApiModelProperty(value = "id")
@NotNull(message = "修改id不能为空", groups = {Update.class})
private Integer requirementsInfoId;
@ApiModelProperty(value = "责任问题 1:双方无责 2:发布者责任 3:飞手责任 ",example = "1")
@NotNull(message = "责任类型不能为空")
private Integer duty;
}
...@@ -313,12 +313,12 @@ public class RequirementsController extends BaseController { ...@@ -313,12 +313,12 @@ public class RequirementsController extends BaseController {
return requirementsService.updateAmountGetNumber(getNumberVO, request); return requirementsService.updateAmountGetNumber(getNumberVO, request);
} }
@ApiOperation(value = "new——后台管理取消订单(取消发布者与飞手共同建立的订单)") @ApiOperation(value = "new2——后台管理取消订单(取消发布者与飞手共同建立的订单)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("cancelAll") @PostMapping("cancelAll")
public ResultBody cancelAll(HttpServletRequest request, @ApiParam(value = "发布服务需求id", required = true) @RequestParam Integer requirementsInfoId) { public ResultBody cancelAll(HttpServletRequest request, @RequestBody LiabilityProblemVO liabilityProblemVO) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId(); Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return requirementsService.cancelAll(requirementsInfoId, userAccountId); return requirementsService.cancelAll(liabilityProblemVO, userAccountId,request);
} }
......
...@@ -116,8 +116,12 @@ public interface RequirementsDao { ...@@ -116,8 +116,12 @@ public interface RequirementsDao {
RequirementsServiceDO droneFlyerCancel(Integer requirementsInfoId, Integer userAccountId); RequirementsServiceDO droneFlyerCancel(Integer requirementsInfoId, Integer userAccountId);
RequirementsServiceDO customerDroneFlyerCancel(Integer requirementsInfoId);
RequirementsInfoDO publisherCancel(Integer requirementsInfoId, Integer userAccountId); RequirementsInfoDO publisherCancel(Integer requirementsInfoId, Integer userAccountId);
RequirementsInfoDO customerPublisherCancel(Integer requirementsInfoId, Integer userAccountId);
RequirementsInfoDO publisherCancelFlyer(Integer requirementsInfoId); RequirementsInfoDO publisherCancelFlyer(Integer requirementsInfoId);
RequirementsInfoDO publisherOrderNumber(String publisherNumber); RequirementsInfoDO publisherOrderNumber(String publisherNumber);
......
...@@ -104,7 +104,7 @@ public interface RequirementsService { ...@@ -104,7 +104,7 @@ public interface RequirementsService {
ResultBody publisherCancel(Integer requirementsInfoId, Integer userAccountId, HttpServletRequest request); ResultBody publisherCancel(Integer requirementsInfoId, Integer userAccountId, HttpServletRequest request);
ResultBody cancelAll(Integer requirementsInfoId, Integer userAccountId); ResultBody cancelAll(LiabilityProblemVO liabilityProblemVO, Integer userAccountId,HttpServletRequest request);
ResultBody updatePublisherCancel(RequirementsAmountVO amountVO, HttpServletRequest request); ResultBody updatePublisherCancel(RequirementsAmountVO amountVO, HttpServletRequest request);
......
...@@ -1241,16 +1241,89 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -1241,16 +1241,89 @@ public class RequirementsServiceImpl implements RequirementsService {
/** /**
* 全额退回 * 全额退回
* *
* @param requirementsInfoId * @param liabilityProblemVO
* @param userAccountId * @param userAccountId
* @return * @return
*/ */
@Override @Override
public ResultBody cancelAll(Integer requirementsInfoId, Integer userAccountId) { public ResultBody cancelAll(LiabilityProblemVO liabilityProblemVO, Integer userAccountId,HttpServletRequest request) {
RequirementsServiceDO requirementsServiceDO = requirementsDao.droneFlyerCancel(requirementsInfoId, userAccountId); RequirementsServiceDO requirementsServiceDO = requirementsDao.customerDroneFlyerCancel(liabilityProblemVO.getRequirementsInfoId());
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancel(requirementsInfoId, userAccountId); RequirementsInfoDO requirementsInfoDO = requirementsDao.customerPublisherCancel(liabilityProblemVO.getRequirementsInfoId(), userAccountId);
requirementsDao.updateInfo(requirementsInfoId, 7); //双方无责
requirementsDao.updateScene(requirementsInfoId, 7); if (liabilityProblemVO.getDuty().equals(1)){
requirementsDao.updateInfo(liabilityProblemVO.getRequirementsInfoId(), 7);
requirementsDao.updateScene(liabilityProblemVO.getRequirementsInfoId(), 7);
WalletFlowVO walletFlowVO = new WalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
IsNullConvertZeroUtil.checkIsNull(requirementsServiceDO);
IsNullConvertZeroUtil.checkIsNull(requirementsInfoDO);
//退发布者费用
if (requirementsInfoDO.getWechatPayOrderNumber()!=null){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("客服介入退款");
applyRefundVO.setRefund(requirementsInfoDO.getWeChat().multiply(new BigDecimal(100)).longValue());
applyRefundVO.setOutTradeNo(requirementsInfoDO.getWechatPayOrderNumber());
applyRefund(applyRefundVO, request.getHeader("token"));
}
//退飞手费用
if (requirementsServiceDO.getWechatPayOrderNumber()!=null){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("客服介入退款");
applyRefundVO.setRefund(requirementsServiceDO.getWeChat().multiply(new BigDecimal(100)).longValue());
applyRefundVO.setOutTradeNo(requirementsServiceDO.getWechatPayOrderNumber());
applyRefund(applyRefundVO, request.getHeader("token"));
}
//退云享金及余额
if (requirementsInfoDO.getCashAmount().compareTo(BigDecimal.ZERO)!=0 ||
requirementsInfoDO.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0 ||
requirementsServiceDO.getCashAmount().compareTo(BigDecimal.ZERO)!=0 ||
requirementsServiceDO.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
publisherWalletFlowVO.setModeOfPayment(500);
publisherWalletFlowVO.setUserAccountId(requirementsInfoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount());
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount());
flyerWalletFlowVO.setModeOfPayment(500);
flyerWalletFlowVO.setUserAccountId(requirementsServiceDO.getUserAccountId());
flyerWalletFlowVO.setOperateUserAccountId(userAccountId);
flyerWalletFlowVO.setCashAmount(requirementsServiceDO.getCashAmount());
flyerWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount());
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancel(walletFlowVO,request.getHeader("token"));
return ResultBody.success();
}
}
//发布者责任
if (liabilityProblemVO.getDuty().equals(2)){
publisherCancel(liabilityProblemVO.getRequirementsInfoId(),requirementsInfoDO.getUserAccountId(),request);
return ResultBody.success();
}
//飞手责任
if (liabilityProblemVO.getDuty().equals(3)){
droneFlyerCancel(liabilityProblemVO.getRequirementsInfoId(),requirementsServiceDO.getUserAccountId(),request);
return ResultBody.success();
}
return ResultBody.success(); return ResultBody.success();
} }
......
...@@ -820,6 +820,49 @@ ...@@ -820,6 +820,49 @@
AND rs.requirements_info_id = #{requirementsInfoId} AND rs.requirements_info_id = #{requirementsInfoId}
</select> </select>
<select id="customerDroneFlyerCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsServiceDO">
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,
rs.create_time,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
rs.preempt_total_amount,
rs.cash_amount,
rs.we_chat,
rs.salary_amount,
rs.wechat_pay_order_number,
rs.preempt_total_amount,
rs.service_flow_id,
ra.order_amount,
ri.openid,
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
INNER JOIN requirements_service rs ON ri.id = rs.requirements_info_id
WHERE rs.requirements_info_id = #{requirementsInfoId}
</select>
<select id="publisherCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO"> <select id="publisherCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id, SELECT ri.id,
ri.task_title, ri.task_title,
...@@ -870,6 +913,56 @@ ...@@ -870,6 +913,56 @@
AND ri.id = #{requirementsInfoId} AND ri.id = #{requirementsInfoId}
</select> </select>
<select id="customerPublisherCancel" 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="publisherCancelFlyer" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO"> <select id="publisherCancelFlyer" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id, SELECT ri.id,
ri.task_title, ri.task_title,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论