def get_token(): if g.token_used: raise Unauthorized("请使用用户名和密码获取 token。") return success( token=g.current_user.generate_auth_token(), username=g.current_user.name, role=g.current_user.role.name)
def add(self, **request): total_price = float(request['unit_price']) * float(request['quantity']) self.client_id = request['client_id'] self.store_id = request.get('store_id', 1) self.goods = request['goods'] self.quantity = request['quantity'] self.unit_price = request['unit_price'] self.unit = request['unit'] self.total_price = total_price self.description = '' self.analyze = 0 self.visible = 1 general = IncomeGeneral.query.filter_by( client=self.client, store_id=self.store_id).first() if not general: general = IncomeGeneral() general.store_id = self.store_id general.client_id = self.client_id general.total = self.total_price general.debt = self.total_price else: general.total += self.total_price general.debt += self.total_price general.visible = True db.session.add(self) db.session.add(general) db.session.commit() return success()
def update(**request): required = ["client_id"] check_params(request, required) client_id = request.get('client_id') info = ClientInfo.query.filter_by(id=client_id).first() client_name = request.get("client_name") if info is None: raise NotFound('客户信息不存在。') if client_name: exist = ClientInfo.query.filter_by(name=client_name, store=info.store).first() if exist: raise ResourceConflic("该姓名已经存在。") else: info.name = client_name wechat = request.get('wechat') description = request.get('description') phone = request.get('phone') if wechat: info.wechat = wechat if description: info.description = description if phone: info.phone = phone db.session.commit() return success()
def update_passsword(store_id, user_id, **request): required = ['password'] check_params(request, required) user = User.query.filter_by(id=user_id, store_id=store_id).first() if user: user.password = generate_password_hash(request['password']) db.session.add(user) db.session.commit() return success()
def add(**request): general = IncomeGeneral() general.store_id = request.get('store_id', 1) general.client_id = request['client_id'] general.total = request['total'] general.debt = request['total'] general.visible = True db.session.add(general) db.session.commit() return success()
def reset_password(store_id, **request): required = ["user_id"] check_params(request, required) user = User.query.filter_by(id=request['user_id'], store_id=store_id).first() if user: new_pass = gen_random_password() user.password = generate_password_hash(new_pass) db.session.commit() return success(data=new_pass)
def delete(**request): general_id = request['general_id'] general = IncomeGeneral.query.filter_by(id=general_id).first() if general.count_details() != 0: current_app.logger.info(general.count_details()) raise NotAllowed("尚有未支付的订单,不能删除。") db.session.delete(general) db.session.commit() return success()
def delete(**request): required = ["client_id"] check_params(request, required) client_id = request["client_id"] if IncomeGeneral.query.filter_by(client=client_id).count(): raise NotAllowed("该客户存在账单,不能删除。") info = ClientInfo.query.filter_by(id=client_id).first() db.session.delete(info) db.session.commit() return success()
def update_payed(**request): detail = IncomeDetails.query.filter_by(id=request['detail_id']).first() if detail: detail.visible = False general = IncomeGeneral.query.filter_by( client=detail.client, store=detail.store_id).first() payed = general.payed + detail.total_price debt = general.total - payed general.debt = debt general.payed = payed db.session.commit() return success()
def delete(store_id, **request): required = ["user_id"] check_params(request, required) user = User.query.filter_by(id=request['user_id'], store_id=store_id).first() if not user: raise NotFound() if user.role.name == 'Administrator': raise NotAllowed("不能删除 admin 用户。") db.session.delete(user) db.session.commit() return success()
def update(store_id, **request): required = ["user_id"] check_params(request, required) user = User.query.filter_by(id=request['user_id'], store_id=store_id).first() if user: user.name = request.get('name', user.name) user.phone = request.get('phone', user.phone) user.role_id = request.get('role_id', user.role_id) if user.role.name == 'Administrator': raise NotAllowed("不能更改角色为管理员。") db.session.commit() return success()
def add(store_id, **request): required = ["role_id", "name", "password", "phone"] check_params(request, required) user = User() user.store_id = store_id user.role_id = request['role_id'] user.name = request['name'] user.password = generate_password_hash(request['password']) user.phone = request['phone'] user.wechat = request.get('wechat', '') db.session.add(user) db.session.commit() return success(data=user.get_dict(ignore={'password'}))
def update(**request): general_id = request['general_id'] general = IncomeGeneral.query.filter_by(id=general_id).first() if general: debt = request.get('debt', general.debt) total = request.get('total', general.total) payed = total - debt payed = payed if payed > 0 else 0 general.debt = debt general.total = total general.payed = payed db.session.add(general) db.session.commit() return success()
def delete(**request): detail_id = request["detail_id"] detail = IncomeDetails.query.filter_by(id=detail_id).first() if detail: general = IncomeGeneral.query.filter_by( store=detail.store, client=detail.client).first() total = general.total - detail.total_price debt = total - general.payed if general.debt <= 0: general.visible = False general.total = total if total >= 0 else 0 general.debt = debt if debt >= 0 else 0 db.session.delete(detail) db.session.commit() return success()
def add(**request): required = ["client_name", "store_id"] check_params(request, required) stroe_id = request['store_id'] name = request['client_name'] exist = ClientInfo.query.filter_by(name=name, store=stroe_id).first() if exist: raise ResourceConflic("该姓名已经存在。") info = ClientInfo() info.store_id = stroe_id info.name = name info.description = request.get('description', '') info.phone = request.get('phone', '') info.wechat = request.get('wechat', '') db.session.add(info) db.session.commit() return success()
def update(**request): detail_id = request['detail_id'] detail = IncomeDetails.query.filter_by(id=detail_id).first() if detail: total_price = float(request['unit_price']) * float( request['quantity']) detal = total_price - detail.total_price detail.goods = request["goods"] detail.quantity = request["quantity"] detail.unit_price = request["unit_price"] detail.unit = request["unit"] detail.total_price = total_price general = IncomeGeneral.query.filter_by( store=detail.store, client=detail.client).first() total = general.total + detal debt = total - general.payed if general.debt <= 0: general.visible = False general.total = total if total >= 0 else 0 general.debt = debt if debt >= 0 else 0 db.session.commit() return success()
def logout(): g.current_user = None return success()
def authentication(): return success()