提交 fc218fbf 作者: han

飞手派单相关接口修改

上级 4b4c7c81
......@@ -411,11 +411,20 @@ public interface RequirementsDao {
Integer personSendOrder(PersonSendOrderDO personSendOrderDO);
/**
* 修改info表中的状态
*/
Integer updateInfoStatus(@Param("id") Integer requireId,@Param("status")Integer status);
/**
* 查询飞手是否重复派单
*/
Integer isReSendOrder(Integer requireId);
Integer reSendOrder(@Param("requireId") Integer requireId,@Param("userAccountId")Integer userAccountId);
/**
* 查询是否是团队派单
*/
Integer isTeamSendOrder(@Param("requireId") Integer requireId);
/**
* 查询派单信息
*/
PersonSendOrderDO selectSendOrderById(Integer id);
......@@ -429,13 +438,6 @@ public interface RequirementsDao {
*/
Integer isReConfirm(Integer id);
/**
* 根据订单id和用户id查找这个订单是不是被拒绝过
* @param requireId 订单id
* @param userAccountId 接单飞手id
* @return {@link Integer}
*/
Integer selectRejectedByPilot(Integer requireId,Integer userAccountId);
/**
* 管理员确认接单
......
......@@ -7,8 +7,8 @@ package com.mmc.csf.release.enums;
*/
public enum ServiceIdEnum {
WAIT_CHANGE_AMOUNT(12,"等待修改金额"),
DETAIL_COMPLETE(4,"任务已完成");
DETAIL_COMPLETE(4,"任务已完成"),
SENDING_OUT_ORDERS(13,"派单中");
private Integer code;
private String name;
......
......@@ -95,6 +95,9 @@ public interface UserAppApi {
@PostMapping("/userapp/wx/send")
ResultBody feignSendWxMsg(@RequestHeader("token") String token,@RequestBody WxMsgVO ws);
@GetMapping("/userapp/pilot/selectPilotTeam")
TeamMessageDO selectPilotTeam(@RequestHeader("token") String token,@RequestParam Integer pilotId);
@GetMapping("/userapp/pilot/selectPilotTeamManagerId")
Integer selectPilotTeamManagerId(@RequestHeader("token") String token,@RequestParam Integer pilotUserId);
@GetMapping("/userapp/pilot/getPilotApplyPhone")
String getPilotApplyPhone(@RequestHeader("token") String token,@RequestParam Integer pilotId);
}
......@@ -91,7 +91,12 @@ public class UserAppApiHystrix implements UserAppApi {
}
@Override
public TeamMessageDO selectPilotTeam(String token,Integer pilotId) {
public Integer selectPilotTeamManagerId(String token, Integer pilotUserId) {
return null;
}
@Override
public String getPilotApplyPhone(String token, Integer pilotId) {
return null;
}
......
......@@ -153,6 +153,11 @@ public interface RequirementsService {
ResultBody orderConfirmationByPilot(Integer id,Integer status);
/**
* 管理员确认接单
*/
ResultBody orderConfirmationByTeam(Integer id,Integer status);
/**
* 个人飞手派单的订单列表
*/
PageResult mySendOderList(Integer userAccountId, MyPreemptQO param);
......
......@@ -23,6 +23,7 @@ import com.mmc.csf.release.industry.IndustryTypeDTO;
import com.mmc.csf.release.industry.UserPayInfoVO;
import com.mmc.csf.release.service.RequirementsService;
import com.mmc.csf.release.util.RestTemplateUtil;
import com.mmc.csf.release.util.SmsUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.gavaghan.geodesy.Ellipsoid;
......@@ -3290,23 +3291,36 @@ public class RequirementsServiceImpl implements RequirementsService {
if(requirementsDao.isReSendOrder(personSendOrderVO.getRequirementsInfoId() )!= 0){
return ResultBody.error("重复派单");
}
// if(requirementsDao.selectRejectedByPilot(personSendOrderVO.getRequirementsInfoId(),personSendOrderVO.getPilotCertificationUserId()) == 1){
// return ResultBody.error("飞手拒绝过该订单,不能派单");
// }
TeamMessageDO teamMessageDTO = userAppApi.selectPilotTeam(token,personSendOrderVO.getPilotCertificationId());
if(requirementsDao.reSendOrder(personSendOrderVO.getRequirementsInfoId(),personSendOrderVO.getPilotCertificationUserId()) == 1){
return ResultBody.error("飞手拒绝过该订单或者已经派单,不能重复派单");
}
PersonSendOrderDO personSendOrderDO = null;
if(teamMessageDTO.getPilotMessageId() != null){
// 1、是否是团队派单
if(requirementsDao.isTeamSendOrder(personSendOrderVO.getRequirementsInfoId()) != 0){
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
String phone = userAppApi.getPilotApplyPhone(token, personSendOrderDO.getPilotCertificationId());
SmsUtil.sendPilotOrder(phone);
}
// 2、直接给飞手派单
Integer managerId = userAppApi.selectPilotTeamManagerId(token,personSendOrderVO.getPilotCertificationUserId());
// 修改info表中的状态为13派单中
requirementsDao.updateInfoStatus(personSendOrderVO.getRequirementsInfoId(),13);
if(managerId != null){
personSendOrderDO = new PersonSendOrderDO();
personSendOrderDO.setRequirementsInfoId(personSendOrderVO.getRequirementsInfoId());
personSendOrderDO.setTeamUserId(teamMessageDTO.getPilotMessageId());
personSendOrderDO.setTeamUserId(managerId);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器、发送短信、公众号通知
return ResultBody.success("派单成功,等待飞手确认");
return ResultBody.success("派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手");
}else{
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器 发送短信、公众号通知
return ResultBody.success("派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手");
String phone = userAppApi.getPilotApplyPhone(token, personSendOrderDO.getPilotCertificationId());
SmsUtil.sendPilotOrder(phone);
return ResultBody.success("派单成功,等待飞手确认");
}
}
......@@ -3322,7 +3336,10 @@ public class RequirementsServiceImpl implements RequirementsService {
RequirementsServiceDO requirementsServiceDO = new RequirementsServiceDO(personSendOrderDO);
// 同步派单信息到抢单表中
requirementsDao.insertService(requirementsServiceDO);
// SmsUtil.sendPassPilotApply(phone);
// TODO 发送短信、公众号通知
// 修改info表中的状态为2等待抵达任务地点
requirementsDao.updateInfoStatus(personSendOrderDO.getRequirementsInfoId(),2);
return ResultBody.success("飞手已接单");
}
if(personSendOrderDO.getTeamUserId() != null){
......@@ -3336,10 +3353,28 @@ public class RequirementsServiceImpl implements RequirementsService {
// 订单发往抢单大厅
requirementsDao.updateCount(personSendOrderDO.getRequirementsInfoId());
// TODO 发送短信、公众号通知
// 修改info表中的状态为1等待抢单
requirementsDao.updateInfoStatus(personSendOrderDO.getRequirementsInfoId(),1);
return ResultBody.success("飞手已拒绝接单,订单发往抢单大厅");
}
@Override
public ResultBody orderConfirmationByTeam(Integer id,Integer status) {
if(requirementsDao.isReConfirm(id) != 0){
return ResultBody.error("重复确认");
}
requirementsDao.orderConfirmationByTeam(id, status);
PersonSendOrderDO personSendOrderDO = requirementsDao.selectSendOrderById(id);
// 管理员同意接单
if(status == 1){
// TODO 发送短信、公众号通知
return ResultBody.success("团队管理员已接单,正在为您分配飞手");
}
// TODO 发送短信、公众号通知
return ResultBody.success("团队管理员已拒绝接单,订单发往抢单大厅");
}
@Override
public PageResult mySendOderList(Integer userAccountId, MyPreemptQO param) {
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
......@@ -3354,6 +3389,7 @@ public class RequirementsServiceImpl implements RequirementsService {
requirementsInfoVO.setServiceName(industryTypeDTO.getTypeName());
}
}
}
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
}
......@@ -3614,6 +3650,25 @@ public class RequirementsServiceImpl implements RequirementsService {
}
return rs.toString();
}
public JSONObject spellMsg(String name, String result){
JSONObject data=new JSONObject();
//订单编号{{thing3.DATA}}
JSONObject thing3=new JSONObject();
thing3.put("value",name);
data.put("thing3",thing3);
//审核时间{{time6.DATA}}
JSONObject time6=new JSONObject();
time6.put("value",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
data.put("time6",time6);
//审核结果{{thing5.DATA}}
JSONObject thing5=new JSONObject();
thing5.put("value",result);
data.put("thing5",thing5);
return data;
}
}
package com.mmc.csf.release.util;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.google.gson.Gson;
/**
* @author: zj
* @Date: 2023/7/25 17:00
*/
public class SmsUtil {
public static String ALIYUN_OSS_ACCESS_KEY_ID = "LTAI5tS3GNPRZAkG9LCQBZmc";
public static String ALIYUN_OSS_ACCESS_KEY_SECRET = "ZkPrv1u2mN2DmOIc7GfPKRuy4Risqe";
public static String CLOUD_JOIN_WEBSITE = "云享飞Pro";
private static String ENDPOINT = "dysmsapi.aliyuncs.com";
/**
*
* 加盟审核通过
*/
private static String COOPERATION_TEMPLATE_PASS_CODE_0 = "SMS_461986130";
private static String COOPERATION_TEMPLATE_PASS_CODE_2 = "SMS_462240459";
private static String COOPERATION_TEMPLATE_PASS_CODE_3 = "SMS_462620535";
private static String COOPERATION_TEMPLATE_PASS_CODE_4 = "SMS_462605558";
private static String COOPERATION_TEMPLATE_PASS_CODE_5 = "SMS_464125992";
private static String COOPERATION_TEMPLATE_PASS_CODE_6 = "SMS_464380042";
private static String COOPERATION_TEMPLATE_PASS_CODE_7 = "SMS_464335035";
private static String COOPERATION_TEMPLATE_PASS_CODE_8="SMS_464396097";
//短信验证码模板
private static String VERIFYCODE="SMS_211825548";
/**
* 加盟审核未通过
*/
private static String COOPERATION_TEMPLATE_CODE_1 = "SMS_462095054";
public static String sendPassCooperationApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_5, null, phone);
}
public static String sendNotPassCooperationApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_CODE_1, null, phone);
}
// 飞手审核通过通知
public static String sendPassPilotApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_6, null, phone);
}
//飞手提现通知
public static String sendPassWithdrawalApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_7, null, phone);
}
//飞手订单派送
public static String sendPilotOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_8, null, phone);
}
public static String send(String TemplateCode, String param, String phone) {
return send(CLOUD_JOIN_WEBSITE, TemplateCode, param, phone);
}
public static String send(String signName, String TemplateCode, String param, String phone) {
Config config = new Config().setAccessKeyId(ALIYUN_OSS_ACCESS_KEY_ID).setAccessKeySecret(ALIYUN_OSS_ACCESS_KEY_SECRET);
config.endpoint = ENDPOINT;
com.aliyun.dysmsapi20170525.Client client = null;
SendSmsRequest request = new SendSmsRequest();
request.setPhoneNumbers(phone);
request.setSignName(signName);
request.setTemplateCode(TemplateCode);
if (param != null) {
request.setTemplateParam(param);
}
SendSmsResponse response = null;
try {
client = new com.aliyun.dysmsapi20170525.Client(config);
response = client.sendSms(request);
} catch (Exception e) {
return e.getMessage();
}
return new Gson().toJson(response.body);
}
/**
* 短信验证码
* @param verifyCode
* @param phone
* @return
*/
public static String verifyCode(String verifyCode,String phone){
return send(VERIFYCODE,"{\"code\":\""+verifyCode+"\"}",phone);
}
}
......@@ -1668,7 +1668,12 @@
<update id="updateCount">
update requirements_info
set repertory = 1
set repertory = #{status}
where id = #{id}
</update>
<update id="updateInfoStatus">
update requirements_info
set service_flow_id = #{status}
where id = #{id}
</update>
......@@ -1956,8 +1961,13 @@
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="selectRejectedByPilot" resultType="java.lang.Integer">
select count(*) from requirements_service_temp where require_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId} and pilot_status = 2
<select id="reSendOrder" resultType="java.lang.Integer">
select count(*) from requirements_service_temp where require_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
</select>
<select id="isTeamSendOrder" resultType="java.lang.Integer">
select count(*)
from requirements_service_temp
where require_info_id = #{requireId} and team_user_id is not null;
</select>
<delete id="deleteRequirementsServiceInfo">
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论