def dashboard(): now = datetime.datetime.now() date_before_30days = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") date_to = getFormatDate(date=now, format="%Y-%m-%d") list = StatDailySite.query.filter(StatDailySite.date >= date_from).filter( StatDailySite.date <= date_to).order_by(StatDailySite.id.asc()).all() resp = {'code': 200, 'msg': '操作成功~~', 'data': {}} data = { "categories": [], "series": [ { "name": "会员总数", "data": [] }, { "name": "订单总数", "data": [] }, ] } if list: for item in list: data['categories'].append( getFormatDate(date=item.date, format="%Y-%m-%d")) data['series'][0]['data'].append(item.total_member_count) data['series'][1]['data'].append(item.total_order_count) resp['data'] = data return jsonify(resp)
def finance(): now = datetime.datetime.now() date_before_30days = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") date_to = getFormatDate(date=now, format="%Y-%m-%d") list = StatDailySite.query.filter(StatDailySite.date >= date_from) \ .filter(StatDailySite.date <= date_to).order_by(StatDailySite.id.asc()) \ .all() resp = {'code': 200, 'msg': '操作成功~~', 'data': {}} data = { "categories": [], "series": [ { "name": "日营收报表", "data": [] } ] } if list: for item in list: data['categories'].append(getFormatDate(date=item.date, format="%Y-%m-%d")) data['series'][0]['data'].append(float(item.total_pay_money)) resp['data'] = data return jsonify(resp)
def finance(): resp = {'code': 200, 'msg': '操作成功', 'data': {}} resp['data'] = {} # 取出最近30天的营收状况 now = datetime.datetime.now() date_before_30day = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30day, format='%Y-%m-%d') # 当前的时间 date_to = getFormatDate(date=now, format='%Y-%m-%d') # 取数据 list = StatDailySite.query.filter(StatDailySite.date >= date_from) \ .filter(StatDailySite.date <= date_to).order_by(StatDailySite.id.asc()).all() data = {'categories': [], 'series': [{'name': "日营收情况", 'data': []}]} if list: for item in list: data['categories'].append( getFormatDate(date=item.date, format='%Y-%m-%d')) data['series'][0]['data'].append(float(item.total_pay_money)) resp['data'] = data return jsonify(resp)
def share(): now = datetime.datetime.now() date_before_30days = now + datetime.timedelta(days=-30) default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") default_date_to = getFormatDate(date=now, format="%Y-%m-%d") resp_data = {} req = request.values page = int(req['p']) if ('p' in req and req['p']) else 1 date_from = req['date_from'] if 'date_from' in req else default_date_from date_to = req['date_to'] if 'date_to' in req else default_date_to query = StatDailySite.query.filter(StatDailySite.date >= date_from) \ .filter(StatDailySite.date <= date_to) page_params = { 'total': query.count(), 'page_size': app.config['PAGE_SIZE'], 'page': page, 'display': app.config['PAGE_DISPLAY'], 'url': request.full_path.replace("&p={}".format(page), "") } pages = iPagination(page_params) offset = (page - 1) * app.config['PAGE_SIZE'] list = query.order_by(StatDailySite.id.desc()).offset(offset).limit( app.config['PAGE_SIZE']).all() resp_data['list'] = list resp_data['pages'] = pages resp_data['search_con'] = {'date_from': date_from, 'date_to': date_to} resp_data['current'] = 'share' return ops_render("stat/share.html", resp_data)
def index(): # 先把页面数据结构定义好 # 这个页面就没有预设报错信息 resp_data = { 'data': { 'finance': { 'today': 0, 'month': 0 }, 'member': { 'today_new': 0, 'month_new': 0, 'total': 0 }, 'order': { 'today': 0, 'month': 0 }, 'shared': { 'today': 0, 'month': 0 }, } } now = datetime.datetime.now() # 获取30天前的时间点,使用datetime库 date_before_30days = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") date_to = getFormatDate(date=now, format="%Y-%m-%d") stat_res = StatDailySite.query.filter(StatDailySite.date >= date_from)\ .filter(StatDailySite.date <= date_to).order_by(StatDailySite.id.asc())\ .all() # 避免过多缩进 if not stat_res: return ops_render("index/index.html", **resp_data) data = resp_data['data'] for item in stat_res: data['finance']['month'] += item.total_pay_money data['member']['month_new'] += item.total_new_member_count data['member']['total'] = item.total_member_count data['order']['month'] += item.total_order_count data['shared']['month'] += item.total_shared_count if getFormatDate(date=item.date, format="%Y-%m-%d") == date_to: # 获取当天的数据 data['finance']['today'] = item.total_pay_money data['member']['today_new'] = item.total_new_member_count data['order']['today'] = item.total_order_count data['shared']['today'] = item.total_shared_count return ops_render("index/index.html", **resp_data)
def food(): now = datetime.datetime.now() date_before_30days = now + datetime.timedelta(days=-30) default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") default_date_to = getFormatDate(date=now, format="%Y-%m-%d") resp_data = {} req = request.values page = int(req['p']) if ('p' in req and req['p']) else 1 date_from = req['date_from'] if 'date_from' in req else default_date_from date_to = req['date_to'] if 'date_to' in req else default_date_to query = StatDailyFood.query.filter(StatDailyFood.date >= date_from) \ .filter(StatDailyFood.date <= date_to) app_config = current_app.config page_params = { 'total': query.count(), 'page_size': app_config['PAGE_SIZE'], 'page': page, 'display': app_config['PAGE_DISPLAY'], 'url': request.full_path.replace("&p={}".format(page), "") } pages = iPagination(page_params) offset = (page - 1) * app_config['PAGE_SIZE'] res_list = query.order_by(StatDailyFood.id.desc()).offset(offset).limit( app_config['PAGE_SIZE']).all() date_list = [] if res_list: food_map = getDictFilterField(Food, Food.id, "id", selectFilterObj(res_list, "food_id")) for item in res_list: tmp_food_info = food_map[ item.food_id] if item.food_id in food_map else {} tmp_data = { "date": item.date, "total_count": item.total_count, "total_pay_money": item.total_pay_money, 'food_info': tmp_food_info } date_list.append(tmp_data) resp_data['list'] = date_list resp_data['pages'] = pages resp_data['current'] = 'food' resp_data['search_con'] = {'date_from': date_from, 'date_to': date_to} return ops_render("stat/food.html", **resp_data)
def index(): resp_data = { 'data': { 'finance': { 'today': 0, 'month': 0 }, 'member': { 'today_new': 0, 'month_new': 0, 'total': 0 }, 'order': { 'today': 0, 'month': 0 }, 'shared': { 'today': 0, 'month': 0 }, } } now = datetime.datetime.now() date_before_30days = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") date_to = getFormatDate(date=now, format="%Y-%m-%d") list = StatDailySite.query.filter(StatDailySite.date >= date_from) \ .filter(StatDailySite.date <= date_to).order_by(StatDailySite.id.asc()) \ .all() data = resp_data['data'] if list: for item in list: data['finance']['month'] += item.total_pay_money data['member']['month_new'] += item.total_new_member_count data['member']['total'] = item.total_member_count data['order']['month'] += item.total_order_count data['shared']['month'] += item.total_shared_count if getFormatDate(date=item.date, format="%Y-%m-%d") == date_to: data['finance']['today'] = item.total_pay_money data['member']['today_new'] = item.total_new_member_count data['order']['today'] = item.total_order_count data['shared']['today'] = item.total_shared_count return ops_render( "index/index.html", resp_data, )
def index(): # 定义返回给前端用于展示的数据格式 resp = { 'data': { 'finance': { 'today': 0, 'month': 0 }, 'member': { 'total_new': 0, 'month_new': 0, 'total': 0 }, 'order': { 'today': 0, 'month': 0 }, 'shared': { 'today': 0, 'month': 0 } } } # 取出最近30天的营收状况 now = datetime.datetime.now() date_before_30day = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30day, format='%Y-%m-%d') # 当前的时间 date_to = getFormatDate(date=now, format='%Y-%m-%d') list = StatDailySite.query.filter(StatDailySite.date>=date_from)\ .filter(StatDailySite.date <= date_to).order_by(StatDailySite.id.asc()).all() data = resp['data'] if list: for item in list: data['finance']['month'] += item.total_pay_money data['member']['month_new'] += item.total_new_member_count data['member']['total'] = item.total_member_count data['order']['month'] += item.total_order_count data['shared']['month'] += item.total_shared_count if getFormatDate(date=item.date, format='%Y-%m-%d') == date_to: data['finance']['today'] = item.total_pay_money data['member']['today_new'] = item.total_new_member_count data['order']['today'] = item.total_order_count data['shared']['today'] = item.total_shared_count # 数据不对 return ops_render("index/index.html", resp)
def index(): ## # 为了不让每一个页面都传current_user 我们需要修改 render_template libs 下创建helper文件 统一使用新的render_template ### resp_data = { 'data': { "finance": { "today": 0, "month": 0 }, "member": { "today_new": 0, "month_new": 0, "total": 0 }, "order": { "today": 0, "month": 0, }, "shared": { "today": 0, "month": 0 } } } now = datetime.datetime.now() date_before_30day = now + datetime.timedelta(days=-30) date_from = getFormatDate(date=date_before_30day, format="%Y-%m-%d") date_to = getFormatDate(date=now, format="%Y-%m-%d") list = StatDailySite.query.filter(StatDailySite.date >= date_from)\ .filter(StatDailySite.date <= date_to).order_by(StatDailySite.id.asc()).all() data = resp_data['data'] if list: for item in list: data['finance']['month'] += item.total_pay_money data['member']['month_new'] += item.total_new_member_count data['member']['total'] = item.total_member_count data['order']['month'] += item.total_order_count data['shared']['month'] += item.total_shared_count if getFormatDate(date=item.date, format="%Y-%m-%d") == date_to: data['finance']['today'] = item.total_pay_money data['member']['today'] = item.total_new_member_count data['order']['today'] = item.total_order_count data['shared']['today'] = item.total_pay_money return render_template_ops("index/index.html", resp_data)
def index(): resp_data = {} req = request.values if request.headers.getlist("X-Forwarded-For"): ip = request.headers.getlist("X-Forwarded-For")[0] else: ip = request.remote_addr page = int(req['p']) if ('p' in req and req['p']) else 1 offset = (page - 1) * 20 query = Wenzhang.query list = query.order_by( Wenzhang.articleid.desc()).offset(offset).limit(20).all() query = Biaoqian.query biaoqianlist = query.order_by(Biaoqian.biaoqianID.desc()) query = Heji.query hejilist = query.order_by(Heji.hejiID.desc()) #按热度顺序推最高的十个 tuijianlist = Wenzhang.query.order_by(Wenzhang.hits.desc()).limit(10).all() resp_data['page'] = page resp_data['list'] = list resp_data['hejilist'] = hejilist resp_data['biaoqianlist'] = biaoqianlist resp_data['tuijianlist'] = tuijianlist resp_data['current'] = 'index' # 修改浏览数 blog_log_info = Log.query.first() if blog_log_info: model_log_info = blog_log_info model_log_info.ip = ip model_log_info.updated_time = getFormatDate() model_log_info.hits = int(blog_log_info.hits) + 1 else: model_log_info = Log() model_log_info.hits = 1 model_log_info.ip = ip model_log_info.updated_time = getFormatDate() resp_data['model_log_info'] = model_log_info db.session.add(model_log_info) db.session.commit() r = denglulog(ip, "首页") g.current_user = check_login() return ops_render("blog/index.html", resp_data)
def memebr(): now = datetime.datetime.now() date_before_30days = now + datetime.timedelta(days=-30) default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") default_date_to = getFormatDate(date=now, format="%Y-%m-%d") resp_data = {} req = request.values page = int(req['p']) if ('p' in req and req['p']) else 1 date_from = req['date_from'] if 'date_from' in req else default_date_from date_to = req['date_to'] if 'date_to' in req else default_date_to query = StatDailyMember.query.filter(StatDailyMember.date >= date_from) \ .filter(StatDailyMember.date <= date_to) page_params = { 'total': query.count(), 'page_size': app.config['PAGE_SIZE'], 'page': page, 'display': app.config['PAGE_DISPLAY'], 'url': request.full_path.replace("&p={}".format(page), "") } pages = iPagination(page_params) offset = (page - 1) * app.config['PAGE_SIZE'] list = query.order_by(StatDailyMember.id.desc()).offset(offset).limit( app.config['PAGE_SIZE']).all() date_list = [] if list: member_map = get_dict_by_field( Member, Member.id, "id", select_filter_from_obj(list, "member_id")) for item in list: tmp_member_info = member_map[ item.member_id] if item.member_id in member_map else {} tmp_data = { "date": item.date, "total_pay_money": item.total_pay_money, "total_shared_count": item.total_shared_count, 'member_info': tmp_member_info } date_list.append(tmp_data) resp_data['list'] = date_list resp_data['pages'] = pages resp_data['current'] = 'member' resp_data['search_con'] = {'date_from': date_from, 'date_to': date_to} return ops_render("stat/member.html", resp_data)
def setPersonState(): resp = {"code": 200, "msg": ""} ip = request.remote_addr # resp['msg']=ip if ip not in app.config["ALLOWED_IP"]: resp['code'] = -1 resp['msg'] = "无权限" return jsonify(resp) try: reqData = json.loads(request.get_data(as_text=True)) if "token" not in reqData or reqData['token'] != app.config["TOKEN"]: resp['code'] = -1 resp['msg'] = "无权限" return jsonify(resp) now = datetime.datetime.now() str_now = getFormatDate(date=now) for item in reqData['data']: UserService.updateState(item['state'], item['list'], str_now) except Exception as e: resp['code'] = -1 resp['msg'] = "请求失败" print(e) return jsonify(resp)
def run(self, params): act = params['act'] if 'act' in params else '' date = params['param'][0] if params['param'] and len( params['param']) else getFormatDate(format="%Y-%m-%d") if not act: return date_from = date + " 00:00:00" date_to = date + " 23:59:59" func_params = { 'act': act, 'date': date, 'date_from': date_from, 'date_to': date_to } if act == "member": self.statMember(func_params) elif act == "food": self.statFood(func_params) elif act == "site": self.statSite(func_params) elif act == "test": self.test() app.logger.info("it's over~~") return
def run(self, params): act = params['act'] if 'act' in params else '' date = params['param'][0] if params['param'] and len( params['param']) >= 1 else getFormatDate(format="%Y-%m-%d") app.logger.info(date) if not act: return date_from = date + " 00-00-00" date_to = date + " 23-59-59" func_params = { 'date': date, 'act': act, 'date_from': date_from, 'date_to': date_to } if act == 'member': self.statMember(func_params) elif act == 'food': self.statFood(func_params) elif act == 'site': self.statSite(func_params) elif act == 'test': self.test()
def run(self,params): act = params['act'] if 'act' in params else '' date = params['param'][0] if params['param'] and len(params['param'])>0 else getFormatDate(format=("%Y-%m-%d")) # 列表形式 if not act: return date_from = date + " 00:00:00" date_to = date + " 23:59:59" # 拼接目标数据,传入各自job定时任务的函数 func_params = { 'act':act, 'date':date, 'date_from':date_from, 'date_to':date_to } if act == 'member': self.statMember(func_params) elif act == 'food': self.statFood(func_params) elif act == 'site': self.statSite(func_params) elif act == 'test': self.test()
def closePingLun(self, params=''): now = datetime.datetime.now() inter = app.config['JOB_STATUS_CHANGES']['days'] date_before_days = now + datetime.timedelta(days=int(inter)) list = PayOrder.query.filter_by( status = 1,express_status = 1, comment_status = 0 ).\ filter( PayOrder.created_time <= getFormatDate( date = date_before_days ) ).all() if not list: app.logger.info("no data~~") return pay_target = PayService() for item in list: params = { 'order_sn': item.order_sn, 'score': 10, 'content': "系统默认好评!~", 'member_id': item.member_id, } ret = pay_target.addComments(params) if not ret: app.logger.info("error in add pinglun~~") return app.logger.info("PingLun is over~~") return
def editVenue(): resp = {"code": 200, "msg": "操作成功", "data": {}} req = request.values id = req["id"] if "id" in req else None name = req["name"] if "name" in req else None lon = req["lon"] if "lon" in req else None lat = req["lat"] if "lat" in req else None permissionType = int(req["permissionType"]) if ( "permissionType" in req and req["permissionType"]) else 1 if not name: resp["code"] = -1 resp["msg"] = "请输入场所名称" return jsonify(resp) if not lon or not lat: resp["code"] = -1 resp["msg"] = "请选择场所地点" return jsonify(resp) if permissionType not in [1, 2, 3, 4]: permissionType = 1 name = getParserValue(name) lon = getParserValue(lon) lat = getParserValue(lat) # print("name=="+name+"-lon"+lon+"-"+lat) resp["msg"] = "保存成功" if not id: #新增 # 权限判断 if g.current_user.super == 1: #超级管理员才能新增 id = VenueService.geneVenueID() createtime = getFormatDate(date=datetime.datetime.now()) VenueService.create(id, name, lon, lat, permissionType, createtime) # 获取小程序码 url = createWXcode(id) resp["wxCodeUrl"] = url else: resp["code"] = -1 resp["msg"] = "无权限" return jsonify(resp) else: #修改 # 权限判断 if g.current_user.super == 1: #超级管理员 VenueService.update("", id, name, lon, lat, permissionType) else: #场所管理员 VenueService.update(g.current_user.no, id, name, lon, lat, permissionType) return jsonify(resp)
def postdetail(): resp = {'code': 200, 'msg': '操作成功~', 'data': {}} info = check_login() req = request.values hejiid = int(req['heji_id']) if 'heji_id' in req and req['heji_id'] else 0 name = req['name'] if 'name' in req else '' articleid = int( req['articleid']) if 'articleid' in req and req['articleid'] else 0 biaoqian_id = int(req['biaoqian_id'] ) if 'biaoqian_id' in req and req['biaoqian_id'] else 0 summary = req['summary'] if 'summary' in req else '' jianjie = req['jianjie'] if 'jianjie' in req else '' heji = req['heji'] if 'heji' in req else '' psw = req['psw'] if 'psw' in req else '' biaoqian = "" blnIsNeedPw = 0 type = "同人" print(req) if hejiid > 0: hejilist = Heji.query.filter_by(hejiID=hejiid).first() if hejilist: heji = hejilist.heji print(hejilist.heji) print(hejilist) if biaoqian_id > 0: biaoqianlist = Biaoqian.query.filter_by(biaoqianID=biaoqian_id).first() if biaoqianlist: biaoqian = biaoqianlist.biaoqian print(biaoqianlist) if psw: blnIsNeedPw = 1 wenzhang_info = Wenzhang.query.filter_by(articleid=articleid).first() if wenzhang_info: model_wenzhang_info = wenzhang_info else: model_wenzhang_info = Wenzhang() model_wenzhang_info.redu = 0 model_wenzhang_info.title = name model_wenzhang_info.hejiID = hejiid model_wenzhang_info.quanwen = summary model_wenzhang_info.biaoqian = biaoqian model_wenzhang_info.heji = heji model_wenzhang_info.name = info.nickname model_wenzhang_info.type = "同人" model_wenzhang_info.blnIsNeedPw = blnIsNeedPw model_wenzhang_info.psw = psw model_wenzhang_info.headportraitadress = info.headportraitadress model_wenzhang_info.jianji = jianjie model_wenzhang_info.data = getFormatDate() db.session.add(model_wenzhang_info) db.session.commit() return jsonify(resp)
def orderCreate(): resp = {'code': 200, 'msg': '操作成功~', 'data': {}} req = request.values print(req) type = req['type'] if 'type' in req else '' # note = req['note'] if 'note' in req else '' # express_address_id = int( req['express_address_id'] ) if 'express_address_id' in req and req['express_address_id'] else 0 params_goods = req['goods'] if 'goods' in req else None print(params_goods) items = [] if params_goods: items = json.loads(params_goods) # print("*****####") if len(items) < 1: resp['code'] = -1 resp['msg'] = "失败:没有选择讲座~~" return jsonify(resp) now_time = getFormatDate() e_time = time.mktime(time.strptime(now_time, "%Y-%m-%d %H:%M:%S")) for item in items: item_time = time.strptime(item['lecture_time'], "%Y-%m-%d %H:%M:%S") l_time = time.mktime(item_time) if int(e_time) < int(l_time): resp['code'] = -1 resp['msg'] = "请选择已经结束的讲座" return jsonify(resp) # address_info = MemberAddress.query.filter_by( id = express_address_id ).first() # if not address_info or not address_info.status: # resp['code'] = -1 # resp['msg'] = "下单失败:快递地址不对~~" # return jsonify(resp) member_info = g.member_info target = PayService() # params = { ## "note":note, ## 'express_address_id':address_info.id, ## 'express_info':{ ## 'mobile':address_info.mobile, ## 'nickname':address_info.nickname, ## "address":"%s%s%s%s"%( address_info.province_str,address_info.city_str,address_info.area_str,address_info.address ) ## } # } resp = target.createOrder(member_info.id, items, None) #如果是来源购物车的,下单成功将下单的商品去掉 if resp['code'] == 200 and type == "cart": CartService.deleteItem(member_info.id, items) return jsonify(resp)
def foodSearch(): resp = {'code': 200, 'msg': '操作成功~', 'data': {}} req = request.values platform_id = int(req['platform_id']) if 'platform_id' in req else 0 community_name = req['community_name'] if 'community_name' in req else '' cat_id = int(req['cat_id']) if 'cat_id' in req else 0 mix_kw = str(req['mix_kw']) if 'mix_kw' in req else '' p = int(req['p']) if 'p' in req else 1 if p < 1: p = 1 # print(p) page_size = 10 offset = (p - 1) * page_size # print(offset) print(community_name) rule = Food.communities.ilike("%{0}%".format(community_name)) now = datetime.datetime.now() today = getFormatDate(date=now) query = Food.query.filter_by(status=1, platform_id=platform_id).filter(Food.date_from <= today).filter( Food.date_to >= today).filter(rule) print(query.all()) if cat_id > 0: query = query.filter_by(cat_id=cat_id) if mix_kw: rule = or_(Food.name.ilike("%{0}%".format(mix_kw)), Food.tags.ilike("%{0}%".format(mix_kw))) query = query.filter(rule) food_list = query.order_by(Food.total_count.desc(), Food.id.desc()).all() print(food_list) data_food_list = [] if food_list: for item in food_list: tmp_data = { 'id': item.id, 'name': "%s" % (item.name), 'price': str(item.price), 'market_price': str(item.market_price), 'date_to': str(item.date_to), 'pic_url': item.main_image, 'stock': item.stock, 'limit_quantity': item.limit_quantity } data_food_list.append(tmp_data) resp['data']['list'] = data_food_list resp['data']['has_more'] = 0 if len(data_food_list) < page_size else 1 return jsonify(resp)
def testBook(self, date): from common.models.book.Book import Book list = Book.query.all() if list: for item in list: model = BookSaleChangeLog() model.book_id = item.id model.quantity = random.randint(1, 10) model.price = model.quantity * item.price model.member_id = 1 model.created_time = date + " " + getFormatDate(format="%H:%M:%S") db.session.add(model) db.session.commit()
def run(self, params): now = datetime.datetime.now() date_before_30min = now + datetime.timedelta(minutes=-30) list = PayOrder.query.filter_by(status=-8). \ filter(PayOrder.created_time <= getFormatDate(date=date_before_30min)).all() if not list: app.logger.info("no data~~") return pay_target = PayService() for item in list: pay_target.closeOrder(pay_order_id=item.id) app.logger.info("it's over~~")
def testFood(self, date): list = Food.query.all() if list: for item in list: model = FoodSaleChangeLog() model.food_id = item.id model.quantity = random.randint(1, 10) model.price = model.quantity * item.price model.member_id = 1 model.created_time = date + " " + getFormatDate( format="%H:%M:%S") db.session.add(model) db.session.commit()
def test(self): now = datetime.datetime.now() for i in reversed(range(1,30)): date_before = now + datetime.timedelta(days=-i) date = getFormatDate(date = date_before,format="%Y-%m-%d") tmp_params = { 'act': 'test', 'date': date, 'date_from': date + ' 00:00:00', 'date_to': date + ' 23:59:59' } self.statMember(tmp_params) self.statSite(tmp_params) self.statFood(tmp_params)
def orderinfo(): resp = { 'code': 200, 'msg': '操作成功~', 'data': {}, 'OrderAddressInfo': {}, 'pay_price': {} } req = request.values id = int(req['id']) if 'id' in req else -1 Pay_info = PayOrder.query.filter_by(id=id).first() OrderInfo = PayOrderItem.query.filter_by(pay_order_id=id).all() if OrderInfo: AddressInfo = Pay_info.express_address_id AddressInfo = Address.query.filter_by(Id=AddressInfo).first() address = { 'id': AddressInfo.Id, 'Cid': AddressInfo.Cid, 'Addressee': AddressInfo.Addressee, 'AddresseePhone': AddressInfo.AddresseePhone, 'Province': AddressInfo.Province, 'City': AddressInfo.City, 'County': AddressInfo.County, 'Details': AddressInfo.Details, 'Status': int(AddressInfo.Status) } data_list = [] for item in OrderInfo: ProductInfo = Product.query.filter_by(Pid=item.Pid).first() tmp_data = { 'Oid': item.pay_order_id, 'Pid': item.Pid, 'Shopid': ProductInfo.Shopid, 'ProductName': "%s" % (ProductInfo.ProductName), 'OrderCount': "%s" % (item.quantity), 'ProductImage': "%s" % (ProductInfo.ProductImage), 'OrderPrice': "%s" % (item.price), 'OrderTime': getFormatDate(item.updated_time), 'OrderStatus': int(Pay_info.status), 'tracking_number': str(Pay_info.tracking_number) # 'OrderAddressInfo': address } data_list.append(tmp_data) resp['data'] = data_list resp['OrderAddressInfo'] = address resp['pay_price'] = str(Pay_info.pay_price) return jsonify(resp)
def closeFuKuan(self, params=''): now = datetime.datetime.now() inter = app.config['JOB_STATUS_CHANGES']['minutes'] date_before_30min = now + datetime.timedelta(minutes=int(inter)) list = PayOrder.query.filter_by( status = -8 ).\ filter( PayOrder.created_time <= getFormatDate( date = date_before_30min ) ).all() if not list: app.logger.info("no data~~") return pay_target = PayService() for item in list: pay_target.closeOrder(pay_order_id=item.id) app.logger.info("FuKuan is over~~") return
def closeQuCan(self, params=''): now = datetime.datetime.now() inter = app.config['JOB_STATUS_CHANGES']['hours'] date_before_hours = now + datetime.timedelta(hours=int(inter)) list = PayOrder.query.filter_by( status = 1, express_status = -6 ).\ filter( PayOrder.created_time <= getFormatDate( date = date_before_hours ) ).all() if not list: app.logger.info("no data~~") return pay_target = PayService() for item in list: pay_target.confirmOrder(pay_order_id=item.id) app.logger.info("QuCan is over~~") return
def test(self): import datetime from common.libs.Helper import getFormatDate now = datetime.datetime.now() for i in reversed( range( 1,30 ) ): date_before = now + datetime.timedelta( days = -i ) date = getFormatDate( date = date_before,format = "%Y-%m-%d" ) tmp_params = { 'act': 'test', 'date': date, 'date_from': date + " 00:00:00", 'date_to': date + " 23:59:59" } self.testFood( date ) self.statFood( tmp_params ) self.statMember( tmp_params ) self.statSite( tmp_params )
def addApply(): resp = {"code": 200, "msg": "success", "data": {}} req = request.values venueid = req["venueid"] if "venueid" in req else None if not venueid: resp["code"] = -1 resp["msg"] = "请选择场所" return jsonify(resp) reviewer = req["reviewer"] if "reviewer" in req else None if not reviewer: resp["code"] = -1 resp["msg"] = "请选择审核人" return jsonify(resp) starttime = req["starttime"] if "starttime" in req else None if not starttime: resp["code"] = -1 resp["msg"] = "请选择开始时间" return jsonify(resp) endtime = req["endtime"] if "endtime" in req else None if not endtime: resp["code"] = -1 resp["msg"] = "请选择结束时间" return jsonify(resp) reason = req["reason"] if "reason" in req else None if not reason: resp["code"] = -1 resp["msg"] = "请填写申请原因" return jsonify(resp) id = VenueService.geneVenueID() #生成审批id applytime = getFormatDate(date=datetime.datetime.now()) member_info = g.member_info UserService.addApply(member_info.no, venueid, reviewer, id, applytime, starttime, endtime, reason) return jsonify(resp)
def approve(): resp = {"code": 200, "msg": "success", "data": {}} req = request.values id = req["id"] if "id" in req else None if not id: resp["code"] = -1 resp["msg"] = "请选择审批单" return jsonify(resp) state = int(req["state"]) if ("state" in req and req["state"]) else None if not state: resp["code"] = -1 resp["msg"] = "请选择意见" return jsonify(resp) approvetime = getFormatDate(date=datetime.datetime.now()) member_info = g.member_info UserService.approve(member_info.no, id, state, approvetime) return jsonify(resp)