application.yml
spring:
data:
mongodb:
uri: mongodb://localhost/project1
Order
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order implements Serializable {
private String id; //订单编号
private String status; //订单状态
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date orderTime; //下单时间
private String shipper; //发货人
private String shipperAddress; //发货人地址
private String shipperPhone; //发货人电话
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date shipperTime; //发货时间
private String receiver; //收货人
private String receiverAddress; //收货人地址
private String receiverPhone; //收货人电话
private List logistics; //物流信息的集合
}
Logistics
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Logistics implements Serializable {
private String orderId; //订单编号
private String operation; //操作名称
private String operator; //操作员
private String phone; //操作员电话
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date operationTime; //操作时间
private String address; //操作地址
private String details; //详细信息
}
OrderService
@Service
public class OrderService {
@Resource
private MongoTemplate mongoTemplate;
public void addOrder(Order order) {
//订单编号根据雪花算法生成
order.setId(IdUtil.getSnowflake(1, 1).nextIdStr());
//设置订单状态
order.setStatus("已下单");
//设置下单时间
order.setOrderTime(new Date());
//设置发货时间
order.setShipperTime(new Date());
//添加订单至MongoDB
mongoTemplate.insert(order, "order");
}
public void updateOrderAndLogistics(Logistics logistics) {
//获取操作名称
String status = logistics.getOperation();
//设置操作时间
logistics.setOperationTime(new Date());
//初始化Query对象,根据订单编号查询
Query query = new Query(Criteria.where("_id").is(logistics.getOrderId()));
//初始化修改对象
Update update = new Update();
//更新订单状态
update.set("status",status);
//追加物流信息
update.push("logistics", logistics);
//更新订单信息
mongoTemplate.upsert(query,update,Order.class,"order");
}
public Order selectOrderById(String id) {
//初始化Query对象,根据订单编号来查询
Query query = new Query(Criteria.where("_id").is(id));
return mongoTemplate.findOne(query,Order.class,"order");
}
public Map selectOrderList() {
List list = mongoTemplate.findAll(Order.class,"order");
Map result = new HashMap<>();
if (list == null || list.isEmpty()) {
result.put("code", "400");
result.put("message","没有相关订单");
} else{
result.put("code", "0");
result.put("count",list.size());
result.put("data",list);
}
return result;
}
public boolean deleteOrderById(String id) {
Query query = new Query(Criteria.where("_id").is(id));
DeleteResult result = mongoTemplate.remove(query,Order.class,"order");
return result.getDeletedCount() >0 ? true : false;
}
}
index.html
物流订单系统
物流订单系统
- Your Profile
- Settings
- Sign out
- 订单管理
- 订单添加
- 物流添加
add-order.html
订单添加
add-logistics.html
物流添加
order-manager.html
订单管理
订单信息
物流信息
订单列表



