# coding=utf-8 import os from collections import OrderedDict os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.testing"}) from base import init_env init_env(False) from apps.web.dealer.models import Dealer from apps.web.merchant.models import MerchantSourceInfo from library.jd import JDAggrePay # from apps.web.device.models import Device # from apps.web.core.services import ActionDeviceBuilder from apps.web.core.exceptions import ServiceException # dev = Device.get_dev("862167050126352") # box = ActionDeviceBuilder.create_action_device(dev) # # # # 测试几个获取功能 # test_function = [ # # 启动 2号 # ("02A7", "000000000000000000000A00000A", u"启动2号端口"), # # 停止 2号 # ("02D6", "01", u"停止2号端口"), # # 获取当前电流 # ("01B3", "01", u"获取当前电流"), # # 获取标准电流 # ("01C3", "01", u"获取标准电流"), # # 获取总投币消费 # ("01C1", "01", u"获取总投币消费"), # # 获取刷卡消费 # ("01C2", "01", u"获取刷卡消费"), # # 获取空载时间 # ("01E6", "01", u"获取空载时间"), # # 获取空载功率 # ("01E4", "01", u"获取空载功率"), # # 获取功率分档 # ("01F2", "01", u"获取功率分档"), # # 获取时间计费规则 # ("01B8", "01", u"获取时间计费规则"), # # 获取电量计费规则 # ("01F7", "01", u"获取电量计费规则"), # # 获取端口状态 # ("01ED", "0100", u"获取端口状态"), # # 获取端口详情 # ("02EF", "00", u"获取2号端口详情"), # # 获取端口实时电量 # ("01E9", "01", u"获取端口实时电量") # # ] # # for _fun in test_function: # try: # box._send_data(_fun[0], _fun[1], timeout=10) # except ServiceException: # print _fun[2] # break # # username = "18637193073" # dealer = Dealer.objects.get(username=username) # sourceRecord = MerchantSourceInfo.get_source_record(str(dealer.id)) # payload = sourceRecord.to_dict() # # # 待确认的状态的时候,提供用户测试支付的url # merchantAgent = sourceRecord.merchantAgent.fetch() # # pay = JDAggrePay( # merchant_no=sourceRecord.merchantNo, # desKey=sourceRecord.desKey, # saltMd5Key=sourceRecord.mdKey, # systemId=merchantAgent.agentSystemId # ) # url = pay.create_pay_static_url(notify_url=None) # print url # # dev = Device.get_dev("866262048861487") # box = ActionDeviceBuilder.create_action_device(dev) # box._stop("5", 0) # box._stop("4", 0) # box._stop("3", 0) # box._stop("2", 0) # box._stop("1", 0) # # # from apps.web.merchant.models import MerchantSourceInfo # record = MerchantSourceInfo() # record2 = MerchantSourceInfo() # # fields = [ # "merchantType", # "bankCardCode", # "bankCardName", # "bankCardSubCode", # "bankCardSubName", # "bankCardUrl", # "identifyCardAUrl", # "identifyCardAddr", # "identifyCardArea", # "identifyCardAreaCode", # "identifyCardBUrl", # "identifyCardCUrl", # "identifyCardCity", # "identifyCardCityCode", # "identifyCardCode", # "identifyCardEndTime", # "identifyCardLongTime", # "identifyCardName", # "identifyCardProvince", # "identifyCardProvinceCode", # "identifyCardStartTime", # "shopAddr", # "shopArea", # "shopAreaCode", # "shopCity", # "shopCityCode", # "shopProvince", # "shopProvinceCode", # "storeAUrl", # "storeBUrl", # "storeCUrl", # "storeShotName", # ] import pandas as pd import datetime # # df = pd.DataFrame(data=records) # groupBygroup = list() # for _key, _v in df.groupby(u"地址"): # # itemOrderList = [ # (u"", _key) # ] # # for __k, __v in _v.groupby(u"支付类型"): # itemOrderList.append((__k, __v[u"分得金额"].astype(float).sum())) # groupBygroup.append( # OrderedDict([ # (u"地址", _key), # (u"分得金额", _v[u"分得金额"].astype(float).sum()), # (u"总金额", _v[u"总金额"].astype(float).sum()), # (u"订单数量", len(_v)) # ]) # ) # itemOrderList.append((u"分得金额", _v[u"分得金额"].astype(float))) # groupBygroup.append(OrderedDict(itemOrderList)) # df2 = pd.DataFrame(data=groupBygroup) # # # writer = pd.ExcelWriter("C:/Users/Administrator/Desktop/test.xlsx") # df.to_excel(writer, sheet_name="1") # df2.to_excel(writer, sheet_name="2", index=False) # # writer.save() # dev = Device.get_dev("866262048861487") # box = ActionDeviceBuilder.create_action_device(dev) # box._stop("5", 0) # box._stop("4", 0) # box._stop("3", 0) # box._stop("2", 0) # box._stop("1", 0) # # # from apps.web.merchant.models import MerchantSourceInfo # record = MerchantSourceInfo() # record2 = MerchantSourceInfo() # # fields = [ # "merchantType", # "bankCardCode", # "bankCardName", # "bankCardSubCode", # "bankCardSubName", # "bankCardUrl", # "identifyCardAUrl", # "identifyCardAddr", # "identifyCardArea", # "identifyCardAreaCode", # "identifyCardBUrl", # "identifyCardCUrl", # "identifyCardCity", # "identifyCardCityCode", # "identifyCardCode", # "identifyCardEndTime", # "identifyCardLongTime", # "identifyCardName", # "identifyCardProvince", # "identifyCardProvinceCode", # "identifyCardStartTime", # "shopAddr", # "shopArea", # "shopAreaCode", # "shopCity", # "shopCityCode", # "shopProvince", # "shopProvinceCode", # "storeAUrl", # "storeBUrl", # "storeCUrl", # "storeShotName", # ] # data = { # 'businessCode': 'MEMBER',# # 'subTradeType': 'SALE', # # 'merchantNo': '115825387',# # 'tradeRefundNo': u'', # 'payFinishTime': '20210419115823', # 'couponAmount': 0, # 'currency': 'RMB',# # 'amount': 1, # 'version': 'V3.0', # 'outRefundNo': u'', # 'outTradeNo': '20210419115814PQ0000000888999PU0', # 'tradeNo': '167218067175', # 'payStatus': 'FINISH', # 'resultCode': 'SUCCESS', # 'piAmount': 1, # 'merchantCouponAmount': 0 # } # from apps.web.common.transaction.pay.jdaggre import JDJosPayRecordPoller # from apps.web.user.models import RechargeRecord # record = RechargeRecord.objects.get(orderNo="20210420121631PQ0000000888999TU3") # from apps.web.core.payment import PaymentGateway # payment_gateway = PaymentGateway.from_gateway_key( # record.gateway, # record.payGatewayKey, # record.payAppType) # type: cast(PaymentGateway) # from pprint import pprint # # pprint(JDJosPayRecordPoller("", "", "", "", "").action_of_pay(payment_gateway, record)) # from apps.web.core.adapter.huopo import MoneyCaculation # print MoneyCaculation(duration="1410", unit=u"分钟", package={"1": {"maxHour": 24, "price": 2, "unit": u"小时"}}).calculate() # from library.jd.pay import JDJosPay # from apps.web.core.payment import PaymentGateway # from apps.web.user.models import RechargeRecord # # recharge_record = RechargeRecord.objects.get(id="60890caf977059b6795415ae") # # payGateway = PaymentGateway.from_gateway_key( # recharge_record.gateway, # recharge_record.payGatewayKey, # recharge_record.payAppType) # # payApp = payGateway.app # josPayApp = payApp.josPayApp.fetch() # type: JDAggrePayApp # # client = JDJosPay( # josPayApp.merchant_no, # josPayApp.desKey, # josPayApp.saltMd5Key, # josPayApp.systemId, # josPayApp.debug # ) # # setattr(client, "shopInfo", josPayApp.shopInfo) # # result = client.api_trade_refund(recharge_record.orderNo, "1234567890112333", 1) # print 1 # print result