Commit 4e542e1f by larosa

add update attr

parent be5f8e64
Showing with 157 additions and 57 deletions
{
"jingdong_vc_item_props_find_responce": {
"code": "0",
"request_id": "3503676.39587.17284810626780732",
"request_id": "161835.39587.17284885901503371",
"jos_result_dto": {
"result": [
{
"order_sort": 0,
"name": "主体参数",
"id": 39806,
"id": 39975,
"props": [
{
"attr_alias": "",
"values": [],
"maintain_remark": "",
"required": false,
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235106,
"order_sort": 1677,
"id": 237442,
"order_sort": 586,
"level": 0,
"inputAreaLevel": "3",
"name": "电阻类型",
"name": "工作温度范围",
"val_unit": ""
},
{
"attr_alias": "",
"values": [],
"maintain_remark": "",
"required": true,
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235009,
"order_sort": 1672,
"id": 237440,
"order_sort": 590,
"level": 0,
"inputAreaLevel": "3",
"name": "规格型号(MPN)",
"name": "RoHS",
"val_unit": ""
},
{
......@@ -43,12 +43,35 @@
"maintain_remark": "",
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235143,
"order_sort": 1681,
"input_type": 7,
"id": 266695,
"order_sort": 144,
"level": 0,
"inputAreaLevel": "3",
"name": "生命周期",
"name": "RAM位数",
"val_unit": ""
},
{
"attr_alias": "0",
"values": [
{
"units": [
"Gb/s",
"Mb/s"
],
"selected": false
}
],
"maintain_remark": "",
"choose_purchase": 0,
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 10,
"id": 237920,
"order_sort": 0,
"level": 0,
"inputAreaLevel": "3",
"name": "数据速率",
"val_unit": ""
},
{
......@@ -58,11 +81,11 @@
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235051,
"order_sort": 1674,
"id": 237545,
"order_sort": 588,
"level": 0,
"inputAreaLevel": "3",
"name": "阻值(Ω)",
"name": "规格型号(MPN)",
"val_unit": ""
},
{
......@@ -71,12 +94,12 @@
"maintain_remark": "",
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235178,
"order_sort": 1684,
"input_type": 7,
"id": 266703,
"order_sort": 145,
"level": 0,
"inputAreaLevel": "3",
"name": "应用级别",
"name": "I/O数",
"val_unit": ""
},
{
......@@ -86,25 +109,25 @@
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235081,
"order_sort": 1675,
"id": 237452,
"order_sort": 587,
"level": 0,
"inputAreaLevel": "3",
"name": "ECCN",
"name": "收发器数量",
"val_unit": ""
},
{
"attr_alias": "",
"values": [],
"maintain_remark": "",
"required": true,
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235023,
"order_sort": 1671,
"id": 237456,
"order_sort": 591,
"level": 0,
"inputAreaLevel": "3",
"name": "工作温度范围(℃)",
"name": "海关编码",
"val_unit": ""
},
{
......@@ -114,39 +137,39 @@
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235117,
"order_sort": 1679,
"id": 237460,
"order_sort": 592,
"level": 0,
"inputAreaLevel": "3",
"name": "功率(W)",
"name": "生命周期",
"val_unit": ""
},
{
"attr_alias": "",
"values": [],
"maintain_remark": "",
"required": false,
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235089,
"order_sort": 1678,
"input_type": 7,
"id": 237652,
"order_sort": 106,
"level": 0,
"inputAreaLevel": "3",
"name": "额定电压(v)",
"name": "逻辑元件数量",
"val_unit": ""
},
{
"attr_alias": "",
"values": [],
"maintain_remark": "",
"required": false,
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235157,
"order_sort": 1682,
"input_type": 7,
"id": 237659,
"order_sort": 107,
"level": 0,
"inputAreaLevel": "3",
"name": "外形尺寸(m)",
"name": "自适应逻辑模块",
"val_unit": ""
},
{
......@@ -156,11 +179,11 @@
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235130,
"order_sort": 1680,
"id": 237433,
"order_sort": 589,
"level": 0,
"inputAreaLevel": "3",
"name": "海关编码",
"name": "ECCN",
"val_unit": ""
},
{
......@@ -170,39 +193,64 @@
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235064,
"order_sort": 1676,
"id": 237464,
"order_sort": 593,
"level": 0,
"inputAreaLevel": "3",
"name": "RoHS",
"name": "应用级别",
"val_unit": ""
},
{
"attr_alias": "0",
"values": [],
"maintain_remark": "",
"choose_purchase": 0,
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 7,
"id": 237656,
"order_sort": 105,
"level": 0,
"inputAreaLevel": "3",
"name": "工作电压",
"val_unit": "V"
},
{
"attr_alias": "",
"values": [],
"maintain_remark": "",
"required": false,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235167,
"order_sort": 1683,
"id": 266712,
"order_sort": 171,
"level": 0,
"inputAreaLevel": "3",
"name": "温度系数(ppm/℃)",
"name": "封装规格",
"val_unit": ""
},
{
"attr_alias": "",
"values": [],
"attr_alias": "0",
"values": [
{
"units": [
"bit",
"Kbit",
"Mbit"
],
"selected": false
}
],
"maintain_remark": "",
"choose_purchase": 0,
"required": true,
"cascadeGroupLevel": 2147483647,
"input_type": 3,
"id": 235038,
"order_sort": 1673,
"input_type": 10,
"id": 237919,
"order_sort": 0,
"level": 0,
"inputAreaLevel": "3",
"name": "精度(%)",
"name": "嵌入式内存",
"val_unit": ""
}
]
......
......@@ -2,6 +2,8 @@
# 分类数据来源于lie_shop_class 数据库中class_id 字段或 parent_id 字段
import json
import sys
import time
import pymysql
from common import request_to_jd_vc
......@@ -68,9 +70,58 @@ def update_jd_attr_by_class(conf: dict):
check_sql = "select id from lie_shop_attr where class_id = %s and attr_id = %s"
cursor.execute(query=check_sql, args=(class_id, attr_id))
db_result = cursor.fetchall()
if len(db_result) == 0:
attr_name = prop["name"]
unit = prop["val_unit"]
input_type = prop["input_type"]
platform = 1
status = 1
is_required = 1
enum_value = "[]"
if input_type == 1 or input_type == 2:
# 单选或者多选 把选项取出来
tmp_value_list = []
values = prop["values"]
for index in range(len(values)):
attr_value_id = values[index]["id"]
attr_value_name = values[index]["name"]
item_map = {
"attr_value_id": attr_value_id,
"attr_value_name": attr_value_name,
}
tmp_value_list.append(item_map)
enum_value = json.dumps(tmp_value_list, ensure_ascii=False)
elif input_type == 3:
# 文本类型
# 文本类型没有可选值
pass
elif input_type == 7:
# 数值类型
# 数值类型没有可选值
pass
elif input_type == 10:
# 多单位多解析的方式
# 多单位多解析 需要特殊处理单位字段
tmp_unit_list = []
values = prop["values"]
for index in range(len(values)):
if "units" in values[index]:
unit_list = values[index]["units"]
for x in range(len(unit_list)):
tmp_unit_list.append(unit_list[x])
unit = json.dumps(tmp_unit_list, ensure_ascii=False)
else:
print("此input_type类型暂未兼容处理!请单独处理!")
create_time = int(time.time())
# 如果db中暂时没有这条数据 就插入
if len(db_result) == 0:
insert_sql = "insert into lie_shop_attr (class_id, attr_id, attr_name, unit, enum_value, input_type, is_required, status, platform, create_time) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
# 谨慎起见 先不插入 防止破坏数据库原数据
# cursor.execute(query=insert_sql, args=(class_id, attr_id, attr_name, unit, enum_value, input_type, is_required, status, platform, create_time, ))
# db.commit()
print(insert_sql % (class_id, attr_id, attr_name, unit, enum_value, input_type, is_required, status, platform, create_time))
# 把sql语句输出到一个文件中
else:
# TODO 已经存在,考虑更新, 鉴于更新的情况复杂,稍后处理
pass
......@@ -80,6 +131,7 @@ def update_jd_attr_by_class(conf: dict):
if __name__ == '__main__':
option = {"dev", "prod"}
if len(sys.argv) >= 2 and sys.argv[1] in option:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment