views.py 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277
  1. # coding=utf-8
  2. from __future__ import unicode_literals
  3. import requests
  4. import random,datetime,time
  5. import json
  6. import uuid
  7. from django.contrib import auth
  8. from django.core.cache import cache
  9. from django.conf import settings
  10. from django.http import FileResponse,HttpResponse
  11. from wsgiref.util import FileWrapper
  12. import common.error_info as ce
  13. from common import core_views as cv
  14. import common.common_control as ccc
  15. import common.common_functions as ccf
  16. import manage.control_auth as ca
  17. import manage.controls as ctl
  18. class SysUserInfoListView(cv.AdminView):
  19. def get(self, request):
  20. """#获取账号列表(管理后台)
  21. @name:账号或管理员姓名
  22. @journal_id:期刊id
  23. """
  24. try:
  25. qdata = request.json
  26. total,rst = ctl.get_list_info(self,**qdata)
  27. return cv.to_suc({"total":total,"list":rst})
  28. except Exception as e:
  29. cv.tracefail()
  30. return cv.to_fail(e)
  31. class SysUserInfoAllListView(cv.AdminView):
  32. def get(self, request):
  33. """#获取账号列表(管理后台)
  34. @name:账号或管理员姓名
  35. """
  36. try:
  37. qdata = request.json
  38. rst = ctl.get_all_users(request)
  39. return cv.to_suc(rst)
  40. except Exception as e:
  41. cv.tracefail()
  42. return cv.to_fail(e)
  43. class UserJournalsView(cv.AdminView):
  44. def get(self, request):
  45. """#获取账号期刊列表(管理后台)
  46. """
  47. try:
  48. qdata = request.json
  49. rst = ctl.get_user_journals_list(request)
  50. return cv.to_suc(rst)
  51. except Exception as e:
  52. cv.tracefail()
  53. return cv.to_fail(e)
  54. class UserRolesView(cv.AdminView):
  55. def get(self, request):
  56. """#获取账号角色列表(管理后台)
  57. """
  58. try:
  59. qdata = request.json
  60. rst = ctl.get_user_roles_list(request)
  61. return cv.to_suc(rst)
  62. except Exception as e:
  63. cv.tracefail()
  64. return cv.to_fail(e)
  65. class UserPermissionsView(cv.AdminView):
  66. def get(self, request):
  67. """#获取账号权限列表(管理后台)
  68. """
  69. try:
  70. qdata = request.json
  71. rst = ctl.get_user_permissions_list(request)
  72. return cv.to_suc(rst)
  73. except Exception as e:
  74. cv.tracefail()
  75. return cv.to_fail(e)
  76. class SysUserInfoView(cv.AdminView):
  77. def get(self, request):
  78. """#账号详情(平台管理后台)
  79. @id:1
  80. """
  81. try:
  82. rst = ctl.get_user_info(request)
  83. return cv.to_suc(rst)
  84. except Exception as e:
  85. cv.tracefail()
  86. return cv.to_fail(e)
  87. def post(self,request):
  88. """#新增账号(平台管理后台)
  89. @name:"账号"
  90. @password:"密码"
  91. @realname:"姓名"
  92. @is_active:"是否激活",0/1
  93. @journal_id:"期刊id"
  94. @role_id:"角色id"
  95. @phone:"手机号"
  96. """
  97. qdata = request.json
  98. need_params = ["name","phone","password","realname","is_active","journal_id","role_id"]
  99. mse = ccf.check_params(*need_params,**qdata)
  100. if mse:
  101. raise ce.TipException(mse)
  102. try:
  103. vals = ccf.get_need_params(*need_params,**qdata)
  104. vals["password"] = ccf.make_password(vals["password"])
  105. vals["cid"] = request.user.id
  106. vals["cname"] = request.user.name
  107. rst = ctl.add_model(self,**vals)
  108. return cv.to_suc(rst)
  109. except Exception as e:
  110. cv.tracefail()
  111. return cv.to_fail(e)
  112. def put(self,request):
  113. """#修改账号(平台管理后台)
  114. @id:"1"
  115. @name:"账号"
  116. @password:"密码"
  117. @realname:"姓名"
  118. @is_active:"是否激活",0/1
  119. @journal_id:"期刊id"
  120. @role_id:"角色id"
  121. @phone:"手机号"
  122. """
  123. qdata = request.json
  124. need_params = ["id","phone","name","password","realname","is_active","journal_id","role_id"]
  125. mse = ccf.check_params(*need_params,**qdata)
  126. if mse:
  127. raise ce.TipException(mse)
  128. try:
  129. vals = ccf.get_need_params(*need_params,**qdata)
  130. if len(vals["password"])<20:
  131. vals["password"] = ccf.make_password(vals["password"])
  132. rst = ctl.update_model(self,**vals)
  133. return cv.to_suc(rst)
  134. except Exception as e:
  135. cv.tracefail()
  136. return cv.to_fail(e)
  137. def delete(self,request):
  138. """#删除账号(平台管理后台)
  139. @id:"1",多个逗号分隔
  140. """
  141. qdata = request.json
  142. need_params = ["id"]
  143. mse = ccf.check_params(*need_params,**qdata)
  144. if mse:
  145. raise ce.TipException(mse)
  146. try:
  147. vals = ccf.get_need_params(*need_params,**qdata)
  148. rst = ctl.delete_model(self,**vals)
  149. return cv.to_suc(rst)
  150. except Exception as e:
  151. cv.tracefail()
  152. return cv.to_fail(e)
  153. class EnterPriseAllView(cv.AdminView):
  154. def get(self, request):
  155. """#所有企业(平台管理后台)
  156. @name:"企业名称"
  157. """
  158. try:
  159. rst = ctl.get_all_enterprise_list(request)
  160. return cv.to_suc(rst)
  161. except Exception as e:
  162. cv.tracefail()
  163. return cv.to_fail(e)
  164. class EnterPriseListView(cv.AdminView):
  165. def get(self, request):
  166. """#企业列表(平台管理后台)
  167. @name:"企业名称"
  168. @area:"区域"
  169. @category:"企业类型"
  170. @page:1
  171. @page_size:20
  172. """
  173. try:
  174. total,rst = ctl.get_enterprise_list(request)
  175. return cv.to_suc({"total":total,"list":rst})
  176. except Exception as e:
  177. cv.tracefail()
  178. return cv.to_fail(e)
  179. class EnterPriseView(cv.AdminView):
  180. def get(self, request):
  181. """#企业详情(平台管理后台)
  182. @id:1
  183. """
  184. qdata = request.json
  185. need_params = ["id"]
  186. mse = ccf.check_params(*need_params,**qdata)
  187. if mse:
  188. raise ce.TipException(mse)
  189. try:
  190. vals = ccf.get_need_params(*need_params,**qdata)
  191. rst = ctl.get_detail_info(self,**vals)
  192. return cv.to_suc(rst)
  193. except Exception as e:
  194. cv.tracefail()
  195. return cv.to_fail(e)
  196. def post(self,request):
  197. """#新增企业账号(平台管理后台)
  198. @name:"名称"
  199. @username:"账号"
  200. @password:"密码"
  201. @area:"所属区域"
  202. @parent_id:"上级id"
  203. @parent_name:"上级名称",
  204. @is_active:"账号状态",0/1
  205. @category:"行业",
  206. @busscope:"经营范围",
  207. @legalperson:"法人",
  208. @legalperson_phone:"法人电话",
  209. @safecolor_img:"安全四色图",
  210. @faceimg:"背景图"
  211. """
  212. qdata = request.json
  213. need_params = ["name","username","password","category","area",
  214. "legalperson","legalperson_phone","busscope","is_active"]
  215. mse = ccf.check_params(*need_params,**qdata)
  216. if mse:
  217. raise ce.TipException(mse)
  218. try:
  219. need_params.extend(["parent_id","parent_name","principal","principal_phone","faceimg","safecolor_img"])
  220. vals = ccf.get_need_params(*need_params,**qdata)
  221. vals["password"] = ccf.make_password(vals["password"])
  222. rst = ctl.add_model(self,**vals)
  223. return cv.to_suc(rst)
  224. except Exception as e:
  225. cv.tracefail()
  226. return cv.to_fail(e)
  227. def put(self,request):
  228. """#修改企业账号(平台管理后台)
  229. @id:"id"
  230. @name:"名称"
  231. @username:"账号"
  232. @password:"密码"
  233. @area:"所属区域"
  234. @parent_id:"上级id"
  235. @parent_name:"上级名称",
  236. @is_active:"账号状态",0/1
  237. @category:"行业",
  238. @busscope:"经营范围",
  239. @legalperson:"法人",
  240. @legalperson_phone:"法人电话",
  241. @safecolor_img:"安全四色图",
  242. @faceimg:"背景图"
  243. """
  244. qdata = request.json
  245. need_params = ["id","name","username","password","category","area",
  246. "legalperson","legalperson_phone","busscope","faceimg","safecolor_img","is_active"]
  247. mse = ccf.check_params(*need_params,**qdata)
  248. if mse:
  249. raise ce.TipException(mse)
  250. try:
  251. need_params.extend(["parent_id","parent_name","principal","principal_phone"])
  252. vals = ccf.get_need_params(*need_params,**qdata)
  253. if len(vals["password"]) < 20:
  254. vals["password"] = ccf.make_password(vals["password"])
  255. rst = ctl.update_model(self,**vals)
  256. return cv.to_suc(rst)
  257. except Exception as e:
  258. cv.tracefail()
  259. return cv.to_fail(e)
  260. def delete(self,request):
  261. """删除政府账号(平台管理后台)
  262. @id:"1",多个逗号分隔
  263. """
  264. qdata = request.json
  265. need_params = ["id"]
  266. mse = ccf.check_params(*need_params,**qdata)
  267. if mse:
  268. raise ce.TipException(mse)
  269. try:
  270. vals = ccf.get_need_params(*need_params,**qdata)
  271. rst = ctl.delete_model(self,**vals)
  272. return cv.to_suc(rst)
  273. except Exception as e:
  274. cv.tracefail()
  275. return cv.to_fail(e)
  276. class GovermentListView(cv.AdminView):
  277. def get(self, request):
  278. """#获取政府列表(平台管理后台)
  279. @area:"昵称"
  280. @name:"姓名"
  281. """
  282. try:
  283. rst = ctl.get_goverment_list(request)
  284. return cv.to_suc(rst)
  285. except Exception as e:
  286. cv.tracefail()
  287. return cv.to_fail(e)
  288. class GovermentView(cv.AdminView):
  289. def get(self, request):
  290. """#政府详情(平台管理后台)
  291. @id:1
  292. """
  293. qdata = request.json
  294. need_params = ["id"]
  295. mse = ccf.check_params(*need_params,**qdata)
  296. if mse:
  297. raise ce.TipException(mse)
  298. try:
  299. vals = ccf.get_need_params(*need_params,**qdata)
  300. rst = ctl.get_detail_info(self,**vals)
  301. return cv.to_suc(rst)
  302. except Exception as e:
  303. cv.tracefail()
  304. return cv.to_fail(e)
  305. def post(self,request):
  306. """#新增政府账号(平台管理后台)
  307. @name:"政府名称"
  308. @username:"政府账号"
  309. @password:"密码"
  310. @area:"所属区域"
  311. @parent_id:"上级id",不传或传null
  312. @parent_name:"上级名称",不传或传null
  313. @is_active:"账号状态",0/1
  314. """
  315. qdata = request.json
  316. need_params = ["name","username","password","area","is_active"]
  317. mse = ccf.check_params(*need_params,**qdata)
  318. if mse:
  319. raise ce.TipException(mse)
  320. try:
  321. need_params.extend(["parent_id","parent_name"])
  322. vals = ccf.get_need_params(*need_params,**qdata)
  323. vals["password"] = ccf.make_password(vals["password"])
  324. rst = ctl.add_model(self,**vals)
  325. return cv.to_suc(rst)
  326. except Exception as e:
  327. cv.tracefail()
  328. return cv.to_fail(e)
  329. def put(self,request):
  330. """#修改政府账号(平台管理后台)
  331. @id:"政府id"
  332. @name:"政府名称"
  333. @username:"政府账号"
  334. @password:"密码"
  335. @area:"所属区域"
  336. @parent_id:"上级id"
  337. @parent_name:"上级名称",
  338. @is_active:"账号状态",0/1
  339. """
  340. qdata = request.json
  341. need_params = ["id","name","username","password","area","is_active"]
  342. mse = ccf.check_params(*need_params,**qdata)
  343. if mse:
  344. raise ce.TipException(mse)
  345. try:
  346. need_params.extend(["parent_id","parent_name"])
  347. vals = ccf.get_need_params(*need_params,**qdata)
  348. if len(vals["password"]) < 20:
  349. vals["password"] = ccf.make_password(vals["password"])
  350. rst = ctl.update_model(self,**vals)
  351. return cv.to_suc(rst)
  352. except Exception as e:
  353. cv.tracefail()
  354. return cv.to_fail(e)
  355. def delete(self,request):
  356. """#删除政府账号(平台管理后台)
  357. @id:"1",多个逗号分隔
  358. """
  359. qdata = request.json
  360. need_params = ["id"]
  361. mse = ccf.check_params(*need_params,**qdata)
  362. if mse:
  363. raise ce.TipException(mse)
  364. try:
  365. vals = ccf.get_need_params(*need_params,**qdata)
  366. rst = ctl.delete_model(self,**vals)
  367. return cv.to_suc(rst)
  368. except Exception as e:
  369. cv.tracefail()
  370. return cv.to_fail(e)
  371. class GovermentSubEntView(cv.AdminView):
  372. def post(self,request):
  373. """#新增政府下属企业(平台管理后台)
  374. @goverment_id:1,
  375. @enterprise_id:1
  376. """
  377. qdata = request.json
  378. need_params = ["goverment_id","enterprise_id"]
  379. mse = ccf.check_params(*need_params,**qdata)
  380. if mse:
  381. raise ce.TipException(mse)
  382. try:
  383. vals = ccf.get_need_params(*need_params,**qdata)
  384. rst = ctl.add_goverment_subenterprise(**vals)
  385. return cv.to_suc(rst)
  386. except Exception as e:
  387. cv.tracefail()
  388. return cv.to_fail(e)
  389. def delete(self,request):
  390. """#删除下属企业(平台管理后台)
  391. @goverment_id:1,
  392. @enterprise_id:1
  393. """
  394. qdata = request.json
  395. need_params = ["goverment_id","enterprise_id"]
  396. mse = ccf.check_params(*need_params,**qdata)
  397. if mse:
  398. raise ce.TipException(mse)
  399. try:
  400. vals = ccf.get_need_params(*need_params,**qdata)
  401. rst = ctl.delete_goverment_subenterprise(**vals)
  402. return cv.to_suc(rst)
  403. except Exception as e:
  404. cv.tracefail()
  405. return cv.to_fail(e)
  406. class DepartmentListView(cv.AdminView):
  407. def get(self, request):
  408. """#获取部门列表(平台管理后台)
  409. @enterprise_id:"企业id"
  410. """
  411. try:
  412. qdata = request.json
  413. need_params = ["enterprise_id"]
  414. mse = ccf.check_params(*need_params,**qdata)
  415. if mse:
  416. raise ce.TipException(mse)
  417. vals = ccf.get_need_params(*need_params,**qdata)
  418. total,rst = ctl.get_department_list(**vals)
  419. return cv.to_suc({"total":total,"list":rst})
  420. except Exception as e:
  421. cv.tracefail()
  422. return cv.to_fail(e)
  423. class DepartmentView(cv.AdminView):
  424. def get(self, request):
  425. """#部门详情(平台管理后台)
  426. @id:1
  427. """
  428. qdata = request.json
  429. need_params = ["id"]
  430. mse = ccf.check_params(*need_params,**qdata)
  431. if mse:
  432. raise ce.TipException(mse)
  433. try:
  434. vals = ccf.get_need_params(*need_params,**qdata)
  435. rst = ctl.get_department_info(**vals)
  436. return cv.to_suc(rst)
  437. except Exception as e:
  438. cv.tracefail()
  439. return cv.to_fail(e)
  440. def post(self,request):
  441. """#新增部门(平台管理后台)
  442. @name:"政府名称"
  443. @enterprise_id:"政府名称"
  444. @enterprise_name:"政府名称"
  445. @staffusers:[{id:0,name:"",password:"","phone":"",utype:"部门级/岗位级"}]
  446. """
  447. qdata = request.json
  448. need_params = ["enterprise_id","enterprise_name","name"]
  449. mse = ccf.check_params(*need_params,**qdata)
  450. if mse:
  451. raise ce.TipException(mse)
  452. try:
  453. need_params.extend(["staffusers"])
  454. vals = ccf.get_need_params(*need_params,**qdata)
  455. rst = ctl.add_department(**vals)
  456. return cv.to_suc(rst)
  457. except Exception as e:
  458. cv.tracefail()
  459. return cv.to_fail(e)
  460. def put(self,request):
  461. """#修改部门(平台管理后台)
  462. @id:""
  463. @name:"政府名称"
  464. @enterprise_id:"政府名称"
  465. @enterprise_name:"政府名称"
  466. @staffusers:[{id:1,name:"",password:"","phone":"",utype:"部门级/岗位级"}]
  467. """
  468. qdata = request.json
  469. need_params = ["id","enterprise_id","enterprise_name","name"]
  470. mse = ccf.check_params(*need_params,**qdata)
  471. if mse:
  472. raise ce.TipException(mse)
  473. try:
  474. need_params.extend(["staffusers"])
  475. vals = ccf.get_need_params(*need_params,**qdata)
  476. rst = ctl.update_department(**vals)
  477. return cv.to_suc(rst)
  478. except Exception as e:
  479. cv.tracefail()
  480. return cv.to_fail(e)
  481. def delete(self,request):
  482. """#删除部门(平台管理后台)
  483. @id:"1",多个逗号分隔
  484. """
  485. qdata = request.json
  486. need_params = ["id"]
  487. mse = ccf.check_params(*need_params,**qdata)
  488. if mse:
  489. raise ce.TipException(mse)
  490. try:
  491. vals = ccf.get_need_params(*need_params,**qdata)
  492. rst = ctl.delete_department(**vals)
  493. return cv.to_suc(rst)
  494. except Exception as e:
  495. cv.tracefail()
  496. return cv.to_fail(e)
  497. class RiskPointListView(cv.AdminView):
  498. def get(self, request):
  499. """#获取风险点列表(平台管理后台)
  500. """
  501. try:
  502. qdata = request.json
  503. rst = ctl.get_riskpoint_list(request)
  504. return cv.to_suc(rst)
  505. except Exception as e:
  506. cv.tracefail()
  507. return cv.to_fail(e)
  508. class RiskPointView(cv.AdminView):
  509. def get(self, request):
  510. """#风险点详情(平台管理后台)
  511. @id:1
  512. """
  513. qdata = request.json
  514. need_params = ["id"]
  515. mse = ccf.check_params(*need_params,**qdata)
  516. if mse:
  517. raise ce.TipException(mse)
  518. try:
  519. vals = ccf.get_need_params(*need_params,**qdata)
  520. rst = ctl.get_detail_info(self,**vals)
  521. return cv.to_suc(rst)
  522. except Exception as e:
  523. cv.tracefail()
  524. return cv.to_fail(e)
  525. def post(self,request):
  526. """#新增风险点(平台管理后台)
  527. @name:"政府名称"
  528. @parent_id:"上级id",不传或传null
  529. @parent_name:"上级名称",不传或传null
  530. @enterprise_id:"上级id",不传或传null
  531. @enterprise_name:"上级名称",不传或传null
  532. """
  533. qdata = request.json
  534. need_params = ["name","enterprise_id","enterprise_name"]
  535. mse = ccf.check_params(*need_params,**qdata)
  536. if mse:
  537. raise ce.TipException(mse)
  538. try:
  539. need_params.extend(["parent_id","parent_name"])
  540. vals = ccf.get_need_params(*need_params,**qdata)
  541. rst = ctl.add_model(self,**vals)
  542. return cv.to_suc(rst)
  543. except Exception as e:
  544. cv.tracefail()
  545. return cv.to_fail(e)
  546. def put(self,request):
  547. """#修改风险点(平台管理后台)
  548. @id:1
  549. @name:"政府名称"
  550. @parent_id:"上级id",不传或传null
  551. @parent_name:"上级名称",不传或传null
  552. @enterprise_id:"上级id",不传或传null
  553. @enterprise_name:"上级名称",不传或传null
  554. """
  555. qdata = request.json
  556. need_params = ["id","name","enterprise_id","enterprise_name"]
  557. mse = ccf.check_params(*need_params,**qdata)
  558. if mse:
  559. raise ce.TipException(mse)
  560. try:
  561. need_params.extend(["parent_id","parent_name"])
  562. vals = ccf.get_need_params(*need_params,**qdata)
  563. rst = ctl.update_model(self,**vals)
  564. return cv.to_suc(rst)
  565. except Exception as e:
  566. cv.tracefail()
  567. return cv.to_fail(e)
  568. def delete(self,request):
  569. """#删除风险点(平台管理后台)
  570. @id:"1",多个逗号分隔
  571. """
  572. qdata = request.json
  573. need_params = ["id"]
  574. mse = ccf.check_params(*need_params,**qdata)
  575. if mse:
  576. raise ce.TipException(mse)
  577. try:
  578. vals = ccf.get_need_params(*need_params,**qdata)
  579. rst = ctl.delete_model(self,**vals)
  580. return cv.to_suc(rst)
  581. except Exception as e:
  582. cv.tracefail()
  583. return cv.to_fail(e)
  584. class MonitTaskListView(cv.AdminView):
  585. def get(self, request):
  586. """#获取任务列表(平台管理后台)
  587. @riskpoint_id:1,风险点id
  588. """
  589. try:
  590. qdata = request.json
  591. total,rst = ctl.get_list_info(self,**qdata)
  592. return cv.to_suc({"total":total,"list":rst})
  593. except Exception as e:
  594. cv.tracefail()
  595. return cv.to_fail(e)
  596. class StaffUserView(cv.AdminView):
  597. def get(self, request):
  598. """#获取员工详情(平台管理后台)
  599. @id:1
  600. """
  601. try:
  602. qdata = request.json
  603. need_params = ["id"]
  604. #mse = ccf.check_params(*need_params,**qdata)
  605. #if mse:
  606. # raise ce.TipException(mse)
  607. vals = ccf.get_need_params(*need_params,**qdata)
  608. id = vals.get("id")
  609. rst = ctl.get_staffuser_info(*[id])
  610. return cv.to_suc(rst)
  611. except Exception as e:
  612. cv.tracefail()
  613. return cv.to_fail(e)
  614. def post(self, request):
  615. """#新增员工(平台管理后台)
  616. @enterprise_id:1
  617. @department_id:1
  618. @name:"肖小肖"
  619. @username:"15982456282"
  620. @password:"123456"
  621. @phone:"15982456282"
  622. @utype:"岗位级/部门级/公司级"
  623. """
  624. try:
  625. qdata = request.json
  626. need_params = ["enterprise_id","name","username","password","phone","utype"]
  627. mse = ccf.check_params(*need_params,**qdata)
  628. if mse:
  629. raise ce.TipException(mse)
  630. need_params.extend(["department_id"])
  631. vals = ccf.get_need_params(*need_params,**qdata)
  632. rst = ctl.add_staffuser(**vals)
  633. return cv.to_suc(rst)
  634. except Exception as e:
  635. cv.tracefail()
  636. return cv.to_fail(e)
  637. def put(self, request):
  638. """#修改员工(平台管理后台)
  639. @id:1
  640. @enterprise_id:1
  641. @department_id:1,公司级传0
  642. @name:"肖小肖"
  643. @username:"15982456282"
  644. @password:"123456"
  645. @phone:"15982456282"
  646. @utype:"岗位级/部门级/公司级"
  647. """
  648. try:
  649. qdata = request.json
  650. need_params = ["id","enterprise_id","department_id","name","username","password","phone","utype"]
  651. mse = ccf.check_params(*need_params,**qdata)
  652. if mse:
  653. raise ce.TipException(mse)
  654. vals = ccf.get_need_params(*need_params,**qdata)
  655. rst = ctl.update_staffuser(**vals)
  656. return cv.to_suc(rst)
  657. except Exception as e:
  658. cv.tracefail()
  659. return cv.to_fail(e)
  660. def delete(self,request):
  661. """#删除员工(平台管理后台)
  662. @id:"1",多个逗号分隔
  663. """
  664. qdata = request.json
  665. need_params = ["id"]
  666. mse = ccf.check_params(*need_params,**qdata)
  667. if mse:
  668. raise ce.TipException(mse)
  669. try:
  670. vals = ccf.get_need_params(*need_params,**qdata)
  671. rst = ctl.delete_model(self,**vals)
  672. return cv.to_suc(rst)
  673. except Exception as e:
  674. cv.tracefail()
  675. return cv.to_fail(e)
  676. class StaffUserListView(cv.AdminView):
  677. def get(self, request):
  678. """#获取员工列表(平台管理后台)
  679. @department_id:1
  680. @enterprise_id:1
  681. """
  682. try:
  683. qdata = request.json
  684. need_params = ["department_id","enterprise_id"]
  685. #mse = ccf.check_params(*need_params,**qdata)
  686. #if mse:
  687. # raise ce.TipException(mse)
  688. vals = ccf.get_need_params(*need_params,**qdata)
  689. total,rst = ctl.get_list_info(self,**vals)
  690. return cv.to_suc({"total":total,"list":rst})
  691. except Exception as e:
  692. cv.tracefail()
  693. return cv.to_fail(e)
  694. class MonitTaskView(cv.AdminView):
  695. def get(self, request):
  696. """#任务详情(平台管理后台)
  697. @id:1
  698. """
  699. qdata = request.json
  700. need_params = ["id"]
  701. mse = ccf.check_params(*need_params,**qdata)
  702. if mse:
  703. raise ce.TipException(mse)
  704. try:
  705. vals = ccf.get_need_params(*need_params,**qdata)
  706. rst = ctl.get_detail_info(self,**vals)
  707. return cv.to_suc(rst)
  708. except Exception as e:
  709. cv.tracefail()
  710. return cv.to_fail(e)
  711. def post(self,request):
  712. """#新增任务(平台管理后台)
  713. @riskpoint_id:"风险点id"
  714. @riskpoint_name:"风险点名称"
  715. @riskpoint_item:"宿舍|男生宿舍",风险点拼接
  716. @enterprise_id:"企业id"
  717. @enterprise_name:"上级名称"
  718. @name:"风险描述"
  719. @rec_stand:"辨识标准"
  720. @danger_result:"导致结果"
  721. @monit_tec:"工程技术"
  722. @monit_method:"管控措施"
  723. @monit_edu:"教育培训"
  724. @single_defense:"个体防护"
  725. @emerg_handle:"应急处理"
  726. @risk_level:"风险级别"
  727. @other_method:"其他管控措施"
  728. @department_id:"部门id"
  729. @cycle:"周期"
  730. @held_person_id:"责任人id"
  731. @held_person:"责任人"
  732. @held_person_phone:"责任人电话"
  733. """
  734. qdata = request.json
  735. need_params = ["riskpoint_id","riskpoint_name","riskpoint_item","enterprise_id",
  736. "enterprise_name","name","rec_stand","danger_result","monit_tec","monit_method",
  737. "monit_edu","single_defense","emerg_handle","risk_level","other_method",
  738. "department_id","cycle","held_person","held_person_phone"]
  739. mse = ccf.check_params(*need_params,**qdata)
  740. if mse:
  741. raise ce.TipException(mse)
  742. try:
  743. vals = ccf.get_need_params(*need_params,**qdata)
  744. rst = ctl.add_model(self,**vals)
  745. return cv.to_suc(rst)
  746. except Exception as e:
  747. cv.tracefail()
  748. return cv.to_fail(e)
  749. def put(self,request):
  750. """#新增任务(平台管理后台)
  751. @id:"id"
  752. @riskpoint_id:"风险点id"
  753. @riskpoint_name:"风险点名称"
  754. @riskpoint_item:"宿舍|男生宿舍",风险点拼接
  755. @enterprise_id:"企业id"
  756. @enterprise_name:"上级名称"
  757. @name:"风险描述"
  758. @rec_stand:"辨识标准"
  759. @danger_result:"导致结果"
  760. @monit_tec:"工程技术"
  761. @monit_method:"管控措施"
  762. @monit_edu:"教育培训"
  763. @single_defense:"个体防护"
  764. @emerg_handle:"应急处理"
  765. @risk_level:"风险级别"
  766. @other_method:"其他管控措施"
  767. @department_id:"部门id"
  768. @cycle:"周期"
  769. @held_person_id:"责任人id"
  770. @held_person:"责任人"
  771. @held_person_phone:"责任人电话"
  772. """
  773. qdata = request.json
  774. need_params = ["id","riskpoint_id","riskpoint_name","enterprise_id",
  775. "enterprise_name","name","rec_stand","danger_result","monit_tec","monit_method",
  776. "monit_edu","single_defense","emerg_handle","risk_level","other_method",
  777. "department_id","cycle","held_person","held_person_phone"]
  778. mse = ccf.check_params(*need_params,**qdata)
  779. if mse:
  780. raise ce.TipException(mse)
  781. try:
  782. #need_params = need_params.extend(["riskpoint_item","held_person_id"])
  783. vals = ccf.get_need_params(*need_params,**qdata)
  784. rst = ctl.update_model(self,**vals)
  785. return cv.to_suc(rst)
  786. except Exception as e:
  787. cv.tracefail()
  788. return cv.to_fail(e)
  789. def delete(self,request):
  790. """#删除任务(平台管理后台)
  791. @id:"1",多个逗号分隔
  792. """
  793. qdata = request.json
  794. need_params = ["id"]
  795. mse = ccf.check_params(*need_params,**qdata)
  796. if mse:
  797. raise ce.TipException(mse)
  798. try:
  799. vals = ccf.get_need_params(*need_params,**qdata)
  800. rst = ctl.delete_model(self,**vals)
  801. return cv.to_suc(rst)
  802. except Exception as e:
  803. cv.tracefail()
  804. return cv.to_fail(e)
  805. class UploadFileView(cv.BaseView):
  806. def post(self, request):
  807. """
  808. #文件上传(平台管理后台)
  809. @file:"",文件对象
  810. @type:"",前端自定义参数
  811. """
  812. try:
  813. rst = ccc.upload_file(request)
  814. return cv.to_suc(rst)
  815. except Exception as e:
  816. cv.tracefail()
  817. return cv.to_fail(e)
  818. class GetDefaultView(cv.AdminView):
  819. def get(self, request):
  820. """
  821. #获取默认枚举数据(平台管理后台)
  822. """
  823. try:
  824. rst = ctl.get_default_data(request)
  825. return cv.to_suc(rst)
  826. except Exception as e:
  827. cv.tracefail()
  828. return cv.to_fail(e)
  829. class MessagesView(cv.AdminView):
  830. def post(self, request):
  831. """#发送消息(平台管理后台)
  832. @send_type:"1/2群发/单发"
  833. @area:"区域"
  834. @category:"公司类型"
  835. @title:"消息标题"
  836. @content:"消息内容"
  837. @attach:"附件"
  838. """
  839. try:
  840. rst = ctl.send_messages(request)
  841. return cv.to_suc(rst)
  842. except Exception as e:
  843. cv.tracefail()
  844. return cv.to_fail(e)
  845. def delete(self,request):
  846. """#删除消息(平台管理后台)
  847. @id:"1",多个逗号分隔
  848. """
  849. qdata = request.json
  850. need_params = ["id"]
  851. mse = ccf.check_params(*need_params,**qdata)
  852. if mse:
  853. raise ce.TipException(mse)
  854. try:
  855. vals = ccf.get_need_params(*need_params,**qdata)
  856. rst = ctl.delete_model(self,**vals)
  857. return cv.to_suc(rst)
  858. except Exception as e:
  859. cv.tracefail()
  860. return cv.to_fail(e)
  861. class MessagesListView(cv.AdminView):
  862. def get(self, request):
  863. """#消息列表(平台管理后台)
  864. @message_type:"notice/sys/warning(通知/系统/告警)"
  865. @name:"搜索字段"
  866. """
  867. try:
  868. total,rst = ctl.get_messages_list(request)
  869. return cv.to_suc({"total":total,"list":rst})
  870. except Exception as e:
  871. cv.tracefail()
  872. return cv.to_fail(e)
  873. class MessageReceiverListView(cv.AdminView):
  874. def get(self, request):
  875. """#获取消息接收人列表(平台管理后台)
  876. """
  877. try:
  878. rst = ctl.get_message_receiver_list(request)
  879. return cv.to_suc(rst)
  880. except Exception as e:
  881. cv.tracefail()
  882. return cv.to_fail(e)
  883. class MonitTaskUploadView(cv.AdminView):
  884. def post(self, request):
  885. """
  886. #批量导入管控任务(平台管理后台)
  887. @file:"",文件对象
  888. """
  889. try:
  890. success,failed = ctl.upload_monittasks(request)
  891. return cv.to_suc({"success":success,"failed":failed})
  892. except Exception as e:
  893. cv.tracefail()
  894. return cv.to_fail(e)
  895. class DocumentionView(cv.AdminView):
  896. def get(self, request):
  897. """#用户详情
  898. @id:1
  899. """
  900. try:
  901. rst = ctl.get_detail_info(request)
  902. return cv.to_suc(rst)
  903. except Exception as e:
  904. cv.tracefail()
  905. return cv.to_fail(e)
  906. def post(self,request):
  907. """新增文件资料(平台管理后台)
  908. @name:"账号"
  909. @fileurl:"文件地址"
  910. """
  911. qdata = request.json
  912. need_params = ["name","fileurl"]
  913. mse = ccf.check_params(*need_params,**qdata)
  914. if mse:
  915. raise ce.TipException(mse)
  916. try:
  917. vals = ccf.get_need_params(*need_params,**qdata)
  918. rst = ctl.add_model(self,**vals)
  919. return cv.to_suc(rst)
  920. except Exception as e:
  921. cv.tracefail()
  922. return cv.to_fail(e)
  923. def put(self,request):
  924. """修改文件资料(平台管理后台)
  925. @id:"1"
  926. @name:"账号"
  927. @fileurl:"文件地址"
  928. """
  929. qdata = request.json
  930. need_params = ["name","fileurl"]
  931. mse = ccf.check_params(*need_params,**qdata)
  932. if mse:
  933. raise ce.TipException(mse)
  934. try:
  935. vals = ccf.get_need_params(*need_params,**qdata)
  936. rst = ctl.update_model(self,**vals)
  937. return cv.to_suc(rst)
  938. except Exception as e:
  939. cv.tracefail()
  940. return cv.to_fail(e)
  941. def delete(self,request):
  942. """删除账号(平台管理后台)
  943. @id:"1",多个逗号分隔
  944. """
  945. qdata = request.json
  946. need_params = ["id"]
  947. mse = ccf.check_params(*need_params,**qdata)
  948. if mse:
  949. raise ce.TipException(mse)
  950. try:
  951. vals = ccf.get_need_params(*need_params,**qdata)
  952. rst = ctl.delete_model(self,**vals)
  953. return cv.to_suc(rst)
  954. except Exception as e:
  955. cv.tracefail()
  956. return cv.to_fail(e)
  957. class DocumentionListView(cv.AdminView):
  958. def get(self, request):
  959. """#获取任务列表(平台管理后台)
  960. @riskpoint_id:1,风险点id
  961. """
  962. try:
  963. qdata = request.json
  964. total,rst = ctl.get_list_info(self,**qdata)
  965. return cv.to_suc({"total":total,"list":rst})
  966. except Exception as e:
  967. cv.tracefail()
  968. return cv.to_fail(e)
  969. class FriendLinkView(cv.AdminView):
  970. def get(self, request):
  971. """#用户详情
  972. @id:1
  973. """
  974. try:
  975. rst = ctl.get_detail_info(request)
  976. return cv.to_suc(rst)
  977. except Exception as e:
  978. cv.tracefail()
  979. return cv.to_fail(e)
  980. def post(self,request):
  981. """新增友情链接(平台管理后台)
  982. @name:"账号"
  983. @url:"链接地址"
  984. """
  985. qdata = request.json
  986. need_params = ["name","url"]
  987. mse = ccf.check_params(*need_params,**qdata)
  988. if mse:
  989. raise ce.TipException(mse)
  990. try:
  991. vals = ccf.get_need_params(*need_params,**qdata)
  992. rst = ctl.add_model(self,**vals)
  993. return cv.to_suc(rst)
  994. except Exception as e:
  995. cv.tracefail()
  996. return cv.to_fail(e)
  997. def put(self,request):
  998. """修改友情链接(平台管理后台)
  999. @id:"1"
  1000. @name:"账号"
  1001. @url:"链接地址"
  1002. """
  1003. qdata = request.json
  1004. need_params = ["id","name","url"]
  1005. mse = ccf.check_params(*need_params,**qdata)
  1006. if mse:
  1007. raise ce.TipException(mse)
  1008. try:
  1009. vals = ccf.get_need_params(*need_params,**qdata)
  1010. rst = ctl.update_model(self,**vals)
  1011. return cv.to_suc(rst)
  1012. except Exception as e:
  1013. cv.tracefail()
  1014. return cv.to_fail(e)
  1015. def delete(self,request):
  1016. """删除账号(平台管理后台)
  1017. @id:"1",多个逗号分隔
  1018. """
  1019. qdata = request.json
  1020. need_params = ["id"]
  1021. mse = ccf.check_params(*need_params,**qdata)
  1022. if mse:
  1023. raise ce.TipException(mse)
  1024. try:
  1025. vals = ccf.get_need_params(*need_params,**qdata)
  1026. rst = ctl.delete_model(self,**vals)
  1027. return cv.to_suc(rst)
  1028. except Exception as e:
  1029. cv.tracefail()
  1030. return cv.to_fail(e)
  1031. class FriendLinkListView(cv.AdminView):
  1032. def get(self, request):
  1033. """#获取任务列表(平台管理后台)
  1034. @riskpoint_id:1,风险点id
  1035. """
  1036. try:
  1037. qdata = request.json
  1038. total,rst = ctl.get_list_info(self,**qdata)
  1039. return cv.to_suc({"total":total,"list":rst})
  1040. except Exception as e:
  1041. cv.tracefail()
  1042. return cv.to_fail(e)
  1043. class DashboardIndexView(cv.AdminView):
  1044. def get(self, request):
  1045. """#获取概览数据(平台管理后台)
  1046. @type:"pt/zf/qy"
  1047. """
  1048. try:
  1049. qdata = request.json
  1050. need_params = ["type"]
  1051. mse = ccf.check_params(*need_params,**qdata)
  1052. if mse:
  1053. raise ce.TipException(mse)
  1054. vals = ccf.get_need_params(*need_params,**qdata)
  1055. vals["uid"] = request.user.id
  1056. vals["utype"] = request.utype
  1057. rst = ctl.get_dashboard_index(**vals)
  1058. return cv.to_suc(rst)
  1059. except Exception as e:
  1060. cv.tracefail()
  1061. return cv.to_fail(e)
  1062. class MonitJobListView(cv.AdminView):
  1063. def get(self, request):
  1064. """
  1065. #获取任务巡检记录(平台管理后台)
  1066. @riskpoint_item:"风险点",
  1067. @page:1,
  1068. @page_size:20
  1069. """
  1070. try:
  1071. rst = ctl.get_monitjob_list(request)
  1072. return cv.to_suc(rst)
  1073. except Exception as e:
  1074. cv.tracefail()
  1075. return cv.to_fail(e)
  1076. class BillView(cv.AdminView):
  1077. def get(self, request):
  1078. """#用户详情
  1079. @id:1
  1080. """
  1081. try:
  1082. rst = ctl.get_detail_info(request)
  1083. return cv.to_suc(rst)
  1084. except Exception as e:
  1085. cv.tracefail()
  1086. return cv.to_fail(e)
  1087. def post(self,request):
  1088. """新增文件资料(平台管理后台)
  1089. @name:"账号"
  1090. @fileurl:"文件地址"
  1091. """
  1092. qdata = request.json
  1093. need_params = ["name","fileurl"]
  1094. mse = ccf.check_params(*need_params,**qdata)
  1095. if mse:
  1096. raise ce.TipException(mse)
  1097. try:
  1098. vals = ccf.get_need_params(*need_params,**qdata)
  1099. rst = ctl.add_model(self,**vals)
  1100. return cv.to_suc(rst)
  1101. except Exception as e:
  1102. cv.tracefail()
  1103. return cv.to_fail(e)
  1104. def put(self,request):
  1105. """修改文件资料(平台管理后台)
  1106. @id:"1"
  1107. @name:"账号"
  1108. @fileurl:"文件地址"
  1109. """
  1110. qdata = request.json
  1111. need_params = ["name","fileurl"]
  1112. mse = ccf.check_params(*need_params,**qdata)
  1113. if mse:
  1114. raise ce.TipException(mse)
  1115. try:
  1116. vals = ccf.get_need_params(*need_params,**qdata)
  1117. rst = ctl.update_model(self,**vals)
  1118. return cv.to_suc(rst)
  1119. except Exception as e:
  1120. cv.tracefail()
  1121. return cv.to_fail(e)
  1122. def delete(self,request):
  1123. """删除账号(平台管理后台)
  1124. @id:"1",多个逗号分隔
  1125. """
  1126. qdata = request.json
  1127. need_params = ["id"]
  1128. mse = ccf.check_params(*need_params,**qdata)
  1129. if mse:
  1130. raise ce.TipException(mse)
  1131. try:
  1132. vals = ccf.get_need_params(*need_params,**qdata)
  1133. rst = ctl.delete_model(self,**vals)
  1134. return cv.to_suc(rst)
  1135. except Exception as e:
  1136. cv.tracefail()
  1137. return cv.to_fail(e)
  1138. class IndexView(cv.AdminView):
  1139. def get(self, request):
  1140. """#首页统计数据(平台管理后台)
  1141. """
  1142. try:
  1143. qdata = request.json
  1144. cats = ctl.get_cat_list()
  1145. return cv.to_suc(cats)
  1146. except Exception as e:
  1147. cv.tracefail()
  1148. return cv.to_fail(e)
  1149. class CatListView(cv.AdminView):
  1150. def get(self, request):
  1151. """#获取分类列表(平台管理后台)
  1152. """
  1153. try:
  1154. qdata = request.json
  1155. cats = ctl.get_cat_list()
  1156. return cv.to_suc(cats)
  1157. except Exception as e:
  1158. cv.tracefail()
  1159. return cv.to_fail(e)
  1160. class CategoryView(cv.AdminView):
  1161. def post(self,request):
  1162. """新增商品分类
  1163. """
  1164. qdata = request.json
  1165. need_params = ["name","parent_id"]
  1166. mse = ccf.check_params(*need_params,**qdata)
  1167. if mse:
  1168. raise ce.TipException(mse)
  1169. try:
  1170. vals = ccf.get_need_params(*need_params,**qdata)
  1171. rst = ctl.add_model(self,**vals)
  1172. return cv.to_suc(rst)
  1173. except Exception as e:
  1174. cv.tracefail()
  1175. return cv.to_fail(e)
  1176. def put(self, request):
  1177. """#分类信息(平台管理后台)
  1178. """
  1179. qdata = request.json
  1180. need_params = ["id","name","parent_id"]
  1181. mse = ccf.check_params(*need_params,**qdata)
  1182. if mse:
  1183. raise ce.TipException(mse)
  1184. try:
  1185. vals = ccf.get_need_params(*need_params,**qdata)
  1186. rst = ctl.update_model(self,**vals)
  1187. return cv.to_suc(rst)
  1188. except Exception as e:
  1189. cv.tracefail()
  1190. return cv.to_fail(e)
  1191. def delete(self,request):
  1192. """删除账号(平台管理后台)
  1193. @id:"1",多个逗号分隔
  1194. """
  1195. qdata = request.json
  1196. need_params = ["id"]
  1197. mse = ccf.check_params(*need_params,**qdata)
  1198. if mse:
  1199. raise ce.TipException(mse)
  1200. try:
  1201. vals = ccf.get_need_params(*need_params,**qdata)
  1202. rst = ctl.delete_model(self,**vals)
  1203. return cv.to_suc(rst)
  1204. except Exception as e:
  1205. cv.tracefail()
  1206. return cv.to_fail(e)
  1207. class GoodsView(cv.AdminView):
  1208. def get(self,request):
  1209. qdata = request.json
  1210. need_params = ["id"]
  1211. mse = ccf.check_params(*need_params,**qdata)
  1212. if mse:
  1213. raise ce.TipException(mse)
  1214. try:
  1215. vals = ccf.get_need_params(*need_params,**qdata)
  1216. rst = ctl.get_detail_info(self,**vals)
  1217. return cv.to_suc(rst)
  1218. except Exception as e:
  1219. cv.tracefail()
  1220. return cv.to_fail(e)
  1221. def post(self,request):
  1222. """新增商品分类
  1223. """
  1224. qdata = request.json
  1225. need_params = ["name","category_id","price","content","imgs","img"]
  1226. mse = ccf.check_params(*need_params,**qdata)
  1227. if mse:
  1228. raise ce.TipException(mse)
  1229. try:
  1230. vals = ccf.get_need_params(*need_params,**qdata)
  1231. rst = ctl.add_model(self,**vals)
  1232. return cv.to_suc(rst)
  1233. except Exception as e:
  1234. cv.tracefail()
  1235. return cv.to_fail(e)
  1236. def put(self, request):
  1237. """#分类信息(平台管理后台)
  1238. """
  1239. qdata = request.json
  1240. need_params = ["id","name","category_id","price","content","imgs","img"]
  1241. mse = ccf.check_params(*need_params,**qdata)
  1242. if mse:
  1243. raise ce.TipException(mse)
  1244. try:
  1245. vals = ccf.get_need_params(*need_params,**qdata)
  1246. rst = ctl.update_model(self,**vals)
  1247. return cv.to_suc(rst)
  1248. except Exception as e:
  1249. cv.tracefail()
  1250. return cv.to_fail(e)
  1251. def delete(self,request):
  1252. """删除账号(平台管理后台)
  1253. @id:"1",多个逗号分隔
  1254. """
  1255. qdata = request.json
  1256. need_params = ["id"]
  1257. mse = ccf.check_params(*need_params,**qdata)
  1258. if mse:
  1259. raise ce.TipException(mse)
  1260. try:
  1261. vals = ccf.get_need_params(*need_params,**qdata)
  1262. rst = ctl.delete_goods(request)
  1263. return cv.to_suc(rst)
  1264. except Exception as e:
  1265. cv.tracefail()
  1266. return cv.to_fail(e)
  1267. class GoodsListView(cv.AdminView):
  1268. def get(self, request):
  1269. """#获取分类列表(平台管理后台)
  1270. """
  1271. try:
  1272. qdata = request.json
  1273. total,rst = ctl.get_list_info(self,**qdata)
  1274. return cv.to_suc({"total":total,"list":rst})
  1275. except Exception as e:
  1276. cv.tracefail()
  1277. return cv.to_fail(e)
  1278. class OrdersListView(cv.AdminView):
  1279. def get(self, request):
  1280. """#获取分类列表(平台管理后台)
  1281. """
  1282. try:
  1283. qdata = request.json
  1284. total,rst = ctl.get_list_info(self,**qdata)
  1285. return cv.to_suc({"total":total,"list":rst})
  1286. except Exception as e:
  1287. cv.tracefail()
  1288. return cv.to_fail(e)
  1289. class OrdersView(cv.AdminView):
  1290. def put(self, request):
  1291. """#分类信息(平台管理后台)
  1292. """
  1293. qdata = request.json
  1294. need_params = ["id","name"]
  1295. mse = ccf.check_params(*need_params,**qdata)
  1296. if mse:
  1297. raise ce.TipException(mse)
  1298. try:
  1299. vals = ccf.get_need_params(*need_params,**qdata)
  1300. rst = ctl.update_model(self,**vals)
  1301. return cv.to_suc(rst)
  1302. except Exception as e:
  1303. cv.tracefail()
  1304. return cv.to_fail(e)
  1305. def delete(self,request):
  1306. """删除账号(平台管理后台)
  1307. @id:"1",多个逗号分隔
  1308. """
  1309. qdata = request.json
  1310. need_params = ["id"]
  1311. mse = ccf.check_params(*need_params,**qdata)
  1312. if mse:
  1313. raise ce.TipException(mse)
  1314. try:
  1315. vals = ccf.get_need_params(*need_params,**qdata)
  1316. rst = ctl.delete_model(self,**vals)
  1317. return cv.to_suc(rst)
  1318. except Exception as e:
  1319. cv.tracefail()
  1320. return cv.to_fail(e)
  1321. class OrdersModifyView(cv.AdminView):
  1322. def put(self, request):
  1323. """#分类信息(平台管理后台)
  1324. """
  1325. qdata = request.json
  1326. need_params = ["id"]
  1327. mse = ccf.check_params(*need_params,**qdata)
  1328. if mse:
  1329. raise ce.TipException(mse)
  1330. try:
  1331. rst = ctl.modify_orders(request)
  1332. return cv.to_suc(rst)
  1333. except Exception as e:
  1334. cv.tracefail()
  1335. return cv.to_fail(e)
  1336. class TemplateView(cv.AdminView):
  1337. def get(self, request):
  1338. """#模板详情(平台管理后台)
  1339. @id:1
  1340. """
  1341. qdata = request.json
  1342. try:
  1343. need_params = ["id"]
  1344. mse = ccf.check_params(*need_params,**qdata)
  1345. if mse:
  1346. raise ce.TipException(mse)
  1347. vals = ccf.get_need_params(*need_params,**qdata)
  1348. rst = ctl.get_detail_info(self,**vals)
  1349. rst["widget"] = json.loads(rst["widget"]) if rst else []
  1350. return cv.to_suc(rst)
  1351. except Exception as e:
  1352. cv.tracefail()
  1353. return cv.to_fail(e)
  1354. def post(self,request):
  1355. """#模板账号(平台管理后台)
  1356. @name:"模板名称"
  1357. @widget:"模板字段/组件"
  1358. """
  1359. qdata = request.json
  1360. need_params = ["name","widget"]
  1361. mse = ccf.check_params(*need_params,**qdata)
  1362. if mse:
  1363. raise ce.TipException(mse)
  1364. try:
  1365. vals = ccf.get_need_params(*need_params,**qdata)
  1366. vals["cid"] = request.user.id
  1367. vals["cname"] = request.user.name
  1368. rst = ctl.add_model(self,**vals)
  1369. return cv.to_suc(rst)
  1370. except Exception as e:
  1371. cv.tracefail()
  1372. return cv.to_fail(e)
  1373. def put(self,request):
  1374. """#修改模板(平台管理后台)
  1375. @id:"1"
  1376. @name:"模板名称"
  1377. @widget:"模板字段/组件"
  1378. """
  1379. qdata = request.json
  1380. need_params = ["id","name","widget"]
  1381. mse = ccf.check_params(*need_params,**qdata)
  1382. if mse:
  1383. raise ce.TipException(mse)
  1384. try:
  1385. vals = ccf.get_need_params(*need_params,**qdata)
  1386. rst = ctl.update_model(self,**vals)
  1387. return cv.to_suc(rst)
  1388. except Exception as e:
  1389. cv.tracefail()
  1390. return cv.to_fail(e)
  1391. def delete(self,request):
  1392. """#删除账号(平台管理后台)
  1393. @id:"1",多个逗号分隔
  1394. """
  1395. qdata = request.json
  1396. need_params = ["id"]
  1397. mse = ccf.check_params(*need_params,**qdata)
  1398. if mse:
  1399. raise ce.TipException(mse)
  1400. try:
  1401. vals = ccf.get_need_params(*need_params,**qdata)
  1402. rst = ctl.delete_model(self,**vals)
  1403. return cv.to_suc(rst)
  1404. except Exception as e:
  1405. cv.tracefail()
  1406. return cv.to_fail(e)
  1407. class TemplateStatusView(cv.AdminView):
  1408. def put(self,request):
  1409. """#修改模板(平台管理后台)
  1410. @id:"1"
  1411. @name:"模板名称"
  1412. @widget:"模板字段/组件"
  1413. """
  1414. qdata = request.json
  1415. need_params = ["id"]
  1416. mse = ccf.check_params(*need_params,**qdata)
  1417. if mse:
  1418. raise ce.TipException(mse)
  1419. try:
  1420. vals = ccf.get_need_params(*need_params,**qdata)
  1421. rst = ctl.update_status(self,**vals)
  1422. return cv.to_suc(rst)
  1423. except Exception as e:
  1424. cv.tracefail()
  1425. return cv.to_fail(e)
  1426. class MessageStatusView(cv.AdminView):
  1427. def put(self,request):
  1428. """#修改模板(平台管理后台)
  1429. @id:"1"
  1430. @name:"模板名称"
  1431. @widget:"模板字段/组件"
  1432. """
  1433. qdata = request.json
  1434. need_params = ["id"]
  1435. mse = ccf.check_params(*need_params,**qdata)
  1436. if mse:
  1437. raise ce.TipException(mse)
  1438. try:
  1439. vals = ccf.get_need_params(*need_params,**qdata)
  1440. rst = ctl.update_status(self,**vals)
  1441. return cv.to_suc(rst)
  1442. except Exception as e:
  1443. cv.tracefail()
  1444. return cv.to_fail(e)
  1445. class TemplateListView(cv.AdminView):
  1446. def get(self, request):
  1447. """#获取模板列表(管理后台)
  1448. @name:账号或管理员姓名
  1449. @page:1
  1450. @page_size:20
  1451. """
  1452. try:
  1453. qdata = request.json
  1454. total,rst = ctl.get_list_info(self,**qdata)
  1455. return cv.to_suc({"total":total,"list":rst})
  1456. except Exception as e:
  1457. cv.tracefail()
  1458. return cv.to_fail(e)
  1459. class TemplateAllListView(cv.AdminView):
  1460. def get(self, request):
  1461. """#获取所有模板(管理后台)
  1462. """
  1463. try:
  1464. qdata = request.json
  1465. rst = ctl.get_all_template_list(request)
  1466. return cv.to_suc(rst)
  1467. except Exception as e:
  1468. cv.tracefail()
  1469. return cv.to_fail(e)
  1470. class RoleView(cv.AdminView):
  1471. def get(self, request):
  1472. """#角色详情(平台管理后台)
  1473. @id:1
  1474. """
  1475. qdata = request.json
  1476. try:
  1477. need_params = ["id"]
  1478. mse = ccf.check_params(*need_params,**qdata)
  1479. if mse:
  1480. raise ce.TipException(mse)
  1481. vals = ccf.get_need_params(*need_params,**qdata)
  1482. rst = ctl.get_detail_info(self,**vals)
  1483. return cv.to_suc(rst)
  1484. except Exception as e:
  1485. cv.tracefail()
  1486. return cv.to_fail(e)
  1487. def post(self,request):
  1488. """#新增角色(平台管理后台)
  1489. @name:"模板名称"
  1490. @permissions:"权限"
  1491. """
  1492. qdata = request.json
  1493. need_params = ["name","permissions"]
  1494. mse = ccf.check_params(*need_params,**qdata)
  1495. if mse:
  1496. raise ce.TipException(mse)
  1497. try:
  1498. vals = ccf.get_need_params(*need_params,**qdata)
  1499. vals["cid"] = request.user.id
  1500. rst = ctl.add_model(self,**vals)
  1501. return cv.to_suc(rst)
  1502. except Exception as e:
  1503. cv.tracefail()
  1504. return cv.to_fail(e)
  1505. def put(self,request):
  1506. """#修改模板(平台管理后台)
  1507. @id:"1"
  1508. @name:"模板名称"
  1509. @widget:"模板字段/组件"
  1510. """
  1511. qdata = request.json
  1512. need_params = ["id","name","permissions"]
  1513. mse = ccf.check_params(*need_params,**qdata)
  1514. if mse:
  1515. raise ce.TipException(mse)
  1516. try:
  1517. vals = ccf.get_need_params(*need_params,**qdata)
  1518. rst = ctl.update_model(self,**vals)
  1519. return cv.to_suc(rst)
  1520. except Exception as e:
  1521. cv.tracefail()
  1522. return cv.to_fail(e)
  1523. def delete(self,request):
  1524. """#删除账号(平台管理后台)
  1525. @id:"1",多个逗号分隔
  1526. """
  1527. qdata = request.json
  1528. need_params = ["id"]
  1529. mse = ccf.check_params(*need_params,**qdata)
  1530. if mse:
  1531. raise ce.TipException(mse)
  1532. try:
  1533. vals = ccf.get_need_params(*need_params,**qdata)
  1534. rst = ctl.delete_model(self,**vals)
  1535. return cv.to_suc(rst)
  1536. except Exception as e:
  1537. cv.tracefail()
  1538. return cv.to_fail(e)
  1539. class RoleListView(cv.AdminView):
  1540. def get(self, request):
  1541. """#获取角色列表(管理后台)
  1542. @name:账号或管理员姓名
  1543. @page:1
  1544. @page_size:20
  1545. """
  1546. try:
  1547. qdata = request.json
  1548. total,rst = ctl.get_list_info(self,**qdata)
  1549. return cv.to_suc({"total":total,"list":rst})
  1550. except Exception as e:
  1551. cv.tracefail()
  1552. return cv.to_fail(e)
  1553. class MessageOutView(cv.BaseView):
  1554. def get(self, request):
  1555. """#消息详情(平台管理后台)
  1556. @id:1
  1557. """
  1558. qdata = request.json
  1559. try:
  1560. need_params = ["id"]
  1561. mse = ccf.check_params(*need_params,**qdata)
  1562. if mse:
  1563. raise ce.TipException(mse)
  1564. vals = ccf.get_need_params(*need_params,**qdata)
  1565. rst = ctl.get_message_out_info(**vals)
  1566. return cv.to_suc(rst)
  1567. except Exception as e:
  1568. cv.tracefail()
  1569. return cv.to_fail(e)
  1570. class MessageView(cv.AdminView):
  1571. def get(self, request):
  1572. """#消息详情(平台管理后台)
  1573. @id:1
  1574. """
  1575. qdata = request.json
  1576. try:
  1577. need_params = ["id"]
  1578. mse = ccf.check_params(*need_params,**qdata)
  1579. if mse:
  1580. raise ce.TipException(mse)
  1581. vals = ccf.get_need_params(*need_params,**qdata)
  1582. vals["cid"] = request.user.id
  1583. rst = ctl.get_detail_info(self,**vals)
  1584. return cv.to_suc(rst)
  1585. except Exception as e:
  1586. cv.tracefail()
  1587. return cv.to_fail(e)
  1588. def post(self,request):
  1589. """#新增消息(平台管理后台)
  1590. @name:"名称"
  1591. @receiver_id:"接收人"
  1592. @template_id:"模板id"
  1593. """
  1594. qdata = request.json
  1595. need_params = ["name"]
  1596. mse = ccf.check_params(*need_params,**qdata)
  1597. if mse:
  1598. raise ce.TipException(mse)
  1599. try:
  1600. need_params.extend(["receiver_id","fileurl","filename","template_id"])
  1601. vals = ccf.get_need_params(*need_params,**qdata)
  1602. if vals.get("receiver_id"):
  1603. vals["type"] = 0
  1604. else:
  1605. vals["type"] = 1
  1606. vals["cid"] = request.user.id
  1607. vals["cname"] = request.user.name
  1608. rst = ctl.add_model(self,**vals)
  1609. return cv.to_suc(rst)
  1610. except Exception as e:
  1611. cv.tracefail()
  1612. return cv.to_fail(e)
  1613. def put(self,request):
  1614. """#修改消息(平台管理后台)
  1615. @id:"1"
  1616. @name:"名称"
  1617. @receiver_id:"接收人"
  1618. @template_id:"模板id"
  1619. """
  1620. qdata = request.json
  1621. need_params = ["id","name","receiver_id","template_id"]
  1622. mse = ccf.check_params(*need_params,**qdata)
  1623. if mse:
  1624. raise ce.TipException(mse)
  1625. try:
  1626. need_params.extend(["fileurl","filename"])
  1627. vals = ccf.get_need_params(*need_params,**qdata)
  1628. rst = ctl.update_model(self,**vals)
  1629. return cv.to_suc(rst)
  1630. except Exception as e:
  1631. cv.tracefail()
  1632. return cv.to_fail(e)
  1633. def delete(self,request):
  1634. """#删除账号(平台管理后台)
  1635. @id:"1",多个逗号分隔
  1636. """
  1637. qdata = request.json
  1638. need_params = ["id"]
  1639. mse = ccf.check_params(*need_params,**qdata)
  1640. if mse:
  1641. raise ce.TipException(mse)
  1642. try:
  1643. vals = ccf.get_need_params(*need_params,**qdata)
  1644. rst = ctl.delete_model(self,**vals)
  1645. return cv.to_suc(rst)
  1646. except Exception as e:
  1647. cv.tracefail()
  1648. return cv.to_fail(e)
  1649. class MessageListView(cv.AdminView):
  1650. def get(self, request):
  1651. """#获取消息列表(管理后台)
  1652. @name:账号或管理员姓名
  1653. @page:1
  1654. @page_size:20
  1655. """
  1656. try:
  1657. qdata = request.json
  1658. qdata["cid"] = request.user.id
  1659. total,rst = ctl.get_list_info(self,**qdata)
  1660. return cv.to_suc({"total":total,"list":rst})
  1661. except Exception as e:
  1662. cv.tracefail()
  1663. return cv.to_fail(e)
  1664. class CityListView(cv.AdminView):
  1665. def get(self, request):
  1666. """#获取城市数据列表(管理后台)
  1667. """
  1668. try:
  1669. qdata = request.json
  1670. rst = ctl.get_citys_data()
  1671. return cv.to_suc(rst)
  1672. except Exception as e:
  1673. cv.tracefail()
  1674. return cv.to_fail(e)
  1675. class OrganizerAllListView(cv.AdminView):
  1676. def get(self, request):
  1677. """#获取所有主办单位(管理后台)
  1678. """
  1679. try:
  1680. qdata = request.json
  1681. rst = ctl.get_all_organizers(self,**qdata)
  1682. return cv.to_suc(rst)
  1683. except Exception as e:
  1684. cv.tracefail()
  1685. return cv.to_fail(e)
  1686. class ConferenceView(cv.AdminView):
  1687. def get(self, request):
  1688. """#会议详情(平台管理后台)
  1689. @id:1
  1690. """
  1691. qdata = request.json
  1692. try:
  1693. need_params = ["id"]
  1694. mse = ccf.check_params(*need_params,**qdata)
  1695. if mse:
  1696. raise ce.TipException(mse)
  1697. vals = ccf.get_need_params(*need_params,**qdata)
  1698. rst = ctl.get_detail_info(self,**vals)
  1699. return cv.to_suc(rst)
  1700. except Exception as e:
  1701. cv.tracefail()
  1702. return cv.to_fail(e)
  1703. def post(self,request):
  1704. """#新增会议(平台管理后台)
  1705. @name:"模板名称"
  1706. @img:"图片"
  1707. @organizer_id:"主办单位"
  1708. @city:"城市"
  1709. @address:"地址"
  1710. @desc:"会议简介"
  1711. """
  1712. qdata = request.json
  1713. need_params = ["name","img","organizer_id","city","address","desc","is_signup",
  1714. "signup_fields","signup_number","is_popular","is_recommend","speaker"]
  1715. mse = ccf.check_params(*need_params,**qdata)
  1716. if mse:
  1717. raise ce.TipException(mse)
  1718. try:
  1719. vals = ccf.get_need_params(*need_params,**qdata)
  1720. vals["cid"] = request.user.id
  1721. rst = ctl.add_conference(**vals)
  1722. return cv.to_suc(rst)
  1723. except Exception as e:
  1724. cv.tracefail()
  1725. return cv.to_fail(e)
  1726. def put(self,request):
  1727. """#修改会议(平台管理后台)
  1728. @id:"1"
  1729. @name:"模板名称"
  1730. @widget:"模板字段/组件"
  1731. """
  1732. qdata = request.json
  1733. need_params = ["id","name","img","organizer_id","city","address"]
  1734. mse = ccf.check_params(*need_params,**qdata)
  1735. if mse:
  1736. raise ce.TipException(mse)
  1737. try:
  1738. vals = ccf.get_need_params(*need_params,**qdata)
  1739. rst = ctl.update_model(self,**vals)
  1740. return cv.to_suc(rst)
  1741. except Exception as e:
  1742. cv.tracefail()
  1743. return cv.to_fail(e)
  1744. def delete(self,request):
  1745. """#删除会议(平台管理后台)
  1746. @id:"1",多个逗号分隔
  1747. """
  1748. qdata = request.json
  1749. need_params = ["id"]
  1750. mse = ccf.check_params(*need_params,**qdata)
  1751. if mse:
  1752. raise ce.TipException(mse)
  1753. try:
  1754. vals = ccf.get_need_params(*need_params,**qdata)
  1755. rst = ctl.delete_model(self,**vals)
  1756. return cv.to_suc(rst)
  1757. except Exception as e:
  1758. cv.tracefail()
  1759. return cv.to_fail(e)
  1760. class ConferenceListView(cv.AdminView):
  1761. def get(self, request):
  1762. """#获取会议数据列表(管理后台)
  1763. """
  1764. try:
  1765. qdata = request.json
  1766. total,rst = ctl.get_list_info(self,**qdata)
  1767. return cv.to_suc({"total":total,"list":rst})
  1768. except Exception as e:
  1769. cv.tracefail()
  1770. return cv.to_fail(e)
  1771. class MessageSurveyResultOutView(cv.BaseView):
  1772. def post(self,request):
  1773. """#新增消息(平台管理后台)
  1774. @message_id:"接收人"
  1775. @result:"模板id"
  1776. """
  1777. qdata = request.json
  1778. need_params = ["message_id","result"]
  1779. mse = ccf.check_params(*need_params,**qdata)
  1780. if mse:
  1781. raise ce.TipException(mse)
  1782. try:
  1783. vals = ccf.get_need_params(*need_params,**qdata)
  1784. try:
  1785. vals["cid"] = request.user.id if request.user else 0
  1786. vals["cname"] = request.user.name if request.user else ""
  1787. except:
  1788. vals["cid"] = 0
  1789. vals["cname"] = ""
  1790. rst = ctl.save_survey_result_out(**vals)
  1791. return cv.to_suc(rst)
  1792. except Exception as e:
  1793. cv.tracefail()
  1794. return cv.to_fail(e)
  1795. class MessageSurveyResultView(cv.AdminView):
  1796. def get(self, request):
  1797. """#新增调查结果(平台管理后台)
  1798. @id:1
  1799. """
  1800. qdata = request.json
  1801. try:
  1802. need_params = ["id"]
  1803. mse = ccf.check_params(*need_params,**qdata)
  1804. if mse:
  1805. raise ce.TipException(mse)
  1806. vals = ccf.get_need_params(*need_params,**qdata)
  1807. rst = ctl.get_detail_info(self,**vals)
  1808. return cv.to_suc(rst)
  1809. except Exception as e:
  1810. cv.tracefail()
  1811. return cv.to_fail(e)
  1812. def post(self,request):
  1813. """#新增消息(平台管理后台)
  1814. @message_id:"接收人"
  1815. @result:"模板id"
  1816. """
  1817. qdata = request.json
  1818. need_params = ["message_id","result"]
  1819. mse = ccf.check_params(*need_params,**qdata)
  1820. if mse:
  1821. raise ce.TipException(mse)
  1822. try:
  1823. vals = ccf.get_need_params(*need_params,**qdata)
  1824. try:
  1825. vals["cid"] = request.user.id if request.user else 0
  1826. vals["cname"] = request.user.name if request.user else ""
  1827. except:
  1828. vals["cid"] = 0
  1829. vals["cname"] = ""
  1830. rst = ctl.save_survey_result(**vals)
  1831. return cv.to_suc(rst)
  1832. except Exception as e:
  1833. cv.tracefail()
  1834. return cv.to_fail(e)
  1835. def put(self,request):
  1836. """#修改消息(平台管理后台)
  1837. @id:"1"
  1838. @name:"名称"
  1839. @receiver_id:"接收人"
  1840. @template_id:"模板id"
  1841. """
  1842. qdata = request.json
  1843. need_params = ["message_id","result"]
  1844. mse = ccf.check_params(*need_params,**qdata)
  1845. if mse:
  1846. raise ce.TipException(mse)
  1847. try:
  1848. vals = ccf.get_need_params(*need_params,**qdata)
  1849. rst = ctl.update_model(self,**vals)
  1850. return cv.to_suc(rst)
  1851. except Exception as e:
  1852. cv.tracefail()
  1853. return cv.to_fail(e)
  1854. def delete(self,request):
  1855. """#删除账号(平台管理后台)
  1856. @id:"1",多个逗号分隔
  1857. """
  1858. qdata = request.json
  1859. need_params = ["id"]
  1860. mse = ccf.check_params(*need_params,**qdata)
  1861. if mse:
  1862. raise ce.TipException(mse)
  1863. try:
  1864. vals = ccf.get_need_params(*need_params,**qdata)
  1865. rst = ctl.delete_model(self,**vals)
  1866. return cv.to_suc(rst)
  1867. except Exception as e:
  1868. cv.tracefail()
  1869. return cv.to_fail(e)
  1870. class MessageSurveyAnalyseView(cv.AdminView):
  1871. def get(self, request):
  1872. """#获取问卷分析结果(平台管理后台)
  1873. @id:1
  1874. """
  1875. qdata = request.json
  1876. try:
  1877. need_params = ["message_id","type"]
  1878. mse = ccf.check_params(*need_params,**qdata)
  1879. if mse:
  1880. raise ce.TipException(mse)
  1881. need_params.append("name")
  1882. vals = ccf.get_need_params(*need_params,**qdata)
  1883. total,rst = ctl.get_survey_analyse_list(**vals)
  1884. return cv.to_suc({"total":total,"list":rst})
  1885. except Exception as e:
  1886. cv.tracefail()
  1887. return cv.to_fail(e)
  1888. class MessageSurveyAnalyseOutView(cv.AdminView):
  1889. def get(self, request):
  1890. """#获取问卷分析结果(平台管理后台)
  1891. @id:1
  1892. """
  1893. qdata = request.json
  1894. try:
  1895. need_params = ["message_id","type"]
  1896. mse = ccf.check_params(*need_params,**qdata)
  1897. if mse:
  1898. raise ce.TipException(mse)
  1899. need_params.append("name")
  1900. vals = ccf.get_need_params(*need_params,**qdata)
  1901. total,rst,headers = ctl.get_survey_analyse_list_out(**vals)
  1902. return cv.to_suc({"total":total,"list":rst,"headers":headers})
  1903. except Exception as e:
  1904. cv.tracefail()
  1905. return cv.to_fail(e)
  1906. class MessageSurveyQuestionAnalyseView(cv.AdminView):
  1907. def get(self, request):
  1908. """#获取问卷分析结果(平台管理后台)
  1909. @id:1
  1910. """
  1911. qdata = request.json
  1912. try:
  1913. need_params = ["id","type"]
  1914. mse = ccf.check_params(*need_params,**qdata)
  1915. if mse:
  1916. raise ce.TipException(mse)
  1917. vals = ccf.get_need_params(*need_params,**qdata)
  1918. rst = ctl.get_survey_question_analyse_list(**vals)
  1919. return cv.to_suc(rst)
  1920. except Exception as e:
  1921. cv.tracefail()
  1922. return cv.to_fail(e)
  1923. class MessageSurveyResultDownloadView(cv.AdminView):
  1924. def get(self,request):
  1925. """#新增消息(平台管理后台)
  1926. @message_id:"接收人"
  1927. @result:"模板id"
  1928. """
  1929. try:
  1930. import urllib
  1931. xlsdata = ctl.download_survey_result(request)
  1932. filename = u"统计结果.xls"
  1933. return cv.stream_file(xlsdata,"application/vnd.ms-excel",filename)
  1934. except Exception as e:
  1935. cv.tracefail()
  1936. return cv.to_fail(e)
  1937. class MessageSurveyResultDownloadOutView(cv.AdminView):
  1938. def get(self,request):
  1939. """#新增消息(平台管理后台)
  1940. @message_id:"接收人"
  1941. @result:"模板id"
  1942. """
  1943. try:
  1944. import urllib
  1945. xlsdata = ctl.download_survey_result_out(request)
  1946. filename = u"统计结果.xls"
  1947. return cv.stream_file(xlsdata,"application/vnd.ms-excel",filename)
  1948. except Exception as e:
  1949. cv.tracefail()
  1950. return cv.to_fail(e)
  1951. class MessageSurveyResultDownloadAllView(cv.AdminView):
  1952. def get(self,request):
  1953. """#导出所有(平台管理后台)
  1954. @message_id:"message_id"
  1955. @type:"文件类型"
  1956. """
  1957. try:
  1958. import urllib
  1959. xlsdata = ctl.download_survey_result_all(request)
  1960. filename = u"统计结果.xls"
  1961. return cv.stream_file(xlsdata,"application/vnd.ms-excel",filename)
  1962. except Exception as e:
  1963. cv.tracefail()
  1964. return cv.to_fail(e)
  1965. class MessageSurveyResultDownloadItemView(cv.AdminView):
  1966. def post(self,request):
  1967. """#按题导出所有(平台管理后台)
  1968. @message_id:"message_id"
  1969. @type:"文件类型"
  1970. """
  1971. try:
  1972. import urllib
  1973. xlsdata = ctl.download_survey_result_item(request)
  1974. filename = u"统计结果.xls"
  1975. return cv.stream_file(xlsdata,"application/vnd.ms-excel",filename)
  1976. except Exception as e:
  1977. cv.tracefail()
  1978. return cv.to_fail(e)
  1979. class MessageNoticeAnalyseDownloadView(cv.AdminView):
  1980. def get(self,request):
  1981. """#下载消息查阅分析(平台管理后台)
  1982. @id:"id"
  1983. @result:"模板id"
  1984. """
  1985. try:
  1986. import urllib
  1987. xlsdata = ctl.download_notice_analyse(request)
  1988. filename = u"统计结果.xls"
  1989. return cv.stream_file(xlsdata,"application/vnd.ms-excel",filename)
  1990. except Exception as e:
  1991. cv.tracefail()
  1992. return cv.to_fail(e)
  1993. class NoticeView(cv.AdminView):
  1994. def get(self, request):
  1995. """#模板详情(平台管理后台)
  1996. @id:1
  1997. """
  1998. qdata = request.json
  1999. try:
  2000. need_params = ["id"]
  2001. mse = ccf.check_params(*need_params,**qdata)
  2002. if mse:
  2003. raise ce.TipException(mse)
  2004. vals = ccf.get_need_params(*need_params,**qdata)
  2005. vals["cid"] = request.user.id
  2006. rst = ctl.get_detail_info(self,**vals)
  2007. #rst["widget"] = json.loads(rst["widget"]) if rst else []
  2008. return cv.to_suc(rst)
  2009. except Exception as e:
  2010. cv.tracefail()
  2011. return cv.to_fail(e)
  2012. def post(self,request):
  2013. """#模板账号(平台管理后台)
  2014. @name:"模板名称"
  2015. @widget:"模板字段/组件"
  2016. """
  2017. qdata = request.json
  2018. need_params = ["name","receiver_id","content"]
  2019. mse = ccf.check_params(*need_params,**qdata)
  2020. if mse:
  2021. raise ce.TipException(mse)
  2022. try:
  2023. need_params.extend(["fileurl","filename"])
  2024. vals = ccf.get_need_params(*need_params,**qdata)
  2025. vals["cid"] = request.user.id
  2026. vals["cname"] = request.user.name
  2027. rst = ctl.add_model(self,**vals)
  2028. return cv.to_suc(rst)
  2029. except Exception as e:
  2030. cv.tracefail()
  2031. return cv.to_fail(e)
  2032. def put(self,request):
  2033. """#修改模板(平台管理后台)
  2034. @id:"1"
  2035. @name:"模板名称"
  2036. @widget:"模板字段/组件"
  2037. """
  2038. qdata = request.json
  2039. need_params = ["id","name","receiver_id","content"]
  2040. mse = ccf.check_params(*need_params,**qdata)
  2041. if mse:
  2042. raise ce.TipException(mse)
  2043. try:
  2044. need_params.extend(["fileurl","filename"])
  2045. vals = ccf.get_need_params(*need_params,**qdata)
  2046. rst = ctl.update_model(self,**vals)
  2047. return cv.to_suc(rst)
  2048. except Exception as e:
  2049. cv.tracefail()
  2050. return cv.to_fail(e)
  2051. def delete(self,request):
  2052. """#删除账号(平台管理后台)
  2053. @id:"1",多个逗号分隔
  2054. """
  2055. qdata = request.json
  2056. need_params = ["id"]
  2057. mse = ccf.check_params(*need_params,**qdata)
  2058. if mse:
  2059. raise ce.TipException(mse)
  2060. try:
  2061. vals = ccf.get_need_params(*need_params,**qdata)
  2062. rst = ctl.delete_model(self,**vals)
  2063. return cv.to_suc(rst)
  2064. except Exception as e:
  2065. cv.tracefail()
  2066. return cv.to_fail(e)
  2067. class NoticeListView(cv.AdminView):
  2068. def get(self, request):
  2069. """#内部消息列表(管理后台)
  2070. @name:账号或管理员姓名
  2071. @page:1
  2072. @page_size:20
  2073. """
  2074. try:
  2075. qdata = request.json
  2076. qdata["cid"] = request.user.id
  2077. total,rst = ctl.get_list_info(self,**qdata)
  2078. return cv.to_suc({"total":total,"list":rst})
  2079. except Exception as e:
  2080. cv.tracefail()
  2081. return cv.to_fail(e)
  2082. class MessageNoticeAnalyseView(cv.BaseView):
  2083. def get(self, request):
  2084. """#内部消息阅读统计(平台管理后台)
  2085. @id:1
  2086. """
  2087. qdata = request.json
  2088. try:
  2089. need_params = ["id"]
  2090. mse = ccf.check_params(*need_params,**qdata)
  2091. if mse:
  2092. raise ce.TipException(mse)
  2093. need_params.append("type")
  2094. need_params.append("name")
  2095. vals = ccf.get_need_params(*need_params,**qdata)
  2096. total,rst = ctl.get_notice_analyse(**vals)
  2097. return cv.to_suc({"total":total,"list":rst})
  2098. except Exception as e:
  2099. cv.tracefail()
  2100. return cv.to_fail(e)