栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于MongoDB开发的物流系统(简易版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于MongoDB开发的物流系统(简易版)

 

 

 

 

 

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




    
    
    物流订单系统
    



    
        物流订单系统
        
        

  • tester
    Your Profile
    Settings
    Sign out
  • 订单管理
    订单管理
    订单添加
    物流添加
    底部固定区域
  • add-order.html

    
    
    
        
        
        订单添加
        
    
    
    
    
    订单添加

    add-logistics.html

    
    
    
        
        
        物流添加
        
    
    
    
    
    物流添加

    order-manager.html

    
    
    
        
        
        订单管理
        
    
    
    
    
    订单管理
    订单信息 物流信息

    订单列表

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/720993.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号