Esempio n. 1
0
    def post(self):
        result = utils.init_response_data()
        arguments = self.format_arguments()
        try:
            for (k, v) in arguments.items():
                if k in ['price', 'origin_price']:
                    del arguments[k]
                    try:
                        arguments[k] = float(v)
                    except:
                        raise ValueError(u"价格格式有误")
                if k in ['on_sale_flag', 'sort']:
                    del arguments[k]
                    try:
                        arguments[k] = int(v)
                    except:
                        raise ValueError(u"%s栏位应为整数" % k)

            self.model.edit(arguments)
            result['data'] = arguments
        except Exception as e:
            result = utils.reset_response_data(0, unicode(e))
        result['alert'] = 1
        self.render("admin/product/product-edit.html",
                    result=result,
                    search='')
Esempio n. 2
0
    def post(self, *args, **kwargs):
        result = utils.init_response_data()
        try:
            sku = self.get_argument("sku","")
            name = self.get_argument("name","")
            sort = self.get_argument("sort",0)
            image = self.get_argument("image","")
            show_code = self.get_argument("show_code","")
            show_name = self.get_argument("show_name","")
            enable_flag = self.get_argument("enable_flag",1)
            on_sale_flag = self.get_argument("on_sale_flag",1)
            origin_price = self.get_argument("origin_price",0.0)
            price = self.get_argument("price",0.0)
            type = self.get_argument("type", "")
            desc = self.get_argument("desc","")

            add_time = datetime.datetime.now()

            if type == "":
                raise Exception("类型不能为空")

            query_params = dict(
                type = type,
            )
            if not self.model.is_exists(query_params):

                obj = self.model.create(dict(sku=sku,name=name,sort=sort,image=image,show_code=show_code,show_name=show_name,
                                    enable_flag=enable_flag,on_sale_flag=on_sale_flag,origin_price=origin_price,
                                    price=price,type=type,desc=desc,add_time=add_time))
                obj = utils.dump(obj)
                result["data"] = obj
        except Exception, e:
            result = utils.reset_response_data(0, str(e))
Esempio n. 3
0
    def post(self):
        result = utils.init_response_data()
        user_coll = self.model.get_coll()
        try:
            login = self.get_argument("login")
            password = self.get_argument("password")
            is_save_password = int(self.get_argument("is_save_password", False))
            if login == "":
                raise Exception("请输入用户名!")
            elif user_coll.find({"mobile":login}).count() == 0 \
                              and user_coll.find({"email":login}).count() == 0:
                raise Exception("手机或邮箱不存在!")
            elif password == "":
                raise Exception("请输入密码!")

            user = user_coll.find_one({"mobile":login}) or user_coll.find_one({"email":login})
            if user["password1"] != password:
                raise Exception("密码错误!")

            user["login_date"] = datetime.datetime.now()
            user_coll.save(user)

            params = {
                'client_id':user["mobile"],
                'client_secret':password,
                'grant_type':'client_credentials',
                'scope':'font-api',
            }
            body = urllib.urlencode(params)
            client = tornado.httpclient.AsyncHTTPClient()
            response = yield tornado.gen.Task(
                client.fetch,
                  "http://localhost:9000/token",
                  method='POST',
                  body=body)
            response_body = json.loads(response.body)
            try:
                access_token = response_body["access_token"]
            except Exception ,e:
                result = utils.reset_response_data(-1, str(e) + \
                                                   response_body["error"]+" "+\
                                                   response_body["error_description"]+\
                                                   " or password error!")
                self.finish(result)
                return
            if is_save_password:
                self.model.delay_access_token(access_token)

            user["_id"] = str(user["_id"])

            # 存储 token-uid
            self.model.save_token_uid(access_token, user["_id"])

            user["add_time"] = str(user["add_time"]).split(".")[0]
            user["login_date"] = str(user["login_date"]).split(".")[0]
            del user["password1"]
            del user["password2"]
            result["data"] = user
            result["data"]["access_token"] = access_token
Esempio n. 4
0
 def put(self):
     result = utils.init_response_data()
     try:
         type = self.get_argument("type", "BAR001")
         self.model.to_file(type)
     except Exception as e:
         result = utils.reset_response_data(0, unicode(e))
     self.finish(result)
Esempio n. 5
0
 def get(self):
     result = utils.init_response_data()
     try:
         show_code = self.get_argument("show_code","")
         result["data"] = self.model.get_show_products(show_code)
     except Exception as e:
         result = utils.reset_response_data(0,unicode(e))
     self.finish(result)
Esempio n. 6
0
 def get(self):
     result = utils.init_response_data()
     try:
         product_id = self.get_argument("product_id","")
         product = self.coll.find_one({"_id":utils.create_objectid(product_id)})
         result["data"] = utils.dump(product)
     except Exception as e:
         result = utils.reset_response_data(0,unicode(e))
     self.finish(result)
Esempio n. 7
0
 def delete(self):
     result = utils.init_response_data()
     try:
         ids = json.loads(self.get_argument("ids"))
         _ids = [utils.create_objectid(id) for id in ids]
         for _id in _ids:
             self.model.delete(_id=_id)
     except Exception, e:
         result = utils.reset_response_data(0, str(e))
Esempio n. 8
0
 def post(self):
     result = utils.init_response_data()
     try:
         type = self.get_argument("type", "BAR001")
         number = self.get_argument("number", 0)
         self.model.generate(type, number)
     except Exception as e:
         result = utils.reset_response_data(0, unicode(e))
     self.finish(result)
Esempio n. 9
0
 def get(self):
     result = utils.init_response_data()
     try:
         result['data'] = "Api home page"
         result['version'] = "v0.2.0"
         result['pack_date'] = "2016-08-09"
         result['update_msg'] = u"1.修改邮箱为集团邮箱 2.修改后台文档删除后不能重新更新的bug"
     except Exception as e:
         result = utils.reset_response_data(0, unicode(e))
     self.finish(result)
Esempio n. 10
0
 def get(self):
     import renren.libs.wslib as wslib
     result = utils.init_response_data()
     try:
         res = wslib.send_msg(18752036998,
                              "【东汇征信】尊敬的用户您好,您本次的验证码为12345,30分钟内有效")
         result['data'] = res
     except Exception as e:
         result = utils.reset_response_data(0, unicode(e))
     self.finish(result)
Esempio n. 11
0
 def get(self):
     result = utils.init_response_data()
     try:
         request_params = self.format_request_params()
         exec("""objs, pager = self.model.search_list(%s)""" %
              request_params)
         result["data"] = objs
         result["pager"] = pager
     except Exception, e:
         result = utils.reset_response_data(0, str(e))
         self.finish(result)
         return
Esempio n. 12
0
 def get(self):
     result = utils.init_response_data()
     try:
         id = self.get_argument("id")
         _id = utils.create_objectid(id)
         ret = self.model.search({"_id": _id})
         if ret:
             result["data"] = ret
         else:
             result["data"] = {}
     except Exception, e:
         result = utils.reset_response_data(0, str(e))
Esempio n. 13
0
 def get(self):
     result = utils.init_response_data()
     product_id = self.get_argument("product_id", "")
     try:
         if not self.model.is_exist(product_id):
             raise ValueError(u"该商品不存在")
         result['data'] = self.coll.find_one(
             {"_id": utils.create_objectid(product_id)})
         result['mode'] = ''
     except Exception as e:
         result['alert'] = 1
         result = utils.reset_response_data(0, unicode(e))
     self.render("admin/product/product-edit.html", result=result)
Esempio n. 14
0
 def get(self):
     result = utils.init_response_data()
     query_list = {}
     try:
         page = self.get_argument("page",1)
         page_size = self.get_argument("page_size",15)
         type = self.get_argument("type",None)
         if type is not None:
             query_list['type'] = type
         query_list['enable_flag'] = 1
         result["data"],result["pager"] = self.model.list(query_list,page,page_size)
     except Exception as e:
         result = utils.reset_response_data(0,unicode(e))
     self.finish(result)
Esempio n. 15
0
    def get(self):
        result = utils.init_response_data()
        query_list = {}
        try:
            page = self.get_argument("page", 1)
            page_size = self.get_argument("page_size", 15)

            query_list['enable_flag'] = 1
            result["data"], result["pager"] = self.model.list(
                query_list, page, page_size)
        except Exception as e:
            result = utils.reset_response_data(0, unicode(e))
        self.render("admin/product/product-list.html",
                    result=result,
                    search='')
Esempio n. 16
0
    def get(self):

        result = utils.init_response_data()
        checkcode_coll = self.model.get_coll()
        try:
            mobile = self.get_argument("mobile")
            curr_time = datetime.datetime.now()
            if checkcode_coll.find({
                    "mobile": mobile,
                    "enable_flag": True
            }).count() > 0:
                # 验证码请求限制 每小时限制5条
                if checkcode_coll.find({
                        "mobile": mobile,
                        "create_date": {
                            "$gte": curr_time - datetime.timedelta(hours=1),
                            "$lte": curr_time + datetime.timedelta(hours=1),
                        }
                }).count() >= 5:
                    raise Exception("验证码请求限制,每小时限制5条!")

                cr = checkcode_coll.find({
                    "mobile": mobile,
                    "enable_flag": True
                })
                for checkcode in cr:
                    checkcode["enable_flag"] = False
                    checkcode_coll.save(checkcode)
            else:
                pass
            random_code = utils.get_random_num(6, mode="number")

            checkcode_coll.insert_one({
                "mobile": mobile,
                "enable_flag": True,
                "create_date": curr_time,
                "type": "mobile",
                "code": random_code,
            })
            res = wslib.send_msg(mobile,
                                 "尊敬的用户您好,您本次的验证码为%s,30分钟内有效" % random_code)
            if res != "0":
                raise ValueError(u"短信发送失败")
            result["code"] = random_code
        except Exception, e:
            result = utils.reset_response_data(0, str(e))
Esempio n. 17
0
 def get(self):
     result = utils.init_response_data()
     product_id = self.get_argument("product_id", "")
     try:
         if not self.model.is_exist(product_id):
             raise ValueError(u"该商品不存在")
         self.model.edit({
             "enable_flag": 0,
             "_id": utils.create_objectid(product_id)
         })
         result['data'], result['pager'] = self.model.list()
         result['mode'] = ''
     except Exception as e:
         result = utils.reset_response_data(0, unicode(e))
     result['alert'] = 1
     self.render("admin/product/product-list.html",
                 result=result,
                 search='')
Esempio n. 18
0
    def get(self):
        result = utils.init_response_data()
        checkcode_coll = self.model.get_coll()
        try:
            email = self.get_argument("email")

            curr_time = datetime.datetime.now()
            if checkcode_coll.find({
                    "email": email,
                    "enable_flag": True
            }).count() > 0:
                # 验证码请求限制 每天限制5条
                if checkcode_coll.find({
                        "email": email,
                        "create_date": {
                            "$gte": curr_time - datetime.timedelta(hours=1),
                            "$lte": curr_time + datetime.timedelta(hours=1),
                        }
                }).count() >= 5:
                    raise Exception("验证码请求限制,每小时限制5条!")

                cr = checkcode_coll.find({"email": email, "enable_flag": True})
                for checkcode in cr:
                    checkcode["enable_flag"] = False
                    checkcode_coll.save(checkcode)
            else:
                pass
            random_code = utils.get_random_num(6, mode="number")
            checkcode_coll.insert_one({
                "email": email,
                "enable_flag": True,
                "create_date": curr_time,
                "type": "email",
                "code": random_code,
            })
            result['res'] = send_email(
                '*****@*****.**', [email],
                u'风控系统邮件验证',
                '',
                html=u"【风控系统】尊敬的用户您好,您本次的验证码为%s,30分钟内有效" % random_code)
            # result['res'] = send_email('*****@*****.**',[email],u'风控系统邮件验证','',html=u"【风控系统】尊敬的用户您好,您本次的验证码为%s,30分钟内有效"%random_code)
            result["code"] = random_code
        except Exception, e:
            result = utils.reset_response_data(0, str(e))
Esempio n. 19
0
    def post(self):
        result = utils.init_response_data()
        try:
            self.check_request_params(self.mp_require_params)
            request_params = self.format_request_params()
            exec("""request_params = self.mp_default_params.update(%s)""" %
                 request_params)
            request_params = self.mp_default_params

            query_params = {}
            for key in self.query_params:
                query_params.update({
                    key: request_params[key],
                })

            if query_params == {} or not self.model.is_exists(query_params):
                obj = self.model.create(**request_params)
                result = utils.dump(obj)
        except Exception, e:
            result = utils.reset_response_data(0, str(e))
Esempio n. 20
0
    def put(self):
        result = utils.init_response_data()
        try:
            id = self.get_argument("id")
            _id = utils.create_objectid(id)

            address = self.get_argument("address", "")
            self.check_request_params(self.mp_require_params)
            request_params = self.format_request_params()

            update_params = {}
            exec("""update_params.update(%s)""" % request_params)
            self.check_update_params(update_params)
            update_params["_id"] = _id
            del update_params["id"]

            ret = self.model.update(query_params={"_id": _id},
                                    update_params=update_params)
            result['data'] = ret
        except Exception, e:
            result = utils.reset_response_data(0, str(e))
Esempio n. 21
0
    def prepare(self):
        try:
            token = self.get_argument('access_token', None)
            if not token:
                auth_header = self.request.headers.get('Authorization', None)
                if not auth_header:
                    raise Exception('This resource need a authorization token')
                token = auth_header[7:]

            key = 'oauth2_{}'.format(token)
            access = self.provider["provider"].access_token_store.rs.get(key)
            if access:
                access = json.loads(access.decode())
            else:
                raise Exception('Invalid Token')
            if access['expires_at'] <= int(time.time()):
                raise Exception('expired token')
            authority = importlib.import_module("renren.authority").authority
            authority.process(self.request, access)
        except Exception as err:
            self.set_header('Content-Type', 'application/json')
            self.set_status(401)
            result = utils.reset_response_data(0, str(err))
            self.finish(result, status_code=401)
Esempio n. 22
0
 def delete(self):
     result = utils.init_response_data()
     try:
         raise Exception("操作限制!")
     except Exception,e:
         result = utils.reset_response_data(0, str(e))
Esempio n. 23
0
    def post(self):
        result = utils.init_response_data()
        try:
            user_coll = self.model.get_coll()
            oauth_coll = BaseModel.get_model("oauth.OauthModel").get_coll()
            checkcode_coll = BaseModel.get_model("checkcode.CheckCode").get_coll()

            mobile = self.get_argument("mobile")
            mobile_code = self.get_argument("mobile_code")
            password1 = self.get_argument("password1")
            password2 = self.get_argument("password2")
            type = self.get_argument("type","b")

            if mobile == "":
                raise Exception("请输入手机号!")
            elif mobile_code == "":
                raise Exception("请输入手机验证码")
            elif password1 == "":
                raise Exception("请输入password1!")
            elif password2 == "":
                raise Exception("请确认password2!")

            # 检查手机验证码
            utils.check_code(checkcode_coll, mobile, mobile_code)
            # # 检查邮箱验证码
            # utils.check_code(checkcode_coll, email, email_code, type="email")

            add_time = datetime.datetime.now()
            login_date = ""
            headimgurl = ""
            nickname = ""
            username = ""
            active = 0
            sex = 0
            city = ""
            address = ""
            privilege = 0
            province = ""

            if not user_coll.find_one({'mobile': mobile}):

                user_coll.insert_one({
                    'mobile':mobile,
                    'password1':password1,
                    'password2':password2,
                    'add_time':add_time,
                    'login_date':login_date,
                    'headimgurl':headimgurl,
                    'nickname':nickname,
                    'username':'',
                    'active':active,
                    'sex':sex,
                    'city':city,
                    'address':address,
                    'privilege':privilege,
                    'province':province,
                    'type':type,
                })
                oauth_coll.insert_one({'identifier': mobile,
                                 'secret': password1,
                                 'redirect_uris': [],
                                 'authorized_grants': [oauth2.grant.ClientCredentialsGrant.grant_type]})
            params = {
                'login': mobile,
                'password': password1,
            }
            body = urllib.urlencode(params)
            client = tornado.httpclient.AsyncHTTPClient()
            response = yield tornado.gen.Task(
                client.fetch,
                "http://localhost:9000" + "/api/user/signin",
                method='POST',
                body=body)
            response_body = json.loads(response.body)
            if response_body.has_key("error"):
                result = utils.reset_response_data(0,response_body["error"] + response_body["error_description"])
                self.finish(result)
                return

            result["data"] = response_body["response"]["data"]
        except Exception, e:
            result = utils.reset_response_data(0, str(e))