Esempio n. 1
0
def get_time_step2(time_day, time_step):
    # 前开后闭
    if time_step == '早晨':
        start_time, end_time = time_day + " " + "5:30:00", time_day + " " + "11:30:00"
    elif time_step == '中午':
        start_time, end_time = time_day + " " + "11:30:00", time_day + " " + "13:30:00"
    elif time_step == '下午':
        start_time, end_time = time_day + " " + "13:30:00", time_day + " " + "17:30:00"
    elif time_step == '晚上':
        start_time, end_time = time_day + " " + "17:30:00", time_day + " " + "23:30:00"
    elif time_step == '凌晨':
        start_time1, end_time1 = time_day + " " + "23:30:00", time_day + " " + "23:59:59"
        start_time2, end_time2 = time_day + " " + "00:00:00", time_day + " " + "05:30:00"
        start_time, end_time = random.choice(
            ((start_time1, end_time1), (start_time2, end_time2)))
    else:
        start_time, end_time = time_day + " " + "13:30:00", time_day + " " + "17:30:00"
    e_time = TimeFormat.random_time(start_time, end_time)
    e_day, e_hms = e_time.split(' ')
    now = TimeFormat.getnow()
    n_hms = now.split(' ')[-1]
    e_time_num = int(TimeFormat.string_toTimestamp_13(e_time))
    n_time_num = int(TimeFormat.string_toTimestamp_13(e_day + ' ' + n_hms))
    if e_time_num <= n_time_num:
        e_time = TimeFormat.get_day_around(1, e_day) + ' ' + e_hms
    return e_time
Esempio n. 2
0
def modif_date(data):
    """
    初始化请求时修改时间
    :param data:
    :return:
    """
    data["order"][0]['inserttime'] = TimeFormat.getnow()
    start, end = get_data()
    data["order"][0]["dealtime"] = TimeFormat.random_time(start, end)
Esempio n. 3
0
 def test_028_api_78dk_platform_om_trans_findTransLogList_now(self):
     """
     交易流水列表  今天
     :return:
     """
     res = json.loads(WebAction.test_api_78dk_platform_om_trans_findTransLogList(
         pagesize=10, pagecurrent=1, enddate=TimeFormat.get_now_time_13(), transstate='',
         begindate=TimeFormat.string_toTimestamp_13(TimeFormat.get_day_start_time(0)), searchwhere='', transtype=''))
     Assertion.verity(res['code'], '10000')
     Assertion.verity(res['msg'], '成功')
Esempio n. 4
0
 def test_005_device_tracklist(self):
     """
     Time       :2019-04-03
     author     : 罗林
     desc       :获取设备轨迹
     """
     deviceid = cls.get_device_id()
     rs1 = cla.test_device_tracklist(starttime=tf.string_toTimestamp_10(tf.get_day_around(-7) + " 00:00:00"),
                                     endtime=tf.get_now_time(), positiontype=-1, deviceid=deviceid)
     ass.verity(json.loads(rs1)['message'], '请求成功')
Esempio n. 5
0
    def test_034_api_78dk_platform_om_bd_bdTj_date(self):
        """
        BD统计  bd_state_enabled
        :return:
        """

        res = json.loads(PlatformAction.test_api_78dk_platform_om_bd_bdTj(bdstate='bd_state_unknown',
            enddate=TimeFormat.get_day_around(30), pagecurrent=1, pagesize=10, searchwhere='',
            startdate=TimeFormat.get_day_around(-30)))
        Assertion.verity(res['code'], '10000')
        Assertion.verity(res['msg'], '成功')
Esempio n. 6
0
 def test_005_api_78dk_platform_sys_user_saveSystemUser_now_days(self):
     """
     合同列表查询(申请列表) 最近30天
     :return:
     """
     res = json.loads(
         WebAction.test_api_78dk_platform_om_contract_viewContracts(
             pagecurrent=1, orderstate='', enddate=TimeFormat.get_now_time_13(),
             begindate=TimeFormat.string_toTimestamp_13(TimeFormat.get_day_start_time(0)), pagesize=10, name=''))
     Assertion.verity(res['code'], '10000')
     Assertion.verity(res['msg'], '成功')
Esempio n. 7
0
def get_time_step07(time_day):
    # 前开后闭
    start_time, end_time = time_day + " " + "00:00:00", time_day + " " + "07:00:00"
    e_time = TimeFormat.random_time(start_time, end_time)
    e_day, e_hms = e_time.split(' ')
    now = TimeFormat.getnow()
    n_hms = now.split(' ')[-1]
    e_time_num = int(TimeFormat.string_toTimestamp_13(e_time))
    n_time_num = int(TimeFormat.string_toTimestamp_13(e_day + ' ' + n_hms))
    if e_time_num <= n_time_num:
        e_time = TimeFormat.get_day_around(1, e_day) + ' ' + e_hms
    return e_time
Esempio n. 8
0
 def test_002_api_78dk_clientapp_auth_messAuth_addCarInfo(self):
     """
       Time       :2019-04-25
       author     : 罗林
       desc       : 车辆认证
     """
     vehicleauthuuid, brandname, city, modelid, modelname, registertime, seriesid, seriesname = eq.get_info(
         'vehicle_auth', 'vehicle_auth_uuid,brand_name,city,model_id,model_name,register_time,series_id,series_name')
     registertime = tf.string_toTimestamp_13(tf.datetime_toString(registertime, tf.FORMART1))
     rs = ea_app.test_api_78dk_clientapp_auth_messAuth_addCarInfo(
         brandid='', seriesid=seriesid, city=city, registertime=registertime, modelid=modelid,
         vehicleauthuuid=vehicleauthuuid, seriesname=seriesname, brandname=brandname, modelname=modelname)
     ass.verity(json.loads(rs)['code'], "10000")
Esempio n. 9
0
def test_sht_login():
    """
    商户通 获取 token
    :return:
    """
    redis_keys = redisDB.get_keys()
    for redis_key in redis_keys:
        if wx_name in redisDB.redis_get(redis_key):
            redisDB.del_name(redis_key)
    uuid_str = str(uuid.uuid4()).replace("-", "")
    wx_name_prefix = 'wxuser_' + wx_open_id
    wx_token = hashlib.md5(
        (wx_name_prefix + uuid_str).encode("utf-8")).hexdigest()
    wx_user_name = wx_name_prefix + wx_token
    wx_phone = 'https://wx.qlogo.cn/mmopen/vi_32' \
               '/Q0j4TwGTfTJInkWfFr8ftFB8TYjb78xiamRc9bqRDkJKZHliaeHLdldQjeGdtqIzl659XHEcBxicBeRHQq5wBOvpw/132'
    c_time = TimeFormat.getnow()
    state = 'enabled'
    created = TimeFormat.string_toTimestamp_13(c_time)
    rows = ms.select_rows(DB, 'Tbl_WX_User', 'id',
                          'name="{}" AND state="enabled"'.format(wx_name))
    if rows == 0:
        insert_dict = {
            "wx_user_uuid": wxUserUuid,
            "merchant_uuid": "",
            "name": wx_name,
            "phone": wx_phone,
            "open_id": wx_open_id,
            "is_master": wx_isMaster,
            "created": c_time,
            "updated": c_time,
            "state": state
        }
        ms.insert(DB, 'Tbl_WX_User', insert_dict)
    m_id = ms.select_one(DB, 'Tbl_WX_User', 'id',
                         'name="{}" AND state="enabled"'.format(wx_name))
    wx_user_info = {
        'created': created,
        'id': m_id,
        'isMaster': wx_isMaster,
        'merchantUuid': '',
        'name': wx_name,
        'openId': wx_open_id,
        'phone': wx_phone,
        'state': state,
        'token': wx_token,
        'updated': created,
        'wxUserUuid': wxUserUuid
    }
    redisDB.redis_set(wx_user_name, json.dumps(json.dumps(wx_user_info)))
    return wx_token
Esempio n. 10
0
def get_data(times=None):
    if times == '1':
        start = TimeFormat.get_month_ago(1)
        end = TimeFormat.get_day_end_time(-7)
    elif times == '3':
        start = TimeFormat.get_month_ago(3)
        end = TimeFormat.get_month_ago(2)
    elif times == '6':
        start = TimeFormat.get_month_ago(6)
        end = TimeFormat.get_month_ago(5)
    elif times == '7':
        start, end = TimeFormat.get_day_start_time(-6), TimeFormat.getnow()
    else:
        start, end = TimeFormat.get_day_start_time(-6), TimeFormat.getnow()
    return start, end
Esempio n. 11
0
 def test_001_device(self):
     # 获取设备类型信息
     r1 = json.loads(f.test_device_getDeviceType())
     a.verity(r1['data'][0]['dictCode'], '1', '断言dictCode')
     a.verity(r1['data'][0]['dictName'], '有线', '断言dictName')
     a.verity(r1['data'][0]['id'], 20, '断言id')
     a.verity(r1['data'][1]['dictCode'], '0', '断言dictCode')
     a.verity(r1['data'][1]['dictName'], '无线', '断言dictName')
     a.verity(r1['data'][1]['id'], 21, '断言id')
     # 获取设备型号信息
     r2 = json.loads(f.test_device_getDeviceMoudel(''))
     a.verity(r2['data'][0]['dictLevel'], 0, '断言dictLevel')
     a.verity(r2['data'][0]['dictName'], 'TK115', '断言dictName')
     a.verity(r2['data'][0]['id'], 22, '断言id')
     a.verity(r2['data'][1]['dictLevel'], 1, '断言dictLevel')
     a.verity(r2['data'][1]['dictName'], 'SZ-K3', '断言dictName')
     a.verity(r2['data'][1]['id'], 23, '断言id')
     a.verity(r2['data'][2]['dictLevel'], 1, '断言dictLevel')
     a.verity(r2['data'][2]['dictName'], 'GV25', '断言dictName')
     a.verity(r2['data'][2]['id'], 54, '断言id')
     a.verity(r2['data'][3]['dictLevel'], 0, '断言dictLevel')
     a.verity(r2['data'][3]['dictName'], 'GT740', '断言dictName')
     a.verity(r2['data'][3]['id'], 55, '断言id')
     # 获取机构信息
     r3 = json.loads(f.test_device_getLowerOrg())
     a.verity(r3['data'][0]['orgCode'], orgCode, '断言orgCode')
     a.verity(r3['data'][0]['name'], c.companyName, '断言组织机构名称')
     # 保存设备记录
     f.test_device_save('', orgCode, c.devicetypecode,
                        c.devicemoudelCode, c.deviceCode, '001', tf.getnow_day())
     device_id = fs.get_device_id(c.deviceCode)
     # 更新设备记录
     f.test_device_update(device_id, orgCode, c.devicetypecode,
                          c.devicemoudelCode, c.deviceCode, '001', tf.getnow_day())
     # 设备列表
     r4 = json.loads(f.test_device_list('', 1, 10))
     a.verity(r4['data']['pageNum'], 1, '断言pageNum')
     a.verity(r4['data']['pageSize'], 10, '断言pageSize')
     a.verityContain(r4['data']['record'], c.deviceCode, '断言修改后的deviceCode')
     # 获取设备详情
     r5 = json.loads(f.test_device_detail(device_id))
     a.verity(r5['data']['deviceCode'], c.deviceCode, '断言deviceCode')
     a.verity(r5['data']['id'], device_id, '断言device_id')
     a.verity(r5['data']['moudelCode'], c.devicemoudelCode, '断言moudelCode')
     a.verity(r5['data']['orgCode'], orgCode, '断言orgCode')
     a.verity(r5['data']['typeCode'], c.devicetypecode, '断言typeCode')
     # 删除设备记录
     f.test_device_delete(device_id)
Esempio n. 12
0
 def test_014_gps(self):
     gpsid, gpscode = fs.get_gps()[0]
     finance_id = fs.get_car_id(c.car_owner)
     # 获取机构信息
     r = json.loads(f.test_install_getLowerOrg())
     a.verity(r['data'][0]['name'], c.companyName)
     a.verity(r['data'][0]['orgCode'], orgCode)
     # 获取GPS设备
     f.test_install_getDevice(gpscode, orgCode)
     # 获取GPS类型
     f.test_install_getGpsType()
     # 获取GPS型号
     f.test_install_getGpsMoudel('有线')
     f.test_install_getGpsMoudel('无线')
     # 根据所在机构获取GPS设备信息
     r1 = json.loads(f.test_install_getDeviceByOrgCode(gpsid, orgCode))
     a.verityContain(r1['data'], gpscode)
     a.verityContain(r1['data'], str(gpsid))
     # 安装车辆搜索联想
     r2 = json.loads(f.test_install_installCarSearchAssociate(c.car_owner, orgCode))
     a.verity(r2['data'][0]['fid'], finance_id)
     a.verity(r2['data'][0]['carNo'], c.carNo)
     a.verity(r2['data'][0]['carNoAndOwner'], c.carNo + ' ' + c.car_owner)
     # 设备安装  保存GPS安装记录
     r3 = json.loads(f.test_install_saveGpsInstallRecord(finance_id, gpsid, '', '1', '1', tf.getnow_day()))
     gps_finance_id = fs.get_gps_finance_id(gpsid, finance_id)
     a.verity(r3['data'], gps_finance_id)
     # 获取GPS安装记录详情
     r4 = json.loads(f.test_install_getGpsInstallDetail(gps_finance_id))
     a.verity(r4['data']['id'], gps_finance_id)
     a.verity(r4['data']['orgCode'], orgCode)
     a.verity(r4['data']['financeId'], finance_id)
     a.verity(r4['data']['gpsId'], gpsid)
     a.verity(r4['data']['gpsCode'], gpscode)
     a.verityIn(r4['data']['installDate'], str(tf.getnow_day()))
     # 根据所在机构获取GPS设备信息
     f.test_install_getDeviceByOrgCode('', orgCode)
     # 更新GPS安装记录
     f.test_install_updateGpsInstallRecord(finance_id, gpsid, gps_finance_id, '2', '2', tf.getnow_day())
     # Gps安装记录列表
     f.test_install_findGpsInstallRecord('', 1, 10)
     # 拆机,将gps安装记录拆除
     f.test_install_dismantle(gps_finance_id)
     f.test_install_saveGpsInstallRecord(finance_id, gpsid, '', '1', '1', tf.getnow_day())
     gps_finance_id = fs.get_gps_finance_id(gpsid, finance_id)
     # 删除安装记录,安装记录出错了,将错误数据删除
     f.test_install_deleteRecord(gps_finance_id)
Esempio n. 13
0
 def test_018_equipment_update(self):
     """
     Time       :2019-04-08
     author     : 罗林
     desc       :新增设备/编辑设备
     """
     device_id = fis.get_device_id(new_device_code)
     model = json.loads(cla.test_equipment_model(type=1))["data"][-1]["code"]
     rs1 = cla.test_equipment_update(sim=sim, model=model, organizationid=org_id, type=1, no=new_device_code,
                                     id=device_id, instoragedate=tf.get_now_time())
     ass.verity(json.loads(rs1)['message'], '请求成功')
Esempio n. 14
0
 def test_025_install_update(self):
     """
     Time       :2019-04-08
     author     : 罗林
     desc       :修改安装
     """
     gps_finance_id = fis.get_gps_finance_id(fis.get_device_id(new_device_code), fis.get_car_info(car_owner))
     imageid = cls.get_file_id(gps_finance_id)
     rs1 = cla.test_install_update(date=tf.get_now_time(), position='电瓶', imageid=imageid, username=installer,
                                   id=gps_finance_id)
     ass.verity(json.loads(rs1)['message'], '请求成功')
Esempio n. 15
0
def modif_date(data):
    """
    初始化请求时修改时间
    :param data:
    :return:
    """
    sev_time = TimeFormat.get_month_ago(1)
    sev_month = '-'.join(sev_time.split('-')[:2])
    sev_day = sev_time.split(' ')[0]
    sev_hms = data["calls"][0]['items'][0]['time'].split(' ')[-1]
    month_start_date, month_end_date = TimeFormat.get_FirstAndLastDay_month(
        sev_day)
    time_sec = sev_day + ' ' + sev_hms
    data["bills"][0]['bill_month'] = sev_month
    data["bills"][0]['bill_start_date'] = month_start_date
    data["bills"][0]['bill_end_date'] = month_end_date
    data["calls"][0]['bill_month'] = sev_month
    data["calls"][0]['items'][0]['time'] = time_sec
    data["smses"][0]['bill_month'] = sev_month
    data["smses"][0]['items'][0]['time'] = time_sec.replace(' ', '-')
Esempio n. 16
0
 def test_006_api_78dk_clientapp_tools_carEva_vinEva(self):
     """
       Time       :2019-04-25
       author     : 罗林
       desc       : VIN估价
     """
     rs = ea_app.test_api_78dk_clientapp_tools_carEva_vinEva(
         citycode=510100,
         miles=10000,
         oncardate=tf.string_toTimestamp_13('2015-04-25 00:00:00'),
         vincode=vincode)
     ass.verity(json.loads(rs)['code'], "10000")
Esempio n. 17
0
 def test_005_api_78dk_clientapp_tools_carEva_carTypeEva(self):
     """
       Time       :2019-04-25
       author     : 罗林
       desc       : 车型估价
     """
     rs = ea_app.test_api_78dk_clientapp_tools_carEva_carTypeEva(
         carcode=car_code,
         citycode=510100,
         miles=10000,
         oncardate=tf.string_toTimestamp_13('2015-04-25 00:00:00'),
         brandid=1,
         modelname='奥迪A3')
     ass.verity(json.loads(rs)['code'], "10000")
Esempio n. 18
0
 def testOperatorETL(self, data):
     LOGGER.info(data)
     LOGGER.info(
         ('开始执行第【{0}】条测试用例:【{1}】'.format(data['序号'],
                                         data['描述'])).center(80, '-'))
     t1 = time.clock()
     params = copy.deepcopy(etl_config.operatorETL)
     operator_analysis.modif_date(params)
     modif_keys = re.split('[;;]', data['修改key'])
     modif_values = re.split('[;;]', data['修改值'])
     for i in range(len(modif_keys)):
         operator_analysis.modif(params, modif_keys[i], modif_values[i])
     rs = json.loads(operator_etl(data=params))
     Assertion.verity(rs['status'], 200, data)
     Assertion.verity(rs['msg'], '成功', data)
     premise = re.split('[;;]', data['分析key'])
     result_keys = re.split('[;;]', data['结果key'])
     result_values = re.split('[;;]', data['断言结果'])
     for i in range(len(result_keys)):
         if data['分析key']:
             if premise[i] in ('power_off_day', 'continue_power_off_days',
                               'no_dial_day',
                               'no_call_day') and result_keys[i] in (
                                   'item_1m', 'item_3m', 'item_6m'):
                 result_value = operator_analysis.get_days(
                     result_values[i], premise[i], params)
             else:
                 result_value = str(str_to_num(result_values[i]))
             m = '{0},第{1}条结果, {2}'.format(data, i + 1, result_keys[i])
             Assertion.verity(
                 operator_analysis.get_result(rs, result_keys[i],
                                              premise[i]), result_value, m)
         elif data['结果key']:
             if result_keys[i] == 'call_month':
                 result_value = TimeFormat.get_month_around(
                     -int(result_values[i]))
             else:
                 result_value = str(str_to_num(result_values[i]))
             m = '{0},第{1}条结果, {2}'.format(data, i + 1, result_keys[i])
             Assertion.verity(
                 operator_analysis.get_result(rs, result_keys[i]),
                 result_value, m)
     LOGGER.info(('第【{0}】条测试用例:【{2}】执行完成,执行时间【{1}】'.format(
         data['序号'], float(time.clock() - t1), data['描述'])).center(80, '-'))
Esempio n. 19
0
def get_days(month, premise, params):
    """
    几月距离今天的天数
    :param month:  几月
    :param premise:  请求参数
    :param params:  请求参数
    :return:
    """
    calls_items = list()
    for items in params['calls']:
        calls_items.extend(items['items'])
    calls_days = list()
    if premise == 'no_dial_day':
        dial_calls_days = list(
            filter(lambda x: x['dial_type'] == 'dial', calls_items))
        calls_days = [t['time'] for t in dial_calls_days]
    elif premise == 'no_call_day':
        calls_days = [t['time'] for t in calls_items]
    elif premise in ('power_off_day', 'continue_power_off_days'):
        calls_days = [t['time'] for t in calls_items]
        smses_items = list()
        for items in params['smses']:
            smses_items.extend(items['items'])
        smses_days = [
            '-'.join(t['time'].split('-')[:3]) + ' ' + t['time'].split('-')[-1]
            for t in smses_items
        ]
        calls_days.extend(smses_days)
    on_days = list(set(calls_days))
    now, times = TimeFormat.getnow().split(' ')
    now_time = TimeFormat.get_now_time_13()
    if month == '7':
        day = TimeFormat.get_day_around(-7)
    else:
        time_day = TimeFormat.get_month_ago(int(month))
        day = time_day.split(' ')[0]
    day_time = TimeFormat.string_toTimestamp_13(day + ' ' + times)
    days_num = len(
        list(
            filter(
                lambda x: day_time < int(TimeFormat.string_toTimestamp_13(x))
                <= now_time, on_days)))
    return str(TimeFormat.time_between_day(day, now) - days_num)
Esempio n. 20
0
def get_data(times):
    start_time = tianxing_etl['json_data']['data']['report_time']
    start = start_time.split(' ')[0]
    if times == '1' or times == 1:
        end = TimeFormat.get_day_around(-27, start)
    elif times == '3' or times == 3:
        end = TimeFormat.get_month_ago(2, start_time)
    elif times == '6' or times == 6:
        end = TimeFormat.get_month_ago(5, start_time)
    elif times == '7' or times == 7:
        end = TimeFormat.get_day_around(-6, start)
    elif times == '12' or times == 12:
        end = TimeFormat.get_month_ago(11, start_time)
    else:
        end = TimeFormat.get_month_ago(8, start_time)
    return end
Esempio n. 21
0
def get_select_info(rap, version_id):
    """
    获取查询信息
    :param rap: rap数据
    :param version_id: 版本信息
    :return: 查询列 select_col, 数据字典 value_dict
    """
    is_exe, update_date = 'N', TimeFormat.getnow_day()
    select_col = ['dict_id', 'module', 'page', 'page_name', 'api_name', 'api_type', 'api_address', 'parameters',
                  'parameter_description', 'response_parameter', 'response_parameter_description']
    value_dict = dict(zip(select_col, rap))
    if version_id != '':
        value_dict['version_id'] = version_id
    value_dict['is_exe'] = is_exe
    value_dict['update_date'] = update_date
    value_dict['api_name'] = re.sub('[\n\t\r]', '', value_dict['api_name'])
    if value_dict['dict_id'] == 1 and 'manage' in value_dict['api_name']:
        value_dict['module'] = 'manage'
    select_col.insert(1, 'version_id')
    LOG.debug('查询列{}'.format(select_col))
    LOG.debug('数据字典{}'.format(value_dict))
    return select_col, value_dict
Esempio n. 22
0
def test_api_78dk_sht_mm_saveMerchantImg(uuid, key, image_path):
    """
    商户通商户信息接口,保存单张图片
    :param uuid: 商户UUID
    :param key: 图片分类
    :param image_path: 图片地址
    :return: response.text
    """
    start_time = time.time()
    ms.update(ms.get_conn(), 't_rap', 'is_exe = "Y"', 'id = 1401')
    requesturl = ShtAction.baseUrl + "/api/78dk/sht/mm/saveMerchantImg"
    LOGGER.info("商户通商户信息接口,保存单张图片请求地址:【{}】".format(requesturl))
    params = dict()
    params["uuid"] = uuid
    params["key"] = key
    params["token"] = ShtAction.LICENCES
    fl = open(image_path, 'rb')
    API_TEST_HEADERS = {"Cache-Control": "no-cache"}
    multipart_encoder = MultipartEncoder(fields={
        'file': (image_path, fl, 'image/jpg'),
        'key': key,
        'token': ShtAction.LICENCES
    },
                                         boundary=TimeFormat.get_now_time_13())
    API_TEST_HEADERS['Content-Type'] = multipart_encoder.content_type
    API_TEST_HEADERS['token'] = ShtAction.LICENCES
    LOGGER.info("商户通商户信息接口,保存单张图片请求头参数:【{}】".format(API_TEST_HEADERS))
    LOGGER.info("商户通商户信息接口,保存单张图片请求参数:【{0}】,请求文件地址:【{1}】".format(
        params, image_path))
    response = rq.post(requesturl,
                       params=params,
                       data=multipart_encoder,
                       headers=API_TEST_HEADERS)
    fl.close()
    LOGGER.info("请求结果参数:【{}】".format(response.text))
    Assertion.verity(response.status_code, 200, "状态码检查")
    LOGGER.info("请求接口耗时:【{}】".format(time.time() - start_time))
    return response.text
 def test_005_device_update(self):
     device_id = fs.get_device_id(c.deviceCode)
     # 更新设备记录
     f.test_device_update(device_id, orgCode, c.devicetypecode,
                          c.devicemoudelCode, c.deviceCode, '001',
                          tf.getnow_day())
Esempio n. 24
0
def get_result(result, result_key, params):
    """
    获取 测试结果数据
    :param result: 请求结果数据
    :param result_key: 结果key值
    :param params: 请求数据
    :return:
    address_max_city_1m:最近1个月订单中收货最多的收货地址所在市
    address_max_city_3m:最近3个月订单中收货最多的收货地址所在市
    address_max_city_6m:最近6个月订单中收货最多的收货地址所在市
    address_max_detail_1m:最近1个月订单中收货最多的收货地址
    address_max_detail_3m:最近3个月订单中收货最多的收货地址
    address_max_detail_6m:最近6个月订单中收货最多的收货地址
    address_max_district_1m:最近1个月订单中收货最多的收货地址所在区县
    address_max_district_3m:最近3个月订单中收货最多的收货地址所在区县
    address_max_district_6m:最近6个月订单中收货最多的收货地址所在区县
    address_max_name_1m:最近1个月订单中收货最多的收货人
    address_max_name_3m:最近3个月订单中收货最多的收货人
    address_max_name_6m:最近6个月订单中收货最多的收货人
    address_max_phone_1m:最近1个月订单中收货最多的手机号码
    address_max_phone_3m:最近3个月订单中收货最多的手机号码
    address_max_phone_6m:最近6个月订单中收货最多的手机号码
    address_max_province_1m:最近1个月订单中收货最多的收货地址所在省
    address_max_province_3m:最近3个月订单中收货最多的收货地址所在省
    address_max_province_6m:最近6个月订单中收货最多的收货地址所在省
    order_avg_amount_1m:最近1个月订单的平均金额
    order_avg_amount_3m:最近3个月订单的平均金额
    order_avg_amount_6m:最近6个月订单的平均金额
    order_avg_pkg_1m:最近1个月订单的平均商品数
    order_avg_pkg_3m:最近3个月订单的平均商品数
    order_avg_pkg_6m:最近6个月订单的平均商品数
    order_max_amount_1m:最近1个月订单的最高金额
    order_max_amount_3m:最近3个月订单的最高金额
    order_max_amount_6m:最近6个月订单的最高金额
    order_max_pkg_1m:最近1个月订单的最高商品数
    order_max_pkg_3m:最近3个月订单的最高商品数
    order_max_pkg_6m:最近6个月订单的最高商品数
    order_sum_1m:最近1个月订单的总订单数
    order_sum_3m:最近3个月订单的总订单数
    order_sum_6m:最近6个月订单的总订单数
    order_sum_amount_1m:最近1个月订单的总金额
    order_sum_amount_3m:最近3个月订单的总金额
    order_sum_amount_6m:最近6个月订单的总金额
    order_sum_pkg_1m:最近1个月订单的总商品数
    order_sum_pkg_3m:最近3个月订单的总商品数
    order_sum_pkg_6m:最近6个月订单的总商品数
    all_fee:订单总额
    all_cnt:订单数量
    all_prd_cnt:订单商品数量
    personal_fee:本人订单总额
    personal_cnt:本人订单数量
    personal_proportion:本人订单商品占比
    personal_prd_cnt:本人订单商品数量
    virtual_fee:虚拟物品订单总额
    virtual_cnt:虚拟物品订单数量
    virtual_prd_cnt:虚拟物品订单商品数量
    virtual_proportion:虚拟物品订单总额占比
    telephone_cnt_dict:收货人联系电话次数统计字典
    telephone_proportion_dict:收货人联系电话占比统计字典
    telephone_list:收货人联系电话列表
    """
    orders = params["order"]
    if any(filter(lambda x: x['status'] in ['充值成功', '已完成'], orders)):
        status_num = 0
        for i in range(len(orders)):
            if orders[i]['status'] in ['充值成功', '已完成']:
                status_num = i
        month = "".join(orders[status_num]["dealtime"].split('-')[:2])
    else:
        month = ''.join(TimeFormat.getnow().split('-')[:2])
    consumption_analysis_dict = result["consumption_analysis_dict"][month]
    if result_key in (
            "order_sum_1m", "order_sum_amount_1m", "order_max_amount_1m",
            "order_avg_amount_1m", "order_sum_pkg_1m", "order_max_pkg_1m",
            "order_avg_pkg_1m", "address_max_name_1m", "address_max_phone_1m",
            "address_max_detail_1m", "address_max_province_1m",
            "address_max_city_1m", "address_max_district_1m", "order_sum_3m",
            "order_sum_amount_3m", "order_max_amount_3m",
            "order_avg_amount_3m", "order_sum_pkg_3m", "order_max_pkg_3m",
            "order_avg_pkg_3m", "address_max_name_3m", "address_max_phone_3m",
            "address_max_detail_3m", "address_max_province_3m",
            "address_max_city_3m", "address_max_district_3m", "order_sum_6m",
            "order_sum_amount_6m", "order_max_amount_6m",
            "order_avg_amount_6m", "order_sum_pkg_6m", "order_max_pkg_6m",
            "order_avg_pkg_6m", "address_max_name_6m", "address_max_phone_6m",
            "address_max_detail_6m", "address_max_province_6m",
            "address_max_city_6m", "address_max_district_6m"):
        return str(result["order_result_dict"][result_key])
    elif result_key in ("all_fee", "all_cnt", "all_prd_cnt", "personal_fee",
                        "personal_cnt", "personal_prd_cnt", "virtual_fee",
                        "virtual_cnt", "virtual_prd_cnt",
                        "personal_proportion", "virtual_proportion"):
        return str(consumption_analysis_dict[result_key])
    elif result_key in ("telephone_cnt_dict", "telephone_proportion_dict"):
        result_dict = consumption_analysis_dict[result_key]
        value_list = [t for t in result_dict.values()]
        if len(result_dict) >= 1:
            return str(value_list[0])
        else:
            return ''
    elif result_key == "telephone_list":
        telephone_list = consumption_analysis_dict["telephone_list"]
        if len(telephone_list) >= 1:
            return str(telephone_list[0])
        else:
            return ''
    elif result_key in ("top_n_address", "receiver_name", "receiver_phone",
                        "first_create_time", "last_create_time",
                        "order_sum_fee", "order_cnt"):
        top_address_dict = result["top_address_dict"]
        if "top_1" in top_address_dict.keys():
            return str(top_address_dict["top_1"][result_key])
        else:
            return ''
    elif result_key == "first_deal_delta_monhs":
        return str(result["base_analyse_dict"][result_key])
 def test_004_device_save(self):
     # 保存设备记录
     f.test_device_save('', orgCode, c.devicetypecode, c.devicemoudelCode,
                        c.deviceCode, '001', tf.getnow_day())
Esempio n. 26
0
def modif(data, modif_key, modif_value):
    """
    修改京东请求数据
    :param data:
    :param modif_key:
    :param modif_value:
    :return:
    address: 收件人地址
    status:订单状态
    dealtime:下单时间
    name:收件人姓名
    telephone:收件人电话
    amount:订单总价
    goodsPrice:商品单价
    goodsNum:商品数量
    goodsName:商品名称
    amount_total: 总价格
    orderNum:订单数量,查询第一条订单后循环生成相同订单,配合其他条件使用
    """
    if modif_key == "address":
        data["order"][0]["address"] = modif_value
    elif modif_key == "status":
        data["order"][0]["status"] = modif_value
    elif modif_key == "dealtime":
        start, end = get_data(modif_value)
        data["order"][0]["dealtime"] = TimeFormat.random_time(start, end)
    elif modif_key == "first_deal_time":
        if modif_value == '7':
            data["first_deal_time"] = TimeFormat.get_day_end_time(-7)
        else:
            # num = int(modif_value) * 30
            data["first_deal_time"] = TimeFormat.get_month_ago(
                int(modif_value))
    elif modif_key == "name":
        data["order"][0]["name"] = modif_value
    elif modif_key == "telephone":
        data["order"][0]["telephone"] = modif_value
    elif modif_key == "amount":
        data["order"][0]["amount"] = modif_value
    elif modif_key == "goodsPrice":
        data["order"][0]["goods"][0]["goodsPrice"] = FileUtils.str_to_num(
            modif_value)
    elif modif_key == "goodsNum":
        data["order"][0]["goods"][0]["goodsNum"] = FileUtils.str_to_num(
            modif_value)
    elif modif_key == "goodsName":
        data["order"][0]["goods"][0]["goodsName"] = modif_value
    elif modif_key == "amount_total":
        data["order"][0]["amount_total"] = "商品总金额:¥{}".format(
            FileUtils.str_to_num(modif_value))
    elif modif_key == 'orderNum':
        order_info = data["order"][0]
        dealtime = order_info['dealtime'].split(' ')[0]
        orders_info = list()
        for _ in range(int(modif_value)):
            o = copy.deepcopy(order_info)
            o['orderid'] = MockData.strNumber(11)
            o['dealtime'] = TimeFormat.random_time(dealtime + ' 00:00:01',
                                                   dealtime + ' 23:59:59')
            orders_info.append(o)
        data["order"] = orders_info
Esempio n. 27
0
def special(key, value):
    """
    处理特殊规则
    :param key: 规则key值
    :param value: 修改规则值
    :return:
    """
    if key in [
            'V04_1010', 'V04_1011', 'V04_1012', 'V05_1015', 'V05_1016',
            'V05_1017'
    ]:
        # value 传入数据格式 int 如5,-7
        result = TimeFormat.get_day_start_time(FileUtils.str_to_num(value))
    elif key in ['V01_3001', 'V01_3002', 'V01_1001']:
        # value 传入数据格式 int 如5,-7 , 0.0, 0.1
        result = FileUtils.str_to_num(value)
    elif key == 'V03_1045':
        V03_1045 = [{
            "call_cnt_6m": 304,
            "peer_num": "15775800488",
            "call_cnt_1m": 6,
            "call_cnt_3m": 140,
            "call_cnt_1w": 9
        }]
        #  value 传入数据格式 phone;num
        v = re.split('[;;]', value)
        num = FileUtils.str_to_num(str(v[1]))
        tmp = {
            "call_cnt_6m": 304,
            "peer_num": v[0],
            "call_cnt_1m": num,
            "call_cnt_3m": 140,
            "call_cnt_1w": 9
        }
        V03_1045.append(tmp)
        result = V03_1045
    elif key == 'V03_1046':
        # value传入格式phone1;phone2;phone3
        v = re.split('[;;]', value)
        result = [{
            "top_item": [{
                "peer_number": v[0]
            }, {
                "peer_number": v[1]
            }, {
                "peer_number": v[2]
            }],
            "key":
            "peer_num_top3_3m"
        }, {
            "top_item": [{
                "peer_number": v[3]
            }, {
                "peer_number": v[4]
            }, {
                "peer_number": v[5]
            }],
            "key":
            "peer_num_top3_6m"
        }]
    elif key == 'V01_1010':
        # value传入格式 intV05_1015
        result = str([{
            "name": "{}".format(fake.name()),
            "phones": ["{}".format(fake.phone_number())]
        } for _ in range(int(FileUtils.str_to_num(value)))
                      ]).replace('\'', '\"')
    elif key == 'V03_1002':
        result = str(int(FileUtils.str_to_num(value)))
    else:
        result = value
    return result
Esempio n. 28
0
def modif(data, modif_key, modif_value):
    """
    修改请求数据
    :param data: 请求数据
    :param modif_key:  修改请求数据参数
    :param modif_value: 修改值
    :return:
    carrier: 运营商类型 (联通、移动、电信)
    open_time: 开户时长 (天)
    sex:男,女
    age: 年龄
    total_fee:账期内所有费用
    web_fee:网络流量消费金额(分)
    voice_fee:通话消费金额(分)
    sms_fee:短信消费金额(分)
    extra_service_fee:增值业务消费金额(分)
    extra_fee:其它消费金额(分)
    base_fee:基础消费金额
    sms_cnt:短信次数 (数字)
    sms_fees:短信费用
    location:朋友圈中心城市
    peer_number:朋友联系数量
    location_type:号码类型;国内通话
    dial_type:主叫,被叫 DAIL,DAILED
    duration: 通话时长(秒)
    fee: 通话费用
    time: 通话时段 (早晨,上午,中午,下午,傍晚,晚上,凌晨,深夜)
        早晨(5:30:00-9:00:00)
        上午(9:00:00-11:30:00)
        中午(11:30:00-13:30:00)
        下午(13:30:00-17:30:00)
        傍晚(17:30:00-19:30:00)
        晚上(19:30:00-23:30:00)
        凌晨(23:30:00-01:30:00)
        深夜(01:30:00-05:30:00)
    time2: 通话时段
        早晨(5:30-11:30)
        中午(11:30-13:30)
        下午(13:30-17:30)
        晚上(17:30-23:30)
        凌晨(23:30-5:30)
    time3: 通话时段 0-7点,不用输入参数修改值
    total_size:通话次数
    bill_month:通话月份 (7,1,3,6)
    calls: 通话信息条数 (数字)
    """
    if re.sub('\s+', '', modif_value) == '':
        modif_value = 'null'
    if modif_key == 'carrier':
        # modif_value 输入 联通、移动、电信
        if modif_value in carriers.keys():
            modif_value = carriers[modif_value]
        data["carrier"] = modif_value
    elif modif_key == 'open_time':
        # 输入数字,距离当前时间的天数
        if modif_value.isdigit():
            modif_value = TimeFormat.get_day_around(-int(modif_value))
        data["open_time"] = modif_value
    elif modif_key == 'sex':
        # 输入男、女,自动生成 idcard
        idcard = list(data["idcard"])
        if modif_value == '女':
            v = random.choice('02468')
            idcard[16] = str(v)
            data["idcard"] = ''.join(idcard)
        elif modif_value == '男':
            v = random.choice('13579')
            idcard[16] = str(v)
            data["idcard"] = ''.join(idcard)
        else:
            data["idcard"] = modif_value
    elif modif_key == 'age':
        # 输入年龄,自动生成 idcard
        if modif_value.isdigit():
            idcard = list(data["idcard"])
            time_now = TimeFormat.getnow_day()
            year, month, day = time_now.split('-')
            y = int(year) - int(modif_value)
            idcard[6:14] = ''.join([str(y), month, day])
            data["idcard"] = ''.join(idcard)
        else:
            data["idcard"] = modif_value
    elif modif_key == 'city':
        data["city"] = modif_value
    elif modif_key == 'total_fee':
        data["bills"][0]["total_fee"] = modif_value
    elif modif_key == 'web_fee':
        data["bills"][0]["web_fee"] = modif_value
    elif modif_key == 'voice_fee':
        data["bills"][0]["voice_fee"] = modif_value
    elif modif_key == 'sms_fee':
        data["bills"][0]["sms_fee"] = modif_value
    elif modif_key == 'extra_service_fee':
        data["bills"][0]["extra_service_fee"] = modif_value
    elif modif_key == 'extra_fee':
        data["bills"][0]["extra_fee"] = modif_value
    elif modif_key == 'base_fee':
        data["bills"][0]["base_fee"] = modif_value
    elif modif_key == 'sms_cnt':
        # 输入数字, 自动生成对应数字的短信条数
        if modif_value.isdigit():
            sms = data['smses'][0]
            data['smses'] = [sms for _ in range(int(modif_value))]
        else:
            data['smses'] = []
    elif modif_key == 'sms_fees':
        data['smses'][0]['items'][0]['fee'] = modif_value
    elif modif_key == 'location':
        data["calls"][0]['items'][0]['location'] = modif_value
    elif modif_key == 'peer_number':
        data["calls"][0]['items'][0]['peer_number'] = modif_value
    elif modif_key == 'location_type':
        data["calls"][0]['items'][0]['location_type'] = modif_value
    elif modif_key == 'dial_type':
        # 输入 DAIL 或者 DAILED
        calls = data["calls"][0]
        call = copy.deepcopy(calls)
        call['items'][0]['dial_type'] = modif_value
        data["calls"][0] = call
    elif modif_key == 'duration':
        if modif_value.isdigit():
            modif_value = int(modif_value)
        data["calls"][0]['items'][0]['duration'] = modif_value
    elif modif_key == 'fee':
        data["calls"][0]['items'][0]['fee'] = modif_value
    elif modif_key == 'time':
        # 输入时间段
        #         早晨(5:30:00-9:00:00)
        #         上午(9:00:00-11:30:00)
        #         中午(11:30:00-13:30:00)
        #         下午(13:30:00-17:30:00)
        #         傍晚(17:30:00-19:30:00)
        #         晚上(19:30:00-23:30:00)
        #         凌晨(23:30:00-01:30:00)
        #         深夜(01:30:00-05:30:00)
        if modif_value in ('早晨', '上午', '中午', '下午', '傍晚', '晚上', '凌晨', '深夜'):
            sev_time = data["calls"][0]['items'][0]['time']
            sev_day = sev_time.split(' ')[0]
            data["calls"][0]['items'][0]['time'] = get_time_step(
                sev_day, modif_value)
        else:
            data["calls"][0]['items'][0]['time'] = modif_value
    elif modif_key == 'time2':
        # 输入时间段
        #         早晨(5:30-11:30)
        #         中午(11:30-13:30)
        #         下午(13:30-17:30)
        #         晚上(17:30-23:30)
        #         凌晨(23:30-5:30)
        if modif_value in ('早晨', '中午', '下午', '晚上', '凌晨'):
            sev_time = data["calls"][0]['items'][0]['time']
            sev_day = sev_time.split(' ')[0]
            data["calls"][0]['items'][0]['time'] = get_time_step2(
                sev_day, modif_value)
        else:
            data["calls"][0]['items'][0]['time'] = modif_value
    elif modif_key == 'time3':
        # 输入时间段, 不用输入修改参数值, 直接获取 0-7点
        sev_time = data["calls"][0]['items'][0]['time']
        sev_day = sev_time.split(' ')[0]
        data["calls"][0]['items'][0]['time'] = get_time_step07(sev_day)
    elif modif_key == 'total_size':
        if modif_value.isdigit():
            modif_value = int(modif_value)
        data["calls"][0]['total_size'] = modif_value
    elif modif_key == 'bill_month':
        # 输入修改的月份 7,1,3,6; 7代表7天,其余的都是月份
        times = data["calls"][0]['items'][0]['time']
        time_hmc = times.split(' ')[-1]
        if modif_value == '7':
            start_day = TimeFormat.get_day_around(-7)
            bill_month = '-'.join(start_day.split('-')[:2])
            month_start_date, month_end_date = TimeFormat.get_FirstAndLastDay_month(
                bill_month)
            e_time = start_day + ' ' + time_hmc
            e_time_num = int(TimeFormat.string_toTimestamp_13(e_time))
            n_hms = TimeFormat.getnow().split(' ')[-1]
            n_time_num = int(
                TimeFormat.string_toTimestamp_13(start_day + ' ' + n_hms))
            if e_time_num <= n_time_num:
                e_time = TimeFormat.get_day_around(1,
                                                   start_day) + ' ' + time_hmc
            data["calls"][0]['bill_month'] = bill_month
            data["calls"][0]['items'][0]['time'] = e_time
            data["smses"][0]['bill_month'] = bill_month
            data["smses"][0]['items'][0]['time'] = e_time.replace(' ', '-')
            data["bills"][0]['bill_month'] = bill_month
            data["bills"][0]['bill_start_date'] = month_start_date
            data["bills"][0]['bill_end_date'] = month_end_date
        elif modif_value in ('1', '3', '6'):
            month_day = TimeFormat.get_month_day_ago(int(modif_value))
            year, month, day = month_day.split('-')
            bill_month = year + '-' + month
            month_start_date, month_end_date = TimeFormat.get_FirstAndLastDay_month(
                bill_month)
            data["calls"][0]['bill_month'] = bill_month
            e_time = month_day + ' ' + time_hmc
            e_time_num = int(TimeFormat.string_toTimestamp_13(e_time))
            n_hms = TimeFormat.getnow().split(' ')[-1]
            n_time_num = int(
                TimeFormat.string_toTimestamp_13(month_day + ' ' + n_hms))
            if e_time_num <= n_time_num:
                e_time = TimeFormat.get_day_around(1,
                                                   month_day) + ' ' + time_hmc
            data["calls"][0]['items'][0]['time'] = e_time
            data["smses"][0]['bill_month'] = bill_month
            data["smses"][0]['items'][0]['time'] = e_time.replace(' ', '-')
            data["bills"][0]['bill_month'] = bill_month
            data["bills"][0]['bill_start_date'] = month_start_date
            data["bills"][0]['bill_end_date'] = month_end_date
        else:
            data["calls"][0]['bill_month'] = modif_value
            data["smses"][0]['bill_month'] = modif_value
            data["bills"][0]['bill_month'] = modif_value
    elif modif_key == 'calls':
        # 输入数字,自动生成通话条数
        if modif_value.isdigit():
            calls = data["calls"][0]
            call = copy.deepcopy(calls)
            data["calls"] = [call for _ in range(int(modif_value))]
        else:
            data["calls"] = []
Esempio n. 29
0
def get_jgPushId():
    # 手机号 + 毫秒级时间戳(13位)
    jgPushId = "{0}{1}".format(app_phone, TimeFormat.get_now_time_13())
    return jgPushId
Esempio n. 30
0
def yys_modif(yys_data, modif_key, modif_value):
    """
    运营商json 数据修改
    :param yys_data: 运营商json 数据
    :param modif_key: 需要修改的key
    :param modif_value: 修改后的值
    :return: yys_data
    #key定义
    V03_1001 : 账户余额
    V03_1002 : 开户时长 #
    V03_1003 : 手机号是否实名认证 #
    V03_1004 : 黑中介分数 #
    V03_1005 : 直接联系人人数
    V03_1006 : 直接联系人中黑名单人数
    V03_1007 : 间接联系人中黑名单人数
    V03_1008 : 直接联系人中引起间接黑名单占比
    V03_1009 : 查询过该用户的相关企业数量
    V03_1010 : 电话号码注册过的相关企业数量
    V03_1011 : 申请人姓名+身份证号码是否出现在法院黑名单 #
    V03_1012 : 申请人姓名+身份证号码是否出现在金融机构黑名单 #
    V03_1013 : 申请人姓名+手机号码是否出现在金融机构黑名单 #
    V03_1014 : 近1月关机天数
    V03_1015 : 近3月关机天数
    V03_1016 : 近6月关机天数
    V03_1017 : 近1月连续3天以上关机次数
    V03_1018 : 近3月连续3天以上关机次数
    V03_1019 : 近6月连续3天以上关机次数
    V03_1020 : 近1月无通话天数
    V03_1021 : 近3月无通话天数
    V03_1022 : 近6月无通话天数 #
    V03_1023 : 近1月互通电话的号码数目
    V03_1024 : 近3月互通电话的号码数目 #
    V03_1025 : 近6月互通电话的号码数目 #
    V03_1026 : 与贷款公司近1月通话次数
    V03_1027 : 与贷款公司近3月通话次数
    V03_1028 : 与贷款公司近6月通话次数
    V03_1029 : 与贷款公司近1月通话时长
    V03_1030 : 与贷款公司近3月通话时长
    V03_1031 : 与贷款公司近6月通话时长
    V03_1032 : 与催收公司近1月通话次数
    V03_1033 : 与催收公司近3月通话次数
    V03_1034 : 与催收公司近6月通话次数
    V03_1035 : 与催收公司近1月通话时长
    V03_1036 : 与催收公司近3月通话时长
    V03_1037 : 与催收公司近6月通话时长
    V03_1038 : 近1月消费总金额
    V03_1039 : 近3月消费总金额
    V03_1040 : 近6月消费总金额
    V03_1041 : 近3月平均消费金额
    V03_1042 : 近6月平均消费金额
    V03_1043 : 近3月朋友圈数量
    V03_1044 : 近6月朋友圈数量
    V03_1045 : 通话详单
    V03_1046 : 朋友圈联系人top3列表
    V03_1047 : 夜间活动情况
    V03_1048 : 近3月朋友圈是否在本地
    V03_1049 : 近6月朋友圈是否在本地
    """
    try:
        if modif_key == 'V03_1002':
            # 开户时长(月)
            m_value = TimeFormat.get_day_around(
                FileUtils.str_to_num(str(modif_value)))
            LOGGER.info('V03_1002 修改值为{}'.format(m_value))
            yys_data["open_time"] = m_value
        elif modif_key == 'V03_1003':
            yys_data["state"] = modif_value  # 是否实名
        else:
            raise KeyError('the modif_key {} is error'.format(modif_key))
    except Exception as e:
        LOGGER.error(e)
    return yys_data