提交 5f5091b1 作者: 恶龙咆哮

飞手状态变化 以及 需求方同意拒绝飞手

上级 da8a4a58
package com.mmc.csf.infomation.qo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 张培
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AgreeOrRefusePilotQO {
@ApiModelProperty(value = "订单id")
private Integer requireInfoId;
@ApiModelProperty(value = "同意传2 进入飞手到达现场 拒绝传 11")
private Integer serviceFlowId;
@ApiModelProperty(value = "接单飞手的user_id")
private Integer pilotCertificationUserId;
}
...@@ -64,6 +64,8 @@ public class RequirementsInfoVO implements Serializable { ...@@ -64,6 +64,8 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "任务纬度", example = "44.344324") @ApiModelProperty(value = "任务纬度", example = "44.344324")
private Double latitude; private Double latitude;
@ApiModelProperty(value = "订单的父订单id")
private Integer fatherRequireId;
@ApiModelProperty(value = "需求描述", example = "描述一下", required = true) @ApiModelProperty(value = "需求描述", example = "描述一下", required = true)
@NotNull(message = "需求描述不能为空", groups = {Insert.class}) @NotNull(message = "需求描述不能为空", groups = {Insert.class})
......
...@@ -2,6 +2,7 @@ package com.mmc.csf.release.controller; ...@@ -2,6 +2,7 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*; import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO; import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO; import com.mmc.csf.infomation.qo.MyPublishQO;
...@@ -366,4 +367,12 @@ public class RequirementsController extends BaseController { ...@@ -366,4 +367,12 @@ public class RequirementsController extends BaseController {
return ResultBody.success(requirementsService.selectRequireSonInfo(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param)); return ResultBody.success(requirementsService.selectRequireSonInfo(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
} }
@ApiOperation(value = "小程序—发单方(同意/拒绝)该飞手")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("agreeOrRefusePilot")
public ResultBody agreeOrRefusePilot(@RequestBody AgreeOrRefusePilotQO param) {
return requirementsService.agreeOrRefusePilot(param);
}
} }
...@@ -2,6 +2,7 @@ package com.mmc.csf.release.dao; ...@@ -2,6 +2,7 @@ package com.mmc.csf.release.dao;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*; import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO; import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO; import com.mmc.csf.infomation.qo.MyPublishQO;
...@@ -252,4 +253,38 @@ public interface RequirementsDao { ...@@ -252,4 +253,38 @@ public interface RequirementsDao {
* @return {@link List}<{@link RequirementsInfoDO}> * @return {@link List}<{@link RequirementsInfoDO}>
*/ */
List<RequirementsInfoDO> selectRequireSonInfo(MyPublishQO param); List<RequirementsInfoDO> selectRequireSonInfo(MyPublishQO param);
/**
* 保存飞手被同意或拒绝接单信息
* @param param 是否同意飞手信息
*/
void insertAgreePilotOrder(AgreeOrRefusePilotQO param);
/**
* 根据订单id修改所需人数以及该订单的状态
* @param requireInfoId 订单id
*/
void updateRequirementsInfoByRefusePilot(Integer requireInfoId);
/**
* 根据订单查找父订单id
* @param requireInfoId 订单id
* @return {@link Integer}
*/
Integer selectFatherRequireIdBySonId(Integer requireInfoId);
/**
* 根据订单id查找该订单还需人数
* @param requireInfoId 订单id
* @return {@link Integer}
*/
Integer selectRepertoryByRequireId(Integer requireInfoId);
/**
* 根据订单id和飞手用户id删除接单的信息
* @param requireInfoId 订单id
* @param pilotUserId 飞手id
* @return {@link Integer}
*/
Integer updateRequirementsService(Integer requireInfoId,Integer pilotUserId);
} }
...@@ -180,6 +180,8 @@ public class RequirementsInfoDO implements Serializable { ...@@ -180,6 +180,8 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty(value = "发布者openid") @ApiModelProperty(value = "发布者openid")
private String openid; private String openid;
@ApiModelProperty(value = "订单的父订单id")
private Integer fatherRequireId;
public RequirementsInfoVO buildRequirementsInfoVO() { public RequirementsInfoVO buildRequirementsInfoVO() {
...@@ -194,6 +196,7 @@ public class RequirementsInfoDO implements Serializable { ...@@ -194,6 +196,7 @@ public class RequirementsInfoDO implements Serializable {
.requireUrl(this.requireUrl) .requireUrl(this.requireUrl)
.orderLevelEnum(this.orderLevel) .orderLevelEnum(this.orderLevel)
.serviceId(this.serviceId) .serviceId(this.serviceId)
.fatherRequireId(this.fatherRequireId)
.serviceName(this.serviceName) .serviceName(this.serviceName)
.totalAmount(this.totalAmount) .totalAmount(this.totalAmount)
.insurance(this.insurance) .insurance(this.insurance)
......
...@@ -3,6 +3,7 @@ package com.mmc.csf.release.service; ...@@ -3,6 +3,7 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult; import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*; import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO; import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO; import com.mmc.csf.infomation.qo.MyPublishQO;
...@@ -135,4 +136,11 @@ public interface RequirementsService { ...@@ -135,4 +136,11 @@ public interface RequirementsService {
* @return {@link PageResult} * @return {@link PageResult}
*/ */
PageResult selectRequireSonInfo(Integer userAccountId, MyPublishQO param); PageResult selectRequireSonInfo(Integer userAccountId, MyPublishQO param);
/**
* 同意或者拒绝飞手接单
* @param param 参数
* @return {@link ResultBody}
*/
ResultBody agreeOrRefusePilot(AgreeOrRefusePilotQO param);
} }
...@@ -9,6 +9,7 @@ import com.mmc.csf.common.util.web.ResultBody; ...@@ -9,6 +9,7 @@ import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum; import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.config.IsNullConvertZeroUtil; import com.mmc.csf.config.IsNullConvertZeroUtil;
import com.mmc.csf.infomation.dto.*; import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO; import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO; import com.mmc.csf.infomation.qo.MyPublishQO;
...@@ -3142,6 +3143,30 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -3142,6 +3143,30 @@ public class RequirementsServiceImpl implements RequirementsService {
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect); return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
} }
@Override
public ResultBody agreeOrRefusePilot(AgreeOrRefusePilotQO param) {
//判断飞手是否被同意 2就是该抵达现场下一步流程
Boolean agreeOrder = param.getServiceFlowId() == 2;
requirementsDao.insertAgreePilotOrder(param);
Integer requireId = param.getRequireInfoId();
//同意
if (agreeOrder) {
requirementsDao.updateScene(requireId, 2);
requirementsDao.updateInfo(requireId, 2);
}else {
//修改订单所需人数以及订单状态
requirementsDao.updateRequirementsInfoByRefusePilot(requireId);
Integer fatherRequireId = requirementsDao.selectFatherRequireIdBySonId(requireId);
Integer repertory = requirementsDao.selectRepertoryByRequireId(fatherRequireId);
requirementsDao.updateRequirementsInfoRepertory(fatherRequireId, repertory);
requirementsDao.updateRequirementsService(requireId,param.getPilotCertificationUserId());
//TODO 被拒绝后应该退回飞手的押金
}
return ResultBody.success();
}
public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, HttpServletRequest request) { public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, HttpServletRequest request) {
String token = request.getHeader("token"); String token = request.getHeader("token");
......
...@@ -518,6 +518,7 @@ ...@@ -518,6 +518,7 @@
ri.service_id, ri.service_id,
ri.repertory, ri.repertory,
ri.require_num, ri.require_num,
ri.father_require_id,
ra.total_amount, ra.total_amount,
ri.insurance, ri.insurance,
sf.doing, sf.doing,
...@@ -633,7 +634,7 @@ ...@@ -633,7 +634,7 @@
wechat_pay_order_number, service_flow_id, preempt_total_amount, openid, wechat_pay_order_number, service_flow_id, preempt_total_amount, openid,
create_time, update_time, preempt_phone) create_time, update_time, preempt_phone)
VALUES (#{requirementsInfoId}, #{pilotCertificationId}, #{pilotCertificationUserId}, VALUES (#{requirementsInfoId}, #{pilotCertificationId}, #{pilotCertificationUserId},
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber}, 2, #{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber},10,
#{preemptTotalAmount}, #{openid}, NOW(), NOW(), #{phoneNum}); #{preemptTotalAmount}, #{openid}, NOW(), NOW(), #{phoneNum});
</insert> </insert>
...@@ -718,6 +719,7 @@ ...@@ -718,6 +719,7 @@
#{userAccountId}); #{userAccountId});
</insert> </insert>
<select id="evaluateDetails" resultType="com.mmc.csf.release.entity.requirements.ServiceEvaluateDO"> <select id="evaluateDetails" resultType="com.mmc.csf.release.entity.requirements.ServiceEvaluateDO">
select id, select id,
evaluation_content, evaluation_content,
...@@ -1589,7 +1591,7 @@ ...@@ -1589,7 +1591,7 @@
select count(ri.id) from requirements_service rs select count(ri.id) from requirements_service rs
inner join requirements_info ri on ri.id = rs.requirements_info_id inner join requirements_info ri on ri.id = rs.requirements_info_id
where ri.father_require_id =#{fatherRequireId} where ri.father_require_id =#{fatherRequireId}
and rs.pilot_certification_user_id = #{userId} and rs.pilot_certification_user_id = #{userId} and rs.is_deleted = 0
</select> </select>
<select id="selectRequireSonInfo" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO"> <select id="selectRequireSonInfo" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT SELECT
...@@ -1632,9 +1634,31 @@ ...@@ -1632,9 +1634,31 @@
ORDER BY ri.id desc ORDER BY ri.id desc
limit #{pageNo}, #{pageSize} limit #{pageNo}, #{pageSize}
</select> </select>
<select id="selectFatherRequireIdBySonId" resultType="java.lang.Integer">
select father_require_id from requirements_info
where id = #{requireInfoId}
</select>
<select id="selectRepertoryByRequireId" resultType="java.lang.Integer">
select count(id) from requirements_info where father_require_id = #{requireInfoId}
and repertory = 1
</select>
<update id="updateRequirementsInfoRepertory"> <update id="updateRequirementsInfoRepertory">
update requirements_info set repertory = #{fatherRepertory} update requirements_info set repertory = #{fatherRepertory}
where id = #{fatherRequireId} where id = #{fatherRequireId}
</update> </update>
<update id="updateRequirementsInfoByRefusePilot">
update requirements_info
set repertory = 1,service_flow_id = 1
where id=#{requireInfoId}
</update>
<update id="updateRequirementsService">
update requirements_service set is_deleted = 1
where requirements_info_id = #{requireInfoId} and pilot_certification_user_id = #{pilotUserId}
</update>
<insert id="insertAgreePilotOrder">
insert into agree_pilot_order(require_info_id, service_flow_id, pilot_certification_user_id, create_time)
values(#{requireInfoId},#{serviceFlowId},#{pilotCertificationUserId},NOW())
</insert>
</mapper> </mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论