Beispiel #1
0
    def get(self, request, *args, **kwargs):

        user_id = request.session.get('openid',None )

        flag = request.GET.get('flag', None)
        if flag == "pay":
            out_trade_no = request.GET.get('out_trade_no', None)
            signPackage = getJsApiSign(request)
            insurance = self.getInsurance( out_trade_no, user_id )
            return render(request, 'petfoster/insurance_pay.html', {'insurance':insurance,'sign':signPackage})
        elif flag == "get":
            out_trade_no = request.GET.get('out_trade_no', None)
            insurance = self.getInsurance( out_trade_no, user_id )
            return render(request, 'petfoster/insurance_detail.html', {'insurance':insurance})
        else:
            insurance = PetInsurance.objects.filter(openid=user_id, status=0).order_by("-create_at").first()
            if insurance:
                form = PetInsuranceForm(instance=insurance)
                obj_id = insurance.id
            else:
                form = PetInsuranceForm()
                obj_id = None
            plans = InsurancePlan.objects.all();
            claims = ClaimProcess.objects.all().order_by("sort")
            context = {
                "plans":  plans,
                "claims": claims,
                "form":   form,
                "obj_id": obj_id,
            }
            return render(request,template_name="petfoster/pet_insurance.html", context=context)
Beispiel #2
0
    def get(self, request, *args, **kwargs):
        try:
            order_id = request.GET.get("id", None)
            instance = BathOrder.objects.get(pk=int(order_id))
            # 得到用户的储值数据,判断是否需要微信支付
            openid = instance.openid
            if openid is None:
                openid = request.session.get("openid", None)   #-------------

            try:
                deposit = MemberDeposit.objects.get(openid=openid)
                balance = deposit.balance()
                total_fee = instance.total_fee
                if balance >= total_fee:
                    weixin_pay = False
                else:
                    weixin_pay = True
            except MemberDeposit.DoesNotExist as ex:
                weixin_pay = True

            signPackage = getJsApiSign(self.request)

            context ={
                "instance": instance,
                'sign': signPackage,
                "weixin_pay": weixin_pay,
            }

            return render(request, template_name="petbath/petbath_checkout.html", context=context)
        except BathOrder.DoesNotExist as ex:
            print(ex)
            return HttpResponseRedirect(reverse("bath-index"))
        except Exception as ex:
            print(ex)
            return HttpResponseRedirect(reverse("bath-index"))
Beispiel #3
0
 def get_context_data(self, **kwargs):
     context = super(ShopCartBuyListView, self).get_context_data(**kwargs)
     context['project_name'] = settings.PROJECT_NAME
     signPackage = getJsApiSign(self.request)
     context['sign'] = signPackage
     context['is_member'] = self.request.session.get('is_member', None)
     context['shopcart'] = 1
     return context
Beispiel #4
0
    def get(self, request, *args, **kwargs):
        try:
            order_id = request.GET.get("id", None)
            instance = FosterStyleChoose.objects.get(pk=int(order_id))
            # 得到用户的储值数据,判断是否需要微信支付
            openid = instance.openid
            if openid is None:
                openid = request.session.get("openid", None)   #-------------

            try:
                deposit = MemberDeposit.objects.get(openid=openid)
                balance = deposit.balance()
                total_fee = instance.total_price
                if balance >= total_fee:
                    weixin_pay = False
                else:
                    weixin_pay = True
            except MemberDeposit.DoesNotExist as ex:
                weixin_pay = True

            rooms = None
            if instance.status == 1:
                rooms = FosterRoom.objects.all()

            pet_ids = instance.pet_list
            petList = pet_ids.split(',')

            pets = PetFosterInfo.objects.filter(id__in=petList)
            petOwner = PetOwner.objects.get(openid=openid)

            # 合同内容
            try:
                contract = ContractInfo.objects.get(order=order_id)
                contract_id = contract.id
            except:
                contract_id = ''

            signPackage = getJsApiSign(self.request)

            context ={
                "instance": instance,
                "pets": pets,
                'sign': signPackage,
                "rooms": rooms,
                "weixin_pay": weixin_pay,
                'petowner': petOwner,
                'contract_id': contract_id
            }

            return render(request, template_name="petfoster/foster_checkout.html", context=context)
        except FosterStyleChoose.DoesNotExist as ex:
            print(ex)
            return HttpResponseRedirect(reverse("foster-style-calc"))
        except Exception as ex:
            print(ex)
            return HttpResponseRedirect(reverse("foster-style-calc"))
Beispiel #5
0
    def get_context_data(self, **kwargs):
        context = super(GoodsBuyListView, self).get_context_data(**kwargs)
        context['project_name'] = settings.PROJECT_NAME
        signPackage = getJsApiSign(self.request)
        context['sign'] = signPackage
        context['is_member'] = self.request.session.get('is_member', None)

        if self.is_buy_now:
            context['is_buy_now'] = self.is_buy_now
        return context
Beispiel #6
0
    def get(self, request, *arg, **kwargs):
        sign = getJsApiSign(request)
        context = {
            "sign": sign,
        }
        openid = request.session.get("openid", None)
        order = get_user_charging_order(openid)
        if order:
            context["order"] = order

        return render(request,
                      template_name='weixin/station_index.html',
                      context=context)
Beispiel #7
0
    def get(self, request, *args, **kwargs):

        signPackage = getJsApiSign(self.request)

        out_trade_no = request.GET.get('orderId', None)

        try:
            is_member = request.session.get('is_member', None)
            order = Order.objects.get(out_trade_no=out_trade_no, status=0)

            mail_cost = MailFee.getMailCost()
            flag = 0  #是否选中金币支付
            if is_member == 1:
                total_cost = order.get_member_total_cost()  #会员
                benefits_totals = order.get_total_cost(
                ) - total_cost if total_cost > 0 else 0
                if order.scores_used > 0:
                    scores_used = order.scores_used
                    flag = 1  #是否选中金币支付
                else:
                    limit_value = ScoresLimit.getLimitValue()
                    scores_used = int(total_cost * limit_value / 100)
            else:
                total_cost = order.get_total_cost()  #非会员
                benefits_totals = 0
                scores_used = 0

            if total_cost < 0:
                raise Exception

            items = order.items.all()
        except:
            return render(request, template_name='shopping/goods_list.html')

        context = {
            'total_cost': total_cost,
            'items': items,
            'benefits_totals': benefits_totals,
            'mail_cost': mail_cost,
            'scores_used': scores_used,
            'flag': flag,
            'mail_style': order.mailstyle,
            'out_trade_no': out_trade_no,
            'sign': signPackage
        }
        return render(request,
                      template_name='shopping/goods_checkout.html',
                      context=context)
Beispiel #8
0
 def get(self, request, *args, **kwargs):
     hosting = request.GET.get("hosting", None)
     openid = request.session.get("openid", None)
     #托管充值
     if hosting == "1":
         counts = MemberRechargeRecord.objects.filter(
             openid=openid, status=1, cash_fee__gte=1000).count()
         if counts > 0:
             amounts = MemberRechargeAmount.objects.filter(money__gte=500)
         else:
             amounts = MemberRechargeAmount.objects.filter(money__gte=1000)
     else:
         amounts = MemberRechargeAmount.objects.all()
     signPackage = getJsApiSign(self.request)
     context = {'amounts': amounts, 'sign': signPackage}
     return render(request,
                   template_name="shopping/member_recharge_amount.html",
                   context=context)
Beispiel #9
0
    def get(self, request, *args, **kwargs):
        sign = getJsApiSign(request)
        station_id = kwargs.get("stationid")
        try:
            station = Station.objects.get(id=station_id)
        except Station.DoesNotExist as ex:
            station = None

        # print(station.get_gun_totals_by_type())
        # print(station.get_gun_totals_by_status())

        context = {
            "sign": sign,
            "station": station,
        }
        return render(request,
                      template_name='weixin/station_detail.html',
                      context=context)