版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、云端詳細(xì)設(shè)計(jì)說明書AVCON Intelligent Technology()Co.,華平智慧科技(北京)批準(zhǔn)人審核人擬制人鄭少將批準(zhǔn)日期生效日期關(guān)聯(lián)文件項(xiàng)目文檔或項(xiàng)目名稱總頁數(shù)正文附件文件部門:詳細(xì)設(shè)計(jì)說明書1 引言1.1 編寫目的本設(shè)計(jì)文檔依據(jù)依據(jù)。云端概要設(shè)計(jì)說明書編制而成,詳細(xì)編寫了云端各功能模塊的具體實(shí)現(xiàn)邏輯,為功能模塊的代碼編寫者提供編寫1.2 定義(無)2 程序系統(tǒng)的結(jié)構(gòu)本系統(tǒng)使用 Spring IoC各功能模塊,模塊間完全解耦,無互相調(diào)用關(guān)系。3 設(shè)備-設(shè)計(jì)說明3.1 程序描述用戶綁定設(shè)備功能的實(shí)現(xiàn)類3.2 功能設(shè)備:主要是用戶綁定設(shè)備操作,每個(gè)用戶可以綁定多個(gè)設(shè)備,但每個(gè)設(shè)備
2、只能被一個(gè)用戶所綁定。3.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)3.4 輸入項(xiàng)3.5 輸出項(xiàng)3.6 算法(無)3.7 流程邏輯1)設(shè)備是否合法SELECTPRIVATE_ID AS privateId, PUBLIC_ID AS publicId, DETECTOR_TYPE AS detectorType,名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶 IDuserIdString設(shè)備 IDprivateIdStringHA_ID AS haId, MAC AS mac,NAME AS name, PLACE AS place,VALIDITY_DATE AS
3、validityDate, UPDATE_TIME AS updateTimeFROMT_DETECTOR_INFO WHEREPRIVATE_ID = #privateId#如果(檢索結(jié)果!=null) 流程 2否則 異常2)根據(jù) Private IDSELECT設(shè)備的綁定信息HOME_IDAS homeId, PRIVATE_ID AS privateId, NAME AS name, UPDATE_DATE AS updateDate,VALIDITY_DATE AS validityDate FROMT_ID_DETECTOR_REL WHEREPRIVATE_ID = #privat
4、eId#如果(檢索結(jié)果 = null) 流程 3否則 異常3)根據(jù)用戶 IDSELECT用戶的 HomeIdUSER_ID AS userId, HOME_ID AS homeIdFROMT_USER_HOME_REF WHEREUSER_ID = #userId# ORDER BYUPDATE_TIME DESC LIMIT0,1如果(檢索結(jié)果!=null) 流程 4否則 異常4)設(shè)備是否已被綁定if(流程 2 結(jié)果!=null)if (設(shè)備關(guān)聯(lián)表的 HomeId = 當(dāng)前登錄用戶的 HomeId) 綁定/同一用戶已綁定else if (設(shè)備關(guān)聯(lián)表的 HomeId = 0) 更新設(shè)備關(guān)聯(lián)表的
5、 HomeId 為當(dāng)前登錄用戶的 HomeId else 異常else/設(shè)備為康乃馨設(shè)備流程 5/綁定設(shè)備5)進(jìn)行綁定INSERT INTO T_ID_DETECTOR_REL( HOME_ID,PRIVATE_ID, PRI_NUM, NAME, UPDATE_DATE, VALIDITY_DATE) VALUES(#homeId#, #privateId#, #priNum#, #name#, #updateDate#, #validityDate#)6)加入操作歷史INSERT INTO T_DETECTOR_HIS( PRIVATE_ID,HOME_ID, OPERATION_IP,O
6、PERATION_CODE,/操作標(biāo)志: 0 SOURCE_CODE,UPDATE_TIME) VALUES(#privateID#, #homeID#, #operationIP# #operationCode#, #sourceCode#, #updateTime#)1 更新2刪除3.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)3.9分配3.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)3.11 限制條件(無)3.12 測試計(jì)劃(參見云端測試文檔)3.13 尚未解決的問題(無)4 設(shè)備解綁-設(shè)計(jì)說明4.1 程序描述用戶解綁設(shè)備功能的實(shí)現(xiàn)類4.2 功能設(shè)備解綁:用戶
7、解除綁定設(shè)備操作功能。4.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)表名稱標(biāo)識(shí)設(shè)備信息表T_DETECTOR_INFO用戶家庭表T_USER_HOME_REF家庭設(shè)備關(guān)聯(lián)表T_ID_DETECTOR_REL操作歷史表T_DETECTOR_HIS4.4 輸入項(xiàng)4.5 輸出項(xiàng)4.6 算法(無)4.7 流程邏輯1)設(shè)備是否合法SELECTPRIVATE_ID AS privateId, PUBLIC_ID AS publicId, DETECTOR_TYPE AS detectorType, HA_ID AS haId,MAC AS mac,NAME AS name, PLACE AS pla
8、ce,VALIDITY_DATE AS validityDate, UPDATE_TIME AS updateTimeFROMT_DETECTOR_INFO WHEREPRIVATE_ID = #privateId#如果(檢索結(jié)果!=null) 流程 2否則 異常2)根據(jù) Private IDSELECT關(guān)聯(lián)表中的 homeIdHOME_IDAS homeId FROMT_ID_DETECTOR_REL WHEREPRIVATE_ID = #privateId#如果(檢索結(jié)果 = null) 異常如果(homeId != 當(dāng)前登錄用戶的 HomeId) 否則 流程 3異常3)設(shè)備是否是康乃馨設(shè)
9、備SELECTPRIVATE_ID AS privateId, SIP_NUM AS sipNum, SIP_PASSWORD AS sipPassword, UPDATE_USER AS updateUser, UPDATE_TIME AS updateTimeFROMT_SIP_DEV_ACCOUNT_INFO WHEREPRIVATE_ID = #privateId#if(檢索結(jié)果 !=null )/康乃馨設(shè)備,修改 HomeIdUPDATE T_ID_DETECTOR_REL SETHOME_ID = #homeId#, PRIVATE_ID = #privateId#, UPDATE
10、_DATE = #updateDate#名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型設(shè)備 IDprivateIdStringWHEREHOME_ID = #pkHomeId# AND PRIVATE_ID = #pkPrivateId#else/其他設(shè)備,刪除綁定數(shù)據(jù)DELETE FROM T_ID_DETECTOR_RELWHEREHOME_ID = #homeId# ANDPRIVATE_ID = #privateId# ANDUPDATE_DATE = #preUpdateTime#4)修改 ticket 有效值為失效狀態(tài)UPDATE T_LINK_INFO SETEX
11、PIRY = #expiry#, UPDATE_DATE = #updateDate#WHEREPRIVATE_ID = #privateId# ANDAPI_KEY = #apiKey#5)加入操作歷史INSERT INTO T_DETECTOR_HIS( PRIVATE_ID,HOME_ID, OPERATION_IP,OPERATION_CODE,/操作標(biāo)志: 0 SOURCE_CODE,UPDATE_TIME) VALUES(#privateID#, #homeID#, #operationIP# #operationCode#, #sourceCode#, #updateTime#)
12、1 更新2刪除4.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)4.9分配4.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)4.11 限制條件(無)表名稱標(biāo)識(shí)設(shè)備信息表T_DETECTOR_INFOSIP賬號(hào)信息T_SIP_DEV_ACCOUNT_INFO家庭設(shè)備關(guān)聯(lián)表T_ID_DETECTOR_REL操作歷史表T_DETECTOR_HIS4.12 測試計(jì)劃(參見云端測試文檔)4.13 尚未解決的問題(無)5 設(shè)備登錄-設(shè)計(jì)說明5.1 程序描述設(shè)備登錄功能的實(shí)現(xiàn)類5.2 功能設(shè)備登錄:設(shè)備登錄到服務(wù)器,獲取 ticket 并檢測新版本的功能。5.3 性能(參照云端概要設(shè)
13、計(jì)說明書對(duì)系統(tǒng)性能說明)5.4 輸入項(xiàng)5.5 輸出項(xiàng)5.6 算法(無)5.7 流程邏輯1)根據(jù) privateIdhomeIdSELECTHOME_ID FROMT_ID_DETECTOR_REL WHEREPRIVATE_ID = #privateID#2)homeId 的值if(homeId != null)根據(jù) HomeID 和 PrivateID 到認(rèn)證中心進(jìn)行認(rèn)證,獲取 ticketif(ticket != null)名稱標(biāo)識(shí)數(shù)據(jù)類型認(rèn)證 Ticketticketbyte版本升級(jí)包數(shù)packetNumbyte結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型設(shè)備 IDprivateIdS
14、tring版本號(hào)versionsint包序號(hào)packetNumsint/根據(jù)設(shè)備 ID設(shè)備信息SELECTPRIVATE_ID AS privateId, PUBLIC_ID AS publicId, DETECTOR_TYPE AS detectorType, HA_ID AS haId,MAC AS mac, NAME AS name, CONFIG AS config, PLACE AS place,VALIDITY_DATE AS validityDate, UPDATE_TIME AS updateTimeFROMT_DETECTOR_INFOWHEREPRIVATE_ID = #p
15、kPrivateId#/檢測設(shè)備的版本號(hào)SELECTDETECTOR_TYPE AS detectorType, APP_TYPE AS appType,VERSION AS version, UPDATE_TIME AS updateTime, PACKET_NUM AS packetNum, FILE_URL AS fileUrlFROMT_DETECTOR_VERSION_INFO WHEREDETECTOR_TYPE = #value#對(duì)比版本號(hào),發(fā)現(xiàn)新版本,保存到 packetNums中添加操作歷史INSERT INTO T_OPERATION_HIS( HOME_ID,PRIVAT
16、E_ID, OPERATION_IP, OPERATION_CODE, SOURCE_CODE, UPDATE_TIME)VALUES(#homeId#, #privateId#, #operationIp#, #operationCode#, #sourceCode#, #updateTime#)進(jìn)入流程 33)返回認(rèn)證 Ticket5.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)5.9分配表名稱標(biāo)識(shí)設(shè)備信息表T_DETECTOR_INFO5.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)5.11 限制條件(無)5.12 測試計(jì)劃(參見云端測試文檔)5.13 尚未解
17、決的問題(無)6 用戶-設(shè)計(jì)說明6.1 程序描述用戶功能的實(shí)現(xiàn)類6.2 功能用戶:一個(gè)新用戶的功能。6.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)6.4 輸入項(xiàng)6.5 輸出項(xiàng)6.6 算法(無)6.7 流程邏輯1)檢測用戶是否存在SELECTUSER_ID AS userId, PASSWD AS passwd,名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶 IDuserIdString用戶passwdString設(shè)備版本信息表T_DETECTOR_VERSION_INFO家庭設(shè)備關(guān)聯(lián)表T_ID_DETECTOR_REL操作歷史表T_DETECTOR_HISMOBILE
18、_NUM AS mobileNum, MAIL AS mail,REG_TIME AS regTime, REG_IP AS regIpFROMT_USER_REG WHEREUSER_ID = #userId#如果(用戶不存在) 流程 2否則 提示用戶已存在2)用戶:INSERT INTO T_USER_REG( USER_ID,PASSWD, MOBILE_NUM, HOME_ID, REG_TIME, REG_IP)VALUES(#userId#, MD5(#passwd#), #mobileNum#, #homeId#, #regTime#, #regIp#)6.8 接口(使用 Spr
19、ing IoC,具體參照云端概要設(shè)計(jì)說明書)6.9分配6.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)6.11 限制條件(無)6.12 測試計(jì)劃(參見云端測試文檔)6.13 尚未解決的問題(無)7 用戶登錄-設(shè)計(jì)說明7.1 程序描述用戶登錄功能的實(shí)現(xiàn)類表名稱標(biāo)識(shí)用戶表T_USER_REG7.2 功能用戶登錄:用戶登錄 APP 的功能。7.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)7.4 輸入項(xiàng)7.5 輸出項(xiàng)7.6 算法(無)7.7 流程邏輯1)根據(jù)用戶名和獲取 ticket如果(ticket != null)/進(jìn)入流程 2否則 提示用戶:用戶名2)檢測用戶是否激活SELECTUSE
20、R_ID AS userId, HOME_ID AS homeId,錯(cuò)誤UPDATE_TIME AS updateTime FROMT_USER_HOME_REF WHEREUSER_ID = #value#如果(檢索結(jié)果 = null) 提示用戶:用戶未激活返回ticket7.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)7.9分配7.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)表名稱標(biāo)識(shí)用戶表T_USER_REG用戶家庭表T_USER_HOME_REF名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint認(rèn)證 ticketticketString名稱標(biāo)識(shí)數(shù)據(jù)類型用戶 ID
21、userIdString用戶passwdString7.11 限制條件(無)7.12 測試計(jì)劃(參見云端測試文檔)7.13 尚未解決的問題(無)8 驗(yàn)證 UserId 存在-設(shè)計(jì)說明8.1 程序描述驗(yàn)證 UserId 存在功能的實(shí)現(xiàn)類8.2 功能驗(yàn)證 UserId 存在:主要用于用戶時(shí)檢測用戶是否存在。8.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)8.4 輸入項(xiàng)8.5 輸出項(xiàng)8.6 算法(無)8.7 流程邏輯1)檢測用戶 ID 是否存在如果(不存在) 返回 0否則 提示用戶 ID 已被SELECTUSER_ID AS userId, PASSWD AS passwd,MOBILE_NUM
22、 AS mobileNum, MAIL AS mail,REG_TIME AS regTime, REG_IP AS regIpFROMT_USER_REG WHERE名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶 IDuserIdStringUSER_ID = #userId#8.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)8.9分配8.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)8.11 限制條件(無)8.12 測試計(jì)劃(參見云端測試文檔)8.13 尚未解決的問題(無)9-設(shè)計(jì)說明9.1 程序描述功能的實(shí)現(xiàn)類9.2 功能:主要是在激活用戶(用
23、戶)時(shí),驗(yàn)證號(hào)的一個(gè)功能。9.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)9.4 輸入項(xiàng)9.5 輸出項(xiàng)9.6 算法(無)名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶 IDuserIdString號(hào)mobileNumString表名稱標(biāo)識(shí)用戶表T_USER_REG9.7 流程邏輯1)用戶名是否存在SELECTUSER_ID AS userId, PASSWD AS passwd,MOBILE_NUM AS mobileNum, MAIL AS mail,REG_TIME AS regTime, REG_IP AS regIpFROMT_USER_REG WHEREUSE
24、R_ID = #userId#如果(檢索結(jié)果否則 流程 2= null) 提示:用戶不存在2)檢測用戶輸入號(hào)是否被占用如果(占用)否則 流程 3提示用戶號(hào)被占用3)用戶點(diǎn)擊“獲取”按鈕,將通過的方式到用戶上生成的六位隨機(jī)數(shù)保存到數(shù)據(jù)庫中REPLACE INTO T_USER_ACTIVATE_INFO( ACTIVATE_ID,ACTIVATE_CODE, VALIDITY_DATE) VALUES(#activateId#, #activateCode#, #validityDate#)(將 6 位隨機(jī)數(shù),通過接口至用戶)if(返回else異常) 標(biāo)識(shí)9.8 接口(使用 Spring IoC
25、,具體參照云端概要設(shè)計(jì)說明書)9.9分配9.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)表名稱標(biāo)識(shí)設(shè)備信息表T_DETECTOR_INFO用戶家庭表T_USER_HOME_REF家庭設(shè)備關(guān)聯(lián)表T_ID_DETECTOR_REL操作歷史表T_DETECTOR_HIS9.11 限制條件(無)9.12 測試計(jì)劃(參見云端測試文檔)9.13 尚未解決的問題(無)10 用戶激活-設(shè)計(jì)說明10.1 程序描述用戶激活功能的實(shí)現(xiàn)類10.2 功能用戶激活:新用戶后,激活用戶功能。10.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)10.4 輸入項(xiàng)10.5 輸出項(xiàng)10.6 算法(無)10.7 流程邏輯1)
26、根據(jù)用戶 ID 查找用戶是否存在SELECTUSER_ID AS userId, PASSWD AS passwd,MOBILE_NUM AS mobileNum, MAIL AS mail,REG_TIME AS regTime, REG_IP AS regIpFROMT_USER_REG WHEREUSER_ID = #userId#如果(用戶存在) 流程 2名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶 IDuserIdString號(hào)mobileNumString激活碼activateCodeString否則 提示:用戶不存在2)檢測用戶是否已激活SELECTCASE
27、 WHEN (HOME_ID IS NULL) THEN 1 ELSE 0 ENDFROMT_USER_REG WHEREUSER_ID = #userId#如果(檢索數(shù)=0) 提示用戶:您的賬號(hào)已被激活否則 流程 33)獲取的SELECTACTIVATE_CODE AS activateCode FROMT_USER_ACTIVATE_INFO WHEREACTIVATE_ID = #activateId#進(jìn)入流程 44)驗(yàn)證:是否正確根據(jù)號(hào)的SELECTACTIVATE_CODE FROMT_USER_ACTIVATE_INFO WHEREACTIVATE_ID = #activateId
28、#如果(用戶輸入否則 提示用戶.equals(輸入錯(cuò)誤結(jié)果))流程 55)修改用戶信息UPDATET_USER_REGSETMOBILE_NUM = #mobileNum# WHEREUSER_ID = #userId#進(jìn)入流程 66)激活用戶,添加用戶家庭表信息INSERT INTO T_USER_HOME_REF( USER_ID,HOME_ID, UPDATE_TIME)VALUES(#userId#, #homeId#, #updateTime#)10.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)10.9分配表名稱標(biāo)識(shí)用戶表T_USER_REG10.10 注釋設(shè)計(jì)
29、(標(biāo)準(zhǔn) Java Doc 注釋方式)10.11 限制條件(無)10.12 測試計(jì)劃(參見云端測試文檔)10.13 尚未解決的問題(無)11 用戶提交郵箱-設(shè)計(jì)說明11.1 程序描述用戶提交郵箱功能的實(shí)現(xiàn)類11.2 功能設(shè)備:主要是用于激活用戶(用戶后)時(shí),以郵箱激活的方式激活用戶,的郵件信息。11.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)11.4 輸入項(xiàng)11.5 輸出項(xiàng)11.6 算法(無)11.7 流程邏輯1)根據(jù)用戶 ID 查找用戶是否存在SELECTUSER_ID AS userId, PASSWD AS passwd,名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型
30、用戶 IDuserIdString郵箱地址mailUrlString用戶激活信息表T_USER_ACTIVATE_INFO家庭設(shè)備關(guān)聯(lián)表T_ID_DETECTOR_RELMOBILE_NUM AS mobileNum, MAIL AS mail,REG_TIME AS regTime, REG_IP AS regIpFROMT_USER_REG WHEREUSER_ID = #userId#如果(用戶存在) 流程 2否則 提示:用戶不存在2)檢測用戶是否已激活SELECTCASE WHEN (HOME_ID IS NULL) THEN 1 ELSE 0 ENDFROMT_USER_REG WH
31、EREUSER_ID = #userId#如果(檢索數(shù)=0) 提示用戶:您的賬號(hào)已被激活否則 流程 33)通過用戶輸入的郵箱地址是否被占用如果(存在) 提示用戶“此郵箱已被占用”否則 流程 44)生成一個(gè)隨機(jī)數(shù)作為,并將保存到數(shù)據(jù)庫REPLACEINTOT_USER_ACTIVATE_INFO( ACTIVATE_ID,ACTIVATE_CODE, VALIDITY_DATE)VALUES(#activateId#, #activateCode#,now() + INTERVAL 3 DAY)5)生成驗(yàn)證連接,向用戶輸入的郵箱mail 驗(yàn)證郵件if() /返回else/異常標(biāo)識(shí)11.8 接口(
32、使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)11.9分配11.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)表名稱標(biāo)識(shí)用戶表T_USER_ REF用戶激活信息表T_USER_ACTIVATE_INFO11.11 限制條件(無)11.12 測試計(jì)劃(參見云端測試文檔)11.13 尚未解決的問題(無)12 郵箱 URL 激活-設(shè)計(jì)說明12.1 程序描述郵箱 URL 激活功能的實(shí)現(xiàn)類12.2 功能郵箱 URL 激活:主要用于激活用戶,使用郵箱的激活方式。12.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)12.4 輸入項(xiàng)12.5 輸出項(xiàng)12.6 算法(無)12.7 流程邏輯1)出相
33、關(guān)信息獲取 userId 和 mail,code2)檢測郵件激活碼SELECTCOUNT(0) FROMT_USER_ACTIVATE_INFO WHEREACTIVATE_ID = #activateId# ANDACTIVATE_CODE = #activateCode# ANDVALIDITY_DATE > now()名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型密文ciphertextString如果(檢索數(shù)=0) 提示用戶:驗(yàn)證失敗否則 流程 33)添加用戶 HomeIdINSERT INTO T_USER_HOME_REF( USER_ID,HOME_ID,
34、UPDATE_TIME)VALUES(#userId#, #homeId#, #updateTime#)4)修改用戶郵箱UPDATET_USER_REGSETMAIL = #mail# WHEREUSER_ID = #userId# 流程 5修改5)激活碼設(shè)為失效UPDATET_USER_ACTIVATE_INFOSETVALIDITY_DATE = now() WHEREACTIVATE_ID = #activateId#12.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)12.9分配12.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)12.11 限制條件(無)12.
35、12 測試計(jì)劃(參見云端測試文檔)12.13 尚未解決的問題(無)表名稱標(biāo)識(shí)用戶表T_USER_REG用戶家庭表T_USER_HOME_REF用戶激活信息表T_USER_ACTIVATE_INFO13-設(shè)計(jì)說明找回13.1 程序描述找回功能的實(shí)現(xiàn)類13.2 功能找回:主要用戶找回,使用激活,通過號(hào)重置的功能。13.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)13.4 輸入項(xiàng)13.5 輸出項(xiàng)13.6 算法(無)13.7 流程邏輯1)用戶名是否存在SELECTUSER_ID AS userId, PASSWD AS passwd,MOBILE_NUM AS mobileNum, MAIL AS
36、 mail,REG_TIME AS regTime, REG_IP AS regIpFROMT_USER_REG WHEREUSER_ID = #userId#如果(檢索結(jié)果 = null) 提示:用戶不存在否則 流程 22)用戶是否綁定過號(hào)如果(流程 1 檢索結(jié)果.getMobileNum() = null) 提示:未綁定否則 流程 3號(hào)3)根據(jù)號(hào)的SELECTACTIVATE_CODE AS activateCode FROMT_USER_ACTIVATE_INFO WHEREACTIVATE_ID = #activateId#名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultCodeint名稱標(biāo)識(shí)數(shù)據(jù)類型
37、用戶 IDuserIdString新passwdStringverifyCodeString4)檢測用戶輸入的是否正確如果(用戶輸入否則 提示用戶.equals(輸入錯(cuò)誤)) 流程 55)輸入新,重置用戶UPDATET_USER_REGSETPASSWD = MD5(#passwd#) WHEREUSER_ID = #userId#13.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)13.9分配13.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)13.11 限制條件(無)13.12 測試計(jì)劃(參見云端測試文檔)13.13 尚未解決的問題(無)14 郵箱找回(標(biāo)識(shí)符)設(shè)計(jì)
38、說明從本章開始,逐個(gè)地給出各個(gè)層次中的每個(gè)程序的設(shè)計(jì)考慮。以下給出的提綱是一般情況的。對(duì)于一個(gè)具體的模塊,尤其是層次比較低的模塊或子程序,其很多條目的內(nèi)容往往與它所隸屬的上一層模塊的對(duì)應(yīng)條目的內(nèi)容相同,在這種情況下,只要簡單地說明這一點(diǎn)即可。14.1 程序描述郵件(SendResetPasswordMailService)接口的實(shí)現(xiàn)重置14.2 功能郵箱找回:用戶是否存在,如果存在,根據(jù)用戶名和郵箱地址找回14.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)表名稱標(biāo)識(shí)設(shè)備信息表T_DETECTOR_INFO用戶家庭表T_USER_HOME_REF家庭設(shè)備關(guān)聯(lián)表T_ID_DETECTOR_RE
39、L操作歷史表T_DETECTOR_HIS14.4 輸入項(xiàng)14.5 輸出項(xiàng)14.6 算法(無)14.7 流程邏輯1) 檢測用戶 ID 是否存在如果(不存在) 提示用戶:用戶不存在否則 流程 22) 輸入綁定的郵箱地址,檢測郵箱是否存在如果(存在) 流程 3否則 提示:郵箱未綁定3) 生成隨4) 更新updateT_USER_REGsetPASSWD = md5(#passwd#) whereUSER_ID = #userId#碼5)通知郵件14.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)14.9分配用戶表:T_USER_REG14.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc
40、注釋方式)14.11 限制條件(無)14.12 測試計(jì)劃(參見云端測試文檔)14.13 尚未解決的問題(無)名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶名userIdString郵箱地址mailString15 用戶修改(標(biāo)識(shí)符)設(shè)計(jì)說明15.1 程序描述修改用戶(UpdateUserPwdService)接口的實(shí)現(xiàn)15.2 功能用戶修改:用戶是否存在,如果存在,再原是否正確,如果正確,根據(jù)用戶名和原修改15.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)15.4 輸入項(xiàng)15.5 輸出項(xiàng)15.6 算法(無)15.7 流程邏輯1)根據(jù)用戶 ID 查找用戶是否存在如果(用戶存在)
41、流程 2否則 提示:用戶不存在2)檢測用戶輸入的 舊如果(true) 流程 3否則 提示用戶是否正確輸入錯(cuò)誤3)修改用戶update信息T_USER_REGsetPASSWD = md5(#passwd#) whereUSER_ID = #userId#15.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)15.9分配用戶表:T_USER_REG15.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultint名稱標(biāo)識(shí)數(shù)據(jù)類型用戶名userIdString原oldPassWdString新passWdString15.11 限制條件(無)15.12
42、 測試計(jì)劃(參見云端測試文檔)15.13 尚未解決的問題(無)16 設(shè)備升級(jí)(標(biāo)識(shí)符)設(shè)計(jì)說明16.1 程序描述設(shè)備升級(jí)(DetectorUpgradeService)接口的實(shí)現(xiàn)16.2 功能設(shè)備升級(jí):設(shè)備是否合法,如果合法,根據(jù)設(shè)備 ID設(shè)備類型,然后再根據(jù)設(shè)備類型、app 類型和包序號(hào)設(shè)備 ROM 信息16.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)16.4 輸入項(xiàng)16.5 輸出項(xiàng)16.6 算法(無)16.7 流程邏輯1) 檢測設(shè)備是否合法SELECTCOUNT(0) FROMT_DETECTOR_INFO WHEREPRIVATE_ID = #privateId#如果(檢索結(jié)果件數(shù)
43、 = 0) 否則 流程 2提示:設(shè)備不合法2) 根據(jù)設(shè)備 IDSELECTDETECTOR_TYPE AS detectorType FROM設(shè)備類型名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultint設(shè)備信息detectorRomTDetectorRomBean名稱標(biāo)識(shí)數(shù)據(jù)類型設(shè)備 IdprivateIdString設(shè)備包 IdpacketIdintApp 類型appTypeintT_DETECTOR_INFO WHEREPRIVATE_ID = #privateId#如果(true) 流程 3否則 提示用戶輸入錯(cuò)誤3)根據(jù)設(shè)備類型,app 類型和包序號(hào)SELECT設(shè)備 ROM 信息DETECTOR_TY
44、PE AS detectorType, PACKET_ID AS packetId,VERSION AS version, PACKET_DATA AS packetDataFROMT_DETECTOR_ROM WHEREDETECTOR_TYPE=#detectorType# ANDAPP_TYPE = #appType# ANDPACKET_ID=#packetId#設(shè)備 ROM 是否存在4)如果(流程 3結(jié)果!=null) 流程 5否則 提示用戶:沒數(shù)據(jù)將設(shè)備 ID,設(shè)備版本號(hào),設(shè)備包數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)組返回5)16.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)16
45、.9分配設(shè)備信息表:T_DETECTOR_INFO設(shè)備 ROM 表:T_DETECTOR_ROM16.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)16.11 限制條件(無)16.12 測試計(jì)劃(參見云端測試文檔)16.13 尚未解決的問題(無)17 心跳(標(biāo)識(shí)符)設(shè)計(jì)說明17.1 程序描述心跳接口實(shí)現(xiàn)類17.2 功能將當(dāng)前時(shí)間作為心跳標(biāo)識(shí)返回17.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)17.4 輸入項(xiàng)17.5 輸出項(xiàng)17.6 算法(無)17.7 流程邏輯1) 將當(dāng)前時(shí)間作為心跳標(biāo)識(shí)返回17.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)17.9分配17.10
46、 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)17.11 限制條件(無)17.12 測試計(jì)劃(參見云端測試文檔)17.13 尚未解決的問題(無)18設(shè)備運(yùn)行狀態(tài)(標(biāo)識(shí)符)設(shè)計(jì)說明18.1 程序描述設(shè)備運(yùn)行狀態(tài)(DetectorService)接口的實(shí)現(xiàn)18.2 功能設(shè)備運(yùn)行狀態(tài):用戶是否存在,如果存在,根據(jù)設(shè)備 Id 和最新更新時(shí)間設(shè)備運(yùn)行狀態(tài)名稱標(biāo)識(shí)數(shù)據(jù)類型心跳標(biāo)識(shí)Date(當(dāng)前時(shí)間)Date18.3 性能(參照云端概要設(shè)計(jì)說明書對(duì)系統(tǒng)性能說明)18.4 輸入項(xiàng)18.5 輸出項(xiàng)18.6 算法(無)18.7 流程邏輯1)根據(jù)設(shè)備 IDSELECTCOUNT(0) FROM設(shè)備是否存在T_DET
47、ECTOR_INFO WHEREPRIVATE_ID = #privateId#如果(用戶存在) 流程 2否則 提示用戶設(shè)備不合法2)根據(jù)設(shè)備 ID 和最新更新時(shí)間設(shè)備狀態(tài)SELECTPRIVATE_ID AS privateId, STATUS AS status,MAX(UPDATE_TIME) AS updateTime FROMT_DETECTOR_STATUS WHEREPRIVATE_ID = #privateId#3)將設(shè)備 ID 和設(shè)備狀態(tài)返回18.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)18.9分配設(shè)備信息表:T_DETECTOR_INFO設(shè)備狀態(tài)表
48、:T_DETECTOR_STATUS18.10 注釋設(shè)計(jì)(標(biāo)準(zhǔn) Java Doc 注釋方式)18.11 限制條件(無)名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultint設(shè)備 IdprivateIdString狀態(tài)statusint(0:正常;1:故障)名稱標(biāo)識(shí)數(shù)據(jù)類型設(shè)備 IdprivateIdString18.12 測試計(jì)劃(參見云端測試文檔)18.13 尚未解決的問題(無)19 設(shè)備通知(標(biāo)識(shí)符)設(shè)計(jì)說明19.1 程序描述設(shè)備通知(DetectorInformService)接口的實(shí)現(xiàn)19.2 功能設(shè)備通知:用戶是否存在,如果存在,根據(jù)設(shè)備 ID 修改設(shè)備的狀態(tài)信息19.3 性能(參照云端概要設(shè)計(jì)說明
49、書對(duì)系統(tǒng)性能說明)19.4 輸入項(xiàng)19.5 輸出項(xiàng)19.6 算法(無)19.7 流程邏輯1) 檢測設(shè)備是否存在SELECTCOUNT(0) FROMT_DETECTOR_INFO WHEREPRIVATE_ID = #privateId#如果(檢索數(shù) = 1) 流程 2否則 提示用戶設(shè)備不合法2) 修改設(shè)備的狀態(tài)信息updateT_DETECTOR_STATUSsetSTATUS = #status# ANDUPDATE_TIME = #updateTime#where名稱標(biāo)識(shí)數(shù)據(jù)類型結(jié)果resultint名稱標(biāo)識(shí)數(shù)據(jù)類型設(shè)備 IdprivateIdString通知noticeintPRIVATE_ID = #privateId#3) 返回結(jié)果標(biāo)識(shí)19.8 接口(使用 Spring IoC,具體參照云端概要設(shè)計(jì)說明書)19.9分配設(shè)備信息表:T_DETECTOR_INFO設(shè)備狀態(tài)表:T_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024丙丁之間關(guān)于共同經(jīng)營連鎖餐飲店的合同
- 2024年工裝項(xiàng)目材料與設(shè)備采購合同
- 2024區(qū)塊鏈應(yīng)用開發(fā)與授權(quán)合同
- 2024年制造業(yè)成品庫管理及配送服務(wù)合同
- 學(xué)生體質(zhì)健康管理制度
- 2024年工程建筑施工協(xié)議書
- 2024年工程保險(xiǎn)服務(wù)施工合同
- 2024年學(xué)校師資聘請協(xié)議標(biāo)準(zhǔn)版
- 2024年家庭家政服務(wù)人員雇傭合同
- 2024城市宣傳片拍攝基地租賃協(xié)議
- 上海高考語文知識(shí)點(diǎn)歸納完整版(精編版)
- 大班繪本閱讀《糊涂熊隊(duì)劃不快》
- 國開2023春《管理學(xué)基礎(chǔ)》??菩慰甲鳂I(yè)一~四參考答案
- 機(jī)場航站樓及跑道擴(kuò)建工程施工組織設(shè)計(jì)方案
- 高速公路綠化設(shè)計(jì)方案
- 數(shù)胎動(dòng)那些事兒胎動(dòng)與胎兒安全孕婦學(xué)校課件PPT
- 商業(yè)發(fā)票 國際貿(mào)易商業(yè)發(fā)票模板
- 2021繼續(xù)教育《國家職業(yè)教育改革實(shí)施方案》解讀 試題
- 護(hù)士讀書分享《喚醒護(hù)理》
- 銀行紀(jì)檢委員紀(jì)檢工作報(bào)告
- GB/T 27021.1-2017合格評(píng)定管理體系審核認(rèn)證機(jī)構(gòu)要求第1部分:要求
評(píng)論
0/150
提交評(píng)論