Commit 13859465 authored by liguangyu06's avatar liguangyu06
Browse files

提交电商项目用例

parent 13b3da0e
Pipeline #6911 failed with stages
in 3 seconds
import pymysql
import os
import sys
from common.confop import confOP
from common.db.sql.sqlByIdb import sqlByIdb
import pymongo
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
class dbOP():
def __init__(self, path=rootPath):
self.path = path
def selectSql(self, schema, param=[], db="bj_db"):
host = mySql().getConf(db)[0]
port = mySql().getConf(db)[1]
user = mySql().getConf(db)[2]
pwd = mySql().getConf(db)[3]
value = confOP().getYamlValue("sql")
if schema not in value:
value = confOP().getBusiYamlValue(self.path, "sql")
env = os.environ["ENV"]
if env == "on" or env == "pre":
database = value[schema][0]
sql = value[schema][1]
param = param
result = sqlByIdb().selectSql(database, sql, param, env)
else:
result = mySql().selectSql(host, port, user, pwd, value[schema][0], value[schema][1], param)
return result
def ddlSql(self, schema, param=[], db="bj_db"):
host = mySql().getConf(db)[0]
port = mySql().getConf(db)[1]
user = mySql().getConf(db)[2]
pwd = mySql().getConf(db)[3]
value = confOP().getYamlValue("sql")
if schema not in value:
value = confOP().getBusiYamlValue(self.path, "sql")
result = mySql().executeUpdate(host, port, user, pwd, value[schema][0], value[schema][1], param)
return result
class mySql:
def __init__(self):
pass
def getConf(self, db="bj_db"):
host = confOP().getConfValue(curPath + "/conf.ini", db, "host")
port = confOP().getConfValue(curPath + "/conf.ini", db, "port", "int")
user = confOP().getConfValue(curPath + "/conf.ini", db, "user")
pwd = confOP().getConfValue(curPath + "/conf.ini", db, "password")
return host,port,user,pwd
def connection(self, host, port, user, pwd, database):
return pymysql.connect(host=host, port=port,user=user,passwd=pwd,db=database)
def selectSql(self, host, port, user, pwd, database, sql, param=[]):
conn = self.connection(host, port, user, pwd, database)
cursor = conn.cursor()
try:
cursor.execute(sql, param)
data = cursor.fetchall()
cols = cursor.description
col = []
for i in cols:
col.append(i[0])
data = list(map(list, data))
return data
except Exception as e:
print(e)
conn.rollback()
cursor.close()
conn.close()
def executeUpdate(self, host, port, user, pwd, database, sql, param=[]):
conn = self.connection(host, port, user, pwd, database)
cursor = conn.cursor()
try:
ret = cursor.execute(sql, param)
conn.commit()
return ret
except Exception as e:
print(e)
conn.rollback()
cursor.close()
conn.close()
class mongodb:
def connection(self,db,collect):
ip = confOP().getConfValue(curPath + "/conf.ini", "mongo", "ip")
port = confOP().getConfValue(curPath + "/conf.ini", "mongo", "port")
path = "mongodb://" + ip + ":" + port + "/"
myclient = pymongo.MongoClient(path)
mydb = myclient[db]
mycol = mydb[collect]
return mycol
#查询所有的值
def findALl(self, db, collect):
result = []
mycol = self.connection(db, collect)
for x in mycol.find():
result.append(x)
return result
#按照条件查询:条件为{}类型
def findByCon(self, db, collect, condition):
result = []
mycol = self.connection(db, collect)
for x in mycol.find(condition):
result.append(x)
return result
if __name__ == '__main__':
env = 'sit'
os.environ['ENV'] = env.lower()
path = "D:\\myCode\\autotest-airtest-local\\data\\月嫂"
#mysql的例子
result = dbOP(path).selectSql("local_worker_info")
print(result[0])
#monggdb的例子
#mongodb().findByCon("yapi","user", {"role": "admin"})
#redis的例子
#redisClass().connect()
import redis
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
import sys
sys.path.append(rootPath)
from common.confop import confOP
class redisClass:
def connect(self):
redis_host = confOP.getConfValue(curPath + "/conf.ini", "redis", "redis_host")
pool = redis.ConnectionPool(host=redis_host)
r = redis.Redis(connection_pool=pool)
return r
def randomkey(self):
"""
获取随机的一个键
:return: b'name'
"""
r = redisClass().connect()
return r.randomkey()
def exists(self, name):
"""
判断一个键是否存在
:param name:键名
:return: True
例子: .exists('name')
是否存在name这个键
"""
r = redisClass().connect()
return r.exists(name)
def delete(self, name):
"""
删除一个键
:param name:键名
:return: 1
例子: .delete('name')
删除name这个键
"""
r = redisClass().connect()
return r.delete(name)
def type(self, name):
"""
判断键类型
:param name:
:return:b'string'
例子:.type('name')
判断name这个键类型
"""
r = redisClass().connect()
return r.type(name)
def keys(self, pattern):
"""
获取所有符合规则的键
:param pattern:匹配规则
:return:[b'name']
例子:.keys('n*')
获取所有以n开头的键
"""
r = redisClass().connect()
return r.keys(pattern)
def rename(self, src, dst):
"""
重命名键
:param src: 原键名;
:param dst: 新键名
:return:True
例子:.rename('name', 'nickname')
将name重命名为nickname
"""
r = redisClass().connect()
return r.rename(src, dst)
def dbsize(self):
"""
获取当前数据库中键的数目
:return: 100
"""
r = redisClass().connect()
return r.dbsize()
def expire(self, name, time):
"""
设定键的过期时间,单位为秒
:param name:键名;
:param time:秒数
:return:True
例子:.expire('name', 2)
将name键的过期时间设置为2秒
"""
r = redisClass().connect()
return r.expire(name, time)
def ttl(self, name):
"""
获取键的过期时间,单位为秒,-1表示永久不过期
:param name: 键名
:return: -1
例子:.ttl('name')
获取name这个键的过期时间
"""
r = redisClass().connect()
return r.ttl(name)
def move(self, name, db):
"""
将键移动到其他数据库
:param name: 键名;
:param db: 数据库代号
:return: True
例子: .move('name', 2)
将name移动到2号数据库
"""
r = redisClass().connect()
return r.move(name, db)
def flushdb(self):
"""
删除当前选择数据库中的所有键
:return: True
"""
r = redisClass().connect()
return r.flushdb()
def flushall(self):
"""
删除所有数据库中的所有键
:return: True
"""
r = redisClass().connect()
return r.flushall()
def set(self, name, value):
"""
给数据库中键为name的string赋予值value
:param name: 键名;
:param value:值
:return: True
例子: .set('name', 'Bob')
给name这个键的value赋值为Bob
"""
r = redisClass().connect()
return r.set(name, value)
def get(self, name):
"""
返回数据库中键为name的string的value
:param name: 键名
:return: b'Bob'
例子: .get('name')
返回name这个键的value
"""
r = redisClass().connect()
return r.get(name)
def getset(self, name, value):
"""
给数据库中键为name的string赋予值value并返回上次的value
:param name: 键名;
:param value: 新值
:return: b'Bob'
例子: .getset('name', 'Mike')
赋值name为Mike并得到上次的value
"""
r = redisClass().connect()
return r.getset(name, value)
def mget(self, keys, *args):
"""
返回多个键对应的value
:param keys: 键的列表
:param args:
:return: [b'Mike', b'Miker']
例子: .mget(['name', 'nickname'])
返回name和nickname的value
"""
r = redisClass().connect()
return r.mget(keys, *args)
def setnx(self, name, value):
"""
如果不存在这个键值对,则更新value,否则不变
:param name: 键名
:param value:
:return: 第一次运行结果是True,第二次运行结果是False
例子: .setnx('newname', 'James')
如果newname这个键不存在,则设置值为James
"""
r = redisClass().connect()
return r.setnx(name, value)
def setex(self, name, time, value):
"""
设置可以对应的值为string类型的value,并指定此键值对应的有效期
:param name: 键名;
:param time: 有效期;
:param value: 值
:return: True
例子: .setex('name', 1, 'James')
将name这个键的值设为James,有效期为1秒
"""
r = redisClass().connect()
return r.setex(name, time, value)
def setrange(self, name, offset, value):
"""
设置指定键的value值的子字符串
:param name: 键名;
:param offset: 偏移量;
:param value: 值
:return:xx,修改后的字符串长度
例子:
.set('name', 'Hello')
.setrange('name', 6, 'World')
设置name为Hello字符串,并在index为6的位置补World
"""
r = redisClass().connect()
return r.setrange(name, offset, value)
def mset(self, mapping):
"""
批量赋值
:param mapping: 字典
:return: True
例子: .mset({'name1': 'Durant', 'name2': 'James'})
将name1设为Durant,name2设为James
"""
r = redisClass().connect()
return r.mset(mapping)
def msetnx(self, mapping):
"""
键均不存在时才批量赋值
:param mapping: 字典
:return: True
例子: .msetnx({'name3': 'Smith', 'name4': 'Curry'})
在name3和name4均不存在的情况下才设置二者值
"""
r = redisClass().connect()
return r.msetnx(mapping)
def incr(self, name, amount=1):
"""
键为name的value增值操作,默认为1,键不存在则被创建并设为amount
:param name: 键名;
:param amount: 增长的值
:return: 1,即修改后的值
例子: .incr('age', 1)
age对应的值增1,若不存在,则会创建并设置为1
"""
r = redisClass().connect()
return r.incr(name, amount)
def decr(self, name, amount=1):
"""
键为name的value减值操作,默认为1,键不存在则被创建并将value设置为-amount
:param name: 键名;
:param amount: 减少的值
:return: -1,即修改后的值
例子: .decr('age', 1)
age对应的值减1,若不存在,则会创建并设置为-1
"""
r = redisClass().connect()
return r.decr(name, amount)
def append(self, key, value):
"""
键为name的string的值附加value
:param key: 键名
:param value:
:return: 13,即修改后的字符串长度
例子: .append('nickname', 'OK')
向键为nickname的值后追加OK
"""
r = redisClass().connect()
return r.append(key, value)
def substr(self, name, start, end=-1):
"""
返回键为name的string的子串
:param name: 键名;
:param start: 起始索引;
:param end: 终止索引,默认为-1,表示截取到末尾
:return: b'ello'
例子:.substr('name', 1, 4)
返回键为name的值的字符串,截取索引为1~4的字符
"""
r = redisClass().connect()
return r.substr(name, start, end)
def getrange(self, key, start, end):
"""
获取键的value值从start到end的子字符串
:param key: 键名;
:param start: 起始索引;
:param end: 终止索引
:return: b'ello'
例子: .getrange('name', 1, 4)
返回键为name的值的字符串,截取索引为1~4的字符
"""
r = redisClass().connect()
return r.getrange(key, start, end)
def rpush(self, name, *values):
"""
在键为name的列表末尾添加值为value的元素,可以传多个
:param name: 键名;
:param values: 值
:return: 3,列表大小
例子: .rpush('list', 1, 2, 3)
向键为list的列表尾添加1、2、3
"""
r = redisClass().connect()
return r.rpush(name, *values)
def lpush(self, name, *values):
"""
在键为name的列表头添加值为value的元素,可以传多个
:param name: 键名;
:param values: 值
:return: 4,列表大小
例子:.lpush('list', 0)
向键为list的列表头部添加0
"""
r = redisClass().connect()
return r.lpush(name, *values)
def llen(self, name):
"""
返回键为name的列表的长度
:param name: 键名
:return: 4
例子:.llen('list')
返回键为list的列表的长度
"""
r = redisClass().connect()
return r.llen(name)
def lrange(self, name, start, end):
"""
返回键为name的列表中start至end之间的元素
:param name: 键名;
:param start: 起始索引;
:param end: 终止索引
:return: [b'3', b'2', b'1']
例子:.lrange('list', 1, 3)
返回起始索引为1终止索引为3的索引范围对应的列表
"""
r = redisClass().connect()
return r.lrange(name, start, end)
def ltrim(self, name, start, end):
"""
截取键为name的列表,保留索引为start到end的内容
:param name: 键名;
:param start: 起始索引;
:param end: 终止索引
:return: True
例子:ltrim('list', 1, 3)
保留键为list的索引为1到3的元素
"""
r = redisClass().connect()
return r.ltrim(name, start, end)
def lindex(self, name, index):
"""
返回键为name的列表中index位置的元素
:param name: 键名;
:param index: 索引
:return: b’2’
例子:.lindex('list', 1)
返回键为list的列表索引为1的元素
"""
r = redisClass().connect()
return r.lindex(name, index)
def lset(self, name, index, value):
"""
给键为name的列表中index位置的元素赋值,越界则报错
:param name: 键名;
:param index: 索引位置;
:param value: 值
:return: True
例子:.lset('list', 1, 5)
将键为list的列表中索引为1的位置赋值为5
"""
r = redisClass().connect()
return r.lset(name, index, value)
def lrem(self, name, count, value):
"""
删除count个键的列表中值为value的元素
:param name: 键名;
:param count: 删除个数;
:param value: 值
:return: 1,即删除的个数
例子:.lrem('list', 2, 3)
将键为list的列表删除两个3
"""
r = redisClass().connect()
return r.lrem(name, count, value)
def lpop(self, name):
"""
返回并删除键为name的列表中的首元素
:param name: 键名
:return: b'5'
例子:.lpop('list')
返回并删除名为list的列表中的第一个元素
"""
r = redisClass().connect()
return r.lpop(name)
def rpop(self, name):
"""
返回并删除键为name的列表中的尾元素
:param name: 键名
:return: b'2'
例子:.rpop('list')
返回并删除名为list的列表中的最后一个元素
"""
r = redisClass().connect()
return r.rpop(name)
def blpop(self, keys, timeout=0):
"""
返回并删除名称在keys中的list中的首个元素,如果列表为空,则会一直阻塞等待
:param keys: 键列表;
:param timeout: 超时等待时间,0为一直等待
:return: [b'5']
例子:.blpop('list')
返回并删除键为list的列表中的第一个元素
"""
r = redisClass().connect()
return r.blpop(keys, timeout)
def brpop(self, keys, timeout=0):
"""
返回并删除键为name的列表中的尾元素,如果list为空,则会一直阻塞等待
:param keys: 键列表;
:param timeout: 超时等待时间,0为一直等待
:return: [b'2']
例子:.brpop('list')
返回并删除名为list的列表中的最后一个元素
"""
r = redisClass().connect()
return r.brpop(keys, timeout)
def rpoplpush(self, src, dst):
"""
返回并删除名称为src的列表的尾元素,并将该元素添加到名称为dst的列表头部
:param src: 源列表的键;
:param dst: 目标列表的key
:return: b'2'
例子:.rpoplpush('list', 'list2')
将键为list的列表尾元素删除并将其添加到键为list2的列表头部,然后返回
"""
r = redisClass().connect()
return r.rpoplpush(src, dst)
def sadd(self, name, *values):
"""
向键为name的集合中添加元素
:param name: 键名;
:param values: 值,可为多个
:return: 3,即插入的数据个数
例子: .sadd('tags', 'Book', 'Tea', 'Coffee')
向键为tags的集合中添加Book、Tea和Coffee这3个内容
"""
r = redisClass().connect()
return r.sadd(name, *values)
def srem(self, name, *values):
"""
从键为name的集合中删除元素
:param name: 键名;
:param values: 值,可为多个
:return: 1,即删除的数据个数
例子: .srem('tags', 'Book')
从键为tags的集合中删除Book
"""
r = redisClass().connect()
return r.srem(name, *values)
def spop(self, name):
"""
随机返回并删除键为name的集合中的一个元素
:param name: 键名
:return:b'Tea'
例子:.spop('tags')
从键为tags的集合中随机删除并返回该元素
"""
r = redisClass().connect()
return r.spop(name)
def smove(self, src, dst, value):
"""
从src对应的集合中移除元素并将其添加到dst对应的集合中
:param src: 源集合;
:param dst: 目标集合;
:param value: 元素值
:return: True
例子:.smove('tags', 'tags2', 'Coffee')
从键为tags的集合中删除元素Coffee并将其添加到键为tags2的集合
"""
r = redisClass().connect()
return r.smove(src, dst, value)
def scard(self, name):
"""
返回键为name的集合的元素个数
:param name:
:return: 3
例子:.scard('tags')
获取键为tags的集合中的元素个数
"""
r = redisClass().connect()
return r.scard(name)
def sismember(self, name, value):
"""
测试member是否是键为name的集合的元素
:param name: 键值
:param value:
:return: True
例子:.sismember('tags', 'Book')
判断Book是否是键为tags的集合元素
"""
r = redisClass().connect()
return r.sismember(name, value)
def sinter(self, keys, *args):
"""
返回所有给定键的集合的交集
:param keys: 键列表
:param args:
:return: {b'Coffee'}
例子:.sinter(['tags', 'tags2'])
返回键为tags的集合和键为tags2的集合的交集
"""
r = redisClass().connect()
return r.sinter(keys, *args)
def sinterstore(self, dest, keys, *args):
"""
求交集并将交集保存到dest的集合
:param dest: 结果集合;
:param keys: 键列表
:param args:
:return: 1
例子:.sinterstore('inttag', ['tags', 'tags2'])
求键为tags的集合和键为tags2的集合的交集并将其保存为inttag
"""
r = redisClass().connect()
return r.sinterstore(dest, keys, *args)
def sunion(self, keys, *args):
"""
返回所有给定键的集合的并集
:param keys: 键列表
:param args:
:return: {b'Coffee', b'Book', b'Pen'}
例子:.sunion(['tags', 'tags2'])
返回键为tags的集合和键为tags2的集合的并集
"""
r = redisClass().connect()
return r.sunion(keys, *args)
def sunionstore(self, dest, keys, *args):
"""
求并集并将并集保存到dest的集合
:param dest: 结果集合;
:param keys: 键列表
:param args:
:return: 3
例子:.sunionstore('inttag', ['tags', 'tags2'])
求键为tags的集合和键为tags2的集合的并集并将其保存为inttag
"""
r = redisClass().connect()
return r.sunionstore(dest, keys, *args)
def sdiff(self, keys, *args):
"""
返回所有给定键的集合的差集
:param keys: 键列表
:param args:
:return: {b'Book', b'Pen'}
例子:.sdiff(['tags', 'tags2'])
返回键为tags的集合和键为tags2的集合的差集
"""
r = redisClass().connect()
return r.sdiff(keys, *args)
def sdiffstore(self, dest, keys, *args):
"""
求差集并将差集保存到dest集合
:param dest: 结果集合;
:param keys: 键列表
:param args:
:return: 3
例子:.sdiffstore('inttag', ['tags', 'tags2'])
求键为tags的集合和键为tags2的集合的差集并将其保存为inttag
"""
r = redisClass().connect()
return r.sdiffstore(dest, keys, *args)
def smembers(self, name):
"""
返回键为name的集合的所有元素
:param name: 键名
:return: {b'Pen', b'Book', b'Coffee'}
例子:.smembers('tags')
返回键为tags的集合的所有元素
"""
r = redisClass().connect()
return r.smembers(name)
def srandmember(self, name):
"""
随机返回键为name的集合中的一个元素,但不删除元素
:param name: 键值
:return:
例子:.srandmember('tags')
随机返回键为tags的集合中的一个元素
"""
r = redisClass().connect()
return r.srandmember(name)
def zadd(self, name, *args, **kwargs):
"""
向键为name的zset中添加元素member,score用于排序。如果该元素存在,则更新其顺序
:param name: 键名;
:param args: 可变参数
:param kwargs:
:return: 2,即添加的元素个数
例子:.zadd('grade', 100, 'Bob', 98, 'Mike')
向键为grade的zset中添加Bob(其score为100),并添加Mike(其score为98)
"""
r = redisClass().connect()
return r.zadd(name, *args, **kwargs)
def zrem(self, name, *values):
"""
删除键为name的zset中的元素
:param name: 键名;
:param values: 元素
:return: 1,即删除的元素个数
例子:.zrem('grade', 'Mike')
从键为grade的zset中删除Mike
"""
r = redisClass().connect()
return r.zrem(name, *values)
def zincrby(self, name, value, amount=1):
"""
如果在键为name的zset中已经存在元素value,则将该元素的score增加amount;否则向该集合中添加该元素,其score的值为amount
:param name: key名;
:param value: 元素;
:param amount: 增长的score值
:return: 98.0,即修改后的值
例子:.zincrby('grade', 'Bob', -2)
键为grade的zset中Bob的score减2
"""
r = redisClass().connect()
return r.zincrby(name, value, amount)
def zrank(self, name, value):
"""
返回键为name的zset中元素的排名,按score从小到大排序,即名次
:param name: 键名;
:param value: 元素值
:return: 1
例子:.zrank('grade', 'Amy')
得到键为grade的zset中Amy的排名
"""
r = redisClass().connect()
return r.zrank(name, value)
def zrevrank(self, name, value):
"""
返回键为name的zset中元素的倒数排名(按score从大到小排序),即名次
:param name: 键名;
:param value: 元素值
:return: 2
例子:.zrevrank('grade', 'Amy')
得到键为grade的zset中Amy的倒数排名
"""
r = redisClass().connect()
return r.zrevrank(name, value)
def zrevrange(self, name, start, end, withscores=False):
"""
返回键为name的zset(按score从大到小排序)中index从start到end的所有元素
:param name: 键值;
:param start: 开始索引;
:param end: 结束索引;
:param withscores: 是否带score
:return: [b'Bob', b'Mike', b'Amy', b'James']
例子:.zrevrange('grade', 0, 3)
返回键为grade的zset中前四名元素
"""
r = redisClass().connect()
return r.zrevrange(name, start, end, withscores)
def zrangebyscore(self, name, min, max, start=None, num=None, withscores=False):
"""
返回键为name的zset中score在给定区间的元素
:param name: 键名;
:param min: 最低score;
:param max: 最高score;
:param start: 起始索引;
:param num: 个数;
:param withscores: 是否带score
:return: [b'Bob', b'Mike', b'Amy', b'James']
例子:.zrangebyscore('grade', 80, 95)
返回键为grade的zset中score在80和95之间的元素
"""
r = redisClass().connect()
return r.zrangebyscore(name, min, max, start, num, withscores)
def zcount(self, name, min, max):
"""
返回键为name的zset中score在给定区间的数量
:param name: 键名;
:param min: 最低score;
:param max: 最高score
:return: 2
例子:.zcount('grade', 80, 95)
返回键为grade的zset中score在80到95的元素个数
"""
r = redisClass().connect()
return r.zcount(name, min, max)
def zcard(self, name):
"""
返回键为name的zset的元素个数
:param name: 键名
:return: 3
例子:.zcard('grade')
获取键为grade的zset中元素的个数
"""
r = redisClass().connect()
return r.zcard(name)
def zremrangebyrank(self, name, min, max):
"""
删除键为name的zset中排名在给定区间的元素
:param name: 键名;
:param min: 最低位次;
:param max: 最高位次
:return: 1,即删除的元素个数
例子:.zremrangebyrank('grade', 0, 0)
删除键为grade的zset中排名第一的元素
"""
r = redisClass().connect()
return r.zremrangebyrank(name, min, max)
def zremrangebyscore(self, name, min, max):
"""
删除键为name的zset中score在给定区间的元素
:param name: 键名;
:param min: 最低score;
:param max: 最高score
:return: 1,即删除的元素个数
例子:.zremrangebyscore('grade', 80, 90)
删除score在80到90之间的元素
"""
r = redisClass().connect()
return r.zremrangebyscore(name, min, max)
def hset(self, name, key, value):
"""
向键为name的散列表中添加映射
:param name: 键名;
:param key: 映射键名;
:param value: 映射键值
:return: 1,即添加的映射个数
例子:.hset('price', 'cake', 5)
向键为price的散列表中添加映射关系,cake的值为5
"""
r = redisClass().connect()
return r.hset(name, key, value)
def hsetnx(self, name, key, value):
"""
如果映射键名不存在,则向键为name的散列表中添加映射
:param name: 键名;
:param key: 映射键名;
:param value: 映射键值
:return: 1,即添加的映射个数
例子:.hsetnx('price', 'book', 6)
向键为price的散列表中添加映射关系,book的值为6
"""
r = redisClass().connect()
return r.hsetnx(name, key, value)
def hget(self, name, key):
"""
返回键为name的散列表中key对应的值
:param name: 键名;
:param key: 映射键名;
:return: 5
例子:.hget('price', 'cake')
获取键为price的散列表中键名为cake的值
"""
r = redisClass().connect()
return r.hget(name, key)
def hmget(self, name, keys, *args):
"""
返回键为name的散列表中各个键对应的值
:param name: 键名;
:param keys: 映射键名列表
:param args:
:return: [b'3', b'7']
例子:.hmget('price', ['apple', 'orange'])
获取键为price的散列表中apple和orange的值
"""
r = redisClass().connect()
return r.hmget(name, keys, *args)
def hmset(self, name, mapping):
"""
向键为name的散列表中批量添加映射
:param name: 键名;
:param mapping: 映射字典
:return: True
例子:.hmset('price', {'banana': 2, 'pear': 6})
向键为price的散列表中批量添加映射
"""
r = redisClass().connect()
return r.hmset(name, mapping)
def hincrby(self, name, key, amount=1):
"""
将键为name的散列表中映射的值增加amount
:param name: 键名;
:param key: 映射键名;
:param amount: 增长量
:return: 6,修改后的值
例子:.hincrby('price', 'apple', 3)
key为price的散列表中apple的值增加3
"""
r = redisClass().connect()
return r.hincrby(name, key, amount)
def hexists(self, name, key):
"""
键为name的散列表中是否存在键名为键的映射
:param name: 键名;
:param key: 映射键名;
:return: True
例子:.hexists('price', 'banana')
键为price的散列表中banana的值是否存在
"""
r = redisClass().connect()
return r.hexists(name, key)
def hdel(self, name, *keys):
"""
在键为name的散列表中,删除键名为键的映射
:param name: 键名;
:param key: 映射键名;
:return: True
例子:.hdel('price', 'banana')
从键为price的散列表中删除键名为banana的映射
"""
r = redisClass().connect()
return r.hdel(name, *keys)
def hlen(self, name):
"""
从键为name的散列表中获取映射个数
:param name: 键名
:return: 6
例子:.hlen('price')
从键为price的散列表中获取映射个数
"""
r = redisClass().connect()
return r.hlen(name)
def hkeys(self, name):
"""
从键为name的散列表中获取所有映射键名
:param name: 键名
:return: [b'cake', b'book', b'banana', b'pear']
例子:.hkeys('price')
从键为price的散列表中获取所有映射键名
"""
r = redisClass().connect()
return r.hkeys(name)
def hvals(self, name):
"""
从键为name的散列表中获取所有映射键值
:param name: 键名
:return:[b'5', b'6', b'2', b'6']
例子:.hvals('price')
从键为price的散列表中获取所有映射键值
"""
r = redisClass().connect()
return r.hvals(name)
def hgetall(self, name):
"""
从键为name的散列表中获取所有映射键值对
:param name: 键名
:return:{b'cake': b'5', b'book': b'6', b'orange': b'7', b'pear': b'6'}
例子:.hgetall('price')
从键为price的散列表中获取所有映射键值对
"""
r = redisClass().connect()
return r.hgetall(name)
# -*- encoding=utf8 -*-
import base64
import requests
import json
from common.confop import confOP
class sqlByIdb:
# 登录
def login(self):
url = "http://docp.plt.babytree-inc.com/api/v1/passport/login/"
header = {
'Content-Type': 'application/json'
}
username = "dGVzdF9jbG91ZA=="
password = "eDZpbkRITnJVRWRl"
postdata = json.dumps({
"username": base64.b64decode(username.encode('utf-8')).decode("utf-8"),
"password": base64.b64decode(password.encode('utf-8')).decode("utf-8")
})
response = requests.request("POST", url, headers=header, data=postdata)
result = json.loads(response.text.encode('utf8'))
return result
def selectSql(self, database, sql, param, env):
login_result = sqlByIdb().login()
sql = sql.replace('%d', '%s')
for pa in param:
pa = "'" + str(pa) + "'"
sql = sql.replace('%s', pa, 1)
print(sql)
value = confOP().getYamlValue("idbSet")
if env == "on":
env = "live"
instance_id = value[database][env]
url = "http://docp.plt.babytree-inc.com/api/v1/sql/mysql/query/query/"
payload = json.dumps({
"instance_id": instance_id,
"db_name": database,
"tb_name": database,
"limit_num": 3000,
"sqlContent": sql
})
headers = {
'Authorization': login_result["sid"],
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
result = json.loads(response.text.encode('utf8'))
return result["results"][0]["rows"]
import time
import telnetlib
import re
class TelnetClient(object):
"""通过telnet连接dubbo服务, 执行shell命令, 可用来调用dubbo接口
"""
def __init__(self, server_host, server_post):
self.tn = telnetlib.Telnet()
self.server_host = server_host
self.server_port = server_post
# 此函数实现telnet登录主机
def connect_dubbo(self):
try:
print("telent连接dubbo服务端: telnet {} {} ……".format(self.server_host, self.server_port))
self.tn.open(self.server_host, port=self.server_port)
return True
except Exception as e:
print('连接失败, 原因是: {}'.format(str(e)))
return False
# 此函数实现执行传过来的命令,并输出其执行结果
def execute_some_command(self, command):
# 执行命令
cmd = (command + '\n').encode("gbk")
self.tn.write(cmd)
# 获取命令结果,字符串类型
retry_count = 0
# 如果响应未及时返回,则等待后重新读取,并记录重试次数
result = self.tn.read_very_eager().decode(encoding='gbk')
while result == '':
time.sleep(1)
result = self.tn.read_very_eager().decode(encoding='gbk')
retry_count += 1
return result
# 退出telnet
def logout_host(self):
self.tn.write(b"exit\n")
print("登出成功")
class InvokeDubboApi(object):
def __init__(self, server_host, server_post):
try:
self.telnet_client = TelnetClient(server_host, server_post)
self.login_flag = self.telnet_client.connect_dubbo()
except Exception as e:
print("invokedubboapi init error" + str(e))
def invoke_dubbo_api(self, dubbo_service, dubbor_method, args):
api_name = dubbo_service + "." + dubbor_method + "({})"
cmd = "invoke " + api_name.format(args)
# print("调用命令是:{}".format(cmd))
resp0 = None
try:
if self.login_flag:
resp0 = self.telnet_client.execute_some_command(cmd)
# print("接口响应是,resp={}".format(resp0))
# dubbo接口返回的数据中有 elapsed: 4 ms. 耗时,需要使用elapsed 进行切割
return str(re.compile(".+").findall(resp0).pop(0)).split("elapsed").pop(0).strip()
else:
print("登陆失败!")
except Exception as e:
raise Exception("调用接口异常, 接口响应是resp={}, 异常信息为:{}".format(resp0, str(e)))
self.logout()
def logout(self):
self.telnet_client.logout_host()
class GetDubboService2(object):
def __init__(self):
pass
def get_dubbo_info2(self,content):
try:
dubbore = re.compile(r"([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:[0-9]+)", re.I)
result = dubbore.search(str(content)).group()
print("获取到dubbo部署信息" + result)
return {"server_host": result.split(":")[0], "server_post": result.split(":")[1]}
except Exception as e:
raise Exception("获取dubbo部署信息失败:{}".format(str(e)))
import os
from ruamel import yaml
from common.db.db import dbOP
import datetime
curpath = os.path.dirname(os.path.realpath(__file__))
rootPath = os.path.split(curpath)[0]
# 数据读入和写入文件
class FileUtils(object):
def w_info(self, info,keyname):
module=info[2]
dict = {}
value = {}
value['username'] = info[0]
value['goodsname'] = info[1]
key=keyname
dict[key] = value
w_path=rootPath+os.sep+'data'+os.sep+module
# print(w_path)
yamlpath = os.path.join(w_path, "message")
# 写入到yaml文件
with open(yamlpath, "w", encoding="utf-8") as f:
yaml.dump(dict, f, Dumper=yaml.RoundTripDumper,allow_unicode=True)
def r_info(self, module,keyname):
w_path = rootPath + os.sep + 'data' + os.sep + module
yamlpath = os.path.join(w_path, "message")
file_value = open(yamlpath, 'r',encoding='utf-8')
result = yaml.load(file_value.read(), Loader=yaml.Loader)
if result is not None:
key = keyname
if key in result:
return result[key]
else:
return None
else:
return None
if __name__ == '__main__':
# info=("aaaa","bbbbbb","mdm3-pim")
# FileUtils().w_info(info,"产品新增")
aa=FileUtils().r_info("mdm3-pim","产品新增")
print(aa['username'])
loginusername1:
aaaa: aaaa
bbbbbb: bbbbbb
import hashlib
from Crypto.Cipher import AES
class PasswordEncrypt(object):
"""通过对密码进行加密,方便spd系统登录之后获取token
spd项目token不存于数据库中,token只存在于内存中
"""
def __init__(self, username, userpwd, verifyCodeId):
self.username = username # 用户名
self.userpwd = userpwd # 密码
self.verifyCodeId = verifyCodeId # 验证码id
# 此函数实现密码加密
def pwd_Encrypt(self):
'''
{"username":"gyqxadmin",
"passwd":"af5d87060df01ce434e4a397b51a0b9bd960416aa873177889f6a0104b28e450acc980ab8d6391931a8470a91c37c94fad5d14f4925d860fb3314aca9bc4677a3ade29e23fb469b8710680995f8e218f",
"verifyCodeId":"512cdfebc1a042fa89d0f5a56d744f4d","verifyCode":"ece6","projectCode":"warehouse.pc"}
'''
# verifyCodeId = b'512cdfebc1a042fa89d0f5a56d744f4d'
verifyCodeId = self.verifyCodeId
verifyCode = bytes(verifyCodeId[0:16])
# print("verifyCode:", verifyCode)
username_and_pwd = self.username + self.userpwd
sha256EncodeStr = hashlib.sha256(username_and_pwd.encode("utf-8"))
# print("sha256EncodeStr:", sha256EncodeStr.hexdigest())
# print("encode sha256EncodeStr:", sha256EncodeStr.hexdigest().encode("utf-8"))
aes = AES.new(key=bytes(verifyCodeId), iv=verifyCode, mode=AES.MODE_CBC)
en_text = aes.encrypt(self.pad(sha256EncodeStr.hexdigest()).encode("utf-8")) # 加密明文
# print("en_text:", en_text)
# print("base64 de_text2:", en_text.hex())
# print('en_text',en_text)
return en_text.hex()
def pad(slef, text):
# print(type(text))
text_length = len(text)
amount_to_pad = AES.block_size - (text_length % AES.block_size)
# print('amount_to_pad',amount_to_pad)
# print(type(amount_to_pad))
if amount_to_pad == 0:
amount_to_pad = AES.block_size
pad = chr(amount_to_pad)
# print('pad',pad)
# print(text+pad * amount_to_pad)
return text + pad * amount_to_pad
if __name__ == '__main__':
aa = PasswordEncrypt('1679886114521', 'a123456!', b'7382a248d0e94645ba8b5b0cd942370d')
print(aa.pwd_Encrypt())
# -*- encoding=utf8 -*-
from common.cli.runner import AirtestCase, run_script
from argparse import *
import jinja2
import shutil
import os
import io
import time
import re
import report.report.report as report
import logging
from airtest.utils.logger import get_logger
from multiprocessing import Pool
import math
import requests
import json
import random
from common.confop import confOP
class CustomAirTestCase(AirtestCase):
# @classMethod
# def setUpClass(cls):
# super(CustomAirTestCase,cls).setUpClass()
#
# 类变量,多进程跑任务的时候用到
summary_message = {}
summary_message["caseNum"] = 0
summary_message["passNum"] = 0
summary_message['passRate'] = 0.0
case_results = []
log_list = []
def __init__(self, work_space, case_path, log_path, runtime_log, log_level):
"""
初始化一些环境变量
:param work_space:
:param case_path:
:param log_path:
:param runtime_log:
"""
self.workspace = work_space
self.case_path = case_path
self.log_path = log_path
self.runtime_log = runtime_log
level = self.get_log_level(log_level)
logger = get_logger("airtest")
logger.setLevel(level)
def get_phone_by_user(self, user):
url = "http://cloud.baobaoshu.com/cloud/groupUser/findPhoneByUser?name=%s" % user
payload = {}
headers = {
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
result = json.loads(response.text)
return result["data"]
def dingding_send_markdown(self, env, title, content, job_url, author, token):
at_phones = "@"
at = {
"atMobiles": [
# 需要填写自己的手机号,钉钉通过手机号@对应人
],
"isAtAll": True # 是否@所有人,默认否
}
if author in ["zhangaizhen", "caiyubing", "hongli", "lihong", "wuchenlong"]:
at_phones = "@ALL"
else:
phones = self.get_phone_by_user(author)
if phones.isdigit():
at_phones = at_phones + phones
at["isAtAll"] = False
else:
at_phones = "@ALL"
at["isAtAll"] = True
phoneArr = []
phoneArr.append(str(phones))
at["atMobiles"] = phoneArr
"""
报错的用例以markdown的格式发钉钉群
:param title: 消息主题
:param content: 消息内容
:return:
"""
url = 'https://oapi.dingtalk.com/robot/send?access_token=%s' % token
pagrem = {
"msgtype": "markdown",
"markdown": {
"title": "自动化执行结果",
"text": "#### **[" + str(env) + "环境]" + str(title) + " 用例报错** \n> ##### 执行链接: " + str(
job_url) + "\n> ##### 接口返回值: " + str(content) + " " + str(at_phones)
},
"at": at
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, data=json.dumps(pagrem), headers=headers)
return response.text
def get_error_log_info(self, log):
"""
获取报错的日志
:param log:
:return:
"""
txt_log = os.path.join(log, 'log.txt')
f = open(txt_log, 'r', encoding='utf-8')
lines = f.readlines()
f.close()
for line in lines:
if "assert_not_equal" in line:
expect_val = json.loads(line)["data"]["call_args"]["first"]
return expect_val
else:
return ""
def get_log_level(self, log_level):
if log_level == 'warn':
return logging.WARN
elif log_level == 'debug':
return logging.DEBUG
elif log_level == 'info':
return logging.INFO
else:
print("输入日志信息不对")
return logging.DEBUG
def setUp(self):
print("custom setup")
super(CustomAirTestCase, self).setUp()
def tearDown(self):
print("custom tearDown")
super(CustomAirTestCase, self).tearDown()
def get_author(self, case_name, filepath):
"""
获取case是谁写的
:return:
"""
name = 'Unknown'
pyfile = open(filepath + os.sep + case_name + '.air' + os.sep + case_name + '.py', 'r', encoding='utf-8')
lines = pyfile.readlines()
for line in lines:
line = line.replace(" ", "")
if '__author__' in line:
line = line.split('__author__=')[-1]
name = line.replace('"', '')
name = name.strip().strip('\n')
pyfile.close()
return name
def create_log(self, log_path, air_name):
"""
创建对应case的log 文件
:return:
"""
if os.path.isdir(log_path):
pass
else:
os.makedirs(log_path)
log = os.path.join(log_path, air_name)
if os.path.isdir(log):
shutil.rmtree(log)
else:
os.makedirs(log)
return log
def get_case_runtime(self, log):
"""
读取case运行日志,获取case执行开始时间,结束时间
:param log:
:return:
"""
txt_log = os.path.join(log, 'log.txt')
f = open(txt_log, 'r', encoding='utf-8')
lines = f.readlines()
f.close()
start_time = float(re.findall('.*"start_time": (.*), "ret".*', lines[0])[0])
start_time = int(start_time * 1000)
try:
end_time = float(re.findall('.*"end_time": (.*)}}.*', lines[-1])[0])
except:
# case执行失败的话没打end_time
end_time = float(re.findall('.*"time": (.*), "data".*', lines[-2])[0])
end_time = int(end_time * 1000)
return start_time, end_time
def assign_tasks(self, task_list, num):
"""
将任务平均分配给num个设备跑
:param task_list: 待分配任务列表
:param num: num个设备
:return:
"""
all_list = []
length = len(task_list)
for i in range(num):
one_list = task_list[math.floor(i / num * length):math.floor((i + 1) / num * length)]
all_list.append(one_list)
return all_list
def get_device(self, case_dict, script):
"""
根据之间跑case时候记录的设备对应执行的case,获取某个脚本是在哪个设备上执行的
:param case_dict:
:param script:
:return: devie
"""
for k in case_dict:
if script in case_dict[k]:
return k
def get_cases_and_log(self, case_name, device_list):
"""
:return: 获得需要执行的所有air的文件夹,同时对每个设备创建log目录
"""
dirs_ls = []
for dirs in os.listdir(self.case_path):
isdir = os.path.join(self.case_path, dirs)
if os.path.isdir(isdir) and isdir.endswith(".air"):
air_name = dirs.replace('.air', '')
if case_name == 'all' or air_name in case_name:
script = os.path.join(self.case_path, isdir)
dirs_ls.append(script)
for device in device_list:
self.create_log(os.path.join(self.log_path, device), air_name)
return dirs_ls
def get_all_dir(self, case_name):
"""
:return: 获得需要执行的所有air的文件夹,同时创建单个log目录
"""
dirs_ls = []
for dirs in os.listdir(self.case_path):
isdir = os.path.join(self.case_path, dirs)
if os.path.isdir(isdir) and isdir.endswith(".air"):
air_name = dirs.replace('.air', '')
if 'all' in case_name or air_name in case_name:
script = os.path.join(self.case_path, isdir)
dirs_ls.append(script)
log = self.create_log(self.log_path, air_name)
CustomAirTestCase.log_list.append(log)
return dirs_ls
def do_run_by_pool(self, run_device, cases, log_path):
"""
在指定设备上跑指定脚本
:param run_device:
:param script:
:param log:
:return:
"""
run_device = 'Android:///' + run_device
for script in cases:
air_name = script.split(os.sep)[-1].replace('.air', '')
log = os.path.join(log_path, air_name)
print(run_device + ' run ' + script + ' ---->start')
args = Namespace(device=run_device, log=log, recording=None, script=script)
try:
run_script(args, AirtestCase)
except:
pass
print(run_device + ' run ' + script + ' ---->end')
def doReport(self, results, total, report_name):
"""
输出具体报告
:param case_results:
:param summary_message:
:param device:
:return:
"""
report_path = os.path.join(self.workspace, 'report')
if len(results) == 0:
print("没有执行case")
return
else:
env = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.join(self.workspace, 'templates')),
extensions=(),
autoescape=True
)
total["passRate"] = round(total["passNum"]*100/total["caseNum"], 2)
template = env.get_template("summary_template.html")
# log_path必须传相对路径,要不在jenkins上展示报告会报错
log_path = '../log'
# report_name 是根据设备命名的,如果report_name里有设备名的话,那log_path得加一层设备名
if '_' in report_name:
log_path = '../log/' + report_name.split('_')[-1].replace('.html', '')
html = template.render({"case_results": results, "summary_message": total, "log_path": log_path})
output_file = os.path.join(report_path, report_name)
with io.open(output_file, 'w', encoding="utf-8") as f:
f.write(html)
print("报告文件: " + output_file)
def delWithLogToReportByDevice(self, script_list, device):
"""
根据日志信息产出报告,一个设备出一份日志
:param workspace:
:param script_list:
:param log_path:
:param device:
:return:
"""
summary_message = {}
summary_message["caseNum"] = 0
summary_message["passNum"] = 0
log_path = os.path.join(self.log_path, device)
case_results = []
count = len(script_list)
for i in range(count):
script = script_list[i]
air_name = script.split(os.sep)[-1].replace('.air', '')
log = os.path.join(log_path, air_name)
rpt = report.LogToHtml(script, log)
output_file = log + os.sep + 'log.html'
report_dir = '../../../report/report/'
case_image_dir = '../../../air_case'
rpt.report("log_template.html", report_dir, case_image_dir, output_file=output_file)
result = {}
result["name"] = air_name
result["result"] = rpt.test_result
if result["result"]:
summary_message["passNum"] += 1
start, end = self.get_case_runtime(log)
result["time"] = (end - start)/1000 if end > start else 0
case_results.append(result)
summary_message["caseNum"] = count
report_name = 'summary_' + device + '.html'
self.doReport(case_results, summary_message, report_name)
def delWithLogToReport(self, case_list):
"""
读取运行case的日志,获取case数,case运行成功数等信息,生成html 报告
:return:
"""
count = len(CustomAirTestCase.log_list)
for i in range(count):
script = case_list[i]
log = CustomAirTestCase.log_list[i]
air_name = script.split(os.sep)[-1].replace('.air', '')
rpt = report.LogToHtml(script, log)
output_file = os.path.join(log, 'log.html')
report_dir = '../../report/report/'
case_image_dir = '../../air_case'
try:
rpt.report("log_template.html", report_dir, case_image_dir, output_file=output_file)
except:
pass
result = {}
result["name"] = air_name
result["result"] = rpt.test_result
if result["result"]:
CustomAirTestCase.summary_message["passNum"] += 1
try:
start, end = self.get_case_runtime(log)
except:
start = 1
end = 60
result["time"] = (end - start) / 1000 if end > start else 0
author = self.get_author(air_name, self.case_path)
result["author"] = author
CustomAirTestCase.case_results.append(result)
CustomAirTestCase.summary_message["caseNum"] = count
CustomAirTestCase.summary_message["passRate"] = round(CustomAirTestCase.summary_message["passNum"] \
* 100 / CustomAirTestCase.summary_message["caseNum"], 2)
self.doReport(CustomAirTestCase.case_results, CustomAirTestCase.summary_message, 'summary.html')
def run_case(self, run_case, case_name, job_url, case_scenario_name):
"""
运行单个case
:param case_name:
:return: 返回case的运行结果集合,包括case名,case执行起止时间,供校验埋点的时候用
"""
summary_message = {}
summary_message["caseNum"] = 0
summary_message["passNum"] = 0
all_start = int(time.time() * 1000)
fp = open(self.runtime_log, 'w+', encoding='utf-8')
report_dir = '../../report/report/'
static_root = report_dir
case_image_dir = '../../air_case'
lang = 'zh'
plugin = ['airtest_selenium.report']
# 聚合结果
case_results = []
# d获取所有用例集
for filepath, dirnames, filenames in os.walk(self.case_path):
for f in dirnames:
if f.endswith(".air"):
# f为.air用例名称:demo.air
air_name = f.replace('.air', '')
if 'all' in case_name or air_name in case_name:
script = os.path.join(filepath, f)
# 创建日志
log = self.create_log(self.log_path, air_name)
output_file = os.path.join(log, 'log.html')
# global args
args = Namespace(device=None, log=log, recording=None, script=script)
start = int(time.time() * 1000)
try:
flag = False
i = 0
if "AutoTest_" in log:
while flag == False and i < 2:
try:
run_script(args, AirtestCase)
flag = True
i += 1
print("yes,SUCCESS")
except:
i += 1
pass
else:
run_script(args, AirtestCase)
flag = True
print("yes,SUCCESS")
except:
pass
print("oh, FAILED")
finally:
end = int(time.time() * 1000)
author = self.get_author(air_name, filepath)
fp.write(air_name + '\t' + str(start) + '\t' + str(end) + '\t' + author + '\n')
log_root = 'log/' + air_name
report.main(log_root, static_root, script, lang, plugin, report_dir, case_image_dir, output_file)
result = {}
result["name"] = air_name
result["result"] = flag
result["author"] = author
result["time"] = (end - start) / 1000 if end > start else 0
case_results.append(result)
if flag == False:
msg = confOP().getYamlValue("msg")
token = msg["dingding_msg"][0]
if "AutoTest_" in log and token != None:
title = air_name
if air_name in case_scenario_name:
title = case_scenario_name[air_name] + "---" + air_name
content = self.get_error_log_info(log)
env = os.environ['ENV']
if len(str(content)) > 20000:
content = str(content)[1:300]
self.dingding_send_markdown(env, title, content, job_url, author, token)
print("case 执行完毕,开始生成报告")
fp.close()
seconds = (int(time.time() * 1000) - all_start) / 1000
m, s = divmod(seconds, 60)
summary_message["time"] = "%d分%d秒" % (m, s)
new_case_result, summary_message = self.merge_run_result(run_case, case_results, summary_message)
self.doReport(new_case_result, summary_message, 'summary.html')
self.merge_log_txt(run_case, static_root, lang, plugin, report_dir, case_image_dir)
print("报告已生成")
def run_case_single(self, device, case_name):
"""
运行单个case
:param device:
:param case_name:
:return: 返回case的运行结果集合,包括case名,case执行起止时间,供校验埋点的时候用
"""
summary_message = {}
summary_message["caseNum"] = 0
summary_message["passNum"] = 0
all_start = int(time.time() * 1000)
fp = open(self.runtime_log, 'w+', encoding='utf-8')
# 聚合结果
case_results = []
# d获取所有用例集
for f in os.listdir(self.case_path):
if f.endswith(".air"):
# f为.air用例名称:demo.air
air_name = f.replace('.air', '')
if 'all' in case_name or air_name in case_name:
script = os.path.join(self.case_path, f)
# 创建日志
log = self.create_log(self.log_path, air_name)
output_file = os.path.join(log, 'log.html')
# global args
dev = 'Android:///' + device
args = Namespace(device=dev, log=log, recording=None, script=script)
start = int(time.time() * 1000)
try:
run_script(args, AirtestCase)
summary_message["passNum"] += 1
except:
pass
finally:
end = int(time.time() * 1000)
author = self.get_author(air_name, self.case_path)
fp.write(device + '\t' + air_name + '\t' + str(start) + '\t' + str(end) + '\t' + author + '\n')
rpt = report.LogToHtml(script, log)
report_dir = '../../report/report/'
case_image_dir = '../../air_case'
rpt.report("log_template.html", report_dir, case_image_dir, output_file=output_file)
result = {}
result["name"] = air_name
result["result"] = rpt.test_result
result["time"] = (end - start) / 1000 if end > start else 0
case_results.append(result)
summary_message["caseNum"] += 1
print("case 执行完毕,开始生成报告")
fp.close()
seconds = (int(time.time() * 1000) - all_start) / 1000
m, s = divmod(seconds, 60)
summary_message["time"] = "%d分%d秒" % (m, s)
self.doReport(case_results, summary_message, 'summary.html')
print("报告已生成")
return True
def run_case_by_Multi(self, device_list, case_name):
"""
兼容性测试,case在每个机器上跑一遍
:param device_list:
:param case_name:
:return:
"""
all_start = int(time.time() * 1000)
p = Pool(len(device_list))
# 获取所有需要执行的用例集
script_list = self.get_cases_and_log(case_name, device_list)
print("任务列表:")
print(script_list)
for device in device_list:
# 设置进程数和设备数一样
try:
p.apply_async(self.do_run_by_pool, args=(device, script_list, os.path.join(self.log_path, device)))
except:
pass
p.close()
p.join()
print("all subprocesses done")
seconds = (int(time.time() * 1000) - all_start) / 1000
m, s = divmod(seconds, 60)
CustomAirTestCase.summary_message["time"] = "%d分%d秒" % (m, s)
for device in device_list:
self.delWithLogToReportByDevice(script_list, device)
def run_case_by_distri(self, device_list, case_name):
"""
多进程跑case,将任务平均分给不同的设备,多进程跑,都跑完后,读取各case的log.txt 文件,获取case的开始结束时间信息
:param device_list
:param case_name:
:return:
"""
all_start = int(time.time() * 1000)
# 获取所有需要执行的用例集
script_list = self.get_all_dir(case_name)
device_count = len(device_list)
#把任务分配给不同的设备,分布式跑就是不同机器跑不同任务最终完成所有任务
case_list = self.assign_tasks(script_list, device_count)
print("任务列表:")
print(case_list)
# 记录case 及脚本对应关系
case_dict = {}
#设置进程数和设备数一样
p = Pool(device_count)
for i in range(device_count):
run_device = device_list[i]
cases = case_list[i]
case_dict[run_device] = cases
try:
p.apply_async(self.do_run_by_pool, args=(run_device, cases, self.log_path))
except:
pass
p.close()
p.join()
print("all SubProcesses done")
seconds = (int(time.time() * 1000) - all_start) /1000
m, s = divmod(seconds, 60)
CustomAirTestCase.summary_message["time"] = "%d分%d秒" % (m, s)
self.delWithLogToReport(script_list, case_dict)
def analysis_air_file(self, case_name, case_path, new_air_name):
"""
解析需要执行的air文件,将场景和场景之间隔开
:param case_name: 需要分开场景的air文件
:return:
"""
case_name_list = []
file_name = case_path + os.sep + case_name + '.py'
pyfile = open(file_name, 'r', encoding='utf-8')
lines = pyfile.readlines()
for line in lines:
line = line.replace(" ", "").replace("\n", "")
if re.match("^场景", line):
line = line.replace("\\", "").replace("/", "").replace(":", "").replace("*", "").replace("?", "").replace("\"", "").replace("<", "").replace(">", "").replace("|", "")
if line in new_air_name:
line = line + str(random.randint(1, 500)) + str(random.choice("abcdefghijklmnopqrstuvwxyz"))
case_name_list.append(line)
pyfile.close()
"""
如果含有多条(>1)场景,则对场景进行代码块划分
"""
if len(case_name_list) > 1:
i = 0
header_file = open(case_path + os.sep + 'header.py', 'w', encoding='utf-8')
for line in lines:
if re.match("^场景", line.replace(" ", "").replace("\n", "")):
new_file = open(case_path + os.sep + case_name_list[i] + '.py', 'w', encoding='utf-8')
new_file.write(line)
new_file.close()
i += 1
else:
if i == 0:
header_file.write(line)
else:
new_file = open(case_path + os.sep + case_name_list[i-1] + '.py', 'a+', encoding='utf-8')
new_file.write(line)
new_file.close()
header_file.close()
new_air_name.extend(case_name_list)
return case_name_list, new_air_name
else:
case_name_list = []
if case_name in new_air_name:
case_name = case_name + str(random.randint(1, 500)) + str(random.choice("abcdefghijklmnopqrstuvwxyz"))
case_name_list.append(case_name)
new_air_name.extend(case_name_list)
return case_name_list, new_air_name
def merge_new_file(self, case_list):
"""
将公共文件和场景文件合并成一个新的air文件
:param case_list:
:return:
"""
new_case_list = []
new_air_name = []
case_scenario_name = {}
for i in range(len(case_list)):
case_hash = {}
air_name = case_list[i]["air_name"]
air_path = case_list[i]["air_path"]
module_name = case_list[i]["module"]
case_hash["run_case"] = air_name
case_hash["module"] = module_name
case_name_list, new_air_name = self.analysis_air_file(air_name, air_path, new_air_name)
if len(case_name_list) > 1:
case_hash["scene_run_cases"] = case_name_list
for j in range(len(case_name_list)):
case_scenario_name[case_name_list[j]] = air_name
if not os.path.exists(air_path):
os.mkdir(air_path)
header_file = open(air_path + os.sep + 'header.py', 'r', encoding='utf-8')
header_lines = header_file.readlines()
header_file.close()
new_file = open(air_path + os.sep + case_name_list[j] + '.py', 'r', encoding='utf-8')
new_file_lines = new_file.readlines()
last_line = new_file_lines[-1]
if re.match("^[\"]+$", last_line):
new_file_lines = new_file_lines[:-1]
new_file.close()
dir_name = self.case_path + os.sep + module_name + os.sep + case_name_list[j] + ".air"
if not os.path.exists(dir_name):
os.mkdir(dir_name)
new_air = open(dir_name + os.sep + case_name_list[j] + '.py', 'w', encoding='utf-8')
new_air.writelines(header_lines)
for line in new_file_lines:
new_air.write(line)
new_air.close()
os.remove(air_path + os.sep + case_name_list[j] + '.py')
os.remove(air_path + os.sep + 'header.py')
new_case_list.append(case_hash)
return new_case_list, new_air_name, case_scenario_name
def merge_run_result(self, run_case_list, case_result, summary_message):
"""
将场景执行结果合并,确定最后场景执行的最后状态,成功or失败
:return:
"""
new_case_result = []
"""
遍历跑的所有用例,包括拆分出来的所有场景
判断每一个list中是否存在scene_run_cases,
如果存在,则一个接口中有多个场景,遍历scene_run_cases,去case_result中找执行的结果,进行合并
如果不存在,则将执行结果赋值到新的结果中
"""
count = 0
summary_message["result"] = True
for i in range(len(run_case_list)):
new_dict_result = {}
json_case = run_case_list[i]
if 'scene_run_cases' in json_case:
time = 0
new_dict_result["result"] = True
scene_names = json_case["scene_run_cases"]
new_dict_result["name"] = json_case["run_case"]
# 遍历scene_run_cases
break_flag = False
for m in range(len(scene_names)):
air_name = scene_names[m]
for j in range(len(case_result)):
dict_case = case_result[j]
if air_name == dict_case["name"]:
new_dict_result["author"] = dict_case["author"]
time = float(time) + float(dict_case["time"])
if dict_case["result"] == False:
new_dict_result["result"] = False
count += 1
break_flag = True
summary_message["result"] = False
break
if break_flag:
break
new_dict_result["time"] = time
new_case_result.append(new_dict_result)
else:
air_name = json_case["run_case"]
for j in range(len(case_result)):
dict_case = case_result[j]
if air_name == dict_case["name"]:
if dict_case["result"] == False:
count += 1
new_case_result.append(dict_case)
break
summary_message["caseNum"] = len(run_case_list)
summary_message["passNum"] = len(run_case_list) - count
return new_case_result, summary_message
def merge_log_txt(self, run_case_list, static_root, lang, plugin, report_dir, case_image_dir):
"""
将log.txt内容合并
:param run_case_list:
:return:
"""
for i in range(len(run_case_list)):
json_case = run_case_list[i]
module_name = json_case["module"]
if 'scene_run_cases' in json_case:
air_name = json_case["run_case"]
script = self.case_path + os.sep + module_name + os.sep + air_name + ".air"
log_root = "log" + os.sep + air_name
air_log_path = self.log_path + os.sep + air_name
if not os.path.exists(air_log_path):
os.mkdir(air_log_path)
new_log = open(self.log_path + os.sep + air_name + os.sep + 'log.txt', 'w', encoding='utf-8')
scene_run_cases = json_case["scene_run_cases"]
for j in range(len(scene_run_cases)):
sub_air_name = scene_run_cases[j]
try:
sub_log = open(self.log_path + os.sep + sub_air_name + os.sep + 'log.txt', 'r', encoding='utf-8')
lines = sub_log.readlines()
if len(lines) > 0:
json_line = json.loads(lines[0])
total_time = str(json_line["time"])
if "start_time" in json_line["data"]:
start_time = json_line["data"]["start_time"]
end_time = json_line["data"]["end_time"]
else:
start_time = "1603779572.984517"
end_time = "1603779572.984517"
else:
total_time = "1603779572.984517"
start_time = "1603779572.984517"
end_time = "1603779572.984517"
new_log.write('{"tag": "function", "depth": 1, "time": %s, "data": {"name": "assert_equal", "call_args": {"first": "autotest", "second": "autotest", "msg": ""}, "start_time": %s, "ret": null, "end_time": %s}, "scene_name": "%s"}\n' % (total_time, start_time, end_time, str(sub_air_name)))
new_log.writelines(lines)
sub_log.close()
new_air_path = self.case_path + os.sep + module_name
os.remove(new_air_path + os.sep + sub_air_name + ".air" + os.sep + sub_air_name + ".py")
shutil.rmtree(new_air_path + os.sep + sub_air_name + ".air")
except Exception as e:
print("mergeLogTxt: ", e)
new_air_path = self.case_path + os.sep + module_name
os.remove(new_air_path + os.sep + sub_air_name + ".air" + os.sep + sub_air_name + ".py")
shutil.rmtree(new_air_path + os.sep + sub_air_name + ".air")
new_log.close()
output_file = self.log_path + os.sep + air_name + os.sep + "log.html"
report.main(log_root, static_root, script, lang, plugin, report_dir, case_image_dir, output_file)
def run_by_scenario(self, module_name, case_name, scenario_name):
case_results = []
"""
按照一条用例中的场景执行
:return:
"""
case_path = self.case_path + os.sep + module_name + os.sep + case_name + ".air"
case_name_list = self.analysis_air_file(case_name, case_path, [])
for i in range(len(case_name_list)):
if scenario_name in case_name_list[i]:
scenario_name = case_name_list[i]
script = self.case_path + os.sep + module_name + os.sep + scenario_name + ".air"
air_path = self.case_path + os.sep + module_name + os.sep + scenario_name + ".air"
if not os.path.exists(air_path):
os.mkdir(air_path)
header_file = open(case_path + os.sep + 'header.py', 'r', encoding='utf-8')
header_lines = header_file.readlines()
header_file.close()
new_file = open(case_path + os.sep + scenario_name + '.py', 'r', encoding='utf-8')
new_file_lines = new_file.readlines()
last_line = new_file_lines[-1]
if re.match("^[\"]+$", last_line):
new_file_lines = new_file_lines[:-1]
new_file.close()
dir_name = self.case_path + os.sep + module_name + os.sep + scenario_name + ".air"
if os.path.isdir(dir_name):
new_air = open(dir_name + os.sep + scenario_name + '.py', 'w', encoding='utf-8')
new_air.writelines(header_lines)
for line in new_file_lines:
new_air.write(line)
new_air.close()
for j in range(len(case_name_list)):
os.remove(case_path + os.sep + case_name_list[j] + '.py')
os.remove(case_path + os.sep + 'header.py')
summary_message = {}
summary_message["caseNum"] = 0
summary_message["passNum"] = 0
fp = open(self.runtime_log, 'w+', encoding='utf-8')
# 创建日志
log = self.create_log(self.log_path, scenario_name)
output_file = os.path.join(log, 'log.html')
# global args
args = Namespace(device=None, log=log, recording=None, script=script)
start = int(time.time() * 1000)
try:
run_script(args, AirtestCase)
summary_message["passNum"] += 1
except:
pass
finally:
end = int(time.time() * 1000)
author = self.get_author(scenario_name, self.case_path + os.sep + module_name)
fp.write(scenario_name + '\t' + str(start) + '\t' + str(end) + '\t' + author + '\n')
rpt = report.LogToHtml(script, log)
report_dir = '../../report/report/'
case_image_dir = '../../air_case'
rpt.report("log_template.html", report_dir, case_image_dir, output_file=output_file)
result = {}
result["name"] = scenario_name
result["result"] = rpt.test_result
result["time"] = (end - start) / 1000 if end > start else 0
case_results.append(result)
summary_message["caseNum"] += 1
self.doReport(case_results, summary_message, 'summary.html')
os.remove(dir_name + os.sep + scenario_name + ".py")
shutil.rmtree(dir_name)
print("报告已生成")
return True
def insert_api_path_to_cloud(self, case_list):
for i in range(len(case_list)):
every_case = case_list[i]
import os
from ruamel import yaml
from common.db.db import dbOP
import datetime
curpath = os.path.dirname(os.path.realpath(__file__))
# 数据读入和写入文件
class Rw:
def w_token(self, enc_user_id='u779700044448', env='on'):
result = dbOP().selectSql('select_user_token', [enc_user_id], "meitun_db")
token = result[0][0]
dict = {}
token_value = {}
token_value["time"] = datetime.datetime.now()
token_value["token"] = token
token_value["enc_user_id"] = enc_user_id
key = enc_user_id + "_" + env
dict[key] = token_value
yamlpath = os.path.join(curpath, "data")
# 写入到yaml文件
with open(yamlpath, "w", encoding="utf-8") as f:
yaml.dump(dict, f, Dumper=yaml.RoundTripDumper)
return token
def w_info(self, info):
dict = {}
value = {}
value["loginusername"] = info[0]
value["goodsname"] = info[1]
key="loginusername1"
dict[key] = value
yamlpath = os.path.join(curpath, "data")
# 写入到yaml文件
with open(yamlpath, "w", encoding="utf-8") as f:
yaml.dump(dict, f, Dumper=yaml.RoundTripDumper,allow_unicode=True)
def r_token(self, enc_user_id='u779700044448', env='on'):
yamlpath = os.path.join(curpath, "data")
file_value = open(yamlpath, 'r')
result = yaml.load(file_value.read(), Loader=yaml.Loader)
if result is not None:
key = enc_user_id + "_" + env
if key in result:
return result[key]
else:
return None
else:
return None
def r_temp_file(self, key):
"""
读临时文件
:return:
"""
yamlPath = os.path.join(curpath, "temp.yaml")
file_value = open(yamlPath, 'r')
result = yaml.load(file_value.read(), Loader=yaml.Loader)
return result[key]
def w_temp_file(self, dict):
"""
写临时文件,没有会自动生成
:param content:
:return:
"""
yamlpath = os.path.join(curpath, "temp.yaml")
# 写入到yaml文件
with open(yamlpath, "w", encoding="utf-8") as f:
yaml.dump(dict, f, Dumper=yaml.RoundTripDumper)
from common.db.db import dbOP
import datetime
# 数据读入和写入文件
class timeUtils(object):
def get_time_hms(self):
'''2023-05-06 09:39:30'''
import time
t = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
return t
\ No newline at end of file
from common.passwordUtils import PasswordEncrypt
class TokenUtils(object):
def __init__(self, username, userpwd, verifyCodeId):
self.username = username # 用户名
self.userpwd = userpwd # 密码
self.verifyCodeId = verifyCodeId # 验证码id
def get_PasswordEncrypt(self):
#获取加密后的密码
return PasswordEncrypt(self.username,self.userpwd,bytes(self.verifyCodeId.encode())).pwd_Encrypt()
\ No newline at end of file
import base64
import json
import requests
class VerificationCodeOcr:
"""
1、用于识别数字二维码
2、本方法使用的是第三方识别接口(图鉴),因此需要账号和密码
3、通过验证码获取接口获取到验证码之后需保存到png文件,再使用此类进行识别
filename:文件
username:图鉴系统用户名
password:图鉴系统密码
"""
def __init__(self, filename, username, password):
self.filename = filename
self.username = username
self.password = password
def base64_api(self):
with open(self.filename, 'rb') as f:
base64_data = base64.b64encode(f.read())
b64 = base64_data.decode()
data = {"username": self.username, "password": self.password, "typeid": 1, "image": b64}
result = json.loads(requests.post(r"http://api.ttshitu.com/predict", json=data).text)
if result['success']:
return result["data"]["result"]
else:
return result["message"]
return ""
if __name__ == '__main__':
print(VerificationCodeOcr(r"air_case/cmdc_login/多彩商城登录.air/verifycode.png","rainbow123","rainbow123").base64_api())
from math import radians, cos, sin, asin, sqrt
from common.common_func import commonFuc
import json
class businessFuc(object):
def diff_years(self, source_year, target_year):
"""
计算两个日期之间相差的年数
:param target_year: 当前时间
:param source_year: 原始年日期
:return:
"""
years = int(target_year.strftime('%Y')) - int(str(source_year).split("-")[0])
return years
def geopy_distance(self, lng1, lat1, lng2, lat2):
"""
计算两个经纬度之间的距离
:return:
"""
lng1, lat1, lng2, lat2 = map(radians, [float(lng1), float(lat1), float(lng2), float(lat2)])
dlon = lng2 - lng1
dlat = lat2 - lat1
a = sin(dlat / 2) ** 2 + cos(lat1) * cos(lat2) * sin(dlon / 2) ** 2
distance = 2 * asin(sqrt(a)) * 6371 * 1000 # 地球平均半径,6371km
distance = round(distance / 1000, 3)
return distance
def get_globalsid(self):
login_url = commonFuc().get_business_data("", "login_url")
result = commonFuc().http_get(login_url)
return result["sid"]
# 快速下单下单权限判定接口url
"url": "/cms/public/isQuickOrderSign"
"companyId1": "2"
"companyId2": "57"
"payload": {
"companyId": "%s"
}
# 预期结果
checkDict1: {"success":true,"code":"200","message":null,"data":{"quickOrderSign":1},"freshToken":null}
checkDict2: {"success":true,"code":"200","message":null,"data":{"quickOrderSign":0},"freshToken":null}
# 数据库相关信息
"host": "39.106.228.69"
"port": "3306"
"user": "cmdc"
"pwd": "GHEyi.414"
"database": "cmdc-user"
"sql": "select t.companyId from `cmdc-user`.cmdc_user t where t.deleteSign = "0" and userName = "Test001";"
# 多彩商城登录信息
"username": "Test001"
"password": "Aa123456"
#后台运营管理系统登录信息
"username1": "admin2"
"password1": "Aa123456"
json_headers: {
"Content-Type": "application/json",
"Cmdc_access_token": "%s"
}
#商品列表接口地址
"url": "/product/mall/queryProductInfoByPage"
#购物车列表接口地址
"url1": "/product/mall/queryTotalBuyerCartList"
#测试场景:获取用户对应的购物车列表信息
json_headers1: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload1": {"productName":"","materialCode":"","manufacturer":"","licenseCode":"","timeSortStatus":0,"pageSize":100,"pageStart":1}
#预期结果
checkDict1: {"success":true,"code":"200","message":"OK"}
#购物车新增商品接口地址
"url2": "/product/mall/addBuyerCart"
#测试场景:增加新的商品至购物车
json_headers2: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload2": {"currentCompanyId":2,"productId":111462,"quantity":1,"agreementPriceId":0,"price":12,"filialeCode":"00102"}
#预期结果
checkDict2: {"success":true,"code":"200","message":"OK","data":"ok"}
#测试场景:增加新的不存在的商品至购物车
json_headers4: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload4": {"currentCompanyId":2,"productId":1114654363453453532,"quantity":1,"agreementPriceId":0,"price":12,"filialeCode":"00102"}
#预期结果
checkDict4: {"success":false,"code":"1078","message":"该商品不存在,加入购物车失败","data":null,"freshToken":null}
#测试场景:增加已下架商品至购物车
json_headers5: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
#查询已下架商品列表请求报文
"payload50": {"isFbList":0,"filialeCode":null,"productName":null,"productCode":null,"specifications":null,"materialCode":null,"manufacturer":null,"lineName":null,"riskRank":null,"isRelease":null,"isExistImage":null,"jdeStatus":null,"isGift":null,"description":null,"tbsj":[],"pageNum":1,"pageSize":8,"total":28,"firstQuery":true,"flag":true,"preInvalidStatus":null,"isControlSales":null,"startTime":null,"endTime":null,"status":102}
#增加已下架商品至购物车报文
"payload5": {"currentCompanyId":%s,"productId":%s,"quantity":1,"agreementPriceId":%s,"price":%s}
#预期结果
checkDict5: {"success":false,"code":"1078","message":"该商品不存在,加入购物车失败","data":null,"freshToken":null}
#测试场景:增加已失效商品至购物车
json_headers6: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload6": {"currentCompanyId":2,"productId":1114654363453453532,"quantity":1,"agreementPriceId":0,"price":12,"filialeCode":"00102"}
#预期结果
checkDict6: {"success":false,"code":"1078","message":"该商品不存在,加入购物车失败","data":null,"freshToken":null}
#测试场景:增加控销商品至购物车
json_headers7: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload7": {"currentCompanyId":2,"productId":1114654363453453532,"quantity":1,"agreementPriceId":0,"price":12,"filialeCode":"00102"}
#预期结果
checkDict7: {"success":false,"code":"1078","message":"该商品不存在,加入购物车失败","data":null,"freshToken":null}
#测试场景:增加赠品至购物车
json_headers8: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload8": {"currentCompanyId":2,"productId":1114654363453453532,"quantity":1,"agreementPriceId":0,"price":12,"filialeCode":"00102"}
#预期结果
checkDict8: {"success":false,"code":"1078","message":"该商品不存在,加入购物车失败","data":null,"freshToken":null}
#测试场景:增加跨站点商品至购物车
json_headers9: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload9": {"currentCompanyId":2,"productId":1114654363453453532,"quantity":1,"agreementPriceId":0,"price":12,"filialeCode":"00102"}
#预期结果
checkDict9: {"success":false,"code":"1078","message":"该商品不存在,加入购物车失败","data":null,"freshToken":null}
#购物车商品删除接口地址
"url3": "/product/mall/removeBuyerCart"
#测试场景:从用户购物车列表删除已添加的商品
json_headers3: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload3": {"buyerCartIdList":["%s"]}
#预期结果
checkDict3: {"success":true,"code":"200","message":"OK","data":"ok"}
#后台管理系统代客下单
#步骤一登录后台管理系统
#后台运营管理系统登录信息
"username": "admin2"
"password": "Aa123456"
json_headers: {
"Content-Type": "application/json",
"Cmdc_access_token": "%s"
}
#步骤二提交创建需求单(代客下单)
#需求单创建接口地址
"url1": "/order/saveBackDemandOrder"
#需求单创建
"payload1": {"orderStatus":102,"demandItems":[{"maxProductNum":999999,"minProductNum":1,"addMinProductNum":1,"minProductNumSign":false,"isMultiple":false,"quantityTip":"","productId":10,"productCode":"10145929","materialCode":"","productName":"威尔特","specifications":"1","manufacturer":"北京康思润业生物技术有限公司-黄翼","productLineName":null,"productLineCode":null,"zonePriceVOList":null,"price":100,"storageType":"999","optionStr":"1","measuringUnit":"EA","ippMiniPurchaseNum":null,"ippMultipleSign":null,"ippPurchaseMultiple":null,"ippStatus":null,"quantity":1,"isGift":0,"measuringUnit1":"个","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","companyCode":"00102","areaName":null,"areaPrice":100,"agreementPriceId":null,"hidden":null,"description":"","taxRate":"0.17","allMaterialSign":null,"materialCodeExact":null,"specificationsExact":null,"hospitalOrderType":null,"hospitalHopeDate":null,"siteCompanyCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"mustInstallDate":false,"showDemandAuditLineLabel":false,"editProductCode":false,"quantityErr":false,"fresenuis":false,"singleFresenuis":null,"zeroSign":false,"purchaseZeroProductList":[],"activityBasicId":null,"giftList":[],"selectGiftArr":[],"selectZeroGiftObj":{"mainProductList":[],"giftProductList":[]},"giftGroupQuantity":1,"giftSign":0,"customerCode":"1000086","realPay":"100.00","purchaseId":18,"purchaseCode":"P2306281500002","purchaseEntryId":null}],"paymentAmount":100,"productAmount":100,"userId":130,"userNo":"1000086","customerCode":"1000086","userName":"北京海德锐视科技有限公司","companyId":"2","paymentType":1,"receiveBankName":"国药集团联合医疗器械有限公司","receiveBankAccount":"108902839271937437","accountId":32,"receiverName":"查杉","receiverContact":"18999998888","receiverAddress":"上海市普啊撒旦吉萨","addressNumber":17986,"remark":"","receiverNote":"查杉","receiverPhoneNote":"18999998888","receiverAddressNote":"上海市普啊撒旦吉萨","addressNoNote":17986,"fileList":[],"sellerCompanyCode":"00102","sellerCompanyName":"国药集团联合医疗器械有限公司","orderSource":2,"replaceCustomerOrder":{"orderStatus":102,"demandItems":[{"maxProductNum":999999,"minProductNum":1,"addMinProductNum":1,"minProductNumSign":false,"isMultiple":false,"quantityTip":"","productId":10,"productCode":"10145929","materialCode":"","productName":"威尔特","specifications":"1","manufacturer":"北京康思润业生物技术有限公司-黄翼","productLineName":null,"productLineCode":null,"zonePriceVOList":null,"price":100,"storageType":"999","optionStr":"1","measuringUnit":"EA","ippMiniPurchaseNum":null,"ippMultipleSign":null,"ippPurchaseMultiple":null,"ippStatus":null,"quantity":1,"isGift":0,"measuringUnit1":"个","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","companyCode":"00102","areaName":null,"areaPrice":100,"agreementPriceId":null,"hidden":null,"description":"","taxRate":"0.17","allMaterialSign":null,"materialCodeExact":null,"specificationsExact":null,"hospitalOrderType":null,"hospitalHopeDate":null,"siteCompanyCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"mustInstallDate":false,"showDemandAuditLineLabel":false,"editProductCode":false,"quantityErr":false,"fresenuis":false,"singleFresenuis":null,"zeroSign":false,"purchaseZeroProductList":[],"activityBasicId":null,"giftList":[],"selectGiftArr":[],"selectZeroGiftObj":{"mainProductList":[],"giftProductList":[]},"giftGroupQuantity":1}],"paymentAmount":100,"productAmount":100,"userId":130,"userNo":"1000086","customerCode":"1000086","userName":"北京海德锐视科技有限公司","companyId":"2","paymentType":1,"receiveBankName":"国药集团联合医疗器械有限公司","receiveBankAccount":"108902839271937437","accountId":32,"receiverName":"查杉","receiverContact":"18999998888","receiverAddress":"上海市普啊撒旦吉萨","addressNumber":17986,"remark":"","receiverNote":"查杉","receiverPhoneNote":"18999998888","receiverAddressNote":"上海市普啊撒旦吉萨","addressNoNote":17986,"fileList":[],"sellerCompanyCode":"00102","sellerCompanyName":"国药集团联合医疗器械有限公司","orderSource":2,"customerInfo":{"userId":130,"userName":"Test001","rejectUserName":null,"password":null,"realName":"王春晖","userNo":"1000086","telephone":"18008613535","rejectTelephone":null,"registerAddress":"[]","detailAddress":"武汉市洪山区南湖花园","businessScope":"[]","companyProperty":101,"companyId":null,"companyCode":null,"companyName":"国药集团联合医疗器械有限公司","companyNameList":null,"customerCompanyName":"北京海德锐视科技有限公司","lienceNo":"91110106579004448R","userType":2,"companyType":null,"status":3,"disableSign":0,"deleteSign":null,"createBy":null,"updateBy":null,"createTime":null,"updateTime":null,"licenceSketchUrl":null,"licenceUrl":null,"openId":null,"referrer":null,"gift":null,"identity":null,"department":null,"platformStatus":1,"rejectionReason":null,"registerType":null,"siteType":null,"departmentCode":null,"personName":null,"registration":null,"realPassword":null,"recommend":null,"taxRate":0.17,"roleNames":null,"subCompanyName":"国药集团联合医疗器械有限公司","roleIds":null,"addressList":null,"licenseList":null,"labelList":null,"managerList":null,"createTimeStr":null,"categoriesList":null,"merchantsAddress":null,"merchantStatus":null,"refuseReason":null,"merchantsId":null,"userTransactionAmount":"47166.7815","gray":null,"bindingTime":"2022-07-28 10:38:33","bindSign":1,"jdeStatus":0,"jdePhone":"","recommender":null,"coopeSgin":0,"bindflowList":null,"userJDEInfo":null}},"purchaseId":18,"purchaseCode":"P2306281500002","draftId":518,"demands":[{"demandId":null,"demandParentId":null,"demandParentCode":null,"demandCode":null,"customerId":null,"customerName":null,"customerCode":1000086,"loginName":null,"realName":null,"addressNumber":null,"mobile":null,"productName":null,"productCode":null,"sellerCompanyName":null,"sellerCompanyCode":null,"paymentType":null,"receiveBankName":null,"receiveBankAccount":null,"paymentAmount":"100.00","productAmount":100,"payableAmount":100,"refundAmount":null,"cancelAmount":null,"discountAmount":0,"orderStatus":null,"refundStatus":null,"receiverName":null,"receiverContact":null,"receiverAddress":null,"remark":null,"revokedReason":null,"auditById":null,"auditByName":null,"auditTime":null,"auditRemark":null,"flhsStatus":null,"pushJdeStatus":null,"createTime":null,"updateTime":null,"submitTime":null,"pushJdeTime":null,"successTime":null,"auditStatus":null,"deleteSign":null,"firstOrderFlag":null,"demandItems":[{"demandSkuId":null,"demandId":null,"distributionId":null,"companyCode":"00102","demandCode":null,"demandParentId":null,"sellerCompanyId":null,"sellerCompanyName":null,"sellerCompanyCode":null,"customerCode":1000086,"productLineCode":null,"productLineName":null,"propertyStr":null,"storageType":"999","suppDist":null,"productId":10,"productName":"威尔特","productCode":"10145929","productNature":null,"brandName":null,"optionStr":"1","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","lineNumber":null,"price":100,"rebateId":null,"originalPrice":null,"biddingDiscountTax":null,"salesDiscountTax":null,"quantity":1,"sumQuantity":null,"sendQuantity":null,"lackQuantity":null,"cancelQuantity":null,"cancelAmount":null,"refundQuantity":null,"refundAmount":null,"discountQuantity":null,"discountAmount":null,"subtotal":100,"measuringUnit":"个","auxiliaryMeasuringUnit":null,"procurementMeasuringUnit":null,"pricingMeasuringUnit":null,"materialCode":"","manufacturer":"北京康思润业生物技术有限公司-黄翼","produceRegisterNum":null,"riskRank":null,"productClassify":null,"createTime":null,"updateTime":null,"deleteSign":null,"calCancelFlag":null,"refundFlag":null,"discountRate":0,"realPay":100,"promotionPrice":null,"promotionTotalPrice":0,"demandParentCode":null,"regionId":null,"regionName":null,"spitSign":null,"activityAmount":null,"couponAmount":null,"activityUnitAmount":0,"couponUnitAmount":null,"activityBasicId":null,"couponSgin":null,"couponSgin2":null,"returnQuantity":null,"returnAmount":null,"customerId":null,"prescription":null,"specifications":"1","lineCodeDelete":null,"sdOutStorage":null,"licenseNo":null,"demandCodes":null,"areaName":null,"agreementPriceId":null,"offerPrice":null,"orderMark":null,"totalPrice":null,"productLimitBuyList":null,"giftSign":0,"giftProductCode":null,"activityCarDataVoList":null,"orderSource":null,"receiverName":null,"receiverContact":null,"receiverAddress":null,"rebateTripId":null,"allSign":null,"salesReturn":null,"nowAmount":null,"taxSign":0,"plusMinuKey":null,"rebateRule":null,"lockType":null,"lineNumberOrg":null,"changeSgin":null,"addSgin":null,"ptbfa1":null,"ptbfa2":null,"ptbfa3":null,"ptbfa4":null,"ptbfa5":null,"yapeiPriceId":null,"ypLinePromotion":null,"yapeiPrice":null,"companyId":null,"buyerCartId":0,"userReceiveIdx":null,"userReceiveIdx2":null,"limitNum":null,"productLimitBuyId":null,"alreadyBuyNum":null,"limitBuySign":0,"proposeNum":null,"takeEffectRange":null,"takeEffectTime":null,"endTime1":null,"groupId":null,"fsGroupId":null,"proposalQuantity":null,"proposalSign":0,"manufacturerUserNo":null,"manufacturerUserDesc":null,"manufacturerProductNo":null,"manufacturerProductDesc":null,"manufacturerUserId":null,"manufacturerProductId":null,"busProductCode":null,"paidTime":null,"customerName":null,"paymentAmount":null,"specQuantity":null,"disQuantity":null,"fulfilledQuantity":null,"fulCancelQuantity":null,"couponId":null,"couponId2":null,"limitS":null,"starts":null,"ends":null,"userId":null,"productTax":null,"taxRate":0.17,"demandSplitSign":"1","hospitalHopeDate":null,"uniqueKey":null,"productType":null,"activityRuleId":null,"allowanceBeginTime":null,"allowanceEndTime":null,"sign":null,"differenceActivityUserId":null,"groupNumber":1,"groupName":null,"skuGroup":null,"subList":null,"dataJson":null,"skuMergeSign":null,"freseniusPriceId":null,"quantityAndGroupAll":null,"booleaTime":null,"spitSgin":0,"groupSpitSign":0,"purchaseEntryId":null,"activityType":0,"giftSettlementMethod":null,"giftInitQuantity":null,"packageCode":null,"giftGroupQuantity":1,"mustInstallDate":false,"installedDate":null,"installedDateStr":null,"demandLines":null,"subLineNumber":null,"demandSubCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"sendManualSign":0,"sort":0,"circleArea":null,"siteCompanyCode":null,"hospitalOrderType":null,"isCollectionAllocation":null,"orderStatus":null,"distributionType":null,"groupCode":null,"groupProductType":null,"pSign":0,"backSign":0,"description":"","stockNumber":null,"rebate":false,"userBalance":null,"purchaseQuantity":1,"purchaseZeroProductList":[]}],"demandSubItems":null,"rebateDetail":null,"rebateAmountList":null,"productLineCode":null,"productLineName":null,"auditLoginName":null,"showPurchaseNo":false,"isRebate":null,"isShowReate":null,"taxRate":0.17,"rebateType":0,"paymentAmountWholeLine":100,"discountAmountWholeLine":0,"payableAmountWholeLine":100,"discountRate":0,"singleRebateAmount":null,"isRebateEdit":null,"payCertUrl":null,"rebateAmount":null,"demandCance":null,"soAdd":null,"soCance":null,"orderReturn":null,"needCustomerConfirm":false,"measuringUnit":null,"productId":null,"version":null,"mainVersion":null,"agencyConfigId":null,"confirmSign":null,"replySign":null,"agencySign":null,"editIng":null,"editIngStr":null,"jdeType":null,"isElectronicSeal":null,"contractAgreementNo":null,"alesDepartmentNo":null,"alesDepartmentName":null,"salesPersonNo":null,"salesPersonName":null,"customerNote":null,"otherNote":null,"contractAgreementCode":null,"projectName":null,"projectCode":null,"regionId":null,"regionName":null,"productLineBindSign":null,"shipVia":null,"orderSource":null,"userBalance":null,"liquidCode":null,"shipmentTypeStr":null,"specifications":"1","pageStart":null,"pageSize":null,"changeSgin":null,"yapei":2,"companyId":null,"userReceiveId2":null,"preemptConfig":null,"productSpec":null,"secondAuditSign":null,"secondAuditById":null,"secondAuditByName":null,"secondAuditTime":null,"secondAuditRemark":null,"secondAuditStatus":null,"rebateRule":"0","rebateControlSign":0,"rebateId":null,"preferenceType":null,"preferenceName":null,"disPrice":null,"lineNum":0,"auditStaySign":0,"fileList":null,"imageUrls":null,"total":null,"submitTimeStr":null,"updateTimeStr":null,"auditTimeStr":null,"acceptTime":null,"acceptTimeStr":null,"paidTime":null,"paidTimeStr":null,"erpHandingTime":null,"erpHandingTimeStr":null,"partShippingTime":null,"partShippingTimeStr":null,"allShippingTime":null,"allShippingTimeStr":null,"pushJdeTimeStr":null,"successTimeStr":null,"onlinePaySuccessTime":null,"onlinePaySuccessTimeStr":null,"bankTransactionSerial":null,"newIsTax":null,"countFormula":null,"countNumber":null,"noTaxRebateAmount":0,"isCollectionAllocation":0,"siteCompanyCode":null,"hospitalOrderType":null,"proofTime":null,"proofURL":null,"proofRemark":null,"proofSign":0,"customerCancelSign":null,"cancelRecords":null,"cancelCount":0,"updateNewTime":null,"updateNewTimeStr":null,"fsDedUseSign":null,"preDisSign":0,"shareType":null,"singleRebateSign":null,"cf":false,"notice":null,"isPre":null,"showDemandAuditLineLabel":false,"orderType":null,"newDiscountRate":null,"oldOrderType":null,"oldNewDiscountRate":null,"pendding":null,"pushJdeStatusDemandSub":null,"circleGiftSign":0,"delay":null,"limitS":null,"starts":null,"ends":null,"completedS":null,"confirmDays":null,"remindS":null,"skuGroupList":null,"groupProductType":0,"purchaseId":18,"purchaseCode":"P2306281500002","sdCancelTime":null,"sdTipSign":0,"receiverNote":null,"receiverPhoneNote":null,"receiverAddressNote":null,"flag":null,"sourceStr":null,"addressNoNote":null,"detailIsSpit":false,"spitSgin":null,"distributionType":null,"rebateValidity":null,"orderChangeType":null,"logoIcon":null,"detail":null,"changeBigType":null,"promotionType":null,"activityTotalAmount":null,"couponTotalAmount":null,"userReceiveId":null,"editSgin":null,"snSgin":null,"jdeOutAmount":null,"totalAllPaAmount":null,"diffShowSgin":0,"lineCodeDelete":null,"startTime":null,"endTime":null,"changeSign":null,"distributionId":null,"limitBuySign":0,"companyType":null,"afterSale":null,"csId":null,"sdStatusNodeParamList":null,"ypPromotionTotal":null,"acrossMainCode":null,"forceApprovedSign":0,"circleGiftContinueSgin":0,"customerCharge":null,"onlinePaySign":0,"recodeDemandSkuList":null,"mergeDemandSkuList":null,"inventoryNode":null,"customCode":null,"terminalSource":null,"potentialClientsId":null,"settlementStatus":null,"firstOrderAuditStatus":null,"confirmReceiptSign":null,"confirmReceiptTime":null,"afterSaleDays":null,"deliveryCompletedTime":null,"taxSign":0,"orderSplitSign":0,"demandRebateSkuList":null,"confirmTime":null,"customerPurchaseNo":null,"mustInstallDate":false,"secondAddressList":null,"splitOrMerge":0,"spitOrderSign":null,"productAmountWholeLine":100,"auditCompanyName":null,"auditCompanyNameCode":null,"edit":false,"showMoreAttribute":false,"ratio":null,"ratioFlag":false,"rebateFlags":false,"userBalancePrice":0,"allQuantity":1,"totalPriceNum":0,"maxTotalLimitPrice":0,"lastNoTaxDiscountAmount":0,"lastDiscountAmount":0}]}
#步骤三查询已创建的需求单
#需求单列表接口地址
"url2": "/order/back/listDemand"
#根据订单状态(102-待审核)、订单来源(2-代客下单)、供应商名称查询需求单
"payload2": {"times":[null],"listOrderStatus":["102"],"productName":null,"demandCode":null,"demandParentCode":null,"customerName":"北京海德锐视科技有限公司","manufacturer":null,"materialCode":null,"sellerCompanyName":null,"produceRegisterNum":null,"productLineName":null,"auditByName":null,"orderSource":2,"changeTypeList":null,"isRebateEdit":null,"jdeType":null,"pageSize":8,"pageStart":1,"orderChangeType":null,"snSgin":null,"changeSign":null,"customerCode":null,"distributionType":null,"busCustomerCode":null,"loginName":null,"cancelSign":0,"shipmentType":null,"startTime":null,"itemStart":0}
#步骤四对已创建的需求单进行审核处理
#需求单审核接口地址
"url3": "/order/back/auditDemand"
#审核通过
"payload3": {
"demandId":41632,
"demandParentId":39610,
"demandParentCode":"s2309181900001",
"demandCode":"16950376476542072",
"customerId":130,
"customerName":"北京海德锐视科技有限公司",
"customerCode":1000086,
"loginName":"Test001",
"realName":"王春晖",
"addressNumber":19199,
"mobile":"18008613535",
"productName":null,
"productCode":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"paymentType":1,
"receiveBankName":"国药集团联合医疗器械有限公司",
"receiveBankAccount":"108902839271937437",
"paymentAmount":100,
"productAmount":100,
"payableAmount":100,
"refundAmount":0,
"cancelAmount":0,
"discountAmount":0,
"orderStatus":102,
"refundStatus":null,
"receiverName":"查杉",
"receiverContact":"18999998888",
"receiverAddress":"上海市普啊撒旦吉萨",
"remark":null,
"revokedReason":null,
"auditById":null,
"auditByName":null,
"auditTime":null,
"auditRemark":null,
"flhsStatus":0,
"pushJdeStatus":null,
"createTime":"2023-09-18 19:47:27",
"updateTime":"2023-09-18 19:47:27",
"submitTime":"2023-09-18 19:47:28",
"pushJdeTime":null,
"successTime":null,
"auditStatus":1,
"deleteSign":0,
"firstOrderFlag":0,
"demandItems":[
{
"demandSkuId":29940,
"productName":"威尔特",
"productId":10,
"productCode":"10145929",
"productLineCode":null,
"productLineName":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"optionStr":"1",
"imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg",
"price":100,
"quantity":1,
"subtotal":100,
"materialCode":"",
"manufacturer":"北京康思润业生物技术有限公司-黄翼",
"produceRegisterNum":null,
"riskRank":null,
"productClassify":null,
"storageType":"999",
"measuringUnit":"个",
"auxiliaryMeasuringUnit":null,
"procurementMeasuringUnit":null,
"pricingMeasuringUnit":null,
"productNature":null,
"productInventory":[
],
"totalInventory":0,
"promotionPrice":0,
"promotionTotalPrice":0,
"discountRate":0,
"realPay":100,
"customerCode":"1000086",
"isRebate":"0",
"rebateId":null,
"rebateDetail":null,
"useMaxLimit":null,
"useBalance":0,
"taxRate":0.17,
"rebateType":0,
"singleRebateAmount":null,
"multipleCodeProductList":null,
"stockNumber":0,
"prescription":null,
"ippMiniPurchaseNum":null,
"ippMultipleSign":null,
"ippPurchaseMultiple":null,
"ippStatus":null,
"simpleMultipleCodeProductList":[
],
"activityAmount":0,
"couponAmount":0,
"activityUnitAmount":0,
"couponUnitAmount":null,
"activityBasicId":null,
"useLimitStart":null,
"lineNumberOrg":1,
"ptbfa1":null,
"ptbfa2":null,
"ptbfa3":null,
"ptbfa4":null,
"ptbfa5":null,
"yapeiPriceId":null,
"areaName":null,
"agreementPriceId":null,
"offerPrice":null,
"limitNum":null,
"productLimitBuyId":null,
"alreadyBuyNum":null,
"takeEffectRange":null,
"limitBuySign":0,
"overdueSign":0,
"sxPrice":null,
"invalidStr":null,
"submitTime":"2023-09-18T11:47:28.000+0000",
"manufacturerUserNo":null,
"manufacturerUserDesc":null,
"manufacturerProductNo":"018",
"manufacturerProductDesc":"威尔特",
"manufacturerUserId":null,
"manufacturerProductId":175,
"groupId":null,
"groupNumber":1,
"groupProductType":null,
"groupCode":null,
"giftSign":0,
"giftProductCode":"10145929",
"description":"",
"demandCode":"16950376476542072",
"lineNum":1,
"threeRebateBalance":null,
"threeRebateMaxScale":null,
"rebateTripId":null,
"companyType":null,
"busProductCode":null,
"rebateControlSign":0,
"rebateRule":null,
"hospitalHopeDate":null,
"uniqueKey":null,
"activityRuleId":null,
"differenceActivityUserId":null,
"replaceSgin":0,
"skuGroup":{
},
"fsGroupId":null,
"demandSkuVOList":null,
"companyCode":null,
"demandId":null,
"dataJson":null,
"lineNumber":null,
"freseniusPriceId":null,
"groupSpitSign":0,
"plusMinuKey":null,
"purchaseEntryId":null,
"activityType":0,
"giftSettlementMethod":null,
"giftInitQuantity":null,
"packageCode":null,
"installedDate":null,
"propertyName":null,
"propertyVal":null,
"propertyNote":null,
"sdOutStorage":0,
"lineCodeDelete":1,
"showState":true,
"purchaseZeroProductList":[
],
"giftList":[
],
"selectGiftArr":[
]
}
],
"demandSubItems":[
{
"demandId":41632,
"demandParentId":39610,
"demandParentCode":"s2309181900001",
"demandCode":"16950376476542072",
"customerId":130,
"customerName":"北京海德锐视科技有限公司",
"customerCode":1000086,
"loginName":"Test001",
"realName":"王春晖",
"addressNumber":19199,
"mobile":"18008613535",
"productName":null,
"productCode":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"paymentType":1,
"receiveBankName":"国药集团联合医疗器械有限公司",
"receiveBankAccount":"108902839271937437",
"paymentAmount":100,
"productAmount":100,
"payableAmount":100,
"refundAmount":0,
"cancelAmount":0,
"discountAmount":0,
"orderStatus":102,
"refundStatus":null,
"receiverName":"查杉",
"receiverContact":"18999998888",
"receiverAddress":"上海市普啊撒旦吉萨",
"remark":null,
"revokedReason":null,
"auditById":null,
"auditByName":null,
"auditTime":null,
"auditRemark":null,
"flhsStatus":0,
"pushJdeStatus":null,
"createTime":null,
"updateTime":null,
"submitTime":null,
"pushJdeTime":null,
"successTime":null,
"auditStatus":1,
"deleteSign":0,
"firstOrderFlag":0,
"demandItems":null,
"demandSubItems":[
{
"demandSkuId":29940,
"demandId":null,
"distributionId":null,
"companyCode":null,
"demandCode":"16950376476542072",
"demandParentId":null,
"sellerCompanyId":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"customerCode":1000086,
"productLineCode":null,
"productLineName":null,
"propertyStr":null,
"storageType":"999",
"suppDist":null,
"productId":10,
"productName":"威尔特",
"productCode":"10145929",
"productNature":null,
"brandName":null,
"optionStr":"1",
"imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg",
"lineNumber":null,
"price":100,
"rebateId":null,
"originalPrice":null,
"biddingDiscountTax":null,
"salesDiscountTax":null,
"quantity":1,
"sumQuantity":null,
"sendQuantity":null,
"lackQuantity":null,
"cancelQuantity":null,
"cancelAmount":null,
"refundQuantity":null,
"refundAmount":null,
"discountQuantity":null,
"discountAmount":null,
"subtotal":100,
"measuringUnit":"个",
"auxiliaryMeasuringUnit":null,
"procurementMeasuringUnit":null,
"pricingMeasuringUnit":null,
"materialCode":"",
"manufacturer":"北京康思润业生物技术有限公司-黄翼",
"produceRegisterNum":null,
"riskRank":null,
"productClassify":null,
"createTime":null,
"updateTime":null,
"deleteSign":null,
"calCancelFlag":null,
"refundFlag":null,
"discountRate":0,
"realPay":100,
"promotionPrice":0,
"promotionTotalPrice":0,
"demandParentCode":null,
"regionId":null,
"regionName":null,
"spitSign":null,
"activityAmount":0,
"couponAmount":0,
"activityUnitAmount":0,
"couponUnitAmount":null,
"activityBasicId":null,
"couponSgin":null,
"couponSgin2":null,
"returnQuantity":null,
"returnAmount":null,
"customerId":null,
"prescription":null,
"specifications":null,
"lineCodeDelete":1,
"sdOutStorage":0,
"licenseNo":null,
"demandCodes":null,
"areaName":null,
"agreementPriceId":null,
"offerPrice":null,
"orderMark":null,
"totalPrice":null,
"productLimitBuyList":null,
"giftSign":0,
"giftProductCode":"10145929",
"activityCarDataVoList":null,
"orderSource":null,
"receiverName":null,
"receiverContact":null,
"receiverAddress":null,
"rebateTripId":null,
"allSign":null,
"salesReturn":null,
"nowAmount":null,
"taxSign":0,
"plusMinuKey":null,
"rebateRule":null,
"lockType":null,
"lineNumberOrg":1,
"changeSgin":null,
"addSgin":null,
"ptbfa1":null,
"ptbfa2":null,
"ptbfa3":null,
"ptbfa4":null,
"ptbfa5":null,
"yapeiPriceId":null,
"ypLinePromotion":null,
"yapeiPrice":null,
"companyId":null,
"buyerCartId":null,
"userReceiveIdx":null,
"userReceiveIdx2":null,
"limitNum":null,
"productLimitBuyId":null,
"alreadyBuyNum":null,
"limitBuySign":0,
"proposeNum":null,
"takeEffectRange":null,
"takeEffectTime":null,
"endTime1":null,
"groupId":null,
"fsGroupId":null,
"proposalQuantity":null,
"proposalSign":0,
"manufacturerUserNo":null,
"manufacturerUserDesc":null,
"manufacturerProductNo":"018",
"manufacturerProductDesc":"威尔特",
"manufacturerUserId":null,
"manufacturerProductId":175,
"busProductCode":null,
"paidTime":null,
"customerName":null,
"paymentAmount":null,
"specQuantity":null,
"disQuantity":null,
"fulfilledQuantity":null,
"fulCancelQuantity":null,
"couponId":null,
"couponId2":null,
"limitS":null,
"starts":null,
"ends":null,
"userId":null,
"productTax":null,
"taxRate":0.17,
"demandSplitSign":null,
"hospitalHopeDate":null,
"uniqueKey":null,
"productType":null,
"activityRuleId":null,
"allowanceBeginTime":null,
"allowanceEndTime":null,
"sign":null,
"differenceActivityUserId":null,
"groupNumber":1,
"groupName":null,
"skuGroup":{
"id":null,
"groupId":null,
"companyCode":null,
"groupProductType":null,
"createTime":null,
"updateTime":null,
"demandSkuId":null,
"demandId":null,
"dataJson":null,
"lineNumber":null,
"freseniusPriceId":null,
"groupNumber":null,
"demandSkuList":null,
"demandSkuVOList":null
},
"subList":null,
"dataJson":null,
"skuMergeSign":"10145929-100-0-0-0-100",
"freseniusPriceId":null,
"quantityAndGroupAll":null,
"booleaTime":null,
"spitSgin":0,
"groupSpitSign":0,
"purchaseEntryId":null,
"activityType":0,
"giftSettlementMethod":null,
"giftInitQuantity":null,
"packageCode":null,
"giftGroupQuantity":null,
"mustInstallDate":false,
"installedDate":null,
"installedDateStr":"",
"demandLines":null,
"subLineNumber":null,
"demandSubCode":null,
"propertyName":null,
"propertyVal":null,
"propertyNote":null,
"sendManualSign":0,
"sort":0,
"circleArea":null,
"siteCompanyCode":null,
"hospitalOrderType":null,
"isCollectionAllocation":null,
"orderStatus":null,
"distributionType":null,
"groupCode":null,
"groupProductType":null,
"pSign":0,
"backSign":0,
"description":"",
"stockNumber":"0",
"rebate":false,
"shipmentType":0,
"isRebate":"0",
"hideInTable":false
}
],
"rebateDetail":null,
"rebateAmountList":null,
"productLineCode":null,
"productLineName":null,
"auditLoginName":null,
"showPurchaseNo":false,
"isRebate":null,
"isShowReate":1,
"taxRate":0.17,
"rebateType":0,
"paymentAmountWholeLine":null,
"discountAmountWholeLine":null,
"payableAmountWholeLine":null,
"discountRate":0,
"singleRebateAmount":null,
"isRebateEdit":0,
"payCertUrl":null,
"rebateAmount":0,
"demandCance":0,
"soAdd":0,
"soCance":0,
"orderReturn":0,
"needCustomerConfirm":false,
"measuringUnit":null,
"productId":null,
"version":null,
"mainVersion":null,
"agencyConfigId":null,
"confirmSign":null,
"replySign":null,
"agencySign":null,
"editIng":0,
"editIngStr":null,
"jdeType":0,
"isElectronicSeal":null,
"contractAgreementNo":"SD销售合同",
"alesDepartmentNo":"102007",
"alesDepartmentName":"国联销售服务部",
"salesPersonNo":"17000263",
"salesPersonName":"卢温东",
"customerNote":"",
"otherNote":"",
"contractAgreementCode":"",
"projectName":"赛多利斯纯水设备",
"projectCode":"16000609",
"regionId":null,
"regionName":null,
"productLineBindSign":0,
"shipVia":"2",
"orderSource":2,
"userBalance":null,
"liquidCode":"02",
"shipmentTypeStr":"",
"specifications":null,
"pageStart":null,
"pageSize":null,
"changeSgin":0,
"yapei":2,
"companyId":null,
"userReceiveId2":null,
"preemptConfig":null,
"productSpec":1,
"secondAuditSign":0,
"secondAuditById":null,
"secondAuditByName":null,
"secondAuditTime":null,
"secondAuditRemark":null,
"secondAuditStatus":null,
"rebateRule":null,
"rebateControlSign":0,
"rebateId":null,
"preferenceType":null,
"preferenceName":null,
"disPrice":null,
"lineNum":0,
"auditStaySign":0,
"fileList":null,
"imageUrls":null,
"total":null,
"submitTimeStr":"2023-09-18 19:47:28",
"updateTimeStr":"2023-09-18 19:47:27",
"auditTimeStr":null,
"acceptTime":null,
"acceptTimeStr":null,
"paidTime":null,
"paidTimeStr":null,
"erpHandingTime":null,
"erpHandingTimeStr":null,
"partShippingTime":null,
"partShippingTimeStr":null,
"allShippingTime":null,
"allShippingTimeStr":null,
"pushJdeTimeStr":null,
"successTimeStr":null,
"onlinePaySuccessTime":null,
"onlinePaySuccessTimeStr":null,
"bankTransactionSerial":null,
"newIsTax":null,
"countFormula":null,
"countNumber":null,
"noTaxRebateAmount":0,
"isCollectionAllocation":0,
"siteCompanyCode":null,
"hospitalOrderType":null,
"proofTime":null,
"proofURL":null,
"proofRemark":null,
"proofSign":0,
"customerCancelSign":0,
"cancelRecords":[
],
"cancelCount":0,
"updateNewTime":null,
"updateNewTimeStr":null,
"fsDedUseSign":0,
"preDisSign":0,
"shareType":null,
"singleRebateSign":null,
"cf":false,
"notice":null,
"isPre":null,
"showDemandAuditLineLabel":false,
"orderType":null,
"newDiscountRate":null,
"oldOrderType":null,
"oldNewDiscountRate":null,
"pendding":null,
"pushJdeStatusDemandSub":[
{
"demandSubId":68544,
"demandId":41632,
"demandParentId":39610,
"demandCode":"16950376476542072",
"demandSubCode":"16950376476542072",
"customerId":130,
"customerName":"北京海德锐视科技有限公司",
"customerCode":1000086,
"loginName":"Test001",
"realName":"王春晖",
"addressNumber":19199,
"mobile":"18008613535",
"productLineCode":null,
"productLineName":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"productAmount":100,
"cancelAmount":0,
"payableAmount":0,
"discountAmount":0,
"receiverName":"查杉",
"receiverContact":"18999998888",
"receiverAddress":"上海市普啊撒旦吉萨",
"remark":null,
"pushJdeStatus":null,
"submitTime":"2023-09-18T11:47:28.000+0000",
"pushJdeTime":null,
"successTime":null,
"deleteSign":null,
"taxRate":0.17,
"singleRebateAmount":null,
"rebateType":0,
"isRebateEdit":0,
"discountRate":0,
"changeType":null,
"payCertUrl":null,
"rebateAmount":0,
"demandCance":0,
"soAdd":0,
"soCance":0,
"orderReturn":0,
"needCustomerConfirm":false,
"isEdit":null,
"agencyConfigId":null,
"confirmSign":null,
"replySign":null,
"contractAgreementNo":null,
"alesDepartmentNo":null,
"alesDepartmentName":null,
"salesPersonNo":null,
"salesPersonName":null,
"customerNote":"",
"otherNote":null,
"jdeType":0,
"shipVia":null,
"contractAgreementCode":null,
"projectName":null,
"projectCode":null,
"orderSource":2,
"regionId":null,
"regionName":null,
"receiverNote":null,
"receiverPhoneNote":null,
"receiverAddressNote":null,
"addressNoNote":17986,
"rebateValidity":null,
"liquidCode":null,
"promotionType":1,
"activityTotalAmount":null,
"couponTotalAmount":null,
"userReceiveId":null,
"editSgin":0,
"snSgin":0,
"totalAllPaAmount":null,
"jdeOutAmount":null,
"diffShowSgin":0,
"changeSgin":0,
"yapei":2,
"acrossMainCode":null,
"sdCancelTime":null,
"sdTipSign":0,
"customerCharge":8,
"isElectronicSeal":null,
"userReceiveId2":null,
"inventoryNode":null,
"customCode":null,
"terminalSource":1,
"confirmReceiptSign":null,
"confirmReceiptTime":null,
"deliveryCompletedTime":null,
"taxSign":0,
"delay":null,
"rebateControlSign":0,
"erpRejectTime":null,
"erpHandingTime":null,
"allShippingTime":null,
"partShippingTime":null,
"confirmTime":null,
"noTaxRebateAmount":0,
"newIsTax":null,
"countFormula":null,
"countNumber":null,
"siteCompanyCode":null,
"hospitalOrderType":null,
"shipmentType":null,
"distributionType":null,
"isShowReate":null,
"spitSgin":null,
"detailIsSpit":false,
"createTime":"2023-09-18T11:47:27.000+0000",
"updateTime":"2023-09-18T11:47:27.000+0000",
"paymentAmount":null,
"demandSubItems":null,
"sdlnty":null
}
],
"circleGiftSign":0,
"delay":0,
"limitS":null,
"starts":null,
"ends":null,
"completedS":null,
"confirmDays":null,
"remindS":null,
"skuGroupList":null,
"groupProductType":0,
"purchaseId":18,
"purchaseCode":"P2306281500002",
"sdCancelTime":null,
"sdTipSign":0,
"receiverNote":null,
"receiverPhoneNote":null,
"receiverAddressNote":null,
"flag":null,
"sourceStr":null,
"addressNoNote":"17986",
"detailIsSpit":false,
"spitSgin":null,
"distributionType":"2",
"rebateValidity":null,
"orderChangeType":null,
"logoIcon":null,
"detail":null,
"changeBigType":null,
"promotionType":1,
"activityTotalAmount":0,
"couponTotalAmount":0,
"userReceiveId":null,
"editSgin":0,
"snSgin":0,
"jdeOutAmount":null,
"totalAllPaAmount":null,
"diffShowSgin":0,
"lineCodeDelete":0,
"startTime":null,
"endTime":null,
"changeSign":null,
"distributionId":null,
"limitBuySign":0,
"companyType":"2",
"afterSale":null,
"csId":null,
"sdStatusNodeParamList":null,
"ypPromotionTotal":null,
"acrossMainCode":null,
"forceApprovedSign":0,
"circleGiftContinueSgin":0,
"customerCharge":8,
"onlinePaySign":0,
"recodeDemandSkuList":null,
"mergeDemandSkuList":null,
"inventoryNode":null,
"customCode":null,
"terminalSource":1,
"potentialClientsId":null,
"settlementStatus":"000",
"firstOrderAuditStatus":null,
"confirmReceiptSign":"0",
"confirmReceiptTime":null,
"afterSaleDays":null,
"deliveryCompletedTime":null,
"taxSign":0,
"orderSplitSign":0,
"demandRebateSkuList":null,
"confirmTime":null,
"customerPurchaseNo":null,
"mustInstallDate":false,
"secondAddressList":null,
"splitOrMerge":0,
"spitOrderSign":1,
"productAmountWholeLine":null,
"auditCompanyName":null,
"auditCompanyNameCode":null,
"edit":false,
"serialNumber":1,
"lockHover":false,
"shipmentType":0,
"activityAmount":0,
"couponAmount":0
}
],
"rebateDetail":null,
"rebateAmountList":null,
"productLineCode":null,
"productLineName":null,
"auditLoginName":null,
"showPurchaseNo":false,
"isRebate":null,
"isShowReate":1,
"taxRate":0.17,
"rebateType":0,
"paymentAmountWholeLine":null,
"discountAmountWholeLine":null,
"payableAmountWholeLine":null,
"discountRate":0,
"singleRebateAmount":null,
"isRebateEdit":0,
"payCertUrl":null,
"rebateAmount":0,
"demandCance":0,
"soAdd":0,
"soCance":0,
"orderReturn":0,
"needCustomerConfirm":false,
"measuringUnit":null,
"productId":null,
"version":null,
"mainVersion":null,
"agencyConfigId":null,
"confirmSign":null,
"replySign":null,
"agencySign":null,
"editIng":0,
"editIngStr":null,
"jdeType":0,
"isElectronicSeal":0,
"contractAgreementNo":null,
"alesDepartmentNo":null,
"alesDepartmentName":null,
"salesPersonNo":null,
"salesPersonName":null,
"customerNote":"",
"otherNote":null,
"contractAgreementCode":null,
"projectName":null,
"projectCode":null,
"regionId":null,
"regionName":null,
"productLineBindSign":0,
"shipVia":1,
"orderSource":2,
"userBalance":null,
"liquidCode":null,
"shipmentTypeStr":"",
"specifications":null,
"pageStart":null,
"pageSize":null,
"changeSgin":0,
"yapei":2,
"companyId":null,
"userReceiveId2":null,
"preemptConfig":null,
"productSpec":1,
"secondAuditSign":0,
"secondAuditById":"",
"secondAuditByName":"",
"secondAuditTime":null,
"secondAuditRemark":null,
"secondAuditStatus":null,
"rebateRule":null,
"rebateControlSign":0,
"rebateId":null,
"preferenceType":null,
"preferenceName":null,
"disPrice":null,
"lineNum":0,
"auditStaySign":0,
"fileList":null,
"imageUrls":null,
"total":null,
"submitTimeStr":"2023-09-18 19:47:28",
"updateTimeStr":"2023-09-18 19:47:27",
"auditTimeStr":null,
"acceptTime":null,
"acceptTimeStr":null,
"paidTime":null,
"paidTimeStr":null,
"erpHandingTime":null,
"erpHandingTimeStr":null,
"partShippingTime":null,
"partShippingTimeStr":null,
"allShippingTime":null,
"allShippingTimeStr":null,
"pushJdeTimeStr":null,
"successTimeStr":null,
"onlinePaySuccessTime":null,
"onlinePaySuccessTimeStr":null,
"bankTransactionSerial":null,
"newIsTax":null,
"countFormula":null,
"countNumber":null,
"noTaxRebateAmount":0,
"isCollectionAllocation":0,
"siteCompanyCode":null,
"hospitalOrderType":null,
"proofTime":null,
"proofURL":null,
"proofRemark":null,
"proofSign":0,
"customerCancelSign":0,
"cancelRecords":[
],
"cancelCount":0,
"updateNewTime":null,
"updateNewTimeStr":null,
"fsDedUseSign":0,
"preDisSign":0,
"shareType":null,
"singleRebateSign":null,
"cf":false,
"notice":null,
"isPre":null,
"showDemandAuditLineLabel":false,
"orderType":null,
"newDiscountRate":null,
"oldOrderType":null,
"oldNewDiscountRate":null,
"pendding":null,
"pushJdeStatusDemandSub":[
{
"demandSubId":68544,
"demandId":41632,
"demandParentId":39610,
"demandCode":"16950376476542072",
"demandSubCode":"16950376476542072",
"customerId":130,
"customerName":"北京海德锐视科技有限公司",
"customerCode":1000086,
"loginName":"Test001",
"realName":"王春晖",
"addressNumber":19199,
"mobile":"18008613535",
"productLineCode":null,
"productLineName":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"productAmount":100,
"cancelAmount":0,
"payableAmount":0,
"discountAmount":0,
"receiverName":"查杉",
"receiverContact":"18999998888",
"receiverAddress":"上海市普啊撒旦吉萨",
"remark":null,
"pushJdeStatus":null,
"submitTime":"2023-09-18T11:47:28.000+0000",
"pushJdeTime":null,
"successTime":null,
"deleteSign":null,
"taxRate":0.17,
"singleRebateAmount":null,
"rebateType":0,
"isRebateEdit":0,
"discountRate":0,
"changeType":null,
"payCertUrl":null,
"rebateAmount":0,
"demandCance":0,
"soAdd":0,
"soCance":0,
"orderReturn":0,
"needCustomerConfirm":false,
"isEdit":null,
"agencyConfigId":null,
"confirmSign":null,
"replySign":null,
"contractAgreementNo":null,
"alesDepartmentNo":null,
"alesDepartmentName":null,
"salesPersonNo":null,
"salesPersonName":null,
"customerNote":"",
"otherNote":null,
"jdeType":0,
"shipVia":null,
"contractAgreementCode":null,
"projectName":null,
"projectCode":null,
"orderSource":2,
"regionId":null,
"regionName":null,
"receiverNote":null,
"receiverPhoneNote":null,
"receiverAddressNote":null,
"addressNoNote":17986,
"rebateValidity":null,
"liquidCode":null,
"promotionType":1,
"activityTotalAmount":null,
"couponTotalAmount":null,
"userReceiveId":null,
"editSgin":0,
"snSgin":0,
"totalAllPaAmount":null,
"jdeOutAmount":null,
"diffShowSgin":0,
"changeSgin":0,
"yapei":2,
"acrossMainCode":null,
"sdCancelTime":null,
"sdTipSign":0,
"customerCharge":8,
"isElectronicSeal":null,
"userReceiveId2":null,
"inventoryNode":null,
"customCode":null,
"terminalSource":1,
"confirmReceiptSign":null,
"confirmReceiptTime":null,
"deliveryCompletedTime":null,
"taxSign":0,
"delay":null,
"rebateControlSign":0,
"erpRejectTime":null,
"erpHandingTime":null,
"allShippingTime":null,
"partShippingTime":null,
"confirmTime":null,
"noTaxRebateAmount":0,
"newIsTax":null,
"countFormula":null,
"countNumber":null,
"siteCompanyCode":null,
"hospitalOrderType":null,
"shipmentType":null,
"distributionType":null,
"isShowReate":null,
"spitSgin":null,
"detailIsSpit":false,
"createTime":"2023-09-18T11:47:27.000+0000",
"updateTime":"2023-09-18T11:47:27.000+0000",
"paymentAmount":null,
"demandSubItems":null,
"sdlnty":null
}
],
"circleGiftSign":0,
"delay":0,
"limitS":null,
"starts":null,
"ends":null,
"completedS":null,
"confirmDays":null,
"remindS":null,
"skuGroupList":null,
"groupProductType":0,
"purchaseId":18,
"purchaseCode":"P2306281500002",
"sdCancelTime":null,
"sdTipSign":0,
"receiverNote":null,
"receiverPhoneNote":null,
"receiverAddressNote":null,
"flag":null,
"sourceStr":null,
"addressNoNote":17986,
"detailIsSpit":false,
"spitSgin":null,
"distributionType":null,
"rebateValidity":null,
"orderChangeType":null,
"logoIcon":null,
"detail":null,
"changeBigType":null,
"promotionType":1,
"activityTotalAmount":0,
"couponTotalAmount":null,
"userReceiveId":null,
"editSgin":0,
"snSgin":0,
"jdeOutAmount":null,
"totalAllPaAmount":null,
"diffShowSgin":0,
"lineCodeDelete":0,
"startTime":null,
"endTime":null,
"changeSign":null,
"distributionId":null,
"limitBuySign":0,
"companyType":"2",
"afterSale":null,
"csId":null,
"sdStatusNodeParamList":null,
"ypPromotionTotal":null,
"acrossMainCode":null,
"forceApprovedSign":0,
"circleGiftContinueSgin":0,
"customerCharge":8,
"onlinePaySign":0,
"recodeDemandSkuList":null,
"mergeDemandSkuList":[
{
"demandSkuId":29940,
"demandId":null,
"distributionId":null,
"companyCode":null,
"demandCode":"16950376476542072",
"demandParentId":null,
"sellerCompanyId":null,
"sellerCompanyName":"国药集团联合医疗器械有限公司",
"sellerCompanyCode":"00102",
"customerCode":1000086,
"productLineCode":null,
"productLineName":null,
"propertyStr":null,
"storageType":"999",
"suppDist":null,
"productId":10,
"productName":"威尔特",
"productCode":"10145929",
"productNature":null,
"brandName":null,
"optionStr":"1",
"imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg",
"lineNumber":null,
"price":100,
"rebateId":null,
"originalPrice":null,
"biddingDiscountTax":null,
"salesDiscountTax":null,
"quantity":1,
"sumQuantity":null,
"sendQuantity":null,
"lackQuantity":null,
"cancelQuantity":null,
"cancelAmount":null,
"refundQuantity":null,
"refundAmount":null,
"discountQuantity":null,
"discountAmount":null,
"subtotal":100,
"measuringUnit":"个",
"auxiliaryMeasuringUnit":null,
"procurementMeasuringUnit":null,
"pricingMeasuringUnit":null,
"materialCode":"",
"manufacturer":"北京康思润业生物技术有限公司-黄翼",
"produceRegisterNum":null,
"riskRank":null,
"productClassify":null,
"createTime":null,
"updateTime":null,
"deleteSign":null,
"calCancelFlag":null,
"refundFlag":null,
"discountRate":0,
"realPay":100,
"promotionPrice":0,
"promotionTotalPrice":0,
"demandParentCode":null,
"regionId":null,
"regionName":null,
"spitSign":null,
"activityAmount":0,
"couponAmount":0,
"activityUnitAmount":0,
"couponUnitAmount":null,
"activityBasicId":null,
"couponSgin":null,
"couponSgin2":null,
"returnQuantity":null,
"returnAmount":null,
"customerId":null,
"prescription":null,
"specifications":null,
"lineCodeDelete":1,
"sdOutStorage":0,
"licenseNo":null,
"demandCodes":null,
"areaName":null,
"agreementPriceId":null,
"offerPrice":null,
"orderMark":null,
"totalPrice":null,
"productLimitBuyList":null,
"giftSign":0,
"giftProductCode":"10145929",
"activityCarDataVoList":null,
"orderSource":null,
"receiverName":null,
"receiverContact":null,
"receiverAddress":null,
"rebateTripId":null,
"allSign":null,
"salesReturn":null,
"nowAmount":null,
"taxSign":0,
"plusMinuKey":null,
"rebateRule":null,
"lockType":null,
"lineNumberOrg":1,
"changeSgin":null,
"addSgin":null,
"ptbfa1":null,
"ptbfa2":null,
"ptbfa3":null,
"ptbfa4":null,
"ptbfa5":null,
"yapeiPriceId":null,
"ypLinePromotion":null,
"yapeiPrice":null,
"companyId":null,
"buyerCartId":null,
"userReceiveIdx":null,
"userReceiveIdx2":null,
"limitNum":null,
"productLimitBuyId":null,
"alreadyBuyNum":null,
"limitBuySign":0,
"proposeNum":null,
"takeEffectRange":null,
"takeEffectTime":null,
"endTime1":null,
"groupId":null,
"fsGroupId":null,
"proposalQuantity":null,
"proposalSign":0,
"manufacturerUserNo":null,
"manufacturerUserDesc":null,
"manufacturerProductNo":"018",
"manufacturerProductDesc":"威尔特",
"manufacturerUserId":null,
"manufacturerProductId":175,
"busProductCode":null,
"paidTime":null,
"customerName":null,
"paymentAmount":null,
"specQuantity":null,
"disQuantity":null,
"fulfilledQuantity":null,
"fulCancelQuantity":null,
"couponId":null,
"couponId2":null,
"limitS":null,
"starts":null,
"ends":null,
"userId":null,
"productTax":null,
"taxRate":0.17,
"demandSplitSign":null,
"hospitalHopeDate":null,
"uniqueKey":null,
"productType":null,
"activityRuleId":null,
"allowanceBeginTime":null,
"allowanceEndTime":null,
"sign":null,
"differenceActivityUserId":null,
"groupNumber":1,
"groupName":null,
"skuGroup":{
"id":null,
"groupId":null,
"companyCode":null,
"groupProductType":null,
"createTime":null,
"updateTime":null,
"demandSkuId":null,
"demandId":null,
"dataJson":null,
"lineNumber":null,
"freseniusPriceId":null,
"groupNumber":null,
"demandSkuList":null,
"demandSkuVOList":null
},
"subList":null,
"dataJson":null,
"skuMergeSign":"10145929-100-0-0-0-100",
"freseniusPriceId":null,
"quantityAndGroupAll":null,
"booleaTime":null,
"spitSgin":0,
"groupSpitSign":0,
"purchaseEntryId":null,
"activityType":0,
"giftSettlementMethod":null,
"giftInitQuantity":null,
"packageCode":null,
"giftGroupQuantity":null,
"mustInstallDate":false,
"installedDate":null,
"installedDateStr":"",
"demandLines":null,
"subLineNumber":null,
"demandSubCode":null,
"propertyName":null,
"propertyVal":null,
"propertyNote":null,
"sendManualSign":0,
"sort":0,
"circleArea":null,
"siteCompanyCode":null,
"hospitalOrderType":null,
"isCollectionAllocation":null,
"orderStatus":null,
"distributionType":null,
"groupCode":null,
"groupProductType":null,
"pSign":0,
"backSign":0,
"description":"",
"stockNumber":"0",
"rebate":false,
"shipmentType":0,
"isRebate":"0",
"hideInTable":false
}
],
"inventoryNode":null,
"customCode":null,
"terminalSource":1,
"potentialClientsId":null,
"settlementStatus":"000",
"firstOrderAuditStatus":null,
"confirmReceiptSign":"0",
"confirmReceiptTime":null,
"afterSaleDays":null,
"deliveryCompletedTime":null,
"taxSign":0,
"orderSplitSign":0,
"demandRebateSkuList":null,
"confirmTime":null,
"customerPurchaseNo":null,
"mustInstallDate":false,
"secondAddressList":null,
"splitOrMerge":0,
"spitOrderSign":1,
"productAmountWholeLine":null,
"auditCompanyName":null,
"auditCompanyNameCode":null,
"edit":false,
"serialNumber":1,
"lockHover":false
}
#预期结果
checkDict1: {"success":true,"code":"200","message":null,"data":[],"freshToken":null}
#多彩商场快速下单
#步骤一登录多彩商城
#多彩商城登录信息
"username1": "Test001"
"password1": "Aa123456"
json_headers1: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
#步骤二创建并提交需求单
#需求单创建接口地址
"url4": "/order/public/saveAllDemandOrder"
#需求单创建
"payload4": {
"国药集团联合医疗器械有限公司": {
"datas": [
{
"demandId": null,
"demandParentId": null,
"demandParentCode": null,
"demandCode": null,
"customerId": null,
"customerName": null,
"customerCode": 1000086,
"loginName": null,
"realName": null,
"addressNumber": null,
"mobile": null,
"productName": null,
"productCode": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"paymentType": null,
"receiveBankName": null,
"receiveBankAccount": null,
"paymentAmount": "0.3300",
"productAmount": 0.33,
"payableAmount": 0.3333,
"refundAmount": null,
"cancelAmount": null,
"discountAmount": 0,
"orderStatus": null,
"refundStatus": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"remark": null,
"revokedReason": null,
"auditById": null,
"auditByName": null,
"auditTime": null,
"auditRemark": null,
"flhsStatus": null,
"pushJdeStatus": null,
"createTime": null,
"updateTime": null,
"submitTime": null,
"pushJdeTime": null,
"successTime": null,
"auditStatus": null,
"deleteSign": null,
"firstOrderFlag": null,
"demandItems": [
{
"demandSkuId": null,
"demandId": null,
"distributionId": null,
"companyCode": "00102",
"demandCode": null,
"demandParentId": null,
"sellerCompanyId": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"customerCode": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"propertyStr": null,
"storageType": "999",
"suppDist": null,
"productId": 111579,
"productName": "起搏电极导线-电商专用",
"productCode": "10212287",
"productNature": null,
"brandName": null,
"optionStr": "5075",
"imageUrl": null,
"lineNumber": null,
"price": 0.3333,
"rebateId": null,
"originalPrice": null,
"biddingDiscountTax": null,
"salesDiscountTax": null,
"quantity": 1,
"sumQuantity": null,
"sendQuantity": null,
"lackQuantity": null,
"cancelQuantity": null,
"cancelAmount": null,
"refundQuantity": null,
"refundAmount": null,
"discountQuantity": null,
"discountAmount": null,
"subtotal": 0.33,
"measuringUnit": "块",
"auxiliaryMeasuringUnit": null,
"procurementMeasuringUnit": null,
"pricingMeasuringUnit": null,
"materialCode": "",
"manufacturer": "11320766+李桂阳",
"produceRegisterNum": null,
"riskRank": null,
"productClassify": null,
"createTime": 1606823961000,
"updateTime": 1694624401000,
"deleteSign": null,
"calCancelFlag": null,
"refundFlag": null,
"discountRate": 100,
"realPay": 0.33,
"promotionPrice": null,
"promotionTotalPrice": 0,
"demandParentCode": null,
"regionId": null,
"regionName": null,
"spitSign": null,
"activityAmount": 0,
"couponAmount": 0,
"activityUnitAmount": 0,
"couponUnitAmount": null,
"activityBasicId": null,
"couponSgin": null,
"couponSgin2": null,
"returnQuantity": null,
"returnAmount": null,
"customerId": null,
"prescription": null,
"specifications": "5075",
"lineCodeDelete": null,
"sdOutStorage": null,
"licenseNo": null,
"demandCodes": null,
"areaName": null,
"agreementPriceId": null,
"offerPrice": null,
"orderMark": null,
"totalPrice": null,
"productLimitBuyList": null,
"giftSign": 0,
"giftProductCode": null,
"activityCarDataVoList": null,
"orderSource": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"rebateTripId": null,
"allSign": null,
"salesReturn": null,
"nowAmount": null,
"taxSign": 0,
"plusMinuKey": null,
"rebateRule": null,
"lockType": null,
"lineNumberOrg": null,
"changeSgin": null,
"addSgin": null,
"ptbfa1": null,
"ptbfa2": null,
"ptbfa3": null,
"ptbfa4": null,
"ptbfa5": null,
"yapeiPriceId": null,
"ypLinePromotion": null,
"yapeiPrice": null,
"companyId": 2,
"buyerCartId": null,
"userReceiveIdx": null,
"userReceiveIdx2": null,
"limitNum": null,
"productLimitBuyId": null,
"alreadyBuyNum": null,
"limitBuySign": 0,
"proposeNum": null,
"takeEffectRange": null,
"takeEffectTime": null,
"endTime1": null,
"groupId": null,
"fsGroupId": null,
"proposalQuantity": null,
"proposalSign": 0,
"manufacturerUserNo": null,
"manufacturerUserDesc": null,
"manufacturerProductNo": null,
"manufacturerProductDesc": null,
"manufacturerUserId": null,
"manufacturerProductId": null,
"busProductCode": null,
"paidTime": null,
"customerName": null,
"paymentAmount": null,
"specQuantity": null,
"disQuantity": null,
"fulfilledQuantity": null,
"fulCancelQuantity": null,
"couponId": null,
"couponId2": null,
"limitS": null,
"starts": null,
"ends": null,
"userId": null,
"productTax": "",
"taxRate": 0.17,
"demandSplitSign": "1",
"hospitalHopeDate": null,
"uniqueKey": null,
"productType": null,
"activityRuleId": null,
"allowanceBeginTime": null,
"allowanceEndTime": null,
"sign": null,
"differenceActivityUserId": null,
"groupNumber": null,
"groupName": null,
"skuGroup": null,
"subList": null,
"dataJson": null,
"skuMergeSign": null,
"freseniusPriceId": null,
"quantityAndGroupAll": null,
"booleaTime": null,
"spitSgin": 0,
"groupSpitSign": 0,
"purchaseEntryId": null,
"activityType": 0,
"giftSettlementMethod": null,
"giftInitQuantity": null,
"packageCode": null,
"giftGroupQuantity": null,
"mustInstallDate": false,
"installedDate": null,
"installedDateStr": null,
"demandLines": null,
"subLineNumber": null,
"demandSubCode": null,
"propertyName": null,
"propertyVal": null,
"propertyNote": null,
"sendManualSign": 0,
"sort": 0,
"circleArea": null,
"siteCompanyCode": "",
"hospitalOrderType": null,
"isCollectionAllocation": 0,
"orderStatus": null,
"distributionType": null,
"groupCode": null,
"groupProductType": null,
"pSign": 0,
"backSign": 0,
"description": "",
"stockNumber": null,
"rebate": true,
"purchaseZeroProductList": [],
"prePromotionPrice": null,
"prepromotionTotalPrice": 0,
"preDiscountRate": null,
"userBalance": 0,
"useLimitEnd": 0.05,
"useLimitStart": 0.01,
"maxuseLimit": 0.01
}
],
"demandSubItems": null,
"rebateDetail": [
{
"rebateoperaskuid": null,
"filialecode": "00102",
"rebateid": 64,
"customercode": null,
"transactionamount": null,
"transactiontype": null,
"rebateStartTime": null,
"rebateValidity": null,
"balance": null,
"deletesign": null,
"note": null,
"createtime": null,
"updatetime": null,
"demandId": null,
"demandCode": null,
"relevanceName": null,
"rebateName": null,
"customerCompanyName": null,
"lineCodeDelete": null,
"rebateTripId": null,
"monNum": null,
"relevanceCode": "DS-电商专用",
"pageSize": null,
"pageNum": null,
"startTime": null,
"endTime": null,
"userId": null,
"customerCodeList": null,
"filialeCodeList": null,
"companyName": null,
"reSign": null,
"demandParentCode": null,
"distributionCode": null,
"frontNote": null,
"backNote": null,
"cancelId": null,
"effectivetype": null,
"validityperiodSign": null,
"rebatename": "起搏电极导线",
"useLimitStart": 0.01,
"useLimitEnd": 0.05,
"istax": 1,
"taxround": 0,
"isdisposable": 0,
"productCode": null,
"isOperated": null,
"userPrice": null,
"rebateFalg": null
}
],
"rebateAmountList": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"auditLoginName": null,
"showPurchaseNo": false,
"isRebate": null,
"isShowReate": null,
"taxRate": 0.17,
"rebateType": 1,
"paymentAmountWholeLine": 0.3333,
"discountAmountWholeLine": 0,
"payableAmountWholeLine": 0.3333,
"discountRate": null,
"singleRebateAmount": null,
"isRebateEdit": null,
"payCertUrl": null,
"rebateAmount": null,
"demandCance": null,
"soAdd": null,
"soCance": null,
"orderReturn": null,
"needCustomerConfirm": false,
"measuringUnit": null,
"productId": null,
"version": null,
"mainVersion": null,
"agencyConfigId": null,
"confirmSign": null,
"replySign": null,
"agencySign": null,
"editIng": null,
"editIngStr": null,
"jdeType": null,
"isElectronicSeal": null,
"contractAgreementNo": null,
"alesDepartmentNo": null,
"alesDepartmentName": null,
"salesPersonNo": null,
"salesPersonName": null,
"customerNote": null,
"otherNote": null,
"contractAgreementCode": null,
"projectName": null,
"projectCode": null,
"regionId": null,
"regionName": null,
"productLineBindSign": null,
"shipVia": null,
"orderSource": null,
"userBalance": null,
"liquidCode": null,
"shipmentTypeStr": null,
"specifications": "5075",
"pageStart": null,
"pageSize": null,
"changeSgin": null,
"yapei": 2,
"companyId": 2,
"preemptConfig": null,
"productSpec": null,
"secondAuditSign": null,
"secondAuditById": null,
"secondAuditByName": null,
"secondAuditTime": null,
"secondAuditRemark": null,
"secondAuditStatus": null,
"rebateRule": "1;2;3;4",
"rebateControlSign": 0,
"rebateId": null,
"preferenceType": null,
"preferenceName": null,
"disPrice": null,
"lineNum": 0,
"auditStaySign": 0,
"fileList": null,
"imageUrls": null,
"total": null,
"submitTimeStr": null,
"updateTimeStr": null,
"auditTimeStr": null,
"acceptTime": null,
"acceptTimeStr": null,
"paidTime": null,
"paidTimeStr": null,
"erpHandingTime": null,
"erpHandingTimeStr": null,
"partShippingTime": null,
"partShippingTimeStr": null,
"allShippingTime": null,
"allShippingTimeStr": null,
"pushJdeTimeStr": null,
"successTimeStr": null,
"onlinePaySuccessTime": null,
"onlinePaySuccessTimeStr": null,
"bankTransactionSerial": null,
"newIsTax": 1,
"countFormula": 3,
"countNumber": 1.13,
"noTaxRebateAmount": 0,
"isCollectionAllocation": 0,
"siteCompanyCode": "",
"hospitalOrderType": 0,
"proofTime": null,
"proofURL": null,
"proofRemark": null,
"proofSign": 0,
"customerCancelSign": null,
"cancelRecords": null,
"cancelCount": 0,
"updateNewTime": null,
"updateNewTimeStr": null,
"fsDedUseSign": null,
"preDisSign": 0,
"shareType": 1,
"singleRebateSign": 0,
"cf": false,
"notice": "yyds测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试",
"isPre": null,
"showDemandAuditLineLabel": false,
"orderType": null,
"newDiscountRate": null,
"oldOrderType": null,
"oldNewDiscountRate": null,
"pendding": null,
"pushJdeStatusDemandSub": null,
"circleGiftSign": 0,
"delay": null,
"limitS": null,
"starts": null,
"ends": null,
"completedS": null,
"confirmDays": null,
"remindS": null,
"skuGroupList": null,
"groupProductType": 0,
"purchaseId": null,
"purchaseCode": null,
"sdCancelTime": null,
"sdTipSign": 0,
"receiverNote": null,
"receiverPhoneNote": null,
"receiverAddressNote": null,
"flag": null,
"sourceStr": null,
"addressNoNote": null,
"detailIsSpit": false,
"spitSgin": null,
"distributionType": null,
"rebateValidity": null,
"orderChangeType": null,
"logoIcon": null,
"detail": null,
"changeBigType": null,
"promotionType": 1,
"activityTotalAmount": 0,
"couponTotalAmount": 0,
"userReceiveId": null,
"editSgin": null,
"snSgin": null,
"jdeOutAmount": null,
"totalAllPaAmount": null,
"diffShowSgin": 0,
"lineCodeDelete": null,
"startTime": null,
"endTime": null,
"changeSign": null,
"distributionId": null,
"limitBuySign": 0,
"companyType": null,
"afterSale": null,
"csId": null,
"sdStatusNodeParamList": null,
"ypPromotionTotal": null,
"acrossMainCode": null,
"forceApprovedSign": 0,
"circleGiftContinueSgin": 0,
"customerCharge": null,
"onlinePaySign": 0,
"recodeDemandSkuList": null,
"mergeDemandSkuList": null,
"inventoryNode": null,
"customCode": null,
"terminalSource": null,
"potentialClientsId": null,
"settlementStatus": null,
"firstOrderAuditStatus": null,
"confirmReceiptSign": null,
"confirmReceiptTime": null,
"afterSaleDays": null,
"deliveryCompletedTime": null,
"taxSign": 0,
"orderSplitSign": 0,
"demandRebateSkuList": null,
"confirmTime": null,
"customerPurchaseNo": null,
"mustInstallDate": true,
"secondAddressList": null,
"splitOrMerge": 0,
"spitOrderSign": null,
"productAmountWholeLine": 0.3333,
"auditCompanyName": null,
"auditCompanyNameCode": null,
"edit": false,
"ratio": null,
"showMoreAttribute": false,
"lastNoTaxDiscountAmount": 0,
"lastDiscountAmount": 0,
"settementQuantity": 1,
"userBalancePrice": 0,
"isEdit": true,
"discountRateOne": 100,
"_rebateType": true
}
],
"addressConfig": 2,
"openPreTaxAmount": 1,
"notice": "888品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服",
"promotionOrRebate": 1,
"promotionType": 1,
"showChangePromotionOrRebate": false,
"couponTotalAmount": 0,
"activityTotalAmount": 0,
"totalQuantity": 1,
"totalPrice": 0.33,
"discountAmount": 0,
"demandItems": [
{
"demandSkuId": null,
"demandId": null,
"distributionId": null,
"companyCode": "00102",
"demandCode": null,
"demandParentId": null,
"sellerCompanyId": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"customerCode": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"propertyStr": null,
"storageType": "999",
"suppDist": null,
"productId": 111579,
"productName": "起搏电极导线-电商专用",
"productCode": "10212287",
"productNature": null,
"brandName": null,
"optionStr": "5075",
"imageUrl": null,
"lineNumber": null,
"price": 0.3333,
"rebateId": null,
"originalPrice": null,
"biddingDiscountTax": null,
"salesDiscountTax": null,
"quantity": 1,
"sumQuantity": null,
"sendQuantity": null,
"lackQuantity": null,
"cancelQuantity": null,
"cancelAmount": null,
"refundQuantity": null,
"refundAmount": null,
"discountQuantity": null,
"discountAmount": null,
"subtotal": 0.33,
"measuringUnit": "块",
"auxiliaryMeasuringUnit": null,
"procurementMeasuringUnit": null,
"pricingMeasuringUnit": null,
"materialCode": "",
"manufacturer": "11320766+李桂阳",
"produceRegisterNum": null,
"riskRank": null,
"productClassify": null,
"createTime": 1606823961000,
"updateTime": 1694624401000,
"deleteSign": null,
"calCancelFlag": null,
"refundFlag": null,
"discountRate": 100,
"realPay": 0.33,
"promotionPrice": null,
"promotionTotalPrice": 0,
"demandParentCode": null,
"regionId": null,
"regionName": null,
"spitSign": null,
"activityAmount": 0,
"couponAmount": 0,
"activityUnitAmount": 0,
"couponUnitAmount": null,
"activityBasicId": null,
"couponSgin": null,
"couponSgin2": null,
"returnQuantity": null,
"returnAmount": null,
"customerId": null,
"prescription": null,
"specifications": "5075",
"lineCodeDelete": null,
"sdOutStorage": null,
"licenseNo": null,
"demandCodes": null,
"areaName": null,
"agreementPriceId": null,
"offerPrice": null,
"orderMark": null,
"totalPrice": null,
"productLimitBuyList": null,
"giftSign": 0,
"giftProductCode": null,
"activityCarDataVoList": null,
"orderSource": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"rebateTripId": null,
"allSign": null,
"salesReturn": null,
"nowAmount": null,
"taxSign": 0,
"plusMinuKey": null,
"rebateRule": null,
"lockType": null,
"lineNumberOrg": null,
"changeSgin": null,
"addSgin": null,
"ptbfa1": null,
"ptbfa2": null,
"ptbfa3": null,
"ptbfa4": null,
"ptbfa5": null,
"yapeiPriceId": null,
"ypLinePromotion": null,
"yapeiPrice": null,
"companyId": 2,
"buyerCartId": null,
"userReceiveIdx": null,
"userReceiveIdx2": null,
"limitNum": null,
"productLimitBuyId": null,
"alreadyBuyNum": null,
"limitBuySign": 0,
"proposeNum": null,
"takeEffectRange": null,
"takeEffectTime": null,
"endTime1": null,
"groupId": null,
"fsGroupId": null,
"proposalQuantity": null,
"proposalSign": 0,
"manufacturerUserNo": null,
"manufacturerUserDesc": null,
"manufacturerProductNo": null,
"manufacturerProductDesc": null,
"manufacturerUserId": null,
"manufacturerProductId": null,
"busProductCode": null,
"paidTime": null,
"customerName": null,
"paymentAmount": null,
"specQuantity": null,
"disQuantity": null,
"fulfilledQuantity": null,
"fulCancelQuantity": null,
"couponId": null,
"couponId2": null,
"limitS": null,
"starts": null,
"ends": null,
"userId": null,
"productTax": "",
"taxRate": 0.17,
"demandSplitSign": "1",
"hospitalHopeDate": null,
"uniqueKey": null,
"productType": null,
"activityRuleId": null,
"allowanceBeginTime": null,
"allowanceEndTime": null,
"sign": null,
"differenceActivityUserId": null,
"groupNumber": null,
"groupName": null,
"skuGroup": null,
"subList": null,
"dataJson": null,
"skuMergeSign": null,
"freseniusPriceId": null,
"quantityAndGroupAll": null,
"booleaTime": null,
"spitSgin": 0,
"groupSpitSign": 0,
"purchaseEntryId": null,
"activityType": 0,
"giftSettlementMethod": null,
"giftInitQuantity": null,
"packageCode": null,
"giftGroupQuantity": null,
"mustInstallDate": false,
"installedDate": null,
"installedDateStr": null,
"demandLines": null,
"subLineNumber": null,
"demandSubCode": null,
"propertyName": null,
"propertyVal": null,
"propertyNote": null,
"sendManualSign": 0,
"sort": 0,
"circleArea": null,
"siteCompanyCode": "",
"hospitalOrderType": null,
"isCollectionAllocation": 0,
"orderStatus": null,
"distributionType": null,
"groupCode": null,
"groupProductType": null,
"pSign": 0,
"backSign": 0,
"description": "",
"stockNumber": null,
"rebate": true,
"purchaseZeroProductList": [],
"prePromotionPrice": null,
"prepromotionTotalPrice": 0,
"preDiscountRate": null,
"userBalance": 0,
"useLimitEnd": 0.05,
"useLimitStart": 0.01,
"maxuseLimit": 0.01
}
],
"productPrice": "0.3300",
"fileList": [],
"showInfo": false,
"pageStart": 1,
"pageSize": 5,
"defaultBankInfo": {
"accountId": 32,
"companyId": 2,
"companyName": "国药集团联合医疗器械有限公司",
"registeredAddress": "北京市顺义区金航中路3号院社科中心1号楼3单元2层301",
"bank": "中国工商银行北京支行",
"accountName": "国药集团联合医疗器械有限公司",
"accountNumber": "108902839271937437",
"disableSign": 0,
"deleteSign": 0,
"createTime": "2021-01-12 16:12:03",
"updateTime": "2021-01-12 16:12:33",
"createBy": 2,
"updateBy": 2,
"realName": "子公司1admin"
},
"receiveInfo": [
{
"addressId": 15195,
"addressNo": 17986,
"addressName": "上海市普啊撒旦吉萨",
"provinceCode": null,
"userId": null,
"companyId": null,
"receiverName": "查杉",
"address": "",
"isDefault": 0,
"type": null,
"postcode": null,
"mobile": "18999998888",
"updateDate": null,
"updateTime": null,
"flag": null,
"deleteSign": null,
"province": null,
"city": null,
"area": null,
"dateTime": null,
"provinceStr": null,
"cityStr": null,
"areaStr": null,
"isJde": 0
}
],
"addressList": [
{
"addressId": 15195,
"addressNo": 17986,
"addressName": null,
"provinceCode": null,
"userId": null,
"companyId": 2,
"receiverName": "查杉",
"address": "上海市普啊撒旦吉萨",
"isDefault": 0,
"type": 3,
"postcode": null,
"mobile": "18999998888",
"updateDate": 123074,
"updateTime": 103533,
"flag": null,
"deleteSign": null,
"province": 0,
"city": 0,
"area": 0,
"dateTime": null,
"provinceStr": "",
"cityStr": "",
"areaStr": "",
"isJde": 0,
"cityList": [],
"areaList": []
}
],
"selecteAddresId": 15195,
"receiverNote": "查杉",
"receiverPhoneNote": "18999998888",
"receiverAddressNote": "上海市普啊撒旦吉萨",
"addressNoNote": 17986,
"province": 0,
"city": 0,
"cityList": [],
"area": 0,
"areaList": [],
"paymentAmount": "0.3300",
"taxRate": 0.17,
"demands": [
{
"demandId": null,
"demandParentId": null,
"demandParentCode": null,
"demandCode": null,
"customerId": null,
"customerName": null,
"customerCode": 1000086,
"loginName": null,
"realName": null,
"addressNumber": null,
"mobile": null,
"productName": null,
"productCode": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"paymentType": null,
"receiveBankName": null,
"receiveBankAccount": null,
"paymentAmount": "0.3300",
"productAmount": 0.33,
"payableAmount": 0.3333,
"refundAmount": null,
"cancelAmount": null,
"discountAmount": 0,
"orderStatus": null,
"refundStatus": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"remark": null,
"revokedReason": null,
"auditById": null,
"auditByName": null,
"auditTime": null,
"auditRemark": null,
"flhsStatus": null,
"pushJdeStatus": null,
"createTime": null,
"updateTime": null,
"submitTime": null,
"pushJdeTime": null,
"successTime": null,
"auditStatus": null,
"deleteSign": null,
"firstOrderFlag": null,
"demandItems": [
{
"demandSkuId": null,
"demandId": null,
"distributionId": null,
"companyCode": "00102",
"demandCode": null,
"demandParentId": null,
"sellerCompanyId": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"customerCode": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"propertyStr": null,
"storageType": "999",
"suppDist": null,
"productId": 111579,
"productName": "起搏电极导线-电商专用",
"productCode": "10212287",
"productNature": null,
"brandName": null,
"optionStr": "5075",
"imageUrl": null,
"lineNumber": null,
"price": 0.3333,
"rebateId": null,
"originalPrice": null,
"biddingDiscountTax": null,
"salesDiscountTax": null,
"quantity": 1,
"sumQuantity": null,
"sendQuantity": null,
"lackQuantity": null,
"cancelQuantity": null,
"cancelAmount": null,
"refundQuantity": null,
"refundAmount": null,
"discountQuantity": null,
"discountAmount": null,
"subtotal": 0.33,
"measuringUnit": "块",
"auxiliaryMeasuringUnit": null,
"procurementMeasuringUnit": null,
"pricingMeasuringUnit": null,
"materialCode": "",
"manufacturer": "11320766+李桂阳",
"produceRegisterNum": null,
"riskRank": null,
"productClassify": null,
"createTime": 1606823961000,
"updateTime": 1694624401000,
"deleteSign": null,
"calCancelFlag": null,
"refundFlag": null,
"discountRate": 100,
"realPay": 0.33,
"promotionPrice": null,
"promotionTotalPrice": 0,
"demandParentCode": null,
"regionId": null,
"regionName": null,
"spitSign": null,
"activityAmount": 0,
"couponAmount": 0,
"activityUnitAmount": 0,
"couponUnitAmount": null,
"activityBasicId": null,
"couponSgin": null,
"couponSgin2": null,
"returnQuantity": null,
"returnAmount": null,
"customerId": null,
"prescription": null,
"specifications": "5075",
"lineCodeDelete": null,
"sdOutStorage": null,
"licenseNo": null,
"demandCodes": null,
"areaName": null,
"agreementPriceId": null,
"offerPrice": null,
"orderMark": null,
"totalPrice": null,
"productLimitBuyList": null,
"giftSign": 0,
"giftProductCode": null,
"activityCarDataVoList": null,
"orderSource": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"rebateTripId": null,
"allSign": null,
"salesReturn": null,
"nowAmount": null,
"taxSign": 0,
"plusMinuKey": null,
"rebateRule": null,
"lockType": null,
"lineNumberOrg": null,
"changeSgin": null,
"addSgin": null,
"ptbfa1": null,
"ptbfa2": null,
"ptbfa3": null,
"ptbfa4": null,
"ptbfa5": null,
"yapeiPriceId": null,
"ypLinePromotion": null,
"yapeiPrice": null,
"companyId": 2,
"buyerCartId": null,
"userReceiveIdx": null,
"userReceiveIdx2": null,
"limitNum": null,
"productLimitBuyId": null,
"alreadyBuyNum": null,
"limitBuySign": 0,
"proposeNum": null,
"takeEffectRange": null,
"takeEffectTime": null,
"endTime1": null,
"groupId": null,
"fsGroupId": null,
"proposalQuantity": null,
"proposalSign": 0,
"manufacturerUserNo": null,
"manufacturerUserDesc": null,
"manufacturerProductNo": null,
"manufacturerProductDesc": null,
"manufacturerUserId": null,
"manufacturerProductId": null,
"busProductCode": null,
"paidTime": null,
"customerName": null,
"paymentAmount": null,
"specQuantity": null,
"disQuantity": null,
"fulfilledQuantity": null,
"fulCancelQuantity": null,
"couponId": null,
"couponId2": null,
"limitS": null,
"starts": null,
"ends": null,
"userId": null,
"productTax": "",
"taxRate": 0.17,
"demandSplitSign": "1",
"hospitalHopeDate": null,
"uniqueKey": null,
"productType": null,
"activityRuleId": null,
"allowanceBeginTime": null,
"allowanceEndTime": null,
"sign": null,
"differenceActivityUserId": null,
"groupNumber": null,
"groupName": null,
"skuGroup": null,
"subList": null,
"dataJson": null,
"skuMergeSign": null,
"freseniusPriceId": null,
"quantityAndGroupAll": null,
"booleaTime": null,
"spitSgin": 0,
"groupSpitSign": 0,
"purchaseEntryId": null,
"activityType": 0,
"giftSettlementMethod": null,
"giftInitQuantity": null,
"packageCode": null,
"giftGroupQuantity": null,
"mustInstallDate": false,
"installedDate": null,
"installedDateStr": null,
"demandLines": null,
"subLineNumber": null,
"demandSubCode": null,
"propertyName": null,
"propertyVal": null,
"propertyNote": null,
"sendManualSign": 0,
"sort": 0,
"circleArea": null,
"siteCompanyCode": "",
"hospitalOrderType": null,
"isCollectionAllocation": 0,
"orderStatus": null,
"distributionType": null,
"groupCode": null,
"groupProductType": null,
"pSign": 0,
"backSign": 0,
"description": "",
"stockNumber": null,
"rebate": true,
"purchaseZeroProductList": [],
"prePromotionPrice": null,
"prepromotionTotalPrice": 0,
"preDiscountRate": null,
"userBalance": 0,
"useLimitEnd": 0.05,
"useLimitStart": 0.01,
"maxuseLimit": 0.01,
"orderType": null
}
],
"demandSubItems": null,
"rebateDetail": [
{
"rebateoperaskuid": null,
"filialecode": "00102",
"rebateid": 64,
"customercode": null,
"transactionamount": null,
"transactiontype": null,
"rebateStartTime": null,
"rebateValidity": null,
"balance": null,
"deletesign": null,
"note": null,
"createtime": null,
"updatetime": null,
"demandId": null,
"demandCode": null,
"relevanceName": null,
"rebateName": null,
"customerCompanyName": null,
"lineCodeDelete": null,
"rebateTripId": null,
"monNum": null,
"relevanceCode": "DS-电商专用",
"pageSize": null,
"pageNum": null,
"startTime": null,
"endTime": null,
"userId": null,
"customerCodeList": null,
"filialeCodeList": null,
"companyName": null,
"reSign": null,
"demandParentCode": null,
"distributionCode": null,
"frontNote": null,
"backNote": null,
"cancelId": null,
"effectivetype": null,
"validityperiodSign": null,
"rebatename": "起搏电极导线",
"useLimitStart": 0.01,
"useLimitEnd": 0.05,
"istax": 1,
"taxround": 0,
"isdisposable": 0,
"productCode": null,
"isOperated": null,
"userPrice": null,
"rebateFalg": null
}
],
"rebateAmountList": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"auditLoginName": null,
"showPurchaseNo": false,
"isRebate": null,
"isShowReate": null,
"taxRate": 0.17,
"rebateType": 1,
"paymentAmountWholeLine": 0.3333,
"discountAmountWholeLine": 0,
"payableAmountWholeLine": 0.3333,
"discountRate": null,
"singleRebateAmount": null,
"isRebateEdit": null,
"payCertUrl": null,
"rebateAmount": null,
"demandCance": null,
"soAdd": null,
"soCance": null,
"orderReturn": null,
"needCustomerConfirm": false,
"measuringUnit": null,
"productId": null,
"version": null,
"mainVersion": null,
"agencyConfigId": null,
"confirmSign": null,
"replySign": null,
"agencySign": null,
"editIng": null,
"editIngStr": null,
"jdeType": null,
"isElectronicSeal": null,
"contractAgreementNo": null,
"alesDepartmentNo": null,
"alesDepartmentName": null,
"salesPersonNo": null,
"salesPersonName": null,
"customerNote": null,
"otherNote": null,
"contractAgreementCode": null,
"projectName": null,
"projectCode": null,
"regionId": null,
"regionName": null,
"productLineBindSign": null,
"shipVia": null,
"orderSource": null,
"userBalance": null,
"liquidCode": null,
"shipmentTypeStr": null,
"specifications": "5075",
"pageStart": null,
"pageSize": null,
"changeSgin": null,
"yapei": 2,
"companyId": 2,
"preemptConfig": null,
"productSpec": null,
"secondAuditSign": null,
"secondAuditById": null,
"secondAuditByName": null,
"secondAuditTime": null,
"secondAuditRemark": null,
"secondAuditStatus": null,
"rebateRule": "1;2;3;4",
"rebateControlSign": 0,
"rebateId": null,
"preferenceType": null,
"preferenceName": null,
"disPrice": null,
"lineNum": 0,
"auditStaySign": 0,
"fileList": null,
"imageUrls": null,
"total": null,
"submitTimeStr": null,
"updateTimeStr": null,
"auditTimeStr": null,
"acceptTime": null,
"acceptTimeStr": null,
"paidTime": null,
"paidTimeStr": null,
"erpHandingTime": null,
"erpHandingTimeStr": null,
"partShippingTime": null,
"partShippingTimeStr": null,
"allShippingTime": null,
"allShippingTimeStr": null,
"pushJdeTimeStr": null,
"successTimeStr": null,
"onlinePaySuccessTime": null,
"onlinePaySuccessTimeStr": null,
"bankTransactionSerial": null,
"newIsTax": 1,
"countFormula": 3,
"countNumber": 1.13,
"noTaxRebateAmount": 0,
"isCollectionAllocation": 0,
"siteCompanyCode": "",
"hospitalOrderType": 0,
"proofTime": null,
"proofURL": null,
"proofRemark": null,
"proofSign": 0,
"customerCancelSign": null,
"cancelRecords": null,
"cancelCount": 0,
"updateNewTime": null,
"updateNewTimeStr": null,
"fsDedUseSign": null,
"preDisSign": 0,
"shareType": 1,
"singleRebateSign": 0,
"cf": false,
"notice": "yyds测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试",
"isPre": null,
"showDemandAuditLineLabel": false,
"orderType": null,
"newDiscountRate": null,
"oldOrderType": null,
"oldNewDiscountRate": null,
"pendding": null,
"pushJdeStatusDemandSub": null,
"circleGiftSign": 0,
"delay": null,
"limitS": null,
"starts": null,
"ends": null,
"completedS": null,
"confirmDays": null,
"remindS": null,
"skuGroupList": null,
"groupProductType": 0,
"purchaseId": null,
"purchaseCode": null,
"sdCancelTime": null,
"sdTipSign": 0,
"receiverNote": null,
"receiverPhoneNote": null,
"receiverAddressNote": null,
"flag": null,
"sourceStr": null,
"addressNoNote": null,
"detailIsSpit": false,
"spitSgin": null,
"distributionType": null,
"rebateValidity": null,
"orderChangeType": null,
"logoIcon": null,
"detail": null,
"changeBigType": null,
"promotionType": 1,
"activityTotalAmount": 0,
"couponTotalAmount": 0,
"userReceiveId": null,
"editSgin": null,
"snSgin": null,
"jdeOutAmount": null,
"totalAllPaAmount": null,
"diffShowSgin": 0,
"lineCodeDelete": null,
"startTime": null,
"endTime": null,
"changeSign": null,
"distributionId": null,
"limitBuySign": 0,
"companyType": null,
"afterSale": null,
"csId": null,
"sdStatusNodeParamList": null,
"ypPromotionTotal": null,
"acrossMainCode": null,
"forceApprovedSign": 0,
"circleGiftContinueSgin": 0,
"customerCharge": null,
"onlinePaySign": 0,
"recodeDemandSkuList": null,
"mergeDemandSkuList": null,
"inventoryNode": null,
"customCode": null,
"terminalSource": null,
"potentialClientsId": null,
"settlementStatus": null,
"firstOrderAuditStatus": null,
"confirmReceiptSign": null,
"confirmReceiptTime": null,
"afterSaleDays": null,
"deliveryCompletedTime": null,
"taxSign": 0,
"orderSplitSign": 0,
"demandRebateSkuList": null,
"confirmTime": null,
"customerPurchaseNo": null,
"mustInstallDate": true,
"secondAddressList": null,
"splitOrMerge": 0,
"spitOrderSign": null,
"productAmountWholeLine": 0.3333,
"auditCompanyName": null,
"auditCompanyNameCode": null,
"edit": false,
"ratio": null,
"showMoreAttribute": false,
"lastNoTaxDiscountAmount": 0,
"lastDiscountAmount": 0,
"settementQuantity": 1,
"userBalancePrice": 0,
"isEdit": true,
"discountRateOne": 100,
"_rebateType": true,
"pSign": 0
}
],
"orderStatus": 102,
"userReceiveId": null,
"userReceiveId2": null,
"productAmount": 0.33,
"paymentType": 0,
"accountId": 32,
"buyerCartIds": [
null
],
"sellerCompanyCode": "00102",
"companyId": 2
}
}
# 多彩商城登录信息
"username": "Test001"
"password": "Aa123456"
#需求单创建接口地址
"url": "/order/public/saveAllDemandOrder"
#测试场景:需求单创建
json_headers: {
"Cmdc_access_token": "%s",
"Sourcetype": "mall"
}
"payload": {
"国药集团联合医疗器械有限公司": {
"datas": [
{
"demandId": null,
"demandParentId": null,
"demandParentCode": null,
"demandCode": null,
"customerId": null,
"customerName": null,
"customerCode": 1000086,
"loginName": null,
"realName": null,
"addressNumber": null,
"mobile": null,
"productName": null,
"productCode": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"paymentType": null,
"receiveBankName": null,
"receiveBankAccount": null,
"paymentAmount": "0.3300",
"productAmount": 0.33,
"payableAmount": 0.3333,
"refundAmount": null,
"cancelAmount": null,
"discountAmount": 0,
"orderStatus": null,
"refundStatus": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"remark": null,
"revokedReason": null,
"auditById": null,
"auditByName": null,
"auditTime": null,
"auditRemark": null,
"flhsStatus": null,
"pushJdeStatus": null,
"createTime": null,
"updateTime": null,
"submitTime": null,
"pushJdeTime": null,
"successTime": null,
"auditStatus": null,
"deleteSign": null,
"firstOrderFlag": null,
"demandItems": [
{
"demandSkuId": null,
"demandId": null,
"distributionId": null,
"companyCode": "00102",
"demandCode": null,
"demandParentId": null,
"sellerCompanyId": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"customerCode": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"propertyStr": null,
"storageType": "999",
"suppDist": null,
"productId": 111579,
"productName": "起搏电极导线-电商专用",
"productCode": "10212287",
"productNature": null,
"brandName": null,
"optionStr": "5075",
"imageUrl": null,
"lineNumber": null,
"price": 0.3333,
"rebateId": null,
"originalPrice": null,
"biddingDiscountTax": null,
"salesDiscountTax": null,
"quantity": 1,
"sumQuantity": null,
"sendQuantity": null,
"lackQuantity": null,
"cancelQuantity": null,
"cancelAmount": null,
"refundQuantity": null,
"refundAmount": null,
"discountQuantity": null,
"discountAmount": null,
"subtotal": 0.33,
"measuringUnit": "块",
"auxiliaryMeasuringUnit": null,
"procurementMeasuringUnit": null,
"pricingMeasuringUnit": null,
"materialCode": "",
"manufacturer": "11320766+李桂阳",
"produceRegisterNum": null,
"riskRank": null,
"productClassify": null,
"createTime": 1606823961000,
"updateTime": 1694624401000,
"deleteSign": null,
"calCancelFlag": null,
"refundFlag": null,
"discountRate": 100,
"realPay": 0.33,
"promotionPrice": null,
"promotionTotalPrice": 0,
"demandParentCode": null,
"regionId": null,
"regionName": null,
"spitSign": null,
"activityAmount": 0,
"couponAmount": 0,
"activityUnitAmount": 0,
"couponUnitAmount": null,
"activityBasicId": null,
"couponSgin": null,
"couponSgin2": null,
"returnQuantity": null,
"returnAmount": null,
"customerId": null,
"prescription": null,
"specifications": "5075",
"lineCodeDelete": null,
"sdOutStorage": null,
"licenseNo": null,
"demandCodes": null,
"areaName": null,
"agreementPriceId": null,
"offerPrice": null,
"orderMark": null,
"totalPrice": null,
"productLimitBuyList": null,
"giftSign": 0,
"giftProductCode": null,
"activityCarDataVoList": null,
"orderSource": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"rebateTripId": null,
"allSign": null,
"salesReturn": null,
"nowAmount": null,
"taxSign": 0,
"plusMinuKey": null,
"rebateRule": null,
"lockType": null,
"lineNumberOrg": null,
"changeSgin": null,
"addSgin": null,
"ptbfa1": null,
"ptbfa2": null,
"ptbfa3": null,
"ptbfa4": null,
"ptbfa5": null,
"yapeiPriceId": null,
"ypLinePromotion": null,
"yapeiPrice": null,
"companyId": 2,
"buyerCartId": null,
"userReceiveIdx": null,
"userReceiveIdx2": null,
"limitNum": null,
"productLimitBuyId": null,
"alreadyBuyNum": null,
"limitBuySign": 0,
"proposeNum": null,
"takeEffectRange": null,
"takeEffectTime": null,
"endTime1": null,
"groupId": null,
"fsGroupId": null,
"proposalQuantity": null,
"proposalSign": 0,
"manufacturerUserNo": null,
"manufacturerUserDesc": null,
"manufacturerProductNo": null,
"manufacturerProductDesc": null,
"manufacturerUserId": null,
"manufacturerProductId": null,
"busProductCode": null,
"paidTime": null,
"customerName": null,
"paymentAmount": null,
"specQuantity": null,
"disQuantity": null,
"fulfilledQuantity": null,
"fulCancelQuantity": null,
"couponId": null,
"couponId2": null,
"limitS": null,
"starts": null,
"ends": null,
"userId": null,
"productTax": "",
"taxRate": 0.17,
"demandSplitSign": "1",
"hospitalHopeDate": null,
"uniqueKey": null,
"productType": null,
"activityRuleId": null,
"allowanceBeginTime": null,
"allowanceEndTime": null,
"sign": null,
"differenceActivityUserId": null,
"groupNumber": null,
"groupName": null,
"skuGroup": null,
"subList": null,
"dataJson": null,
"skuMergeSign": null,
"freseniusPriceId": null,
"quantityAndGroupAll": null,
"booleaTime": null,
"spitSgin": 0,
"groupSpitSign": 0,
"purchaseEntryId": null,
"activityType": 0,
"giftSettlementMethod": null,
"giftInitQuantity": null,
"packageCode": null,
"giftGroupQuantity": null,
"mustInstallDate": false,
"installedDate": null,
"installedDateStr": null,
"demandLines": null,
"subLineNumber": null,
"demandSubCode": null,
"propertyName": null,
"propertyVal": null,
"propertyNote": null,
"sendManualSign": 0,
"sort": 0,
"circleArea": null,
"siteCompanyCode": "",
"hospitalOrderType": null,
"isCollectionAllocation": 0,
"orderStatus": null,
"distributionType": null,
"groupCode": null,
"groupProductType": null,
"pSign": 0,
"backSign": 0,
"description": "",
"stockNumber": null,
"rebate": true,
"purchaseZeroProductList": [],
"prePromotionPrice": null,
"prepromotionTotalPrice": 0,
"preDiscountRate": null,
"userBalance": 0,
"useLimitEnd": 0.05,
"useLimitStart": 0.01,
"maxuseLimit": 0.01
}
],
"demandSubItems": null,
"rebateDetail": [
{
"rebateoperaskuid": null,
"filialecode": "00102",
"rebateid": 64,
"customercode": null,
"transactionamount": null,
"transactiontype": null,
"rebateStartTime": null,
"rebateValidity": null,
"balance": null,
"deletesign": null,
"note": null,
"createtime": null,
"updatetime": null,
"demandId": null,
"demandCode": null,
"relevanceName": null,
"rebateName": null,
"customerCompanyName": null,
"lineCodeDelete": null,
"rebateTripId": null,
"monNum": null,
"relevanceCode": "DS-电商专用",
"pageSize": null,
"pageNum": null,
"startTime": null,
"endTime": null,
"userId": null,
"customerCodeList": null,
"filialeCodeList": null,
"companyName": null,
"reSign": null,
"demandParentCode": null,
"distributionCode": null,
"frontNote": null,
"backNote": null,
"cancelId": null,
"effectivetype": null,
"validityperiodSign": null,
"rebatename": "起搏电极导线",
"useLimitStart": 0.01,
"useLimitEnd": 0.05,
"istax": 1,
"taxround": 0,
"isdisposable": 0,
"productCode": null,
"isOperated": null,
"userPrice": null,
"rebateFalg": null
}
],
"rebateAmountList": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"auditLoginName": null,
"showPurchaseNo": false,
"isRebate": null,
"isShowReate": null,
"taxRate": 0.17,
"rebateType": 1,
"paymentAmountWholeLine": 0.3333,
"discountAmountWholeLine": 0,
"payableAmountWholeLine": 0.3333,
"discountRate": null,
"singleRebateAmount": null,
"isRebateEdit": null,
"payCertUrl": null,
"rebateAmount": null,
"demandCance": null,
"soAdd": null,
"soCance": null,
"orderReturn": null,
"needCustomerConfirm": false,
"measuringUnit": null,
"productId": null,
"version": null,
"mainVersion": null,
"agencyConfigId": null,
"confirmSign": null,
"replySign": null,
"agencySign": null,
"editIng": null,
"editIngStr": null,
"jdeType": null,
"isElectronicSeal": null,
"contractAgreementNo": null,
"alesDepartmentNo": null,
"alesDepartmentName": null,
"salesPersonNo": null,
"salesPersonName": null,
"customerNote": null,
"otherNote": null,
"contractAgreementCode": null,
"projectName": null,
"projectCode": null,
"regionId": null,
"regionName": null,
"productLineBindSign": null,
"shipVia": null,
"orderSource": null,
"userBalance": null,
"liquidCode": null,
"shipmentTypeStr": null,
"specifications": "5075",
"pageStart": null,
"pageSize": null,
"changeSgin": null,
"yapei": 2,
"companyId": 2,
"preemptConfig": null,
"productSpec": null,
"secondAuditSign": null,
"secondAuditById": null,
"secondAuditByName": null,
"secondAuditTime": null,
"secondAuditRemark": null,
"secondAuditStatus": null,
"rebateRule": "1;2;3;4",
"rebateControlSign": 0,
"rebateId": null,
"preferenceType": null,
"preferenceName": null,
"disPrice": null,
"lineNum": 0,
"auditStaySign": 0,
"fileList": null,
"imageUrls": null,
"total": null,
"submitTimeStr": null,
"updateTimeStr": null,
"auditTimeStr": null,
"acceptTime": null,
"acceptTimeStr": null,
"paidTime": null,
"paidTimeStr": null,
"erpHandingTime": null,
"erpHandingTimeStr": null,
"partShippingTime": null,
"partShippingTimeStr": null,
"allShippingTime": null,
"allShippingTimeStr": null,
"pushJdeTimeStr": null,
"successTimeStr": null,
"onlinePaySuccessTime": null,
"onlinePaySuccessTimeStr": null,
"bankTransactionSerial": null,
"newIsTax": 1,
"countFormula": 3,
"countNumber": 1.13,
"noTaxRebateAmount": 0,
"isCollectionAllocation": 0,
"siteCompanyCode": "",
"hospitalOrderType": 0,
"proofTime": null,
"proofURL": null,
"proofRemark": null,
"proofSign": 0,
"customerCancelSign": null,
"cancelRecords": null,
"cancelCount": 0,
"updateNewTime": null,
"updateNewTimeStr": null,
"fsDedUseSign": null,
"preDisSign": 0,
"shareType": 1,
"singleRebateSign": 0,
"cf": false,
"notice": "yyds测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试",
"isPre": null,
"showDemandAuditLineLabel": false,
"orderType": null,
"newDiscountRate": null,
"oldOrderType": null,
"oldNewDiscountRate": null,
"pendding": null,
"pushJdeStatusDemandSub": null,
"circleGiftSign": 0,
"delay": null,
"limitS": null,
"starts": null,
"ends": null,
"completedS": null,
"confirmDays": null,
"remindS": null,
"skuGroupList": null,
"groupProductType": 0,
"purchaseId": null,
"purchaseCode": null,
"sdCancelTime": null,
"sdTipSign": 0,
"receiverNote": null,
"receiverPhoneNote": null,
"receiverAddressNote": null,
"flag": null,
"sourceStr": null,
"addressNoNote": null,
"detailIsSpit": false,
"spitSgin": null,
"distributionType": null,
"rebateValidity": null,
"orderChangeType": null,
"logoIcon": null,
"detail": null,
"changeBigType": null,
"promotionType": 1,
"activityTotalAmount": 0,
"couponTotalAmount": 0,
"userReceiveId": null,
"editSgin": null,
"snSgin": null,
"jdeOutAmount": null,
"totalAllPaAmount": null,
"diffShowSgin": 0,
"lineCodeDelete": null,
"startTime": null,
"endTime": null,
"changeSign": null,
"distributionId": null,
"limitBuySign": 0,
"companyType": null,
"afterSale": null,
"csId": null,
"sdStatusNodeParamList": null,
"ypPromotionTotal": null,
"acrossMainCode": null,
"forceApprovedSign": 0,
"circleGiftContinueSgin": 0,
"customerCharge": null,
"onlinePaySign": 0,
"recodeDemandSkuList": null,
"mergeDemandSkuList": null,
"inventoryNode": null,
"customCode": null,
"terminalSource": null,
"potentialClientsId": null,
"settlementStatus": null,
"firstOrderAuditStatus": null,
"confirmReceiptSign": null,
"confirmReceiptTime": null,
"afterSaleDays": null,
"deliveryCompletedTime": null,
"taxSign": 0,
"orderSplitSign": 0,
"demandRebateSkuList": null,
"confirmTime": null,
"customerPurchaseNo": null,
"mustInstallDate": true,
"secondAddressList": null,
"splitOrMerge": 0,
"spitOrderSign": null,
"productAmountWholeLine": 0.3333,
"auditCompanyName": null,
"auditCompanyNameCode": null,
"edit": false,
"ratio": null,
"showMoreAttribute": false,
"lastNoTaxDiscountAmount": 0,
"lastDiscountAmount": 0,
"settementQuantity": 1,
"userBalancePrice": 0,
"isEdit": true,
"discountRateOne": 100,
"_rebateType": true
}
],
"addressConfig": 2,
"openPreTaxAmount": 1,
"notice": "888品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服务省天天低价,畅选无忧品类齐全,轻松购物快多仓直发,极速配送好正品行货,精致服",
"promotionOrRebate": 1,
"promotionType": 1,
"showChangePromotionOrRebate": false,
"couponTotalAmount": 0,
"activityTotalAmount": 0,
"totalQuantity": 1,
"totalPrice": 0.33,
"discountAmount": 0,
"demandItems": [
{
"demandSkuId": null,
"demandId": null,
"distributionId": null,
"companyCode": "00102",
"demandCode": null,
"demandParentId": null,
"sellerCompanyId": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"customerCode": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"propertyStr": null,
"storageType": "999",
"suppDist": null,
"productId": 111579,
"productName": "起搏电极导线-电商专用",
"productCode": "10212287",
"productNature": null,
"brandName": null,
"optionStr": "5075",
"imageUrl": null,
"lineNumber": null,
"price": 0.3333,
"rebateId": null,
"originalPrice": null,
"biddingDiscountTax": null,
"salesDiscountTax": null,
"quantity": 1,
"sumQuantity": null,
"sendQuantity": null,
"lackQuantity": null,
"cancelQuantity": null,
"cancelAmount": null,
"refundQuantity": null,
"refundAmount": null,
"discountQuantity": null,
"discountAmount": null,
"subtotal": 0.33,
"measuringUnit": "块",
"auxiliaryMeasuringUnit": null,
"procurementMeasuringUnit": null,
"pricingMeasuringUnit": null,
"materialCode": "",
"manufacturer": "11320766+李桂阳",
"produceRegisterNum": null,
"riskRank": null,
"productClassify": null,
"createTime": 1606823961000,
"updateTime": 1694624401000,
"deleteSign": null,
"calCancelFlag": null,
"refundFlag": null,
"discountRate": 100,
"realPay": 0.33,
"promotionPrice": null,
"promotionTotalPrice": 0,
"demandParentCode": null,
"regionId": null,
"regionName": null,
"spitSign": null,
"activityAmount": 0,
"couponAmount": 0,
"activityUnitAmount": 0,
"couponUnitAmount": null,
"activityBasicId": null,
"couponSgin": null,
"couponSgin2": null,
"returnQuantity": null,
"returnAmount": null,
"customerId": null,
"prescription": null,
"specifications": "5075",
"lineCodeDelete": null,
"sdOutStorage": null,
"licenseNo": null,
"demandCodes": null,
"areaName": null,
"agreementPriceId": null,
"offerPrice": null,
"orderMark": null,
"totalPrice": null,
"productLimitBuyList": null,
"giftSign": 0,
"giftProductCode": null,
"activityCarDataVoList": null,
"orderSource": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"rebateTripId": null,
"allSign": null,
"salesReturn": null,
"nowAmount": null,
"taxSign": 0,
"plusMinuKey": null,
"rebateRule": null,
"lockType": null,
"lineNumberOrg": null,
"changeSgin": null,
"addSgin": null,
"ptbfa1": null,
"ptbfa2": null,
"ptbfa3": null,
"ptbfa4": null,
"ptbfa5": null,
"yapeiPriceId": null,
"ypLinePromotion": null,
"yapeiPrice": null,
"companyId": 2,
"buyerCartId": null,
"userReceiveIdx": null,
"userReceiveIdx2": null,
"limitNum": null,
"productLimitBuyId": null,
"alreadyBuyNum": null,
"limitBuySign": 0,
"proposeNum": null,
"takeEffectRange": null,
"takeEffectTime": null,
"endTime1": null,
"groupId": null,
"fsGroupId": null,
"proposalQuantity": null,
"proposalSign": 0,
"manufacturerUserNo": null,
"manufacturerUserDesc": null,
"manufacturerProductNo": null,
"manufacturerProductDesc": null,
"manufacturerUserId": null,
"manufacturerProductId": null,
"busProductCode": null,
"paidTime": null,
"customerName": null,
"paymentAmount": null,
"specQuantity": null,
"disQuantity": null,
"fulfilledQuantity": null,
"fulCancelQuantity": null,
"couponId": null,
"couponId2": null,
"limitS": null,
"starts": null,
"ends": null,
"userId": null,
"productTax": "",
"taxRate": 0.17,
"demandSplitSign": "1",
"hospitalHopeDate": null,
"uniqueKey": null,
"productType": null,
"activityRuleId": null,
"allowanceBeginTime": null,
"allowanceEndTime": null,
"sign": null,
"differenceActivityUserId": null,
"groupNumber": null,
"groupName": null,
"skuGroup": null,
"subList": null,
"dataJson": null,
"skuMergeSign": null,
"freseniusPriceId": null,
"quantityAndGroupAll": null,
"booleaTime": null,
"spitSgin": 0,
"groupSpitSign": 0,
"purchaseEntryId": null,
"activityType": 0,
"giftSettlementMethod": null,
"giftInitQuantity": null,
"packageCode": null,
"giftGroupQuantity": null,
"mustInstallDate": false,
"installedDate": null,
"installedDateStr": null,
"demandLines": null,
"subLineNumber": null,
"demandSubCode": null,
"propertyName": null,
"propertyVal": null,
"propertyNote": null,
"sendManualSign": 0,
"sort": 0,
"circleArea": null,
"siteCompanyCode": "",
"hospitalOrderType": null,
"isCollectionAllocation": 0,
"orderStatus": null,
"distributionType": null,
"groupCode": null,
"groupProductType": null,
"pSign": 0,
"backSign": 0,
"description": "",
"stockNumber": null,
"rebate": true,
"purchaseZeroProductList": [],
"prePromotionPrice": null,
"prepromotionTotalPrice": 0,
"preDiscountRate": null,
"userBalance": 0,
"useLimitEnd": 0.05,
"useLimitStart": 0.01,
"maxuseLimit": 0.01
}
],
"productPrice": "0.3300",
"fileList": [],
"showInfo": false,
"pageStart": 1,
"pageSize": 5,
"defaultBankInfo": {
"accountId": 32,
"companyId": 2,
"companyName": "国药集团联合医疗器械有限公司",
"registeredAddress": "北京市顺义区金航中路3号院社科中心1号楼3单元2层301",
"bank": "中国工商银行北京支行",
"accountName": "国药集团联合医疗器械有限公司",
"accountNumber": "108902839271937437",
"disableSign": 0,
"deleteSign": 0,
"createTime": "2021-01-12 16:12:03",
"updateTime": "2021-01-12 16:12:33",
"createBy": 2,
"updateBy": 2,
"realName": "子公司1admin"
},
"receiveInfo": [
{
"addressId": 15195,
"addressNo": 17986,
"addressName": "上海市普啊撒旦吉萨",
"provinceCode": null,
"userId": null,
"companyId": null,
"receiverName": "查杉",
"address": "",
"isDefault": 0,
"type": null,
"postcode": null,
"mobile": "18999998888",
"updateDate": null,
"updateTime": null,
"flag": null,
"deleteSign": null,
"province": null,
"city": null,
"area": null,
"dateTime": null,
"provinceStr": null,
"cityStr": null,
"areaStr": null,
"isJde": 0
}
],
"addressList": [
{
"addressId": 15195,
"addressNo": 17986,
"addressName": null,
"provinceCode": null,
"userId": null,
"companyId": 2,
"receiverName": "查杉",
"address": "上海市普啊撒旦吉萨",
"isDefault": 0,
"type": 3,
"postcode": null,
"mobile": "18999998888",
"updateDate": 123074,
"updateTime": 103533,
"flag": null,
"deleteSign": null,
"province": 0,
"city": 0,
"area": 0,
"dateTime": null,
"provinceStr": "",
"cityStr": "",
"areaStr": "",
"isJde": 0,
"cityList": [],
"areaList": []
}
],
"selecteAddresId": 15195,
"receiverNote": "查杉",
"receiverPhoneNote": "18999998888",
"receiverAddressNote": "上海市普啊撒旦吉萨",
"addressNoNote": 17986,
"province": 0,
"city": 0,
"cityList": [],
"area": 0,
"areaList": [],
"paymentAmount": "0.3300",
"taxRate": 0.17,
"demands": [
{
"demandId": null,
"demandParentId": null,
"demandParentCode": null,
"demandCode": null,
"customerId": null,
"customerName": null,
"customerCode": 1000086,
"loginName": null,
"realName": null,
"addressNumber": null,
"mobile": null,
"productName": null,
"productCode": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"paymentType": null,
"receiveBankName": null,
"receiveBankAccount": null,
"paymentAmount": "0.3300",
"productAmount": 0.33,
"payableAmount": 0.3333,
"refundAmount": null,
"cancelAmount": null,
"discountAmount": 0,
"orderStatus": null,
"refundStatus": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"remark": null,
"revokedReason": null,
"auditById": null,
"auditByName": null,
"auditTime": null,
"auditRemark": null,
"flhsStatus": null,
"pushJdeStatus": null,
"createTime": null,
"updateTime": null,
"submitTime": null,
"pushJdeTime": null,
"successTime": null,
"auditStatus": null,
"deleteSign": null,
"firstOrderFlag": null,
"demandItems": [
{
"demandSkuId": null,
"demandId": null,
"distributionId": null,
"companyCode": "00102",
"demandCode": null,
"demandParentId": null,
"sellerCompanyId": null,
"sellerCompanyName": null,
"sellerCompanyCode": null,
"customerCode": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"propertyStr": null,
"storageType": "999",
"suppDist": null,
"productId": 111579,
"productName": "起搏电极导线-电商专用",
"productCode": "10212287",
"productNature": null,
"brandName": null,
"optionStr": "5075",
"imageUrl": null,
"lineNumber": null,
"price": 0.3333,
"rebateId": null,
"originalPrice": null,
"biddingDiscountTax": null,
"salesDiscountTax": null,
"quantity": 1,
"sumQuantity": null,
"sendQuantity": null,
"lackQuantity": null,
"cancelQuantity": null,
"cancelAmount": null,
"refundQuantity": null,
"refundAmount": null,
"discountQuantity": null,
"discountAmount": null,
"subtotal": 0.33,
"measuringUnit": "块",
"auxiliaryMeasuringUnit": null,
"procurementMeasuringUnit": null,
"pricingMeasuringUnit": null,
"materialCode": "",
"manufacturer": "11320766+李桂阳",
"produceRegisterNum": null,
"riskRank": null,
"productClassify": null,
"createTime": 1606823961000,
"updateTime": 1694624401000,
"deleteSign": null,
"calCancelFlag": null,
"refundFlag": null,
"discountRate": 100,
"realPay": 0.33,
"promotionPrice": null,
"promotionTotalPrice": 0,
"demandParentCode": null,
"regionId": null,
"regionName": null,
"spitSign": null,
"activityAmount": 0,
"couponAmount": 0,
"activityUnitAmount": 0,
"couponUnitAmount": null,
"activityBasicId": null,
"couponSgin": null,
"couponSgin2": null,
"returnQuantity": null,
"returnAmount": null,
"customerId": null,
"prescription": null,
"specifications": "5075",
"lineCodeDelete": null,
"sdOutStorage": null,
"licenseNo": null,
"demandCodes": null,
"areaName": null,
"agreementPriceId": null,
"offerPrice": null,
"orderMark": null,
"totalPrice": null,
"productLimitBuyList": null,
"giftSign": 0,
"giftProductCode": null,
"activityCarDataVoList": null,
"orderSource": null,
"receiverName": null,
"receiverContact": null,
"receiverAddress": null,
"rebateTripId": null,
"allSign": null,
"salesReturn": null,
"nowAmount": null,
"taxSign": 0,
"plusMinuKey": null,
"rebateRule": null,
"lockType": null,
"lineNumberOrg": null,
"changeSgin": null,
"addSgin": null,
"ptbfa1": null,
"ptbfa2": null,
"ptbfa3": null,
"ptbfa4": null,
"ptbfa5": null,
"yapeiPriceId": null,
"ypLinePromotion": null,
"yapeiPrice": null,
"companyId": 2,
"buyerCartId": null,
"userReceiveIdx": null,
"userReceiveIdx2": null,
"limitNum": null,
"productLimitBuyId": null,
"alreadyBuyNum": null,
"limitBuySign": 0,
"proposeNum": null,
"takeEffectRange": null,
"takeEffectTime": null,
"endTime1": null,
"groupId": null,
"fsGroupId": null,
"proposalQuantity": null,
"proposalSign": 0,
"manufacturerUserNo": null,
"manufacturerUserDesc": null,
"manufacturerProductNo": null,
"manufacturerProductDesc": null,
"manufacturerUserId": null,
"manufacturerProductId": null,
"busProductCode": null,
"paidTime": null,
"customerName": null,
"paymentAmount": null,
"specQuantity": null,
"disQuantity": null,
"fulfilledQuantity": null,
"fulCancelQuantity": null,
"couponId": null,
"couponId2": null,
"limitS": null,
"starts": null,
"ends": null,
"userId": null,
"productTax": "",
"taxRate": 0.17,
"demandSplitSign": "1",
"hospitalHopeDate": null,
"uniqueKey": null,
"productType": null,
"activityRuleId": null,
"allowanceBeginTime": null,
"allowanceEndTime": null,
"sign": null,
"differenceActivityUserId": null,
"groupNumber": null,
"groupName": null,
"skuGroup": null,
"subList": null,
"dataJson": null,
"skuMergeSign": null,
"freseniusPriceId": null,
"quantityAndGroupAll": null,
"booleaTime": null,
"spitSgin": 0,
"groupSpitSign": 0,
"purchaseEntryId": null,
"activityType": 0,
"giftSettlementMethod": null,
"giftInitQuantity": null,
"packageCode": null,
"giftGroupQuantity": null,
"mustInstallDate": false,
"installedDate": null,
"installedDateStr": null,
"demandLines": null,
"subLineNumber": null,
"demandSubCode": null,
"propertyName": null,
"propertyVal": null,
"propertyNote": null,
"sendManualSign": 0,
"sort": 0,
"circleArea": null,
"siteCompanyCode": "",
"hospitalOrderType": null,
"isCollectionAllocation": 0,
"orderStatus": null,
"distributionType": null,
"groupCode": null,
"groupProductType": null,
"pSign": 0,
"backSign": 0,
"description": "",
"stockNumber": null,
"rebate": true,
"purchaseZeroProductList": [],
"prePromotionPrice": null,
"prepromotionTotalPrice": 0,
"preDiscountRate": null,
"userBalance": 0,
"useLimitEnd": 0.05,
"useLimitStart": 0.01,
"maxuseLimit": 0.01,
"orderType": null
}
],
"demandSubItems": null,
"rebateDetail": [
{
"rebateoperaskuid": null,
"filialecode": "00102",
"rebateid": 64,
"customercode": null,
"transactionamount": null,
"transactiontype": null,
"rebateStartTime": null,
"rebateValidity": null,
"balance": null,
"deletesign": null,
"note": null,
"createtime": null,
"updatetime": null,
"demandId": null,
"demandCode": null,
"relevanceName": null,
"rebateName": null,
"customerCompanyName": null,
"lineCodeDelete": null,
"rebateTripId": null,
"monNum": null,
"relevanceCode": "DS-电商专用",
"pageSize": null,
"pageNum": null,
"startTime": null,
"endTime": null,
"userId": null,
"customerCodeList": null,
"filialeCodeList": null,
"companyName": null,
"reSign": null,
"demandParentCode": null,
"distributionCode": null,
"frontNote": null,
"backNote": null,
"cancelId": null,
"effectivetype": null,
"validityperiodSign": null,
"rebatename": "起搏电极导线",
"useLimitStart": 0.01,
"useLimitEnd": 0.05,
"istax": 1,
"taxround": 0,
"isdisposable": 0,
"productCode": null,
"isOperated": null,
"userPrice": null,
"rebateFalg": null
}
],
"rebateAmountList": null,
"productLineCode": "DS-电商专用",
"productLineName": "DS-电商产品线",
"auditLoginName": null,
"showPurchaseNo": false,
"isRebate": null,
"isShowReate": null,
"taxRate": 0.17,
"rebateType": 1,
"paymentAmountWholeLine": 0.3333,
"discountAmountWholeLine": 0,
"payableAmountWholeLine": 0.3333,
"discountRate": null,
"singleRebateAmount": null,
"isRebateEdit": null,
"payCertUrl": null,
"rebateAmount": null,
"demandCance": null,
"soAdd": null,
"soCance": null,
"orderReturn": null,
"needCustomerConfirm": false,
"measuringUnit": null,
"productId": null,
"version": null,
"mainVersion": null,
"agencyConfigId": null,
"confirmSign": null,
"replySign": null,
"agencySign": null,
"editIng": null,
"editIngStr": null,
"jdeType": null,
"isElectronicSeal": null,
"contractAgreementNo": null,
"alesDepartmentNo": null,
"alesDepartmentName": null,
"salesPersonNo": null,
"salesPersonName": null,
"customerNote": null,
"otherNote": null,
"contractAgreementCode": null,
"projectName": null,
"projectCode": null,
"regionId": null,
"regionName": null,
"productLineBindSign": null,
"shipVia": null,
"orderSource": null,
"userBalance": null,
"liquidCode": null,
"shipmentTypeStr": null,
"specifications": "5075",
"pageStart": null,
"pageSize": null,
"changeSgin": null,
"yapei": 2,
"companyId": 2,
"preemptConfig": null,
"productSpec": null,
"secondAuditSign": null,
"secondAuditById": null,
"secondAuditByName": null,
"secondAuditTime": null,
"secondAuditRemark": null,
"secondAuditStatus": null,
"rebateRule": "1;2;3;4",
"rebateControlSign": 0,
"rebateId": null,
"preferenceType": null,
"preferenceName": null,
"disPrice": null,
"lineNum": 0,
"auditStaySign": 0,
"fileList": null,
"imageUrls": null,
"total": null,
"submitTimeStr": null,
"updateTimeStr": null,
"auditTimeStr": null,
"acceptTime": null,
"acceptTimeStr": null,
"paidTime": null,
"paidTimeStr": null,
"erpHandingTime": null,
"erpHandingTimeStr": null,
"partShippingTime": null,
"partShippingTimeStr": null,
"allShippingTime": null,
"allShippingTimeStr": null,
"pushJdeTimeStr": null,
"successTimeStr": null,
"onlinePaySuccessTime": null,
"onlinePaySuccessTimeStr": null,
"bankTransactionSerial": null,
"newIsTax": 1,
"countFormula": 3,
"countNumber": 1.13,
"noTaxRebateAmount": 0,
"isCollectionAllocation": 0,
"siteCompanyCode": "",
"hospitalOrderType": 0,
"proofTime": null,
"proofURL": null,
"proofRemark": null,
"proofSign": 0,
"customerCancelSign": null,
"cancelRecords": null,
"cancelCount": 0,
"updateNewTime": null,
"updateNewTimeStr": null,
"fsDedUseSign": null,
"preDisSign": 0,
"shareType": 1,
"singleRebateSign": 0,
"cf": false,
"notice": "yyds测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试",
"isPre": null,
"showDemandAuditLineLabel": false,
"orderType": null,
"newDiscountRate": null,
"oldOrderType": null,
"oldNewDiscountRate": null,
"pendding": null,
"pushJdeStatusDemandSub": null,
"circleGiftSign": 0,
"delay": null,
"limitS": null,
"starts": null,
"ends": null,
"completedS": null,
"confirmDays": null,
"remindS": null,
"skuGroupList": null,
"groupProductType": 0,
"purchaseId": null,
"purchaseCode": null,
"sdCancelTime": null,
"sdTipSign": 0,
"receiverNote": null,
"receiverPhoneNote": null,
"receiverAddressNote": null,
"flag": null,
"sourceStr": null,
"addressNoNote": null,
"detailIsSpit": false,
"spitSgin": null,
"distributionType": null,
"rebateValidity": null,
"orderChangeType": null,
"logoIcon": null,
"detail": null,
"changeBigType": null,
"promotionType": 1,
"activityTotalAmount": 0,
"couponTotalAmount": 0,
"userReceiveId": null,
"editSgin": null,
"snSgin": null,
"jdeOutAmount": null,
"totalAllPaAmount": null,
"diffShowSgin": 0,
"lineCodeDelete": null,
"startTime": null,
"endTime": null,
"changeSign": null,
"distributionId": null,
"limitBuySign": 0,
"companyType": null,
"afterSale": null,
"csId": null,
"sdStatusNodeParamList": null,
"ypPromotionTotal": null,
"acrossMainCode": null,
"forceApprovedSign": 0,
"circleGiftContinueSgin": 0,
"customerCharge": null,
"onlinePaySign": 0,
"recodeDemandSkuList": null,
"mergeDemandSkuList": null,
"inventoryNode": null,
"customCode": null,
"terminalSource": null,
"potentialClientsId": null,
"settlementStatus": null,
"firstOrderAuditStatus": null,
"confirmReceiptSign": null,
"confirmReceiptTime": null,
"afterSaleDays": null,
"deliveryCompletedTime": null,
"taxSign": 0,
"orderSplitSign": 0,
"demandRebateSkuList": null,
"confirmTime": null,
"customerPurchaseNo": null,
"mustInstallDate": true,
"secondAddressList": null,
"splitOrMerge": 0,
"spitOrderSign": null,
"productAmountWholeLine": 0.3333,
"auditCompanyName": null,
"auditCompanyNameCode": null,
"edit": false,
"ratio": null,
"showMoreAttribute": false,
"lastNoTaxDiscountAmount": 0,
"lastDiscountAmount": 0,
"settementQuantity": 1,
"userBalancePrice": 0,
"isEdit": true,
"discountRateOne": 100,
"_rebateType": true,
"pSign": 0
}
],
"orderStatus": 102,
"userReceiveId": null,
"userReceiveId2": null,
"productAmount": 0.33,
"paymentType": 0,
"accountId": 32,
"buyerCartIds": [
null
],
"sellerCompanyCode": "00102",
"companyId": 2
}
}
#预期结果
checkDict: {"success":true,"code":"200","message":null}
#参数化
#商品列表接口地址
"url1": "/product/public/totalListQuickOrderProduct"
#需求单列表接口地址
"url": "/order/saveBackDemandOrder"
# 后台运营管理系统登录信息
"username": "admin2"
"password": "Aa123456"
json_headers1: {
"Content-Type": "application/json",
"Cmdc_access_token": "%s"
}
#测试场景一:需求单创建
"payload1": {"orderStatus":102,"demandItems":[{"maxProductNum":999999,"minProductNum":1,"addMinProductNum":1,"minProductNumSign":false,"isMultiple":false,"quantityTip":"","productId":10,"productCode":"10145929","materialCode":"","productName":"威尔特","specifications":"1","manufacturer":"北京康思润业生物技术有限公司-黄翼","productLineName":null,"productLineCode":null,"zonePriceVOList":null,"price":100,"storageType":"999","optionStr":"1","measuringUnit":"EA","ippMiniPurchaseNum":null,"ippMultipleSign":null,"ippPurchaseMultiple":null,"ippStatus":null,"quantity":1,"isGift":0,"measuringUnit1":"个","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","companyCode":"00102","areaName":null,"areaPrice":100,"agreementPriceId":null,"hidden":null,"description":"","taxRate":"0.17","allMaterialSign":null,"materialCodeExact":null,"specificationsExact":null,"hospitalOrderType":null,"hospitalHopeDate":null,"siteCompanyCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"mustInstallDate":false,"showDemandAuditLineLabel":false,"editProductCode":false,"quantityErr":false,"fresenuis":false,"singleFresenuis":null,"zeroSign":false,"purchaseZeroProductList":[],"activityBasicId":null,"giftList":[],"selectGiftArr":[],"selectZeroGiftObj":{"mainProductList":[],"giftProductList":[]},"giftGroupQuantity":1,"giftSign":0,"customerCode":"1000086","realPay":"100.00","purchaseId":18,"purchaseCode":"P2306281500002","purchaseEntryId":null}],"paymentAmount":100,"productAmount":100,"userId":130,"userNo":"1000086","customerCode":"1000086","userName":"北京海德锐视科技有限公司","companyId":"2","paymentType":1,"receiveBankName":"国药集团联合医疗器械有限公司","receiveBankAccount":"108902839271937437","accountId":32,"receiverName":"查杉","receiverContact":"18999998888","receiverAddress":"上海市普啊撒旦吉萨","addressNumber":17986,"remark":"","receiverNote":"查杉","receiverPhoneNote":"18999998888","receiverAddressNote":"上海市普啊撒旦吉萨","addressNoNote":17986,"fileList":[],"sellerCompanyCode":"00102","sellerCompanyName":"国药集团联合医疗器械有限公司","orderSource":2,"replaceCustomerOrder":{"orderStatus":102,"demandItems":[{"maxProductNum":999999,"minProductNum":1,"addMinProductNum":1,"minProductNumSign":false,"isMultiple":false,"quantityTip":"","productId":10,"productCode":"10145929","materialCode":"","productName":"威尔特","specifications":"1","manufacturer":"北京康思润业生物技术有限公司-黄翼","productLineName":null,"productLineCode":null,"zonePriceVOList":null,"price":100,"storageType":"999","optionStr":"1","measuringUnit":"EA","ippMiniPurchaseNum":null,"ippMultipleSign":null,"ippPurchaseMultiple":null,"ippStatus":null,"quantity":1,"isGift":0,"measuringUnit1":"个","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","companyCode":"00102","areaName":null,"areaPrice":100,"agreementPriceId":null,"hidden":null,"description":"","taxRate":"0.17","allMaterialSign":null,"materialCodeExact":null,"specificationsExact":null,"hospitalOrderType":null,"hospitalHopeDate":null,"siteCompanyCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"mustInstallDate":false,"showDemandAuditLineLabel":false,"editProductCode":false,"quantityErr":false,"fresenuis":false,"singleFresenuis":null,"zeroSign":false,"purchaseZeroProductList":[],"activityBasicId":null,"giftList":[],"selectGiftArr":[],"selectZeroGiftObj":{"mainProductList":[],"giftProductList":[]},"giftGroupQuantity":1}],"paymentAmount":100,"productAmount":100,"userId":130,"userNo":"1000086","customerCode":"1000086","userName":"北京海德锐视科技有限公司","companyId":"2","paymentType":1,"receiveBankName":"国药集团联合医疗器械有限公司","receiveBankAccount":"108902839271937437","accountId":32,"receiverName":"查杉","receiverContact":"18999998888","receiverAddress":"上海市普啊撒旦吉萨","addressNumber":17986,"remark":"","receiverNote":"查杉","receiverPhoneNote":"18999998888","receiverAddressNote":"上海市普啊撒旦吉萨","addressNoNote":17986,"fileList":[],"sellerCompanyCode":"00102","sellerCompanyName":"国药集团联合医疗器械有限公司","orderSource":2,"customerInfo":{"userId":130,"userName":"Test001","rejectUserName":null,"password":null,"realName":"王春晖","userNo":"1000086","telephone":"18008613535","rejectTelephone":null,"registerAddress":"[]","detailAddress":"武汉市洪山区南湖花园","businessScope":"[]","companyProperty":101,"companyId":null,"companyCode":null,"companyName":"国药集团联合医疗器械有限公司","companyNameList":null,"customerCompanyName":"北京海德锐视科技有限公司","lienceNo":"91110106579004448R","userType":2,"companyType":null,"status":3,"disableSign":0,"deleteSign":null,"createBy":null,"updateBy":null,"createTime":null,"updateTime":null,"licenceSketchUrl":null,"licenceUrl":null,"openId":null,"referrer":null,"gift":null,"identity":null,"department":null,"platformStatus":1,"rejectionReason":null,"registerType":null,"siteType":null,"departmentCode":null,"personName":null,"registration":null,"realPassword":null,"recommend":null,"taxRate":0.17,"roleNames":null,"subCompanyName":"国药集团联合医疗器械有限公司","roleIds":null,"addressList":null,"licenseList":null,"labelList":null,"managerList":null,"createTimeStr":null,"categoriesList":null,"merchantsAddress":null,"merchantStatus":null,"refuseReason":null,"merchantsId":null,"userTransactionAmount":"47166.7815","gray":null,"bindingTime":"2022-07-28 10:38:33","bindSign":1,"jdeStatus":0,"jdePhone":"","recommender":null,"coopeSgin":0,"bindflowList":null,"userJDEInfo":null}},"purchaseId":18,"purchaseCode":"P2306281500002","draftId":518,"demands":[{"demandId":null,"demandParentId":null,"demandParentCode":null,"demandCode":null,"customerId":null,"customerName":null,"customerCode":1000086,"loginName":null,"realName":null,"addressNumber":null,"mobile":null,"productName":null,"productCode":null,"sellerCompanyName":null,"sellerCompanyCode":null,"paymentType":null,"receiveBankName":null,"receiveBankAccount":null,"paymentAmount":"100.00","productAmount":100,"payableAmount":100,"refundAmount":null,"cancelAmount":null,"discountAmount":0,"orderStatus":null,"refundStatus":null,"receiverName":null,"receiverContact":null,"receiverAddress":null,"remark":null,"revokedReason":null,"auditById":null,"auditByName":null,"auditTime":null,"auditRemark":null,"flhsStatus":null,"pushJdeStatus":null,"createTime":null,"updateTime":null,"submitTime":null,"pushJdeTime":null,"successTime":null,"auditStatus":null,"deleteSign":null,"firstOrderFlag":null,"demandItems":[{"demandSkuId":null,"demandId":null,"distributionId":null,"companyCode":"00102","demandCode":null,"demandParentId":null,"sellerCompanyId":null,"sellerCompanyName":null,"sellerCompanyCode":null,"customerCode":1000086,"productLineCode":null,"productLineName":null,"propertyStr":null,"storageType":"999","suppDist":null,"productId":10,"productName":"威尔特","productCode":"10145929","productNature":null,"brandName":null,"optionStr":"1","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","lineNumber":null,"price":100,"rebateId":null,"originalPrice":null,"biddingDiscountTax":null,"salesDiscountTax":null,"quantity":1,"sumQuantity":null,"sendQuantity":null,"lackQuantity":null,"cancelQuantity":null,"cancelAmount":null,"refundQuantity":null,"refundAmount":null,"discountQuantity":null,"discountAmount":null,"subtotal":100,"measuringUnit":"个","auxiliaryMeasuringUnit":null,"procurementMeasuringUnit":null,"pricingMeasuringUnit":null,"materialCode":"","manufacturer":"北京康思润业生物技术有限公司-黄翼","produceRegisterNum":null,"riskRank":null,"productClassify":null,"createTime":null,"updateTime":null,"deleteSign":null,"calCancelFlag":null,"refundFlag":null,"discountRate":0,"realPay":100,"promotionPrice":null,"promotionTotalPrice":0,"demandParentCode":null,"regionId":null,"regionName":null,"spitSign":null,"activityAmount":null,"couponAmount":null,"activityUnitAmount":0,"couponUnitAmount":null,"activityBasicId":null,"couponSgin":null,"couponSgin2":null,"returnQuantity":null,"returnAmount":null,"customerId":null,"prescription":null,"specifications":"1","lineCodeDelete":null,"sdOutStorage":null,"licenseNo":null,"demandCodes":null,"areaName":null,"agreementPriceId":null,"offerPrice":null,"orderMark":null,"totalPrice":null,"productLimitBuyList":null,"giftSign":0,"giftProductCode":null,"activityCarDataVoList":null,"orderSource":null,"receiverName":null,"receiverContact":null,"receiverAddress":null,"rebateTripId":null,"allSign":null,"salesReturn":null,"nowAmount":null,"taxSign":0,"plusMinuKey":null,"rebateRule":null,"lockType":null,"lineNumberOrg":null,"changeSgin":null,"addSgin":null,"ptbfa1":null,"ptbfa2":null,"ptbfa3":null,"ptbfa4":null,"ptbfa5":null,"yapeiPriceId":null,"ypLinePromotion":null,"yapeiPrice":null,"companyId":null,"buyerCartId":0,"userReceiveIdx":null,"userReceiveIdx2":null,"limitNum":null,"productLimitBuyId":null,"alreadyBuyNum":null,"limitBuySign":0,"proposeNum":null,"takeEffectRange":null,"takeEffectTime":null,"endTime1":null,"groupId":null,"fsGroupId":null,"proposalQuantity":null,"proposalSign":0,"manufacturerUserNo":null,"manufacturerUserDesc":null,"manufacturerProductNo":null,"manufacturerProductDesc":null,"manufacturerUserId":null,"manufacturerProductId":null,"busProductCode":null,"paidTime":null,"customerName":null,"paymentAmount":null,"specQuantity":null,"disQuantity":null,"fulfilledQuantity":null,"fulCancelQuantity":null,"couponId":null,"couponId2":null,"limitS":null,"starts":null,"ends":null,"userId":null,"productTax":null,"taxRate":0.17,"demandSplitSign":"1","hospitalHopeDate":null,"uniqueKey":null,"productType":null,"activityRuleId":null,"allowanceBeginTime":null,"allowanceEndTime":null,"sign":null,"differenceActivityUserId":null,"groupNumber":1,"groupName":null,"skuGroup":null,"subList":null,"dataJson":null,"skuMergeSign":null,"freseniusPriceId":null,"quantityAndGroupAll":null,"booleaTime":null,"spitSgin":0,"groupSpitSign":0,"purchaseEntryId":null,"activityType":0,"giftSettlementMethod":null,"giftInitQuantity":null,"packageCode":null,"giftGroupQuantity":1,"mustInstallDate":false,"installedDate":null,"installedDateStr":null,"demandLines":null,"subLineNumber":null,"demandSubCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"sendManualSign":0,"sort":0,"circleArea":null,"siteCompanyCode":null,"hospitalOrderType":null,"isCollectionAllocation":null,"orderStatus":null,"distributionType":null,"groupCode":null,"groupProductType":null,"pSign":0,"backSign":0,"description":"","stockNumber":null,"rebate":false,"userBalance":null,"purchaseQuantity":1,"purchaseZeroProductList":[]}],"demandSubItems":null,"rebateDetail":null,"rebateAmountList":null,"productLineCode":null,"productLineName":null,"auditLoginName":null,"showPurchaseNo":false,"isRebate":null,"isShowReate":null,"taxRate":0.17,"rebateType":0,"paymentAmountWholeLine":100,"discountAmountWholeLine":0,"payableAmountWholeLine":100,"discountRate":0,"singleRebateAmount":null,"isRebateEdit":null,"payCertUrl":null,"rebateAmount":null,"demandCance":null,"soAdd":null,"soCance":null,"orderReturn":null,"needCustomerConfirm":false,"measuringUnit":null,"productId":null,"version":null,"mainVersion":null,"agencyConfigId":null,"confirmSign":null,"replySign":null,"agencySign":null,"editIng":null,"editIngStr":null,"jdeType":null,"isElectronicSeal":null,"contractAgreementNo":null,"alesDepartmentNo":null,"alesDepartmentName":null,"salesPersonNo":null,"salesPersonName":null,"customerNote":null,"otherNote":null,"contractAgreementCode":null,"projectName":null,"projectCode":null,"regionId":null,"regionName":null,"productLineBindSign":null,"shipVia":null,"orderSource":null,"userBalance":null,"liquidCode":null,"shipmentTypeStr":null,"specifications":"1","pageStart":null,"pageSize":null,"changeSgin":null,"yapei":2,"companyId":null,"userReceiveId2":null,"preemptConfig":null,"productSpec":null,"secondAuditSign":null,"secondAuditById":null,"secondAuditByName":null,"secondAuditTime":null,"secondAuditRemark":null,"secondAuditStatus":null,"rebateRule":"0","rebateControlSign":0,"rebateId":null,"preferenceType":null,"preferenceName":null,"disPrice":null,"lineNum":0,"auditStaySign":0,"fileList":null,"imageUrls":null,"total":null,"submitTimeStr":null,"updateTimeStr":null,"auditTimeStr":null,"acceptTime":null,"acceptTimeStr":null,"paidTime":null,"paidTimeStr":null,"erpHandingTime":null,"erpHandingTimeStr":null,"partShippingTime":null,"partShippingTimeStr":null,"allShippingTime":null,"allShippingTimeStr":null,"pushJdeTimeStr":null,"successTimeStr":null,"onlinePaySuccessTime":null,"onlinePaySuccessTimeStr":null,"bankTransactionSerial":null,"newIsTax":null,"countFormula":null,"countNumber":null,"noTaxRebateAmount":0,"isCollectionAllocation":0,"siteCompanyCode":null,"hospitalOrderType":null,"proofTime":null,"proofURL":null,"proofRemark":null,"proofSign":0,"customerCancelSign":null,"cancelRecords":null,"cancelCount":0,"updateNewTime":null,"updateNewTimeStr":null,"fsDedUseSign":null,"preDisSign":0,"shareType":null,"singleRebateSign":null,"cf":false,"notice":null,"isPre":null,"showDemandAuditLineLabel":false,"orderType":null,"newDiscountRate":null,"oldOrderType":null,"oldNewDiscountRate":null,"pendding":null,"pushJdeStatusDemandSub":null,"circleGiftSign":0,"delay":null,"limitS":null,"starts":null,"ends":null,"completedS":null,"confirmDays":null,"remindS":null,"skuGroupList":null,"groupProductType":0,"purchaseId":18,"purchaseCode":"P2306281500002","sdCancelTime":null,"sdTipSign":0,"receiverNote":null,"receiverPhoneNote":null,"receiverAddressNote":null,"flag":null,"sourceStr":null,"addressNoNote":null,"detailIsSpit":false,"spitSgin":null,"distributionType":null,"rebateValidity":null,"orderChangeType":null,"logoIcon":null,"detail":null,"changeBigType":null,"promotionType":null,"activityTotalAmount":null,"couponTotalAmount":null,"userReceiveId":null,"editSgin":null,"snSgin":null,"jdeOutAmount":null,"totalAllPaAmount":null,"diffShowSgin":0,"lineCodeDelete":null,"startTime":null,"endTime":null,"changeSign":null,"distributionId":null,"limitBuySign":0,"companyType":null,"afterSale":null,"csId":null,"sdStatusNodeParamList":null,"ypPromotionTotal":null,"acrossMainCode":null,"forceApprovedSign":0,"circleGiftContinueSgin":0,"customerCharge":null,"onlinePaySign":0,"recodeDemandSkuList":null,"mergeDemandSkuList":null,"inventoryNode":null,"customCode":null,"terminalSource":null,"potentialClientsId":null,"settlementStatus":null,"firstOrderAuditStatus":null,"confirmReceiptSign":null,"confirmReceiptTime":null,"afterSaleDays":null,"deliveryCompletedTime":null,"taxSign":0,"orderSplitSign":0,"demandRebateSkuList":null,"confirmTime":null,"customerPurchaseNo":null,"mustInstallDate":false,"secondAddressList":null,"splitOrMerge":0,"spitOrderSign":null,"productAmountWholeLine":100,"auditCompanyName":null,"auditCompanyNameCode":null,"edit":false,"showMoreAttribute":false,"ratio":null,"ratioFlag":false,"rebateFlags":false,"userBalancePrice":0,"allQuantity":1,"totalPriceNum":0,"maxTotalLimitPrice":0,"lastNoTaxDiscountAmount":0,"lastDiscountAmount":0}]}
#预期结果
checkDict1: {"success":true,"code":"200","message":"ok","data":null,"freshToken":null}
#测试场景二:需求草稿订单创建
"payload1": {"orderStatus":102,"demandItems":[{"maxProductNum":999999,"minProductNum":1,"addMinProductNum":1,"minProductNumSign":false,"isMultiple":false,"quantityTip":"","productId":10,"productCode":"10145929","materialCode":"","productName":"威尔特","specifications":"1","manufacturer":"北京康思润业生物技术有限公司-黄翼","productLineName":null,"productLineCode":null,"zonePriceVOList":null,"price":100,"storageType":"999","optionStr":"1","measuringUnit":"EA","ippMiniPurchaseNum":null,"ippMultipleSign":null,"ippPurchaseMultiple":null,"ippStatus":null,"quantity":1,"isGift":0,"measuringUnit1":"个","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","companyCode":"00102","areaName":null,"areaPrice":100,"agreementPriceId":null,"hidden":null,"description":"","taxRate":"0.17","allMaterialSign":null,"materialCodeExact":null,"specificationsExact":null,"hospitalOrderType":null,"hospitalHopeDate":null,"siteCompanyCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"mustInstallDate":false,"showDemandAuditLineLabel":false,"editProductCode":false,"quantityErr":false,"fresenuis":false,"singleFresenuis":null,"zeroSign":false,"purchaseZeroProductList":[],"activityBasicId":null,"giftList":[],"selectGiftArr":[],"selectZeroGiftObj":{"mainProductList":[],"giftProductList":[]},"giftGroupQuantity":1,"giftSign":0,"customerCode":"1000086","realPay":"100.00","purchaseId":18,"purchaseCode":"P2306281500002","purchaseEntryId":null}],"paymentAmount":100,"productAmount":100,"userId":130,"userNo":"1000086","customerCode":"1000086","userName":"北京海德锐视科技有限公司","companyId":"2","paymentType":1,"receiveBankName":"国药集团联合医疗器械有限公司","receiveBankAccount":"108902839271937437","accountId":32,"receiverName":"查杉","receiverContact":"18999998888","receiverAddress":"上海市普啊撒旦吉萨","addressNumber":17986,"remark":"","receiverNote":"查杉","receiverPhoneNote":"18999998888","receiverAddressNote":"上海市普啊撒旦吉萨","addressNoNote":17986,"fileList":[],"sellerCompanyCode":"00102","sellerCompanyName":"国药集团联合医疗器械有限公司","orderSource":2,"replaceCustomerOrder":{"orderStatus":102,"demandItems":[{"maxProductNum":999999,"minProductNum":1,"addMinProductNum":1,"minProductNumSign":false,"isMultiple":false,"quantityTip":"","productId":10,"productCode":"10145929","materialCode":"","productName":"威尔特","specifications":"1","manufacturer":"北京康思润业生物技术有限公司-黄翼","productLineName":null,"productLineCode":null,"zonePriceVOList":null,"price":100,"storageType":"999","optionStr":"1","measuringUnit":"EA","ippMiniPurchaseNum":null,"ippMultipleSign":null,"ippPurchaseMultiple":null,"ippStatus":null,"quantity":1,"isGift":0,"measuringUnit1":"个","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","companyCode":"00102","areaName":null,"areaPrice":100,"agreementPriceId":null,"hidden":null,"description":"","taxRate":"0.17","allMaterialSign":null,"materialCodeExact":null,"specificationsExact":null,"hospitalOrderType":null,"hospitalHopeDate":null,"siteCompanyCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"mustInstallDate":false,"showDemandAuditLineLabel":false,"editProductCode":false,"quantityErr":false,"fresenuis":false,"singleFresenuis":null,"zeroSign":false,"purchaseZeroProductList":[],"activityBasicId":null,"giftList":[],"selectGiftArr":[],"selectZeroGiftObj":{"mainProductList":[],"giftProductList":[]},"giftGroupQuantity":1}],"paymentAmount":100,"productAmount":100,"userId":130,"userNo":"1000086","customerCode":"1000086","userName":"北京海德锐视科技有限公司","companyId":"2","paymentType":1,"receiveBankName":"国药集团联合医疗器械有限公司","receiveBankAccount":"108902839271937437","accountId":32,"receiverName":"查杉","receiverContact":"18999998888","receiverAddress":"上海市普啊撒旦吉萨","addressNumber":17986,"remark":"","receiverNote":"查杉","receiverPhoneNote":"18999998888","receiverAddressNote":"上海市普啊撒旦吉萨","addressNoNote":17986,"fileList":[],"sellerCompanyCode":"00102","sellerCompanyName":"国药集团联合医疗器械有限公司","orderSource":2,"customerInfo":{"userId":130,"userName":"Test001","rejectUserName":null,"password":null,"realName":"王春晖","userNo":"1000086","telephone":"18008613535","rejectTelephone":null,"registerAddress":"[]","detailAddress":"武汉市洪山区南湖花园","businessScope":"[]","companyProperty":101,"companyId":null,"companyCode":null,"companyName":"国药集团联合医疗器械有限公司","companyNameList":null,"customerCompanyName":"北京海德锐视科技有限公司","lienceNo":"91110106579004448R","userType":2,"companyType":null,"status":3,"disableSign":0,"deleteSign":null,"createBy":null,"updateBy":null,"createTime":null,"updateTime":null,"licenceSketchUrl":null,"licenceUrl":null,"openId":null,"referrer":null,"gift":null,"identity":null,"department":null,"platformStatus":1,"rejectionReason":null,"registerType":null,"siteType":null,"departmentCode":null,"personName":null,"registration":null,"realPassword":null,"recommend":null,"taxRate":0.17,"roleNames":null,"subCompanyName":"国药集团联合医疗器械有限公司","roleIds":null,"addressList":null,"licenseList":null,"labelList":null,"managerList":null,"createTimeStr":null,"categoriesList":null,"merchantsAddress":null,"merchantStatus":null,"refuseReason":null,"merchantsId":null,"userTransactionAmount":"47166.7815","gray":null,"bindingTime":"2022-07-28 10:38:33","bindSign":1,"jdeStatus":0,"jdePhone":"","recommender":null,"coopeSgin":0,"bindflowList":null,"userJDEInfo":null}},"purchaseId":18,"purchaseCode":"P2306281500002","draftId":518,"demands":[{"demandId":null,"demandParentId":null,"demandParentCode":null,"demandCode":null,"customerId":null,"customerName":null,"customerCode":1000086,"loginName":null,"realName":null,"addressNumber":null,"mobile":null,"productName":null,"productCode":null,"sellerCompanyName":null,"sellerCompanyCode":null,"paymentType":null,"receiveBankName":null,"receiveBankAccount":null,"paymentAmount":"100.00","productAmount":100,"payableAmount":100,"refundAmount":null,"cancelAmount":null,"discountAmount":0,"orderStatus":null,"refundStatus":null,"receiverName":null,"receiverContact":null,"receiverAddress":null,"remark":null,"revokedReason":null,"auditById":null,"auditByName":null,"auditTime":null,"auditRemark":null,"flhsStatus":null,"pushJdeStatus":null,"createTime":null,"updateTime":null,"submitTime":null,"pushJdeTime":null,"successTime":null,"auditStatus":null,"deleteSign":null,"firstOrderFlag":null,"demandItems":[{"demandSkuId":null,"demandId":null,"distributionId":null,"companyCode":"00102","demandCode":null,"demandParentId":null,"sellerCompanyId":null,"sellerCompanyName":null,"sellerCompanyCode":null,"customerCode":1000086,"productLineCode":null,"productLineName":null,"propertyStr":null,"storageType":"999","suppDist":null,"productId":10,"productName":"威尔特","productCode":"10145929","productNature":null,"brandName":null,"optionStr":"1","imageUrl":"https://pro-cmdc.oss-cn-beijing.aliyuncs.com/productFile/2020/12/30/3801a639-0c99-41d4-941b-49aa118c8daa.jpg","lineNumber":null,"price":100,"rebateId":null,"originalPrice":null,"biddingDiscountTax":null,"salesDiscountTax":null,"quantity":1,"sumQuantity":null,"sendQuantity":null,"lackQuantity":null,"cancelQuantity":null,"cancelAmount":null,"refundQuantity":null,"refundAmount":null,"discountQuantity":null,"discountAmount":null,"subtotal":100,"measuringUnit":"个","auxiliaryMeasuringUnit":null,"procurementMeasuringUnit":null,"pricingMeasuringUnit":null,"materialCode":"","manufacturer":"北京康思润业生物技术有限公司-黄翼","produceRegisterNum":null,"riskRank":null,"productClassify":null,"createTime":null,"updateTime":null,"deleteSign":null,"calCancelFlag":null,"refundFlag":null,"discountRate":0,"realPay":100,"promotionPrice":null,"promotionTotalPrice":0,"demandParentCode":null,"regionId":null,"regionName":null,"spitSign":null,"activityAmount":null,"couponAmount":null,"activityUnitAmount":0,"couponUnitAmount":null,"activityBasicId":null,"couponSgin":null,"couponSgin2":null,"returnQuantity":null,"returnAmount":null,"customerId":null,"prescription":null,"specifications":"1","lineCodeDelete":null,"sdOutStorage":null,"licenseNo":null,"demandCodes":null,"areaName":null,"agreementPriceId":null,"offerPrice":null,"orderMark":null,"totalPrice":null,"productLimitBuyList":null,"giftSign":0,"giftProductCode":null,"activityCarDataVoList":null,"orderSource":null,"receiverName":null,"receiverContact":null,"receiverAddress":null,"rebateTripId":null,"allSign":null,"salesReturn":null,"nowAmount":null,"taxSign":0,"plusMinuKey":null,"rebateRule":null,"lockType":null,"lineNumberOrg":null,"changeSgin":null,"addSgin":null,"ptbfa1":null,"ptbfa2":null,"ptbfa3":null,"ptbfa4":null,"ptbfa5":null,"yapeiPriceId":null,"ypLinePromotion":null,"yapeiPrice":null,"companyId":null,"buyerCartId":0,"userReceiveIdx":null,"userReceiveIdx2":null,"limitNum":null,"productLimitBuyId":null,"alreadyBuyNum":null,"limitBuySign":0,"proposeNum":null,"takeEffectRange":null,"takeEffectTime":null,"endTime1":null,"groupId":null,"fsGroupId":null,"proposalQuantity":null,"proposalSign":0,"manufacturerUserNo":null,"manufacturerUserDesc":null,"manufacturerProductNo":null,"manufacturerProductDesc":null,"manufacturerUserId":null,"manufacturerProductId":null,"busProductCode":null,"paidTime":null,"customerName":null,"paymentAmount":null,"specQuantity":null,"disQuantity":null,"fulfilledQuantity":null,"fulCancelQuantity":null,"couponId":null,"couponId2":null,"limitS":null,"starts":null,"ends":null,"userId":null,"productTax":null,"taxRate":0.17,"demandSplitSign":"1","hospitalHopeDate":null,"uniqueKey":null,"productType":null,"activityRuleId":null,"allowanceBeginTime":null,"allowanceEndTime":null,"sign":null,"differenceActivityUserId":null,"groupNumber":1,"groupName":null,"skuGroup":null,"subList":null,"dataJson":null,"skuMergeSign":null,"freseniusPriceId":null,"quantityAndGroupAll":null,"booleaTime":null,"spitSgin":0,"groupSpitSign":0,"purchaseEntryId":null,"activityType":0,"giftSettlementMethod":null,"giftInitQuantity":null,"packageCode":null,"giftGroupQuantity":1,"mustInstallDate":false,"installedDate":null,"installedDateStr":null,"demandLines":null,"subLineNumber":null,"demandSubCode":null,"propertyName":null,"propertyVal":null,"propertyNote":null,"sendManualSign":0,"sort":0,"circleArea":null,"siteCompanyCode":null,"hospitalOrderType":null,"isCollectionAllocation":null,"orderStatus":null,"distributionType":null,"groupCode":null,"groupProductType":null,"pSign":0,"backSign":0,"description":"","stockNumber":null,"rebate":false,"userBalance":null,"purchaseQuantity":1,"purchaseZeroProductList":[]}],"demandSubItems":null,"rebateDetail":null,"rebateAmountList":null,"productLineCode":null,"productLineName":null,"auditLoginName":null,"showPurchaseNo":false,"isRebate":null,"isShowReate":null,"taxRate":0.17,"rebateType":0,"paymentAmountWholeLine":100,"discountAmountWholeLine":0,"payableAmountWholeLine":100,"discountRate":0,"singleRebateAmount":null,"isRebateEdit":null,"payCertUrl":null,"rebateAmount":null,"demandCance":null,"soAdd":null,"soCance":null,"orderReturn":null,"needCustomerConfirm":false,"measuringUnit":null,"productId":null,"version":null,"mainVersion":null,"agencyConfigId":null,"confirmSign":null,"replySign":null,"agencySign":null,"editIng":null,"editIngStr":null,"jdeType":null,"isElectronicSeal":null,"contractAgreementNo":null,"alesDepartmentNo":null,"alesDepartmentName":null,"salesPersonNo":null,"salesPersonName":null,"customerNote":null,"otherNote":null,"contractAgreementCode":null,"projectName":null,"projectCode":null,"regionId":null,"regionName":null,"productLineBindSign":null,"shipVia":null,"orderSource":null,"userBalance":null,"liquidCode":null,"shipmentTypeStr":null,"specifications":"1","pageStart":null,"pageSize":null,"changeSgin":null,"yapei":2,"companyId":null,"userReceiveId2":null,"preemptConfig":null,"productSpec":null,"secondAuditSign":null,"secondAuditById":null,"secondAuditByName":null,"secondAuditTime":null,"secondAuditRemark":null,"secondAuditStatus":null,"rebateRule":"0","rebateControlSign":0,"rebateId":null,"preferenceType":null,"preferenceName":null,"disPrice":null,"lineNum":0,"auditStaySign":0,"fileList":null,"imageUrls":null,"total":null,"submitTimeStr":null,"updateTimeStr":null,"auditTimeStr":null,"acceptTime":null,"acceptTimeStr":null,"paidTime":null,"paidTimeStr":null,"erpHandingTime":null,"erpHandingTimeStr":null,"partShippingTime":null,"partShippingTimeStr":null,"allShippingTime":null,"allShippingTimeStr":null,"pushJdeTimeStr":null,"successTimeStr":null,"onlinePaySuccessTime":null,"onlinePaySuccessTimeStr":null,"bankTransactionSerial":null,"newIsTax":null,"countFormula":null,"countNumber":null,"noTaxRebateAmount":0,"isCollectionAllocation":0,"siteCompanyCode":null,"hospitalOrderType":null,"proofTime":null,"proofURL":null,"proofRemark":null,"proofSign":0,"customerCancelSign":null,"cancelRecords":null,"cancelCount":0,"updateNewTime":null,"updateNewTimeStr":null,"fsDedUseSign":null,"preDisSign":0,"shareType":null,"singleRebateSign":null,"cf":false,"notice":null,"isPre":null,"showDemandAuditLineLabel":false,"orderType":null,"newDiscountRate":null,"oldOrderType":null,"oldNewDiscountRate":null,"pendding":null,"pushJdeStatusDemandSub":null,"circleGiftSign":0,"delay":null,"limitS":null,"starts":null,"ends":null,"completedS":null,"confirmDays":null,"remindS":null,"skuGroupList":null,"groupProductType":0,"purchaseId":18,"purchaseCode":"P2306281500002","sdCancelTime":null,"sdTipSign":0,"receiverNote":null,"receiverPhoneNote":null,"receiverAddressNote":null,"flag":null,"sourceStr":null,"addressNoNote":null,"detailIsSpit":false,"spitSgin":null,"distributionType":null,"rebateValidity":null,"orderChangeType":null,"logoIcon":null,"detail":null,"changeBigType":null,"promotionType":null,"activityTotalAmount":null,"couponTotalAmount":null,"userReceiveId":null,"editSgin":null,"snSgin":null,"jdeOutAmount":null,"totalAllPaAmount":null,"diffShowSgin":0,"lineCodeDelete":null,"startTime":null,"endTime":null,"changeSign":null,"distributionId":null,"limitBuySign":0,"companyType":null,"afterSale":null,"csId":null,"sdStatusNodeParamList":null,"ypPromotionTotal":null,"acrossMainCode":null,"forceApprovedSign":0,"circleGiftContinueSgin":0,"customerCharge":null,"onlinePaySign":0,"recodeDemandSkuList":null,"mergeDemandSkuList":null,"inventoryNode":null,"customCode":null,"terminalSource":null,"potentialClientsId":null,"settlementStatus":null,"firstOrderAuditStatus":null,"confirmReceiptSign":null,"confirmReceiptTime":null,"afterSaleDays":null,"deliveryCompletedTime":null,"taxSign":0,"orderSplitSign":0,"demandRebateSkuList":null,"confirmTime":null,"customerPurchaseNo":null,"mustInstallDate":false,"secondAddressList":null,"splitOrMerge":0,"spitOrderSign":null,"productAmountWholeLine":100,"auditCompanyName":null,"auditCompanyNameCode":null,"edit":false,"showMoreAttribute":false,"ratio":null,"ratioFlag":false,"rebateFlags":false,"userBalancePrice":0,"allQuantity":1,"totalPriceNum":0,"maxTotalLimitPrice":0,"lastNoTaxDiscountAmount":0,"lastDiscountAmount":0}]}
#预期结果
checkDict1: {"success":true,"code":"200","message":"ok","data":null,"freshToken":null}
\ No newline at end of file
#需求单列表接口地址
"url": "/order/back/refuseDemand"
# 后台运营管理系统登录信息
"username": "admin2"
"password": "Aa123456"
json_headers1: {
"Content-Type": "application/json",
"Cmdc_access_token": "%s"
}
#测试场景一:需求正常单删除
"payload1": {"demandId":41472,"auditStatus":0,"auditRemark":"#待国药审核#"}
#预期结果
checkDict2: {"success":true,"code":"200","message":"OK","data":1,"freshToken":null}
#测试场景二:删除不存在的需求单
"payload2": {"demandId":41506345345,"auditStatus":1,"auditRemark":"#待国药审核#"}
#预期结果
"checkDict3": {"success":false,"code":"demand","message":"审核拒绝没有找到子需求单","data":null,"freshToken":null}
#测试场景三:重复删除已被删除的需求单
"payload3": {"demandId":11151,"auditStatus":2,"auditRemark":"#未首营平台取消#"}
#预期结果
"checkDict4": {"success":false,"code":"demand","message":"订单已拒绝,无法重复拒绝","data":null,"freshToken":null}
#需求单列表接口地址
"url": "/order/back/refuseDemand"
# 后台运营管理系统登录信息
"username": "admin2"
"password": "Aa123456"
json_headers1: {
"Content-Type": "application/json",
"Cmdc_access_token": "%s"
}
#测试场景一:需求正常单审核拒绝
"payload1": {"demandId":41512,"auditStatus":2,"auditRemark":"审核拒绝原因"}
#预期结果
checkDict1: {"success":true,"code":"200","message":"OK","data":1,"freshToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInVzZXJOYW1lIjoiYWRtaW4yIiwidGltZSI6MTY5NDM5NDA0NjA3N30.JQgyXjLa5rH9XKIebln5rpPG4aasKNmVJbWA9UYu7PU"}
#测试场景二:重复拒绝同一个需求单
"payload2": {"demandId":41512,"auditStatus":2,"auditRemark":"审核拒绝原因"}
#预期结果
"checkDict2": {"success":false,"code":"demand","message":"订单已拒绝,无法重复拒绝","data":null,"freshToken":null}
#测试场景三:审核拒绝不存在的需求单
"payload3": {"demandId":111513453535,"auditStatus":2,"auditRemark":"#未首营平台取消#"}
#预期结果
"checkDict3": {"success":false,"code":"demand","message":"审核拒绝没有找到子需求单","data":null,"freshToken":null}
#测试场景四:审核拒绝其他状态下的需求单,例如,审核通过的需求单
"payload4": {"demandId":41512,"auditStatus":2,"auditRemark":"审核拒绝原因"}
#预期结果
"checkDict4": {"success":true,"code":"200","message":"OK","data":1,"freshToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInVzZXJOYW1lIjoiYWRtaW4yIiwidGltZSI6MTY5NDM5NDA0NjA3N30.JQgyXjLa5rH9XKIebln5rpPG4aasKNmVJbWA9UYu7PU"}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment