每个 company 可对应多个 shop 。 因为每个 company 可存在一个特殊店铺,早期历史代码设计的 shop_id=99 (应该是觉得不会有人会开通超过 99 家店吧),并且不记录在表中。 现在有一个客户的店铺超过了 99 家,导致代码中大量判断 shop_id=99 的逻辑执行异常。
不止后端代码,而且客户端代码中也存在这样的逻辑判断。
1
javalaw2010 5 小时 21 分钟前
先把店铺拆分到两个 company 中去,再想办法解决历史遗留问题
|
2
zhengfan2016 5 小时 20 分钟前 |
3
bootvue 5 小时 19 分钟前
shop_id 如何生成的 baseline 从 100 开启
|
4
liyanggyang 5 小时 18 分钟前
@zhengfan2016 我觉得这是最好的办法
|
5
shitcode OP @javalaw2010 变成两个 company 也会影响到业务,现在最低成本的方式确实是二楼的做法
|
6
shitcode OP @zhengfan2016 现在确实考虑这么干
|
7
zhhbstudio 5 小时 6 分钟前 @zhengfan2016 这就是天才吗?哈哈哈 还是说以前遇到过
|
8
xiaowoli 4 小时 59 分钟前
(应该是觉得不会有人会开通超过 99 家店吧)
你们公司怪励志的啊 |
10
Gilfoyle26 4 小时 7 分钟前
为啥一定要从代码的方向来解决呢?超过 99 给他开 2 个账号不就可以了
|
11
ghm2mail 3 小时 49 分钟前
shop = -1 ,-2,-3.....
|
12
justseemore 3 小时 39 分钟前
|
13
justseemore 3 小时 38 分钟前
@justseemore #12 就怕不光= 还有>=
|
14
javalaw2010 3 小时 38 分钟前
@shitcode #5 考虑到如果有代码逻辑是 if(shop_id >= 99) 就危险了。
|
15
montaro2017 3 小时 37 分钟前
|
16
dcdlove 3 小时 35 分钟前
shop 表的 种子升级到四位数 1000 ,然后历史所有 shop_id 加两个 00
|
17
shitcode OP @javalaw2010 这个确实是没有,都是判断 99 的,但是也说不好真存在在哪个角落
|
18
meteora0tkvo 3 小时 2 分钟前
本来应该加多一个字段去标识判断是否是特殊店铺,而后端偷懒搞一个特殊 id 去判断
|
19
leecqan 2 小时 54 分钟前
其实我没看懂,为啥会有异常,有大佬解释一下么
|
20
noahjsn 2 小时 44 分钟前
@meteora0tkvo 《论屎山代码的形成》《论后期偿还技术债的痛苦》
|
21
konakona 2 小时 42 分钟前
|
22
unused 2 小时 25 分钟前
特殊店铺 ID 为什么不用 0 或者 1 呢
|
23
YTNET PRO 所有的 99 改成 999 呢
把这个问题留个下一个人 |
24
ragnaroks 55 分钟前
我靠,我也曾经遇到过这种问题,也是类商城系统,也是 99 是特殊值。是不是有哪个培训班的老师喜欢用 99 当特殊值啊,明明 Int32.MaxValue 或者 -1 之类的更合理
|