def get_activity_info(activity_id): dbsession = DBSession() try: actinfo = dbsession.query(FD_T_Activity.begin_time, FD_T_Activity.end_time, FD_T_Activity.act_content, FD_T_Activity.shop_id, FD_T_Shop.shop_name, FD_T_Shop.pic_url_list, FD_T_Activity.act_title).outerjoin(FD_T_Shop, FD_T_Shop.shop_id == FD_T_Activity.shop_id) \ .filter(FD_T_Activity.act_id == activity_id).one() a = { 'actID': activity_id, 'err': 0, 'bt': actinfo[0].strftime('%Y-%m-%d %H:%M:%S:%f'), 'et': actinfo[1].strftime('%Y-%m-%d %H:%M:%S:%f'), 'content': actinfo[2], 'shopID': int(actinfo[3]), 'shopName': actinfo[4], 'shopPic': piclist_to_fulllist(actinfo[5]), 'title': actinfo[6] } except: a = {'err': 1, 'des': sys.exc_info()[1]} return a
def queryShopInfo(self, shop_id): conn = self._pool.connection() cursor = conn.cursor() try: sql = "select * from fd_t_shop t1 where shop_id = %s" paras = (shop_id,) row_count = cursor.execute(sql, paras) if row_count <= 0: user_log.error("Query shop info failed! No shop data. Shop id: %s", shop_id) return None row = cursor.fetchone() info = {} info["id"] = shop_id info["name"] = row["shop_name"] info["picList"] = piclist_to_fulllist(row["pic_url_list"]) info["address"] = row["address"] info["long"] = row["longitude"] info["lat"] = row["latitude"] info["hours"] = row["business_hours"] info["phone"] = row["telephone_no"] info["intro"] = row["introduction"] return info except MySQLdb.Error, e: user_log.error("Query shop info failed! sql: %s, paras: %s, exception: %s", sql, paras, e) return None
def queryShopBriefInfo(self, shop_id_list): conn = self._pool.connection() cursor = conn.cursor() try: shop_list = [] if not shop_id_list: return shop_list sql = "select shop_id, shop_name, pic_url_list, longitude, latitude from fd_t_shop where shop_id in (" + ','.join( map(str, shop_id_list)) + ")" row_count = cursor.execute(sql, None) if row_count <= 0: return shop_list rows = cursor.fetchall() for row in rows: shop = dict() shop["shop_id"] = row["shop_id"] shop["shop_name"] = row["shop_name"] shop["pic_url_list"] = piclist_to_fulllist(row["pic_url_list"]) shop["longitude"] = row["longitude"] shop["latitude"] = row["latitude"] shop_list.append(shop) shop_list.sort(key=lambda _: shop_id_list.index(_['shop_id'])) return shop_list except MySQLdb.Error, e: user_log.error("Query shop brief info failed! sql: %s, paras: %s, exception: %s", sql, None, e) return None
def get_user_favorite_goods(user_id, offset, limit): dbsession = DBSession() goods = dbsession.query(FD_T_Favorite.goods_id, FD_T_Goods.description, FD_T_Goods.price, FD_T_Goods.promotion_price, FD_T_Goods.pic_url_list, FD_T_Goods.basic_info, FD_T_Goods.status) \ .join(FD_T_Goods, FD_T_Goods.goods_id == FD_T_Favorite.goods_id) \ .filter(FD_T_Favorite.user_id == user_id).all() total_num = len(goods) return { 'total_num': total_num, 'goods': [{'id': i[0], "desp": i[1], "price": float(i[2]) if i[2] else None, "promot": float(i[3]) if i[3] else None, "picList": piclist_to_fulllist(i[4]), "basic": i[5], "status": i[6] } for i in goods[offset: offset + limit]]}
def query_favorite_goods_news(idlist): dbsession = DBSession() goods = dbsession.query(FD_T_Goods.goods_id, FD_T_Goods.description, FD_T_Goods.price, FD_T_Goods.promotion_price, FD_T_Goods.pic_url_list, FD_T_Goods.basic_info, FD_T_Goods.status) \ .filter(FD_T_Goods.goods_id.in_(idlist)).all() return { 'goods': [{'id': i[0], "desp": i[1], "price": float(i[2]) if i[2] else None, "promot": float(i[3]) if i[3] else None, "picList": piclist_to_fulllist(i[4]), "basic": i[5], "status": i[6] } for i in goods]}
def queryGoodsDetail(self, goods_id, bar_code): conn = self._pool.connection() cursor = conn.cursor() try: if goods_id is not None: sql = "select * from fd_t_goods left join fd_t_goodsinfo on fd_t_goods.goods_id = fd_t_goodsinfo.goods_id where fd_t_goods.goods_id = %s" paras = (goods_id,) elif bar_code is not None: sql = "select * from fd_t_goods where bar_code = %s" paras = (bar_code,) else: user_log.error("Query goods detail failed! Goods is and barcode are none.") return None row_count = cursor.execute(sql, paras) if row_count <= 0: user_log.error("Query goods detail failed! No goods data. Goods id: %s", goods_id) return None row = cursor.fetchone() info = {} info["id"] = goods_id info["shop_id"] = row["shop_id"] info["desp"] = row["description"] info["price"] = row["price"] info["promot"] = row["promotion_price"] info["attention_count"] = row["attention_count"] if row["attention_count"] else 0 pic_url_list_str = row["pic_url_list"] pic_url_list_prifix = piclist_to_fulllist(pic_url_list_str) # if pic_url_list_str: # pic_url_list = pic_url_list_str.split(",") # pic_url_list_prifix = map(lambda x:OSS_URL_PRIFIX+x, pic_url_list) info["picList"] = pic_url_list_prifix info["basic"] = row["basic_info"] info["detail"] = row["detail"] info["barcode"] = row["bar_code"] info["brandName"] = row["brand_name"] info["remark"] = row["remark"] return info except MySQLdb.Error, e: user_log.error("Query goods detail failed! sql: %s, paras: %s, exception: %s", sql, paras, e) return None
def query_favorite_goods_news(idlist): dbsession = DBSession() goods = dbsession.query(FD_T_Goods.goods_id, FD_T_Goods.description, FD_T_Goods.price, FD_T_Goods.promotion_price, FD_T_Goods.pic_url_list, FD_T_Goods.basic_info, FD_T_Goods.status) \ .filter(FD_T_Goods.goods_id.in_(idlist)).all() return { 'goods': [{ 'id': i[0], "desp": i[1], "price": float(i[2]) if i[2] else None, "promot": float(i[3]) if i[3] else None, "picList": piclist_to_fulllist(i[4]), "basic": i[5], "status": i[6] } for i in goods] }
def get_user_favorite_goods(user_id, offset, limit): dbsession = DBSession() goods = dbsession.query(FD_T_Favorite.goods_id, FD_T_Goods.description, FD_T_Goods.price, FD_T_Goods.promotion_price, FD_T_Goods.pic_url_list, FD_T_Goods.basic_info, FD_T_Goods.status) \ .join(FD_T_Goods, FD_T_Goods.goods_id == FD_T_Favorite.goods_id) \ .filter(FD_T_Favorite.user_id == user_id).all() total_num = len(goods) return { 'total_num': total_num, 'goods': [{ 'id': i[0], "desp": i[1], "price": float(i[2]) if i[2] else None, "promot": float(i[3]) if i[3] else None, "picList": piclist_to_fulllist(i[4]), "basic": i[5], "status": i[6] } for i in goods[offset:offset + limit]] }
def get_user_info_and_relationship(user_id, aim_id_list): dbsession = DBSession() return_info = {'issuccess': True, 'users': []} user_info = { 'userId': None, 'userName': None, 'userImgUrl': None, 'gender': 0, 'mcode': None, 'phoneNo': None, 'cityId': None, 'cityName': None, 'userType': None, 'isMyFriend': False, 'remark': None } for id in aim_id_list: uinfo = {} try: type = dbsession.query(FD_T_Account.acc_type).filter( FD_T_Account.acc_id == id).one()[0] except NoResultFound: break else: if type == 4: type = 1 elif type == 5: type = 2 else: type = 0 uinfo['userType'] = type if type == 1: try: user = dbsession \ .query(FD_T_User.user_id, FD_T_User.name, FD_T_User.portrait_url, FD_T_User.gender, FD_T_User.mcode, FD_T_User.phone_no, FD_T_User.city_id, FD_T_Citycode.city_name ).distinct() \ .outerjoin(FD_T_Citycode, FD_T_Citycode.city_id == FD_T_User.city_id) \ .filter(FD_T_User.user_id == id).one() except NoResultFound: break else: uinfo['userId'] = user[0] uinfo['userName'] = user[1] uinfo['userImgUrl'] = piclist_to_fulllist(user[2])[0] uinfo['gender'] = user[3] uinfo['mcode'] = user[4] uinfo['phoneNo'] = user[5] uinfo['cityId'] = user[6] uinfo['cityName'] = user[7] try: finfo = dbsession.query(FD_T_Friend.friend_name).filter( FD_T_Friend.user_id == user_id, FD_T_Friend.friend_id == id).one() except NoResultFound: uinfo['isMyFriend'] = False else: uinfo['isMyFriend'] = True uinfo['remark'] = finfo[0] elif type == 2: shangjia = dbsession.query(FD_T_Shopaccount.shop_id, FD_T_Shopaccount.contact_name, FD_T_Shopaccount.portrait_url, FD_T_Shopaccount.contact_phone_no, FD_T_Citycode.city_id, FD_T_Citycode.city_name).distinct() \ .outerjoin(FD_T_Shop, FD_T_Shopaccount.shop_id == FD_T_Shop.shop_id) \ .outerjoin(FD_T_Citycode, FD_T_Shop.city_id == FD_T_Citycode.city_id) \ .filter(FD_T_Shopaccount.shop_id == id).one() uinfo['userId'] = shangjia[0] uinfo['userName'] = shangjia[1] uinfo['userImgUrl'] = piclist_to_fulllist(shangjia[2])[0] uinfo['gender'] = 0 uinfo['mcode'] = None uinfo['phoneNo'] = shangjia[3] uinfo['cityId'] = shangjia[4] uinfo['cityName'] = shangjia[5] else: pass return_info['users'].append(uinfo) return return_info
is_success=False) if contact_name: merchantinfo.contact_name = contact_name if contact_phone_no: merchantinfo.contact_phone_no = contact_phone_no if contact_email: merchantinfo.contact_email = contact_email if contact_qq: merchantinfo.contact_qq = contact_qq if portrait_url: # 同步修改讨论组头像 merchantinfo.portrait_url = portrait_url forums = session.query(FD_T_Forum).filter( FD_T_Forum.forum_id == 'shop_' + str(shop_id)).all() for forum in forums: forum.forum_pic = piclist_to_fulllist(portrait_url) session.commit() return dict(is_success=True, shop_id=merchantinfo.shop_id) def get_merchant_serviceinfo(shop_id): session = DBSession() try: merchantinfo = session.query(FD_T_Shopaccount).filter( FD_T_Shopaccount.shop_id == shop_id).one() except MultipleResultsFound, e: return dict(error_code=MTERROR.MultipleResultsFound.code, des=MTERROR.MultipleResultsFound.des, is_success=False) except NoResultFound, e: return dict(error_code=MTERROR.NoResultFound.code,
def get_user_info_and_relationship(user_id, aim_id_list): dbsession = DBSession() return_info = {'issuccess': True, 'users': []} user_info = { 'userId': None, 'userName': None, 'userImgUrl': None, 'gender': 0, 'mcode': None, 'phoneNo': None, 'cityId': None, 'cityName': None, 'userType': None, 'isMyFriend': False, 'remark': None } for id in aim_id_list: uinfo = {} try: type = dbsession.query(FD_T_Account.acc_type).filter(FD_T_Account.acc_id == id).one()[0] except NoResultFound: break else: if type == 4: type = 1 elif type == 5: type = 2 else: type = 0 uinfo['userType'] = type if type == 1: try: user = dbsession \ .query(FD_T_User.user_id, FD_T_User.name, FD_T_User.portrait_url, FD_T_User.gender, FD_T_User.mcode, FD_T_User.phone_no, FD_T_User.city_id, FD_T_Citycode.city_name ).distinct() \ .outerjoin(FD_T_Citycode, FD_T_Citycode.city_id == FD_T_User.city_id) \ .filter(FD_T_User.user_id == id).one() except NoResultFound: break else: uinfo['userId'] = user[0] uinfo['userName'] = user[1] uinfo['userImgUrl'] = piclist_to_fulllist(user[2])[0] uinfo['gender'] = user[3] uinfo['mcode'] = user[4] uinfo['phoneNo'] = user[5] uinfo['cityId'] = user[6] uinfo['cityName'] = user[7] try: finfo = dbsession.query(FD_T_Friend.friend_name).filter(FD_T_Friend.user_id == user_id, FD_T_Friend.friend_id == id).one() except NoResultFound: uinfo['isMyFriend'] = False else: uinfo['isMyFriend'] = True uinfo['remark'] = finfo[0] elif type == 2: shangjia = dbsession.query(FD_T_Shopaccount.shop_id, FD_T_Shopaccount.contact_name, FD_T_Shopaccount.portrait_url, FD_T_Shopaccount.contact_phone_no, FD_T_Citycode.city_id, FD_T_Citycode.city_name).distinct() \ .outerjoin(FD_T_Shop, FD_T_Shopaccount.shop_id == FD_T_Shop.shop_id) \ .outerjoin(FD_T_Citycode, FD_T_Shop.city_id == FD_T_Citycode.city_id) \ .filter(FD_T_Shopaccount.shop_id == id).one() uinfo['userId'] = shangjia[0] uinfo['userName'] = shangjia[1] uinfo['userImgUrl'] = piclist_to_fulllist(shangjia[2])[0] uinfo['gender'] = 0 uinfo['mcode'] = None uinfo['phoneNo'] = shangjia[3] uinfo['cityId'] = shangjia[4] uinfo['cityName'] = shangjia[5] else: pass return_info['users'].append(uinfo) return return_info
except Exception, e: return dict(error_code=MTERROR.UnKnowError.code, des=str(e), is_success=False) if contact_name: merchantinfo.contact_name = contact_name if contact_phone_no: merchantinfo.contact_phone_no = contact_phone_no if contact_email: merchantinfo.contact_email = contact_email if contact_qq: merchantinfo.contact_qq = contact_qq if portrait_url: # 同步修改讨论组头像 merchantinfo.portrait_url = portrait_url forums = session.query(FD_T_Forum).filter(FD_T_Forum.forum_id == 'shop_' + str(shop_id)).all() for forum in forums: forum.forum_pic = piclist_to_fulllist(portrait_url) session.commit() return dict(is_success=True, shop_id=merchantinfo.shop_id) def get_merchant_serviceinfo(shop_id): session = DBSession() try: merchantinfo = session.query(FD_T_Shopaccount).filter(FD_T_Shopaccount.shop_id == shop_id).one() except MultipleResultsFound, e: return dict(error_code=MTERROR.MultipleResultsFound.code, des=MTERROR.MultipleResultsFound.des, is_success=False) except NoResultFound, e: return dict(error_code=MTERROR.NoResultFound.code, des=MTERROR.NoResultFound.des, is_success=False) except Exception, e: return dict(error_code=MTERROR.UnKnowError.code, des=str(e), is_success=False)