Commit 4e542e1f by larosa

add update attr

parent be5f8e64
Showing with 157 additions and 57 deletions
{ {
"jingdong_vc_item_props_find_responce": { "jingdong_vc_item_props_find_responce": {
"code": "0", "code": "0",
"request_id": "3503676.39587.17284810626780732", "request_id": "161835.39587.17284885901503371",
"jos_result_dto": { "jos_result_dto": {
"result": [ "result": [
{ {
"order_sort": 0, "order_sort": 0,
"name": "主体参数", "name": "主体参数",
"id": 39806, "id": 39975,
"props": [ "props": [
{ {
"attr_alias": "", "attr_alias": "",
"values": [], "values": [],
"maintain_remark": "", "maintain_remark": "",
"required": false, "required": true,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235106, "id": 237442,
"order_sort": 1677, "order_sort": 586,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "电阻类型", "name": "工作温度范围",
"val_unit": "" "val_unit": ""
}, },
{ {
"attr_alias": "", "attr_alias": "",
"values": [], "values": [],
"maintain_remark": "", "maintain_remark": "",
"required": true, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235009, "id": 237440,
"order_sort": 1672, "order_sort": 590,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "规格型号(MPN)", "name": "RoHS",
"val_unit": "" "val_unit": ""
}, },
{ {
...@@ -43,12 +43,35 @@ ...@@ -43,12 +43,35 @@
"maintain_remark": "", "maintain_remark": "",
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 7,
"id": 235143, "id": 266695,
"order_sort": 1681, "order_sort": 144,
"level": 0, "level": 0,
"inputAreaLevel": "3", "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": "" "val_unit": ""
}, },
{ {
...@@ -58,11 +81,11 @@ ...@@ -58,11 +81,11 @@
"required": true, "required": true,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235051, "id": 237545,
"order_sort": 1674, "order_sort": 588,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "阻值(Ω)", "name": "规格型号(MPN)",
"val_unit": "" "val_unit": ""
}, },
{ {
...@@ -71,12 +94,12 @@ ...@@ -71,12 +94,12 @@
"maintain_remark": "", "maintain_remark": "",
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 7,
"id": 235178, "id": 266703,
"order_sort": 1684, "order_sort": 145,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "应用级别", "name": "I/O数",
"val_unit": "" "val_unit": ""
}, },
{ {
...@@ -86,25 +109,25 @@ ...@@ -86,25 +109,25 @@
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235081, "id": 237452,
"order_sort": 1675, "order_sort": 587,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "ECCN", "name": "收发器数量",
"val_unit": "" "val_unit": ""
}, },
{ {
"attr_alias": "", "attr_alias": "",
"values": [], "values": [],
"maintain_remark": "", "maintain_remark": "",
"required": true, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235023, "id": 237456,
"order_sort": 1671, "order_sort": 591,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "工作温度范围(℃)", "name": "海关编码",
"val_unit": "" "val_unit": ""
}, },
{ {
...@@ -114,39 +137,39 @@ ...@@ -114,39 +137,39 @@
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235117, "id": 237460,
"order_sort": 1679, "order_sort": 592,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "功率(W)", "name": "生命周期",
"val_unit": "" "val_unit": ""
}, },
{ {
"attr_alias": "", "attr_alias": "",
"values": [], "values": [],
"maintain_remark": "", "maintain_remark": "",
"required": false, "required": true,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 7,
"id": 235089, "id": 237652,
"order_sort": 1678, "order_sort": 106,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "额定电压(v)", "name": "逻辑元件数量",
"val_unit": "" "val_unit": ""
}, },
{ {
"attr_alias": "", "attr_alias": "",
"values": [], "values": [],
"maintain_remark": "", "maintain_remark": "",
"required": false, "required": true,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 7,
"id": 235157, "id": 237659,
"order_sort": 1682, "order_sort": 107,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "外形尺寸(m)", "name": "自适应逻辑模块",
"val_unit": "" "val_unit": ""
}, },
{ {
...@@ -156,11 +179,11 @@ ...@@ -156,11 +179,11 @@
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235130, "id": 237433,
"order_sort": 1680, "order_sort": 589,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "海关编码", "name": "ECCN",
"val_unit": "" "val_unit": ""
}, },
{ {
...@@ -170,39 +193,64 @@ ...@@ -170,39 +193,64 @@
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235064, "id": 237464,
"order_sort": 1676, "order_sort": 593,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "RoHS", "name": "应用级别",
"val_unit": "" "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": "", "attr_alias": "",
"values": [], "values": [],
"maintain_remark": "", "maintain_remark": "",
"required": false, "required": false,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 3,
"id": 235167, "id": 266712,
"order_sort": 1683, "order_sort": 171,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "温度系数(ppm/℃)", "name": "封装规格",
"val_unit": "" "val_unit": ""
}, },
{ {
"attr_alias": "", "attr_alias": "0",
"values": [], "values": [
{
"units": [
"bit",
"Kbit",
"Mbit"
],
"selected": false
}
],
"maintain_remark": "", "maintain_remark": "",
"choose_purchase": 0,
"required": true, "required": true,
"cascadeGroupLevel": 2147483647, "cascadeGroupLevel": 2147483647,
"input_type": 3, "input_type": 10,
"id": 235038, "id": 237919,
"order_sort": 1673, "order_sort": 0,
"level": 0, "level": 0,
"inputAreaLevel": "3", "inputAreaLevel": "3",
"name": "精度(%)", "name": "嵌入式内存",
"val_unit": "" "val_unit": ""
} }
] ]
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
# 分类数据来源于lie_shop_class 数据库中class_id 字段或 parent_id 字段 # 分类数据来源于lie_shop_class 数据库中class_id 字段或 parent_id 字段
import json import json
import sys import sys
import time
import pymysql import pymysql
from common import request_to_jd_vc from common import request_to_jd_vc
...@@ -68,9 +70,58 @@ def update_jd_attr_by_class(conf: dict): ...@@ -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" 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)) cursor.execute(query=check_sql, args=(class_id, attr_id))
db_result = cursor.fetchall() 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 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: 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 pass
...@@ -80,6 +131,7 @@ def update_jd_attr_by_class(conf: dict): ...@@ -80,6 +131,7 @@ def update_jd_attr_by_class(conf: dict):
if __name__ == '__main__': if __name__ == '__main__':
option = {"dev", "prod"} option = {"dev", "prod"}
if len(sys.argv) >= 2 and sys.argv[1] in option: 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