# -*- coding: utf-8 -*- from website import errors from website.handler import APIHandler, authenticated from website.handlers.enterprise_entity import db as DB_Entity from website.handlers.enterprise_node import db as DB_Node from website.util import shortuuid class AddHandler(APIHandler): """ - 描述:添加企业节点 - 请求方式:post - 请求参数: >- entity_suid, int, 企业id, short uuid >- name, string, 名称 >- parent, int, 上级节点id >- addr, string, 地址 >- lola, string, 经纬度,longitude and latitude >- contact, string, 负责人 >- phone, string, 联系方式 >- comment, string, 简介 - 返回值:无 """ # @authenticated def post(self): entity_id = self.get_int_argument("entity_suid") entity_suid = self.get_escaped_argument("entity_suid", "") name = self.get_escaped_argument("name", "") parent = self.get_int_argument("parent", 0) addr = self.get_escaped_argument("addr", "") lola = self.get_escaped_argument("lola", "") contact = self.get_escaped_argument("contact", "") phone = self.get_escaped_argument("phone", "") comment = self.get_escaped_argument("comment", "") if not entity_id or not name: raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误") db_entity = DB_Entity.EnterpriseEntityDB() entity_suid = db_entity.select_entity_suid(entity_id) db_node = DB_Node.EnterpriseNodeDB() db_node.insert_node({ "suid": shortuuid.ShortUUID().random(length=10), "entity_id": entity_id, "entity_suid": entity_suid, "name": name, "parent": parent, "addr": addr, "lola": lola, "contact": contact, "phone": phone, "comment": comment }) self.finish() class UpdateHandler(APIHandler): """ - 描述:更新企业节点 - 请求方式:post - 请求参数: >- node_id, int, 节点id >- name, string, 名称 >- parent, int, 上级节点id >- addr, string, 地址 >- lola, string, 经纬度,longitude and latitude >- contact, string, 负责人 >- phone, string, 联系方式 >- comment, string, 简介 - 返回值:无 """ # @authenticated def post(self): node_id = self.get_int_argument("node_id", 0) name = self.get_escaped_argument("name", "") parent = self.get_int_argument("parent", 0) addr = self.get_escaped_argument("addr", "") lola = self.get_escaped_argument("lola", "") contact = self.get_escaped_argument("contact", "") phone = self.get_escaped_argument("phone", "") comment = self.get_escaped_argument("comment", "") if not node_id or not name: raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误") db_node = DB_Node.EnterpriseNodeDB() db_node.update_node({ "node_id": node_id, "name": name, "parent": parent, "addr": addr, "lola": lola, "contact": contact, "phone": phone, "comment": comment }) self.finish() class TreeHandler(APIHandler): """ - 描述:企业节点树 - 请求方式:post - 请求参数: >- entity_id, int, 企业id >- name, string, 搜索内容 - 返回值: ``` { "data":[ { "id": 123, "name": "xxx", "children": [ { "id": 123, "name": "xxx" "children": [ { "id": 123, "name": "xxx" }, ] }, ... ] }, ... ] } ``` """ @authenticated def post(self): entity_id = self.get_escaped_argument("entity_id", "") name = self.get_escaped_argument("name", "") if not entity_id: raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误") db_node = DB_Node.EnterpriseNodeDB() nodes = db_node.select_tree(entity_id, name) self.finish({ "data": nodes }) class InfoHandler(APIHandler): """ - 描述:企业节点信息 - 请求方式:post - 请求参数: >- node_id, int, 节点id - 返回值: ``` { "name": "xxx", "parent": "xxx", "addr": "xxx", "lola": "xxx", "contact": "xxx", "phone": "xxx", "comment": "xxx", } ``` """ @authenticated def post(self): node_id = self.get_int_argument("node_id") if not node_id: raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误") db_node = DB_Node.EnterpriseNodeDB() node = db_node.select_node(node_id) node = node and node or {} self.finish(node) class DeleteHandler(APIHandler): @authenticated def post(self): node_id = self.get_int_argument("node_id") if not node_id: raise errors.HTTPAPIError(errors.ERROR_BAD_REQUEST, "参数错误") db_node = DB_Node.EnterpriseNodeDB() db_node.delete_node(node_id) self.finish()