models.py 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. from pydantic import BaseModel
  2. from typing import Optional
  3. import datetime
  4. from pymysql import NULL
  5. from main import vibration
  6. SECRET_KEY = "df2f77bd544240801a048bd4293afd8eeb7fff3cb7050e42c791db4b83ebadcd"
  7. ALGORITHM = "HS256"
  8. class Token(BaseModel):
  9. access_token: str
  10. token_type: str
  11. class del_user(BaseModel):
  12. access_token: str
  13. del_name: str
  14. class User(BaseModel):
  15. id: int
  16. username: str
  17. password: str
  18. changPwdTime: Optional[datetime.datetime] = None
  19. isAdmin: Optional[bool] = None
  20. isEnable: Optional[bool] = True
  21. updateTime: Optional[datetime.datetime] = None
  22. token: Optional[str] = None
  23. class user_authority(BaseModel):
  24. ai_prediction_isView : int
  25. ai_prediction_isAdd : int
  26. ai_prediction_isEdit : int
  27. ai_prediction_isDel : int
  28. channel_isView : int
  29. channel_isAdd : int
  30. channel_isEdit : int
  31. channel_isDel : int
  32. device_isView : int
  33. device_isAdd : int
  34. device_isEdit : int
  35. device_isDel : int
  36. event_isView : int
  37. event_isAdd : int
  38. event_isEdit : int
  39. event_isDel : int
  40. index_isView : int
  41. index_isAdd : int
  42. index_isEdit : int
  43. index_isDel : int
  44. performance_isView : int
  45. performance_isAdd : int
  46. performance_isEdit : int
  47. performance_isDel : int
  48. record_isView : int
  49. record_isAdd : int
  50. record_isEdit : int
  51. record_isDel : int
  52. setting_device_isView : int
  53. setting_device_isAdd : int
  54. setting_device_isEdit : int
  55. setting_device_isDel : int
  56. setting_system_isView : int
  57. setting_system_isAdd : int
  58. setting_system_isEdit : int
  59. setting_system_isDel : int
  60. tower_isView : int
  61. tower_isAdd : int
  62. tower_isEdit : int
  63. tower_isDel : int
  64. ai_prediction_id:int
  65. channel_id:int
  66. device_id:int
  67. event_id:int
  68. index_id:int
  69. performance_id:int
  70. record_id:int
  71. setting_device_id:int
  72. setting_system_id:int
  73. tower_id:int
  74. role_id:str
  75. access_token: str
  76. def get_acl_from_module_name(self,module_name:str):
  77. result = {}
  78. exec("result['id'] = self.{}".format(module_name+'_id'))
  79. exec("result['isView'] = self.{}".format(module_name+'_isView'))
  80. exec("result['isAdd'] = self.{}".format(module_name+'_isAdd'))
  81. exec("result['isEdit'] = self.{}".format(module_name+'_isEdit'))
  82. exec("result['isDel'] = self.{}".format(module_name+'_isDel'))
  83. result["role_id"]= self.role_id
  84. result["module_id"]= module_name
  85. print(result)
  86. return result
  87. # AuthJWT setting
  88. class Settings(BaseModel):
  89. authjwt_secret_key: str = SECRET_KEY
  90. authjwt_token_location: set = {"cookies"}
  91. authjwt_cookie_secure: bool = False
  92. authjwt_cookie_csrf_protect: bool = True
  93. class record_tower_data(BaseModel):
  94. hotTemp: float
  95. coldTempData1:float
  96. coldTempData2:float
  97. reducer:float
  98. total:float
  99. towernum:float
  100. fannum:float
  101. flowchange:float
  102. savewater:float
  103. fanchange:float
  104. saveelec:float
  105. count:float
  106. wetTemp:float
  107. count1:float
  108. staticPressure:float
  109. waterFlow:float
  110. class record_dcs_data(BaseModel):
  111. hotTemp: float
  112. coldTemp:float
  113. fanMotorCur:float
  114. fanMotorSpeedFreq:float
  115. waterFlow:float
  116. class record_diagnosis_data(BaseModel):
  117. DW_Unbalance: float
  118. DW_Bending:float
  119. DW_Misalignment:float
  120. DW_Loose:float
  121. DW_Whirl:float
  122. DW_Whip:float
  123. DW_InnerDamage:float
  124. DW_OuterDamage:float
  125. DW_BallDamage:float
  126. DW_AirGap:float
  127. DW_BrokenBars:float
  128. DW_PhaseProblem:float
  129. DW_GMisalignment:float
  130. DW_GBrokenTeeth:float
  131. DW_Gwear:float
  132. DW_GBending:float
  133. DW_GEccentricity:float
  134. vibration_id:float
  135. class record_health_data(BaseModel):
  136. time_stamp:str
  137. CV_index:float
  138. Vrms:float
  139. Grms:float
  140. RPM:float
  141. PeakToPeak:float
  142. MeanAbsolute:float
  143. Skewness:float
  144. Kurtosis:float
  145. WaveformFactor:float
  146. CrestFactor:float
  147. ImpulseFactor:float
  148. StandardDeviation:float
  149. MeanValue:float
  150. Maximum:float
  151. Minimum:float
  152. IQR:float
  153. vibration_id:str
  154. class record_performance_data(BaseModel):
  155. creatTime:str
  156. deviceCode:str
  157. designWFR:float
  158. designHP:float
  159. designCurrent:float
  160. designHWT:float
  161. designCWT:float
  162. designWBT:float
  163. testWFR:float
  164. testBHP:float
  165. testCurrent:float
  166. testHWT:float
  167. testCWT:float
  168. testWBT:float
  169. testWindSpeed:float
  170. testMakeupWFR:float
  171. testMakeupCWT:float
  172. testCorrectCWT:float
  173. testCoolingRange:float
  174. resPredictRate:float
  175. resPredictWFR:float
  176. resCorrectedWFR:float
  177. resPerformance:float
  178. coolingRangeData:str
  179. coolingRangeChart:str
  180. waterFlowRateChart:str
  181. class record_prediction_data(BaseModel):
  182. time_stamp:str
  183. valueType:str
  184. predictType:str
  185. timeInternal:int
  186. alarmValue:float
  187. calCount:int
  188. remainCount:int
  189. remark:str
  190. vibration_id:str
  191. class record_prediction_upd_data(BaseModel):
  192. time_stamp:str
  193. valueType:str
  194. predictData:str
  195. vibration_id:str