Exemple #1
0
    def get(self):
        user_log.info("QueryFriendInfoHandler GET.")

        frd_id_list = self.get_arguments("uid")
        if not frd_id_list:
            user_log.error("Query friend info list protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_id = self.get_current_user()

        frd_list = dao_friend.queryFriendInfoList(user_id, frd_id_list)
        if frd_list is None:
            user_log.error("Query friend info list failed! Friend id list: %s", frd_id_list)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FRIEND_ID_LIST_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["frdList"] = frd_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #2
0
    def post(self):
        user_log.info("BindPhoneHandler.")
        
        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["phone"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Bind phone protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        phone = req_json["phone"]
        acc_id = self.get_current_user()

        if True != dao.bindPhone(acc_id, phone):
            user_log.error("Bind phone failed! Account id: %s, Phone: %s", acc_id, phone)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_BIND_PHONE_FAILED 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return
            
        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #3
0
    def get(self):
        user_log.info("QueryShopNameHandler GET.")

        shop_id = self.get_argument("sid", None)
        if shop_id is None:
            user_log.error("Query shop name protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        shop_name = dao.queryShopName(shop_id)
        if shop_name is None:
            user_log.error("Query shop name failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_SHOP_NAME_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["shopName"] = shop_name
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #4
0
    def get(self):
        user_log.info("QueryUserInfoHandler GET.")

        user_id_list = self.get_arguments("uid")
        if not user_id_list:
            user_log.error("Query user info list protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_info_list = dao_friend.queryUserInfoList(user_id_list)
        if user_info_list is None:
            user_log.error("Query user info list failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_USER_INFO_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["userList"] = user_info_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #5
0
    def delete(self):
        user_log.info("ConcerShopHandler DELETE.")

        shop_id = self.get_argument("sid")
        if shop_id is None:
            rep_json = {}
            user_log.error("Unconcern shop protocol data error!")
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_id = self.get_current_user()

        if True != dao.concernShop(user_id, shop_id, FD_UNCONCERN):
            user_log.error("Unconcer shop failed! User id: %s, shop id: %s", user_id, shop_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_UNCONCERN_SHOP_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return 
Exemple #6
0
    def post(self):
        user_log.info("FeedbackHandler POST.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["feedback"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            req_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(req_json, cls=ExtendedJsonEncoder))
            return

        feedback = req_json["feedback"]

        user_id = self.get_current_user()

        if True != dao.feedback(user_id, feedback):
            user_log.error("Feedback failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_FEEDBACK_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #7
0
    def get(self):
        user_log.info("QueryGoodsDetailHandler GET.")

        goods_id = self.get_argument("gid", None)
        bar_code = self.get_argument("barcode", None)
        if goods_id is None:
            user_log.error("Query goods detail protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        goods = dao.queryGoodsDetail(goods_id, bar_code)
        if goods is None:
            user_log.error("Query goods detail failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_GOODS_DETAIL_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["info"] = goods
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #8
0
    def post(self):
        user_log.info("ResetPasswordHandler POST.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["phone", "password"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Reset password protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        phone = req_json["phone"]
        password = req_json["password"]

        if True != dao.resetPassword(phone, password):
            user_log.error("Reset password failed! Phone: %s", phone)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_RESET_PASSWORD_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #9
0
    def get(self):
        user_log.info("QueryActivitiesHandler GET.")

        city_id = int(self.get_argument("city"))
        offset = int(self.get_argument("offset"))
        count = int(self.get_argument("count"))
        if city_id is None or offset is None or count is None:
            user_log.error("Query activities protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        act_list = dao.queryActivities(city_id, offset, count)
        if act_list is None:
            user_log.error("Query activities failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_ACTIVITIES_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["actList"] = act_list
        rep_json["count"] = dao.queryActivityNum(city_id)
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #10
0
    def get(self):
        user_log.info("QueryRecommendHandler GET.")

        city_id = self.get_argument("city", None)
        if city_id is None or city_id < 0:
            user_log.error("Query recommend shop protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        shop_list = dao.queryRecommendShops(city_id)
        if shop_list is None:
            user_log.error("Query recommend shop failed! City ID: %s", city_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_RECOMMEND_SHOP_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["shopList"] = shop_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #11
0
    def get(self):
        user_log.info("QueryActivityByShopHandler GET.")

        shop_id = self.get_argument("sid", None)
        if shop_id is None:
            user_log.error("Query shop activity protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        act_list = dao.queryActivityByShop(shop_id)
        if act_list is None:
            user_log.error("Query shop activity list failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_ACTIVITY_BY_SHOP_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["actList"] = act_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #12
0
    def get(self):
        user_log.info("QueryGoodsByShopHandler GET.")

        shop_id = self.get_argument("sid", None)
        offset = self.get_argument("offset", None)
        count = self.get_argument("count", None)
        if shop_id is None or offset is None or count is None:
            user_log.error("Query goods by shop protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        goods_list = dao.queryGoodsByPage(int(shop_id), int(offset), int(count))
        if goods_list is None:
            user_log.error("Query goods by page failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_GOODS_BY_PAGE_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["goodsList"] = goods_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #13
0
    def get(self):
        user_log.info("QueryShopCurrentCustomerHandler GET.")

        shop_id = self.get_argument("sid", None)
        if shop_id is None:
            user_log.error("Query shop current customer count protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        url = CONFIG.FD_CHAT_SERVER + "/chat/shop/" + str(shop_id) + "/userstotalnum"
        request = HTTPRequest(url, "GET")
        http = AsyncHTTPClient()
        response = yield http.fetch(request)
        rep_json = json.loads(response.body)
        is_success = rep_json["is_success"]
        if is_success:
            customer_count = rep_json["total_num"]
            rep_json = {}
            rep_json["err"] = FD_USER_NOERR
            rep_json["count"] = customer_count
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return
        else:
            user_log.error("Query shop current customer count failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_SHOP_CUSTOMER_COUNT_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return
Exemple #14
0
    def queryFriendInfoList(self, user_id, frd_id_list):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            frd_list = []
            sql = "select t1.friend_id, t1.friend_name, t2.name, t2.mcode, t2.portrait_url from fd_t_friend t1, fd_t_user t2 \
                    where t1.user_id = %s and t1.friend_id in %s and t1.friend_id = t2.user_id"

            paras = (user_id, frd_id_list)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                return frd_list

            rows = cursor.fetchall()
            for row in rows:
                friend = {}
                friend["frdID"] = row["friend_id"]
                friend["rmkName"] = row["friend_name"]
                friend["nickName"] = row["name"]
                friend["mcode"] = row["mcode"]
                friend["portrait"] = OSS_URL_PRIFIX + row["portrait_url"]

                frd_list.append(friend)
            return frd_list
        except MySQLdb.Error, e:
            user_log.error(
                "Query friend info lsit failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            return None
Exemple #15
0
    def get(self):
        user_log.info("QueryCustomerFittingHandler GET.")

        goods_id = self.get_argument("gid", None)
        offset = self.get_argument("offset", None)
        count = self.get_argument("count", None)
        if goods_id is None or offset is None or count is None:
            user_log.error("Query goods customer fitting protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        pic_list = dao.queryGoodsFitting(int(goods_id), int(offset), int(count))
        if pic_list is None:
            user_log.error("Query goods fitting picture list failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_GOODS_FITTING_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["picList"] = pic_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #16
0
    def queryUserFFVCount(self, user_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            ffv_count = {}

            # query user fans shop count
            sql = "select count(0) as count from fd_t_fans where user_id = %s"
            paras = (user_id, )
            cursor.execute(sql, paras)
            row = cursor.fetchone()
            ffv_count["fans"] = row["count"]

            # query user favorite goods count
            sql = "select count(0) as count from fd_t_favorite where user_id = %s"
            paras = (user_id, )
            cursor.execute(sql, paras)
            row = cursor.fetchone()
            ffv_count["favorite"] = row["count"]

            # query user fans shop count
            sql = "select count(0) as count from fd_t_visitedshop where user_id = %s"
            paras = (user_id, )
            cursor.execute(sql, paras)
            row = cursor.fetchone()
            ffv_count["visited"] = row["count"]

            return ffv_count
        except MySQLdb.Error, e:
            user_log.error(
                "Query user ffv count failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            return None
Exemple #17
0
    def put(self):
        user_log.info("CustomerFittingHandler PUT.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["goodsID", "picURL"]
        optional_args = ["description"]
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Add customer fitting picture protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        goods_id = req_json["goodsID"]
        pic_url = req_json["picURL"]
        description = req_json["description"]

        acc_id = self.get_current_user()

        if True != dao.addCustomerFitting(acc_id, goods_id, pic_url, description):
            user_log.error("Add customer fitting picture failed! Account id: %s", acc_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_ADD_CUSTOMER_FITTING_PICTURE_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #18
0
    def bindPhone(self, acc_id, phone):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "update fd_t_account set phone_no = %s where acc_id = %s"
            paras = (phone, acc_id)

            row_count = cursor.execute(sql, paras)
            # if row_count <= 0:
            # LOGGER.error("Bind phone no failed! Update account data failed! Phone no: %s", phone)
            #     conn.rollback()
            #     return False

            sql = "update fd_t_user set phone_no = %s where user_id = %s"
            paras = (phone, acc_id)

            row_count = cursor.execute(sql, paras)
            # if row_count <= 0:
            #     LOGGER.error("Bind phone failed! No data be updated! Phone no: %s", phone)
            #     conn.rollback()
            #     return False

            conn.commit()
            return True

        except MySQLdb.Error, e:
            user_log.error(
                "Bind phone failed! sql: %s, paras: %s, exception: %s", sql,
                paras, e)
            conn.rollback()
            return False
Exemple #19
0
    def get(self):
        user_log.info("QueryVisitedShopsHandler GET.")

        time = self.get_argument("time", None)
        direct = self.get_argument("direct", None)
        count = self.get_argument("count", None)
        if time is None or count is None:
            user_log.error("Query goods customer fitting protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        visit_time = datetime.datetime.fromtimestamp(int(time))
        user_id = self.get_current_user()

        shop_list = dao.queryVisitedShops(user_id, visit_time, int(direct), int(count))
        if shop_list is None:
            user_log.error("Query visited shop list failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_VISITED_SHOPS_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["shopList"] = shop_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #20
0
    def get(self):
        user_log.info("QueryFansShopNewsHandler POST.")

        fans_shop_id_list = self.get_arguments("sid")
        if not fans_shop_id_list:
            rep_json = {}
            user_log.error("Query fans shop news protocol data error!")
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        fans_shop_list = dao.queryFansShopNewsList(fans_shop_id_list)
        if fans_shop_list is None:
            user_log.error("Query fans shop news list failed! Shop id list: %s", fans_shop_id_list)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FANS_SHOP_NEWS_LIST_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["shopList"] = fans_shop_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #21
0
    def queryFeedbackListByPage(self, user_id, offset, count):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            feed_list = []

            sql = "select * from fd_t_feedback where user_id = %s and time <= \
                    (select time from fd_t_feedback where user_id = %s order by time desc limit %s, 1) order by time desc limit %s "

            paras = (user_id, user_id, int(offset), int(count))

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                return feed_list

            rows = cursor.fetchall()
            for row in rows:
                feedback = dict()
                feedback["content"] = row["content"]
                feedback["time"] = row["time"]
                feedback["direction"] = row["direction"]

                feed_list.append(feedback)

            return feed_list
        except MySQLdb.Error, e:
            user_log.error(
                "Query feedback info failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            return False
Exemple #22
0
    def post(self):
        user_log.info("PrivateSettingHandler POST.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["favoriteEnable", "fansEnable", "visitEnable"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            req_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(req_json, cls=ExtendedJsonEncoder))
            return

        favorite_enable = req_json["favoriteEnable"]
        fans_enable = req_json["fansEnable"]
        visit_enable = req_json["visitEnable"]

        user_id = self.get_current_user()

        if True != dao.modifyPrivateSetting(user_id, favorite_enable, fans_enable, visit_enable):
            user_log.error("Modify private setting failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_MODIFY_PRIVATE_SETTING_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #23
0
    def querySupportCityList(self):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            city_list = []

            sql = "select DISTINCT city_id, city_name from fd_t_citycode where is_support = 1"

            row_count = cursor.execute(sql, None)
            if row_count <= 0:
                return city_list

            rows = cursor.fetchall()
            for row in rows:
                city = dict()
                city["id"] = row["city_id"]
                city["name"] = row["city_name"]
                city_list.append(city)
            return city_list
        except MySQLdb.Error, e:
            user_log.error(
                "Query support city lsit failed! sql: %s, paras: %s, exception: %s",
                sql, e)
            return None
Exemple #24
0
    def get(self):
        user_log.info("QueryFriendVisitedShopHandler GET.")

        frd_id = self.get_argument("uid", None)
        offset = self.get_argument("offset", None)
        count = self.get_argument("count", None)
        if frd_id is None or offset is None or count is None:
            user_log.error("Query friend fans shop protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_id = self.get_current_user()

        shop_list = dao_shop.queryFriendVisitedShop(int(user_id), int(frd_id), int(offset), int(count))
        if shop_list is None:
            user_log.error("Query friend visited shop failed! User id: %s, friend id: %s", user_id, frd_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FRIEND_VISITED_SHOP_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["shopList"] = shop_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #25
0
    def queryPrivateSetting(self, user_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select * from fd_t_privatesetting where user_id = %s"
            paras = (user_id, )

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                user_log.error("No private setting data! User id: %s", user_id)
                return None

            row = cursor.fetchone()
            setting = {}
            setting["favoriteEnable"] = row["save_enable"]
            setting["fansEnable"] = row["fans_enable"]
            setting["visitEnable"] = row["visit_enable"]
            return setting
        except MySQLdb.Error, e:
            user_log.error(
                "Query private setting failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            user_log.exception(e)
            return None
Exemple #26
0
    def get(self):
        user_log.info("QueryUserFFVCountHandler GET.")

        user_id = self.get_argument("uid", None)
        if user_id is None:
            user_log.error("Query user ffv count protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        ffv_count = dao_friend.queryUserFFVCount(user_id)
        if ffv_count is None:
            user_log.error("Query user ffv count failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_USER_FFV_COUNT_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["ffvCount"] = ffv_count
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #27
0
    def savePhoneCode(self, phone, code, deadline):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select * from fd_t_phoneauth where phone_no = %s"
            paras = (phone, )

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                sql = "insert into fd_t_phoneauth values(%s, %s, %s)"
                paras = (phone, code, deadline)
            else:
                sql = "update fd_t_phoneauth set auth_code = %s, auth_deadline = %s where phone_no = %s"
                paras = (code, deadline, phone)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                user_log.error("Save phone verify code failed!")
                conn.rollback()
                return False

            conn.commit()
            return True
        except MySQLdb.Error, e:
            user_log.error(
                "Save phone code failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            conn.rollback()
            return False
Exemple #28
0
    def delete(self):
        user_log.info("AddressHandler DELETE.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["addrID"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Modify address info protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        addr_id = req_json["addrID"]
        
        acc_id = self.get_current_user()

        if True != dao.deleteAddress(acc_id, addr_id):
            user_log.error("Delete address info failed! Account id: %s", acc_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_DELETE_ADDRESS_INFO_FAILED 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return
            
        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #29
0
    def resetPassword(self, phone, password):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "update fd_t_account set password = %s where phone_no = %s"
            paras = (password, phone)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                user_log.error(
                    "Reset password failed! No data be updated! Phone no: %s",
                    phone)
                conn.rollback()
                return False

            conn.commit()
            return True

        except MySQLdb.Error, e:
            user_log.error(
                "Reset password failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            conn.rollback()
            return False
Exemple #30
0
    def post(self):
        user_log.info("AddressDefaultSettingHandler.")
        
        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["addrID"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Bind phone protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        addr_id = req_json["addrID"]
        user_id = self.get_current_user()

        if True != dao.setDefaultAddress(user_id, addr_id):
            user_log.error("Bind phone failed! Account id: %s, Phone: %s", acc_id, phone)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_SET_DEFAULT_ADDRESS_FAILED 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return
            
        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #31
0
    def recordLoginDevice(self, acc_id, cur_login_dev):
        conn = self._pool.connection()
        cursor = conn.cursor()

        sql = "select device from fd_t_userlogindevice where user_id = %s"
        paras = (acc_id, )
        try:
            last_login_dev = ""
            row_count = cursor.execute(sql, paras)
            if row_count > 0:
                row = cursor.fetchone()
                last_login_dev = row["device"]

                sql = "update fd_t_userlogindevice set device = %s, login_time = %s where user_id = %s"
                paras = (cur_login_dev, datetime.now(), acc_id)
            else:
                sql = "insert into fd_t_userlogindevice values(%s, %s, %s)"
                paras = (acc_id, cur_login_dev, datetime.now())

            cursor.execute(sql, paras)
            conn.commit()

            return last_login_dev
        except MySQLdb.Error, e:
            user_log.error(
                "Record user login device failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            conn.rollback()
            return None
Exemple #32
0
    def queryFriendPrivateSetting(self, user_id, frd_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select t1.save_enable, t1.fans_enable, t1.visit_enable from fd_t_privatesetting t1, fd_t_friend t2 \
                    where t1.user_id = %s and t2.user_id = %s and t2.friend_id = %s"

            paras = (frd_id, user_id, frd_id)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                setting = {}
                setting["favoriteEnable"] = 1
                setting["fansEnable"] = 1
                setting["visitEnable"] = 1
                return setting

            setting = {}
            row = cursor.fetchone()
            setting["favoriteEnable"] = row["save_enable"]
            setting["fansEnable"] = row["fans_enable"]
            setting["visitEnable"] = row["visit_enable"]
            return setting
        except MySQLdb.Error, e:
            user_log.error(
                "Query friend private setting failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            return None
Exemple #33
0
    def post(self):
        user_log.info("ResetPasswordHandler POST.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["phone", "password"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Reset password protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        phone = req_json["phone"]
        password = req_json["password"]

        if True != dao.resetPassword(phone, password):
            user_log.error("Reset password failed! Phone: %s", phone)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_RESET_PASSWORD_FAILED 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return
            
        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #34
0
    def queryUserInfo(self, user_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select * from fd_t_user where user_id = %s"
            paras = (user_id, )

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                user_log.error("No personal info. User id: %s", user_id)
                return None

            row = cursor.fetchone()
            info = {}
            info["name"] = row["name"]
            info["portrait"] = OSS_URL_PRIFIX + row["portrait_url"] if row[
                "portrait_url"] else None
            info["gender"] = row["gender"]
            info["city"] = row["city_id"]
            info["phone"] = row["phone_no"]
            info["mcode"] = row["mcode"]
            info["qrcode"] = row["qrcode"]

            return info

        except MySQLdb.Error, e:
            user_log.error(
                "Query user info failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            return None
Exemple #35
0
    def savePhoneCode(self, phone, code, deadline):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            sql = "select * from fd_t_phoneauth where phone_no = %s"
            paras = (phone,)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                sql = "insert into fd_t_phoneauth values(%s, %s, %s)"
                paras = (phone, code, deadline)
            else:
                sql = "update fd_t_phoneauth set auth_code = %s, auth_deadline = %s where phone_no = %s"
                paras = (code, deadline, phone)

            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                user_log.error("Save phone verify code failed!")
                conn.rollback()
                return False

            conn.commit()
            return True
        except MySQLdb.Error, e:
            user_log.error("Save phone code failed! sql: %s, paras: %s, exception: %s", sql, paras, e)
            conn.rollback()
            return False
Exemple #36
0
    def queryPersonalInfo(self, user_id):
        conn = self._pool.connection()
        cursor = conn.cursor()

        sql = "select * from fd_t_user where user_id = %s"
        paras = [user_id]
        try:
            row_count = cursor.execute(sql, paras)
            if row_count <= 0:
                user_log.error("No personal info. User id: %s", user_id)
                return None

            row = cursor.fetchone()
            info = dict()
            info["name"] = row["name"]
            if row["portrait_url"]:
                info["portrait"] = OSS_URL_PRIFIX + row["portrait_url"]
            else:
                info["portrait"] = OSS_URL_PRIFIX + CONFIG.PORTRAIT_URL
            info["gender"] = row["gender"]
            info["city"] = row["city_id"]
            # info["province"] = row["province_id"]
            info["phone"] = row["phone_no"]
            info["mcode"] = row["mcode"]
            info["qrcode"] = row["qrcode"]

            return info

        except MySQLdb.Error, e:
            user_log.error(
                "Query personal info failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            return None
Exemple #37
0
    def recordLoginDevice(self, acc_id, cur_login_dev):
        conn = self._pool.connection()
        cursor = conn.cursor()

        sql = "select device from fd_t_userlogindevice where user_id = %s"
        paras = (acc_id,)
        try:
            last_login_dev = ""
            row_count = cursor.execute(sql, paras)
            if row_count > 0:
                row = cursor.fetchone()
                last_login_dev = row["device"]

                sql = "update fd_t_userlogindevice set device = %s, login_time = %s where user_id = %s"
                paras = (cur_login_dev, datetime.now(), acc_id)
            else:
                sql = "insert into fd_t_userlogindevice values(%s, %s, %s)"
                paras = (acc_id, cur_login_dev, datetime.now())

            cursor.execute(sql, paras)
            conn.commit()

            return last_login_dev
        except MySQLdb.Error, e:
            user_log.error("Record user login device failed! sql: %s, paras: %s, exception: %s", sql, paras, e)
            conn.rollback()
            return None
Exemple #38
0
    def modifyPersonalInfo(self, user_id, attr, name, portrait_url, gender,
                           city):
        conn = self._pool.connection()
        cursor = conn.cursor()

        try:
            if FD_PERSONAL_INFO_NAME == attr:
                sql = "update fd_t_user set name = %s where user_id = %s"
                paras = (name, user_id)
            elif FD_PERSONAL_INFO_PORTRAIT == attr:
                sql = "update fd_t_user set portrait_url = %s where user_id = %s"
                paras = (portrait_url, user_id)
            elif FD_PERSONAL_INFO_GENDER == attr:
                sql = "update fd_t_user set gender = %s where user_id = %s"
                paras = (gender, user_id)
            elif FD_PERSONAL_INFO_CITY == attr:
                sql = "update fd_t_user set city_id = %s where user_id = %s"
                paras = (city, user_id)

            row_count = cursor.execute(sql, paras)

            conn.commit()
            return True

        except MySQLdb.Error, e:
            user_log.error(
                "Modify personal info failed! sql: %s, paras: %s, exception: %s",
                sql, paras, e)
            conn.rollback()
            return False
Exemple #39
0
    def get(self):
        user_log.info("QueryGoodsPromotHandler GET.")

        goods_id_list = self.get_arguments("gid")

        if not goods_id_list:
            user_log.error("Query goods promotion list failed! goods id list: %s", goods_id_list)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_GOODS_PROMOTION_LIST_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        goods_list = dao.queryGoodsPromotionList(goods_id_list)
        if goods_list is None:
            user_log.error("Query goods promotion list failed! goods id list: %s", goods_id_list)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_GOODS_PROMOTION_LIST_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["goodsList"] = goods_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return 
Exemple #40
0
    def post(self):
        user_log.info("QueryFansShopDifferenceHandler POST.")

        front_fans_id_list = self.arg.shopIDs
        user_id = self.get_current_user()

        end_fans_id_list = dao.queryFansShopIDList(user_id)
        if end_fans_id_list is None:
            user_log.error("Query fans shop id list failed! User id: %s", user_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FANS_SHOP_ID_LIST_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        front_fans_id_set = set(front_fans_id_list)
        end_fans_id_set = set(end_fans_id_list)

        add_fans_id_set = end_fans_id_set - front_fans_id_set
        delete_fans_id_set = front_fans_id_set - end_fans_id_set

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["addShopIDs"] = list(add_fans_id_set)
        rep_json["delShopIDs"] = list(delete_fans_id_set)
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #41
0
    def post(self):
        user_log.info("ModifyFriendRemarkNameHandler POST.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["frdID", "rmkName"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Modify friend remark name protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        frd_id = req_json["frdID"]
        rmk_name = req_json["rmkName"]
        user_id = self.get_current_user()

        if True != dao_friend.modifyFriendName(user_id, frd_id, rmk_name):
            user_log.error("Modify friend remark name failed! User id: %s, friend id: %s", user_id, frd_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_MODIFY_FRIEND_NAME_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #42
0
    def get(self):
        user_log.info("FeedbackHandler GET.")
        
        offset = self.get_argument("offset", None)
        count = self.get_argument("count", None)
        if offset is None or count is None:
            user_log.error("Query feedback info protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_id = self.get_current_user()

        feed_list = dao.queryFeedbackListByPage(user_id, offset, count)
        if feed_list is None:
            user_log.error("Query feedback info failed! User id: %s", user_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FEEDBACK_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["feedList"] = feed_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #43
0
    def get(self):
        user_log.info("QueryFriendPrivateSettingHandler GET.")

        frd_id = self.get_argument("uid", None)
        if frd_id is None:
            user_log.error("Query friend private setting protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_id = self.get_current_user()

        setting = dao_friend.queryFriendPrivateSetting(user_id, frd_id)
        if setting is None:
            user_log.error("Query friend private setting failed! User id: %s, friend id: %s", user_id, frd_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FRIEND_PRIVATE_SETTING_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["setting"] = setting
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #44
0
    def get(self):
        user_log.info("QueryLatestVersionHandler GET.")

        system = self.get_argument("sys", None)
        if system is None:
            user_log.error("Query latest version protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR 
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        version = dao.queryLatestVersion(system)
        if version is None:
            user_log.error("Query latest version failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_LATEST_VERSION_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["version"] = version
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #45
0
    def get(self):
        user_log.info("QueryFriendFavoriteGoodsHandler GET.")

        frd_id = self.get_argument("uid", None)
        offset = self.get_argument("offset", None)
        count = self.get_argument("count", None)
        if frd_id is None or offset is None or count is None:
            user_log.error("Query friend favorite goods protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        user_id = self.get_current_user()

        goods_list = dao_shop.queryFriendFavoriteGoods(int(user_id), int(frd_id), int(offset), int(count))
        if goods_list is None:
            user_log.error("Query friend favorite goods failed! User id: %s, friend id: %s", user_id, frd_id)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_QUERY_FRIEND_FAVORITE_GOODS_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        rep_json["goodsList"] = goods_list
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #46
0
    def post(self):
        user_log.info("MessageSettingHandler POST.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["shopID", "msgEnable"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            req_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(req_json, cls=ExtendedJsonEncoder))
            return

        shop_id = req_json["shopID"]
        msg_enable = req_json["msgEnable"]

        user_id = self.get_current_user()

        if True != dao.modifyMessageSetting(user_id, shop_id, msg_enable):
            user_log.error("Modify message setting failed!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_MODIFY_MESSAGE_SETTING_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return
Exemple #47
0
    def post(self):
        user_log.info("AddressDefaultSettingHandler.")

        json_msg_str = self.request.body
        req_json = json.loads(json_msg_str)
        required_args = ["addrID"]
        optional_args = []
        if True != httpJSONArgsCheck(req_json, required_args, optional_args):
            user_log.error("Bind phone protocol data error!")
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_PROTOCOL_DATA_ERROR
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        addr_id = req_json["addrID"]
        user_id = self.get_current_user()

        if True != dao.setDefaultAddress(user_id, addr_id):
            user_log.error("Bind phone failed! Account id: %s, Phone: %s", acc_id, phone)
            rep_json = {}
            rep_json["err"] = FD_ERR_USER_SET_DEFAULT_ADDRESS_FAILED
            self.set_header("Content-type", "application/json")
            self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
            return

        rep_json = {}
        rep_json["err"] = FD_USER_NOERR
        self.set_header("Content-type", "application/json")
        self.write(json.dumps(rep_json, cls=ExtendedJsonEncoder))
        return