| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761 |
- import copy
- # Create your views here.
- import datetime
- import json
- import os
- import re
- import time
- import urllib.request
- import requests
- from django.http import FileResponse
- from django.http.response import HttpResponse
- from django.shortcuts import render
- from django.views.generic import ListView
- from django.views.generic.base import View
- from django.contrib.auth.hashers import make_password, check_password
- from PIL import Image
- from django.utils import timezone
- import xmltodict
- from requests.auth import HTTPBasicAuth
- from django.contrib.auth import get_user_model
- from apps.AppInfo.models import (
- Article, CKArticle, Equip, Equip_type, FarmList, FarmUser, GardenManage,
- Hotel_Info, Hotel_Photo, JKdata, MyUser, Pick_Pub, Product, QXZdata,
- QXZdata_New, QXZstatus, QXZstatus_New, QXZswitchdata, QXZswitchstatus,
- Video_data,GardenArea,Store_Manage,Areacrop,Sell_Manage,Person_Pick,QXZAutoswitch,Sightsee_Info,Pic_Info,
- QXZ_Alarm_Log,Experts)
- from apps.Equipment.all_dict import qxz_dict
- # 地图
- class Map_Test(View):
- def get(self,request):
- # current_user = request.session.get('username')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username=current_user)
- try:
- pic_list = Pic_Info.objects.get(pic_user=current_user)
- except:
- pic_list = ""
- return render(request, 'backstageNet/map/map.html', context={"pic_list":pic_list})
- def post(self,request):
- pass
- # 测试接口
- class Equip_Test(View):
- def get(self,request):
- pass
- def post(self,request):
- qxz_data = QXZstatus.objects.get(equip_id="16054381")
- json_obj = qxz_data.qxz_status.replace("'", "\"")
- xml = xmltodict.unparse({'request':json_obj})
- return HttpResponse(xml)
- # 监控界面
- class JKview(ListView):
- def get(self,request):
- equip_id = request.GET.get('equip_id')
- return render(request, 'backstageNet/jk/equipmanage_jk.html', context={"equip_id":equip_id})
- def post(self,request):
- pass
- # 监控列表
- class JKlist(ListView):
- def get(self,request):
- # current_user = request.user.username
- # print("current_user:", current_user)
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- page = request.GET.get('page')
- page = int(page)
- f_id = request.GET.get('f_id')
- print("f_id:", f_id)
- if current_user.is_superuser != True and current_user.is_staff != True:
- # 用户
- if f_id != "":
- equip_list = Equip.objects.filter(equip_type=6, equip_user=current_user, equip_id__contains=f_id)
- else:
- equip_list = Equip.objects.filter(equip_type=6, equip_user=current_user)
- else:
- # 管理员
- if f_id != "":
- equip_list = Equip.objects.filter(equip_type=6, equip_id__contains=f_id)
- else:
- equip_list = Equip.objects.filter(equip_type=6)
- e_ids = []
- for x in equip_list:
- n_d = {"equip_name":x.equip_name, "equip_id":x.equip_id}
- e_ids.append(n_d)
- nums = len(e_ids)
- # print(nums)
- ids = e_ids[(10*(page-1)):(page*10)]
- data = {'ids': ids, 'nums': nums}
- data = json.dumps(data)
- return HttpResponse(data)
- def post(self,request):
- pass
- # 视频详情
- class JKManage_View(ListView):
- def get(self, request):
- live_list = []
- j_id = request.GET.get("id")
- jk_list = JKdata.objects.filter(equip_id=j_id)
- for x in jk_list:
- # 用token和设备id获取直播地址
- live_url = 'https://open.ys7.com/api/lapp/live/address/get'
- live_data = {"accessToken":x.jk_token,
- "source":"%s:1"%x.equip_id}
- print("=================live_data:",live_data)
- live_res = requests.post(live_url,data=live_data)
- # print("-------------------------------:",type(live_res.text))
- live_res = eval(live_res.text)
- print("live_res:",live_res)
- # 如果返回200 则返回直播地址
- if live_res['code'] == "200":
- print("token获取成功")
- live_list.append(live_res)
- # 如果返回其他 则调用获取token之后重新获取直播地址并返回
- else:
- print("token过期重新获取")
- token_url = 'https://open.ys7.com/api/lapp/token/get'
- token_data = {"appKey":"e8ec0d52b4b14628a3daf4b88cbcca2a",
- "appSecret":"d4565abea1cd0b90b59917111dcb37bd"}
- token_res = requests.post(token_url,data=token_data)
- print("token_res1:",token_res.text)
- token_res = eval(token_res.text)
- if token_res["code"] == "200":
- token_res["data"]["accessToken"]
- x.jk_token = token_res["data"]["accessToken"]
- x.upl_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
- x.save()
- token = x.jk_token
- print("-----------------token保存成功")
- live_url = 'https://open.ys7.com/api/lapp/live/address/get'
- live_data = {"accessToken":x.jk_token,
- "source":"%s:1"%x.equip_id}
- live_res = requests.post(live_url,data=live_data)
- live_res = eval(live_res.text)
- print("live_res2:",live_res)
- live_list.append(live_res)
- data = json.dumps(live_list)
- return HttpResponse(data)
- # return render(request, 'backstageNet/jk/equipmanage_jk.html', context={"data":data})
- def post(self, request):
- jk_id = request.POST.get('id')
- ctrl = request.POST.get('ctrl')
- imei = request.POST.get('imei')
- accessToken = JKdata.objects.get(equip_id=jk_id).jk_token
- print("accessToken:",accessToken)
- if imei:
- if Equip.objects.filter(equip_id=imei).exists():
- return HttpResponse("0")
- else:
- # 得到设备类型实例:
- equip_t = Equip_type.objects.get(type_id=6)
- try:
- e_id = Equip.objects.create(equip_id=imei, equip_type=equip_t)
- print("<-----监控设备添加成功!----->")
- return HttpResponse("1")
- except:
- print("<-----监控设备添加失败!----->")
-
- if ctrl == "takephoto":
- url = 'https://open.ys7.com/api/lapp/device/capture'
- channelNo = '1'
- data = {'accessToken':accessToken, 'deviceSerial':jk_id, 'channelNo':channelNo}
- res = requests.post(url,data=data)
- print("截图返回结果为:",json.loads(res.text))
- return HttpResponse(res.text)
- # 操作命令:0-上,1-下,2-左,3-右,4-左上,5-左下,6-右上,7-右下,8-放大,9-缩小,10-近焦距,11-远焦距
- if ctrl == "move":
- print("-------球机云台控制开始!")
- dire = request.POST.get('movenum')
- ctrl_url = 'https://open.ys7.com/api/lapp/device/ptz/start'
- channelNo = '1'
- speed = '1'
- data = {'accessToken':accessToken, 'deviceSerial':jk_id, 'channelNo':channelNo, 'speed':speed, 'direction':dire}
- res1 = requests.post(ctrl_url,data=data)
- elif ctrl == "stop":
- print("-------球机云台控制结束!")
- ctrl_url = 'https://open.ys7.com/api/lapp/device/ptz/stop'
- channelNo = '1'
- data = {'accessToken':accessToken, 'deviceSerial':jk_id, 'channelNo':channelNo}
- res2 = requests.post(ctrl_url,data=data)
- return HttpResponse("1")
- # 新闻列表
- class Newslist_View(ListView):
- def get(self,request):
- con = request.GET.get("condition")
- page = int(request.GET.get("page"))
- try:
- art_type = int(request.GET.get("type"))
- art_list = CKArticle.objects.filter(art_type=art_type)
- if con:
- art_list = CKArticle.objects.filter(art_type=art_type,title__contains=con)
- except:
- art_list = CKArticle.objects.all()
- if con:
- art_list = CKArticle.objects.filter(title__contains=con)
-
- nums = art_list.count()
- art = art_list[(5*(page-1)):(page*5)]
- return render(request, 'outerNet/newsList.html', context={'art':art,"nums":nums,"con":con,"page":page})
- def post(self,request):
- art_list = CKArticle.objects.all()
- data = []
- for i in art_list:
- data.append({"id":i.id,"title":i.title,"content":i.content,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')})
- data = json.dumps(data)
- return HttpResponse(data)
- # 新闻详情
- class News_View(ListView):
- def get(self,request):
- f_id = request.GET.get("id")
- objs = CKArticle.objects.all().order_by("id")
- art = objs.get(id=f_id)
- on_art = objs.filter(id__lt=f_id,art_type=art.art_type)
- up_art = objs.filter(id__gt=f_id,art_type=art.art_type)
- return render(request, 'outerNet/newsDetail.html', context={"art":art,"on_art":on_art,"up_art":up_art})
- def post(self,request):
- art_list = Article.objects.all()
- for i in art_list:
- print(i.title)
- return HttpResponse("1")
- # 产品展厅列表
- class Equip_Show_List(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- product_list = Product.objects.all()
- con = request.GET.get("condition")
- if con:
- product_list = Product.objects.filter(title__contains=con)
- nums = product_list.count()
- product = product_list[(20*(page-1)):(page*20)]
- return render(request, 'outerNet/exhibitionList.html', context={"nums":nums,"page":page,"con":con,"product":product})
- def post(self,request):
- pass
- # 产品展厅详情
- class Equip_Show_Detail(ListView):
- def get(self,request):
- e_id = request.GET.get("id")
- product = Product.objects.get(id=e_id)
- return render(request, 'outerNet/exhibitionDetail.html', context={"product":product})
- def post(self,request):
- pass
- # 四季采摘-园区列表
- class Garden_List(ListView):
- def get(self,request):
- pass
- def post(self,request):
- page = int(request.POST.get("page"))
- farm_list = FarmList.objects.all()
- farm = []
- for i in farm_list:
- farm.append({"name":i.name,"id":i.id})
- nums = len(farm)
- farms = farm[(10*(page-1)):(page*10)]
- data = {"farms":farms,"nums":nums}
- data = json.dumps(data)
- return HttpResponse(data)
- # 四季采摘-主页
- class Garden_View(ListView):
- def get(self,request):
- return render(request, 'outerNet/fourPick.html', context={})
- def post(self,request):
- pass
- # 主页四级采摘进入的介绍页
- class Garden_Intro(ListView):
- def get(self,request):
- pid = request.GET.get("id")
- pick = Pick_Pub.objects.get(id=pid)
- return render(request, 'outerNet/pickIntro.html', context={"pick":pick})
- def post(self,request):
- pass
- # 四季采摘-园区详情
- class Garden_Detail(ListView):
- def get(self,request):
- pass
- def post(self,request):
- f_id = request.POST.get("id")
- page = int(request.POST.get("page"))
- farm = FarmList.objects.get(id=f_id)
- pick = Pick_Pub.objects.filter(farm=farm)
- pick_list = []
- for i in pick:
- pick_list.append({"id":i.id,"farm":i.farm.name,"pick_s":i.pick_s,"pick_e":i.pick_e,"name":i.name,"time":i.upl_time,"company":i.company,"img":i.pick_img})
- nums = len(pick_list)
- pick_list = pick_list[(12*(page-1)):(page*12)]
- data = {"pick":pick_list,"nums":nums}
- data = json.dumps(data)
- return HttpResponse(data)
- #旅游导览
- class Tourist(ListView):
- def get(self,request):
- sid = request.GET.get("id")
- sightsee = Sightsee_Info.objects.get(id=sid)
- return render(request, 'outerNet/tourist.html', context={"sightsee":sightsee})
- def post(self,request):
- pass
-
- #旅游导览
- class Tourist_List(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- con = request.GET.get("condition")
- sightsee = Sightsee_Info.objects.all()
- if con:
- sightsee = Sightsee_Info.objects.filter(name__contains=con)
- nums = sightsee.count()
- sightsee = sightsee[(10*(page-1)):(page*10)]
- return render(request, 'outerNet/touristList.html', context={"sightsee":sightsee,"nums":nums})
- def post(self,request):
- pass
- # 民宿列表
- class Dorm_List(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- con = request.GET.get("condition")
- hotel_list = Hotel_Info.objects.all()
- if con:
- hotel_list = Hotel_Info.objects.filter(name__contains=con)
- nums = hotel_list.count()
- hotel = hotel_list[(10*(page-1)):(page*10)]
- return render(request, 'outerNet/hotelList.html', context={"nums":nums,"hotel":hotel,"page":page,"con":con})
- def post(self,request):
- pass
- # 民宿详情
- class Dorm_Detail(ListView):
- def get(self,request):
- hotel_id = request.GET.get("id")
- hotel = Hotel_Info.objects.get(id=hotel_id)
- photos = Hotel_Photo.objects.filter(hotel=hotel)
- return render(request, 'outerNet/hotelDetail.html', context={"hotel":hotel,"photos":photos})
- def post(self,request):
- pass
- # 农场导览
- class Farm_list(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- con = request.GET.get("condition")
- hotel_list = Hotel_Info.objects.all()
- if con:
- hotel_list = Hotel_Info.objects.filter(name__contains=con)
- nums = hotel_list.count()
- hotel = hotel_list[(10*(page-1)):(page*10)]
- return render(request, 'outerNet/farmList.html', context={"nums":nums,"hotel":hotel,"page":page,"con":con})
- def post(self,request):
- pass
- # 视频列表
- class Video_List(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- con = request.GET.get("condition")
- video_list = Video_data.objects.all()
- if con:
- video_list = Video_data.objects.filter(title__contains=con)
- nums = video_list.count()
- video = video_list[(12*(page-1)):(page*12)]
- return render(request, 'outerNet/videoList.html', context={"nums":nums,"video":video,"con":con,"page":page})
- def post(self,request):
- pass
- # 视频详情
- class Video_Detail(ListView):
- def get(self,request):
- v_id = request.GET.get("id")
- video = Video_data.objects.get(id=v_id)
- return render(request, 'outerNet/videoDetail.html', context={"video":video})
- def post(self,request):
- pass
- # 后台管理页面
- class Back_Manage(ListView):
- def get(self,request):
- if request.user.is_authenticated():
- current_user = request.user.username
- current_user = MyUser.objects.get(username=current_user)
- garden = GardenArea.objects.all()
- return render(request, 'backstageNet/home.html', context={"current_user":current_user,"garden":garden})
- else:
- return render(request, 'outerNet/index2.html')
- def post(self,request):
- current_user = request.user.username
- print("current_user:", current_user)
- current_user = MyUser.objects.get(username=current_user)
- data = current_user.limit
- return HttpResponse(data)
- # 信息发布页面
- class Info_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/infoPub.html', context={})
- def post(self,request):
- # 文章标题
- title = request.POST.get('title')
- # 文章简介
- intro = request.POST.get('intro')
- # 文章内容
- info = request.POST.get('info')
- # 文章图片
- head_img = request.POST.get('upicture')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- if head_img:
- try:
- Article.objects.create(title=title,intro=intro,content=info,author=current_user,head_img=head_img)
- data = "1"
- except:
- data = "0"
- else:
- data = "0"
- return HttpResponse(data)
- # 信息维护页面
- class Info_Manage(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/infoManage.html', context={})
- def post(self,request):
- pass
- # 气象站分页接口
- class QXZ_Page(ListView):
- def get(self,request):
- # current_user = request.user.username
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username="admin")
- page = request.GET.get('page')
- page = int(page)
- # f_id = request.GET.get('f_id')
- # print("f_id:", f_id)
- # if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True:
- # # 用户
- # if f_id != "":
- # equip_list = Equip.objects.filter(equip_type=5, equip_user=current_user, equip_id__contains=f_id)
- # else:
- # equip_list = Equip.objects.filter(equip_type=5, equip_user=current_user)
- # elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True:
- # # 代理商
- # if f_id != "":
- # equip_list = Equip.objects.filter(equip_type=5, equip_agency=current_user.user_agency, equip_id__contains=f_id)
- # else:
- # equip_list = Equip.objects.filter(equip_type=5, equip_agency=current_user.user_agency)
- # else:
- # # 管理员
- # if f_id != "":
- # equip_list = Equip.objects.filter(equip_type=5, equip_id__contains=f_id)
- # else:
- equip_list = Equip.objects.filter(equip_type=5)
- e_ids = []
- for x in equip_list:
- n_d = {"equip_name":x.equip_name, "equip_id":x.equip_id}
- e_ids.append(n_d)
- nums = len(e_ids)
- # print(nums)
- ids = e_ids[(10*(page-1)):(page*10)]
- data = {'ids': ids, 'nums': nums}
- data = json.dumps(data)
- return HttpResponse(data)
- def post(self,request):
- pass
- # 气象站状态
- class QXZ_Status(ListView):
- def get(self,request):
- return render(request, 'backstageNet/qxzctrl/qxzData.html', context={})
- def post(self,request):
- e_id = request.POST.get("e_id")
- qxz_list = QXZstatus_New.objects.filter(equip_id=e_id)
- data = []
- for i in qxz_list:
- data.append({"interval":i.interval,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),"e1":i.e1,"e2":i.e2,"e3":i.e3,
- "e4":i.e4,"e5":i.e5,"e6":i.e6,"e7":i.e7,"e8":i.e8,"e9":i.e9,"e10":i.e10,"e11":i.e11,"e12":i.e12,"e13":i.e13,"e14":i.e14})
- data = json.dumps(data)
- return HttpResponse(data)
- # 气象站状态测试
- class QXZ_Status2(ListView):
- def get(self,request):
- return render(request, 'backstageNet/qxzctrl/qxzData.html', context={})
- def post(self,request):
- e_id = request.POST.get("e_id")
- qxz_list = QXZstatus_New.objects.filter(equip_id=e_id)
- # data = []
- for i in qxz_list:
- dat = {"e1":i.e1,"e2":i.e2,"e3":i.e3,"e4":i.e4,"e5":i.e5,"e6":i.e6,"e7":i.e7,"e8":i.e8,"e9":i.e9,"e10":i.e10,"e11":i.e11,"e12":i.e12,"e13":i.e13,"e14":i.e14}
- data = {"interval":i.interval,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),"dat":dat}
- data = json.dumps(data)
- return HttpResponse(data)
- # 气象站控制
- class QXZcontrol(ListView):
- def get(self,request):
- return render(request, 'backstageNet/qxzctrl/qxzctrl.html', context={})
- def post(self,request):
- e_id = request.POST.get('e_id')
- try:
- switch_obj = QXZswitchstatus.objects.get(equip_id=e_id)
- qxz_switch = switch_obj.qxz_switch
- except:
- qxz_switch = ""
- try:
- switch_name_obj = QXZswitchdata.objects.get(equip_id=e_id)
- switch_name = switch_name_obj.qxz_switch_data
- except:
- switch_name = ""
- data = {'qxz_switch':qxz_switch, 'switch_name':switch_name}
- data = json.dumps(data)
- return HttpResponse(data)
- # 气象站数据
- class QXZchart(ListView):
- def get(self,request):
- return render(request, 'backstageNet/qxzctrl/qxzchart.html', context={})
- def post(self,request):
- qxz_dict_2 = copy.deepcopy(qxz_dict)
- equip_id = request.POST.get('id')
- print("equip_id:", equip_id)
- f_tbegin = request.POST.get('begin')
- f_tend = request.POST.get('end')
- print("f_tbegin:", f_tbegin)
- print("f_tend:", f_tend)
- current_equip = Equip.objects.get(equip_id=equip_id)
- dat = []
- if f_tbegin:
- begindate = re.findall(r"\d+\.?\d*", f_tbegin)
- enddate = re.findall(r"\d+\.?\d*", f_tend)
- start_date = datetime.date(int(begindate[0]), int(begindate[1]), int(begindate[2]))
- end_date = datetime.date(int(enddate[0]), int(enddate[1]), int(enddate[2]))
- print("start_date:", start_date)
- print("end_date:", end_date)
- sta1 = QXZdata.objects.filter(
- equip_id=equip_id, upl_time__range=(start_date, end_date)).values()
- for x in sta1:
- sta = {"upl_time": x["upl_time"].strftime('%Y-%m-%d %H:%M:%S'),"e_len": len((eval(x["qxz_data"])["data"])),
- "unit": [], "equip_id": x["equip_id_id"]}
- for i in eval(x["qxz_data"])["data"]:
- qxz_dict_2[i["eNum"]][0] = i["eValue"] # 将气象站字典列表里的索引值替换为 数据的eValue
- d = copy.deepcopy(qxz_dict_2[i["eNum"]]) # 此处有坑 如果不深拷贝 后一次 qxz_dict[i["eNum"]][0] = i["eValue"] 赋值会把上次赋值替换掉
- ek = i["eKey"]
- d.append(ek)
- d.append(i["eNum"])
- sta["unit"].append(d)
- # qxz_dict[eval(x.qxz_data)['data'][0]["eNum"]]
- # print(sta["unit"])
- dat.append(sta)
- # print(dat)
- data = {"e_name": current_equip.equip_name, "dat": dat}
- data = json.dumps(data)
- return HttpResponse(data)
- # 获取当前日期:
- now_time = datetime.datetime.now()
- print("当前日期为:",now_time)
- print("当前月为:",now_time.month)
- sta1 = QXZdata.objects.filter(equip_id=equip_id, upl_time__month=now_time.month).values()
- for x in sta1:
- sta = {"upl_time": x["upl_time"].strftime('%Y-%m-%d %H:%M:%S'),"e_len": len(eval(x["qxz_data"])["data"]),
- "unit": [], "equip_id": x["equip_id_id"]}
- for i in eval(x["qxz_data"])["data"]:
- qxz_dict_2[i["eNum"]][0] = i["eValue"]
- d = copy.deepcopy(qxz_dict_2[i["eNum"]]) # 此处有坑 如果不深拷贝 后一次 qxz_dict[i["eNum"]][0] = i["eValue"] 赋值会把上次赋值替换掉
- ek = i["eKey"]
- d.append(ek)
- d.append(i["eNum"])
- sta["unit"].append(d)
- # qxz_dict[eval(x.qxz_data)['data'][0]["eNum"]]
- dat.append(sta)
- # print(dat)
- data = {"e_name": current_equip.equip_name, "dat": dat}
- # print("------",data)
- data = json.dumps(data)
- return HttpResponse(data)
- # 气象站列表详情
- class QXZ_Report_Detail(ListView):
- def get(self, request):
- qxz_dict_3 = copy.deepcopy(qxz_dict)
- page = int(request.GET.get('page'))
- print("page:", page)
- equip_id = request.GET.get('id')
- print("equip_id:", equip_id)
- f_tbegin = request.GET.get('begin')
- f_tend = request.GET.get('end')
- print("f_tbegin:", f_tbegin)
- print("f_tend:", f_tend)
- current_equip = Equip.objects.get(equip_id=equip_id)
- dat = []
- if f_tbegin:
- begindate = re.findall(r"\d+\.?\d*", f_tbegin)
- enddate = re.findall(r"\d+\.?\d*", f_tend)
- start_date = datetime.date(int(begindate[0]), int(begindate[1]), int(begindate[2]))
- end_date = datetime.date(int(enddate[0]), int(enddate[1]), int(enddate[2]))
- print("start_date:", start_date)
- print("end_date:", end_date)
- sta1 = QXZdata.objects.filter(
- equip_id=equip_id, upl_time__range=(start_date, end_date)).values()
- for x in sta1:
- sta = {"upl_time": x["upl_time"].strftime('%Y-%m-%d %H:%M:%S'), "unit": [], "equip_id": x["equip_id_id"]}
- for i in eval(x["qxz_data"])["data"]:
- qxz_dict_3[i["eNum"]][0] = i["eValue"]
- d = copy.deepcopy(qxz_dict_3[i["eNum"]]) # 此处有坑 如果不深拷贝 后一次 qxz_dict[i["eNum"]][0] = i["eValue"] 赋值会把上次赋值替换掉
- ek = i["eKey"]
- d.append(ek)
- sta["unit"].append(d)
- # qxz_dict[eval(x.qxz_data)['data'][0]["eNum"]]
- dat.append(sta)
- nums = len(dat)
- dat = dat[(10*(page-1)):(page*10)]
- data = {"dat": dat, "nums":nums}
- data = json.dumps(data)
- return HttpResponse(data)
- sta1 = QXZdata.objects.filter(equip_id=equip_id).values()
- for x in sta1:
- sta = {"upl_time": x["upl_time"].strftime('%Y-%m-%d %H:%M:%S'), "unit": [], "equip_id": x["equip_id_id"]}
- for i in eval(x["qxz_data"])["data"]:
- qxz_dict_3[i["eNum"]][0] = i["eValue"]
- d = copy.deepcopy(qxz_dict_3[i["eNum"]]) # 此处有坑 如果不深拷贝 后一次 qxz_dict[i["eNum"]][0] = i["eValue"] 赋值会把上次赋值替换掉
- ek = i["eKey"]
- d.append(ek)
- sta["unit"].append(d)
- dat.append(sta)
- nums = len(dat)
- dat = dat[(10*(page-1)):(page*10)]
- data = {"dat": dat, "nums":nums}
- data = json.dumps(data)
- return HttpResponse(data)
- class QXZ_Report_Detail2(ListView):
- def get(self, request):
- pass
- def post(self,request):
- e_id = request.POST.get("e_id")
- qxz_list = QXZdata_New.objects.filter(equip_id=e_id)
- data = []
- for i in qxz_list:
- dat = {"e1":i.e1,"e2":i.e2,"e3":i.e3,"e4":i.e4,"e5":i.e5,"e6":i.e6,"e7":i.e7,"e8":i.e8,"e9":i.e9,"e10":i.e10,"e11":i.e11,"e12":i.e12,"e13":i.e13,"e14":i.e14}
- data.append({"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),"dat":dat})
- nums = len(data)
- datas = {"data":data,"nums":nums}
- datas = json.dumps(datas)
- return HttpResponse(datas)
- # 气象站开关名字
- class QXZ_Switch_Name(ListView):
- def get(self,request):
- pass
- def post(self,request):
- imei = request.POST.get('imei')
- way = request.POST.get('way')
- sw_name = request.POST.get('sw_name')
- try:
- switch_obj = QXZswitchdata.objects.get(equip_id=imei)
- except:
- return HttpResponse("1")
- sw_name_list = eval(switch_obj.qxz_switch_data)
- for i in sw_name_list:
- if i["JK"] == int(way):
- i["name"] = sw_name
- print(sw_name_list)
- try:
- switch_obj.qxz_switch_data = sw_name_list
- switch_obj.save()
- except:
- return HttpResponse("1")
- data = "0"
- return HttpResponse(data)
- # 气象站通信接口
- class QXZ_Mqtt(ListView):
- def get(self,request):
- pass
-
- def post(self,request):
- req = request.POST.get('req')
- imei = request.POST.get('imei')
- topic = "/yfkj/qxz/sub/"+imei
- if req == "read":
- payload = {"ext":{"type":"status"},"cmd":"read"}
- elif req == "set":
- way = int(request.POST.get('way'))
- switch = int(request.POST.get('switch'))
- payload = {"cmd":"control","ext":{"JK":way,"status":switch}}
- elif req == "conf":
- payload = {"ext":{"type":"jkStatus"},"cmd":"read"}
- elif req == "interval":
- time = int(request.POST.get('time'))
- payload = {"cmd": "config","ext": {"interval": time}}
-
- cmd = {"topic":topic,"payload":json.dumps(payload),'qos':0}
- res = requests.post("http://www.yfzhwlw.com:8080/api/v2/mqtt/publish",
- data=json.dumps(cmd), auth=HTTPBasicAuth("admin", "yfkj_6019"))
- print("res.status_code:", type(res.status_code))
- if res.status_code == 200:
- data = "0"
- return HttpResponse(data)
- else:
- data = "1"
- return HttpResponse(data)
- # 新闻审核
- class News_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/newsManage.html', context={'role':'superuser'})
- def post(self,request):
-
- news_id = request.POST.get('id')
- news_see_id = request.POST.get("ids")
-
- # 通过后删除
- if news_id:
- try:
- news_sta = CKArticle.objects.get(id=news_id)
- news_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- # 通过查看详情
- art_list = CKArticle.objects.filter(id=news_see_id)
- dat = []
- for i in art_list:
- dat.append({
- "title":i.title,
- "intro":i.intro,
- "time": i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),
- "img": "%s"%i.head_img,
- "writer":i.writer,
- "author":i.author.username,
- "content":i.content,
- "art_type":i.art_type,
- })
- data = json.dumps(dat)
- return HttpResponse(data)
-
-
-
- # 新闻审核页面
- class News_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- art_list = CKArticle.objects.filter(art_type=5,hidden=hidden)
- nums = art_list.count()
- print(nums)
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/newsManageList.html', context={"art":art,"nums":nums})
- def post(self,request):
- art_id = request.POST.get('id')
- req = request.POST.get('req')
- art_obj = CKArticle.objects.filter(id=art_id)
- # 编辑
- if req == "edit":
- data = []
- for i in art_obj:
- data.append({
- "id":i.id,
- "title":i.title,
- "intro":i.intro,
- "head_img":i.head_img.name,
- "content":i.content,
- "art_type":i.art_type,
- "writer":i.writer,
- "upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),
- "author":i.author.username
- })
- # 未审核删除
- elif req == "del":
- art_obj.delete()
- data = "1"
- # 通过审核
- elif req == "check":
- art_obj = CKArticle.objects.get(id=art_id)
- art_obj.hidden = True
- art_obj.save()
- data = "1"
- data = json.dumps(data)
- return HttpResponse(data)
- # 新闻审核上传图片接口
- class News_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- # e_id = request.POST.get('id')
- # news_sta = Article.objects.get(id=e_id)
- news_photo = request.FILES.get('upicture')
- if news_photo:
- print("新闻图片:", news_photo)
- news_photo_dir = 'hnews_photo/'
- end_name = news_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(news_photo_dir) == False:
- os.makedirs(news_photo_dir)
- img = Image.open(news_photo)
- # img = img.convert('RGB')
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(news_photo_dir + pic_name)
- news_photo = news_photo_dir + pic_name
- print("new_photo:",news_photo)
- data = {"code": 0,"msg": "","data": {"src": news_photo}}
- else:
- new_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": news_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 新闻发布
- class News_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/newsPub.html', context={'role':'superuser'})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- news_photo = request.POST.get('upload')
- art_type = request.POST.get('type')
- writer = request.POST.get('writer')
- intro = request.POST.get('intro')
- title = request.POST.get('title')
- content = request.POST.get('content')
- news_id = request.POST.get("id")
- if news_id:
- if CKArticle.objects.filter(id=news_id).exists():
- CKArticle.objects.filter(id=news_id).update(
- art_type=art_type,
- writer = writer,
- intro = intro,
- title = title,
- content = content,
- head_img = news_photo
- )
- data= "1"
- else:
- data = "0"
- else:
- try:
- CKArticle.objects.create(author=current_user,art_type=art_type,writer=writer,intro=intro,title=title,content=content,head_img=news_photo)
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 视频发布
- class Video_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/videoPub.html', context={})
- def post(self,request):
- # 视频标题
- title = request.POST.get('title')
- # 视频简介
- intro = request.POST.get('intro')
- # 视频链接
- video = request.POST.get('video_url')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- video_img = request.POST.get('video_img')
- video_id =request.POST.get('id')
- if video_id:
- if Video_data.objects.filter(id=video_id).exists():
- Video_data.objects.filter(id=video_id).update(
- title=title,
- intro=intro,
- video_url=video,
- author=current_user,
- video_img=video_img,
- )
- data = '1'
- else:
- data = '0'
- else:
- try:
- Video_data.objects.create(title=title,intro=intro,video_url=video,author=current_user,video_img=video_img)
- data = "1"
- except Exception as e:
- print("-------错误信息为----------")
- print(e)
- data = "0"
- else:
- data = "0"
- return HttpResponse(data)
- # 视频封面上传图片接口
- class Video_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- # e_id = request.POST.get('id')
- # news_sta = Article.objects.get(id=e_id)
- video_photo = request.FILES.get('video_img')
- if video_photo:
- print("视频图片:", video_photo)
- video_photo_dir = 'hvideo_photo/'
- end_name = video_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(video_photo_dir) == False:
- os.makedirs(video_photo_dir)
- img = Image.open(video_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(video_photo_dir + pic_name)
- video_photo = video_photo_dir + pic_name
- print("new_photo:",video_photo)
- data = {"code": 0,"msg": "","data": {"src": video_photo}}
- else:
- video_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": video_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 视频上传接口
- class Video_Upload(ListView):
- def get(self,request):
- pass
- def post(self,request):
- obj = request.FILES.get('upload')
- f = os.path.join('hvideos',obj.name).replace('\\','/')
-
- print(f)
- if not obj:
- return HttpResponse("0")
- dest=open(f,"wb")
- try:
- for chunk in obj.chunks():
- dest.write(chunk)
- finally:
- dest.close()
- video_dir = "hvideos/" + obj.name
- data = {"code": 0,"msg": "","data": {"src":video_dir}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 产品发布
- class Equip_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/productPub.html', context={})
- def post(self,request):
- # 产品标题
- title = request.POST.get('title')
- # 产品简介
-
- intro = request.POST.get('intro')
- # 产品内容
- content = request.POST.get('content')
- # 产品图片
- head_img = request.POST.get('img_url')
- mobile = request.POST.get('mobile')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- equip_id = request.POST.get("id")
- if equip_id:
- if Product.objects.filter(id=equip_id).exists():
- try:
- Product.objects.filter(id=equip_id).update(
- title=title,
- intro=intro,
- content=content,
- author=current_user,
- head_img=head_img,
- mobile=mobile
- )
- data = "1"
- except Exception as e:
- print("-----------错误信息为-------------")
- print(e)
- data = "0"
- else:
- data = "0"
- else:
- if head_img:
- try:
- Product.objects.create(title=title,intro=intro,content=content,author=current_user,head_img=head_img,mobile=mobile)
- data = "1"
- except Exception as e:
- print("-----------错误信息为-------------")
- print(e)
- data = "0"
- else:
- data = "0"
- return HttpResponse(data)
- # 产品封面上传图片接口
- class Equip_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- pro_photo = request.FILES.get('pro_img')
- if pro_photo:
- print("视频图片:", pro_photo)
- pro_photo_dir = 'product_photo/'
- # 判断如果路径不存在,即创建路径
- end_name = pro_photo.name.split('.')[-1]
- if os.path.exists(pro_photo_dir) == False:
- os.makedirs(pro_photo_dir)
- img = Image.open(pro_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(pro_photo_dir + pic_name)
- pro_photo = pro_photo_dir + pic_name
- print("pro_photo:",pro_photo)
- data = {"code": 0,"msg": "","data": {"src": pro_photo}}
- else:
- pro_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": pro_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 采摘农场选择
- class Farm_Choice(ListView):
- def get(self,request):
- pass
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- if current_user.is_staff == True:
- farmlist = FarmList.objects.all()
- else:
- farmlist = FarmList.objects.filter(user=current_user)
- dat = []
- for i in farmlist:
- dat.append({"name":i.name})
- dat = json.dumps(dat)
- return HttpResponse(dat)
- # 四季采摘图片上传
- class Pick_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- gar_photo = request.FILES.get('gar_img')
- if gar_photo:
- print("视频图片:", gar_photo)
- garden_photo_dir = 'garden_photo/'
- end_name = gar_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(garden_photo_dir) == False:
- os.makedirs(garden_photo_dir)
- img = Image.open(gar_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(garden_photo_dir + pic_name)
- gar_photo = garden_photo_dir + pic_name
- print("gar_photo:",gar_photo)
- data = {"code": 0,"msg": "","data": {"src": gar_photo}}
- else:
- pro_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": gar_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 四季采摘发布
- class Garden_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/gardenPub.html', context={})
- def post(self,request):
- farm = request.POST.get('farm')
- name = request.POST.get('name')
- time = request.POST.get('time')
- pick_s = request.POST.get('start')
- pick_e = request.POST.get('end')
- ripe_time = request.POST.get('ripe')
- # 规模
- scale = request.POST.get('scale')
- addr = request.POST.get('addr')
- company = request.POST.get('company')
- pick_img = request.POST.get('img_url')
- content = request.POST.get('content')
- garden_id = request.POST.get('id')
- print("garden_id:",garden_id)
- # begindate = re.findall(r"\d+\.?\d*", pick_s)
- # enddate = re.findall(r"\d+\.?\d*", pick_e)
- # start_date = datetime.date(int(begindate[0]), int(begindate[1]), int(begindate[2]))
- # end_date = datetime.date(int(enddate[0]), int(enddate[1]), int(enddate[2]))
- # 编辑更新
- if garden_id:
- if Pick_Pub.objects.filter(id=garden_id).exists():
- farm_obj = FarmList.objects.get(name=farm)
- Pick_Pub.objects.filter(id=garden_id).update(pick_s=pick_s,pick_e=pick_e,ripe_time=ripe_time,content=content,
- scale=scale,addr=addr,farm=farm_obj,name=name,company=company,pick_img=pick_img,upl_time=time)
- data = "1"
- else:
- data = "0"
- return HttpResponse(data)
- else:
- try:
- farm_obj = FarmList.objects.get(name=farm)
- Pick_Pub.objects.create(pick_s=pick_s,pick_e=pick_e,ripe_time=ripe_time,content=content,
- scale=scale,addr=addr,farm=farm_obj,name=name,company=company,pick_img=pick_img,upl_time=time)
- data = "1"
- print(data)
- except Exception as e:
- print("-----------报错信息为-------------")
- print(e)
- data = "0"
- return HttpResponse(data)
- # 民宿封面
- class Dorm_Img(ListView):
- def get(self,request):
- pass
- def post(self,request):
- hotel_photo = request.FILES.get('hotel_photo')
- if hotel_photo:
- print("视频图片:", hotel_photo)
- hotel_photo_dir = 'hotel_photo/'
- end_name = hotel_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(hotel_photo_dir) == False:
- os.makedirs(hotel_photo_dir)
- img = Image.open(hotel_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(hotel_photo_dir + pic_name)
- hotel_photo = hotel_photo_dir + pic_name
- print("hotel_photo:",hotel_photo)
- data = {"code": 0,"msg": "","data": {"src": hotel_photo}}
- else:
- hotel_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": hotel_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 民宿介绍图
- class Dorm_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- hotel_photos = request.FILES.get('hotel_photos')
- if hotel_photos:
- print("视频图片:", hotel_photos)
- hotel_photo_dir = 'hotel_photos/'
- end_name = hotel_photos.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(hotel_photo_dir) == False:
- os.makedirs(hotel_photo_dir)
- img = Image.open(hotel_photos)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(hotel_photo_dir + pic_name)
- hotel_photos = hotel_photo_dir + pic_name
- print("hotel_photos:",hotel_photos)
- data = {"code": 0,"msg": "","data": {"src": hotel_photos}}
- else:
- hotel_photos = "0"
- data = {"code": 404,"msg": "","data": {"src": hotel_photos}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 民宿发布
- class Dorm_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/dormPub.html', context={})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- name = request.POST.get('name')
- price = request.POST.get('price')
- person = request.POST.get('person')
- mobile = request.POST.get('mobile')
- img_url = request.POST.get('img_url')
- addr = request.POST.get('addr')
- location = request.POST.get('location')
- intro = request.POST.get('intro')
- content = request.POST.get('content')
- pic_list = request.POST.get('pic_list')
- Hotel_id= request.POST.get("id")
- if Hotel_id:
- if Hotel_Info.objects.filter(id=Hotel_id).exists():
- try:
- Hotel_Info.objects.filter(id=Hotel_id).update(
- name=name,
- price=price,
- intro=intro,
- addr=addr,
- location=location,
- person=person,
- hotel_img=img_url,
- hotel_tel=mobile,
- content=content,
- author=current_user,
- )
- data="1"
- except Exception as e:
- print("-----------报错信息为-------------")
- print(e)
- data = "0"
- if data == "1":
- try:
- hotel_obj = Hotel_Info.objects.get(name=name)
- pic_list = pic_list.split(',')
- for i in pic_list:
- Hotel_Photo.objects.filter(hotel=hotel_obj).update(hotel=hotel_obj,addr=i)
- except Exception as aa:
- print("滚动图保存错误")
- print(aa)
- else:
- data = "0"
- return HttpResponse(data)
- else:
- try:
- Hotel_Info.objects.create(
- name=name,
- price=price,
- intro=intro,
- addr=addr,
- location=location,
- person=person,
- hotel_img=img_url,
- hotel_tel=mobile,
- content=content,
- author=current_user)
- data = "1"
- except Exception as e:
- print("-----------报错信息为-------------")
- print(e)
- data = "0"
- if data == "1":
- try:
- hotel_obj = Hotel_Info.objects.get(name=name)
- pic_list = pic_list.split(',')
- for i in pic_list:
- Hotel_Photo.objects.create(hotel=hotel_obj,addr=i)
- except Exception as aa:
- print("滚动图保存错误")
- print(aa)
- return HttpResponse(data)
- # 旅游发布介绍图
- class Sightsee_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- sightsee_photos = request.FILES.get('sightsee_photos')
- if sightsee_photos:
- print("视频图片:", sightsee_photos)
- sightsee_photos_dir = 'sightsee_photos/'
- end_name = sightsee_photos.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(sightsee_photos_dir) == False:
- os.makedirs(sightsee_photos_dir)
- img = Image.open(sightsee_photos)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(sightsee_photos_dir + pic_name)
- sightsee_photos = sightsee_photos_dir + pic_name
- print("sightsee_photos:",sightsee_photos)
- data = {"code": 0,"msg": "","data": {"src": sightsee_photos}}
- else:
- sightsee_photos = "0"
- data = {"code": 404,"msg": "","data": {"src": sightsee_photos}}
- data = json.dumps(data)
- return HttpResponse(data)
- # 旅游发布
- class Sightsee_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/info/SightseePub.html', context={})
- def post(self,request):
- name = request.POST.get('name')
- price = request.POST.get('price')
- sightsee_tel = request.POST.get('mobile')
- sightsee_img = request.POST.get('img_url')
- sightsee_stime = request.POST.get('stime')
- sightsee_etime = request.POST.get('etime')
- # begindate = re.findall(r"\d+\.?\d*", sightsee_stime)
- # enddate = re.findall(r"\d+\.?\d*", sightsee_etime)
- # start_date = datetime.date(int(begindate[0]), int(begindate[1]), int(begindate[2]))
- # end_date = datetime.date(int(enddate[0]), int(enddate[1]), int(enddate[2]))
- # 位置
- location = request.POST.get('location')
- addr = request.POST.get('addr')
- # 内容
- content = request.POST.get('content')
- # 简介
- desc = request.POST.get('desc')
- guide_img = request.POST.get('guide_img')
- try:
- Sightsee_Info.objects.create(
- name=name,
- price=price,
- location=location,
- sightsee_stime=sightsee_stime,
- sightsee_etime=sightsee_etime,
- sightsee_img=sightsee_img,
- sightsee_tel=sightsee_tel,
- addr=addr,
- guide_img=guide_img,
- content=content,
- desc=desc)
- data = "1"
- except:
- data = "0"
- return HttpResponse(data)
- #我的发布
- class My_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoList/myPub.html', context={})
- def post(self,request):
- pass
- #我的发布列表
- class My_Pub_List(ListView):
- def get(self,request):
- page = int(request.GET.get("page",1))
- hidden = request.GET.get("hidden")
- _type = request.GET.get("type")
- _list = CKArticle.objects.all()
- if _type:
- _list = _list.filter(art_type=_type)
- if hidden:
- _list = _list.filter(hidden=hidden)
- nums = _list.count()
- art_list = _list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoList/myPubList.html', context={"art_list":art_list,"nums":nums})
- def post(self,request):
- pass
- # 视频审核
- class Video_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/videoManage.html', context={'role':'superuser'})
- def post(self,request):
-
- video_id = request.POST.get('id')
- video_see_id = request.POST.get("ids")
- # 审核通过后删除
- if video_id:
- try:
- video_sta = Video_data.objects.get(id=video_id)
- video_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- # 审核通过查看详情
- art_list = Video_data.objects.filter(id=video_see_id)
- dat = []
- for i in art_list:
- dat.append({
- "title":i.title,
- "intro":i.intro,
- "video_url": i.video_url.name,
- "time": i.publish_date.strftime('%Y-%m-%d %H:%M:%S'),
- "video_img": "%s"%i.video_img.name,
- "author":i.author.username
- })
- data = json.dumps(dat,ensure_ascii=False)
- return HttpResponse(data)
-
- # 视频审核页面
- class Video_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- art_list = Video_data.objects.filter(hidden=hidden)
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/videoManageList.html', context={"art":art,"nums":nums})
- def post(self,request):
- art_id = request.POST.get('id')
- req = request.POST.get('req')
- art_obj = Video_data.objects.filter(id=art_id)
- # 编辑
- data = []
- if req == "edit":
- for i in art_obj:
- data.append({
- "id":i.id,
- "title":i.title,
- "intro":i.intro,
- "video_img":i.video_img.name,
- "video_url":i.video_url.name,
- "author":i.author.username,
- "time":i.publish_date.strftime('%Y-%m-%d %H:%M:%S'),
- })
- #删除
- elif req == "del":
- art_obj.delete()
- data = "1"
- #保存
- elif req == "check":
- art_obj = Video_data.objects.get(id=art_id)
- art_obj.hidden = True
- art_obj.save()
- data = "1"
- data = json.dumps(data)
- return HttpResponse(data)
- # 产品审核
- class Equip_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/productManage.html', context={'role':'superuser'})
- def post(self,request):
-
- delete = request.POST.get('id')
- product_see_id = request.POST.get("ids")
- # 审核通过后删除
- if delete:
- try:
- video_sta = Product.objects.get(id=delete)
- video_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- # 审核通过查看详情
- art_list = Product.objects.filter(id=product_see_id)
- dat = []
- for i in art_list:
- dat.append({
- "title":i.title,
- "intro":i.intro,
- "content": i.content,
- "time": i.publish_date.strftime('%Y-%m-%d %H:%M:%S'),
- "head_img": "%s"%i.head_img,
- "mobile":i.mobile,
- "author":i.author.username
-
- })
- data = json.dumps(dat)
- return HttpResponse(data)
-
-
-
- # 产品审核页面
- class Equip_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- art_list = Product.objects.filter(hidden=hidden)
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/productManageList.html', context={"art":art,"nums":nums})
- def post(self,request):
- art_id = request.POST.get('id')
- req = request.POST.get('req')
- art_obj = Product.objects.filter(id=art_id)
- # 编辑
- if req == "edit":
- data = []
- for i in art_obj:
- data.append({
- "id":i.id,
- "title":i.title,
- "intro":i.intro,
- "head_img":i.head_img,
- "content":i.content,
- "mobile":i.mobile,
- "author":i.author.username,
- "time": i.publish_date.strftime('%Y-%m-%d %H:%M:%S'),
- })
- #删除
- elif req == "del":
- art_obj.delete()
- data = "1"
- #审核通过
- elif req == "check":
- art_obj = Product.objects.get(id=art_id)
- art_obj.hidden = True
- art_obj.save()
- data = "1"
- data = json.dumps(data)
- return HttpResponse(data)
-
- # 四季采摘审核
- class Garden_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/pickManage.html', context={'role':'superuser'})
- def post(self,request):
- delete = request.POST.get('id')
- garden_see_id = request.POST.get("ids")
- if delete:
- try:
- garden_sta = Pick_Pub.objects.get(id=delete)
- garden_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- art_list = Pick_Pub.objects.filter(id=garden_see_id)
- dat = []
- # 查看详情
- for i in art_list:
- dat.append({
- "name":i.name,
- "company":i.company,
- "time": i.upl_time,
- "img": "%s"%i.pick_img,
- "farm":i.farm.name
- })
- data = json.dumps(dat)
- return HttpResponse(data)
-
-
- # 四季采摘审核页面
- class Garden_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- art_list = Pick_Pub.objects.filter(hidden=hidden)
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/pickManageList.html', context={"art":art,"nums":nums})
- def post(self,request):
- art_id = request.POST.get('id')
- req = request.POST.get('req')
- art_obj = Pick_Pub.objects.filter(id=art_id)
- # 编辑
- if req == "edit":
- data = []
- for i in art_obj:
- data.append({
- "id":i.id,
- "name":i.name,
- "company":i.company,
- "pick_img":i.pick_img,
- "time": i.upl_time,
- "farm":i.farm.name,
- "scale":i.scale,
- "pick_s":i.pick_s,
- "pick_e":i.pick_e,
- "ripe_time":i.ripe_time,
- "addr":i.addr,
- "content":i.content
-
- })
- #删除
- elif req == "del":
- art_obj.delete()
- data = "1"
- #审核通过
- elif req == "check":
- art_obj = Pick_Pub.objects.get(id=art_id)
- art_obj.hidden = True
- art_obj.save()
- data = "1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 民宿审核
- class Dorm_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/dormManage.html', context={'role':'superuser'})
- def post(self,request):
- hote_see_id = request.POST.get('ids')
- delete = request.POST.get('id')
-
- #已通过的删除
- if delete:
- try:
- hote_sta = Hotel_Info.objects.get(id=delete)
- hote_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- art_list = Hotel_Info.objects.filter(id=hote_see_id)
- dat = []
- # 通过后查看详情
- for i in art_list:
- dat.append({
- "name":i.name,
- "price":i.price,
- "intro":i.intro,
- "addr":i.addr,
- "person":i.person,
- "hotel_tel":i.hotel_tel,
- "author":i.author.username,
- "content":i.content,
- "location":i.location,
- # "time": i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),
- "img": "%s"%i.hotel_img,
- })
- data = json.dumps(dat,ensure_ascii=False)
- return HttpResponse(data)
- # 民宿审核页面
- class Dorm_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- art_list = Hotel_Info.objects.filter(hidden=hidden)
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/dormManageList.html', context={"art":art,"nums":nums})
- def post(self,request):
- art_id = request.POST.get('id')
- req = request.POST.get('req')
- art_obj = Hotel_Info.objects.filter(id=art_id)
- art = Hotel_Photo.objects.filter(hotel=art_id)
- data = []
- # 编辑
- if req == "edit":
-
- for i in art_obj:
- data.append({
- "id":i.id,
- "name":i.name,
- "price":i.price,
- "intro":i.intro,
- "addr":i.addr,
- "location":i.location,
- "person":i.person,
- "hotel_img":i.hotel_img,
- "hotel_tel":i.hotel_tel,
- "content":i.content,
- # "upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),
- })
- for x in art:
- data.append({"addr_photo":x.addr})
- # data.append(x.addr)
- #删除
- elif req == "del":
- art_obj.delete()
- data = "1"
- #审核通过
- elif req == "check":
- art_obj = Hotel_Info.objects.get(id=art_id)
- art_obj.hidden = True
- art_obj.save()
- data = "1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 农场审核
- class Farm_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/farmManage.html', context={'role':'superuser'})
- def post(self,request):
- delete = request.POST.get('id')
- garden_see_id = request.POST.get("ids")
- if delete:
- try:
- garden_sta = Pick_Pub.objects.get(id=delete)
- garden_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- art_list = Pick_Pub.objects.filter(id=garden_see_id)
- dat = []
- # 查看详情
- for i in art_list:
- dat.append({
- "name":i.name,
- "company":i.company,
- "time": i.upl_time,
- "img": "%s"%i.pick_img,
- "farm":i.farm.name
- })
- data = json.dumps(dat)
- return HttpResponse(data)
-
-
- # 农场审核页面
- class Farm_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- art_list = Pick_Pub.objects.filter(hidden=hidden)
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/farmManageList.html', context={"art":art,"nums":nums})
- def post(self,request):
- art_id = request.POST.get('id')
- req = request.POST.get('req')
- art_obj = Pick_Pub.objects.filter(id=art_id)
- # 编辑
- if req == "edit":
- data = []
- for i in art_obj:
- data.append({
- "id":i.id,
- "name":i.name,
- "company":i.company,
- "pick_img":i.pick_img,
- "time": i.upl_time,
- "farm":i.farm.name
- })
- #删除
- elif req == "del":
- art_obj.delete()
- data = "1"
- #审核通过
- elif req == "check":
- art_obj = Pick_Pub.objects.get(id=art_id)
- art_obj.hidden = True
- art_obj.save()
- data = "1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 景点审核
- class Sightsee_Check(ListView):
- def get(self,request):
- return render(request, 'backstageNet/infoManage/sightseeManage.html', context={'role':'superuser'})
- def post(self,request):
- delete = request.POST.get('id')
- garden_see_id = request.POST.get("ids")
- if delete:
- try:
- garden_sta = Pick_Pub.objects.get(id=delete)
- garden_sta.delete()
- return HttpResponse("1")
- except:
- return HttpResponse("0")
- art_list = Pick_Pub.objects.filter(id=garden_see_id)
- dat = []
- # 查看详情
- for i in art_list:
- dat.append({
- "name":i.name,
- "company":i.company,
- "time": i.upl_time,
- "img": "%s"%i.pick_img,
- "farm":i.farm.name
- })
- data = json.dumps(dat)
- return HttpResponse(data)
-
-
- # 景点审核页面
- class Sightsee_Check_List(ListView):
- def get(self,request):
- hidden = request.GET.get('hidden')
- page = int(request.GET.get('page'))
- sightsee = Sightsee_Info.objects.filter(hidden=hidden)
- nums = sightsee.count()
- sightsee = sightsee[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/infoManage/sightseeManageList.html', context={"sightsee":sightsee,"nums":nums})
- def post(self,request):
- s_id = request.POST.get('id')
- # req = request.POST.get('req')
- i = Sightsee_Info.objects.get(id=s_id)
- data = {"name":i.name,"price":i.price,"desc":i.desc,"location":i.location,"addr":i.addr,"sightsee_stime":i.sightsee_stime,"sightsee_etime":i.sightsee_etime,
- "sightsee_img":i.sightsee_img,"sightsee_tel":i.sightsee_tel,"upl_time":i.upl_time,"guide_img":i.guide_img,"content":i.content}
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 产品发布图片上传
- class Product_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- pass
- # 新闻审核上传图片接口
- class Test_Photo(ListView):
- def get(self,request):
- pass
- def post(self,request):
- # e_id = request.POST.get('id')
- # news_sta = Article.objects.get(id=e_id)
- news_photo = request.FILES['upload']
- if news_photo:
- print("新闻图片:", news_photo)
- news_photo_dir = 'media/uploads/'
- end_name = news_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(news_photo_dir) == False:
- os.makedirs(news_photo_dir)
- img = Image.open(news_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(news_photo_dir + pic_name)
- news_photo = news_photo_dir + pic_name
- print("new_photo:",news_photo)
- data = {"uploaded": 1,"fileName": pic_name,"url": news_photo}
- else:
- new_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": news_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- class Guide_Img(ListView):
- def get(self,request):
- pass
- def post(self,request):
- # e_id = request.POST.get('id')
- # news_sta = Article.objects.get(id=e_id)
- guide_photo = request.FILES['upload']
- if guide_photo:
- print("新闻图片:", guide_photo)
- news_photo_dir = 'media/uploads/'
- end_name = guide_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(news_photo_dir) == False:
- os.makedirs(news_photo_dir)
- img = Image.open(guide_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(news_photo_dir + pic_name)
- news_photo = news_photo_dir + pic_name
- print("new_photo:",news_photo)
- data = {"code": 0,"msg": "","data": {"src": news_photo}}
- else:
- new_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": news_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- class CKArticle_View(ListView):
- def get(self,request):
- pass
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- news_photo = request.POST.get('upload')
- writer = request.POST.get('writer')
- intro = request.POST.get('intro')
- title = request.POST.get('title')
- art_type = request.POST.get('art_type')
- content = request.POST.get('content')
- try:
- # CKArticle.objects.create(auther=current_user.username,art_type=art_type,writer=writer,intro=intro,title=title,content=content,head_img=news_photo)
- CKArticle.objects.create(art_type=art_type,writer=writer,intro=intro,title=title,content=content,head_img=news_photo)
- data = "1"
- except Exception as e:
- print("错误信息为",e)
- data = "0"
- return HttpResponse(data)
- #园区筛选
- class Park_Land(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- data = []
- if current_user.is_superuser != True and current_user.is_staff != True:
- #用户
- art_list = GardenArea.objects.filter(user=current_user)
- else:
- #管理员
- art_list = GardenArea.objects.all()
- for i in art_list:
- data.append({"name":i.name,"id":i.id})
- data = json.dumps(data)
- return HttpResponse(data)
- # 农场管理
- class Garden_Manage_New(ListView):
- def get(self,request):
- gardenid = int(request.GET.get("ids"))
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- garden = GardenArea.objects.get(id=gardenid)
- art_list = FarmList.objects.filter(garden=garden)
- nums = art_list.count()
- page = int(request.GET.get('page'))
- art = art_list[(9*(page-1)):(page*9)]
- return render(request, 'backstageNet/production/gardenNew.html', context={"art":art,"nums":nums})
- def post(self,request):
- req = request.POST.get("req")
- farm_id = request.POST.get('id')
- art_list=FarmList.objects.filter(id=farm_id)
- print(art_list)
- data = []
- #编辑回显数据
- if req =="edit":
- for i in art_list:
- if i.manage_user:
- data.append({
- "id":i.id,
- "name":i.name,
- "user":i.user.username,
- "manage_user":i.manage_user.name,
- "area":i.area,
- "curr_var":i.curr_var,
- "farm_img":i.farm_img,
- "farm_desc":i.farm_desc
- })
- else:
- data.append({
- "id":i.id,
- "name":i.name,
- "user":i.user.username,
- "manage_user":"",
- "area":i.area,
- "curr_var":i.curr_var,
- "farm_img":i.farm_img,
- "farm_desc":i.farm_desc
- })
- #删除数据
- if req == 'del':
- pickid = Pick_Pub.objects.filter(farm=farm_id)
- storeid = Store_Manage.objects.filter(farm=farm_id)
- art = FarmList.objects.get(id=farm_id)
- if pickid.count() ==0 and storeid.count() ==0:
- art.delete()
- data="1"
- elif pickid.count() !=0 and storeid.count() ==0:
- pickid.delete()
- art.delete()
- data="1"
- elif pickid.count() ==0 and storeid.count() !=0:
- storeid.delete()
- art.delete()
- data="1"
- elif pickid.count() !=0 and storeid.count() !=0:
- pickid.delete()
- storeid.delete()
- art.delete()
- data="1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
-
- # 修改农场管理
- class Garden_Manage_View(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- if current_user.is_staff == True:
- garden = GardenArea.objects.all()
- elif current_user.is_staff != True:
- garden = GardenArea.objects.filter(user=current_user)
- return render(request, 'backstageNet/production/gardenManage.html', context={"garden":garden})
- def post(self,request):
- #农场id
- farm_id = request.POST.get('id')
- #农场名称
- name = request.POST.get('name')
- #农场介绍
- farm_desc = request.POST.get('content')
- #农场面积
- area = request.POST.get('area')
- #农场品种
- curr_var = request.POST.get('curr_var')
- #农场图片
- farm_img = request.POST.get('img_url')
- #园区id
- gardenid = request.POST.get("ids")
- #修改当前数据
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- if farm_id:
- try:
- hote_sta = FarmList.objects.filter(id=farm_id).update(
- name=name,
- farm_desc=farm_desc,
- area=area,
- curr_var=curr_var,
- farm_img=farm_img,
- user=current_user,
- )
- data="1"
- except Exception as e:
- print(e)
- data="0"
- else:
- try:
- gardens=GardenArea.objects.get(id=gardenid)
- if FarmList.objects.filter(name=name,user=current_user) :
- data = "0"
- else:
- FarmList.objects.create(
- name=name,
- farm_desc=farm_desc,
- area=area,
- curr_var=curr_var,
- farm_img=farm_img,
- user=current_user,
- garden=gardens
- )
- data="1"
- except Exception as e:
- print(e)
- data="0"
- return HttpResponse(data)
- # 新建人员管理
- class Garden_User_View(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- gardenname = request.GET.get("name")
- if current_user.is_staff == True:
- garden = GardenArea.objects.all()
- elif current_user.is_staff != True:
- garden = GardenArea.objects.filter(user=current_user)
- if gardenname:
- garden = GardenArea.objects.filter(name=gardenname)
- farm = FarmList.objects.filter(garden=garden[0])
- if current_user.is_staff == True:
- garden = GardenArea.objects.all()
- elif current_user.is_staff != True:
- garden = GardenArea.objects.filter(user=current_user)
- return render(request, 'backstageNet/production/workerManage.html', context={"garden":garden,"farm":farm})
- def post(self,request):
- #管理者id
- farm_id = request.POST.get('id')
- #管理者名称
- name = request.POST.get('name')
- #性别
- gender = request.POST.get('sex')
- #联系方式
- mobile = request.POST.get('mobile')
- #管理农场
- farm_name = request.POST.get("city")
- #修改
- if farm_id:
- try:
- hote_sta = FarmUser.objects.filter(id=farm_id).update(
- name=name,
- gender=gender,
- mobile=mobile,
- )
- data="1"
- if data=="1":
- farms =FarmUser.objects.get(name=name)
- farm = FarmList.objects.filter(name=farm_name).update(
- manage_user=farms
- )
- data="1"
- except Exception as e:
- print(e)
- data="0"
- else:
- #增加
- try:
- FarmUser.objects.create(
- name=name,
- gender=gender,
- mobile=mobile,
- )
- data="1"
- if data=="1":
- farms =FarmUser.objects.get(name=name)
- farm = FarmList.objects.filter(name=farm_name).update(
- manage_user=farms
- )
- data="1"
- except Exception as e:
- print(e)
- data="0"
- return HttpResponse(data)
- # 人员管理
- class Garden_User_New(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- farmid = request.GET.get('id')
- art_list = FarmUser.objects.get(id=farmid)
- FarmUser.objects.all()
- nums = art_list.count()
- page = int(request.GET.get('page'))
- art = art_list[(9*(page-1)):(page*9)]
- return render(request, 'backstageNet/production/workerNew.html', context={"art":art,"nums":nums})
- def post(self,request):
- req = request.POST.get("req")
- farmuser_id = request.POST.get('id')
- art_list = FarmUser.objects.filter(id=farmuser_id)
- data = []
- #编辑数据回显
- if req == "edit":
- for i in art_list:
- data.append({
- "id":i.id,
- "name":i.name,
- "gender":i.gender,
- "mobile":i.mobile
- })
- #删除
- elif req == 'del':
- art_list.delete()
- data = "1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 库存新建
- class Repertory_View(ListView):
- def get(self,request):
- return render(request, 'backstageNet/production/repertoryManage.html', context={})
- def post(self,request):
- #库存id
- store_id = request.POST.get('id')
- #物料名称
- name = request.POST.get('name')
- #物料类别
- rtype = request.POST.get('rtype')
- #规格
- spec = request.POST.get('spec')
- #库存
- rese = request.POST.get('rese')
- #修改
- if store_id:
- try:
- hote_sta = Store_Manage.objects.filter(id=store_id).update(
- name=name,
- rtype=rtype,
- spec=spec,
- rese=rese,
- )
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- else:
- #新增
- try:
- Store_Manage.objects.create(
- name=name,
- rtype=rtype,
- spec=spec,
- rese=rese,
- )
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 库存管理
- class Repertory_New(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- ids = int(request.GET.get('ids'))
- try:
- art = FarmList.objects.filter(garden=ids,user=current_user)
- if art:
- art_list = Store_Manage.objects.all()
- print(art_list)
- except Exception as e:
- print(e)
- art_list = ""
- nums = len(art_list)
- page = int(request.GET.get('page'))
- art = art_list[(9*(page-1)):(page*9)]
- return render(request, 'backstageNet/production/repertoryNew.html', context={"art":art,"nums":nums})
- def post(self,request):
- req = request.POST.get("req")
- store_id = request.POST.get('id')
- art_list=Store_Manage.objects.filter(id=store_id)
- data = []
- #编辑数据回显
- if req == "edit":
- for i in art_list:
- data.append({
- "id":i.id,
- "name":i.name,
- "rtype":i.rtype,
- "spec":i.spec,
- "rese":i.rese
- })
- #删除
- elif req == 'del':
- art_list.delete()
- data = "1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 库存管理(出库,入库)
- class Repertory_New_View(ListView):
- def get(self,request):
- pass
- def post(self,request):
- req = request.POST.get("req")
- store_id = request.POST.get('id')
- num = int(request.POST.get('num'))
- print("num",num)
- art_list = Store_Manage.objects.filter(id=store_id)
- #出库
- if req == "see":
- for i in art_list:
- res = int(i.rese)
- r = res-num
- if r >0 or r == 0:
- Store_Manage.objects.filter(id=store_id).update(rese=r)
- data = "1"
- else:
- data = "0"
- return HttpResponse(data)
- #入库
- elif req == "add":
- for i in art_list:
- res = int(i.rese)
- r = res+num
- if r:
- Store_Manage.objects.filter(id=store_id).update(rese=r)
- data = "1"
- else:
- data = "0"
- return HttpResponse(data)
- # 园区下地块
- class Sell_Land(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- data = []
- current_user = MyUser.objects.get(username=username)
- if current_user.is_superuser != True and current_user.is_staff != True:
- farm_l = GardenArea.objects.filter(user=current_user)
- else:
- farm_l = GardenArea.objects.all()
- for i in farm_l:
- print(i.id)
- try:
- farm_list = FarmList.objects.get(garden=i.id)
- # print(farm_list.name)
- farm_list = farm_list.name
- except:
- farm_list = ''
- data.append({"garden":i.name,"farm_name":farm_list})
- data = json.dumps(data)
- return HttpResponse(data)
- # 销售管理
- class Sell_View(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- area_list = GardenArea.objects.all()
- area_obj = GardenArea.objects.all().first()
- farm_list = FarmList.objects.filter(garden=area_obj)
- return render(request, 'backstageNet/production/sellManage.html',context={"area_list":area_list,"farm_list":farm_list})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- page = int(request.POST.get("page"))
- dat = []
- try:
- # user_gar = GardenArea.objects.get(user=current_user)
- # farm_list = FarmList.objects.filter(garden=user_gar)
- if current_user.is_superuser != True and current_user.is_staff != True:
- farm_list = FarmList.objects.filter(garden__user=current_user)
- else:
- farm_list = FarmList.objects.all()
- for i in farm_list:
- for x in Sell_Manage.objects.filter(farm=i):
- dat.append({
- "id":x.id,
- "farm":x.farm.name,"name":x.name,
- "num":x.num,"money":x.money,
- "time":x.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- })
- except Exception as e:
- print(e)
- dat = []
- nums = len(dat)
- dat = dat[(9*(page-1)):(page*9)]
- data = json.dumps({"dat":dat,"nums":nums})
- return HttpResponse(data)
- # 销售新建
- class Sell_New(ListView):
- def get(self,request):
- pass
- def post(self,request):
- farm = request.POST.get("farm")
- name = request.POST.get("name")
- num = request.POST.get("num")
- money = request.POST.get("money")
- time = request.POST.get("time")
- s_id = request.POST.get("id")
- username = request.user.username
-
- if s_id:
- try:
- farm_obj = FarmList.objects.get(name=farm,user=username)
- sell_obj = Sell_Manage.objects.get(id=s_id)
- sell_obj.farm = farm_obj
- sell_obj.name = name
- sell_obj.num = num
- sell_obj.money = money
- sell_obj.upl_time = time
- sell_obj.save()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- else:
- try:
- farm_obj = FarmList.objects.get(name=farm,user=username)
- Sell_Manage.objects.create(farm=farm_obj,name=name,num=num,money=money,upl_time=time)
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 销售删除
- class Sell_Del(ListView):
- def get(self,request):
- pass
- def post(self,request):
- s_id = request.POST.get("id")
- try:
- sell_obj = Sell_Manage.objects.get(id=s_id)
- sell_obj.delete()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 数据分析
- class Cropdata(ListView):
- def get(self,request):
- return render(request, 'backstageNet/production/cropdata.html', context={})
- def post(self,request):
- pass
- # 种植统计
- class CropCount(ListView):
- def get(self,request):
- return render(request, 'backstageNet/production/cropcount.html', context={})
- def post(self,request):
- username = request.user.username
- crop_count = request.POST.get('crop_count')
- area = request.POST.get('area')
- crop_id = request.POST.get('id')
- upl_time = request.POST.get("upl_time")
- cropname = request.POST.get('cropname')
- city = request.POST.get("city")
- count=crop_count + city
- print(count)
- #修改
- if crop_id:
- print("修改")
- try:
- crops =GardenArea.objects.get(name=area)
- crop = Areacrop.objects.filter(id=crop_id).update(
- cropname=cropname,
- area=crops,
- upl_time=upl_time,
- crop_count=count,
- )
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- else:
- print("新增")
- #新增
- try:
- crops =GardenArea.objects.get(name=area)
- Areacrop.objects.create(
- cropname=cropname,
- area=crops,
- upl_time=upl_time,
- crop_count=count,
- )
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 种植管理
- class CropCount_View(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- art = GardenArea.objects.filter(user=current_user)
- page = int(request.GET.get("page"))
- dat = []
- for i in art:
- art_list = Areacrop.objects.filter(area=i)
- for x in art_list:
- # if x.end_time:
- # time = int(x.upl_time.strftime("%Y%m%d"))
- # time_now = int(x.end_time.strftime("%Y%m%d"))
- # data = time_now-time
- # curro = "当前阶段已结束"
- # h2 = {"cropname":x.cropname,
- # "area":x.area.name,
- # "crop_count":x.crop_count,
- # "img":x.area.img,
- # "time":data,
- # "upl_time":x.upl_time.strftime('%Y-%m-%d'),
- # "id":x.id
- # }
- # dat.append({"data":h2,"curro":curro})
- # else:
- time = int(x.upl_time.strftime("%Y%m%d"))
- time_now = int(timezone.now().strftime("%Y%m%d"))
- data = time_now-time
- print(data)
- curro = ""
- h2 = {"cropname":x.cropname,
- "area":x.area.name,
- "crop_count":x.crop_count,
- "img":x.area.img,
- "time":data,
- "id":x.id,
- "upl_time":x.upl_time.strftime('%Y-%m-%d')
- }
- dat.append({"data":h2,"curro":curro})
- nums = len(dat)
- dat = dat[(9*(page-1)):(page*9)]
- data = json.dumps({"dat":dat,"nums":nums})
- return HttpResponse(data)
- def post(self,request):
- req = request.POST.get("req")
- areacropid = request.POST.get("id")
- art_list = Areacrop.objects.filter(id=areacropid)
- data = []
- #结束时间
- if req == "end":
- for x in art_list:
- Areacrop.objects.filter(id=areacropid).update(
- end_time=datetime.datetime.now()
- )
- data = "1"
- #编辑数据返现
- elif req == "edit":
- for i in art_list:
- data.append({
- "id":i.id,
- "area":i.area.name,
- "crop_count":i.crop_count,
- "cropname":i.cropname,
- "upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- })
- #删除
- elif req == "del":
- art_list.delete()
- data = "1"
- data = json.dumps(data)
- return HttpResponse(data)
- # 个人采摘
- class Pick(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- try:
- # user_gar = GardenArea.objects.get(user=current_user)
- farm_list = FarmList.objects.filter(garden__user=current_user)
- except Exception as e:
- print(e)
- farm_list = ""
- nums = farm_list.count()
- return render(request, 'backstageNet/production/pick.html', context={"farm_list":farm_list,"nums":nums})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- page = int(request.POST.get("page"))
- dat = []
- try:
- farm_list = FarmList.objects.filter(garden__user=current_user)
- for i in farm_list:
- for x in Person_Pick.objects.filter(farm=i):
- dat.append({
- "id":x.id,
- "farm":x.farm.name,"name":x.name,
- "num":x.num,"var":x.var,
- "time":x.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- })
- except Exception as e:
- print(e)
- dat = []
- nums = len(dat)
- dat = dat[(9*(page-1)):(page*9)]
- data = json.dumps({"dat":dat,"nums":nums})
- return HttpResponse(data)
- # 采摘新建
- class Pick_New(ListView):
- def get(self,request):
- pass
- def post(self,request):
- farm = request.POST.get("farm")
- name = request.POST.get("name")
- num = request.POST.get("num")
- var = request.POST.get("var")
- time = request.POST.get("time")
- p_id = request.POST.get("id")
- if p_id:
- try:
- farm_obj = FarmList.objects.get(name=farm)
- pick_obj = Person_Pick.objects.get(id=p_id)
- pick_obj.farm = farm_obj
- pick_obj.name = name
- pick_obj.num = num
- pick_obj.var = var
- pick_obj.upl_time = time
- pick_obj.save()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- else:
- try:
- farm_obj = FarmList.objects.get(name=farm)
- Person_Pick.objects.create(farm=farm_obj,name=name,num=num,var=var,upl_time=time)
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 采摘删除
- class Pick_Del(ListView):
- def get(self,request):
- pass
- def post(self,request):
- p_id = request.POST.get("id")
- try:
- pick_obj = Person_Pick.objects.get(id=p_id)
- pick_obj.delete()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 类型分析
- class Type_View(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- area_list = GardenArea.objects.all()
- return render(request, 'backstageNet/datacenter/cropdata.html', context={"area_list":area_list})
- def post(self,request):
- area = request.POST.get("id")
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- year = datetime.datetime.now().year
- start_1 = datetime.date(year,1,1)
- end_1 = datetime.date(year,3,31)
- start_2 = datetime.date(year,4,1)
- end_2 = datetime.date(year,6,30)
- start_3 = datetime.date(year,7,1)
- end_3 = datetime.date(year,9,30)
- start_4 = datetime.date(year,10,1)
- end_4 = datetime.date(year,12,31)
- money = 0
- dat = []
- dat1 = []
- dat2 = []
- dat3 = []
- dat4 = []
- start_date = datetime.datetime.now().year
- start_date = datetime.date(start_date,1,1)
- end_date = datetime.datetime.now()
- if area:
- # area_obj = GardenArea.objects.get(id=area)
- for i in FarmList.objects.filter(garden_id=area):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_1, end_1)):
- money = money + int(x.money)
- dat1.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(garden_id=area):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_2, end_2)):
- money = money + int(x.money)
- dat2.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(garden_id=area):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_3, end_3)):
- money = money + int(x.money)
- dat3.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(garden_id=area):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_4, end_4)):
- money = money + int(x.money)
- dat4.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(garden_id=area):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_date, end_date)):
- money = money + int(x.money)
- dat.append({"area":i.area,"name":i.name,"money":money})
- money = 0
- data = json.dumps({"1":dat1,"2":dat2,"3":dat3,"4":dat4,"dat":dat})
- return HttpResponse(data)
-
- # 对比分析
- class Contrast_View(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- area_list = GardenArea.objects.all()
- area_obj = GardenArea.objects.all().first()
- farm_list = FarmList.objects.filter(garden=area_obj)
- return render(request, 'backstageNet/datacenter/contrast.html', context={"area_list":area_list,"farm_list":farm_list})
- def post(self,request):
- area_id = request.POST.get("id")
- farm_list = FarmList.objects.filter(garden_id=area_id)
- dat= []
- for i in farm_list:
- dat.append({"name":i.name,"id":i.id})
- data = json.dumps(dat)
- return HttpResponse(data)
- # 对比分析详情
- class Contrast_Detail(ListView):
- def get(self,request):
- pass
- def post(self,request):
- farm_id = request.POST.get("id")
- year = datetime.datetime.now().year
- start_1 = datetime.date(year,1,1)
- end_1 = datetime.date(year,12,31)
- start_2 = datetime.date(year-1,1,1)
- end_2 = datetime.date(year-1,12,31)
- start_3 = datetime.date(year-2,1,1)
- end_3 = datetime.date(year-2,12,31)
- start_4 = datetime.date(year-3,1,1)
- end_4 = datetime.date(year-3,12,31)
- dat1 = []
- dat2 = []
- dat3 = []
- dat4 = []
- money = 0
- if farm_id != "":
- print("+++++++++++++++++")
- # area_obj = GardenArea.objects.get(id=area)
- for i in FarmList.objects.filter(id=farm_id):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_1, end_1)):
- money = money + int(x.money)
- dat1.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(id=farm_id):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_2, end_2)):
- money = money + int(x.money)
- dat2.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(id=farm_id):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_3, end_3)):
- money = money + int(x.money)
- dat3.append({"farm":i.name,"money":money})
- money = 0
- for i in FarmList.objects.filter(id=farm_id):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_4, end_4)):
- money = money + int(x.money)
- dat4.append({"farm":i.name,"money":money})
- money = 0
- elif farm_id == "":
- print("--------")
- dat1 = []
- dat2 = []
- dat3 = []
- dat4 = []
- data = json.dumps({"1":dat1,"2":dat2,"3":dat3,"4":dat4})
- return HttpResponse(data)
- # 对比分析列表
- class Contrast_List(ListView):
- def get(self,request):
- pass
- def post(self,request):
- area_id = request.POST.get("id")
- page = int(request.POST.get("page"))
- dat = []
- farm_list = FarmList.objects.filter(garden_id=area_id)
- for i in farm_list:
- for x in Sell_Manage.objects.filter(farm=i):
- dat.append({"name":x.farm.name,"num":x.num,"area":x.farm.area,"money":x.money,"upl_time":x.upl_time.strftime('%Y-%m-%d %H:%M:%S')})
- nums = len(dat)
- dat = dat[(10*(page-1)):(page*10)]
- data = json.dumps({"dat":dat,"nums":nums})
- return HttpResponse(data)
- # 产业数据
- class Industry_Data(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- area_list = GardenArea.objects.all()
- return render(request, 'backstageNet/datacenter/industrydata.html', context={"area_list":area_list})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- area = request.POST.get("id")
- page = int(request.POST.get("page"))
- dat = []
- money = 0
- start_date = datetime.datetime.now().year
- start_date = datetime.date(start_date,1,1)
- end_date = datetime.datetime.now()
- if area:
- # area_obj = GardenArea.objects.get(id=area)
- for i in FarmList.objects.filter(garden_id=area):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_date, end_date)):
- money = money + int(x.money)
- dat.append({"farm":i.name,"money":money,"manage":i.manage_user,"area":i.area})
- money = 0
- else:
- area_obj = GardenArea.objects.get(user=current_user)
- for i in FarmList.objects.filter(garden=area_obj):
- for x in Sell_Manage.objects.filter(farm=i,upl_time__range=(start_date, end_date)):
- money = money + int(x.money)
- dat.append({"farm":i.name,"money":money,"manage":i.manage_user,"area":i.area})
- money = 0
- nums = len(dat)
- dat_split = dat[(10*(page-1)):(page*10)]
- data = json.dumps({"dat":dat,"nums":nums,"dat_split":dat_split})
- return HttpResponse(data)
- # 气象站阈值设置
- class QXZ_Warning_View(ListView):
- def get(self,request):
- user_name = request.user.username
- print('user_name=', user_name)
- current_user = MyUser.objects.get(username=user_name)
- equip_list = Equip.objects.filter(equip_user=current_user,equip_type=5)
- return render(request, 'backstageNet/warn/warnSet.html', context={"equip_list":equip_list})
- def post(self,request):
- pass
- # 气象站阈值记录
- class QXZ_Warning_List(ListView):
- def get(self,request):
- return render(request, 'backstageNet/warn/warnRecord.html', context={})
- def post(self,request):
- pass
- # 生产方式设置
- class Production_Set(ListView):
- def get(self,request):
- user_name = request.user.username
- print('user_name=', user_name)
- current_user = MyUser.objects.get(username=user_name)
- equip_list = Equip.objects.filter(equip_user=current_user,equip_type=5)
- return render(request, 'backstageNet/warn/productionset.html', context={"equip_list":equip_list})
- def post(self,request):
- pass
- # 农场划分
- class Farm_Mark(ListView):
- def get(self,request):
- return render(request, 'backstageNet/basicSet/farmmark.html', context={})
- def post(self,request):
- pass
- # 农场列表
- class Farm_List(ListView):
- def get(self,request):
- return render(request, 'backstageNet/basicSet/farmlist.html', context={})
- def post(self,request):
- pass
- # 交通指引
- class Traffic_Line(ListView):
- def get(self,request):
- return render(request, 'backstageNet/trafficLine/trafficLine.html', context={})
- def post(self,request):
- pass
- # 管理员新闻发布
- class Policy_Pub(ListView):
- def get(self,request):
- return render(request, 'backstageNet/annunciate/policyPub.html', context={})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # news_photo = request.POST.get('upload')
- art_type = request.POST.get('type')
- # writer = request.POST.get('writer')
- # intro = request.POST.get('intro')
- title = request.POST.get('title')
- content = request.POST.get('content')
- policyid = request.POST.get("id")
- #修改
- if policyid:
- try:
- CKArticle.objects.filter(id=policyid).update(art_type=art_type,title=title,content=content,hidden=True)
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- #创建
- else:
- try:
- CKArticle.objects.create(author=current_user,art_type=art_type,title=title,content=content,hidden=True)
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 管理员新闻列表
- class Policy_List_View(ListView):
- def get(self,request):
- return render(request, 'backstageNet/annunciate/policyListView.html', context={})
- def post(self,request):
- policyid = request.POST.get("id")
- req = request.POST.get("req")
- art_list = CKArticle.objects.filter(id=policyid)
- data = []
- #查看
- if req == "see":
- for i in art_list:
- data.append({
- "art_type":i.art_type,
- "title":i.title,
- "content":i.content,
- "time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S'),
- "author":i.author.username
- })
- elif req == "del":
- art_list.delete()
- data="1"
- data = json.dumps(data,ensure_ascii=False)
- return HttpResponse(data)
- # 管理员新闻列表
- class Policy_List(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- art_list = CKArticle.objects.all().exclude(art_type=5)
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/annunciate/policyList.html', context={"art":art,"nums":nums})
- def post(self,request):
- data = []
- req = request.POST.get("req")
- page = int(request.POST.get("page"))
- print(req)
- if req == "":
- art_list = CKArticle.objects.filter(art_type__lte=2)
- nums = art_list.count()
- else:
- art_list = CKArticle.objects.filter(art_type=req)
- #筛选
- nums = art_list.count()
- art = art_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/annunciate/policyList.html', context={"art":art,"nums":nums})
-
-
- # 个人农场主页
- class Person_Farm(ListView):
- def get(self,request):
- uname = request.GET.get('name')
- current_user = MyUser.objects.get(username=uname)
- news = CKArticle.objects.filter(author=current_user)
- garden = GardenArea.objects.get(user=current_user)
- video = Video_data.objects.filter(author=current_user)
- product = Product.objects.filter(author=current_user)
- return render(request, 'outerNet/person_farm.html', context={"news":news,"garden":garden,"video":video,"product":product})
- def post(self,request):
- pass
- # 农场管理界面
- class Person_Farm_Edit(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- print("当前用户为:", username)
- return render(request, 'backstageNet/production/person_farm_edit.html', context={"current_user":user})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- try:
- gar_area = GardenArea.objects.get(user=current_user)
- data = {"name":gar_area.name,"manage":gar_area.manage,"mobile":gar_area.mobile,
- "area":gar_area.area,"location":gar_area.location,"addr":gar_area.addr,
- "desc":gar_area.desc,"img":gar_area.img,"guide_img":gar_area.guide_img
- }
-
- except Exception as e:
- print(e)
- data = {"name":"","manage":"","mobile":"",
- "area":"","location":"","addr":"",
- "desc":"","img":"","guide_img":""
- }
- data = json.dumps(data)
- return HttpResponse(data)
- # 园区发布
- class Person_Area_Pub(ListView):
- def get(self,request):
- pass
- def post(self,request):
- # current_user = MyUser.objects.get(username='admin')
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- print("当前用户为:", username)
- # 农场名称
- name = request.POST.get('name')
- # 负责人
- manage = request.POST.get('manage')
- # 联系电话
- mobile = request.POST.get('mobile')
- # 面积
- area = request.POST.get('area')
- # 农场介绍
- desc = request.POST.get('desc')
- # 图片
- img = request.POST.get('img')
- location = request.POST.get('location')
- addr = request.POST.get('addr')
- guide_img = request.POST.get('guide_img')
- if GardenArea.objects.filter(user=user).exists():
- try:
- gar_obj = GardenArea.objects.get(user=user)
- gar_obj.name = name
- gar_obj.manage = manage
- gar_obj.mobile = mobile
- gar_obj.area = area
- gar_obj.desc = desc
- gar_obj.img = img
- gar_obj.location = location
- gar_obj.addr = addr
- gar_obj.guide_img = guide_img
- gar_obj.save()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- else:
- try:
- GardenArea.objects.create(user=user,name=name,manage=manage,mobile=mobile,
- area=area,desc=desc,img=img,guide_img=guide_img,
- location=location,addr=addr)
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- class Person_View(ListView):
- def get(self,request):
- # 接收当前用户
- # current_user = request.session.get('username')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username=current_user)
- page = request.GET.get("page")
- uname = request.GET.get("uname")
- user_list = MyUser.objects.all()
- nums = user_list.count()
- return render(request, 'backstageNet/systemSet/userManage.html', context={"nums": nums,"page":page,"uname":uname})
- def post(self, request):
- pass
- # 地图设置
- class SetMap_View(ListView):
- def get(self,request):
- # 接收当前用户
- # current_user = request.session.get('username')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username=current_user)
- page = request.GET.get("page")
- uname = request.GET.get("uname")
- user_list = MyUser.objects.all()
- nums = user_list.count()
- pic_list = Pic_Info.objects.get(pic_user=current_user)
- return render(request, 'backstageNet/systemSet/mapManage.html', context={"nums": nums,"page":page,"uname":uname,"pic_list":pic_list})
- def post(self, request):
- map_photo = request.FILES.get('upicture')
- if map_photo:
- print("地图图片:", map_photo)
- map_photo_dir = 'map_photo/'
- end_name = map_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(map_photo_dir) == False:
- os.makedirs(map_photo_dir)
- img = Image.open(map_photo)
- # img = img.convert('RGB')
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(map_photo_dir + pic_name)
- news_photo = map_photo_dir + pic_name
- print("new_photo:",news_photo)
- data = {"code": 0,"msg": "","data": {"src": news_photo}}
- else:
- new_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": news_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- class Person_List(ListView):
- def get(self,request):
- page = int(request.GET.get('page'))
- print("page=", page)
- uname = request.GET.get("uname")
- # 接收当前用户
- # current_user = request.session.get('username')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username=current_user)
- # if current_user.is_superuser == True:
- user_list = MyUser.objects.all().order_by(
- "-date_joined")[(10*(page-1)):(page*10)]
- if uname:
- user_list = MyUser.objects.filter(username__contains=uname).order_by(
- "-date_joined")[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/systemSet/user_list.html', context={'user_list': user_list})
- def post(self,request):
- # current_user = request.session.get('username')
- # print("current_user:", current_user)
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- print("筛选:")
- f_name = request.POST.get('uname')
- page = int(request.POST.get('page'))
- print("page:", page)
- user_list = MyUser.objects.filter(username__contains=f_name)
- nums = user_list.count()
- user_list = user_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/systemSet/user_list.html', context={'user_list': user_list, "nums": nums})
- class Area_Create(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- currpage = request.GET.get('currpage')
- uname = request.GET.get("uname")
- f_name = request.GET.get("f_name")
- user_obj = MyUser.objects.get(username=uname)
- try:
- curr_area = GardenArea.objects.get(user=user_obj)
- # user_area = {"name":curr_area.name,"location":curr_area.location}
- except Exception as e:
- print(e)
- curr_area = ""
- # user_area = {"name":"","location":""}
- return render(request, 'backstageNet/systemSet/onlineSplit.html', context={"currpage":currpage,"uname":uname,"f_name":f_name,"curr_area":curr_area})
- def post(self,request):
- uname = request.POST.get("uname")
- name = request.POST.get("name")
- area = request.POST.get("area")
- location = request.POST.get("location")
- user_obj = MyUser.objects.get(username=uname)
- if GardenArea.objects.filter(user=user_obj).exists():
- try:
- area_obj = GardenArea.objects.get(user=user_obj)
- area_obj.name = name
- area_obj.area = area
- area_obj.location = location
- area_obj.upl_time = datetime.datetime.now()
- area_obj.save()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- else:
- try:
- GardenArea.objects.create(user=user_obj,name=name,area=area,location=location,upl_time=datetime.datetime.now())
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
-
- return HttpResponse(data)
- class Area_Map(ListView):
- def get(self,request):
- return render(request, 'backstageNet/systemSet/onlineSplitMap.html', context={})
- def post(self,request):
- uname = request.POST.get("uname")
- user_obj = MyUser.objects.get(username=uname)
- all_area = []
- area_list = GardenArea.objects.all().exclude(user=user_obj)
- for i in area_list:
- all_area.append({"name":i.name,"location":i.location})
- try:
- curr_area = GardenArea.objects.get(user=user_obj)
- user_area = {"name":curr_area.name,"location":curr_area.location}
- except Exception as e:
- print(e)
- user_area = {"name":"","location":""}
- data = json.dumps({"all_area":all_area,"user_area":user_area})
- return HttpResponse(data)
- # 菜单权限
- class Limit(ListView):
- def get(self,request):
- currpage = request.GET.get('currpage')
- uname = request.GET.get("uname")
- f_name = request.GET.get("f_name")
- return render(request, 'backstageNet/limit/limit.html', context={"currpage":currpage,"uname":uname,"f_name":f_name})
- def post(self,request):
- uname = request.POST.get("uname")
- user_obj = MyUser.objects.get(username=uname)
- return HttpResponse(user_obj.limit)
- class Limit_View(ListView):
- def get(self,request):
- # 接收当前用户
- # current_user = request.session.get('username')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username=current_user)
- page = request.GET.get("page")
- uname = request.GET.get("uname")
- user_list = MyUser.objects.all()
- nums = user_list.count()
- return render(request, 'backstageNet/limit/limitUserManage.html', context={"nums": nums,"page":page,"uname":uname})
- def post(self, request):
- uname = request.POST.get("uname")
- limit = request.POST.get("limit")
- user_obj = MyUser.objects.get(username=uname)
- try:
- user_obj.limit = limit
- user_obj.save()
- data = "1"
- except Exception as e:
- print("错误信息为",e)
- data = "0"
- return HttpResponse(data)
- class Person_Limit(ListView):
- def get(self,request):
- page = int(request.GET.get('page'))
- print("page=", page)
- uname = request.GET.get("uname")
- # 接收当前用户
- # current_user = request.session.get('username')
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- # print("current_user:", current_user)
- # current_user = MyUser.objects.get(username=current_user)
- # if current_user.is_superuser == True:
- user_list = MyUser.objects.all().order_by(
- "-date_joined")[(10*(page-1)):(page*10)]
- if uname:
- user_list = MyUser.objects.filter(username__contains=uname).order_by(
- "-date_joined")[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/limit/limit_user_list.html', context={'user_list': user_list})
- def post(self,request):
- # current_user = request.session.get('username')
- # print("current_user:", current_user)
- username = request.user.username
- print('username:',username)
- current_user = MyUser.objects.get(username=username)
- print("筛选:")
- f_name = request.POST.get('uname')
- page = int(request.POST.get('page'))
- print("page:", page)
- user_list = MyUser.objects.filter(username__contains=f_name)
- nums = user_list.count()
- user_list = user_list[(10*(page-1)):(page*10)]
- return render(request, 'backstageNet/limit/limit_user_list.html', context={'user_list': user_list, "nums": nums})
- # 专家诊断
- class Expert(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- role = "0"
- if user.is_staff == True:
- role = "1"
- return render(request, 'backstageNet/limit/expert.html', context={"role":role})
- def post(self,request):
- pass
- class learnDepot(ListView):
- def get(self,request):
- return render(request, 'backstageNet/limit/learnDepot.html', context={})
- def post(self,request):
- pass
- # 创建新用户
- class Create_User(ListView):
- def get(self,request):
- currpage = request.GET.get("currpage")
- f_name = request.GET.get("f_name")
- userId = request.GET.get("userId")
- return render(request, 'backstageNet/systemSet/creatUser.html', context={"currpage":currpage,"f_name":f_name,"userId":userId})
- def post(self,request):
- name = request.POST.get("name")
- email = request.POST.get("email")
- phone = request.POST.get("phone")
- role = request.POST.get("role")
- user_remark = request.POST.get("desc")
- uid = request.POST.get("id")
- if uid:
- userobj = MyUser.objects.get(id=uid)
- userobj.user_phone = phone
- userobj.is_staff = role
- userobj.user_remark = user_remark
- userobj.save()
- return HttpResponse("1")
- if MyUser.objects.extra(where=['binary username=%s'], params=[name]).exists():
- # 用户已存在!!!
- data = "3"
- return HttpResponse(data)
- elif MyUser.objects.filter(email = email).exists():
- # 该邮箱已注册!!!
- data = "2"
- return HttpResponse(data)
- else:
- UserModel = get_user_model()
- # 创建用户:
- try:
- user = UserModel.objects.create_user(username=name, email=email,\
- user_phone=phone, password="yf123456",\
- is_active = 1,is_staff = int(role),user_remark = user_remark,limit =
- [{
- "id": 1,
- "title": "首页",
- "icon": "",
- "url": "map",
- "checked": "false",
- "children": []
- },
- {
- "id": 3,
- "title": "信息发布",
- "icon": "",
- "url": "",
- "children": [
- {
- "id": 3.1,
- "title": "新闻资讯",
- "url": "news_pub",
- },
- {
- "id": 3.2,
- "title": "视频资讯",
- "url": "video_pub",
- },
- {
- "id": 3.2,
- "title": "产品展厅",
- "url": "equip_pub",
- },
- {
- "id": 3.3,
- "title": "四季采摘",
- "url": "garden_pub",
- },
- {
- "id": 3.4,
- "title": "民宿导览",
- "url": "dorm_pub",
- },
- ]
- },
- ])
- user.save()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 管理员修改密码
- class Change_Pwd(ListView):
- def get(self,request):
- pass
- def post(self,request):
- uname = request.POST.get("uname")
- new_pwd = request.POST.get("userpassword")
- print("uname:",uname)
- print("new_pwd:",new_pwd)
- user = MyUser.objects.get(username=uname)
- user.set_password(new_pwd)
- try:
- user.save()
- data = "1"
- except:
- data = "0"
- return HttpResponse(data)
- # 删除用户
- class Delete_User(ListView):
- def get(self,request):
- pass
- def post(self,request):
- uname = request.POST.get("uname")
- try:
- user_obj = MyUser.objects.get(username=uname)
- user_obj.delete()
- data = "1"
- except Exception as e:
- print(e)
- data = "0"
- return HttpResponse(data)
- # 用户修改自己密码
- class User_Change_Pwd(ListView):
- def get(self,request):
- return render(request, 'backstageNet/systemSet/changePwd.html', context={})
- def post(self,request):
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- print("当前用户为:", username)
- oldpassword = request.POST.get('oldpassword')
- password = request.POST.get('password')
- print("post的oldpassword:", oldpassword)
- print("post的password:", password)
-
- if(check_password(oldpassword, user.password)):
- user.set_password(password)
- user.save()
- data = "1"
- else:
- data = "0"
- return HttpResponse(data)
- # 用户信息
- class User_Info(ListView):
- def get(self,request):
- pass
- def post(self,request):
- uid = request.POST.get('id')
- user = MyUser.objects.get(id=uid)
- data = {"name":user.username,"email":user.email,"phone":user.user_phone,"remark":user.user_remark,"role":user.is_staff}
- data = json.dumps(data)
- return HttpResponse(data)
- # 气象站阈值接口
- class QXZ_Auto(ListView):
- def get(self,request):
- pass
-
- def post(self,request):
- imei = request.POST.get('imei')
- try:
- auto_list = QXZAutoswitch.objects.get(equip_id_id=imei)
- qxz_list = QXZstatus.objects.get(equip_id_id=imei)
- data = {"qxz_list":eval(qxz_list.qxz_status)['data'],"auto_list":auto_list.qxz_auto}
- except:
- data = {"qxz_list":[],"auto_list":[]}
- data = json.dumps(data)
- return HttpResponse(data)
- # 气象站阈值设置接口
- class QXZ_Value_Mqtt(ListView):
- def get(self,request):
- pass
-
- def post(self,request):
- req = request.POST.get('req')
- jk = request.POST.get('JK')
- ekey = request.POST.get('eKey')
- upper = request.POST.get('upper')
- lower = request.POST.get('lower')
- method = request.POST.get('method')
- imei = request.POST.get('imei')
- # topic = "/yfkj/qxz/sub/"+imei
- # if req == "read":
- # payload = {"ext":{"type":"status"},"cmd":"read"}
- # elif req == "set":
- # way = int(request.POST.get('way'))
- # switch = int(request.POST.get('switch'))
- # payload = {"cmd":"control","ext":{"JK":way,"status":switch}}
- # elif req == "conf":
- # payload = {"ext":{"type":"jkStatus"},"cmd":"read"}
-
- # cmd = {"topic":topic,"payload":json.dumps(payload),'qos':0}
- # res = requests.post("http://www.yfzhwlw.com:8080/api/v2/mqtt/publish",
- # data=json.dumps(cmd), auth=HTTPBasicAuth("admin", "yfkj_6019"))
- # print("res.status_code:", type(res.status_code))
- # if res.status_code == 200:
- # data = "0"
- # return HttpResponse(data)
- # else:
- # data = "1"
- # return HttpResponse(data)
- return HttpResponse("0")
-
-
-
- # 保存图片信息
- class Pic_locat(ListView):
- def get(self,request):
- pass
-
- def post(self,request):
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- print("当前用户为:", username)
- # 东北点
- locat1 = request.POST.get('locat1')
- # 西南点
- locat2 = request.POST.get('locat2')
- # 图片地址
- addr = request.POST.get('addr')
- locat_info = request.POST.get('locat_info')
- pic_center = request.POST.get('pic_center')
- if Pic_Info.objects.filter(pic_user=user).exists():
- pic_obj = Pic_Info.objects.get(pic_user=user)
- pic_obj.locat1=locat1
- pic_obj.locat2=locat2
- pic_obj.pic_center=pic_center
- pic_obj.addr=addr
- pic_obj.locat_info=locat_info
- pic_obj.save()
- return HttpResponse("1")
- try:
- Pic_Info.objects.create(pic_user=user,locat1=locat1,locat2=locat2,pic_center=pic_center,addr=addr,locat_info=locat_info)
- return HttpResponse("1")
- except Exception as e:
- print("--->>",e)
- return HttpResponse("0")
-
-
- class Home_Farm(ListView):
- def get(self,request):
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- print("当前用户为:", username)
- farm_list = FarmList.objects.all()
- return render(request, 'backstageNet/home.html', context={"farm_list":farm_list})
- def post(self, request):
- pass
-
-
- class Alarm_Record(ListView):
- def get(self,request):
- pass
- def post(self, request):
- alarm_list = QXZ_Alarm_Log.objects.all()
- page = int(request.POST.get("page"))
- dat = []
- for i in alarm_list:
- dat.append({"equip_id":i.equip_id_id,"logs":i.logs,"ekey":i.ekey,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')})
- nums = len(dat)
- dat = dat[(10*(page-1)):(page*10)]
- data = {"dat":dat,"nums":nums}
- data = json.dumps(data)
- return HttpResponse(data)
-
- class Expert_Img(ListView):
- def get(self,request):
- pass
- def post(self,request):
- # e_id = request.POST.get('id')
- # news_sta = Article.objects.get(id=e_id)
- guide_photo = request.FILES['upload']
- if guide_photo:
- print("新闻图片:", guide_photo)
- news_photo_dir = 'media/uploads/'
- end_name = guide_photo.name.split('.')[-1]
- # 判断如果路径不存在,即创建路径
- if os.path.exists(news_photo_dir) == False:
- os.makedirs(news_photo_dir)
- img = Image.open(guide_photo)
- now_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(news_photo_dir + pic_name)
- news_photo = news_photo_dir + pic_name
- print("new_photo:",news_photo)
- data = {"code": 0,"msg": "","data": {"src": news_photo}}
- else:
- new_photo = "0"
- data = {"code": 404,"msg": "","data": {"src": news_photo}}
- data = json.dumps(data)
- return HttpResponse(data)
- class Expert_Info(ListView):
- def get(self,request):
- page = int(request.GET.get("page"))
- expert = Experts.objects.all()
- nums = expert.count()
- username = request.user.username
- print('username:',username)
- user = MyUser.objects.get(username=username)
- role = "0"
- if user.is_staff == True:
- role = "1"
- expert = expert[(9*(page-1)):(page*9)]
- return render(request, 'backstageNet/limit/expertList.html', context={"expert":expert,"nums":nums,"role":role})
- def post(self, request):
- ex_id = request.POST.get('id')
- if ex_id:
- Experts.objects.get(id=ex_id).delete()
- return HttpResponse("1")
- name = request.POST.get('name')
- relation = request.POST.get('relation')
- desc = request.POST.get('desc')
- pic = request.POST.get('pic')
- Experts.objects.create(name=name,relation=relation,desc=desc,pic=pic)
- return HttpResponse("1")
|