def uploadByFile(file): config_upload = app.config['UPLOAD'] ret = {"code": 200, "msg": "操作成功", "data": {}} filename = secure_filename(file.filename) ext = filename.rsplit(".", 1)[1] if ext not in config_upload['ext']: ret['code'] = -1 ret['msg'] = "不允许的扩展类型未见" return ret root_path = app.root_path + config_upload['prefix_path'] file_dir = get_current_time("%Y%m%d") save_dir = root_path + file_dir if not os.path.exists(save_dir): os.mkdir(save_dir) os.chmod(save_dir, stat.S_IRWXO | stat.S_IRWXG | stat.S_IRWXU) file_name = str(uuid.uuid4()).replace('-', '') + '.' + ext file.save("%s/%s" % (save_dir, file_name)) model_image = Image() model_image.file_key = file_dir + '/' + file_name model_image.created_time = get_current_time() db.session.add(model_image) db.session.commit() ret['data'] = {'file_key': file_dir + "/" + file_name} return ret
def myAddressOps(): resp = {'code': 200, 'msg': '操作成功~', 'data': {}} req = request.values id = int(req['id']) if 'id' in req else 0 act = req['act'] if 'act' in req else '' member_info = g.member_info if id < 1 or not member_info: resp['code'] = -1 resp['msg'] = "系统繁忙,请稍后再试~~" return jsonify(resp) address_info = MemberAddress.query.filter_by( id=id, member_id=member_info.id).first() if not address_info: resp['code'] = -1 resp['msg'] = "系统繁忙,请稍后再试~~" return jsonify(resp) if act == "del": address_info.status = 0 address_info.updated_time = get_current_time() db.session.add(address_info) db.session.commit() elif act == "default": MemberAddress.query.filter_by(member_id=member_info.id)\ .update({'is_default': 0}) address_info.is_default = 1 address_info.updated_time = get_current_time() db.session.add(address_info) db.session.commit() return jsonify(resp)
def type1_set(): if request.method == 'GET': val = request.values id = int(val['id']) if val.get('id', '') and val.get( 'id', '').isdigit() else 0 info = CategoryQuestion.query.filter_by(id=id).first() resp_data = {} if info: resp_data['info'] = info else: resp_data['info'] = None return ops_render('question/type1_set.html', resp_data) resp = {'code': 200, 'msg': '操作成功', "data": {}} req = request.values print(req) id = int( req['id']) if req.get('id', '') and req.get('id', '').isdigit() else 0 app.logger.info(id) name = req['name'] if 'name' in req else '' price = req['price'] if 'price' in req else 0 is_free = req['is_free'] if 'is_free' in req else 0 is_hot = req['is_hot'] if 'is_hot' in req else 0 type = req['type'] if 'type' in req else 1 main_image = req['main_image'] if 'main_image' in req else '' if name is None or len(name) < 2: resp['code'] = -1 resp['msg'] = '请输入2位以上的专业名称' return jsonify(resp) if price is None or not price.isdigit(): resp['code'] = -1 resp['msg'] = '价格需要纯数字' return jsonify(resp) category_info = CategoryQuestion.query.filter( CategoryQuestion.id != id, CategoryQuestion.name == name).first() if category_info: resp['code'] = -1 resp['msg'] = '专业名已存在' return jsonify(resp) category_info = CategoryQuestion.query.filter( CategoryQuestion.id == id).first() if not category_info: category_info = CategoryQuestion() category_info.created_time = get_current_time() category_info.name = name category_info.type = int(type) category_info.category_type = 1 category_info.is_hot = int(is_hot) category_info.is_free = int(is_free) category_info.price = price category_info.creat_time = get_current_time() category_info.main_image = main_image db.session.add(category_info) db.session.commit() return resp
def get_history_from(member_history_info): history_list = [] for i in range(member_history_info.count()): dict_history = {} get_current_time() dict_history['created_time'] = str( member_history_info[i].created_time) type3_id = member_history_info[i].type3_id type3 = CategoryQuestion.query.filter( CategoryQuestion.id == type3_id).first() type3_name = type3.name type2_name = type3.parent_category.name type1_name = type3.parent_category.parent_category.name finished_num = MemberProgres.query.filter( MemberProgres.member_id == g.member_info.id, MemberProgres.type3 == type3_id).first() dict_history[ 'finished_num'] = finished_num.count if finished_num else 0 question_num = CategoryQuestion.query.filter( CategoryQuestion.id == type3_id).first() dict_history[ 'question_num'] = question_num.count if question_num else 0 dict_history['path'] = "/".join( [type1_name, type2_name, type3_name]) dict_history['type3_id'] = type3_id history_list.append(dict_history) return history_list
def closeOrder(self, pay_order_id=0): if pay_order_id < 1: return False pay_order_info = PayOrder.query.filter_by(id=pay_order_id, status=-8).first() if not pay_order_info: return False pay_order_items = PayOrderItem.query.filter_by( pay_order_id=pay_order_id).all() if pay_order_items: # 需要归还库存 for item in pay_order_items: tmp_food_info = Food.query.filter_by(id=item.food_id).first() if tmp_food_info: tmp_food_info.stock = tmp_food_info.stock + item.quantity tmp_food_info.updated_time = get_current_time() db.session.add(tmp_food_info) db.session.commit() FoodService.setStockChangeLog(item.food_id, item.quantity, "订单取消") pay_order_info.status = 0 pay_order_info.updated_time = get_current_time() db.session.add(pay_order_info) db.session.commit() return True
def getAccessToken(self): token = None token_info = OauthAccessToken.query.filter( OauthAccessToken.expired_time >= get_current_time()).first() if token_info: token = token_info.access_token return token config_mina = app.config['MINA_APP'] url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}"\ .format(config_mina['appid'], config_mina['appkey']) r = requests.get(url=url) if r.status_code != 200 or not r.text: return token data = json.loads(r.text) now = datetime.datetime.now() date = now + datetime.timedelta(seconds=data['expires_in'] - 200) model_token = OauthAccessToken() model_token.access_token = data['access_token'] model_token.expired_time = date.strftime("%Y-%m-%d %H:%M:%S") model_token.created_time = get_current_time() db.session.add(model_token) db.session.commit() return data['access_token']
def type2_set(): if request.method == 'GET': val = request.values id = int(val['id']) if val.get('id', '') and val.get( 'id', '').isdigit() else 0 parent_id = int(val['parent_id']) if val.get( 'parent_id', '') and val.get('parent_id', '').isdigit() else 1 info = CategoryQuestion.query.filter_by(id=id).first() resp_data = {} if info: resp_data['info'] = info parent_id = info.parent_category_id else: resp_data['info'] = None resp_data['parent_id'] = parent_id return ops_render('question/type2_set.html', resp_data) resp = {'code': 200, 'msg': '操作成功', "data": {}} req = request.values id = int( req['id']) if req.get('id', '') and req.get('id', '').isdigit() else 0 parent_id = int(req['parent_id']) if req.get('parent_id', '') and req.get( 'parent_id', '').isdigit() else 1 name = req['name'] if 'name' in req else '' price = req['price'] if 'price' in req else 0 is_free = req['is_free'] if 'is_free' in req else 0 is_hot = req['is_hot'] if 'is_hot' in req else 0 if name is None or len(name) < 2: resp['code'] = -1 resp['msg'] = '请输入2位及以上的章节名称' return jsonify(resp) query = CategoryQuestion.query.filter( CategoryQuestion.parent_category_id == parent_id) category_info = query.filter(CategoryQuestion.id != id, CategoryQuestion.name == name).first() if category_info: resp['code'] = -1 resp['msg'] = '章节名已存在' return jsonify(resp) category_info = query.filter(CategoryQuestion.id == id).first() if not category_info: category_info = CategoryQuestion() category_info.created_time = get_current_time() category_info.name = name category_info.category_type = 2 category_info.is_hot = int(is_hot) category_info.is_free = int(is_free) category_info.price = price category_info.creat_time = get_current_time() category_info.parent_category_id = parent_id db.session.add(category_info) db.session.commit() return resp
def statSite(self, params): # site统计 act = params['act'] date = params['date'] date_from = params['date_from'] date_to = params['date_to'] app.logger.info( "act:{0},from:{1},to:{2}".format( act, date_from, date_to)) stat_pay = db.session.query( func.sum( PayOrder.total_price).label("total_pay_money")).filter( PayOrder.status == 1).filter( PayOrder.created_time >= date_from, PayOrder.created_time <= date_to).first() stat_member_count = Member.query.count() stat_new_member_count = Member.query.filter( Member.created_time >= date_from, Member.created_time <= date_to).count() stat_order_count = PayOrder.query.filter_by( status=1) .filter( PayOrder.created_time >= date_from, PayOrder.created_time <= date_to).count() stat_share_count = WxShareHistory.query.filter( WxShareHistory.created_time >= date_from, WxShareHistory.created_time <= date_to).count() tmp_stat_site = StatDailySite.query.filter_by(date=date).first() if tmp_stat_site: tmp_model_stat_site = tmp_stat_site else: tmp_model_stat_site = StatDailySite() tmp_model_stat_site.date = date tmp_model_stat_site.created_time = get_current_time() tmp_model_stat_site.total_pay_money = stat_pay[0] if stat_pay[0] else 0.00 tmp_model_stat_site.total_new_member_count = stat_new_member_count tmp_model_stat_site.total_member_count = stat_member_count tmp_model_stat_site.total_order_count = stat_order_count tmp_model_stat_site.total_shared_count = stat_share_count tmp_model_stat_site.updated_time = get_current_time() # 为了测试效果模拟数据 tmp_model_stat_site.total_pay_money = random.randint(1000, 1010) tmp_model_stat_site.total_new_member_count = random.randint(50, 100) tmp_model_stat_site.total_member_count += tmp_model_stat_site.total_new_member_count tmp_model_stat_site.total_order_count = random.randint(900, 1000) tmp_model_stat_site.total_shared_count = random.randint(1000, 2000) db.session.add(tmp_model_stat_site) db.session.commit()
def statMember(self, params): # 会员统计 act = params['act'] date = params['date'] date_from = params['date_from'] date_to = params['date_to'] app.logger.info( "act:{0},from:{1},to:{2}".format( act, date_from, date_to)) member_list = Member.query.all() if not member_list: app.logger.info("no member list") return for member_info in member_list: tmp_stat_member = StatDailyMember.query.filter_by( date=date, member_id=member_info.id).first() if tmp_stat_member: tmp_model_stat_member = tmp_stat_member else: tmp_model_stat_member = StatDailyMember() tmp_model_stat_member.date = date tmp_model_stat_member.member_id = member_info.id tmp_model_stat_member.created_time = get_current_time() tmp_stat_pay = db.session.query( func.sum( PayOrder.total_price).label("total_pay_money")).filter( PayOrder.member_id == member_info.id, PayOrder.status == 1).filter( PayOrder.created_time >= date_from, PayOrder.created_time <= date_to).first() tmp_stat_share_count = WxShareHistory.query.filter( WxShareHistory.member_id == member_info.id).filter( WxShareHistory.created_time >= date_from, WxShareHistory.created_time <= date_to).count() tmp_model_stat_member.total_shared_count = tmp_stat_share_count tmp_model_stat_member.total_pay_money = tmp_stat_pay[0] if tmp_stat_pay[0] else 0.00 # 为了测试效果模拟数据 tmp_model_stat_member.total_shared_count = random.randint(50, 100) tmp_model_stat_member.total_pay_money = random.randint(1000, 1010) tmp_model_stat_member.updated_time = get_current_time() db.session.add(tmp_model_stat_member) db.session.commit() return
def login(): resp = {'code': 200, 'msg': '操作成功~', 'data': {}} req = request.values code = req['code'] if 'code' in req else '' if not code or len(code) < 1: resp['code'] = -1 resp['msg'] = "需要code" return jsonify(resp) openid = MemberService.getWeChatOpenId(code) if openid is None: resp['code'] = -1 resp['msg'] = "调用微信出错" return jsonify(resp) nickname = req['nickName'] if 'nickName' in req else '' sex = req['gender'] if 'gender' in req else 0 avatar = req['avatarUrl'] if 'avatarUrl' in req else '' ''' 判断是否已经测试过,注册了直接返回一些信息 ''' bind_info = OauthMemberBind.query.filter_by(openid=openid, type=1).first() if not bind_info: model_member = Member() model_member.nickname = nickname model_member.sex = sex model_member.avatar = avatar model_member.salt = MemberService.geneSalt() model_member.updated_time = model_member.created_time = get_current_time( ) db.session.add(model_member) db.session.commit() model_bind = OauthMemberBind() model_bind.member_id = model_member.id model_bind.type = 1 model_bind.openid = openid model_bind.extra = '' model_bind.updated_time = model_bind.created_time = get_current_time() db.session.add(model_bind) db.session.commit() bind_info = model_bind member_info = Member.query.filter_by(id=bind_info.member_id).first() token = "%s#%s" % (MemberService.geneAuthCode(member_info), member_info.id) resp['data'] = {'token': token} return jsonify(resp)
def statFood(self, params): # Food统计 act = params['act'] date = params['date'] date_from = params['date_from'] date_to = params['date_to'] app.logger.info( "act:{0},from:{1},to:{2}".format( act, date_from, date_to)) stat_food_list = db.session.query( FoodSaleChangeLog.food_id, func.sum( FoodSaleChangeLog.quantity).label("total_count"), func.sum( FoodSaleChangeLog.price).label("total_pay_money")).filter( FoodSaleChangeLog.created_time >= date_from, FoodSaleChangeLog.created_time <= date_to).group_by( FoodSaleChangeLog.food_id).all() if not stat_food_list: app.logger.info("no data") return for item in stat_food_list: tmp_food_id = item[0] tmp_stat_food = StatDailyFood.query.filter_by( date=date, food_id=tmp_food_id).first() if tmp_stat_food: tmp_model_stat_food = tmp_stat_food else: tmp_model_stat_food = StatDailyFood() tmp_model_stat_food.date = date tmp_model_stat_food.food_id = tmp_food_id tmp_model_stat_food.created_time = get_current_time() tmp_model_stat_food.total_count = item[1] tmp_model_stat_food.total_pay_money = item[2] tmp_model_stat_food.updated_time = get_current_time() # 为了测试效果模拟数据 tmp_model_stat_food.total_count = random.randint(50, 100) tmp_model_stat_food.total_pay_money = random.randint(1000, 1010) db.session.add(tmp_model_stat_food) db.session.commit() return
def catOps(): resp = {'code': 200, 'msg': '操作成功~~', 'data': {}} req = request.values id = req['id'] if 'id' in req else 0 act = req['act'] if 'act' in req else '' if not id: resp['code'] = -1 resp['msg'] = "请选择要操作的分类~~" return jsonify(resp) if act not in ['remove', 'recover']: resp['code'] = -1 resp['msg'] = "操作有误,请重试~~" return jsonify(resp) food_cat_info = FoodCat.query.filter_by(id=id).first() if not food_cat_info: resp['code'] = -1 resp['msg'] = "指定分类不存在~~" return jsonify(resp) if act == "remove": food_cat_info.status = 0 elif act == "recover": food_cat_info.status = 1 food_cat_info.update_time = get_current_time() db.session.add(food_cat_info) db.session.commit() return jsonify(resp)
def cat_ops(): """美食分类的删除恢复操作""" request_data = request.values res = {'code': 200, 'msg': "操作成功", 'data': {}} uid = request_data['id'] if 'id' in request_data else 0 act = request_data['act'] if 'act' in request_data else '' if not uid: res['code'] = -1 res['msg'] = '选择的账号不存在' return jsonify(res) if act not in ['remove', 'recover']: res['code'] = -1 res['msg'] = '操作有误,请重试' return jsonify(res) food_info = FoodCat.query.filter_by(id=uid).first() if not food_info: res['code'] = -1 res['msg'] = '分类不存在' return jsonify(res) if act == "remove": food_info.status = 0 elif act == "recover": food_info.status = 1 food_info.update_time = get_current_time() db.session.add(food_info) db.session.commit() return jsonify(res)
def upload_file(file): config_upload = app.config['UPLOAD'] res = {'code': 200, 'msg': '操作成功', 'data': {}} # 获取安全的文件名 filename = secure_filename(file.filename) ext = filename.rsplit('.', 1)[1] if ext not in config_upload['ext']: res['code'] = -1 res['msg'] = '不被允许的扩展类型' return res # 拼接文件目录 root_path = app.root_path + config_upload['prefix_path'] # 以当前时间创建目录,避免不兼容get_current_time file_dir = datetime.datetime.now().strftime('%Y%m%d') save_dir = root_path + file_dir if not os.path.exists(save_dir): os.mkdir(save_dir) # 赋予目录以及其他用户文件读写权限 os.chmod(save_dir, stat.S_IRWXU | stat.S_IRGRP | stat.S_IRWXO) # 构造文件名及其扩展 filename = str(uuid.uuid4()).replace('-', '') + '.' + ext # 直接保存文件 file.save(f'{save_dir}/{filename}') # 将完整的文件路径加文件名存入数据库 model_image = Image() model_image.file_key = file_dir + '/' + filename model_image.created_time = get_current_time() db.session.add(model_image) db.session.commit() res['data'] = {'file_key': model_image.file_key} return res
def ops(): """ 后台账号的删除、恢复操作 通过修改账号状态删除恢复账号 """ res = {'code': 200, 'msg': "操作成功", 'data': {}} request_data = request.values uid = request_data['id'] if 'id' in request_data else 0 act = request_data['act'] if 'act' in request_data else '' if not uid: res['code'] = -1 res['msg'] = '选择的账号不存在' return jsonify(res) if act not in ['remove', 'recover']: res['code'] = -1 res['msg'] = '操作有误,请重试' return jsonify(res) user_info = User.query.filter_by(uid=uid).first() if not user_info: res['code'] = -1 res['msg'] = '账号不存在' return jsonify(res) if act == "remove": user_info.status = 0 elif act == "recover": user_info.status = 1 user_info.update_time = get_current_time() db.session.add(user_info) db.session.commit() return jsonify(res)
def member_set(): if request.method == 'GET': res = {} req_data = request.args member_id = int(req_data.get('id', 0)) back_url = UrlManager.buildUrl('/member/index') if member_id < 1: return redirect(back_url) member_info = Member.query.filter_by(id=member_id).first() if not member_info: return redirect(back_url) if member_info.status != 1: return redirect(back_url) res['info'] = member_info res['current'] = 'index' return ops_render("member/set.html", res) res = {'code': 200, 'msg': '操作成功', 'data': {}} req_data = request.values member_id = req_data['id'] if 'id' in req_data else 0 nickname = req_data['nickname'] if 'nickname' in req_data else '' if not nickname or len(nickname) < 1: res['code'] = -1 res['msg'] = '用户名不规范' return jsonify(res) member_info = Member.query.filter_by(id=member_id).first() if not member_info: res['code'] = -1 res['msg'] = '指定会员不存在' return jsonify(res) member_info.nickname = nickname member_info.update_time = get_current_time() db.session.add(member_info) db.session.commit() return jsonify(res)
def orderOps(): resp = {'code': 200, 'msg': '操作成功~', 'data': {}} req = request.values member_info = g.member_info order_sn = req['order_sn'] if 'order_sn' in req else '' act = req['act'] if 'act' in req else '' pay_order_info = PayOrder.query.filter_by( order_sn=order_sn, member_id=member_info.id).first() if not pay_order_info: resp['code'] = -1 resp['msg'] = "系统繁忙。请稍后再试~~" return jsonify(resp) if act == "cancel": target_pay = PayService() ret = target_pay.closeOrder(pay_order_id=pay_order_info.id) if not ret: resp['code'] = -1 resp['msg'] = "系统繁忙。请稍后再试~~" return jsonify(resp) elif act == "confirm": pay_order_info.express_status = 1 pay_order_info.updated_time = get_current_time() db.session.add(pay_order_info) db.session.commit() return jsonify(resp)
def ops(): res = {'code': 200, 'msg': '操作成功', 'data': {}} req_data = request.values member_id = req_data['id'] if 'id' in req_data else 0 act = req_data['act'] if 'act' in req_data else '' if not member_id: res['code'] = -1 res['msg'] = '请选择账号' return jsonify(res) if act not in ['remove', 'recover']: res['code'] = -1 res['msg'] = '操作有误' return jsonify(res) member_info = Member.query.filter_by(id=member_id).first() if not member_info: res['code'] = -1 res['msg'] = '指定会员不存在' return jsonify(res) if act == 'remove': member_info.status = 0 elif act == 'recover': member_info.status = 1 member_info.update_time = get_current_time() db.session.add(member_info) db.session.commit() return jsonify(res)
def ops(): resp = {'code': 200, 'msg': '操作成功~~', 'data': {}} req = request.values id = req['id'] if 'id' in req else 0 act = req['act'] if 'act' in req else '' if not id: resp['code'] = -1 resp['msg'] = "请选择要操作的账号~~" return jsonify(resp) if act not in ['remove', 'recover']: resp['code'] = -1 resp['msg'] = "操作有误,请重试~~" return jsonify(resp) member_info = Member.query.filter_by(id=id).first() if not member_info: resp['code'] = -1 resp['msg'] = "指定会员不存在~~" return jsonify(resp) if act == "remove": member_info.status = 0 elif act == "recover": member_info.status = 1 member_info.updated_time = get_current_time() db.session.add(member_info) db.session.commit() return jsonify(resp)
def uploadByFile( file ): config_upload = app.config['UPLOAD'] resp = { 'code':200,'msg':'操作成功~~','data':{} } filename = secure_filename( file.filename ) ext = filename.rsplit(".",1)[1] if ext not in config_upload['ext']: resp['code'] = -1 resp['msg'] = "不允许的扩展类型文件" return resp root_path = app.root_path + config_upload['prefix_path'] #不使用getCurrentDate创建目录,为了保证其他写的可以用,这里改掉,服务器上好像对时间不兼容 file_dir = datetime.datetime.now().strftime("%Y%m%d") save_dir = root_path + file_dir if not os.path.exists( save_dir ): os.mkdir( save_dir ) os.chmod( save_dir,stat.S_IRWXU | stat.S_IRGRP | stat.S_IRWXO ) file_name = str( uuid.uuid4() ).replace("-","") + "." + ext file.save( "{0}/{1}".format( save_dir,file_name ) ) model_image = Image() model_image.file_key = file_dir + "/" + file_name model_image.created_time = get_current_time() db.session.add( model_image) db.session.commit() resp['data'] = { 'file_key': model_image.file_key } return resp
def login(): ret = {'code': 200, 'msg': '操作成功~~', 'data': {}} req = request.values code = req['code'] if 'code' in req else '' if not code or len(code) < 1: ret['code'] = -1 ret['msg'] = '非法传值' return jsonify(ret) openid = MemberService.getWeChatOpenId(code) if openid is None: ret['code'] = -1 ret['msg'] = '调用微信出错' return jsonify(ret) # 判断是否已经绑定 bind_info = OauthMemberBind.query.filter_by(openid=openid, type=1).first() if not bind_info: nickname = req['nickName'] if 'nickName' in req else '' sex = req['gender'] if 'gender' in req else 0 avatar = req['avatarUrl'] if 'avatarUrl' in req else '' member_obj = Member() member_obj.nickname = nickname member_obj.sex = sex member_obj.avatar = avatar member_obj.salt = MemberService.geneSalt() member_obj.created_time = member_obj.updated_time = get_current_time() db.session.add(member_obj) db.session.commit() bind_obj = OauthMemberBind() bind_obj.member_id = member_obj.id bind_obj.type = 1 bind_obj.openid = openid bind_obj.extra = '' bind_obj.created_time = bind_obj.updated_time = get_current_time() db.session.add(bind_obj) db.session.commit() bind_info = bind_obj member_info = Member.query.filter_by(id=bind_info.member_id).first() token = "%s#%s" % (MemberService.geneAuthCode(member_info), member_info.id) ret['data'] = {'token': token} return jsonify(ret)
def set_item(member_id=0, food_id=0, number=0): if member_id < 1 or food_id < 1 or number < 1: return False cart_info = MemberCart.query.filter_by(food_id=food_id, member_id=member_id).first() if cart_info: model_cart = cart_info else: model_cart = MemberCart() model_cart.member_id = member_id model_cart.created_time = get_current_time() model_cart.food_id = food_id model_cart.quantity = number model_cart.updated_time = get_current_time() db.session.add(model_cart) db.session.commit() return True
def addErrorLog(content): target = AppErrorLog() target.target_url = request.url target.referer_url = request.referrer target.query_params = json.dumps(request.values.to_dict()) target.content = content target.created_time = get_current_time() db.session.add(target) db.session.commit() return True
def upload_the_execl_file(): resp = {'code': 200, 'msg': '操作成功'} file = request.files['file'] parent_id = request.values.get('parent_id', 1) type1_id = QuestionService.get_type1_id_from(parent_id) print(file.filename) # 打印文件名 if file.filename.split(".")[1] != 'xlsx': resp['msg'] = '文件格式错误' return resp f = file.read() # 文件内容 data = xlrd.open_workbook(file_contents=f) table = data.sheets()[0] names = data.sheet_names() # 返回book中所有工作表的名字 status = data.sheet_loaded(names[0]) # 检查sheet1是否导入完毕 nrows = table.nrows # 获取该sheet中的有效行数 ncols = table.ncols # 获取该sheet中的有效列数 for i in range(2, nrows): q = Question() q.name = table.cell_value(i, 0) parent = CategoryQuestion.query.filter( CategoryQuestion.id == parent_id).first() parent.count += 1 db.session.add(parent) parent = parent.parent_category parent.count += 1 db.session.add(parent) parent = parent.parent_category parent.count += 1 db.session.add(parent) if table.cell_value(i, 1) in ['单选题', '多选题']: q.type = 1 if table.cell_value(i, 1) == '单选题' else 2 choices = [] for j in range(2, 7): if table.cell_value(i, j): choices.append(table.cell_value(i, j)) q.choices = '#$'.join(choices) + '#$' q.answer = table.cell_value(i, 7) if table.cell_value(i, 1) == '判断题': q.type = 4 q.answer = '1' if table.cell_value(i, 7) == '正确' else '0' if table.cell_value(i, 1) == '问答题': q.type = 3 q.answer = table.cell_value(i, 7) if table.cell_value(i, 1) not in ['单选题', '多选题', '判断题', '问答题']: resp['msg'] = '不支持类型' + table.cell_value(i, 1) return resp q.parent_id = int(request.values['parent_id']) q.type1_id = type1_id q.explanation = table.cell_value(i, 8) q.created_time = get_current_time() db.session.add(q) db.session.commit() return resp
def run(self, params): list = QueueList.query.filter_by(status=-1)\ .order_by(QueueList.id.asc()).limit(1).all() for item in list: if item.queue_name == "pay": self.handlePay(item) item.status = 1 item.updated_time = get_current_time() db.session.add(item) db.session.commit()
def addQueue(queue_name, data=None): model_queue = QueueList() model_queue.queue_name = queue_name if data: model_queue.data = json.dumps(data) model_queue.created_time = model_queue.updated_time = get_current_time( ) db.session.add(model_queue) db.session.commit() return True
def catSet(): if request.method == "GET": resp_data = {} req = request.args id = int(req.get("id", 0)) info = None if id: info = FoodCat.query.filter_by(id=id).first() resp_data['info'] = info resp_data['current'] = 'cat' return ops_render("food/cat_set.html", resp_data) resp = {'code': 200, 'msg': '操作成功~~', 'data': {}} req = request.values id = req['id'] if 'id' in req else 0 name = req['name'] if 'name' in req else '' weight = int( req['weight']) if ( 'weight' in req and int( req['weight']) > 0) else 1 if name is None or len(name) < 1: resp['code'] = -1 resp['msg'] = "请输入符合规范的分类名称~~" return jsonify(resp) food_cat_info = FoodCat.query.filter_by(id=id).first() if food_cat_info: model_food_cat = food_cat_info else: model_food_cat = FoodCat() model_food_cat.created_time = get_current_time() model_food_cat.name = name model_food_cat.weight = weight model_food_cat.updated_time = get_current_time() db.session.add(model_food_cat) db.session.commit() return jsonify(resp)
def share(): ret = {'code': 200, 'msg': '操作成功~~', 'data': {}} req = request.values url = req['url'] if 'url' in req else '' member_info = g.member_info model_share = WxShareHistory() if member_info: model_share.member_id = member_info.id model_share.share_url = url model_share.created_time = get_current_time() db.session.add(model_share) db.session.commit() return jsonify(ret)
def addAccessLog(): target = AppAccessLog() target.target_url = request.url target.referer_url = request.referrer target.ip = request.remote_addr target.query_params = json.dumps(request.values.to_dict()) if 'current_user' in g and g.current_user is not None: target.uid = g.current_user.uid target.ua = request.headers.get('User-Agent') target.created_time = get_current_time() db.session.add(target) db.session.commit() return True
def login(): res = {'code': 200, 'msg': '登录成功', 'data': {}} req_data = request.values code = req_data['code'] if 'code' in req_data else '' if not code or len(code) < 1: res['code'] = -1 res['msg'] = '需要code' return jsonify(res) openid = MemberService.get_wechat_openid(code) nickname = req_data['nickName'] if 'nickName' in req_data else '' sex = req_data['gender'] if 'gender' in req_data else 0 avatar = req_data['avatarUrl'] if 'avatarUrl' in req_data else '' # 根据openid查询用户是否已经绑定注册过 bind_info = OauthMemberBind.query.filter_by(openid=openid, type=1).first() if not bind_info: model_member = Member() model_member.nickname = nickname model_member.sex = sex model_member.avatar = avatar model_member.updated_time = model_member.created_time = get_current_time() model_member.salt = MemberService.get_salt() db.session.add(model_member) db.session.commit() model_bind = OauthMemberBind() model_bind.member_id = model_member.id model_bind.type = 1 model_bind.openid = openid model_bind.extra = '' model_bind.updated_time = model_bind.created_time = get_current_time() db.session.add(model_bind) db.session.commit() bind_info = model_bind # 登录成功后设置一个token返回 member_info = Member.query.filter_by(id=bind_info.member_id).first() res['data']['token'] = f'{MemberService.get_member_code(member_info)}#{member_info.id}' return jsonify(res)