提交 b03b12cc 作者: han

新增飞手派单接口限制条件

上级 e4b22467
流水线 #7708 已通过 于阶段
in 2 分 44 秒
...@@ -13,9 +13,7 @@ import java.io.Serializable; ...@@ -13,9 +13,7 @@ import java.io.Serializable;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder public class TeamMessageDO{
public class TeamMessageDTO implements Serializable {
private static final long serialVersionUID = 1L;
/** /**
* 飞手ID * 飞手ID
*/ */
......
...@@ -372,9 +372,8 @@ public class RequirementsController extends BaseController { ...@@ -372,9 +372,8 @@ public class RequirementsController extends BaseController {
@ApiOperation(value = "飞手派单") @ApiOperation(value = "飞手派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@NotRepeatSubmit(value = 3000L) @PostMapping("/personSendOrder")
@PostMapping("personSendOrder") public ResultBody personSendOrder(HttpServletRequest request,@RequestBody PersonSendOrderVO personSendOrderVO) {
public ResultBody personSendOrder(@RequestBody PersonSendOrderVO personSendOrderVO) { return requirementsService.personSendOrder(personSendOrderVO,this.getUserLoginInfoFromRedis(request).getToken());
return requirementsService.personSendOrder(personSendOrderVO);
} }
} }
\ No newline at end of file
...@@ -408,4 +408,11 @@ public interface RequirementsDao { ...@@ -408,4 +408,11 @@ public interface RequirementsDao {
*/ */
Integer personSendOrder(PersonSendOrderDO personSendOrderDO); Integer personSendOrder(PersonSendOrderDO personSendOrderDO);
/**
* 查询飞手是否重复派单
*/
Integer isReSendOrder(Integer requireId);
} }
...@@ -3,7 +3,7 @@ package com.mmc.csf.release.feign; ...@@ -3,7 +3,7 @@ package com.mmc.csf.release.feign;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO; import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.infomation.dto.TeamMessageDTO; import com.mmc.csf.infomation.dto.TeamMessageDO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO; import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.infomation.dto.UserBaseInfoDTO; import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO; import com.mmc.csf.release.auth.qo.BUserAccountQO;
...@@ -96,5 +96,5 @@ public interface UserAppApi { ...@@ -96,5 +96,5 @@ public interface UserAppApi {
ResultBody feignSendWxMsg(@RequestHeader("token") String token,@RequestBody WxMsgVO ws); ResultBody feignSendWxMsg(@RequestHeader("token") String token,@RequestBody WxMsgVO ws);
@GetMapping("/userapp/pilot/selectPilotTeam") @GetMapping("/userapp/pilot/selectPilotTeam")
TeamMessageDTO selectPilotTeam(@RequestParam Integer pilotId); TeamMessageDO selectPilotTeam(@RequestHeader("token") String token,@RequestParam Integer pilotId);
} }
...@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.web.ResultBody; 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.infomation.dto.PilotCertificationInteriorDTO; import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.infomation.dto.TeamMessageDTO; import com.mmc.csf.infomation.dto.TeamMessageDO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO; import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.infomation.dto.UserBaseInfoDTO; import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO; import com.mmc.csf.release.auth.qo.BUserAccountQO;
...@@ -14,7 +14,6 @@ import com.mmc.csf.release.flyer.vo.CurriculumOrderLogVO; ...@@ -14,7 +14,6 @@ import com.mmc.csf.release.flyer.vo.CurriculumOrderLogVO;
import com.mmc.csf.user.vo.ChangeUserPointVO; import com.mmc.csf.user.vo.ChangeUserPointVO;
import com.mmc.csf.user.vo.WxMsgVO; import com.mmc.csf.user.vo.WxMsgVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
...@@ -92,7 +91,7 @@ public class UserAppApiHystrix implements UserAppApi { ...@@ -92,7 +91,7 @@ public class UserAppApiHystrix implements UserAppApi {
} }
@Override @Override
public TeamMessageDTO selectPilotTeam(Integer pilotId) { public TeamMessageDO selectPilotTeam(String token,Integer pilotId) {
return null; return null;
} }
......
...@@ -145,5 +145,5 @@ public interface RequirementsService { ...@@ -145,5 +145,5 @@ public interface RequirementsService {
/** /**
* 根据飞手进行派单操作 * 根据飞手进行派单操作
*/ */
ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO); ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO,String token);
} }
...@@ -24,17 +24,18 @@ import com.mmc.csf.release.industry.UserPayInfoVO; ...@@ -24,17 +24,18 @@ import com.mmc.csf.release.industry.UserPayInfoVO;
import com.mmc.csf.release.service.RequirementsService; import com.mmc.csf.release.service.RequirementsService;
import com.mmc.csf.release.util.RestTemplateUtil; import com.mmc.csf.release.util.RestTemplateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.gavaghan.geodesy.Ellipsoid; import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator; import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GeodeticCurve; import org.gavaghan.geodesy.GeodeticCurve;
import org.gavaghan.geodesy.GlobalCoordinates; import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.*; import org.springframework.http.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
...@@ -61,6 +62,7 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -61,6 +62,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Autowired @Autowired
private RequirementsDao requirementsDao; private RequirementsDao requirementsDao;
@Qualifier("com.mmc.csf.release.feign.UserAppApi")
@Autowired @Autowired
private UserAppApi userAppApi; private UserAppApi userAppApi;
...@@ -1024,7 +1026,7 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -1024,7 +1026,7 @@ public class RequirementsServiceImpl implements RequirementsService {
public String getStableAccessToken() { public String getStableAccessToken() {
//token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取 //token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取
String accessToken = stringRedisTemplate.opsForValue().get(WxConstant.IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN); String accessToken = stringRedisTemplate.opsForValue().get(WxConstant.IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN);
if (org.apache.commons.lang.StringUtils.isBlank(accessToken)) { if (StringUtils.isBlank(accessToken)) {
Map<String, String> params = new HashMap<String, String>(); Map<String, String> params = new HashMap<String, String>();
params.put("grant_type", "client_credential"); params.put("grant_type", "client_credential");
params.put("appid", userSystemConstant.getWxAppId()); params.put("appid", userSystemConstant.getWxAppId());
...@@ -3283,20 +3285,25 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -3283,20 +3285,25 @@ public class RequirementsServiceImpl implements RequirementsService {
} }
@Override @Override
public ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO) { public ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO,String token) {
TeamMessageDTO teamMessageDTO = userAppApi.selectPilotTeam(personSendOrderVO.getPilotCertificationId()); if(requirementsDao.isReSendOrder(personSendOrderVO.getRequirementsInfoId() )!= 0){
return ResultBody.error("重复派单");
}
TeamMessageDO teamMessageDTO = userAppApi.selectPilotTeam(token,personSendOrderVO.getPilotCertificationId());
PersonSendOrderDO personSendOrderDO = null; PersonSendOrderDO personSendOrderDO = null;
if(teamMessageDTO != null){ if(teamMessageDTO.getPilotMessageId() != null){
personSendOrderDO = new PersonSendOrderDO(); personSendOrderDO = new PersonSendOrderDO();
personSendOrderDO.setRequirementsInfoId(personSendOrderVO.getRequirementsInfoId()); personSendOrderDO.setRequirementsInfoId(personSendOrderVO.getRequirementsInfoId());
personSendOrderDO.setTeamUserId(teamMessageDTO.getPilotMessageId()); personSendOrderDO.setTeamUserId(teamMessageDTO.getPilotMessageId());
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器
return ResultBody.success("派单成功,等待飞手确认");
}else{ }else{
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO); personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器
return ResultBody.success("派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手");
} }
Integer id = requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器
return ResultBody.success();
} }
public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, HttpServletRequest request) { public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, HttpServletRequest request) {
......
...@@ -1864,6 +1864,11 @@ ...@@ -1864,6 +1864,11 @@
<select id="getPilotUserIdByRequireId" resultType="java.lang.Integer"> <select id="getPilotUserIdByRequireId" resultType="java.lang.Integer">
select pilot_certification_user_id from requirements_service where requirements_info_id = #{requireId} and service_flow_id not in (7 , 11) select pilot_certification_user_id from requirements_service where requirements_info_id = #{requireId} and service_flow_id not in (7 , 11)
</select> </select>
<select id="isReSendOrder" resultType="java.lang.Integer">
select count(*)
from requirements_service_temp
where requirements_info_id = #{requireId} and is_deleted = 0
</select>
<delete id="deleteRequirementsServiceInfo"> <delete id="deleteRequirementsServiceInfo">
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId} delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论