提交 1e9f98c3 作者: han

短信发送

上级 67a04039
流水线 #7739 已通过 于阶段
in 3 分 0 秒
......@@ -386,8 +386,10 @@ public class RequirementsController extends BaseController {
@ApiOperation(value = "团队派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/teamSendOrder")
public ResultBody teamSendOrder(@ApiParam(value = "父订单id")@RequestParam Integer fatherRequireId,@ApiParam(value = "团队管理员的id")@RequestParam Integer messageId) {
return requirementsService.teamSendOrder(fatherRequireId,messageId);
public ResultBody teamSendOrder(HttpServletRequest request,
@ApiParam(value = "父订单id")@RequestParam Integer fatherRequireId,
@ApiParam(value = "团队管理员的id")@RequestParam Integer messageId) {
return requirementsService.teamSendOrder(fatherRequireId,messageId,this.getUserLoginInfoFromRedis(request).getToken());
}
@ApiOperation(value = "我的派单列表——待确认")
......@@ -401,14 +403,18 @@ public class RequirementsController extends BaseController {
@ApiOperation(value = "我的派单——去确认")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("orderConfirmationByPilot")
public ResultBody orderConfirmationByPilot(@ApiParam(value = "派单id") @RequestParam Integer id,@ApiParam(value = "确认状态:1同意,2不同意") @RequestParam Integer status) {
return requirementsService.orderConfirmationByPilot(id,status);
public ResultBody orderConfirmationByPilot(HttpServletRequest request,
@ApiParam(value = "派单id") @RequestParam Integer id,
@ApiParam(value = "确认状态:1同意,2不同意") @RequestParam Integer status) {
return requirementsService.orderConfirmationByPilot(id,status,this.getUserLoginInfoFromRedis(request).getToken());
}
@ApiOperation(value = "管理员确实(拒绝)派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("adminAgreeOrder")
public ResultBody adminAgreeOrder(@ApiParam(value = "派单id") @RequestParam Integer id,@ApiParam(value = "确认状态:1同意,2不同意") @RequestParam Integer status) {
return requirementsService.orderConfirmationByTeam(id,status);
public ResultBody adminAgreeOrder(HttpServletRequest request,
@ApiParam(value = "派单id") @RequestParam Integer id,
@ApiParam(value = "确认状态:1同意,2不同意") @RequestParam Integer status) {
return requirementsService.orderConfirmationByTeam(id,status,this.getUserLoginInfoFromRedis(request).getToken());
}
}
\ No newline at end of file
......@@ -472,5 +472,9 @@ public interface RequirementsDao {
*/
List<RequirementsInfoDO> mySendOderList(MyPreemptQO param);
/**
* 根据订单id查询发单用户的id
*/
Integer selectSenderId(Integer id);
}
......@@ -99,5 +99,5 @@ public interface UserAppApi {
Integer selectPilotTeamManagerId(@RequestHeader("token") String token,@RequestParam Integer pilotUserId);
@GetMapping("/userapp/pilot/getPilotApplyPhone")
String getPilotApplyPhone(@RequestHeader("token") String token,@RequestParam Integer pilotId);
String getPilotApplyPhone(@RequestHeader("token") String token,@RequestParam Integer userAccountId);
}
......@@ -96,7 +96,7 @@ public class UserAppApiHystrix implements UserAppApi {
}
@Override
public String getPilotApplyPhone(String token, Integer pilotId) {
public String getPilotApplyPhone(String token, Integer userAccountId) {
return null;
}
......
......@@ -158,17 +158,17 @@ public interface RequirementsService {
/**
* 根据团队进行派单操作
*/
ResultBody teamSendOrder(Integer fatherRequireId,Integer messageId);
ResultBody teamSendOrder(Integer fatherRequireId,Integer messageId,String token);
/**
* 飞手确认接单
*/
ResultBody orderConfirmationByPilot(Integer id,Integer status);
ResultBody orderConfirmationByPilot(Integer id,Integer status,String token);
/**
* 管理员确认接单
*/
ResultBody orderConfirmationByTeam(Integer id,Integer status);
ResultBody orderConfirmationByTeam(Integer id,Integer status,String token);
/**
* 个人飞手派单的订单列表
......
......@@ -3316,12 +3316,13 @@ public class RequirementsServiceImpl implements RequirementsService {
return ResultBody.error("飞手拒绝过该订单或者已经派单,不能重复派单");
}
PersonSendOrderDO personSendOrderDO = null;
String pilotPhone = userAppApi.getPilotApplyPhone(token, personSendOrderDO.getPilotCertificationUserId());
// 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);
requirementsDao.personSendOrder(personSendOrderDO);
SmsUtil.sendPilotOrder(pilotPhone);
return ResultBody.success("派单成功,等待飞手确认");
}
// 2、直接给飞手派单
......@@ -3332,37 +3333,40 @@ public class RequirementsServiceImpl implements RequirementsService {
personSendOrderDO = new PersonSendOrderDO();
personSendOrderDO.setRequirementsInfoId(personSendOrderVO.getRequirementsInfoId());
personSendOrderDO.setTeamUserId(managerId);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器、发送短信、公众号通知
String managerPhone = userAppApi.getPilotApplyPhone(token, managerId);
SmsUtil.sendPilotOrder(managerPhone);
return ResultBody.success("派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手");
}else{
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器 发送短信、公众号通知
String phone = userAppApi.getPilotApplyPhone(token, personSendOrderDO.getPilotCertificationId());
SmsUtil.sendPilotOrder(phone);
SmsUtil.sendPilotOrder(pilotPhone);
return ResultBody.success("派单成功,等待飞手确认");
}
}
@Override
public ResultBody teamSendOrder(Integer fatherRequireId, Integer messageId) {
public ResultBody teamSendOrder(Integer fatherRequireId, Integer managerId,String token) {
// 查询所有的子订单id
List<Integer> ids = requirementsDao.selectAllSuborder(fatherRequireId);
PersonSendOrderDO personSendOrderDO = null;
for (Integer id : ids) {
personSendOrderDO = new PersonSendOrderDO();
personSendOrderDO.setRequirementsInfoId(id);
personSendOrderDO.setTeamUserId(messageId);
personSendOrderDO.setTeamUserId(managerId);
requirementsDao.personSendOrder(personSendOrderDO);
// 修改info表中的状态为13派单中
requirementsDao.updateInfoStatus(id,13);
}
String managerPhone = userAppApi.getPilotApplyPhone(token, managerId);
SmsUtil.sendPilotOrder(managerPhone);
return ResultBody.success("等待团队管理员确认");
}
@Override
public ResultBody orderConfirmationByPilot(Integer id,Integer status) {
public ResultBody orderConfirmationByPilot(Integer id,Integer status,String token) {
if(requirementsDao.isReConfirm(id) != 0){
return ResultBody.error("重复确认");
}
......@@ -3377,6 +3381,9 @@ public class RequirementsServiceImpl implements RequirementsService {
// TODO 发送短信、公众号通知
// 修改info表中的状态为2等待抵达任务地点
requirementsDao.updateInfoStatus(personSendOrderDO.getRequirementsInfoId(),2);
Integer userId = requirementsDao.selectSenderId(personSendOrderDO.getRequirementsInfoId());
String userPhone = userAppApi.getPilotApplyPhone(token, userId);
SmsUtil.sendGetOrder(userPhone);
return ResultBody.success("飞手已接单");
}
if(personSendOrderDO.getTeamUserId() != null){
......@@ -3385,6 +3392,8 @@ public class RequirementsServiceImpl implements RequirementsService {
orderDO.setTeamUserId(personSendOrderDO.getTeamUserId());
requirementsDao.personSendOrder(orderDO);
// TODO 发送短信、公众号通知
String managerPhone = userAppApi.getPilotApplyPhone(token, personSendOrderDO.getTeamUserId());
SmsUtil.sendRefuseManager(managerPhone);
return ResultBody.success("飞手拒绝派单,需要管理员继续派单");
}
// 订单发往抢单大厅
......@@ -3392,11 +3401,14 @@ public class RequirementsServiceImpl implements RequirementsService {
// TODO 发送短信、公众号通知
// 修改info表中的状态为1等待抢单
requirementsDao.updateInfoStatus(personSendOrderDO.getRequirementsInfoId(),1);
Integer userId = requirementsDao.selectSenderId(personSendOrderDO.getRequirementsInfoId());
String userPhone = userAppApi.getPilotApplyPhone(token, userId);
SmsUtil.sendRefuseUser(userPhone);
return ResultBody.success("飞手已拒绝接单,订单发往抢单大厅");
}
@Override
public ResultBody orderConfirmationByTeam(Integer id,Integer status) {
public ResultBody orderConfirmationByTeam(Integer id,Integer status,String token) {
//查询订单所需总人数 大于1说明是一个多人订单
int requirementsNum = requirementsDao.selectRequirementsNum(id);
if(requirementsNum == 1){
......@@ -3418,6 +3430,9 @@ public class RequirementsServiceImpl implements RequirementsService {
// TODO 发送短信、公众号通知
return ResultBody.success("团队管理员已接单,正在为您分配飞手");
}
Integer userId = requirementsDao.selectSenderId(id);
String userPhone = userAppApi.getPilotApplyPhone(token, userId);
SmsUtil.sendManagerRefuseOrder(userPhone);
// TODO 发送短信、公众号通知
return ResultBody.success("团队管理员已拒绝接单,订单发往抢单大厅");
}
......
......@@ -30,7 +30,11 @@ public class SmsUtil {
private static String COOPERATION_TEMPLATE_PASS_CODE_7 = "SMS_464335035";
private static String COOPERATION_TEMPLATE_PASS_CODE_8="SMS_464396097";
private static String COOPERATION_TEMPLATE_PASS_CODE_8="SMS_464386188";
private static String COOPERATION_TEMPLATE_PASS_CODE_9="SMS_464401213";
private static String COOPERATION_TEMPLATE_PASS_CODE_10="SMS_464371178";
private static String COOPERATION_TEMPLATE_PASS_CODE_11="SMS_464371179";
private static String COOPERATION_TEMPLATE_PASS_CODE_12="SMS_464321248";
//短信验证码模板
private static String VERIFYCODE="SMS_211825548";
......@@ -61,6 +65,22 @@ public class SmsUtil {
public static String sendPilotOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_8, null, phone);
}
//管理员拒绝接单
public static String sendManagerRefuseOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_9, null, phone);
}
//飞手拒绝接用户的订单
public static String sendRefuseUser(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_10, null, phone);
}
//飞手拒绝管理员派单
public static String sendRefuseManager(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_11, null, phone);
}
//飞手接单
public static String sendGetOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_12, null, phone);
}
public static String send(String TemplateCode, String param, String phone) {
return send(CLOUD_JOIN_WEBSITE, TemplateCode, param, phone);
......
......@@ -1962,12 +1962,12 @@
limit #{pageNo}, #{pageSize}
</select>
<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 count(*) from requirements_service_temp where requirements_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;
where requirements_info_id = #{requireId} and team_user_id is not null;
</select>
<select id="mySendPublish" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT
......@@ -2046,6 +2046,11 @@
from requirements_info
where father_require_id = #{fatherRequireId} and is_deleted = 0
</select>
<select id="selectSenderId" resultType="java.lang.Integer">
select user_account_id
from requirements_info
where id = #{id}
</select>
<delete id="deleteRequirementsServiceInfo">
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
</delete>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论