@@ -159,8 +159,8 @@ public class OrderController extends MyValidController { | |||
} | |||
@ApiOperation(value = "18.订单详情") | |||
@PostMapping(value = "/orderDetailQuery") | |||
public ApiResponse<OrderDetailResDto> orderDetailQuery(@Valid @RequestBody OrderDetailReqDto reqDto) throws ManagerException { | |||
OrderDetailResDto resDto = issueOrderManage.orderDetailQuery(reqDto); | |||
public ApiResponse<OrderDetailResDTO> orderDetailQuery(@Valid @RequestBody OrderDetailReqDto reqDto) throws ManagerException { | |||
OrderDetailResDTO resDto = issueOrderManage.orderDetailQuery(reqDto); | |||
return ApiResponse.of(resDto); | |||
} | |||
@ApiOperation(value = "19.修改地址前-查询") | |||
@@ -182,4 +182,18 @@ public class OrderController extends MyValidController { | |||
OrderQueryResponseDTO response = issueOrderManage.orderQuery(request); | |||
return ApiResponse.of(response); | |||
} | |||
@ApiOperation(value = "领取-APP") | |||
@PostMapping(value = "/receive") | |||
public ApiResponse<?> receive(@Valid @RequestBody OrderReceiveReqDTO reqDto) throws ManagerException { | |||
issueOrderManage.receive(reqDto); | |||
return ApiResponse.success(); | |||
} | |||
@ApiOperation(value = "审核-APP") | |||
@PostMapping(value = "/examine") | |||
public ApiResponse<?> examine(@Valid @RequestBody OrderExamineReqDTO reqDto) throws ManagerException { | |||
issueOrderManage.examine(reqDto); | |||
return ApiResponse.success(); | |||
} | |||
} |
@@ -0,0 +1,134 @@ | |||
package cn.com.taiji.iaw.dto.issue.order; | |||
import cn.com.taiji.core.entity.dict.basic.*; | |||
import cn.com.taiji.core.entity.dict.issue.IssueOrderStatus; | |||
import cn.com.taiji.core.entity.dict.issue.IssueOrderStep; | |||
import cn.com.taiji.core.entity.dict.issue.ShippingStatus; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.persistence.Column; | |||
import javax.persistence.EnumType; | |||
import javax.persistence.Enumerated; | |||
import javax.validation.constraints.Size; | |||
import java.time.LocalDateTime; | |||
/** | |||
* @Author:ChenChao | |||
* @Date:2025/8/4 10:03 | |||
* @Filename:IssueOrderinfoModel | |||
* @description:发行订单信息与订单实体一摸一样:目的标注swagger | |||
*/ | |||
@ApiModel(description = "发行订单拓展信息") | |||
@Data | |||
public class IssueOrderinfoExtModel { | |||
@ApiModelProperty(value = "订单id") | |||
private String orderNo; | |||
@ApiModelProperty(value = "取消订单操作人") | |||
private String cancelOpId; | |||
@ApiModelProperty(value = "取消订单原因。取消订单时必填") | |||
private String cancelReason; | |||
@ApiModelProperty(value = "customer_department;部门") | |||
private String customerDepartment; | |||
@ApiModelProperty(value = "address;地址") | |||
private String customerAddress; | |||
@ApiModelProperty(value = "positive_image_url;证件照正面图片地址") | |||
private String customerPositiveImageUrl; | |||
@ApiModelProperty(value = "negative_image_url;证件照反面图片地址") | |||
private String customerNegativeImageUrl; | |||
@ApiModelProperty(value = "委托书照片") | |||
private String proxyUrl; | |||
@ApiModelProperty(value = "经办人正面照片") | |||
private String agentPosImgUrl; | |||
@ApiModelProperty(value = "经办人反面照片") | |||
private String agentNegImgUrl; | |||
@ApiModelProperty(value = "经办人性别") | |||
private Gender agentGender; | |||
@ApiModelProperty(value = "经办人联系方式") | |||
private String agentTel; | |||
@ApiModelProperty(value = "经办人地址") | |||
private String agentAddress; | |||
@ApiModelProperty(value = "经办人证件有效期") | |||
private String agentIdVld; | |||
@ApiModelProperty(value = "vehicle_approved_count;核载人数") | |||
private Integer vehicleApprovedCount; | |||
@ApiModelProperty(value = "vehicle_total_mass;总质量") | |||
private Integer vehicleTotalMass; | |||
@ApiModelProperty(value = "vehicle_maintenace_mass;整备质量") | |||
private Integer vehicleMaintenaceMass; | |||
@ApiModelProperty(value = "vehicle_permitted_weight;核定载质量") | |||
private Integer vehiclePermittedWeight; | |||
@ApiModelProperty(value = "vehicle_engine_num;发动机号码") | |||
private String vehicleEngineNum; | |||
@ApiModelProperty(value = "vehicle_vin;车辆识别代号") | |||
private String vehicleVin; | |||
@ApiModelProperty(value = "vehicle_model;行驶证品牌型号") | |||
private String vehicleModel; | |||
@ApiModelProperty(value = "vehicle_dimensions;车辆尺寸 行驶证上内容 长*宽*高,mm,不超过100个字符") | |||
private String vehicleDimensions; | |||
@ApiModelProperty(value = "vehicle_permitted_two_weight;准牵引总质量") | |||
private Integer vehiclePermittedTwoWeight; | |||
@ApiModelProperty(value = "行驶证正面照片") | |||
private String vehPosImgUrl; | |||
@ApiModelProperty(value = "行驶证反面 照片") | |||
private String vehNegImgUrl; | |||
@ApiModelProperty(value = "车身45度照") | |||
private String vehBodyUrl; | |||
@ApiModelProperty(value = "用户使用类型") | |||
private UseUserType useUserType; | |||
@ApiModelProperty(value = "牵引车标识:0否1是") | |||
private Integer tractorSign; | |||
@ApiModelProperty(value = "道路运输许可证图片地址") | |||
private String roadTransportPermitPicUrl; | |||
@ApiModelProperty(value = "经度") | |||
private String longitude; | |||
@ApiModelProperty(value = "纬度") | |||
private String latitude; | |||
@ApiModelProperty(value = "办理时的详细地址") | |||
private String detailedAddress; | |||
@ApiModelProperty(value = "机审失败原因") | |||
private String auditReason; | |||
@ApiModelProperty(value = "退货驳回拒绝原因") | |||
private String rejectReason; | |||
@ApiModelProperty(value = "订单审核失败原因") | |||
private String auditFailureCase; | |||
@ApiModelProperty(value = "卡卷ids 多个用,号分隔,激活后领取时下发") | |||
private String couponIds; | |||
@ApiModelProperty(value = "签约配置编号") | |||
private String signConfigId; | |||
@ApiModelProperty(value = "协议编号") | |||
private String agreements; | |||
@ApiModelProperty(value = "车轴数") | |||
private Integer vehicleAxleCount; | |||
@ApiModelProperty(value = "车辆使用性质") | |||
private VehicleUseCharacter useCharacter; | |||
@ApiModelProperty(value = "注册日期") | |||
private String registerDate; | |||
@ApiModelProperty(value = "发证日期") | |||
private String issueDate; | |||
@ApiModelProperty(value = "签约时间") | |||
private LocalDateTime agreeTime; | |||
@ApiModelProperty(value = "收货人——第一次发货记录") | |||
private String consignee; | |||
@ApiModelProperty(value = "收货人电话——第一次发货记录") | |||
private String consigneeTel; | |||
@ApiModelProperty(value = "收货所在地区(省、市、区、街道)——第一次发货记录") | |||
private String region; | |||
@ApiModelProperty(value = "收货详细地址——第一次发货记录") | |||
private String address; | |||
@ApiModelProperty(value = "邮政编码") | |||
private String postCode; | |||
@ApiModelProperty(value = "快递单号 ——第一次发货记录") | |||
private String trackingNumber; | |||
@ApiModelProperty(value = "快递公司 ——第一次发货记录") | |||
private String courierCompany; | |||
@ApiModelProperty(value = "车主电话") | |||
private String ownerTel; | |||
@ApiModelProperty(value = "车主联系地址") | |||
private String ownerAddress; | |||
@ApiModelProperty(value = "车主证件正面图片") | |||
private String ownerPosImgUrl; | |||
@ApiModelProperty(value = "车主证件反面图片") | |||
private String ownerNegImgUrl; | |||
} |
@@ -0,0 +1,29 @@ | |||
package cn.com.taiji.iaw.dto.issue.order; | |||
import cn.com.taiji.core.entity.issue.IssueOrderinfo; | |||
import cn.com.taiji.core.entity.issue.IssueOrderinfoExt; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
/** | |||
* @Author:ChenChao | |||
* @Date:2025/7/16 16:25 | |||
* @Filename:orderDetailResDto | |||
* @description: | |||
*/ | |||
@ApiModel("订单详情返回参数") | |||
@Data | |||
public class OrderDetailResDto extends IssueOrderinfoModel { | |||
@ApiModelProperty(value = "是否可以评价") | |||
private Boolean canEvaluate; | |||
@ApiModelProperty(value = "渠道签约地址") | |||
private String qdSignUrl; | |||
@ApiModelProperty(value = "渠道AppId") | |||
private String qdAppId; | |||
@ApiModelProperty(value = "车身45度照") | |||
private String vehBodyUrl;//车身45度照 | |||
} |
@@ -0,0 +1,38 @@ | |||
package cn.com.taiji.iaw.dto.issue.order; | |||
import cn.com.taiji.common.valid.ViolationValidator; | |||
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
/** | |||
* @Author:ChenChao | |||
* @Date:2025/6/9 19:14 | |||
* @Filename:OrderExamineReqDTO | |||
* @description: | |||
*/ | |||
@ApiModel(description = "审核入参") | |||
@Data | |||
public class OrderExamineReqDTO extends AbstractStaffBizRequestDTO { | |||
@NotBlank | |||
@ApiModelProperty("订单编号") | |||
private String orderNo; | |||
@ApiModelProperty(value = "审核状态") | |||
@NotNull | |||
private Boolean auditStatus; | |||
@ApiModelProperty(value = "审核原因") | |||
private String reason; | |||
@Override | |||
protected void validate(ViolationValidator validator) { | |||
if(!auditStatus) { | |||
validator.validFieldNotNull("reason", reason); | |||
} | |||
} | |||
} |
@@ -0,0 +1,20 @@ | |||
package cn.com.taiji.iaw.dto.issue.order; | |||
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
/** | |||
* @Author:ChenChao | |||
* @Date:2025/8/4 14:47 | |||
* @Filename:OrderReceiveReqDTO | |||
* @description: | |||
*/ | |||
@Data | |||
@ApiModel(description = "订单领取请求") | |||
public class OrderReceiveReqDTO extends AbstractStaffBizRequestDTO { | |||
@ApiModelProperty(value = "订单编号") | |||
private String orderNo; | |||
} |
@@ -0,0 +1,30 @@ | |||
package cn.com.taiji.iaw.dto.issue.order; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
/** | |||
* @Author:ChenChao | |||
* @Date:2025/7/16 16:25 | |||
* @Filename:orderDetailResDto | |||
* @description: | |||
*/ | |||
@ApiModel("订单详情返回参数") | |||
@Data | |||
public class OrderDetailResDTO extends IssueOrderinfoModel { | |||
@ApiModelProperty(value = "是否可以评价") | |||
private Boolean canEvaluate; | |||
@ApiModelProperty(value = "渠道签约地址") | |||
private String qdSignUrl; | |||
@ApiModelProperty(value = "渠道AppId") | |||
private String qdAppId; | |||
@ApiModelProperty(value = "车身45度照") | |||
private String vehBodyUrl;//车身45度照 | |||
@ApiModelProperty(value = "订单拓展信息") | |||
private IssueOrderinfoExtModel orderinfoExt; | |||
} |
@@ -50,7 +50,7 @@ public interface IssueOrderManage { | |||
void agreeProtocol(AgreeProtocolReqDTO reqDto) throws ManagerException; | |||
OrderDetailResDto orderDetailQuery(OrderDetailReqDto reqDto) throws ManagerException; | |||
OrderDetailResDTO orderDetailQuery(OrderDetailReqDto reqDto) throws ManagerException; | |||
void orderReceiveGoods(OrderDetailReqDto reqDto) throws ManagerException; | |||
@@ -63,4 +63,8 @@ public interface IssueOrderManage { | |||
PayAfterOrderResDTO payAfterOrder(OrderDetailReqDto reqDto) throws ManagerException; | |||
OrderQueryResponseDTO orderQuery(CommRequestDTO request) throws ServiceHandleException; | |||
void receive(OrderReceiveReqDTO reqDto) throws ManagerException; | |||
void examine(OrderExamineReqDTO reqDto) throws ManagerException; | |||
} |
@@ -348,11 +348,26 @@ public class IssueOrderManageImpl extends AbstractIawManager implements IssueOrd | |||
} | |||
@Override | |||
public OrderDetailResDto orderDetailQuery(OrderDetailReqDto reqDto) throws ManagerException { | |||
public OrderDetailResDTO orderDetailQuery(OrderDetailReqDto reqDto) throws ManagerException { | |||
IssueOrderinfo orderinfo = checkOrder(reqDto.getOrderNo()); | |||
IssueOrderinfoExt orderinfoExt = checkOrderExt(reqDto.getOrderNo()); | |||
OrderDetailResDto resDto = copyProperties(orderinfo, new OrderDetailResDto()); | |||
OrderDetailResDTO resDto = copyProperties(orderinfo, new OrderDetailResDTO()); | |||
resDto.setVehBodyUrl(orderinfoExt.getVehBodyUrl()); | |||
IssueOrderinfoExtModel extModel = copyProperties(orderinfoExt, new IssueOrderinfoExtModel()); | |||
//处理地址===============开始 | |||
extModel.setCustomerPositiveImageUrl(minioUtil.getOuterUrl(orderinfoExt.getCustomerPositiveImageUrl())); | |||
extModel.setCustomerNegativeImageUrl(minioUtil.getOuterUrl(orderinfoExt.getCustomerNegativeImageUrl())); | |||
extModel.setProxyUrl(minioUtil.getOuterUrl(orderinfoExt.getProxyUrl())); | |||
extModel.setAgentPosImgUrl(minioUtil.getOuterUrl(orderinfoExt.getAgentPosImgUrl())); | |||
extModel.setAgentNegImgUrl(minioUtil.getOuterUrl(orderinfoExt.getAgentNegImgUrl())); | |||
extModel.setVehPosImgUrl(minioUtil.getOuterUrl(orderinfoExt.getVehPosImgUrl())); | |||
extModel.setVehNegImgUrl(minioUtil.getOuterUrl(orderinfoExt.getVehNegImgUrl())); | |||
extModel.setVehBodyUrl(minioUtil.getOuterUrl(orderinfoExt.getVehBodyUrl())); | |||
extModel.setRoadTransportPermitPicUrl(minioUtil.getOuterUrl(orderinfoExt.getRoadTransportPermitPicUrl())); | |||
extModel.setOwnerPosImgUrl(minioUtil.getOuterUrl(orderinfoExt.getOwnerPosImgUrl())); | |||
extModel.setOwnerNegImgUrl(minioUtil.getOuterUrl(orderinfoExt.getOwnerNegImgUrl())); | |||
//处理地址===============结束 | |||
resDto.setOrderinfoExt(extModel); | |||
//暂定只有激活完成的可以评价 | |||
if (IssueOrderStep.ACTIVED.equals(orderinfo.getOrderStep())) { | |||
CommonSatisfaction satisfaction = satisfactionRepo.findByOrderNo(orderinfo.getOrderNo()); | |||
@@ -497,6 +512,32 @@ public class IssueOrderManageImpl extends AbstractIawManager implements IssueOrd | |||
return dto; | |||
} | |||
@Override | |||
public void receive(OrderReceiveReqDTO reqDto) throws ManagerException { | |||
// IssueOrderinfo order = issueOrderinfoRepo.findByOrderNo(reqDto.getOrderNo()); | |||
// if (order == null) throw new ManagerException("此订单不存在"); | |||
// order.setReceiveStatus(true); | |||
// order.setReceiveTime(LocalDateTime.now()); | |||
// Staff staff = staffRepo.findByStaffId(reqDto.getStaffId()); | |||
// order.setReceiver(staff.getOpenId()); | |||
// issueOrderinfoRepo.merge(order); | |||
OrderReceiveRequest request = new OrderReceiveRequest(); | |||
request.setOrderNo(reqDto.getOrderNo()); | |||
request.setStaffId(reqDto.getStaffId()); | |||
OrderReceiveResponse response = jsonPostRepeat(request); | |||
sysPersistOperateLog(OperateType.ORDER_RECEIVE, response.getId(), reqDto.getOrderSource(), findOpenIdByToken(reqDto.getAccessToken()), "发行订单领取"); | |||
} | |||
@Override | |||
public void examine(OrderExamineReqDTO reqDto) throws ManagerException { | |||
//格式校验 | |||
reqDto.validate(); | |||
OrderAuditRequest request = copyProperties(reqDto, new OrderAuditRequest()); | |||
OrderAuditResponse response = jsonPostRepeat(request); | |||
sysPersistOperateLog(OperateType.ORDER_EXAMINE, response.getId(), reqDto.getOrderSource(), findOpenIdByToken(reqDto.getAccessToken()), "发行订单审核"); | |||
} | |||
//校验发行订单是否存在 | |||
private IssueOrderinfo checkOrder(String orderNo) throws ManagerException { | |||
IssueOrderinfo order = issueOrderinfoRepo.findByOrderNo(orderNo); |