def get_carts_by_uid(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "token" not in args or "AAid" not in args: return PARAMS_MISS token = args.get("token") uid = token_to_usid(token) ASid = args.get("ASid") is_user = self.susers.get_user_by_usid(uid) print(self.title.format("is_user")) print(is_user) print(self.title.format("is_user")) if not is_user: return import_status("ERROR_MESSAGE_NONE_USER", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_USER") cart_info_list = [] cart_list = self.scart.get_carts_by_Uid(uid) print(self.title.format("cartlist")) print(cart_list) print(self.title.format("cartlist")) aaid_list = self.sadd.get_addabo_by_asid(ASid) for cart in cart_list: if cart.CAstatus != 1: continue PRid = cart.PRid address_list = [i.AAid for i in self.smach.get_aaid_by_prid(PRid)] print(self.title.format("address_list")) print(address_list) print(self.title.format("address_list")) if not address_list: return SYSTEM_ERROR if not set(address_list).intersection(aaid_list): continue cart_service_info = self.spro.get_all_pro_fro_carts(PRid) print(self.title.format("cart_service_info")) print(cart_service_info) print(self.title.format("cart_service_info")) if not cart_service_info: return SYSTEM_ERROR cart_info = {} cart_info["PRid"] = cart_service_info.PRid cart_info["PRimage"] = cart_service_info.PRimage cart_info["PRname"] = cart_service_info.PRname cart_info["PRstatus"] = cart_service_info.PRstatus cart_info["PRsalesvolume"] = cart_service_info.PRsalesvolume cart_info["PRprice"] = cart_service_info.PRprice cart_info["PRscore"] = cart_service_info.PRscore cart_info["CAnumber"] = cart.CAnumber cart_info_list.append(cart_info) back_response = import_status("SUCCESS_GET_MESSAGE", "OK") back_response["data"] = cart_info_list return back_response
def compute_om_price_by_coupons(self, coupon, omprice): from decimal import Decimal time_now = timeformate.get_db_time_str() omprice = Decimal(str(omprice)) print(self.title.format("timenow")) print(time_now) print(self.title.format("timenow")) print(self.title.format("coutime")) print("endtime:", coupon.get("COend", ""), "\n starttime:", coupon.get("COstart", "")) print(self.title.format("coutime")) if coupon.get("COend") and time_now > coupon.get("COend"): return import_status("ERROR_MESSAGE_COUPONS_TIMEEND", "SHARPGOODS_ERROR", "ERROR_TIMR") if coupon.get("COstart") and time_now < coupon.get("COstart"): return import_status("ERROR_MESSAGE_COUPONS_TIMESTART", "SHARPGOODS_ERROR", "ERROR_TIMR") if omprice > coupon.get("COfilter", 0): if coupon.get("COamount"): omprice = omprice - Decimal(str(coupon.get("COamount", 0))) elif isinstance(coupon.get("COdiscount"), float): omprice = omprice * Decimal(str(coupon.get("COdiscount"))) else: # 优惠券不打折扣也不满减,要他干嘛 pass print(self.title.format("限定两位小数前的omproce")) print(omprice) print(self.title.format("限定两位小数前的omproce")) omprice = omprice.quantize(Decimal("0.00")) return float(omprice) if omprice >= 0 else 0.00
def get_info_by_id(self): args = request.args.to_dict() # 捕获前端的URL参数,以字典形式呈现 # 判断url参数是否异常 if len(args) != 1 or "PRid" not in args.keys(): return import_status("URL_PARAM_WRONG", "response_error", "URL_PARAM_WRONG") pid_to_str = get_str(args, "PRid") print(self.title.format("pid_to_str")) print(pid_to_str) print(self.title.format("pid_to_str")) # 返回商品详情 try: proabo_of_service = get_model_return_dict( self.sproduct.get_pro_info_by_pid(pid_to_str)) if not proabo_of_service: # 判断是否存在此pid return import_status("NO_THIS_PRODUCT", "response_error", "NO_THIS_PRODUCT") print("proabo_of_service") print(proabo_of_service) print("proabo_of_service") proabo_of_service["Pnum"] = 0 data = import_status("get_product_info_success", "OK") data["data"] = proabo_of_service return data except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def login(self): data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "UStelphone" not in data or "USpassword" not in data: return PARAMS_MISS Utel = data["UStelphone"] usid = get_model_return_dict(self.susers.get_user_by_utel(Utel)) print(self.title.format("usid")) print(usid) print(self.title.format("usid")) if not usid: return import_status("ERROR_MESSAGE_NONE_TELPHONE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_TELPHONE") upwd = self.susers.get_upwd_by_utel(Utel) if upwd != data["USpassword"]: return import_status("ERROR_MESSAGE_WRONG_PASSWORD", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_PASSWORD") back_response = import_status("SUCCESS_MESSAGE_LOGIN", "OK") from LoveBreakfast.common.MakeToken import usid_to_token token = usid_to_token(usid.get("USid")) back_response["data"] = {} back_response["data"]["token"] = token return back_response
def add_cardpackage(self): args = request.args.to_dict() data = json.loads(request.data) if "token" not in args: return PARAMS_MISS token = args.get("token") uid = token_to_usid(token) couid = data.get("COid") try: cart_pkg = self.scoupons.get_card_by_uid_couid(uid, couid) cend = get_db_time_str() # 后期补充优惠券截止日期计算方法 if cart_pkg: if cart_pkg.CAstatus == 2: return import_status("error_coupons_used", "LOVEBREAKFAST_ERROR", "error_coupons_used") self.scoupons.update_carbackage(cart_pkg.CAid) else: self.scoupons.add_cardpackage(**{ "CAid": str(uuid.uuid4()), "USid": uid, "CAstatus": 1, "CAstart": get_db_time_str(), "CAend": cend, "COid": couid }) except dberror: return SYSTEM_ERROR except Exception as e: print(e.message) return SYSTEM_ERROR return import_status("messages_add_coupons_success", "OK")
def get_category_by_sid(self): args = request.args.to_dict() # 捕获前端的URL参数,以字典形式呈现 # 判断url参数是否异常 if len(args) != 1 or "Sid" not in args.keys(): message, status, statuscode = import_status( "URL_PARAM_WRONG", "response_error", "URL_PARAM_WRONG") return { "message": message, "status": status, "statuscode": statuscode, } sid_to_str = get_str(args, "Sid") # 判断是否存在此sid print type(sid_to_str) all_shop_id = self.service_shop.get_all_sid() print type(all_shop_id) print all_shop_id if str(args["Sid"]) not in all_shop_id: message, status, statuscode = import_status( "NO_THIS_Shop", "response_error", "NO_THIS_Shop") return { "message": message, "status": status, "statuscode": statuscode, } list_for_cate_and_pro = self.service_category.get_all_cid_cname() return { "status": 200, "message": "get cate_and_pro success !", "data": list_for_cate_and_pro }
def forget_pwd(self): data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "USpasswordnew" not in data or "USpasswordnewrepeat" not in data or "UStelphone" not in data or "UScode" not in data: return SYSTEM_ERROR Utel = data["UStelphone"] list_utel = self.susers.get_all_user_tel() print(self.title.format("list_utel")) print(list_utel) print(self.title.format("list_utel")) if not list_utel: return SYSTEM_ERROR if Utel not in list_utel: return import_status("ERROR_MESSAGE_NONE_TELPHONE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_TELPHONE") code_in_db = self.susers.get_code_by_utel(data["UStelphone"]) print(self.title.format("code_in_db")) print(code_in_db) print(self.title.format("code_in_db")) if not code_in_db: return import_status("ERROR_MESSAGE_WRONG_TELCODE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_TELCODE") if code_in_db.ICcode != data["UScode"]: return import_status("ERROR_MESSAGE_WRONG_TELCODE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_TELCODE") if data["USpasswordnew"] != data["USpasswordnewrepeat"]: return import_status("ERROR_MESSAGE_WRONG_REPEAT_PASSWORD", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_REPEAT_PASSWORD") users = {} Upwd = data["USpasswordnew"] users["USpassword"] = Upwd Uid = self.susers.get_uid_by_utel(Utel) update_info = self.susers.update_users_by_uid(Uid, users) print(self.title.format("update_info")) print(update_info) print(self.title.format("update_info")) if not update_info: return SYSTEM_ERROR response_of_update_users = import_status( "SUCCESS_MESSAGE_UPDATE_PASSWORD", "OK") return response_of_update_users
def add_or_update_cart(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) data = json.loads(request.data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "token" not in args: return PARAMS_MISS token = args.get("token") uid = token_to_usid(token) pid = data.get("PRid") CAnumber = data.get("CAnumber") if CAnumber <= 0: PBnumber = self.scart.get_pbnumber_by_pbid_and_usid(pid, uid) pnum = int(CAnumber) + int(PBnumber) if pnum <= 0: return self.del_cart(uid, pid) try: if not self.sproduct.get_pro_info_by_pid(pid): return import_status("ERROR_MESSAGE_NONE_PRODUCT", "SHARPGOODS_ERROR", "ERROR_NONE_PRODUCT") cart = self.scart.get_cart_by_uid_pid(uid, pid) print(self.title.format("cart")) print(cart) print(self.title.format("cart")) if cart: PBnumber = self.scart.get_pbnumber_by_pbid_and_usid(pid, uid) pnum = int(CAnumber) + int(PBnumber) self.scart.update_num_cart(pnum, cart.CAid) else: add_model( "Cart", **{ "CAid": str(uuid.uuid1()), "CAnumber": CAnumber, "USid": uid, "CAstatus": 1, "PRid": pid }) except dberror: return SYSTEM_ERROR except Exception as e: print(e.message) return SYSTEM_ERROR return import_status("SUCCESS_MESSAGE_UPDATE_CART", "OK")
def del_cart(self, uid, pid): try: cart = self.scart.get_cart_by_uid_pid(uid, pid) print(self.title.format("cart")) print(cart) print(self.title.format("cart")) if not cart: return import_status("ERROR_MESSAGE_NONE_PRODUCT", "LOVEBREAKFAST_ERROR", "ERROR_NONE_PRODUCT") self.scart.del_carts(cart.CAid) return import_status("SUCCESS_MESSAGE_DEL_CART", "OK") except Exception as e: print(e.message) return SYSTEM_ERROR
def register(self): return TIME_ERROR data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "UStelphone" not in data or "USpassword" not in data or "UScode" not in data: return PARAMS_MISS user = self.susers.get_user_by_utel(data["UStelphone"]) print(self.title.format("user")) print(user) print(self.title.format("user")) if user: return import_status("messages_repeat_tel", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_TELPHONE") UScode_dict = self.susers.get_code_by_utel(data["UStelphone"]) print(self.title.format("UScode")) print(UScode_dict) print(self.title.format("UScode")) if not UScode_dict: return import_status("ERROR_MESSAGE_NONE_ICCODE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_ICCODE") UScode = UScode_dict.ICcode if UScode != data["UScode"]: return import_status("ERROR_MESSAGE_WRONG_ICCODE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_ICCODE") if "USinvatecode" in data: Uinvate = data["USinvatecode"] # TODO 创建优惠券 USinvatecode = self.make_invate_code() is_register = self.susers.login_users(data["UStelphone"], data["USpassword"], USinvatecode) print(self.title.format("is_register")) print(is_register) print(self.title.format("is_register")) if not is_register: return SYSTEM_ERROR back_response = import_status("SUCCESS_MESSAGE_REGISTER_OK", "OK") return back_response
def update_info(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "token" not in args: return PARAMS_MISS token = args.get("token") Uid = token_to_usid(token) is_user = self.susers.get_user_by_usid(Uid) print(self.title.format("is_user")) print(is_user) print(self.title.format("is_user")) if not is_user: return import_status("ERROR_MESSAGE_NONE_USER", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_USER") data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "USname" not in data and "USsex" not in data: return PARAMS_MISS users = {} if "USname" in data: users["USname"] = data["USname"] if "USsex" in data: Usex = data["USsex"] if Usex == "男": Usex = 101 else: Usex = 102 users["USsex"] = Usex update_info = self.susers.update_users_by_uid(Uid, users) print(self.title.format("update_info")) print(update_info) print(self.title.format("update_info")) if not update_info: return SYSTEM_ERROR back_response = import_status("SUCCESS_MESSAGE_UPDATE_INFO", "OK") return back_response
def all_info(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "token" not in args: return PARAMS_MISS token = args.get("token") Uid = token_to_usid(token) users_info = get_model_return_dict(self.susers.get_all_users_info(Uid)) print(self.title.format("users_info")) print(users_info) print(self.title.format("users_info")) if not users_info: return SYSTEM_ERROR if users_info.get("USsex") not in["", None]: Usex = users_info.get("USsex") if Usex == 101: users_info["USsex"] = "男" elif Usex == 102: users_info["USsex"] = "女" else: users_info["USsex"] = "未知性别" else: users_info["USsex"] = None back_response = import_status("SUCCESS_GET_MESSAGE", "OK") back_response["data"] = users_info return back_response
def get_order_user(self): args = request.args.to_dict() if "token" not in args: return PARAMS_MISS print(self.title.format("args")) print(args) print(self.title.format("args")) token = args.get("token") Uid = token_to_usid(token) users_info = self.susers.get_all_users_info(Uid) if not users_info: return SYSTEM_ERROR response_user_info = {} Utel = users_info.UStelphone response_user_info["Utel"] = Utel if users_info.USname not in ["", None]: Uname = users_info.USname response_user_info["Uname"] = Uname else: response_user_info["Uname"] = None if users_info.USsex not in ["", None]: Usex = users_info.USsex response_user_info["Usex"] = Usex else: response_user_info["Usex"] = None response_of_get_all = import_status("messages_get_item_ok", "OK") response_of_get_all["data"] = response_user_info return response_of_get_all
def get_category_and_product(self): args = request.args.to_dict() # 捕获前端的URL参数,以字典形式呈现 # 判断url参数是否异常 if len(args) != 1 or "Sid" not in args.keys(): message, status, statuscode = import_status("URL_PARAM_WRONG", "response_error", "URL_PARAM_WRONG") return { "message": message, "status": status, "statuscode": statuscode, } sid_to_str = get_str(args, "Sid") # 判断是否存在此sid print(type(sid_to_str)) all_shop_id = self.service_shop.get_all_sid() print(type(all_shop_id)) print(all_shop_id) if str(args["Sid"]) not in all_shop_id: message, status, statuscode = import_status("NO_THIS_Shop", "response_error", "NO_THIS_Shop") return { "message": message, "status": status, "statuscode": statuscode, } # 获取所有的分类信息 dic_for_cate_and_pro = [] cate_list = self.service_shop.get_all_cid_cname(str(args["Sid"])) for i in range(cate_list.__len__()): dict1 = {} dict1["name"] = cate_list[i].Pcatgoryname Pcategoryid = cate_list[i].Pcategoryid pro_dic = None pro_dic = self.service_product.get_pro_id_by_cid(Pcategoryid) # 根据分类id获取商品信息 pro_dic_of_control = None pro_dic_of_control["Pname"] = pro_dic.Pname pro_dic_of_control["Pprice"] = pro_dic.Pprice pro_dic_of_control["Pimage"] = pro_dic.Pimage dict1["data"] = pro_dic_of_control dic_for_cate_and_pro.append(dict1) return { "status": 200, "message": "get get_category_and_product success !", "data": dic_for_cate_and_pro }
def update_pwd(self): data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "USpasswordold" not in data or "USpasswordnew" not in data or "UStelphone" not in data: return SYSTEM_ERROR Utel = data["UStelphone"] list_utel = self.susers.get_all_user_tel() print(self.title.format("list_utel")) print(list_utel) print(self.title.format("list_utel")) if list_utel == False: return SYSTEM_ERROR if Utel not in list_utel: return import_status("ERROR_MESSAGE_NONE_TELPHONE", "LOVEBREAKFAST_ERROR", "ERROR_CODE_NONE_TELPHONE") upwd = self.susers.get_upwd_by_utel(Utel) print(self.title.format("USpassword")) print(upwd) print(self.title.format("USpassword")) if upwd != data["USpasswordold"]: return import_status("ERROR_MESSAGE_WRONG_PASSWORD", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_PASSWORD") users = {} Upwd = data["USpasswordnew"] users["USpassword"] = Upwd Uid = self.susers.get_uid_by_utel(Utel) update_info = self.susers.update_users_by_uid(Uid, users) print(self.title.format("update_info")) print(update_info) print(self.title.format("update_info")) if not update_info: return SYSTEM_ERROR response_of_update_users = import_status( "SUCCESS_MESSAGE_UPDATE_PASSWORD", "OK") return response_of_update_users
def get_order_abo(self): args = request.args.to_dict() if "token" not in args or "OMid" not in args: return PARAMS_MISS print(self.title.format("args")) print(args) print(self.title.format("args")) Oid = args["OMid"] token = args.get("token") Uid = token_to_usid(token) order_abo = get_model_return_dict( self.sorders.get_order_abo_by_oid(Oid)) print(self.title.format("order_abo")) print(order_abo) print(self.title.format("order_abo")) order_abo["OMtime"] = timeformate.get_web_time_str( order_abo.get("OMtime")) order_abo["is_index"] = 701 if self.checktime() or order_abo.get("OMstatus") > 21 or order_abo.get( "OMstatus") == 0: order_abo["is_index"] = 702 order_abo["OMstatus"] = self.get_status_name_by_status( order_abo.get("OMstatus")) order_abo["OMdate"] = timeformate.get_web_time_str( order_abo.get("OMdate")) users = get_model_return_dict(self.susers.get_uname_utel_by_uid(Uid)) print(self.title.format("users")) print(users) print(self.title.format("users")) order_abo.update(users) order_items = get_model_return_list( self.sorders.get_order_item_by_oid(Oid)) print(self.title.format("order_items")) print(order_items) print(self.title.format("order_items")) order_abo["Orderitems"] = order_items addabo = get_model_return_dict( self.sadd.get_addabo_by_addid(order_abo.get("AAid"))) print(self.title.format("addabo")) print(addabo) print(self.title.format("addabo")) order_abo.update(addabo) for row in order_items: product = get_model_return_dict( self.sproduct.get_product_all_by_pid(row.get("PRid"))) print(self.title.format("product")) print(product) print(self.title.format("product")) row.update(product) response_make_main_order = import_status("messages_get_item_ok", "OK") response_make_main_order["data"] = order_abo return response_make_main_order
def get_order_list(self): args = request.args.to_dict() if "token" not in args: return PARAMS_MISS print(self.title.format("args")) print(args) print(self.title.format("args")) token = args.get("token") Uid = token_to_usid(token) # 暂时不处理过滤 order_list = get_model_return_list( self.sorders.get_all_order_by_uid(Uid)) print(self.title.format("order_list")) print(order_list) print(self.title.format("order_list")) data = [] if order_list: for row in order_list: status = row.get("OMstatus") row["OMtime"] = timeformate.get_web_time_str( str(row.get("OMtime"))) if status > 21 or status == 0 or self.checktime(): row["is_index"] = 702 else: row["is_index"] = 701 row["OMstatus"] = self.get_status_name_by_status(status) row["Orderitems"] = [] order_items = get_model_return_list( self.sorders.get_order_item_by_oid(row.get("OMid"))) print(self.title.format("order_items")) print(order_items) print(self.title.format("order_items")) for raw in order_items: Pid = raw.get("PRid") PRnumber = raw.get("PRnumber") product = get_model_return_dict( self.sproduct.get_product_all_by_pid(Pid)) product["PRid"] = Pid product["PRnumber"] = PRnumber print(self.title.format("product")) print(product) print(self.title.format("product")) row["Orderitems"].append(product) data.append(row) response_make_main_order = import_status("messages_get_item_ok", "OK") from LoveBreakfast.config.urlconfig import product_url_list response_make_main_order["sowing"] = product_url_list response_make_main_order["data"] = data return response_make_main_order
def get_all(self): args = request.args.to_dict() if "VNtelphone" in args: pass try: pro_list_of_product = get_model_return_list( self.sproduct.get_all()) print(self.title.format("pro_list_of_product")) print(pro_list_of_product) print(self.title.format("pro_list_of_product")) if "PRhost" in args and args.get("PRhost") == "host": prolist = pro_list_of_product[:] elif "ASid" in args and args.get("ASid"): aaid_list = get_model_return_list( self.sadd.get_addabo_by_asid(get_str(args, "ASid"))) print(self.title.format("aaid_list")) print(aaid_list) print(self.title.format("aaid_list")) pro_list_of_addabo = [] for aaid in aaid_list: pro_list_of_addabo.extend([ i.PRid for i in self.smach.get_pro_by_aaid(aaid.get("AAid")) ]) pro_list_of_addabo = {}.fromkeys(pro_list_of_addabo).keys() print(self.title.format("pro_list_of_addabo")) print(pro_list_of_addabo) print(self.title.format("pro_list_of_addabo")) prolist = [ pro for pro in pro_list_of_product if pro.get("PRid") in pro_list_of_addabo ] elif "ASid" not in args: return PARAMS_MISS else: return SYSTEM_ERROR print(self.title.format("prolist")) print(prolist) print(self.title.format("prolist")) pro_list_of_control = [] if prolist: pro_list_of_control = prolist data = import_status("get_product_list_success", "OK") data["data"] = pro_list_of_control return data except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def delete_user_review(self): args = request.args.to_dict() # 捕获前端的URL参数,以字典形式呈现 # 判断url参数是否异常 if len(args) != 1 or "Uid" not in args.keys( ) or "Rid" not in args.keys(): message, status, statuscode = import_status( "URL_PARAM_WRONG", "response_error", "URL_PARAM_WRONG") return { "message": message, "status": status, "statuscode": statuscode, } uid_to_str = get_str(args, "Uid") uid_list = [] if uid_to_str not in uid_list: message, status, statuscode = import_status( "URL_PARAM_WRONG", "response_error", "URL_PARAM_WRONG") return { "message": message, "status": status, "statuscode": statuscode, } rid_to_str = get_str(args, "Rid") rid_list = self.service_review.get_rid_by_uid(uid_to_str) if rid_to_str not in rid_list: message, status, statuscode = import_status( "NO_THIS_REVIEW", "response_error", "NO_THIS_REVIEW") return { "message": message, "status": status, "statuscode": statuscode, } result = self.service_review.delete_user_review(rid_to_str) print(result) return { "message": "delete review success !", "status": 200, }
def get_addfirst(self): """ 通过城市名称和类型获取区域名称或者所有线路 :return: """ args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "ACname" not in args or "AFtype" not in args: return PARAMS_MISS try: acname = args.get("ACname") city = get_model_return_dict(self.sadd.get_city_by_name(acname)) if not city: return import_status("error_no_city", "LOVEBREAKFAST_ERROR", "error_no_city") print(self.title.format("city")) print(city) print(self.title.format("city")) af_type = get_str(args, "AFtype") list_first = get_model_return_list( self.sadd.get_addfirst_by_acid_astype(city.get("ACid"), AFTYPE.index(af_type))) print(self.title.format("list_first")) print(list_first) print(self.title.format("list_first")) return_data = import_status("messages_get_area_success", "OK") return_data["data"] = list_first return return_data except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def get_order_price(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "token" not in args: return PARAMS_MISS data = json.loads(request.data) print(self.title.format("data")) print(data) print(self.title.format("data")) products_list = data.get("productlist") # OMcointype = "¥" order_list = [] OMprice = 0 try: for product in products_list: prnumber = product.get("PRnumber") product = get_model_return_dict( self.sproduct.get_pro_info_by_pid(product.get("PRid"))) # if product.get("PBunit") != OMcointype: # TODO 增加换算过程 # pass OMprice += (product.get("PRprice") * prnumber) order_list.append(product) if "COid" in data and get_str(data, "COid"): coupon = get_model_return_dict( self.scoupons.get_coupons_by_couid(get_str(data, "COid"))) print(self.title.format(coupon)) print(coupon) print(self.title.format(coupon)) OMprice = self.compute_om_price_by_coupons(coupon, OMprice) if not isinstance(OMprice, float): return OMprice print(self.title.format("OMprice")) print(OMprice) print(self.title.format("OMprice")) data = import_status("SUCCESS_MESSAGE_GET_INFO", "OK") data["data"] = {"OMprice": OMprice, "productlist": order_list} return data except Exception as e: print(self.title.format("get order error")) print(e.message) print(self.title.format("get order error"))
def get_shop_detail(self): args = request.args.to_dict() # 捕获前端的URL参数,以字典形式呈现 # 判断url参数是否异常 if len(args) != 1 or "Sid" not in args.keys(): message, status, statuscode = import_status("URL_PARAM_WRONG", "response_error", "URL_PARAM_WRONG") return { "message": message, "status": status, "statuscode": statuscode, } sid_to_str = get_str(args, "Sid") # 判断是否存在此pid print(type(sid_to_str)) all_shop_id = self.service_shop.get_all_sid() print(type(all_shop_id)) print(all_shop_id) if str(args["Sid"]) not in all_shop_id: message, status, statuscode = import_status("NO_THIS_Shop", "response_error", "NO_THIS_Shop") return { "message": message, "status": status, "statuscode": statuscode, } shopdetail = {} shopdetail_from_service = self.service_shop.get_shop_detail(sid_to_str) shopdetail["Sname"] = shopdetail_from_service.Sname shopdetail["Simage"] = shopdetail_from_service.Simage shopdetail["Stel"] = shopdetail_from_service.Stel shopdetail["Sdetail"] = shopdetail_from_service.Sdetail return { "status": 200, "message": "get shop_detail success !", "data": shopdetail }
def update_order_status(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) if "token" not in args: return PARAMS_MISS if "OMstatus" not in data or "OMid" not in data: return PARAMS_MISS # 处理token过程,这里未设计 OMstatus = get_str(data, "OMstatus") if OMstatus not in OMstatus_list: return import_status("messages_error_wrong_status_code", "LOVEBREAKFAST_ERROR", "error_wrong_status_code") OMid = data["OMid"] update_OMstatus = {} update_OMstatus["OMstatus"] = self.get_status_by_status_name(OMstatus) response_update_order_status = self.sorders.update_status_by_oid( OMid, update_OMstatus) if not response_update_order_status: return SYSTEM_ERROR return import_status("messages_update_order_status_ok", "OK")
def get_addabo(self): data = json.loads(request.data) if "ASid" not in data: return PARAMS_MISS if "CAid" not in data and "PRid" not in data: return PARAMS_MISS from LoveBreakfast.services.SCarts import SCarts from LoveBreakfast.services.SMachinery import SMachinery scarts = SCarts() smach = SMachinery() if "CAid" in data: caid_list = data.get("CAid") prid_list = [scarts.get_prid_by_caid(caid) for caid in caid_list] elif "PRid" in data: prid_list = [data["PRid"]] aaid_mach_list = [] for prid in prid_list: aaid_mach_list.extend( [mach.AAid for mach in smach.get_aaid_by_prid(prid)]) try: asid = get_str(data, "ASid") list_addabo = get_model_return_list( self.sadd.get_addabo_by_asid(asid)) print(self.title.format("list_addabo")) print(list_addabo) print(self.title.format("list_addabo")) aaid_as_list = [addabo.get("AAid") for addabo in list_addabo] print(self.title.format("aaid_as_list")) print(aaid_as_list) print(self.title.format("aaid_as_list")) aaid_list = list(set(aaid_as_list).intersection(aaid_mach_list)) print(self.title.format("aaid_list")) print(aaid_list) print(self.title.format("aaid_list")) if not aaid_list: return SYSTEM_ERROR import random index = random.randint(0, len(aaid_list) - 1) aaid = aaid_list[index] return_data = import_status("messages_get_area_success", "OK") return_data["data"] = list_addabo[aaid_as_list.index(aaid)] return return_data except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def get_citys(self): try: city_list = get_model_return_list(self.sadd.get_citys()) if not city_list: return SYSTEM_ERROR print(self.title.format("city_list")) print(city_list) print(self.title.format("city_list")) for city in city_list: # todo 不同城市可能开通的type不同,考虑增加字段来解决 city["AFtype"] = AFTYPE return_data = import_status("messages_get_area_success", "OK") return_data["data"] = city_list return return_data except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def get_host(self): args = request.args.to_dict() print(self.title.format('args')) print(args) print(self.title.format('args')) if "VSid" not in args: return PARAMS_MISS vsid = args.get("VSid") votes = todict(self.svotes.get_votes(vsid)) print(self.title.format('votes')) print(votes) print(self.title.format('votes')) # votes.pop("VSstartTime") # votes.pop("VSendTime") time_now = get_db_time_str() time_status = "时间没问题" time_status_code = 200 if votes.get("VSstartTime") and time_now < votes.get("VSstartTime"): time_status_code = 405601 time_status = "答题时间未到" if votes.get("VSendTime") and time_now > votes.get("VSendTime"): time_status_code = 405602 time_status = "答题时间已超" votes["VSstartTime"] = get_web_time_str(votes.get("VSstartTime"), format_forweb_no_HMS) votes["VSendTime"] = get_web_time_str(votes.get("VSendTime"), format_forweb_no_HMS) votes["VStime"] = "2018-08-10" votes["TimeStatus"] = time_status votes["TimeStatusCode"] = time_status_code response = import_status("SUCCESS_MESSAGE_GET_VOTE", "OK") response["data"] = votes return response
def get_review(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "OMid" not in args.keys() or "token" not in args.keys(): return PARAMS_MISS token = args.get("token") USid = token_to_usid(token) # TODO USid的作用? OMid = get_str(args, "OMid") all_review = get_model_return_list( self.service_review.get_review(OMid)) print(self.title.format("all_review")) print(all_review) print(self.title.format("all_review")) if not all_review: return SYSTEM_ERROR for row in all_review: product = get_model_return_dict( self.service_product.get_product_all_by_pid(row.get("PRid"))) print(self.title.format("product")) print(product) print(self.title.format("product")) if not product: return SYSTEM_ERROR row.update(product) back_response = import_status("SUCCESS_MESSAGE_ADD_REVIEW", "OK") back_response["data"] = all_review return back_response
def get_addsecond(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "AFid" not in args: return PARAMS_MISS try: afid = get_str(args, "AFid") list_addsecond = get_model_return_list( self.sadd.get_addsecond_by_afid(afid)) if not list_addsecond: return SYSTEM_ERROR print(self.title.format("list_addsecond")) print(list_addsecond) print(self.title.format("list_addsecond")) return_data = import_status("messages_get_area_success", "OK") return_data["data"] = list_addsecond return return_data except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def make_main_order(self): return TIME_ERROR args = request.args.to_dict() data = request.data data = json.loads(data) print(self.title.format("args")) print(args) print(self.title.format("args")) print(self.title.format("data")) print(data) print(self.title.format("data")) if "token" not in args: return PARAMS_MISS params_list = ["Order_items", "OMtime", "OMdate", "OMtotal", "AAid"] for params in params_list: if params not in data: return PARAMS_MISS token = args.get("token") Uid = token_to_usid(token) OMtime = timeformate.get_db_time_str(data["OMtime"]) if self.checktime(): return import_status("error_make_ordermain_time", "LOVEBREAKFAST_ERROR", "error_make_ordermain_time") OMdate = timeformate.get_db_time_str(data["OMdate"]) if not self.check_order_date(OMdate): return import_status("") order_item = data["Order_items"] OMcode = self.make_code() import uuid aaid = get_str(data, "AAid") OMid = str(uuid.uuid1()) try: for op in order_item: prostatus = self.sproduct.get_product_status_by_prid( op.get("PRid")) print(self.title.format("prostatus")) print(prostatus.PRstatus) print(self.title.format("prostatus")) if prostatus.PRstatus != 1: return import_status("error_no_pro", "LOVEBREAKFAST_ERROR", "error_no_pro") mach = self.smach.get_maid_by_aaid_prid( get_str(data, "AAid"), op.get("PRid")) print(self.title.format("mach")) print(mach) print(self.title.format("mach")) if not mach: return SYSTEM_ERROR self.sorders.add_model( "Orderpart", **{ "OPid": str(uuid.uuid1()), "OMid": OMid, "PRid": op.get("PRid"), "PRnumber": op.get("PRnumber") }) cart = get_model_return_dict( self.scart.get_cart_by_uid_pid(Uid, get_str(op, "PRid"))) print(self.title.format("cartt")) print(cart) print(self.title.format("cartt")) self.scart.del_carts(cart.get("CAid")) print(self.title.format("success add orderpart")) self.sorders.add_model( "Ordermain", **{ "OMid": OMid, "OMtime": OMtime, "OMdate": OMdate, "OMstatus": 7, "USid": Uid, "AAid": aaid, "OMcode": OMcode, "OMabo": get_str(data, "OMabo"), "OMtotal": data.get("OMtotal") }) self.scoupons.update_carbackage(get_str(data, "CAid")) response_make_main_order = import_status( "messages_add_main_order_success", "OK") response_make_main_order["data"] = {} response_make_main_order["data"]["OMid"] = OMid return response_make_main_order except Exception as e: print(self.title.format("error")) print(e.message) print(self.title.format("error")) return SYSTEM_ERROR
def create_review(self): args = request.args.to_dict() print(self.title.format("args")) print(args) print(self.title.format("args")) if "token" not in args.keys() or "OMid" not in args.keys(): return PARAMS_MISS token = args.get("token") USid = token_to_usid(token) OMid = get_str(args, "OMid") OMstatus = self.service_order.get_omstatus_by_omid(OMid) if OMstatus >= 49: return import_status("ERROR_MESSAGE_WRONG_OMSTATUS", "LOVEBREAKFAST_ERROR", "ERROR_CODE_WRONG_OMSTATUS") data = request.data data = json.loads(data) print(self.title.format("data")) print(data) print(self.title.format("data")) for row in data: print(self.title.format("data_item")) print(row) print(self.title.format("data_item")) if "PRid" not in row or "REscore" not in row: return PARAMS_MISS if "REcontent" in row: REcontent = row["REcontent"] else: REcontent = None PRid = row["PRid"] REscore = row["REscore"] print(self.title.format("REscore")) print(REscore) print(self.title.format("REscore")) try: add_model( "Review", **{ "REid": str(uuid.uuid1()), "OMid": OMid, "PRid": PRid, "USid": USid, "REscore": REscore, "REcontent": REcontent, "REstatus": 1 }) except Exception as e: print(self.title.format("add_review")) print(e.message) print(self.title.format("add_review")) return SYSTEM_ERROR product_volue = self.service_product.get_product_volume_by_prid( PRid) product_score = self.service_product.get_product_score_by_prid( PRid) score = (product_score * product_volue + REscore) / product_volue product = {"PRscore": score} update_product = self.service_product.update_product_by_prid( PRid, product) print(self.title.format("update_product")) print(update_product) print(self.title.format("update_product")) if not update_product: return SYSTEM_ERROR order = {"OMstatus": 49} update_order = self.service_order.update_ordermain_by_omid( OMid, order) print(self.title.format("update_order")) print(update_order) print(self.title.format("update_order")) if not update_order: return SYSTEM_ERROR back_response = import_status("SUCCESS_MESSAGE_ADD_REVIEW", "OK") return back_response