def setRecOrderAddr(request): success_json = {'rtnCode' : 0, 'rtnMsg' : 'Set new user address success!', 'addr_id' : 0} if request.method == 'POST': trd_session = request.POST['trd_session'] isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: addressId = request.POST['addr_id'] recvName = request.POST['recv_name'] recvPhone = request.POST['recv_phone'] recvAddr = request.POST['recv_addr'] try: userAddObjAft = userAddrList.objects.get(addr_id=addressId) except: err_resp_json = {'rtnCode' : 2, 'rtnMsg' : 'Update user address failed! please check'} return HttpResponse(json.dumps(err_resp_json), content_type="application/json") else: userAddObjAft.recipient_name = recvName userAddObjAft.recipient_phone = recvPhone userAddObjAft.recipient_addr = recvAddr userAddObjAft.save() success_json['addr_id'] = addressId #print(recvAddr) return HttpResponse(json.dumps(success_json), content_type="application/json")
def updateUserInfo(request): #print(request.method) err_resp_json = {'rtnCode': 0, 'rtnMsg': 'create userObj success'} if request.method == 'POST': #try: trd_session = request.POST['trd_session'] isValidSession, curUserId = check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: try: userObj = UserInfo.objects.get(user_id=curUserId) except: userObj = UserInfo(user_id=curUserId, name=request.POST['name'], phone=request.POST['phone'], email=request.POST['email']) userObj.save() return HttpResponse(json.dumps(err_resp_json), content_type="application/json") else: userObj.name = request.POST['name'] #需考虑为中文时的情况 userObj.phone = request.POST['phone'] userObj.email = request.POST['email'] #userObj.address = request.POST['address'] userObj.save() resp_success = { 'rtnCode': 0, 'rtnMsg': 'update userObj success' } #修改成功 return HttpResponse(json.dumps(resp_success), content_type="application/json")
def setProductState(request): if request.method == 'POST': try: trd_session = request.POST['trd_session'] productId = request.POST['product_id'] typeId = request.POST['type'] isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") except: err_json = response_err_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: if productId == '' or trd_session == '' or typeId == '': err_json = {'rtnCode' : 2, 'rtnMsg' : 'Lack of necessary fileld like productId,userId,typeId'} return HttpResponse(json.dumps(err_json), content_type="application/json") #print(typeId) if typeId == '1': ##1. 购买成功 2. 收藏 3. 取消收藏 4. 购买未成功 rtnJson = insetUserOrderList(curUserId, productId) return HttpResponse(json.dumps(rtnJson), content_type="application/json") if typeId == '2': rtnJson = insetSavedProductList(curUserId, productId) return HttpResponse(json.dumps(rtnJson), content_type="application/json") if typeId == '3': rtnJson = deleteSavedProductList(curUserId, productId) return HttpResponse(json.dumps(rtnJson), content_type="application/json") if typeId == '4': rtnJson = insetUnPaidOrderList(curUserId, productId) return HttpResponse(json.dumps(rtnJson), content_type="application/json") else: err_json = {'rtnCode' : 1, 'rtnMsg' : 'wrong typeId'} return HttpResponse(json.dumps(err_json), content_type="application/json")
def getOrderList(request,trd_session): isValidSession, curUserId= check_session_value(trd_session) #print(isValidSession) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: order_list = OrderList.objects.filter(user_id=curUserId, order_status=DEFAULT_ORDER_SAVED_STATUS) success_json = response_success_order_set_json(order_list) #print(success_json) return HttpResponse(json.dumps(success_json), content_type="application/json")
def getSavedProductList(request, trd_session): isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: savedProductObj = SavedProductList.objects.filter(user_id=curUserId) #################如果查询为空的时候是反回空json,还是反回错误?? if savedProductObj.exists(): resp_json = resp_success_saved_product_set_json(savedProductObj) return HttpResponse(json.dumps(resp_json), content_type="application/json") else: resp_json = success_none_json() return HttpResponse(json.dumps(resp_json), content_type="application/json")
def getRecvOrderAddr(request, trd_session): isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: userAddrObj = userAddrList.objects.filter(user_id=curUserId) if userAddrObj.exists(): success_json = response_success_addr_set_json(userAddrObj) return HttpResponse(json.dumps(success_json), content_type="application/json") else: non_json = {'rtnCode' : 0, 'rtnMsg' : 'no data in addr list'} return HttpResponse(json.dumps(non_json), content_type="application/json")
def getUserInfo(request, trd_session): try: isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: userObj = UserInfo.objects.get(user_id=curUserId) except: err_json = response_no_user_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: success_json = response_success_json(userObj) return HttpResponse(json.dumps(success_json), content_type="application/json")
def getProductStoredInfo(request, cur_product_id, trd_session): error_json = {'rtnCode' : 0, 'rtnMsg' : 'success', 'status' : '1'} #1表示未收藏 success_json = {'rtnCode' : 0, 'rtnMsg' : 'success', 'status' : '0'} #0表示收藏 isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: #print(curUserId) #print(cur_product_id) savedProductObj = SavedProductList.objects.filter(user_id=curUserId, saved_product_id=cur_product_id) #print(savedProductObj.exists()) if savedProductObj.exists(): return HttpResponse(json.dumps(success_json), content_type="application/json") else: return HttpResponse(json.dumps(error_json), content_type="application/json")
def delUnPaidOrder(request): if request.method == 'POST': out_trade_show_no = request.POST['out_trade_show_no'] trd_session = request.POST['trd_session'] isValidSession, curUserId = check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: try: OrderListObj = OrderList.objects.filter(user_id=curUserId, out_trade_show_no=out_trade_show_no, order_status=DEFAULT_ORDER_UNSAVED_STATUS).delete() except: err_json = {'rtnCode' : '2', 'rtnMsg' : 'wrong out_trade_no!'} return HttpResponse(json.dumps(err_json), content_type="application/json") else: success_json = {'rtnCode' : 0, 'rtnMsg' : 'delete order success'} return HttpResponse(json.dumps(success_json), content_type="application/json")
def deleteRecvOrderAddr(request): success_json = {'rtnCode' : 0, 'rtnMsg' : 'Delete user address success!'} if request.method == 'POST': trd_session = request.POST['trd_session'] isValidSession, curUserId= check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: try: addressId = request.POST['addr_id'] userAddrList.objects.filter(addr_id=addressId).delete() except: err_json = response_err_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: return HttpResponse(json.dumps(success_json), content_type="application/json")
def addRecvOrderAddr(request): success_json = { 'rtnCode': 0, 'rtnMsg': 'Add new user address success!', 'addr_id': '' } err_resp_json = { 'rtnCode': 2, 'rtnMsg': 'Add new user address failed! please check', 'addr_id': '' } if request.method == 'POST': trd_session = request.POST['trd_session'] isValidSession, curUserId = check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: recvName = request.POST['recv_name'] recvPhone = request.POST['recv_phone'] recvAddr = request.POST['recv_addr'] userAddrObj = userAddrList(user_id=curUserId, recipient_name=recvName, recipient_phone=recvPhone, recipient_addr=recvAddr) userAddrObj.save() try: userAddObjAft = userAddrList.objects.get( user_id=curUserId, recipient_name=recvName, recipient_phone=recvPhone, recipient_addr=recvAddr) except: return HttpResponse(json.dumps(err_resp_json), content_type="application/json") else: addr_id = userAddObjAft.addr_id success_json['addr_id'] = addr_id return HttpResponse(json.dumps(success_json), content_type="application/json")
def create_pay(request): ''' 请求支付 :return: ''' if request.method == 'POST': trd_session = request.POST['trd_session'] isValidSession, curUserId = check_session_value(trd_session) if isValidSession == False: err_json = response_invalid_session_json() return HttpResponse(json.dumps(err_json), content_type="application/json") else: isFirstOrder = request.POST['isFirstOrder'] ##0表示不是第一次下单,1表示第一次下单 if isFirstOrder == '1': productId = request.POST['product_id'] if 'addr_id' in request.POST: ##表示点击直接购买 addrId = request.POST['addr_id'] else: addrId = DEFAULT_ORDER_ADDR_ID ##表示点击加入购物车 productList = [] productList.append(productId) total_fee = getTotalFeeByProductList(productList) else: outTradeShowNoListStr = request.POST['outTradeShowNoListStr'] outTradeShowNoList = getOutTradeShowNoListFromStr( outTradeShowNoListStr) total_fee = getTotalFeeByOutTradeShowNoList(outTradeShowNoList) addrId = request.POST['addr_id'] #print(outTradeShowNoList) #print(total_fee) if total_fee == INVALID_TOTAL_FEE: return HttpResponse(WRONG_PRODUCT_ID_INFO, content_type="application/json") SessionOpenIdObj = SessionOpenId.objects.get(user_id=curUserId) openid = SessionOpenIdObj.openId if isFirstOrder == '1': data, out_trade_show_no = create_first_pay_data( openid, total_fee) else: data, out_trade_show_no = create_first_pay_data( openid, total_fee) #data['out_trade_no'] = out_trade_no out_trade_no = data['out_trade_no'] err_json = {'rtnCode': 2, 'rtnMsg': 'pay error'} wxpay = WxPay(config.merchant_key, **data) pay_info = wxpay.get_pay_info() #pay_info_json = json.dumps(pay_info) ##print(pay_info) sign = pay_info['sign'] pay_info.pop('sign') #pay_info['total_fee'] = total_fee pay_info['rtnCode'] = 0 pay_info['rtnMsg'] = 'wxpay request success!' ##print(pay_info) if pay_info: if isFirstOrder == '1': result = newOrderList(curUserId, productList, out_trade_show_no, out_trade_no, sign, addrId) pay_info['out_trade_show_no'] = out_trade_show_no else: pay_info['out_trade_show_no'] = '' result = updateOrderListOutTradeNoByOutTradeShowNoList( out_trade_no, outTradeShowNoList) #print(pay_info) if result['rtnCode'] != 0: ##操作失败 return HttpResponse(json.dumps(result), content_type="application/json") return HttpResponse(json.dumps(pay_info), content_type="application/json") return HttpResponse(json.dumps(err_json), content_type="application/json")