最近在做BMS計(jì)費(fèi)相關(guān)的內(nèi)容,涉及到了很多基礎(chǔ)計(jì)費(fèi)規(guī)則的管理。一般來(lái)說(shuō),對(duì)于這種基礎(chǔ)規(guī)則/配置的管理,就是常用的增刪改查顯算傳
一把梭就完事了,但是關(guān)于規(guī)則的“啟用/停用”狀態(tài)這一點(diǎn)卻讓我差點(diǎn)踩了坑,恰巧之前我也對(duì)這一塊有過(guò)一些思考和總結(jié),于是就借此機(jī)會(huì),寫(xiě)一篇文章來(lái)沉淀一下。
創(chuàng)建好了三個(gè)規(guī)則,其中規(guī)則A和規(guī)則B是啟用狀態(tài),而規(guī)則C是停用狀態(tài)。
接著,在創(chuàng)建某個(gè)方案的時(shí)候,需要選擇使用某個(gè)規(guī)則。一般來(lái)說(shuō)都會(huì)做一個(gè)限制,就是:只能選擇“啟用”狀態(tài)的規(guī)則。
以上的內(nèi)容是一個(gè)工作中很常見(jiàn)的場(chǎng)景,一般大家也都會(huì)使用上述的方案來(lái)解決這個(gè)問(wèn)題。
但是如果此時(shí),換個(gè)視角來(lái)思考這個(gè)問(wèn)題,可能很多產(chǎn)品朋友就會(huì)發(fā)現(xiàn)自己平時(shí)并沒(méi)有注意過(guò)這一塊的邏輯,是一個(gè)小小的盲區(qū)。
關(guān)于刪除,一般常用的方式是通過(guò)規(guī)則去反查方案,如果規(guī)則被方案關(guān)聯(lián)了,則不允許刪除;或者是方案被廢棄了/停用了之后,才允許刪除。
關(guān)于停用,一般來(lái)說(shuō)會(huì)有兩種處理方式。一種是反查關(guān)聯(lián)性,判斷是否可以停用;另一種是不做關(guān)聯(lián)性判斷,直接停用,等具體使用到了此規(guī)則的時(shí)候,再判斷狀態(tài)是否可用。
第一種方式和上面的刪除的方案是一樣的,這里主要聊一下第二種直接停用的方式。第二種方式會(huì)有一點(diǎn)小坑,需要注意一下。
當(dāng)規(guī)則停用了之后,編輯方案的時(shí)候,是否需要默認(rèn)帶出停用了的規(guī)則?
例如,賬號(hào)和角色關(guān)聯(lián)就是一個(gè)很常見(jiàn)的功能,賬號(hào)可以停用,角色也可以停用。但是角色被停用了之后,賬號(hào)雖然還是關(guān)聯(lián)了這個(gè)角色,但是失去了相應(yīng)的權(quán)限。
上面的圖片是從谷倉(cāng)的OMS中找的截圖,當(dāng)角色被停用了之后,編輯一個(gè)關(guān)聯(lián)了此角色的賬號(hào)時(shí)候,還是會(huì)帶出原來(lái)的綁定數(shù)據(jù),但是點(diǎn)擊下拉的時(shí)候,是找不到被停用了的角色的。所以如果不點(diǎn)擊編輯,其實(shí)是判斷不出來(lái)角色已經(jīng)被停用了,即使點(diǎn)擊了編輯,也需要切換了不同的角色之后才能發(fā)現(xiàn)原來(lái)的角色被停用了,其實(shí)已經(jīng)不能再選不中了。
這個(gè)處理邏輯是正確的,但是也是有體驗(yàn)不好的弊端,可以試著優(yōu)化一下。如果能在編輯的時(shí)候直接對(duì)角色加上一個(gè)tag標(biāo)識(shí),提示這個(gè)角色被停用了,應(yīng)該會(huì)更好。對(duì)了,這個(gè)地方還有一個(gè)不算BUG的BUG,角色被停用了之后,這里展示的是角色的id,看起來(lái)也有點(diǎn)奇怪。
看完了上面的案例,再回到停用規(guī)則這個(gè)問(wèn)題上來(lái),我們也可以效仿“賬號(hào)-角色”的關(guān)聯(lián)方式來(lái)處理。如果停用了規(guī)則,則對(duì)應(yīng)的方案還是關(guān)聯(lián)了此條規(guī)則,只不過(guò)是方案可能不能生效而已,因?yàn)殛P(guān)聯(lián)的規(guī)則被停用了。
但是由于在做的計(jì)費(fèi)方案,關(guān)聯(lián)了很多個(gè)規(guī)則,這樣就會(huì)在使用上帶來(lái)一些弊端:明明方案關(guān)聯(lián)了規(guī)則,但是卻不能生效,逐個(gè)排查了之后才發(fā)現(xiàn),原來(lái)是某個(gè)規(guī)則被停用了,所以導(dǎo)致了方案未能生效。
鑒于上面的分析,我們內(nèi)部討論了之后發(fā)現(xiàn),兩種方案都各有利弊,但是考慮到規(guī)則的維護(hù)和管理的難易程度,以及方案未生效之后的排查難度等。
最終的方案是:我們對(duì)大多數(shù)規(guī)則都沒(méi)有做“啟用/停用”的狀態(tài)。
原因如下:
雖然大多數(shù)規(guī)則是沒(méi)“啟用/停用”狀態(tài),但是針對(duì)一些特殊的規(guī)則還是保留了“啟用/停用”狀態(tài)的,這些規(guī)則一般會(huì)有以下一些特征:
關(guān)于“啟用/停用”,最開(kāi)始我一直采用的一個(gè)設(shè)計(jì)方法論是:如果配置比較復(fù)雜,則加上“啟用/停用”,如果配置比較簡(jiǎn)單,則不需要加上這個(gè)。
但是經(jīng)過(guò)這一次項(xiàng)目的小風(fēng)波之后,我發(fā)現(xiàn)除了考慮這一層因素之外,還需要考慮一下關(guān)聯(lián)性的問(wèn)題。如果關(guān)聯(lián)對(duì)象多,關(guān)聯(lián)的鏈路長(zhǎng),則盡量少用多余的狀態(tài)字段,這樣會(huì)導(dǎo)致開(kāi)發(fā)、測(cè)試、使用的時(shí)候都更麻煩。
還有一個(gè)小細(xì)節(jié)要注意的就是,一定要和團(tuán)隊(duì)中的其他產(chǎn)品、開(kāi)發(fā)、測(cè)試等溝通好一個(gè)通用的解決方案,這樣可以打消很多不一致的疑惑感。讓大家都知道,到底什么時(shí)候用這個(gè)狀態(tài),什么時(shí)候不用這個(gè)狀態(tài)。
以上便是最近項(xiàng)目的一個(gè)小小感觸,希望對(duì)大家有所啟發(fā)。如果對(duì)這一塊你也有其他的感觸和見(jiàn)解,也歡迎留言與我交流。
來(lái)源:喜運(yùn)達(dá)
加入賣(mài)家交流群
快速對(duì)接各種平臺(tái)優(yōu)質(zhì)資源
標(biāo)簽:巴西專(zhuān)線小包廈門(mén)馬來(lái)西亞海運(yùn)進(jìn)口跨境電商平臺(tái)排名榜越南的快遞公司空運(yùn)包板包一件代發(fā)的天盛跨境物流往菲律賓郵寄東西美客多自發(fā)貨物流中國(guó)物流到越南價(jià)格
關(guān)注公眾號(hào)
快速獲取
最新行業(yè)資訊動(dòng)態(tài)
加入賣(mài)家交流群
快速對(duì)接
各種平臺(tái)優(yōu)質(zhì)資源