Пример #1
0
    def set_personal_common_info(self, id, education = None, familyAddress = None):
        """
        设置基本信息
        POST http://lambda-web-test.ronaldinho.svc.cluster.local/cust/infos/personal/update HTTP/1.1
        :return:
        """
        cust = self.cust_infos_id_personal_view(id)

        if cust['data']['education'] == '':
            education = choice(["ZJ", "ZK", "BK", "YJS", "CZ"])
        else:
            education = cust['data']['education']

        if cust['data']['familyAddress'] == '':
            familyAddress = self._faker.street_address()
        else:
            familyAddress = cust['data']['familyAddress']
        params = {
            "id": id,
            "education": education,
            "familyAddress": familyAddress,
            "custEdit": "true",
            "customerType": "NORMAL",   # 客户业务类型:NORMAL正常 , RICH富农贷客户 ,
            "creditCustType": "GR",
            "creditCustId": id,
            "creditCustName": cust['data']['baseInfo']['custName'],
            "creditIdCardNo": cust['data']['baseInfo']['idCode'],
            "creditMobilePhone": cust['data']['baseInfo']['mobilePhone'],
            "custKind": ["1", "2"],
            "idExpire": "",
            "country": "1",
            "nation": "1",
            "familyProvinceId": cust['data']['familyProvinceId'],
            "familyCityId": cust['data']['familyCityId'],
            "familyCountyId": cust['data']['familyCountyId'],
            "healthCondition": "ZC",
            "maritalCondition": "1",
            "isLimitless": "",
            "addressType": "20",
            "residenceCondition": "70",
            "residenceProvinceId": cust['data']['residenceProvinceId'],
            "residenceCityId": cust['data']['residenceCityId'],
            "residenceCountyId": cust['data']['residenceCountyId'],
            "residencePhone": "",
            "residenceAddress": cust['data']['residenceAddress'],
            "familyCount": "1",
            "familyDesc": "无",
            "workYear": "1",
            "workDesc": "无",
            "baseInfo": {
                "correlationRemark": "",                # 关联企业说明
                "custKind": "1,2",                         # 客户类型,(字典:CUST_INFO_KIND。多选项:二进制存储,1-是,0-否,顺序如下:合作商|担保客户|贷款客户,如:111表示三者都是,011表示担保客户和贷款客户,100表示合作商) ,
                "correlationRelationship": "false",   # 是否为关联关系 ,
                "mobilePhone": cust['data']['baseInfo']['mobilePhone'],
                "loginMobilePhone": cust['data']['baseInfo']['loginMobilePhone']
            }
        }
        url = '%s/cust/infos/personal/update' % self._lambda_url
        res = self._request.post(url, json = params)
        ret = check_json_response(res)
Пример #2
0
 def logout(self):
     url = "%s/logout" % self.interface_url
     load = {}
     headers = self.session.headers.copy()
     headers['Content-Type'] = "application/x-www-form-urlencoded"
     resp = self.session.post(url, data=load, headers=headers)
     ret = check_json_response(resp)
Пример #3
0
    def transfer_manager(self, cust_name, cust_manager_name,
                         new_cust_manager_name):
        """
        管户经理变更
        :return:
        http://lambda-web-test.ronaldinho.svc.cluster.local/transfer/cust/manager/record/updateCustManager
        """

        # 查询管户经理
        old_cust_manager_name, old_cust_manager_id, old_cust_manager_orgid = self.get_cust_manager(
            cust_manager_name)
        cust = self.cust_infos_queryByName(cust_name)
        cust_id = cust['id']
        new_cust_manager_name, new_cust_manager_id, new_cust_manager_orgid = self.get_cust_manager(
            new_cust_manager_name)
        params = {
            "custIds": cust_id,
            "oldCustManagerId": old_cust_manager_id,
            "oldCustOrgId": old_cust_manager_orgid,
            "newCustManagerId": new_cust_manager_id,
            "newCustOrgId": new_cust_manager_orgid,
        }
        url = '%s/transfer/cust/manager/record/updateCustManager' % self._lambda_url
        res = self._request.post(url, data=params)
        ret = check_json_response(res)
Пример #4
0
    def _custInfo_platform_person_add(self,
                                      realName,
                                      idCardNo,
                                      authList,
                                      custId,
                                      userRole="BORROWERS"):
        """
        个人借款账户绑卡
        :param realName:
        :param idCardNo:
        :param authList:
        :param custId:
        :return:
        """
        url = "%s/custInfo/platform/person/add" % self.interface_url

        load = {
            "realName": realName,
            "idCardNo": idCardNo,
            "authList": authList,
            "custId": custId,
            "userRole": userRole,
            "frontUrl": None,
        }
        resp = self.session.post(url, json=load)
        ret = check_json_response(resp)
        return ret
Пример #5
0
    def _custInfo_platform_company_add(self, mobile, unifiedCode, authList,
                                       custId, userRole):
        """
        企业借款账户绑卡
        :param mobile:
        :param unifiedCode:
        :param authList:
        :param custId:
        :return:

        """
        url = "%s/custInfo/platform/company/add" % self.interface_url
        bankcardNo = self._faker.credit_card_number()
        contactName = self._faker.name()

        load = {
            "unifiedCode": unifiedCode,
            "bankcode": "FJIB",
            "bankcardNo": bankcardNo,
            "contactName": contactName,
            "mobile": mobile,
            "authList": authList,
            "custId": custId,
            "userRole": userRole,
            "bankName": "兴业银行",
            "frontUrl": None
        }
        resp = self.session.post(url, json=load)
        ret = check_json_response(resp)
        return ret
Пример #6
0
    def create_product(self, name1, name2, name3, remark, accountingBelonging,
                       displayable, custType, accountingSubjectDes):
        """
        创建产品
        :return:
        """
        # 查询已有的产品树
        tree = self.prod_childproduct_displayable_tree()
        # 找一级产品
        level1_product = [x for x in tree['data'] if x['pId'] == 0]
        p = [x for x in level1_product if x['name'] == name1]
        assert len(p) > 0, "没有找到一级产品 %s" % name1
        p = p[0]
        p1id = p['id']

        p2 = [
            x for x in tree['data'] if x['name'] == name2 and x['pId'] == p1id
        ]
        if name3 == "X":
            # 创建二级产品
            if len(p2) > 0:
                logger.info("已经存在名为 %s 的产品了!" % name2)
                return False
            else:
                pid = p1id
                name = name2
        else:
            # 创建三级产品
            if len(p2) == 0:
                raise AssertionError("没有找到二级产品 %s" % name2)
            else:
                p2 = p2[0]
                p2id = p2['id']
                p3 = [
                    x for x in tree['data']
                    if x['name'] == name3 and x['pId'] == p2id
                ]
                if len(p3) > 0:
                    logger.info("已经存在名为 %s 的产品了!" % name3)
                    return False

                pid = p2['id']
                name = name3
        params = {
            "id": pid,
            "name": name,
            "displayable": displayable,
            "accountingBelonging": accountingBelonging,
            "custType": custType,
            # 暂时直接结算主体为农金圈
            "accountingSubject": "1",
            "accountingSubjectDes": "农金圈",
            "remark": remark,
        }
        url = '%s/prod/childproduct/create' % self._lambda_url
        res = self._request.post(url, json=params)
        ret = check_json_response(res)
Пример #7
0
 def update_password(self, newPassword):
     url = "%s/update-password" % self.interface_url
     load = {
         "newPassword": newPassword,
     }
     headers = self.session.headers.copy()
     headers['Content-Type'] = "application/x-www-form-urlencoded"
     resp = self.session.post(url, data=load, headers=headers)
     ret = check_json_response(resp)
     aaa = 1
Пример #8
0
 def prod_childproduct_displayable_tree(self):
     """
     GET /prod/childproduct/displayable_tree
     获取需要展示的产品树
     :return:
     """
     url = '%s/prod/childproduct/displayable_tree' % self._lambda_url
     res = self._request.get(url, )
     ret = check_json_response(res)
     return ret
Пример #9
0
 def login_with_sms(self, username, smsCode, captchaCode=None):
     url = "%s/login" % self.interface_url
     load = {
         "username": username,
         "smsCode": smsCode,
         "captchaCode": captchaCode
     }
     resp = self.session.post(url, json=load)
     ret = check_json_response(resp)
     return ret['data']['registered'], ret['data']['passwordReset']
Пример #10
0
    def _cust_platform_accout_getAccountList(self):
        """
        存管账户列表页

        获取所有相关用户的借款账户,担保账户信息
        :return:
        """
        url = "%s/cust/platform/accout/getAccountList" % self.interface_url
        resp = self.session.get(url)
        ret = check_json_response(resp)
        print(ret)
        return ret
Пример #11
0
 def _cust_platform_accout_add_init(self, custId, userRole="BORROWERS"):
     """
     绑卡初始化
     :return:
     """
     url = "%s/cust/platform/accout/add/init" % self.interface_url
     load = {
         "custId": custId,
         "userRole": userRole,
     }
     resp = self.session.get(url, params=load)
     ret = check_json_response(resp)
     return ret
Пример #12
0
    def cust_platform_accout_getAccountList(self):
        """
        存管账户列表页

        获取所有相关用户的借款,担保账户信息
        :return:
        """
        url = "%s/cust/platform/accout/getAccountList" % self.interface_url
        load = {}

        resp = self.session.get(url, params=load)
        ret = check_json_response(resp)
        return ret
Пример #13
0
    def cust_infos_id_personal_view(self, custId, applyCode = None):
        """
        GET /cust/infos/personal/view   个人信息-详情
        :return:

        "http://lambda-web-test.ronaldinho.svc.cluster.local/cust/infos/personal/view?_ukey=5381&r=0.6827423719274031&custId=29&applyCode="
        """
        params = {
            "custId": custId,
            "applyCode":applyCode,
        }
        url = '%s/cust/infos/personal/view' % self._lambda_url
        res = self._request.get(url, params=params)
        ret = check_json_response(res)
        return ret
Пример #14
0
 def submit_register(self, name, idCardNo, provinceId, cityId, countyId,
                     registerArea, address, mobile):
     url = "%s/custInfo/register/submitRegister" % self.interface_url
     load = {
         "name": name,
         "idCardNo": idCardNo,
         "provinceId": provinceId,
         "cityId": cityId,
         "countyId": countyId,
         "registerArea": registerArea,
         "address": address,
         "mobile": mobile,
         "createChannel": 60
     }
     resp = self.session.post(url, json=load)
     ret = check_json_response(resp)
Пример #15
0
    def create_plant_business(self, custId, plantYear = 5, isMain = True):
        """
        新增种植业务
        :param plantYear:
        :return:

        POST http://lambda-web-test.ronaldinho.svc.cluster.local/cust/business/new/create HTTP/1.1
        """
        params = {
            "custId":custId,
            "businessType": "ZZ",
            "plantYear": plantYear,
            "isMain": isMain,

        }
        url = '%s/cust/business/new/create' % self._lambda_url
        res = self._request.post(url, json = params)
        ret = check_json_response(res)
Пример #16
0
 def cust_infos_queryByName(self, name):
     """
     获取客户信息
     :param name:
     :return:
     GET /cust/infos/queryByName
     """
     params = {
         "name": name,
     }
     url = '%s/cust/infos/queryByName' % self._lambda_url
     res = self._request.get(url, params=params)
     ret = check_json_response(res)
     if len(ret['data']) == 0:
         raise AssertionError("没有找到名为 %s 的管户经理 !" % name)
     elif len(ret['data']) > 1:
         logger.warn("%s 对应不止一个管户经理,暂时只选择第一个!")
     c = ret['data'][0]
     return c
Пример #17
0
    def get_cust_manager(self, name):
        """
        查询管户经理
        :param name:
        :return:

        "http://lambda-web-test.ronaldinho.svc.cluster.local/transfer/cust/manager/record/selectCustManager?_ukey=5381&r=0.13963574590581307&custManagerName=admin"
        """
        params = {
            "custManagerName": name,
        }
        url = '%s/transfer/cust/manager/record/selectCustManager' % self._lambda_url
        res = self._request.get(url, params=params)
        ret = check_json_response(res)
        if len(ret['data']) == 0:
            raise AssertionError("没有找到名为 %s 的管户经理 !" % name)
        elif len(ret['data']) > 1:
            logger.warn("%s 对应不止一个管户经理,暂时只选择第一个!")
        c = ret['data'][0]
        return c['custManagerName'], c['custManagerId'], c['custOrgId']
Пример #18
0
 def submit_register(self, mobile):
     name = self._faker.name()
     idCardNo =  self._faker.person_id()
     provinceId = 111
     cityId = 111
     countyId = 111
     registerArea = self._faker.city()
     address = self._faker.street_address()
     url = "%s/custInfo/register/submitRegister" % self.interface_url
     print(url)
     load = {
         "name": name,
         "idCardNo": idCardNo,
         "provinceId": provinceId,
         "cityId": cityId,
         "countyId": countyId,
         "registerArea": registerArea,
         "address": address,
         "mobile": mobile,
         "createChannel":60
     }
     resp = self.session.post(url, json = load)
     ret = check_json_response(resp)