def get_labor(self, url, LaborName=None): """ # 获取招聘、派遣端录名单时需要的去向 :param url: 调用获取去向劳务的接口地址,必填 :param LaborName: 去向劳务,可选,默认为空 :return: """ res = self.create_api(url).json() if url == get_labor: self.TargetSpId = int(get_api_result(res, 'SpId')[0]) self.SpName = get_api_result(res, 'SpShortName')[0] else: # 企业不为空,获取企业列表 laborlist = res['Data']['RecordList'] # 遍历列表寻找指定名称的id,找到id后赋值给SpEntID,没找到传入的名称抛出异常 for labor in laborlist: if labor['SpShortName'] == LaborName: self.TargetSpId = labor['SpId'] self.SpName = LaborName break # 打印日志 if self.TargetSpId: logger.info(f'获取到去向:{self.SpName},{self.TargetSpId}') else: logger.error(f'未找到去向:{LaborName}') raise return res
def test_threecardflow(self): # 先获取当天录入的名单手机号码,姓名,身份证号 namemanage = NameList() namemanage.login(send_boss_user) namemanage.get_nameList(starttime=nowtime, endtime=nowtime, ScannerMobile=send_boss_user, RecordSize=1000) mobiles = namemanage.getMobilelist names = namemanage.getrealnamelist idcardnums = namemanage.getidcardlist ents = namemanage.getentlist # 初始化审核身份证对象,并登陆 mem_manage = Member_information_management_func() mem_manage.login(send_boss_user) # 根据获取的手机号码依次登陆上传三卡并认证 n = len(mobiles) for i in range(n): # 登陆 member = Applet_func() member.applogin(mobiles[i]) # 上传身份证 member.upload_idcard() # 审核身份证 mem_manage.audit_idcard(idcardnum=idcardnums[i], rname=names[i], phone=mobiles[i]) # 断言-检查身份证审核状态 idcard_res = mem_manage.get_idcardlist(phone=mobiles[i], RegTimeBegin=nowtime, RegTimeEnd=nowtime) AuditSts = get_api_result(idcard_res, 'AuditSts')[0] self.assertEqual(AuditSts, 2) # 上传银行卡 member.upload_bankcard(bankname=bankname) # 审核银行卡 bankcardnum = create_bankcard() mem_manage.audit_bankcard(bankcardnum=bankcardnum, bankname=bankname, phone=mobiles[i]) # 断言-检查银行卡审核状态 bank_res = mem_manage.get_bankcardlist(phone=mobiles[i], UploadTimeBegin=nowtime, UploadTimeEnd=nowtime) AuditSts = get_api_result(bank_res, 'AuditSts')[0] self.assertEqual(AuditSts, 2) # 上传工牌 member.upload_workcard(entname=ents[i]) # 审核工牌 workcardno = create_workcardno() mem_manage.audit_workcard(entshortname=ents[i], workcardno=workcardno, phone=mobiles[i]) workcar_res = mem_manage.get_workcardlist(phone=mobiles[i], UploadTimeBegin=nowtime, UploadTimeEnd=nowtime) AuditSts = get_api_result(workcar_res, 'AuditSts')[0] self.assertEqual(AuditSts, 2)
def create_order_pq(self, entbrorrowname, ReceiverType=1, SettlementTyp=None, OrderTyp=2, OrderChargeTyp=6, OrderDt=nowtime, BeginDt=nowtime, EndDt='', PriceUnit=None): """ 派遣端创建订单 :param entbrorrowname: 企业,必选 :param ReceiverType:订单发单类型,1 门店订单,2 供应商订单 :param OrderTyp:订单类型 1 返费订单,2 周薪订单 :param SettlementTyp: 订单结算方式 1:ZX结算方式 2:Z结算方式 3:ZA结算方式 4:ZX-A :param OrderChargeTyp:订单类型 默认6 5 一周收费5天 6 一周收费6天 :param OrderDt:订单时间(报价日期) :param BeginDt:订单有效期限开始日期 :param EndDt:订单有效期限结束日期 :param PriceUnit:供应商订单参数,1 按天算服务费,2 按小时算服务费 :return: """ # 加载企业 self.get_entbrorrow(entbrorrowname) if SettlementTyp: self.SettlementTyp = SettlementTyp # 会员相关费用 OrderWeekFeeList = [ {"BeginDt": BeginDt, 'EndDt': EndDt, 'TerminateTyp': 2, 'AdvancePayAmt': 10000, 'Remark': '工资说明', 'AcpHourlyWorkAmt': 2000, 'AcpLeavedHourlyWorkAmt': 2000, 'HourlyWorkAmt': 2000, 'LeavedHourlyWorkAmt': 2000}] # 中介费 if PriceUnit==2: # 供应商政策按小时结算 OrderAgencyFee = [ {'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}] else: OrderAgencyFee = [ {'MinDays': 1, 'MaxDays': 0, 'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}, {'DaysNoMoney': 7, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}] # 服务费 OrderServiceFee = [{'PlatformSrvcFee': 0, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}] # 返费 OrderReturnFee = [{'Days': 10, 'FeeTyp': 3, 'ReturnTyp': 2, 'ReturnFee': 5000}, {'Days': 20, 'FeeTyp': 3, 'ReturnTyp': 1, 'ReturnFee': 1000}] # 获取劳务ID、name res = self.create_api(get_vlabor).json() TargetSpId = int(get_api_result(res, 'SpId')[0]) SpName = get_api_result(res, 'SpShortName')[0] # 调用接口创建订单 res = self.create_api(add_order, OrderTyp=OrderTyp, HasReturnFee=0, SettlementTyp=SettlementTyp, EmploymentTyp=1, ReceiverType=ReceiverType, SpQuota=20, InsideRemark='企业政策', OrderDt=OrderDt, EntId=self.entbrorrowid, SpEntName=entbrorrowname, TrgtSpId=TargetSpId, TrgtSpName=SpName, OrderChargeTyp=OrderChargeTyp, OrderWeekFeeList=OrderWeekFeeList, OrderAgencyFee=OrderAgencyFee, OrderServiceFee=OrderServiceFee, OrderReturnFee=OrderReturnFee, Remark='供应商备注', PriceUnit=PriceUnit) self.orderid = res.json()['Data'] return res.json()
def get_bankcardlist(self, auditsts=-9999, idcardnum='', phone='', name='', UploadTimeBegin=None, UploadTimeEnd=None): """ 获取银行卡审核列表 :param auditsts:审核状态,可选,默认全部,1 未审核,2 通过,3 未通过 :param idcardnum:会员身份证号码,可选,默认空 :param phone:会员手机号码,可选,默认空 :param name:会员姓名,可选,默认空 :return: 返回示例: {'Code': 0, 'Data': {'NeedDesen': 0, 'RecordCount': 1, 'RecordList': [{'AliBucket': 'woda-app-private-test', 'AreaName': '', 'AuditBy': '', 'AuditRemark': '', 'AuditSts': 1, 'AuditTm': '0000-00-00 00:00:00', 'BankCardNum': '', 'BankCardUrl': 'zxx/BankCard/tmp_u=108706899,646491533&fm=26&gp=0.jpg', 'BankName': '', 'CityName': '', 'IdCardAuditSts': 2, 'IdCardNum': '521953667811287984', 'IdcardFrontUrl': '', 'Mobile': '18654445366', 'ProvinceName': '', 'RealName': '同工', 'UploadTime': '2020-04-06 14:20:39.519822', 'UserBankCardAuditId': 5710, 'UserIdcardAuditId': 0}], 'UnAuditRecordCount': 62}, 'Desc': '成功'} """ #调用获取银行卡审核列表接口 res = self.create_api(BankCardInfoList_Api, SequenceUploadTime=1, RecordIndex=0, RecordSize=999, AuditSts=auditsts, IsUserDelete=-9999, Bank3keyAvlSts=-9999, Bank3keyCheckResult=-9999, IdCardNum=idcardnum, Mobile=phone, UploadTimeBegin=UploadTimeBegin, UploadTimeEnd=UploadTimeEnd, RealName=name) response = res.json() self.UserBankCardAuditId = get_api_result(response, 'UserBankCardAuditId') # pprint.pprint(response) # 返回response return response
def test_create_order_flow(self): """ 1、创建五个工种不一样的订单 2、审核订单 3、分配订单 """ entborrows = ['淳华工种1', '郑鹏工种1', '复扬工种1', '建大工种1', '明基工种1'] # 创建订单 for entborrow in entborrows: self.ordermanage.create_order_pq(entbrorrowname=entborrow, ReceiverType=2, PriceUnit=1) #查询订单 get_order_res = self.ordermanage.get_orders( CreatedBy=self.ordermanage.zt_guid, OrderStatus=1) # 审核订单 orderids = get_api_result(get_order_res, 'RcrtMainOrderId') print(orderids) for orderid in orderids: self.ordermanage.Judge_Order(auditsts=2, orderid=orderid) # 获取供应商 self.ordermanage.get_agent(agentname=agentName) # 订单分配供应商 for orderid in orderids: self.ordermanage.order_allocation_pq(agentname=agentName, OrderId=orderid)
def get_waitbindorder_pq(self, names: list, orderDt=nowtime): """ 获取待绑定订单 :param names:要绑定订单的名单姓名,只接受list :param orderDt:面试日期 :return:生成对象属性wait_bind_orderids,list类型 """ nameids = [] res = None for name in names: res = self.get_nameList(name=name, starttime=orderDt, endtime=orderDt) nameid = res['Data']['RecordList'][0]['NameID'] nameids.append(nameid) entborrowid = res['Data']['RecordList'][0]['SpEntID'] stdentid = res['Data']['RecordList'][0]['EntId'] agentid = res['Data']['RecordList'][0]['FromSpID'] res = self.create_api(GetWaitToBindZXXOrderList, OrderDt=orderDt, EntId=entborrowid, StdEntID=stdentid, NameListIds=nameids, FromSpId=agentid) self.wait_bind_orderids = get_api_result(res.json(), 'MainOrderId')
def test_name_bind_order(self): """名单绑订单""" # 定义企业列表 entborrows = ['淳华工种1', '郑鹏工种1', '复扬工种1', '建大工种1', '明基工种1'] # 在企业列表循环 for entborrow in entborrows: # 根据企业查询名单 get_name_res = self.namemanage.get_nameList( ScannerMobile=send_boss_user, SpEntName=entborrow, ScannerUserID=self.namemanage.zt_guid, RecordSize=1000) # 解析查询结果获取姓名列表和id列表 names = get_api_result(get_name_res, 'Name') nameids = get_api_result(get_name_res, 'NameID') # 根据姓名获取待绑定的订单id self.namemanage.get_waitbindorder_pq(names=names) # 名单绑定订单 self.namemanage.bind_order( orderid=self.namemanage.wait_bind_orderids[0], NameIdList=nameids)
def get_workcardlist(self, auditsts=-9999, idcardnum='', phone='', name='', UploadTimeBegin=None, UploadTimeEnd=None, RecordSize=10): """ 返回值示例: {'Code': 0, 'Data': {'NeedDesen': 0, 'RecordCount': 5, 'RecordList': [{'AuditBy': '张四风', 'AuditRemark': '', 'AuditSts': 2, 'AuditTm': '2020-04-02 17:21:51', 'EntFullName': '神达电脑科技有限公司', 'EntId': 476, 'EntShortName': '昆山昆达电脑', 'IdCardNum': '521953667811287984', 'IneterviewDate': '2020-03-25', 'InterViewEntId': 10082, 'InterViewEntShortNme': '岱哥标准', 'InterviewEntFullName': '贾岱的标准企业', 'Mobile': '18654445366', 'RealName': '同工', 'UploadTime': '2020-04-02 16:50:57.735982', 'UserWorkCardAuditId': 84128, 'WorkCardNo': '22', 'WorkCardUrl': 'zhjz/WorkCard/tmp_u=165670367,2479347840&fm=26&gp=0.jpg'}], 'UnAuditRecordcount': 5}, 'Desc': '成功'} """ #调用获取工牌列表接口 res = self.create_api(WorkCardInfoList_Api, SequenceUploadTime=2, RecordIndex=0, RecordSize=RecordSize, EntId=-9999, AuditSts=auditsts, IdCardNum=idcardnum, Mobile=phone, UploadTimeBegin=UploadTimeBegin, UploadTimeEnd=UploadTimeEnd, RealName=name) response = res.json() self.UserWorkCardAuditId = get_api_result(response, 'UserWorkCardAuditId') # pprint.pprint(response) # 返回response return response
def test_set_who_give_me(self): """设置来源""" # 调用接口设置来源 req = self.suite.set_source(FromSpName='自动化测试供应商') isok = req['Data']['ResultList'][0]['IsOk'] # 断言-检查isok字段 self.assertEqual(isok, 1) # 断言-检查该名单绑单状况 results = self.suite.get_nameList(name=self.suite.newname_pq) agent = get_api_result(results, 'FromSpName') agentid1 = get_api_result(results, 'FromSpID') self.suite.get_source(get_vagent, FromSpName='自动化测试供应商') agentid2 = self.suite.FromSpID self.assertEqual(agent[0], '自动化测试供应商') self.assertEqual(agentid1[0], agentid2) # 断言-检查数据落表 sql = f'select srce_tenant_coop_id,srce_sp_short_name from name_list where name_list_id={self.suite.newnameid_pq}' res = self.zt_db.selectsql(sql) agentid = res[0][0] agentname = res[0][1] self.assertEqual(agentid, agentid2) self.assertEqual(agentname, '自动化测试供应商')
def test_get_namelist(self): """测试查询""" # 调用接口手工录取名单 self.suite.add_name_pq(entbrorrowname='中达自动化测试预支工种', FromSpName='奇迹招聘') # 断言-全量查询当日数据 res = self.suite.get_nameList() nameidlist = get_api_result(res, 'NameID') lenth = len(nameidlist) count = res['Data']['RecordCount'] self.assertIn(self.suite.newnameid_pq, nameidlist) self.assertGreater(lenth, 0) self.assertGreater(count, 0) sql = 'select count(*) from name_list order by ' # 断言-使用企业查询名单 res = self.suite.get_nameList(SpEntName='中达自动化测试预支工种') self.assertIn(self.suite.newnameid_pq, nameidlist) entnamelist = get_api_result(res, 'SpEntName') entidlist = get_api_result(res, 'SpEntID') sql = f'select sp_ent_id from sp_ent where sp_ent_name="中达自动化测试预支工种"' results = self.zt_db.selectsql(sql) for entname in entnamelist: self.assertEqual(entname, '中达自动化测试预支工种') for entid in entidlist: self.assertEqual(entid, results[0][0])
def ali_import(self, myObjectName, myLocalFile, region='http://oss-cn-shanghai.aliyuncs.com', bucketname='woda-app-private-test'): # 调用接口 res = self.create_api(url=ALI_GetAliSTS).json() # 获取参数 api_resuil = get_api_result(res) # 定义变量 AccessKeyId = api_resuil['AccessKeyId'] AccessKeySecret = api_resuil['AccessKeySecret'] SecurityToken = api_resuil['SecurityToken'] # 上传excel到阿里云 auth = oss2.StsAuth(AccessKeyId, AccessKeySecret, SecurityToken) bucket = oss2.Bucket(auth, region, bucketname) bucket.put_object_from_file(myObjectName, myLocalFile)
def get_idcardlist(self, auditsts=-9999, phone='', name='', RegTimeBegin=None, RegTimeEnd=None): """ 获取身份证审核列表 :param auditsts:审核状态,可选,默认全部,1 未审核,2 通过,3 未通过 :param phone:会员手机号码,可选,默认空 :param name:会员姓名,可选,默认空 :return: 函数返回示例: {'Code': 0, 'Data': {'NeedDesen': 0, 'RecordCount': 1, 'RecordList': [{'AuditBy': '', 'AuditRemark': '', 'AuditSts': 1, 'AuditTm': '', 'BankCardAuditSts': 0, 'CreditScore': '', 'Guid': 313721, 'IdCardNum': '', 'IdcardFrontUrl': 'zhjz/IDCard/tmp_idcard.jpg', 'Mobile': '17256282601', 'RealName': '', 'RegTime': '2020-04-06 14:59:40.920248', 'UserIdcardAuditId': 6027}], 'UnAuditRecordCount': 234}, 'Desc': '成功'} """ #调用获取身份证审核列表接口 res = self.create_api(IDCardInfoList_Api, SequenceUploadTime=2, RecordIndex=0, RecordSize=999, AuditSts=auditsts, Mobile=phone, RegTimeBegin=RegTimeBegin, RegTimeEnd=RegTimeEnd, RealName=name) response = res.json() self.UserIdcardAuditId = get_api_result(response, 'UserIdcardAuditId') # pprint.pprint(res) # 返回response return response
def test_set_intsts(self): """设置面试状态""" # 调用接口,设置面试状态为面试通过 res = self.suite.set_interview_state(IntvSts=2) # 断言-检查接口返回 status = self.suite.status_code code = res['Code'] desc = res['Desc'] succcount = res['Data']['SuccCount'] self.assertEqual(status, 200) self.assertEqual(code, 0) self.assertEqual(desc, '成功') self.assertEqual(succcount, 1) # 断言,查询名单检查接口面试状态 res = self.suite.get_nameList(name=self.suite.newname_pq) intsts = get_api_result(res, 'InterviewStatus') self.assertEqual(intsts[0], 2) # 断言,检查数据落表 sql = f'select intv_sts from name_list where name_list_id = {self.suite.newnameid_pq}' results = self.zt_db.selectsql(sql) intsts = results[0][0] self.assertEqual(intsts, 2)
def test_add_name_flow(self): """ 1、创建150个无来源的名单 2、对步骤1创建的名单设置来源 3、创建50个有来源的名单 """ entborrows = ['淳华工种1', '郑鹏工种1', '复扬工种1', '建大工种1', '明基工种1'] # 录名单时不带来源 for entborrowname in entborrows: for i in range(30): self.namemanage.add_name_pq(entbrorrowname=entborrowname) # 查询录入的名单 res = self.namemanage.get_nameList( ScannerMobile=send_boss_user, ScannerUserID=self.namemanage.zt_guid, RecordSize=1000) # 断言-检查名单数量 count = res['Data']['RecordCount'] self.assertEqual(count, 150) # 断言-检查名单企业 entborrowlist = get_api_result(res, 'SpEntName') entborrowlist = list(set(entborrowlist)) # 去重 self.assertEqual(sorted(entborrows), sorted(entborrowlist)) # 断言-检查名单标准企业 entids = [] for entborrowname in entborrows: res_getentborrow = self.groupmanage.getEntBorrowList( BEntName=entborrowname) entid = get_api_result(res_getentborrow, 'EntId')[0] entids.append(entid) entidlist = get_api_result(res, 'EntId') entidlist = list(set(entidlist)) self.assertEqual(sorted(entidlist), sorted(entids)) # 断言-检查来源 for name in res['Data']['RecordList']: agentname = name['FromSpName'] agentid = name['FromSpID'] self.assertEqual(agentname, '') self.assertEqual(agentid, 0) # 断言-检查数据库落表数量 selectdb = OperateMDdb() sql = f"""SELECT count(*) FROM name_list WHERE intv_dt = '2020-04-25' and scanner_id = {self.namemanage.zt_guid} and tenant_id = '{self.namemanage.zt_tid}'""" sqlcount = selectdb.selectsql(sql)[0][0] self.assertEqual(sqlcount, count) # 设置来源 NameListIds = [ self.namemanage.getnameidlist[i:i + 100] for i in range(0, len(self.namemanage.getnameidlist), 100) ] a = len(self.namemanage.getnameidlist) if a % 100 != 0: num = a // 100 + 1 else: num = a // 100 for i in range(num): self.namemanage.set_source(FromSpName=agentName, NameListIds=NameListIds[i]) # 查询名单,重新获取数据 res = self.namemanage.get_nameList( ScannerMobile=send_boss_user, ScannerUserID=self.namemanage.zt_guid, RecordSize=1000) # 断言-检查来源 result = self.groupmanage.getcooplist(NickName=agentName) agentID = get_api_result(result, 'ZtVspId')[0] for name in res['Data']['RecordList']: agentname = name['FromSpName'] agentid = name['FromSpID'] self.assertEqual(agentname, agentName) self.assertEqual(agentid, agentID) # 录名单时带来源 for entborrowname in entborrows: for i in range(10): self.namemanage.add_name_pq(entbrorrowname=entborrowname, FromSpName=agentName) # 查询录入的名单 res = self.namemanage.get_nameList( ScannerMobile=send_boss_user, ScannerUserID=self.namemanage.zt_guid, RecordSize=1000) # 断言-检查名单数量 count = res['Data']['RecordCount'] self.assertEqual(count, 200) # 断言-检查落表数据量 sql = f"""SELECT count(*) FROM name_list WHERE intv_dt = '2020-04-25' and scanner_id = {self.namemanage.zt_guid} and tenant_id = '{self.namemanage.zt_tid}'""" sqlcount = selectdb.selectsql(sql)[0][0] self.assertEqual(sqlcount, count) # 断言-检查来源 for name in res['Data']['RecordList']: agentname = name['FromSpName'] agentid = name['FromSpID'] self.assertEqual(agentname, agentName) self.assertEqual(agentid, agentID)
def get_nameList(self, starttime=nowtime, endtime=nowtime, name=None, idcardnum=None, mobile=None, Gender=None, InterviewStatus=9999, RecordSize=10, RecordIndex=0, FromBindStatus=-9999, SpEntName=None, RcrtTyp=-9999, agentname=None, ScannerMobile=None, ScannerUserID=None): """ # 获取派遣端实接记录列表 :param starttime: 面试日期前区间,可选,默认为当天日期 :param endtime: 面试日期后区间,可选,默认为当天日期 :param name: 会员名称,可选,默认为None :param idcardnum: 身份证号,可选,默认为None :param mobile: 手机号码,可选,默认为None :param Gender: 性别,可选,1 男,2 女,默认为None :param InterviewStatus:面试状态,可选,0:未处理,1:未面试,2:面试通过,3:面试不通过,4:放弃 :param FromBindStatus:绑单状态,可选,1 未绑, 2 已绑 :param SpEntName:企业名称,可选 :param RcrtTyp:企业类型,可选,1 预支,2 返费 :param agentname:来源名称,可选 :param ScannerMobile:扫描人手机号码,可选 :param ScannerUserID:扫描人guid,可选 :return: """ if agentname == None: FromSpId = None else: FromSpId = self.get_source(get_vagent, FromSpName=agentname) # 调用获取派遣端实接记录列表接口 res = self.create_api(getnamelist, StartTime=starttime, EndTime=endtime, Name=name, IDCardNum=idcardnum, InterviewStatus=InterviewStatus, Gender=Gender, Mobile=mobile, RcrtTyp=RcrtTyp, FromBindStatus=-FromBindStatus, ScannerMobile=ScannerMobile, ScannerUserID=ScannerUserID, RecordIndex=RecordIndex, RecordSize=RecordSize, SpEntName=SpEntName, FromSpId=FromSpId, SpIDs=[22699]) res = res.json() self.getnamelists = res['Data']['RecordList'] self.getnameidlist = get_api_result(res, 'NameID') self.getMobilelist = get_api_result(res, 'Mobile') self.getidcardlist = get_api_result(res, 'IDCardNum') self.getrealnamelist = get_api_result(res, 'Name') self.getentlist = get_api_result(res, 'EntShortName') # 打印日志 # logger.info('查询名单,查询结果:{}'.format(res.json())) return res
def create_order_pq_mult(self, entbrorrowname, HasReturnFee=0, ReceiverType=2, EmploymentTyp=1, SettlementTyp=None, OrderTyp=2, OrderChargeTyp=6,OrderDt=nowtime, BeginDt=nowtime, HasDiffPrice=0, DiffPriceIssueDt=None,AdditionalSubsidy=0, SubsidyMoney=None, EnjoyStart=None,EnjoyEnd=None,InWorkDay=None,IssueDay=None, EndDt='', PriceUnit=None): """ 派遣端创建多模式订单 :param entbrorrowname: 企业,必选 :param HasReturnFee:是否有会员返费,0 无返费,1 劳务返费,2 平台返费 :param ReceiverType:订单发单类型,1 门店订单,2 供应商订单 :param EmploymentTyp: 用工方式,1 劳务用工,2 灵活用工 :param OrderTyp:订单类型 1 返费订单,2 周薪订单 :param SettlementTyp: 订单结算方式 1:ZX结算方式 2:Z结算方式 3:ZA结算方式 4:ZX-A :param OrderChargeTyp:订单类型 默认6 5 一周收费5天 6 一周收费6天 :param OrderDt:订单时间(报价日期) :param BeginDt:订单有效期限开始日期 :param EndDt:订单有效期限结束日期 :param HasDiffPrice:是否有差价,1 无差价,2 有差价 :param DiffPriceIssueDt:差价发放日期,限制整形 :param AdditionalSubsidy:是否有补贴,0 无补贴,1 有补贴 :param SubsidyMoney:补贴金额(元/小时) 限制整形 :param EnjoyStart:享受周期开始时间 :param EnjoyEnd:享受周期结束时间 :param IssueDay:补贴发放会员的日期 :param InWorkDay:补贴发放要求会员在职日期 :param PriceUnit:供应商订单参数,1 按天算服务费,2 按小时算服务费 :return: """ # 加载企业 self.get_entbrorrow(entbrorrowname) # 结算方式 if SettlementTyp: self.SettlementTyp = SettlementTyp # 会员相关费用 OrderWeekFeeList = [ {"BeginDt": BeginDt, 'EndDt': EndDt, 'TerminateTyp': 2, 'AdvancePayAmt': 10000, 'Remark': '工资说明', 'AcpHourlyWorkAmt': 2000, 'AcpLeavedHourlyWorkAmt': 2000, 'HourlyWorkAmt': 2000, 'LeavedHourlyWorkAmt': 2000}] # 中介费 if PriceUnit==2: # 供应商政策按小时结算 OrderAgencyFee = [ {'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}] else: OrderAgencyFee = [ {'MinDays': 1, 'MaxDays': 0, 'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}, {'DaysNoMoney': 7, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}] # 服务费 OrderServiceFee = [{'PlatformSrvcFee': 0, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}] # 返费 if HasReturnFee: # 有会员返费 OrderReturnFee = [{'Days': 10, 'FeeTyp': 3, 'ReturnTyp': 2, 'ReturnFee': 5000}, {'Days': 20, 'FeeTyp': 3, 'ReturnTyp': 1, 'ReturnFee': 10000}, {'Days': 30, 'FeeTyp': 3, 'ReturnTyp': 3, 'ReturnFee': 10000} ] else:# 无会员返费,只有供应商返费 OrderReturnFee = [ {'Days': 30, 'FeeTyp': 3, 'ReturnTyp': 3, 'ReturnFee': 10000} ] # 获取劳务ID、name res = self.create_api(get_vlabor).json() TargetSpId = int(get_api_result(res, 'SpId')[0]) SpName = get_api_result(res, 'SpShortName')[0] # 调用接口创建订单 res = self.create_api(add_order_mult, OrderTyp=OrderTyp, HasReturnFee=HasReturnFee, SettlementTyp=SettlementTyp, EmploymentTyp=EmploymentTyp, ReceiverType=ReceiverType, SpQuota=20, InsideRemark='企业政策', OrderDt=OrderDt, EntId=self.entbrorrowid, HasDiffPrice=HasDiffPrice, DiffPriceIssueDt=DiffPriceIssueDt, AdditionalSubsidy=AdditionalSubsidy, SubsidyMoney=SubsidyMoney, EnjoyStart=EnjoyStart, EnjoyEnd=EnjoyEnd, InWorkDay=InWorkDay, IssueDay=IssueDay, SpEntName=entbrorrowname, TrgtSpId=TargetSpId, TrgtSpName=SpName, OrderChargeTyp=OrderChargeTyp, OrderWeekFeeList=OrderWeekFeeList, OrderAgencyFee=OrderAgencyFee, OrderServiceFee=OrderServiceFee, OrderReturnFee=OrderReturnFee, Remark='供应商备注', PriceUnit=PriceUnit) self.orderid = res.json()['Data'] return res.json()