提交 86bdbc73 作者: 刘明祎-运维用途

订单详情返回发单人和接单人的基本信息

上级 9c8f4f92
package com.mmc.csf.infomation.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserBaseInfoDTO {
private Integer userAccountId;
private String userName;
private String phoneNum;
private String nickName;
}
......@@ -32,6 +32,9 @@ public class ServiceOrderQO {
@ApiModelProperty(value = "1:正常 2:争议订单", required = false, example = "1")
private Integer orderAttribute;
@ApiModelProperty(value = "订单状态")
private Integer orderStatus;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
......
......@@ -32,4 +32,10 @@ public class RequireEveryStatusVO {
private RequirementsAmountUpdateDTO amountUpdate;
private ServiceOrderFormDetailsDTO serviceOrderFormDetailsDTO;
@ApiModelProperty(value = "发布者基本信息")
private UserBaseInfoDTO orderRelease;
@ApiModelProperty(value = "接单人基本信息")
private UserBaseInfoDTO orderReceive;
}
......@@ -2,8 +2,8 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.ServiceOrderFormDTO;
import com.mmc.csf.infomation.dto.ServiceOrderFormDetailsDTO;
import com.mmc.csf.infomation.qo.ServiceOrderQO;
import com.mmc.csf.infomation.vo.RequireEveryStatusVO;
import com.mmc.csf.release.entity.requirements.OrderAmountDetailDO;
import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.service.BackRequirementsService;
......@@ -37,9 +37,9 @@ public class BackRequirementsController extends BaseController {
@ApiOperation(value = "后台管理——服务订单详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ServiceOrderFormDTO.class)})
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RequireEveryStatusVO.class)})
@GetMapping("serviceOrderFormDetails")
public ResultBody<ServiceOrderFormDetailsDTO> serviceOrderFormDetails(HttpServletRequest request, @ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId) {
public ResultBody<RequireEveryStatusVO> serviceOrderFormDetails(HttpServletRequest request, @ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId) {
return backRequirementsService.serviceOrderFormDetails(requirementsInfoId, this.getUserLoginInfoFromRedis(request));
}
......
......@@ -375,5 +375,30 @@ public interface RequirementsDao {
*/
BigDecimal getChangedOrderAmount(Integer requireId);
/**
* 获取用户是否确认后台修改的金额
* @param requireId
* @return {@link Integer}
*/
Integer selectUserSureChangeAmount(Integer requireId);
/**
* 给飞手接的单子设置默认的工作时间
* @param requireId 订单id
*/
void setWorkTimeByPilot(Integer requireId);
/**
* 根据订单id获取发单用户id
* @param requireId 订单id
* @return {@link Integer}
*/
Integer getUserIdByRequireId(Integer requireId);
/**
* 根据订单id获取接单飞手id
* @param requireId 订单id
* @return {@link Integer}
*/
Integer getPilotUserIdByRequireId(Integer requireId);
}
......@@ -113,6 +113,8 @@ public class ServiceOrderFormDetailsDO {
private Integer duty;
public ServiceOrderFormDetailsDTO buildOrderFormDetails() {
return ServiceOrderFormDetailsDTO.builder()
.id(this.id)
......
......@@ -4,6 +4,7 @@ package com.mmc.csf.release.feign;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.feign.hystrix.UserAppApiHystrix;
......@@ -77,4 +78,7 @@ public interface UserAppApi {
@GetMapping("/userapp/pilot/selectPilotIdList")
List<Integer> feignGetPilotIdList(@RequestHeader("token") String token);
@GetMapping("/userapp/user-account/feignGetUserBaseInfo")
UserBaseInfoDTO feignGetUserBaseInfo(@RequestParam Integer userAccountId);
}
......@@ -5,6 +5,7 @@ import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.feign.UserAppApi;
......@@ -61,5 +62,11 @@ public class UserAppApiHystrix implements UserAppApi {
return null;
}
@Override
public UserBaseInfoDTO feignGetUserBaseInfo(Integer userAccountId) {
log.error("获取用户基本信息 熔断:feignGetUserBaseInfo:{}", userAccountId);
return null;
}
}
......@@ -95,10 +95,22 @@ public class BackRequirementsServiceImpl implements BackRequirementsService {
//评价
ServiceEvaluateDTO serviceEvaluateDTO = requirementsDao.serviceEvaluateDTO(requirementsInfoId);
requireEveryStatusVO.setServiceEvaluateDTO(serviceEvaluateDTO);
//修改金额
//修改金额
RequirementsAmountUpdateDTO requirementsAmountUpdateDTO = requirementsDao.amountUpdateDTO(requirementsInfoId);
requireEveryStatusVO.setAmountUpdate(requirementsAmountUpdateDTO);
//获取发单人信息
Integer userIdByRequireId = requirementsDao.getUserIdByRequireId(requirementsInfoId);
UserBaseInfoDTO userBaseInfoDTO = userAppApi.feignGetUserBaseInfo(userIdByRequireId);
requireEveryStatusVO.setOrderRelease(userBaseInfoDTO);
//获取接单人信息
Integer pilotUserIdByRequireId = requirementsDao.getPilotUserIdByRequireId(requirementsInfoId);
if (pilotUserIdByRequireId == null) {
requireEveryStatusVO.setOrderReceive(null);
}else {
UserBaseInfoDTO pilotUserBaseInfoDTO = userAppApi.feignGetUserBaseInfo(pilotUserIdByRequireId);
requireEveryStatusVO.setOrderReceive(pilotUserBaseInfoDTO);
}
ServiceOrderFormDetailsDO orderFormDetailsDO = backRequirementsDao.serviceOrderFormDetails(requirementsInfoId);
ServiceOrderFormDetailsDTO serviceOrderFormDetailsDTO = orderFormDetailsDO.buildOrderFormDetails();
IsNullConvertZeroUtil.checkIsNull(serviceOrderFormDetailsDTO);
......
......@@ -3100,6 +3100,8 @@ public class RequirementsServiceImpl implements RequirementsService {
requirementsDao.arriveAtTheScene(serviceArriveSceneDO);
requirementsDao.updateScene(serviceArriveSceneDO.getRequirementsInfoId(), 3);
requirementsDao.updateInfo(serviceArriveSceneDO.getRequirementsInfoId(), 3);
//把抵达现场的时间设置为飞手默认的工作时间
requirementsDao.setWorkTimeByPilot(serviceArriveSceneDO.getRequirementsInfoId());
// }
return ResultBody.success();
}
......
......@@ -76,7 +76,7 @@
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
WHERE
ri.publish =1 and ri.father_require_id = 0
ri.publish =1 and ri.father_require_id = 0 and sf.order_status = #{orderStatus}
<bind name="isPilotUserIdListEmpty" value="pilotUserIdList != null and !pilotUserIdList.isEmpty()"/>
<if test="isPilotUserIdListEmpty">
AND
......
......@@ -1652,6 +1652,9 @@
update requirements_service set service_flow_id = 11
where requirements_info_id = #{requireInfoId} and pilot_certification_user_id = #{pilotUserId}
</update>
<update id="setWorkTimeByPilot">
update order_amount_detail set work_date = NOW() where requirements_info_id = #{requireId}
</update>
<insert id="insertAgreePilotOrder">
insert into agree_pilot_order(require_info_id, service_flow_id, pilot_certification_user_id, create_time)
......@@ -1838,6 +1841,12 @@
<select id="selectUserSureChangeAmount" resultType="java.lang.Integer">
select user_sure_change from requirements_amount_update where requirements_info_id = #{requireId}
</select>
<select id="getUserIdByRequireId" resultType="java.lang.Integer">
select user_account_id from requirements_info where id = #{requireId}
</select>
<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>
<delete id="deleteRequirementsServiceInfo">
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论