Exemplo n.º 1
0
 def get_session(self, code):
     app_id = Config.objects.filter(name="appId").first().content
     app_secret = Config.objects.filter(name="appSecret").first().content
     url = f"https://api.weixin.qq.com/sns/jscode2session?appid={app_id}&secret={app_secret}&js_code={code}&grant_type=authorization_code"
     json = requests.get(url).json()
     open_id = attr(json, "openid")
     session_key = attr(json, "session_key")
     return open_id, session_key
Exemplo n.º 2
0
 def to_json(self):
     return {
         "id":
         self.id,
         "address":
         self.address.to_json(),
         "items": [item.to_json() for item in self.orderitem_set.all()],
         "status":
         self.status,
         "status_name":
         self.status_name,
         "created":
         self.created.strftime("%Y-%m-%d %H:%M:%S"),
         "order_number":
         self.order_number,
         "remark":
         self.remark,
         "fee":
         self.fee,
         "logistics_fee":
         self.logistics_fee,
         "total_fee":
         self.total_fee,
         "shipper":
         attr(self.shipper, "name"),
         "tracking_number":
         self.tracking_number,
         "logistics_traces": [
             l.to_json()
             for l in self.logisticstrace_set.order_by("-event_time").all()
         ]
     }
Exemplo n.º 3
0
 def import_notice(self):
     # if Notice.objects.all(): return
     # json = get(f"{url_prefix}/notice/list?pageSize=500")
     for obj in attr(json, "data.dataList", []):
         data = get(
             f"{url_prefix}/notice/detail?id={obj['id']}").json()["data"]
         Notice.objects.create(title=data["title"],
                               content=data["content"],
                               start_date=datetime.datetime.min,
                               end_date=datetime.datetime.max)
Exemplo n.º 4
0
 def import_banner(self):
     # Product.objects.filter(banner_enable=True).all().delete()
     if len(Product.objects.filter(banner_enable=True).all()): return
     json = get(f"{url_prefix}/banner/list?key=mallName")
     for obj in attr(json, "data", []):
         id = obj["businessId"]
         if id:
             product = self.import_product_by_id(obj["businessId"])
             product.banner_url = obj['picUrl']
             product.banner_enable = True
             product.save()
             print(product)
Exemplo n.º 5
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context.update({
         'model_name': self.model.__name__,
         'model_verbose_name': attr(self, 'model._meta.verbose_name'),
         'creatable': self.is_creatable,
         'cloneable': self.is_cloneable,
         'editable': self.is_editable,
         'viewable': self.is_editable,
         'removable': self.is_removable,
         'operable': self.is_operable,
         "selectable": self.is_selectable,
     })
     return context
Exemplo n.º 6
0
    def get_parent_list_fields(self):
        fields = []
        model = self.model
        chains = get_ancestors(model, self.get_max_cls())
        chain_names = [name for name, _ in chains]
        count = len(chains)

        for index in range(0, count):
            name, model = chains[index]
            attribute_name = ".".join(chain_names[0:chain_names.index(name) + 1])
            fields.append(Field(name, attr(model, "_meta.verbose_name"), attribute_name, model.__name__))

        fields.reverse()
        return fields
Exemplo n.º 7
0
def index(request):
    user: User = request.user

    name = attr(user, "cinema.channel.name") or getattr(settings, 'FUNCTION_NAME')
    context = {
        "random": ''.join(random.sample(string.ascii_letters + string.digits, 8)),
        "nodes": get_nodes(),
        "site_name": "玩具商城",
        "copyright": "玩具商城 © 2016-2018",
        "role_name": "管理员",

    }

    template = loader.get_template('index/main.html')
    return HttpResponse(template.render(context, request))
Exemplo n.º 8
0
 def import_coupon(self):
     # if len(Coupon.objects.all()): return
     json = get(f"{url_prefix}/discounts/coupons")
     for obj in attr(json, "data", []):
         Coupon.objects.create(
             name=obj["name"],
             threshold=obj["moneyHreshold"],
             reduce=obj['moneyMin'],
             total=obj['numberTotle'],
             left=obj['numberLeft'],
             member_limit=obj['numberPersonMax'],
             sequence=0,
             expiry_date=12,
             start_date=datetime.datetime.min,
             end_date=datetime.datetime.max,
             enabled=True,
         )
Exemplo n.º 9
0
 def import_config(self):
     # Config.objects.all().delete()
     # if len(Config.objects.all()): return
     keys = [
         "mallName", "recharge_amount_min", "shopPrompt", "shopDelivery",
         "shopDeliveryPrice", "couponsTitlePicStr", "aboutUsTitle",
         "servicePhoneNumber", "aboutUsContent", "finderRecommendTtile"
     ]
     for key in keys:
         # json = load_json("config/get-value/couponsTitlePicStr.json")
         json = get(f"{url_prefix}/config/get-value?key={key}")
         print(json)
         data = attr(json, "data")
         if data:
             if not Config.objects.filter(name=key).first():
                 config = Config.objects.create(name=key,
                                                title=data['remark'],
                                                content=data["value"])
                 print(config)
Exemplo n.º 10
0
 def to_tuple(node):
     if not isinstance(node, tuple):
         model = import_model(app_name, node)
         node = (node, attr(model, '_meta.verbose_name'), attr(model, 'ROLE'))
     return node
Exemplo n.º 11
0
 def get_model_exclude_names(self):
     return attr(self.model, "list_exclude", [])
Exemplo n.º 12
0
 def user(self) -> User:
     return attr(self, "request.user")
Exemplo n.º 13
0
 def get_model_include_names(self):
     return attr(self.model, "list_fields", [])
Exemplo n.º 14
0
 def to_json(self, obj, include_fields):
     return {"code": 0, "data": {key: attr(obj, key) for key in include_fields}}
Exemplo n.º 15
0
 def list_response(self, objs, include_fields):
     return self.json_response({"code": 0, "data": [{key: attr(c, key) for key in include_fields} for c in objs]})