|
@@ -1580,256 +1580,6 @@ def asynTransactionRecord(request):
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
-@permission_required(ROLE.myuser)
|
|
|
|
-def asynTransactionRecordForChangyuan(request):
|
|
|
|
- # type: (WSGIRequest)->JsonResponse
|
|
|
|
-
|
|
|
|
- """
|
|
|
|
- 用户消费记录
|
|
|
|
- :param request:
|
|
|
|
- :return: JsonResponse
|
|
|
|
- """
|
|
|
|
-
|
|
|
|
- pageIndex = int(request.GET.get('pageIndex', 1))
|
|
|
|
- pageSize = int(request.GET.get('pageSize', 10))
|
|
|
|
-
|
|
|
|
- startTime = request.GET.get('startTime', Const.QUERY_START_DATE)
|
|
|
|
- endTime = request.GET.get('endTime', datetime.datetime.now().strftime('%Y-%m-%d'))
|
|
|
|
-
|
|
|
|
- typeStrDict = {
|
|
|
|
- 'wechat': u'微信支付',
|
|
|
|
- 'alipay': u'支付宝支付',
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if request.GET.has_key('cardTicketId') and request.GET.get('cardTicketId'):
|
|
|
|
- _, dataList = VCardConsumeRecord.paginate(request.GET.get('cardTicketId'), pageIndex, pageSize)
|
|
|
|
- else:
|
|
|
|
- dealer_ids = MyUser.get_dealer_ids(openId = request.user.openId, productAgentId = request.user.productAgentId)
|
|
|
|
- if len(dealer_ids) < 0:
|
|
|
|
- return JsonResponse({'result': 1, 'description': '', 'payload': {'total': 0, 'dataList': []}})
|
|
|
|
-
|
|
|
|
- query_set = ClientConsumeModelProxy.get_data_list(
|
|
|
|
- ownerId__in = dealer_ids,
|
|
|
|
- startTime = startTime,
|
|
|
|
- endTime = endTime,
|
|
|
|
- openId = request.user.openId,
|
|
|
|
- isNormal = True,
|
|
|
|
- ) # type: CustomQuerySet
|
|
|
|
-
|
|
|
|
- rechargeIds = []
|
|
|
|
- records = []
|
|
|
|
- for _ in query_set.paginate(pageIndex, pageSize): # type: ConsumeRecord
|
|
|
|
- records.append(_)
|
|
|
|
- if _.recharge_record_id:
|
|
|
|
- rechargeIds.append(ObjectId(_.recharge_record_id))
|
|
|
|
-
|
|
|
|
- if not records:
|
|
|
|
- return JsonResponse({'result': 1, 'description': '', 'payload': {'total': 0, 'dataList': []}})
|
|
|
|
-
|
|
|
|
- if rechargeIds:
|
|
|
|
- recharge_records = ClientRechargeModelProxy.get_data_list(
|
|
|
|
- ownerId__in = dealer_ids,
|
|
|
|
- id__in = rechargeIds
|
|
|
|
- )
|
|
|
|
- else:
|
|
|
|
- recharge_records = list()
|
|
|
|
-
|
|
|
|
- rechargeDict = {}
|
|
|
|
- for _ in recharge_records: # type: RechargeRecord
|
|
|
|
- rechargeDict[str(_.id)] = _
|
|
|
|
-
|
|
|
|
- dataList = []
|
|
|
|
-
|
|
|
|
- for record in records: # type: ConsumeRecord
|
|
|
|
- if not record.recharge_record_id:
|
|
|
|
- continue
|
|
|
|
-
|
|
|
|
- rechargeRcd = rechargeDict.get(str(record.recharge_record_id), None)
|
|
|
|
- if rechargeRcd is None and record.remarks != u'刷卡消费': # 如果没有记录充值ID,是属于刷卡数据记录
|
|
|
|
- continue
|
|
|
|
-
|
|
|
|
- newData = record.to_user_detail()
|
|
|
|
-
|
|
|
|
- if rechargeRcd.gateway in typeStrDict.keys():
|
|
|
|
- typeStr = typeStrDict.get(rechargeRcd.gateway)
|
|
|
|
- else:
|
|
|
|
- typeStr = u'刷卡支付'
|
|
|
|
-
|
|
|
|
- newData.update({'payType': typeStr})
|
|
|
|
- newData.pop('elec', None)
|
|
|
|
- newData.pop('needElec', None)
|
|
|
|
-
|
|
|
|
- dataList.append(newData)
|
|
|
|
-
|
|
|
|
- # 充值记录添加 昌源的充值记录分为卡充值(单纯充值没有消费)和消费充值(使用现金支付,立即有消费记录)
|
|
|
|
- refundIds = {str(refund.rechargeObjId): str(refund.money) for refund in
|
|
|
|
- RefundMoneyRecord.objects.filter(openId = request.user.openId)}
|
|
|
|
-
|
|
|
|
- query_set = ClientRechargeModelProxy.get_data_list(
|
|
|
|
- ownerId__in = dealer_ids,
|
|
|
|
- startTime = startTime,
|
|
|
|
- endTime = endTime,
|
|
|
|
- openId = request.user.openId,
|
|
|
|
- result = "success",
|
|
|
|
- via = "chargeCard",
|
|
|
|
- hint = [('openId', 1)])
|
|
|
|
-
|
|
|
|
- for cardRechargeRecord in query_set.paginate(pageIndex, pageSize):
|
|
|
|
- if cardRechargeRecord.gateway in typeStrDict.keys():
|
|
|
|
- typeStr = typeStrDict.get(cardRechargeRecord.gateway)
|
|
|
|
- else:
|
|
|
|
- continue
|
|
|
|
-
|
|
|
|
- newData = {
|
|
|
|
- "id": str(cardRechargeRecord.id),
|
|
|
|
- "payType": typeStr,
|
|
|
|
- "createdTime": cardRechargeRecord.dateTimeAdded,
|
|
|
|
- "address": cardRechargeRecord.address,
|
|
|
|
- "devNo": cardRechargeRecord.devNo if cardRechargeRecord.devNo else "",
|
|
|
|
- "logicalCode": cardRechargeRecord.logicalCode if cardRechargeRecord.logicalCode else "",
|
|
|
|
- 'groupNumber': cardRechargeRecord.groupNumber,
|
|
|
|
- 'groupName': cardRechargeRecord.groupName,
|
|
|
|
- 'devTypeName': cardRechargeRecord.dev_type_name,
|
|
|
|
- "money": cardRechargeRecord.money,
|
|
|
|
- "description": cardRechargeRecord.my_description,
|
|
|
|
- "ownerId": cardRechargeRecord.ownerId,
|
|
|
|
- "consumeType": u"cardRecharge"
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if str(cardRechargeRecord.id) in refundIds.keys():
|
|
|
|
- refundedMoney = refundIds.get(str(cardRechargeRecord.id))
|
|
|
|
- newData.update({"refundedMoney": refundedMoney})
|
|
|
|
-
|
|
|
|
- dataList.append(newData)
|
|
|
|
-
|
|
|
|
- recharge_query_set = ClientRechargeModelProxy.get_data_list(
|
|
|
|
- ownerId__in=dealer_ids,
|
|
|
|
- startTime=startTime,
|
|
|
|
- endTime=endTime,
|
|
|
|
- openId=request.user.openId,
|
|
|
|
- result="success",
|
|
|
|
- via="recharge",
|
|
|
|
- hint=[('openId', 1)])
|
|
|
|
-
|
|
|
|
- for rechargeRcd in recharge_query_set.paginate(pageIndex, pageSize):
|
|
|
|
- if rechargeRcd.attachParas.get('startKey', '') != '':
|
|
|
|
- continue
|
|
|
|
-
|
|
|
|
- if rechargeRcd.gateway in typeStrDict.keys():
|
|
|
|
- typeStr = typeStrDict.get('gateway')
|
|
|
|
- else:
|
|
|
|
- continue
|
|
|
|
-
|
|
|
|
- newData = {
|
|
|
|
- "id": str(rechargeRcd.id),
|
|
|
|
- "payType": typeStr,
|
|
|
|
- "createdTime": rechargeRcd.dateTimeAdded,
|
|
|
|
- "address": rechargeRcd.address,
|
|
|
|
- "devNo": rechargeRcd.devNo if rechargeRcd.devNo else "",
|
|
|
|
- "logicalCode": rechargeRcd.logicalCode if rechargeRcd.logicalCode else "",
|
|
|
|
- 'groupNumber': rechargeRcd.groupNumber,
|
|
|
|
- 'groupName': rechargeRcd.groupName,
|
|
|
|
- 'devTypeName': rechargeRcd.dev_type_name,
|
|
|
|
- "money": rechargeRcd.money,
|
|
|
|
- "description": rechargeRcd.my_description,
|
|
|
|
- "ownerId": rechargeRcd.ownerId,
|
|
|
|
- "consumeType": u"rechargeCoins"
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- dataList.append(newData)
|
|
|
|
-
|
|
|
|
- dataList.sort(key = lambda x: x.get("createdTime"), reverse = True)
|
|
|
|
-
|
|
|
|
- return JsonResponse(
|
|
|
|
- {
|
|
|
|
- 'result': 1,
|
|
|
|
- 'description': '',
|
|
|
|
- 'payload': {'total': 10000, 'dataList': dataList}
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-@permission_required(ROLE.myuser)
|
|
|
|
-def getChargeRecord(request):
|
|
|
|
- # type: (WSGIRequest)->JsonResponse
|
|
|
|
- """
|
|
|
|
- 用户充值记录
|
|
|
|
- :param request:
|
|
|
|
- :return: JsonResponse
|
|
|
|
- """
|
|
|
|
-
|
|
|
|
- pageIndex = int(request.GET.get('pageIndex', 1))
|
|
|
|
- pageSize = int(request.GET.get('pageSize', 10))
|
|
|
|
-
|
|
|
|
- startTime = request.GET.get('startTime', Const.QUERY_START_DATE)
|
|
|
|
- endTime = request.GET.get('endTime', datetime.datetime.now().strftime('%Y-%m-%d'))
|
|
|
|
-
|
|
|
|
- openId = request.user.openId
|
|
|
|
- if not openId:
|
|
|
|
- return JsonErrorResponse(description = u'无法获取用户相关信息,请重新扫描二维码')
|
|
|
|
-
|
|
|
|
- cardId = request.GET.get('cardTicketId', None)
|
|
|
|
- if cardId:
|
|
|
|
- orderNoList = VirtualCardRechargeRecord.get_link_orderNo_list(
|
|
|
|
- cardId = cardId,
|
|
|
|
- startTime = to_datetime(startTime, '%Y-%m-%d'),
|
|
|
|
- endTime = to_datetime(endTime, '%Y-%m-%d'),
|
|
|
|
- openId = openId)
|
|
|
|
-
|
|
|
|
- queryFilter = {
|
|
|
|
- 'orderNo__in': orderNoList,
|
|
|
|
- 'hint': [("orderNo", 1)]
|
|
|
|
- }
|
|
|
|
- else:
|
|
|
|
- queryFilter = {
|
|
|
|
- 'ownerId__in': MyUser.get_dealer_ids(
|
|
|
|
- openId = request.user.openId, productAgentId = request.user.productAgentId),
|
|
|
|
- 'openId': openId,
|
|
|
|
- 'result': 'success',
|
|
|
|
- 'via__in': [
|
|
|
|
- RechargeRecordVia.Balance,
|
|
|
|
- RechargeRecordVia.Refund,
|
|
|
|
- RechargeRecordVia.SendCoin,
|
|
|
|
- RechargeRecordVia.Card,
|
|
|
|
- RechargeRecordVia.VirtualCard,
|
|
|
|
- RechargeRecordVia.MonthlyPackage,
|
|
|
|
- RechargeRecordVia.RefundCash,
|
|
|
|
- RechargeRecordVia.Cash
|
|
|
|
- ],
|
|
|
|
- 'hint': [('openId', 1)]
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- records = ClientRechargeModelProxy.get_data_list(
|
|
|
|
- startTime = startTime, endTime = endTime, **queryFilter) # type: CustomQuerySet
|
|
|
|
-
|
|
|
|
- if not records:
|
|
|
|
- return JsonResponse({'result': 1, 'description': '', 'payload': {'total': 0, 'dataList': []}})
|
|
|
|
-
|
|
|
|
- total = records.count()
|
|
|
|
-
|
|
|
|
- dataList = []
|
|
|
|
- for record in records.paginate(pageIndex, pageSize): # type: RechargeRecord
|
|
|
|
- data = {
|
|
|
|
- 'id': str(record.id),
|
|
|
|
- 'createdTime': record.to_datetime_str(record.dateTimeAdded),
|
|
|
|
- 'amount': record.my_amount,
|
|
|
|
- 'groupName': record.groupName,
|
|
|
|
- 'ownerId': record.ownerId,
|
|
|
|
- 'via': record.via
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- dataList.append(data)
|
|
|
|
-
|
|
|
|
- return JsonResponse(
|
|
|
|
- {
|
|
|
|
- 'result': 1,
|
|
|
|
- 'description': '',
|
|
|
|
- 'payload': {
|
|
|
|
- 'total': total, 'dataList': dataList
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
-
|
|
|
|
@permission_required(ROLE.myuser)
|
|
@permission_required(ROLE.myuser)
|
|
def getChargeRecordDetail(request):
|
|
def getChargeRecordDetail(request):
|
|
# type: (WSGIRequest)->JsonResponse
|
|
# type: (WSGIRequest)->JsonResponse
|