Skip to content

演唱会不能选座,系统如何给用户分配座位呢?怎么处理连坐需求呢?

Notifications You must be signed in to change notification settings

CrazyThursdayV50/seats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

票务业务出票逻辑

测试

条件

  1. 按照预设随机生成座位图(座位信息)
  2. 按照生生的座位信息生成匹配的观众,并对观众生成随机的连坐需求

测试结果:

总数据: 总数[27404], 可用[0], 已出[24684], 锁定[2720]
0区: 总数[2244], 可用[0], 已出[2024], 锁定[220]
10区: 总数[2287], 可用[0], 已出[2069], 锁定[218]
11区: 总数[2316], 可用[0], 已出[2081], 锁定[235]
21区: 总数[2259], 可用[0], 已出[2041], 锁定[218]
23区: 总数[2276], 可用[0], 已出[2052], 锁定[224]
25区: 总数[2308], 可用[0], 已出[2084], 锁定[224]
33区: 总数[2305], 可用[0], 已出[2074], 锁定[231]
34区: 总数[2293], 可用[0], 已出[2059], 锁定[234]
35区: 总数[2280], 可用[0], 已出[2051], 锁定[229]
40区: 总数[2294], 可用[0], 已出[2068], 锁定[226]
42区: 总数[2313], 可用[0], 已出[2067], 锁定[246]
50区: 总数[2229], 可用[0], 已出[2014], 锁定[215]
++++++ 内场1288 档位 2014 名用户已出票
++++++ 外场488 档位 4150 名用户已出票
++++++ 外场688 档位 6177 名用户已出票
++++++ 内场1088 档位 4135 名用户已出票
++++++ 外场288 档位 2024 名用户已出票
++++++ 内场888 档位 6184 名用户已出票
++++++ 总计 24684 名用户已出票

--- PASS: TestOrderSeat (1.52s)

没有考虑性能,没有使用并发

代码位置

/service/order_seat_test.go

cd /service
go test

业务

实现逻辑:

  1. 给所有的位置设计编号
  2. 在编号中代入所需的业务信息(状态、区域、排、列)
  3. 将座位依据编号排序
  4. 排序之后的座位顺序会与业务所需非常契合

另外

  1. 实现生成连坐的代码
  2. 实现满足用户连坐需求的挑选连坐代码

About

演唱会不能选座,系统如何给用户分配座位呢?怎么处理连坐需求呢?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages