提交 58b4d690 authored 作者: huyufan's avatar huyufan

开发:增加订单状态MQ

上级 6a59458b
package com.clx.order.params;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Getter
@Setter
public class OrderGoodsChildParams {
@ApiModelProperty("挂单运费")
private BigDecimal pendingOrderFreight;
@ApiModelProperty("提取方式 1提取全部 2提取部分")
private Integer extractWay;
@ApiModelProperty("提取吨数")
private BigDecimal extractWeight;
@ApiModelProperty("需要车辆/辆")
private Integer needTruckNum;
@ApiModelProperty("挂单方式 1公开派单 2定向派单")
private Integer pendingOrderWay;
@ApiModelProperty(value = "最晚到达货源地时间/运单的最晚装货时间", example = "2023-09-09 12:00:01", required = true)
private String lastArriveSendTime;
@ApiModelProperty(value = "挂单时间", example = "2023-09-09 12:00:01", required = true)
private String pendingOrderTime;
@ApiModelProperty("高级物流经理id")
private Integer seniorLogisticsManagerId;
@ApiModelProperty("高级物流经理姓名")
private String seniorLogisticsManagerName;
@ApiModelProperty(value = "定向运单失效时间", example = "2023-09-09 12:00:01", required = true)
private String directionalExpireTime;
@ApiModelProperty("创建人用户编号")
private Long userNo;
@ApiModelProperty("创建人姓名")
private String userName;
}
package com.clx.order.params;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
public class OrderGoodsParams {
@ApiModelProperty("订单编号")
@NotBlank(message = "订单编号不能为空")
private String orderNo;
private List<OrderGoodsChildParams> orderGoodsChildParams;
}
package com.clx.order.params;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageCarrierOrderListParam extends PageParam {
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "联系人(货主)id")
private Integer contactId;
@ApiModelProperty(value = "订单状态:2报价已确认 3平台已承接 7 挂单中 8运输中 11 挂单中")
private Integer orderStatus;
@ApiModelProperty(value = "开始时间", example = "2023-09-09 12:00:01", required = true)
private String beginTime;
@ApiModelProperty(value = "结束", example = "2023-09-09 12:00:01", required = true)
private String endTime;
@ApiModelProperty(value = "时间类型: 1创建时间 2拉运开始时间 3拉运结束时间 ")
@NotNull(message = "时间类型不能为空")
private Integer timeType;
@ApiModelProperty(value = "用车类型: 1平台车辆 2部分平台车辆 3自有车辆")
private Integer truckDemand;
}
package com.clx.performance.config;
import com.clx.performance.constant.RabbitKeyConstants;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author xujianke
* @date 2017年9月14日
* @description rabbit配置文件
*/
@Configuration
public class RabbitBeanConfig {
/**
* 订单已挂单队列
*/
@Bean
public Queue orderPostedQueue() {
return new Queue(RabbitKeyConstants.ORDER_POSTED_QUEUE, true);
}
/**
* 订单已挂单交换机
**/
@Bean
public DirectExchange orderPostedExchange() {
return new DirectExchange(RabbitKeyConstants.ORDER_POSTED_EXCHANGE);
}
/**
* 订单已挂单绑定
*/
@Bean
public Binding orderPostedExchangeBind() {
return BindingBuilder.bind(orderPostedQueue()).to(orderPostedExchange()).with(RabbitKeyConstants.ORDER_POSTED_ROUTE_KEY);
}
@Bean
public Queue orderOnQueue() {
Map<String, Object> params = new HashMap<>(6);
params.put("x-dead-letter-exchange", RabbitKeyConstants.ORDER_ON_DEAD_EXCHANGE);
params.put("x-dead-letter-routing-key", RabbitKeyConstants.ORDER_ON_ROUTE_KEY);
return new Queue(RabbitKeyConstants.ORDER_ON_QUEUE, true, false, false, params);
}
/**
* 订单挂单中交换机
**/
@Bean
public DirectExchange orderOnExchange() {
return new DirectExchange(RabbitKeyConstants.ORDER_ON_EXCHANGE);
}
/**
* 订单挂单中绑定
*/
@Bean
public Binding orderOnExchangeBind() {
return BindingBuilder.bind(orderOnQueue()).to(orderOnExchange()).with(RabbitKeyConstants.ORDER_ON_ROUTE_KEY);
}
/**
* 死信队列:死信队列处理延迟消息
* @return
*/
@Bean
public Queue orderOnDeadQueue() {
return new Queue(RabbitKeyConstants.ORDER_ON_DEAD_QUEUE, true, false, false);
}
/**
* 订单挂单中交换机:死信队列处理延迟消息
**/
@Bean
public DirectExchange orderOnDeadExchange() {
return new DirectExchange(RabbitKeyConstants.ORDER_ON_DEAD_EXCHANGE);
}
/**
* 订单挂单中绑定:死信队列处理延迟消息
*/
@Bean
public Binding orderDeadExchangeBind() {
return BindingBuilder.bind(orderOnDeadQueue()).to(orderOnDeadExchange()).with(RabbitKeyConstants.ORDER_ON_ROUTE_KEY);
}
}
package com.clx.performance.controller.pc; package com.clx.performance.controller.pc;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.param.feign.FeignPageCarrierOrderListParam; import com.clx.order.param.feign.FeignPageCarrierOrderListParam;
...@@ -77,7 +78,7 @@ public class GoodsOrderController { ...@@ -77,7 +78,7 @@ public class GoodsOrderController {
@Autowired @Autowired
private OrderGoodsIdGenerate orderGoodsIdGenerate; private OrderGoodsIdGenerate orderGoodsIdGenerate;
@ApiOperation(value = "提交货单", notes = "<br>By:刘海泉") @ApiOperation(value = "提交货单", notes = "<br>By:胡宇帆")
@PostMapping("/saveGoodsOrder") @PostMapping("/saveGoodsOrder")
public Result<Object> saveGoodName(@RequestBody @Validated OrderGoodsParams orderGoodsParams) { public Result<Object> saveGoodName(@RequestBody @Validated OrderGoodsParams orderGoodsParams) {
String orderNo = orderGoodsParams.getOrderNo(); String orderNo = orderGoodsParams.getOrderNo();
...@@ -235,8 +236,10 @@ public class GoodsOrderController { ...@@ -235,8 +236,10 @@ public class GoodsOrderController {
log.error("redis 分布式锁释放异常!", e); log.error("redis 分布式锁释放异常!", e);
} }
} }
rabbitTemplate.send(RabbitKeyConstants.ORDER_POSTED_EXCHANGE, RabbitKeyConstants.ORDER_POSTED_ROUTE_KEY, MessageBuilder.withBody(orderNo.getBytes()).build()); JSONObject jsonObject = new JSONObject();
Message message = MessageBuilder.withBody(orderNo.getBytes()).build(); jsonObject.set("orderNo", orderNo);
rabbitTemplate.send(RabbitKeyConstants.ORDER_POSTED_EXCHANGE, RabbitKeyConstants.ORDER_POSTED_ROUTE_KEY, MessageBuilder.withBody(jsonObject.toString().getBytes()).build());
Message message = MessageBuilder.withBody(jsonObject.toString().getBytes()).build();
long epochMilli = sendLazyTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); long epochMilli = sendLazyTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
message.getMessageProperties().setExpiration(String.valueOf(epochMilli)); message.getMessageProperties().setExpiration(String.valueOf(epochMilli));
rabbitTemplate.send( rabbitTemplate.send(
...@@ -246,7 +249,7 @@ public class GoodsOrderController { ...@@ -246,7 +249,7 @@ public class GoodsOrderController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "创建货单-查看订单列表", notes = "<br>By:胡宇帆")
@PostMapping("/pageCarrierOrderList") @PostMapping("/pageCarrierOrderList")
@UnitCovert(param = false) @UnitCovert(param = false)
public Result<PageData<FeignPageOrderVO>> pageCarrierOrderList(@RequestBody @Validated PageCarrierOrderListParam param) { public Result<PageData<FeignPageOrderVO>> pageCarrierOrderList(@RequestBody @Validated PageCarrierOrderListParam param) {
......
...@@ -3,7 +3,7 @@ server: ...@@ -3,7 +3,7 @@ server:
spring: spring:
rabbitmq: rabbitmq:
host: 192.168.9.20 host: 39.101.187.243
port: 5672 port: 5672
username: clxmq username: clxmq
password: clxmq711 password: clxmq711
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论