Esempio n. 1
0
	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")))
Esempio n. 2
0
File: sql.py Progetto: xiaoawuu/test
 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
Esempio n. 3
0
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)
Esempio n. 4
0
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
Esempio n. 5
0
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 = """
Esempio n. 6
0
def run_sql(sql):
    sql_ = Data().query
    return sql_('localhost', sql)
Esempio n. 7
0
    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": ""
                }))
Esempio n. 8
0
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)
Esempio n. 9
0
	def __init__(self):
		self.Data = Data()
		self.yesterday = datetime.date.today() + datetime.timedelta(-1)
		print('时间:', self.yesterday)