def user_per_modfiy(): """ 用户信息修改 :return: """ id = request.values.get('id', -1, type=int) new_perm = request.values.get('newperm') try: user_info = User.query.filter(User.id == id).one() if user_info: if new_perm == "suamdin": User.query.filter(User.id == id).update({User.permissions: 80}) elif new_perm == "admin": User.query.filter(User.id == id).update({User.permissions: 70}) elif new_perm == "ptman": User.query.filter(User.id == id).update({User.permissions: 10}) else: per_modfiy_status = { 'status': 500, 'message': 'Server Error' } return json.dumps(per_modfiy_status) db.session.commit() per_modfiy_status = { 'status': 1, 'message': 'success' } eventlog("[用户信息修改]") return json.dumps(per_modfiy_status) except Exception as e: per_modfiy_status = { 'status': 500, 'message': 'Server Error' } return json.dumps(per_modfiy_status)
def admin_query_list(): """ 后台ajax查询 :return: """ page = request.args.get('page', 1, type=int) request.script_root = url_for('indexview.index', _external=True) campusname = b64decode(unquote(request.args.get('campusname', "", type=str))) buildname = b64decode(unquote(request.args.get('buildname', "", type=str))) devinfo = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceCondition != "N", (Dev_DeviceStatus.Campus.like("%" + campusname + "%"), "")[campusname is None], (Dev_DeviceStatus.Location.like("%" + buildname + "%"), "")[buildname is None] ).order_by(Dev_DeviceStatus.Campus.desc()) paginateion = devinfo.paginate( page, per_page=Setting().pagination ) count = devinfo.count() posts = paginateion.items campus = Dev_Campus.query.all() eventlog( "[查询校区/楼宇]" + campusname + buildname + " 第" + str(page) + "页" ) result = { 'posts': posts, 'count': count, 'pagination': paginateion, 'campus': campus, 'campusname': campusname.decode('utf-8'), 'buildname': buildname.decode('utf-8') } return result
def user_delete(): """ 删除用户 :return: """ id = request.values.get("array_id") try: for one in json.loads(id): user_info = User.query.filter(User.id == one) if user_info: user_info.delete() eventlog("[尝试删除用户] " + str(one)) db.session.commit() user_del_status = { 'status': 1, 'message': 'success' } eventlog("[删除用户成功]") return json.dumps(user_del_status) except Exception as e: user_del_status = { 'status': 500, 'message': 'Server Error' } return json.dumps(user_del_status)
def dev_devdown(): """ 设备下架功能 :return: """ try: dev_id = request.values.get("array_id") for one in json.loads(dev_id.encode("utf-8")): device = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == one) if device: for each_Row in device: device_Condition = each_Row.DeviceCondition if device_Condition != "N": device.update({Dev_DeviceInfo.DeviceCondition: "N"}) Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceModel == one).update( {Dev_DeviceStatus.DeviceCondition: "N"}) else: pass db.session.commit() DCondition_result = {'status': 1, 'message': 'ok'} eventlog("[下架设备] " + str(dev_id)) LVRNumRefresh() return json.dumps(DCondition_result) except Exception as e: print(e) DCondition_result = {'status': 500, 'message': 'Server Error'} return json.dumps(DCondition_result)
def admin_query_serach(): """ 后台搜索 :return: """ request.script_root = url_for('indexview.index', _external=True) page = request.args.get('page', 1, type=int) word = request.args.get('keyword', "", type=str) serach = unquote(b64decode(word)).decode('utf-8') serp = qserach(serach) paginateion = serp.paginate( page, per_page=Setting().pagination ) count = serp.count() posts = paginateion.items eventlog( "[搜索]" + serach.encode('utf-8') + " 第" + str(page) + "页" ) result = { 'posts': posts, 'count': count, 'pagiation': paginateion, 'keyword': serach } return result
def dvr_list_get(): """ dvr分类查询 :return: """ page = request.args.get('page', 1, type=int) request.script_root = url_for('indexview.index', _external=True) devtype = b64decode(unquote(request.args.get('devtype', "", type=str))) devonline = unquote(request.args.get('devonline', "", type=str)) if devonline == "5piv": devonline = "Y" elif devonline == "5ZCm": devonline = "N" devinfo = dvrselectsql(devtype, devonline) pagination = devinfo.paginate(page, per_page=Setting().pagination) count = devinfo.count() datas = pagination.items dev_types = DevDevType.query.all() result = { 'datas': datas, 'count': count, 'pagination': pagination, 'devtype': dev_types, 'devtypebname': devtype.decode('utf-8'), 'devostatus': devonline } eventlog("[访问设备管理分类查询页面] " + str(devtype) + str(devonline)) return result
def serach(): """ 搜索页面 :return: serach.html模板搜索页面 """ page = request.args.get('page', 1, type=int) word = request.args.get('keyword', "", type=str) serach = unquote(b64decode(word)).decode('utf-8') serp = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceCondition != "N", (Dev_DeviceStatus.Campus.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.Location.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.RoomNo.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.HostName.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.LAA.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.HigherlinkIP.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.HigherlinkPort.like("%" + serach + "%"), "")[serach is None] | (Dev_DeviceStatus.DeviceModel.like("%" + serach + "%"), "")[serach is None]).order_by(Dev_DeviceStatus.Campus.desc()) paginateion = serp.paginate(page, per_page=Setting().pagination) count = serp.count() posts = paginateion.items eventlog("[搜索]" + serach.encode('utf-8') + " 第" + str(page) + "页") return render_template('serach.html', posts=posts, count=count, pagination=paginateion, keyword=serach)
def dev_devdel(): """ 删除设备功能 :return: """ try: dev_id = request.values.get("array_id") for one in json.loads(dev_id.encode("utf-8")): device = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == one) if device.one().DeviceCondition == "Y": delete_status = {'status': 2, 'message': '删除前请先下架设备'} return json.dumps(delete_status) else: DevinDStatus = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceModel == one) if DevinDStatus: DevinDStatus.delete() device.delete() db.session.commit() delete_status = {'status': 1, 'message': 'success'} eventlog("[删除设备] " + str(dev_id)) LVRNumRefresh() return json.dumps(delete_status) except Exception as e: delete_status = {'status': 500, 'message': 'error'} return json.dumps(delete_status)
def user_create(): """ 创建用户 :return: """ form = CreateUser() if request.method == 'POST': if form.validate_on_submit(): user = User.query.filter_by( username=form.username.data ).first() pwd = request.values.get("pwd") if user: flash(u"用户名已存在,请更换用户名", "user_error") else: permissions = form.permission.data if permissions == 'ptman': user_permission = 10 elif permissions == 'admin': user_permission = 70 elif permissions == 'suadmin': user_permission = 80 else: abort(500) newuser = User( username=form.username.data,password=md5s(None, pwd),permissions=user_permission ) db.session.add(newuser) db.session.commit() flash(u"新用户创建成功") eventlog("[创建用户]") return 0 return form
def LVR_Device_Info(LVRNo): """ 根据弱电间编号查询设备信息 :param LVRNo: 弱电间编号 :return: json结果 """ Device_Array = [] try: Device_INFO = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.RoomNo == LVRNo) for each_Device_INFO in Device_INFO: DeviceModel = each_Device_INFO.DeviceModel Device = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == DeviceModel).one() Device_JSON = {} Device_JSON["DeviceName"] = Device.DeviceName Device_JSON["DeviceCategory"] = Device.DeviceCategory Device_JSON["DeviceSN"] = Device.DeviceSN Device_JSON["HostName"] = each_Device_INFO.HostName Device_JSON["LAA"] = each_Device_INFO.LAA Device_JSON["HigherlinkIP"] = each_Device_INFO.HigherlinkIP Device_JSON["HigherlinkPordwt"] = each_Device_INFO.HigherlinkPort Device_JSON["DeviceModel"] = each_Device_INFO.DeviceModel Device_JSON["DeviceCondition"] = each_Device_INFO.DeviceCondition Device_Array.append(Device_JSON) eventlog("[根据弱电间编号查询设备信息] " + str(LVRNo)) return json.dumps(Device_Array) except Exception as e: print(e) pass
def notice_list(): """ 通知公告列表 :return: """ page = request.values.get('page', 1, type=int) aname = request.values.get('aname', "", type=str) b64aname = b64decode(unquote(aname)) cuser = request.values.get('cuser', "", type=str) b64cuser = b64decode(unquote(cuser)) cdata = request.values.get('cdata', "", type=str) notices = Dev_Note.query.filter( (Dev_Note.articlename.like("%" + b64aname + "%"), "")[aname is None], (Dev_Note.createuser.like("%" + b64cuser + "%"), "")[cuser is None], (Dev_Note.createdate.like("%" + cdata + "%"), "")[cdata is None]) paginateion = notices.paginate(page, per_page=Setting().pagination) posts = paginateion.items count = notices.count() eventlog("[查看通知公告列表页] " + "第" + str(page) + "页") result = { 'posts': posts, 'count': count, 'pagination': paginateion, 'page': page } return result
def dvr_add_post(): """ 增加设备功能 :return: """ dvrdatas = request.get_json() for each_dvrinfo in dvrdatas: devname = each_dvrinfo['name'] devtype = each_dvrinfo['type'] devserial = each_dvrinfo['serial'] devid = each_dvrinfo['id'] devputaway = each_dvrinfo['putaway'] devcampus = each_dvrinfo['campus'] devlvr = each_dvrinfo['lvr'] devbuild = each_dvrinfo['build'] devhostname = each_dvrinfo['hostname'] devaddr = each_dvrinfo['addr'] devip = each_dvrinfo['ip'] devport = each_dvrinfo['port'] devinfo_db = Dev_DeviceInfo(devname, devtype, devserial, devputaway, devid) devstatus_db = Dev_DeviceStatus(devcampus, devbuild, devlvr, devhostname, devaddr, devip, devport, devserial, devputaway) db.session.add(devinfo_db) if devputaway == "Y": db.session.add(devstatus_db) else: pass db.session.commit() status = {'status': 200} LVRNumRefresh() eventlog("[新增设备]") return jsonify(status)
def logviews(): """ 操作日志界面 :return: 返回数据查询结果并构建相应页面 """ if request.method == "GET": page = request.values.get('page', 1, type=int) uname = request.values.get('username', "", type=str) username = b64decode(unquote(uname)) catsname = request.values.get('cats', "", type=str) cats = b64decode(unquote(catsname)) date = request.values.get('date', "", type=str) logdata = Dev_Loging.query.filter( (Dev_Loging.UserName.like("%" + username + "%"), "")[username is None], (Dev_Loging.Date.like("%" + date + "%"), "")[date is None], (Dev_Loging.Log.like("%" + cats + "%"), "")[cats is None] ) paginateion = logdata.paginate( page, per_page=Setting().pagination ) posts = paginateion.items count = logdata.count() eventlog("[查看日志]" + " 第" + str(page) +"页") return render_template( '/admin/log.html', posts=posts, count=count, pagination=paginateion, page=page, username=uname, cats=catsname, date=date, thuname=username.decode('utf-8'), thcats=cats.decode('utf-8') ) elif request.method == "POST": cleancode = request.values.get('logcode', 'None', type=str) if cleancode == "all": return emptylog() else: page = request.values.get('page', 1, type=int) uname = request.values.get('username', "", type=str) username = b64decode(unquote(uname)) catsname = request.values.get('cats', "", type=str) cats = b64decode(unquote(catsname)) date = request.values.get('date', "", type=str) logdata = Dev_Loging.query.filter( (Dev_Loging.UserName.like("%" + username + "%"), "")[username is None], (Dev_Loging.Date.like("%" + date + "%"), "")[date is None], (Dev_Loging.Log.like("%" + cats + "%"), "")[cats is None] ) paginateion = logdata.paginate( page, per_page=Setting().pagination ) posts = paginateion.items count = logdata.count() eventlog("[查看日志]" + " 第" + str(page) + "页") return render_template( '/admin/log.html', posts=posts, count=count, pagination=paginateion, page=page, username=uname, cats=catsname, date=date, thuname=username.decode('utf-8'), thcats=cats.decode('utf-8') )
def notice_modfiy_get(id): """ 修改公告 :param id: 公告id :return: """ eventlog("[访问修改公告页面 公告id: " + str(id) + "]") note = Dev_Note.query.filter(Dev_Note.id == id).one() notename = note.articlename notecontent = note.article result = {'notename': notename, 'notecontent': notecontent} return result
def index(): """首页函数""" eventlog( "[访问首页]" ) page = request.args.get('page', 1, type=int) request.script_root = url_for('indexview.index', _external=True) count = Dev_DeviceStatus.query.count() pagination = Dev_DeviceStatus.query.filter(Dev_DeviceStatus.DeviceCondition != "N").order_by(Dev_DeviceStatus.Campus.desc()).paginate( page, per_page=Setting().page_index ) posts = pagination.items campus = Dev_Campus.query.all() return render_template('index.html', posts=posts, count=count, pagination=pagination, campus=campus)
def notice_delete(id): """ 删除公告 :param id: :return: """ delstatus = {"status": 1, "message": "success"} notice = Dev_Note.query.filter(Dev_Note.id == id) if not notice: delstatus['status'] = 404 delstatus['message'] = "Not Found" return json.dumps(delstatus) notice.delete() db.session.commit() eventlog("[删除公告 公告id: " + str(id) + "]") return json.dumps(delstatus)
def admin_userindex(): """ 用户管理 :return: """ page = request.args.get('page', 1 ,type=int) ulevel = request.args.get('level', "", type=str) if ulevel == "all": upkey = "" elif ulevel == "su": upkey = 80 elif ulevel == "admin": upkey = 70 elif ulevel == "ordman": upkey = 10 else: upkey = "" request.script_root = url_for('indexview.index', _external=True) if upkey == "": pagination = User.query.order_by(User.id.asc()).paginate( page, per_page=Setting().pagination ) count = User.query.count() else: pagination = User.query.filter( User.permissions == upkey ).order_by(User.id.asc()).paginate( page, per_page=Setting().pagination ) count = User.query.filter( User.permissions == upkey ).count() posts = pagination.items suadmin_count = User.query.filter(User.permissions == 80).count() admin_count = User.query.filter(User.permissions == 70).count() ord_count = User.query.filter(User.permissions == 10).count() result = { 'posts': posts, 'count': count, 'pagination': pagination, 'all_count': count, 'suadmin_count': suadmin_count, 'admin_count': admin_count, 'user_count': ord_count } eventlog("[访问用户信息页面]") return result
def notecreate(): """ 通知公告创建页面 :return: """ if request.method == 'GET': eventlog("[访问创建公告页面]") notename = "" notecontent = "" return render_template( '/admin/notecreate.html', name=notename, editorcontent=notecontent, operation=u"创建公告" ) if request.method == 'POST': id = notice_create_post() return redirect(url_for('adminbg.notecreate_id', id=id))
def login(): """登录函数,处理登录页面,使用login.html模板""" if request.method == 'POST': user = User.query.filter_by( username=request.form['username'], password=md5s(None, request.form['password'])).first() if user: login_user(user) eventlog("[登录成功]") params = request.args.get('next') if params: return redirect(params) return redirect(url_for('indexview.index')) else: flash(u"登录失败!") logonlog( "", "[登录失败] " + str(request.form['username']) + " " + str(request.form['password'])) form = LoginForm() return render_template('login.html', form=form)
def dvr_manage_get(): """ dvr管理页面路由逻辑 :return: """ page = request.args.get('page', 1, type=int) request.script_root = url_for('indexview.index', _external=True) count = Dev_DeviceInfo.query.count() pagination = Dev_DeviceInfo.query.order_by( Dev_DeviceInfo.ID.asc()).paginate(page, per_page=Setting().pagination) datas = pagination.items devtype = DevDevType.query.all() result = { 'datas': datas, 'count': count, 'pagination': pagination, 'devtype': devtype } eventlog("[访问设管理页面]") return result
def dvr_search_get(): """ dvr搜索路由逻辑 :return: """ request.script_root = url_for('indexview.index', _external=True) page = request.args.get('page', 1, type=int) word = request.args.get('keyword', "", type=str) serach = unquote(b64decode(word)).decode('utf-8') serp = dvrsearchsql(serach) pagination = serp.paginate(page, per_page=Setting().pagination) count = serp.count() datas = pagination.items eventlog("[管理后台设备信息 搜索]" + serach.encode('utf-8') + " 第" + str(page) + "页") result = { 'datas': datas, 'count': count, 'pagination': pagination, 'keyword': serach } return result
def sysmanage(): """ 系统设置页面 :return: 返回数据查询结果并构建相应页面 """ eventlog("[访问系统设置]") default_value = "" if request.method == 'POST': pagesize = request.form.get('syspagen', 1) pagesize_index = request.form.get('syspageindex', 1) if pagesize.isdigit(): optionsupdate('pagination', int(pagesize)) optionsupdate('pagination_index', int(pagesize_index)) flash(u"修改完成", 'success') eventlog("[修改系统设置]") else: session.pop('_flashes', None) flash(u"分页条数输入有误,请检查输入", 'danger') syspagn = Setting().pagination syspage_index = Setting().page_index return render_template('/admin/sysmanage.html', syspagn=syspagn, syspageindex=syspage_index)
def dvr_search_post(): """ dvr搜索ajax处理 :return: """ pagenum = request.values.get('pagenum', None, type=int) count = request.values.get('count', None, type=int) word = request.values.get('keyword', None, type=str) search = b64decode(unquote(word)).decode('utf-8') serp = dvrsearchsql(search) page_num = ((count / Setting().pagination + pagenum), 0)[count / Setting().pagination == 0] paginateion = serp.paginate(page_num, per_page=Setting().pagination) serachresult = [] hasnext = {'next': paginateion.has_next} for serachone in paginateion.items: jsonlist = serachone.to_json() jsonlist.update(hasnext) serachresult.append(jsonlist) eventlog("[ajax加载搜索页面下一页]" + search.encode('utf-8') + " 第" + str(page_num) + "页") return jsonify(serachresult)
def eventdel(id): """ 删除待办事项 :param id: 待办事项id :return: """ delstatus = { "status": 1, "message": "success" } event = DevPEvents.query.filter( DevPEvents.id == id ) if not event: delstatus['status'] = 404 delstatus['message'] = "Not Found" return json.dumps(delstatus) event.delete() db.session.commit() eventlog("[删除待办事项 id: " + str(id) + "]") return json.dumps(delstatus)
def indexlist(): """根据校区/楼宇进行查询""" page = request.args.get('page', 1, type=int) campusname = b64decode(unquote(request.args.get('campusname', "", type=str))) buildname = b64decode(unquote(request.args.get('buildname', "", type=str))) devinfo = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceCondition != "N", (Dev_DeviceStatus.Campus.like("%" + campusname + "%"), "")[campusname is None], (Dev_DeviceStatus.Location.like("%" + buildname + "%"), "")[buildname is None] ).order_by(Dev_DeviceStatus.Campus.desc()) paginateion = devinfo.paginate( page, per_page=Setting().page_index ) count = devinfo.count() posts = paginateion.items campus = Dev_Campus.query.all() eventlog( "[查询校区/楼宇]" + campusname + buildname + " 第" + str(page) + "页" ) return render_template( "list.html", posts=posts, count=count, pagination=paginateion, campus=campus, ctitle=campusname.decode('utf-8'), btitle=buildname.decode('utf-8') )
def dev_m_post(jsondata): """ 修改设备信息功能 :param jsondata: :return: """ id_array = jsondata['idarray'][0] id = jsondata["id"] newid = id_array["id"] name = id_array["name"] serial = id_array["serial"] type = id_array["type"] try: device = Dev_DeviceInfo.query.filter(Dev_DeviceInfo.DeviceID == id) if device.count(): device.update({ Dev_DeviceInfo.DeviceName: name, Dev_DeviceInfo.DeviceID: newid, Dev_DeviceInfo.DeviceSN: serial, Dev_DeviceInfo.DeviceCategory: type }) device_status = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceModel == id) if device_status.count(): device_status.update({Dev_DeviceStatus.DeviceModel: newid}) db.session.commit() result = {'status': 1, 'message': "ok"} eventlog("[修改设备信息] " + str(id)) LVRNumRefresh() return json.dumps(result) except Exception as e: result = {'status': 0, 'message': "Error"} return json.dumps(result)
def notecreate_id(id): """ 通知公告修改页面 :return: """ if request.method == 'GET': try: eventlog("[访问修改公告页面 公告id: " + str(id) + "]") result = notice_modfiy_get(id) return render_template( '/admin/notecreate.html', name=result['notename'], editorcontent=result['notecontent'], operation=u"编辑公告" ) except Exception as e: abort(500) if request.method == 'POST': try: note = notice_modfiy_post(id) return redirect(url_for('adminbg.notecreate_id', id=note)) except Exception as e: abort(500)
def user_pwd_modfiy(): """ 修改密码 :return: """ id = request.values.get("id", type=int) pwd = request.values.get("pwd", type=str) user_info = User.query.filter(User.id == id).first() if user_info: new_pwd = md5s(None, pwd) user_info.password = new_pwd db.session.commit() su_pwd_status = { 'status': 1, 'message': 'success' } eventlog("[修改密码] " + str(id)) return json.dumps(su_pwd_status) else: su_pwd_status = { 'status': 404, 'message': '用户未找到' } return json.dumps(su_pwd_status)
def userinfo(username): """ 用户信息 :param username: :return: """ lastlogin = Dev_Loging.query.filter( Dev_Loging.UserName == username, Dev_Loging.Log.like("%登录成功%")).order_by( Dev_Loging.Date.desc()).first() if lastlogin: logindate = lastlogin.Date ip = lastlogin.IP else: logindate = "" ip = "" userdb = User.query.filter(User.username == username).first() permission = userdb.permissions if permission == 80: per = u"超级管理员" elif permission == 70: per = u"管理员" elif permission == 10: per = u"普通用户" else: per = u"非法用户" form = ChangePwd() if request.method == 'POST': if form.validate_on_submit(): user = User.query.filter_by( username=username, password=md5s(None, form.oldpwd.data) ).first() if user: newpwd = form.newpwd.data user.password = md5s(None, newpwd) db.session.commit() session.pop('_flashes', None) flash(u"密码修改成功,请重新登陆。") eventlog(u"[修改密码成功] 跳转到登陆页面") return redirect(url_for('loginview.login')) else: session.pop('_flashes', None) flash(u"旧密码错误") eventlog(u"[修改密码失败] 旧密码验证失败") eventlog(u"[访问个人资料页面]" + username) notice = noticeindexlist() pevent = peventsindexlist(username) return render_template( "/user/userinfo.html", username=username, date=logindate, ip=ip, permission=per, form=form, note=notice, pevent=pevent )
def dev_devup(jsondata): """ 设备上架功能 :param jsondata: :return: """ if jsondata["op"] == 'get': count = 0 try: campus = dev_getCampus() dvrtype = dev_getType() dev_id = jsondata["idarray"] result_array = [] for one in dev_id: deviceinStatus = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceModel == one) if deviceinStatus.count(): statusResult = deviceinStatus.one() if statusResult.DeviceCondition == "Y": continue deviceinInfo = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == one).one() infoResult = deviceinInfo count += 1 result = { 'count': count, 'statusResult': statusResult, 'infoResult': infoResult } result_array.append(result) else: count += 1 deviceinInfo = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == one).one() infoResult = deviceinInfo result = { 'count': count, 'statusResult': '', 'infoResult': infoResult } result_array.append(result) return result_array, campus, dvrtype except Exception as e: print(e) result = {"status": 404, "message": "Error"} return json.dumps(result) elif jsondata["op"] == 'post': idarray = jsondata["idarray"] result = {"status": 0, "message": "Error"} for each_dev in idarray: dev_id = each_dev["id"] DevS_Campus = each_dev["campus"] DevS_Location = each_dev["build"] DevS_RoomNo = each_dev["lvr"] DevS_HostName = each_dev["hostname"] DevS_LAA = each_dev["addr"] DevS_IP = each_dev["ip"] DevS_Port = each_dev["port"] DevS_ID = dev_id deviceinStatus = Dev_DeviceStatus.query.filter( Dev_DeviceStatus.DeviceModel == dev_id) if deviceinStatus.count(): deviceinStatus.update({ Dev_DeviceStatus.Campus: DevS_Campus, Dev_DeviceStatus.Location: DevS_Location, Dev_DeviceStatus.RoomNo: DevS_RoomNo, Dev_DeviceStatus.HostName: DevS_HostName, Dev_DeviceStatus.LAA: DevS_LAA, Dev_DeviceStatus.HigherlinkIP: DevS_IP, Dev_DeviceStatus.HigherlinkPort: DevS_Port, Dev_DeviceStatus.DeviceCondition: "Y" }) deviceinInfo = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == dev_id) deviceinInfo.update({Dev_DeviceInfo.DeviceCondition: "Y"}) db.session.commit() result = {'status': 1, 'message': "ok"} else: DevS_DB = Dev_DeviceStatus(DevS_Campus, DevS_Location, DevS_RoomNo, DevS_HostName, DevS_LAA, DevS_IP, DevS_Port, DevS_ID, "Y") deviceinInfo = Dev_DeviceInfo.query.filter( Dev_DeviceInfo.DeviceID == dev_id) deviceinInfo.update({Dev_DeviceInfo.DeviceCondition: "Y"}) db.session.add(DevS_DB) db.session.commit() result = {'status': 1, 'message': "ok"} eventlog("[上架设备] " + str(dev_id)) LVRNumRefresh() return json.dumps(result)