未达标订单存储及新增场景的代码实现需求
未达标订单存储与新增订单处理实现(苹果成熟场景)
核心思路
用类封装订单状态,维护两个集合分别管理已达标订单和待达标订单:
- 待达标集合:存储未满足要求的订单(未成熟苹果),支持新增操作
- 已达标集合:存储完成校验的订单(成熟苹果)
- 定期检查待达标订单的状态,将达标者转移至已达标集合
Python 实现代码
class AppleOrder: def __init__(self, order_id, is_ripe=False): self.order_id = order_id self.is_ripe = is_ripe # True代表订单达标(苹果成熟) def ripen(self): # 模拟苹果成熟(订单达标)的操作 self.is_ripe = True class OrderManager: def __init__(self): self.completed_orders = [] # 已达标订单 self.pending_orders = [] # 待达标订单 def init_initial_orders(self): # 初始化10个初始订单:6个已达标,4个待达标 for i in range(1, 11): if i <= 6: order = AppleOrder(i, is_ripe=True) self.completed_orders.append(order) else: order = AppleOrder(i, is_ripe=False) self.pending_orders.append(order) print(f"初始化完成:已达标订单{len(self.completed_orders)}个,待达标订单{len(self.pending_orders)}个") def add_pending_orders(self, count): # 新增指定数量的待达标订单 start_id = len(self.completed_orders) + len(self.pending_orders) + 1 for i in range(start_id, start_id + count): self.pending_orders.append(AppleOrder(i, is_ripe=False)) print(f"新增{count}个待达标订单,当前待达标订单共{len(self.pending_orders)}个") def check_and_move_completed(self): # 检查待达标订单,将已达标者转移至已达标集合 ripe_orders = [order for order in self.pending_orders if order.is_ripe] for order in ripe_orders: self.pending_orders.remove(order) self.completed_orders.append(order) print(f"检查完成:已转移{len(ripe_orders)}个达标订单,当前已达标{len(self.completed_orders)}个,待达标{len(self.pending_orders)}个") # 模拟场景运行 if __name__ == "__main__": manager = OrderManager() # 初始化初始订单 manager.init_initial_orders() # 模拟新增10个待达标订单 manager.add_pending_orders(10) # 模拟部分待达标订单成熟(比如初始4个中的2个,新增10个中的3个) manager.pending_orders[0].ripen() manager.pending_orders[1].ripen() manager.pending_orders[4].ripen() manager.pending_orders[5].ripen() manager.pending_orders[6].ripen() # 检查并转移达标订单 manager.check_and_move_completed()
代码说明
- AppleOrder类:单个订单的实体,包含订单ID和达标状态,
ripen()方法模拟订单达标过程 - OrderManager类:订单管理核心,提供初始化、新增待达标订单、检查转移达标订单的方法
- 场景模拟:
- 初始化10个订单,6个直接达标,4个进入待处理队列
- 新增10个待达标订单,此时待处理队列共14个
- 手动模拟5个订单达标,执行检查后将其转移至已达标集合
内容的提问来源于stack exchange,提问作者Lord SC11
相关产品推荐
相关产品推荐

