提交 1001176a 作者: han

新增飞手确认状态

上级 b03b12cc
......@@ -6,7 +6,9 @@ import com.mmc.csf.infomation.vo.LiabilityProblemVO;
import com.mmc.csf.infomation.vo.ServiceSettleAccountsVO;
import com.mmc.csf.release.entity.information.PersonSendOrderDO;
import com.mmc.csf.release.entity.requirements.*;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
......@@ -413,6 +415,28 @@ public interface RequirementsDao {
*/
Integer isReSendOrder(Integer requireId);
/**
* 查询派单信息
*/
PersonSendOrderDO selectSendOrderById(Integer id);
/**
* 飞手是否确认接单
*/
Integer orderConfirmationByPilot(@Param("id") Integer id,@Param("status") Integer status);
/**
* 查询飞手是否重复确认
*/
Integer isReConfirm(Integer id);
/**
* 管理员确认接单
*/
Integer orderConfirmationByTeam(Integer id);
/**
* 飞手拒绝后订单发往抢单大厅
*/
Integer updateCount(Integer id);
}
......@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author han
......@@ -43,6 +44,11 @@ public class PersonSendOrderDO implements Serializable {
*/
private Integer teamUserId;
/**
* 创建时间
*/
private Date createTime;
public PersonSendOrderDO(PersonSendOrderVO personSendOrderVO){
this.requirementsInfoId = personSendOrderVO.getRequirementsInfoId();
this.pilotCertificationId = personSendOrderVO.getPilotCertificationId();
......
......@@ -3,6 +3,7 @@ package com.mmc.csf.release.entity.requirements;
import com.alibaba.fastjson.annotation.JSONField;
import com.mmc.csf.config.IsNullConvertZero;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.release.entity.information.PersonSendOrderDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -89,5 +90,15 @@ public class RequirementsServiceDO implements Serializable {
this.requirementsInfoId = requirementsInfoDO.getId();
}
/**
* 派单信息同步
*/
public RequirementsServiceDO(PersonSendOrderDO personSendOrderDO){
this.requirementsInfoId = personSendOrderDO.getRequirementsInfoId();
this.pilotCertificationId = personSendOrderDO.getPilotCertificationId();
this.pilotCertificationUserId = personSendOrderDO.getPilotCertificationUserId();
this.teamUserId = personSendOrderDO.getTeamUserId();
this.teamId = personSendOrderDO.getTeamId();
this.serviceFlowId = 2;
}
}
......@@ -146,4 +146,9 @@ public interface RequirementsService {
* 根据飞手进行派单操作
*/
ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO,String token);
/**
* 飞手确认接单
*/
ResultBody orderConfirmationByPilot(Integer id,Integer status);
}
......@@ -3296,16 +3296,45 @@ public class RequirementsServiceImpl implements RequirementsService {
personSendOrderDO.setRequirementsInfoId(personSendOrderVO.getRequirementsInfoId());
personSendOrderDO.setTeamUserId(teamMessageDTO.getPilotMessageId());
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器
// TODO 定时器、发送短信、公众号通知
return ResultBody.success("派单成功,等待飞手确认");
}else{
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器
// TODO 定时器 发送短信、公众号通知
return ResultBody.success("派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手");
}
}
@Override
public ResultBody orderConfirmationByPilot(Integer id,Integer status) {
if(requirementsDao.isReConfirm(id) != 0){
return ResultBody.error("重复确认");
}
requirementsDao.orderConfirmationByPilot(id, status);
PersonSendOrderDO personSendOrderDO = requirementsDao.selectSendOrderById(id);
// 飞手同意接单
if(status == 1){
RequirementsServiceDO requirementsServiceDO = new RequirementsServiceDO(personSendOrderDO);
// 同步派单信息到抢单表中
requirementsDao.insertService(requirementsServiceDO);
// TODO 发送短信、公众号通知
return ResultBody.success("飞手已接单");
}
if(personSendOrderDO.getTeamUserId() != null){
PersonSendOrderDO orderDO = new PersonSendOrderDO();
orderDO.setRequirementsInfoId(personSendOrderDO.getRequirementsInfoId());
orderDO.setTeamUserId(personSendOrderDO.getTeamUserId());
requirementsDao.personSendOrder(orderDO);
// TODO 发送短信、公众号通知
return ResultBody.success("飞手拒绝派单,需要管理员继续派单");
}
// 订单发往抢单大厅
requirementsDao.updateCount(personSendOrderDO.getRequirementsInfoId());
// TODO 发送短信、公众号通知
return ResultBody.success("飞手已拒绝接单,订单发往抢单大厅");
}
public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, HttpServletRequest request) {
String token = request.getHeader("token");
HttpHeaders headers = new HttpHeaders();
......
......@@ -1655,6 +1655,22 @@
<update id="setWorkTimeByPilot">
update order_amount_detail set work_date = NOW() where requirements_info_id = #{requireId}
</update>
<update id="orderConfirmationByPilot">
update requirements_service_temp
set pilot_status = #{status}
where id = #{id}
</update>
<update id="orderConfirmationByTeam">
update requirements_service_temp
set team_status = 1
where id = #{id}
</update>
<update id="updateCount">
update requirements_info
set repertory = 1
where id = #{id}
</update>
<insert id="insertAgreePilotOrder">
insert into agree_pilot_order(require_info_id, service_flow_id, pilot_certification_user_id, create_time)
......@@ -1869,6 +1885,16 @@
from requirements_service_temp
where requirements_info_id = #{requireId} and is_deleted = 0
</select>
<select id="selectSendOrderById" resultType="com.mmc.csf.release.entity.information.PersonSendOrderDO">
select *
from requirements_service_temp
where id = #{id}
</select>
<select id="isReConfirm" resultType="java.lang.Integer">
select pilot_status
from requirements_service_temp
where id = #{id} and is_deleted = 0
</select>
<delete id="deleteRequirementsServiceInfo">
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论