def __init__(self): self.data = Data() yesterday = datetime.date.today() + datetime.timedelta(-1) self.startTime = '{} 00:00:00'.format(yesterday) self.endTime = '{} 23:59:59'.format(yesterday) self.startTimestamp = int(time.mktime(time.strptime(self.startTime, "%Y-%m-%d %H:%M:%S"))) self.endTimestamp = int(time.mktime(time.strptime(self.endTime, "%Y-%m-%d %H:%M:%S")))
def __init__(self, type, DRIVER='{SQL Server}'): self.data = Data().config(type) self.server = self.data['host'] self.uid = self.data['account'] self.pwd = self.data['pwd'] self.db = self.data['library_name'] self.DRIVER = DRIVER
def updateMobile(): for index, i in mobile.items(): print('index:', index, "i", i) user_id = Data().query( 'zyb_live_r', "SELECT id FROM `zyb_db`.`zyb_customer` WHERE `mobile` = '{}';". format(index)) if user_id == (): continue print('user_id:', user_id[0]["id"], '旧手机号:', index, '新手机号:', i)
class GetOrderData(): ''' 获取前一天的订单数据(status in (12,14,15,16,17) ) :status = 1 是需要有合同的单子,其他相反 ''' def __init__(self): self.Data = Data() self.yesterday = datetime.date.today() + datetime.timedelta(-1) print('时间:', self.yesterday) def getFreightId(self, status=1): if status == 1: self.freight_data = self.Data.query('tms_test', "SELECT freight_id FROM tms_wl_freight WHERE (last_update_time BETWEEN '{} 00:00:00'" " AND '{} 23:59:59') AND `status` in (12,14,15,16,17);".format( self.yesterday, self.yesterday)) else: self.freight_data = self.Data.query('tms_test', "SELECT freight_id FROM tms_wl_freight WHERE (last_update_time BETWEEN '{} 00:00:00'" " AND '{} 23:59:59') AND `status` in (11,13);".format( self.yesterday, self.yesterday)) return self.freight_data def getOrderId(self, status=1): if status == 1: self.order_data = self.Data.query('tms_test', "SELECT first_order_id FROM tms_wl_freight WHERE (last_update_time BETWEEN '{} 00:00:00'" " AND '{} 23:59:59') AND `status` in (12,14,15,16,17);".format( self.yesterday, self.yesterday)) else: self.order_data = self.Data.query('tms_test', "SELECT first_order_id FROM tms_wl_freight WHERE (last_update_time BETWEEN '{} 00:00:00'" " AND '{} 23:59:59') AND `status` in (11,13);".format( self.yesterday, self.yesterday)) return self.order_data
import time from test_server.tmsPay.utils.responseJSON import responseJSON_0, responseJSON_1 from test_server.data.mysqls import Data from test_server.tmsPay.utils.print_ import * sql_ = Data().query path = r'C:\test_server\test\test_server\tmsPay\Initialize.py' def getInvoiceCompanyType(c_id): type = ''' SELECT ws_status,ws_two_status FROM tms_wl_wallet WHERE `c_id` = '{}'; '''.format(c_id) type = sql_('tms_test', type) if len(type) < 1: return responseJSON_1(0) ws_status = type[0]['ws_status'] ws_two_status = type[0]['ws_two_status'] if ws_status == 2 and (ws_two_status == 0 or ws_two_status): return responseJSON_1(1) elif ws_two_status == 2 and (ws_status == 0 or ws_status == 4): return responseJSON_1(2) else: print_err('请使用网商1.0或网商2.0物流公司' + 'c_id:{}'.format(c_id)) return responseJSON_0(0) def insert(c_id, ws_wallet, wl_wallet, pay_order_count, invoice_wallet, execute_time): try: sql = """
def run_sql(sql): sql_ = Data().query return sql_('localhost', sql)
def orderProcess(self, request): ''' :quantity:请求次数 :status:状态 :table_s:创单数据 :param request: :return: ''' self.orderList = [] self.orderDict = {} self.succeed = 0 self.fail = 0 print('request:orderProcess') if request.method == "POST": self.wlName = json.loads(request.body.decode().replace( "'", "\"")).get('wlName') self.password = json.loads(request.body.decode().replace( "'", "\"")).get('password') self.quantity = json.loads(request.body.decode().replace( "'", "\"")).get('quantity') self.status = json.loads(request.body.decode().replace( "'", "\"")).get('status') self.orderData = json.loads(request.body.decode().replace( "'", "\"")).get('orderData') self.driverData = json.loads(request.body.decode().replace( "'", "\"")).get('driverData') login = getToken(self.wlName, self.password) if login['code'] == '1002': return HttpResponse(json.dumps(login)) self.wlToken = login['table_s']['wlToken'] print('token:', self.wlToken) data = Data().query( 'zyb_test', "SELECT id,bank,number FROM `zyb_pay_bankcard` WHERE bank_authid = {} AND bank_mobile = {} AND del != 1 ORDER BY id DESC LIMIT 1;" .format(self.driverData['idCard'], self.driverData['driverMobile'])) if len(data) == 0: ''' 司机是否有银行卡信息 ''' return HttpResponse( json.dumps({ "code": 0, "msg": "司机没有银行卡信息", "table_s": "" })) count = Data().query( 'tms_test', "SELECT IFNULL((SELECT driver_day_count FROM tms_sys_order_limit WHERE c_id = (SELECT c_id FROM tms_wl_user WHERE user_name = '{}')),20) a;" .format(self.wlName)) print('物流公司派单次数', count[0]['driver_day_count']) if int(count[0]['driver_day_count']) < self.quantity: return HttpResponse( json.dumps({ 'code': 0, 'msg': '当前单数大物流公司限制派单次数', 'table_s': '' })) while self.quantity: self.quantity -= 1 # 调用接单 self.response = addOrder.Order().addOrder( self.orderData['tmsWLOrder'], self.wlToken) if self.response['code'] == 1: self.succeed += 1 print(True, self.response['table_s']['firstOrderId']) self.orderList.append( self.response['table_s']['firstOrderId']) else: self.fail += 1 return HttpResponse(json.dumps(self.response)) print('创单后的list:', self.orderList) if self.status > 1: # print('sendOrders') print('派单的list:', self.orderList) for i in self.orderList: # 派单 print('请求派单数据', self.driverData, i, self.wlToken) sendResponse = sendOrders.sendOrders().sendDriver( i, self.wlToken, self.driverData) print('派单返回数据:', sendResponse) if sendResponse['code'] != 1: self.orderList.remove(i) return HttpResponse(json.dumps(sendResponse)) if self.status > 2: print('订单查询运单', self.orderList) self.freightList = selectFreight(self.orderList) print(self.freightList) for i in self.freightList: response = freightFinality.freightFinality().tmsFinality( self.wlToken, i) if response['code'] == 0: return HttpResponse(json.dumps(response)) if self.status > 3: print('请求paymentAmount参数', self.driverData['subsistMoney'], self.driverData['tailMoney'], self.driverData['backMoney']) money = paymentAmount(self.driverData['subsistMoney'], self.driverData['tailMoney'], self.driverData['backMoney']) print('款项:', money) print(type(money), money) if min(money) == 1: print(1) self.re_money = 'subsistMoney' elif min(money) == 2: print(2) self.re_money = 'tailMoney' elif min(money) == 3: print(3) self.re_money = 'backMoney' else: print('else') return HttpResponse( json.dumps({ "code": 0, "msg": "没有可支付款项" })) for i in self.freightList: print('for i in self.freightList:') self.requestPayment = { "wlToken": self.wlToken, "type": '{}'.format(min(money)), "payObjectSum": "1", "freightId": "{}".format(i), "payeeName": self.driverData['driverName'], "payeeMobile": self.driverData['driverMobile'], "payeeId": self.driverData['idCard'], "payeeBank": data[0]['bank'], "payeeAccount": data[0]['number'], "bankcardId": str(data[0]['id']), "isEntrust": "0", "advancePrice": self.driverData[self.re_money] } print(self.requestPayment) re_data = applyForPayment.applyForPayment( ).applyForPaymentDriver(self.requestPayment) if re_data['code'] == 0: return HttpResponse(json.dumps(re_data)) money.remove(min(money)) print(money) return HttpResponse(json.dumps({"code": 233, "msg": "批量创建:成功{}单"})) else: return HttpResponse( json.dumps({ "code": 0, "msg": "请使用POST请求!", "table_s": "" }))
class VerifySigningContract(): def __init__(self): self.data = Data() yesterday = datetime.date.today() + datetime.timedelta(-1) self.startTime = '{} 00:00:00'.format(yesterday) self.endTime = '{} 23:59:59'.format(yesterday) self.startTimestamp = int(time.mktime(time.strptime(self.startTime, "%Y-%m-%d %H:%M:%S"))) self.endTimestamp = int(time.mktime(time.strptime(self.endTime, "%Y-%m-%d %H:%M:%S"))) def contractOfAffreightment(self): ''' 检验承运合同 :return: ''' try: sql = "SELECT * FROM (SELECT fre1.freight_id FROM tms_wl_freight fre1 WHERE ( fre1.create_time BETWEEN" \ " '{}' AND '{}' ) AND fre1.`status` IN ( 12, 14, 15, 16, 17 )) B WHERE (SELECT count(1) num FROM (SELECT com1.freight_id FROM tms_commission_contract" \ " com1 WHERE com1.contract_type = 2 ) A WHERE A.freight_id = B.freight_id ) = 0 ;".format( self.startTime, self.endTime) print("检验承运合同") isTrue = self.data.query('tms_live_r', sql) writeLog('未签署承运合同的运单', isTrue) return isTrue except Exception as err: writeLog('contractOfAffreightment>>>error:', err) return err def checkTheContract(self): ''' 检验托运合同 :return: ''' try: sql = "SELECT * FROM (SELECT fre1.first_order_id FROM tms_wl_freight fre1 " \ "WHERE (fre1.create_time BETWEEN '{}' AND '{}') " \ "AND fre1.`status` IN ( 12, 14, 15, 16, 17 )) B WHERE (SELECT count( 1 ) num FROM ( " \ "SELECT com1.order_id FROM tms_commission_contract com1 WHERE com1.contract_type = 3 ) " \ "A WHERE A.order_id = B.first_order_id) = 0;".format(self.startTime, self.endTime, ) isTrue = self.data.query('tms_live_r', sql) writeLog('未签署托运合同的订单', isTrue) print("检验托运合同") return isTrue except Exception as err: writeLog('checkTheContract>>>error:', err) return err def letterOfEntrustment(self): list_s = [] ''' 委托函 :return: ''' try: signFreightIdSQL = "SELECT C.waybill_sn,D.phone,D.card_name FROM zyb_pay_order A JOIN zyb_tms_wallet_out B " \ "ON A.pay_out_id = B.id JOIN zyb_tms_wallet_log C ON A.pay_log_id = C.id JOIN zyb_tms_wallet_bankcard " \ "D on B.bankcard_id = D.id WHERE add_time BETWEEN '{}' AND '{}'".format( self.startTimestamp, self.endTimestamp) responseData = self.data.query('zyb_live_r', signFreightIdSQL) print("检测委托函") for i in responseData: sql = "SELECT driver_name,driver_mobile FROM tms_wl_freight WHERE freight_id ='{}';".format( i['waybill_sn']) response = self.data.query('tms_live_r', sql) if i['phone'] != response[0]['driver_mobile']: comm_sql = "SELECT count(*) A FROM tms_commission_contract WHERE contract_type = 1 AND freight_id = '{}'".format( i['waybill_sn']) response_comm = self.data.query('tms_live_r', comm_sql) if response_comm[0]['A'] == 0: list_s.append(i['waybill_sn']) if len(list_s) > 1: writeLog('未签署w委托合同的运单', list_s) except Exception as err: writeLog('letterOfEntrustment>>>error:', err)
def __init__(self): self.Data = Data() self.yesterday = datetime.date.today() + datetime.timedelta(-1) print('时间:', self.yesterday)