diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa90725 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# 天府股交项目-应用端API接口 +版本信息: WideRating APP API TFSE v0.2x + +## 命名备注 + +### 命名格式 +包括文件命名、对象命名、函数命名等格式规范 + +| 类型 | 方法 | 示例 | +| ---- | ---- | ---- | +| 对象 | 首字母大写 | Class User: | +| 一般函数 | 小写字母加下划线 | def get_user_info(): | +| 数据操作函数 | 大写字母加下划线 | def FIND_USER_DATA(): | + +### 命名简写 +在保证代码可读性的前提下,为了让代码排版显得清爽,需要简写一些较长且常用的英文 + +| 简写 | 全写 | 中文 | +| :----: | :----: | :----: | +| cc | comprehensive_credit | 综合信用 | +| impl | implement | 实施 | +| CC | COMPREHENSIVE_CREDIT | 综合信用 | +| REQ | REQUIREMENT | 要求 | + + + + + + diff --git a/input/input_db.py b/input/input_db.py index 5d6cea8..579528f 100644 --- a/input/input_db.py +++ b/input/input_db.py @@ -1,10 +1,43 @@ import pymongo -client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018)) -client_admin = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'RYIHrqml#LSW6#!*', '116.63.130.34', 27020)) +DB_HOST = "116.63.130.34" +DB_PASS = "UTlC9cCoglD1cI1*" +DB_USER = "root" +DB_PORT = "27021" +client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT)) -def find_rating_records(param): +def FIND_SINGLE_DATA_BY_REQ(param1, param2, param3): + """ + 查询符合条件的第一条数据 + Parameters: + param1: str 数据库 + param2: str 数据表 + param3: dict 查询条件 + Returns: + record: 查询结果为空,返回False; 查询结果正常,返回查询结果的第一条数据; + """ + collection = client[param1][param2] + record = list(collection.find(param3, {'_id': False})) + return False if record == [] else record[0] + + +def FIND_ALL_DATA_BY_REQ(param1, param2, param3): + """ + 查询符合条件的所有数据 + Parameters: + param1: str 数据库 + param2: str 数据表 + param3: dict 查询条件 + Returns: + record: list 查询结果 + """ + collection = client[param1][param2] + record = list(collection.find(param3, {'_id': False})) + return record + + +def FIND_RATING_RECORDS(param): """ 查询评价记录 Parameters: @@ -12,13 +45,13 @@ def find_rating_records(param): Returns: record: 查询结果 """ - collection = client['评价']['评价记录'] + collection = client['企业数据']['评价记录'] data = collection.find(param, {'_id': False}) record = list(data) return record -def find_process_records(param1, param2): +def FIND_CC_RATING_PROCESS_DATA(param1, param2): """ 查询流程记录 Parameters: @@ -83,14 +116,14 @@ def insert_general_input(data): collection.insert_one(data) -def update_general_input(rid, data): +def UPDATE_COMPREHENSIVE_CREDIT_INPUT_DATA(rid, data): """ - 更新综合填报数据 + 更新综合信用填报数据 Parameters: rid: 评价ID data: 综合填报数据 Returns: - res: desc + res: None """ collection = client['评价']['综合评价填报'] collection.update_one({"评价ID": rid}, {"$set": data}) diff --git a/input/input_impl.py b/input/input_impl.py index d66e619..47ee4f2 100644 --- a/input/input_impl.py +++ b/input/input_impl.py @@ -65,7 +65,7 @@ def gen_new_rid(param): # 生成新ID new_id = make_id(param) # 检查新ID是否存在,如果存在则继续生成新ID - case = find_rating_records({"评价ID": new_id}) is [] + case = FIND_RATING_RECORDS({"评价ID": new_id}) is [] while case: new_id = make_id(param) # 新ID可使用,返回新ID @@ -102,7 +102,7 @@ def rating_records_by_cid(cid): certification_link = "/file/get_certification?file_id={}" esg_report_link = '/file/get_company_esg_report?file_id={}' esg_certification_link = "/file/get_esg_certification?file_id={}" - records = find_rating_records({"企业ID": cid}) + records = FIND_ALL_DATA_BY_REQ("企业数据", "评价记录", {"企业ID": cid}) for record in records: if records is not None: if record['评价项目'] == '综合信用评价': @@ -120,31 +120,35 @@ def rating_records_by_cid(cid): return records -def start_general_rating_script(cid): +def start_cc_rating_impl(cid): """ - 开始进行综合评价的数据填报 + 开始综合信用评价的数据填报 Parameters: - cid: 企业ID + cid: str 企业ID Returns: - record 填报信息 + record: dict 填报信息 """ - # 检查是否已认证 + # STEP_1 + # 检查企业是否已认证 if not check_verified(cid): return "该企业未认证", {} - # 根据企业ID和当前年度查询是否存在当年的填报记录 - exist_input_form = find_rating_inputs({"企业ID": cid, "评价年度": get_current_year()}) + # STEP_2 + # 根据企业ID+当前年度,查询是否存在填报数据 + # exist_input_data: 已存在的填报数据 + # FIND_SINGLE_DATA_BY_REQ("企业数据", "评价记录", {"企业ID": cid, "评价项目": "综合信用评价", "": ""}) + exist_input_data = FIND_SINGLE_DATA_BY_REQ({"企业ID": cid, "评价年度": get_current_year()}) # 若存在填报记录,根据评价ID查询评价记录该评价是否完成 - if exist_input_form: + if exist_input_data: # 已完成 本年度不能再填报 - if find_rating_records({"评价ID": exist_input_form[0]["评价ID"]})[0]['进行状态'] == "完成": + if FIND_SINGLE_DATA_BY_REQ("企业数据", "评价记录", {"评价ID": exist_input_data[0]["评价ID"]})['进行状态'] == "完成": return "本年度已评价", {} # 未完成 返回已经填报保存的数据 else: - exist_input_form[0].pop('评价ID') - exist_input_form[0].pop('企业ID') - return "继续填报", exist_input_form[0] + exist_input_data[0].pop('评价ID') + exist_input_data[0].pop('企业ID') + return "继续填报", exist_input_data[0] # 不存在填报记录 新生成填报记录、评价记录 返回空填报记录对象 else: @@ -187,7 +191,7 @@ def start_general_rating_script(cid): # 深拷贝新填报记录,不然保存后会生成_id return_input = copy.deepcopy(new_input) - # 插入新填报记录`` + # 插入新填报记录 insert_general_input(new_input) # 插入新评价记录 insert_rating_records(rating) @@ -206,20 +210,24 @@ def start_general_rating_script(cid): return "开始填报", return_input -def save_general_input_form(cid, input_form): +def save_comprehensive_credit_rating_input_form(cid, input_form): """ - 保存综合信用评价填报 + 保存综合信用评价填报数据 Parameters: - cid: 企业ID - input_form: 填报表单 + cid: str 企业ID + input_form: dict 填报数据 Returns: - res: desc + res: None """ - # 保存填报数据 - rid = find_rating_records({"企业ID": cid, "进行状态": "进行"})[0]['评价ID'] - update_general_input(rid, input_form) + # STEP_1 + # 根据企业ID查询正在进行中的评价服务,获取评价ID,即rid + # 根据rid,更新填报数据 + rid = FIND_RATING_RECORDS({"企业ID": cid, "进行状态": "进行"})[0]['评价ID'] + UPDATE_COMPREHENSIVE_CREDIT_INPUT_DATA(rid, input_form) + + # STEP_2 # 查询评价流程 - records = find_process_records('综合评价流程', {"评价ID": rid}) + records = FIND_CC_RATING_PROCESS_DATA('综合评价流程', {"评价ID": rid}) if records: record = records[0] if not record['评价流程']['问卷填报']: @@ -275,7 +283,7 @@ def exec_general_rating_scripts(cid): - """ # pre - record = find_rating_records({"企业ID": cid, "进行状态": "进行"}) + record = FIND_RATING_RECORDS({"企业ID": cid, "进行状态": "进行"}) if not record: return False, "没有正在进行的评价" diff --git a/input/input_obj.py b/input/input_obj.py index 72e3090..c599f1e 100644 --- a/input/input_obj.py +++ b/input/input_obj.py @@ -27,7 +27,7 @@ class InputForm: info 信息 result 综合评价填报数据 """ - info, result = start_general_rating_script(self.cid) + info, result = start_cc_rating_impl(self.cid) return info, result def save_input_general(self, input_form): @@ -38,7 +38,7 @@ class InputForm: Returns: res: desc """ - save_general_input_form(self.cid, input_form) + save_comprehensive_credit_rating_input_form(self.cid, input_form) return "保存成功" def exec_general_rating(self):