def post(self, *args, **kwargs): """ 执行修改微博产品 :param args: :param kwargs: :return: """ try: product_id = self.get_args("product_id", "") if is_empty(product_id): self.send_fail_json("产品id不能为空") return # 产品名 name = self.get_args("name") if is_empty(name): # 产品名不能为空 self.send_fail_json("产品名不能为空") return # 产品类型 types = self.get_args("types") if is_empty(types): # 产品名不能为空 self.send_fail_json("类型不能为空") return # 产品单价 price = self.get_args("price") if is_empty(price): # 产品单价不能为空 self.send_fail_json("单价不能为空") return data = dict( types=types, price=price, update_time=datetime.now(), ) # 备注 comments = self.get_args("comments") if comments: data["comments"] = comments res = Product().update(where={"id": product_id}, data=data) if not res: self.send_fail_json("修改失败") return write_log("'{}'修改了一个微博产品(ID为:{})".format(self.user["id"], product_id), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex) )) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行添加菜单 :param args: :param kwargs: :return: """ try: # 权限 power_id = self.get_args("power_id") if is_empty(power_id): # 权限不能为空 self.send_fail_json("权限不能为空") return # 菜单名 menu_name = self.get_args("menu_name", "") if is_empty(menu_name): # 菜单名不能为空 self.send_fail_json("菜单名不能为空") return # url url = self.get_args("url", default=None, data_type=None) # 父级id fid = self.get_args("fid", default=0, data_type=int) # 排序 sort = self.get_args("sort", default=0, data_type=int) data = dict( url=url, power_id=power_id, name=menu_name, create_time=datetime.now(), fid=fid, sort=sort, ) # 图标 icon = self.get_args("icon", "") if icon: data["icon"] = icon res = Menu().add(data=data) if not res: self.send_fail_json("添加失败") return write_log("'{}'添加了一个菜单(名称为:{})".format(self.user["id"], menu_name), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行添加微博产品 :param args: :param kwargs: :return: """ try: # 产品类型 types = self.get_args("types") if is_empty(types): # 产品类型不能为空 self.send_fail_json("产品类型不能为空") return # 产品名 product_name = self.get_args("name") if is_empty(product_name): # 产品名不能为空 self.send_fail_json("产品名不能为空") return # 产品单价 price = self.get_args("price") if is_empty(price): # 产品单价不能为空 self.send_fail_json("单价不能为空") return data = dict( source=PRODUCT_SOURCE["weibo"], types=types, name=product_name, price=price, create_time=datetime.now(), ) # 备注 comments = self.get_args("comments") if comments: data["comments"] = comments res = Product().add(data=data) if not res: self.send_fail_json("添加失败") return write_log("'{}'添加了一个微博产品(product_name为:{})".format(self.user["id"], product_name), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex) )) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行修改微博账号 :param args: :param kwargs: :return: """ try: account_id = self.get_args("account_id", "") if is_empty(account_id): self.send_fail_json("账号id不能为空") return # 用户名 username = self.get_args("username") if is_empty(username): # 用户名不能为空 self.send_fail_json("用户名不能为空") return # 登录密码 pwd = self.get_args("pwd", "") if is_empty(pwd): # 密码不能为空 self.send_fail_json("密码不能为空") return pwd = aes_encrypt(pwd) data = dict( username=username, pwd=pwd, update_time=datetime.now(), ) # 备注 comments = self.get_args("comments") if comments: data["comments"] = comments res = WeiboUser().update(where={"id": account_id}, data=data) if not res: self.send_fail_json("修改失败") return write_log("'{}'修改了一个微博账号(ID为:{})".format(self.user["id"], account_id), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex) )) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行充值 :param args: :param kwargs: :return: """ try: user_id = self.get_args("user_id", "") if is_empty(user_id): self.send_fail_json("用户id不能为空") return # 充值数量 charge_num = self.get_args("charge_num") if is_empty(charge_num): # 充值数量不能为空 self.send_fail_json("充值数量不能为空") return charge_num = Decimal(charge_num) # 查询支付账户余额是否满足此次充值 payment_account = SysUser().get_one8id(settings.PaymentAccount) if payment_account.balance - charge_num < 0: # 支付账户余额不足 self.send_fail_json("支付账户余额不足") return # 用户充值 res = db_engine.transaction(dbengine_transaction, func=user_charge, user_id=user_id, charge_num=charge_num) if not res: self.send_fail_json("充值失败") return write_log( "'{}'给用户(ID为:{})充值了{} {}".format( self.user["id"], user_id, charge_num, settings.COIN_NAME, ), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行修改角色 :param args: :param kwargs: :return: """ try: role_id = self.get_args("role_id") if is_empty(role_id): # role_id不能为空不能为空 self.send_fail_json("role_id不能为空") return name = self.get_args("name") if is_empty(name): # 角色名称不能为空 self.send_fail_json("角色名称不能为空") return types = self.get_args("types") if is_empty(types): # 角色类型不能为空 self.send_fail_json("角色类型不能为空") return data = dict( name=name, types=types, update_time=datetime.now(), ) comments = self.get_args("comments") if comments: data["comments"] = comments res = Role().update(where={"id": role_id}, data=data) if not res: self.send_fail_json("更新失败") return write_log("'{}'修改了一个角色,角色名称为:{}".format(self.user["id"], name), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行权限修改 :param args: :param kwargs: :return: """ try: power_id = self.get_args("id") if is_empty(power_id): # power_id不能为空 self.send_fail_json("id不能为空") return mark = self.get_args("mark") if is_empty(mark): # 标识不能为空 self.send_fail_json("标识不能为空") return name = self.get_args("name") if is_empty(name): # 名称不能为空 self.send_fail_json("名称不能为空") return data = dict( mark=mark.upper(), name=name, update_time=datetime.now(), ) comments = self.get_args("comments") if comments: data["comments"] = comments res = Power().update(where={"id": power_id}, data=data) if not res: self.send_fail_json("更新失败") return write_log("'{}'修改了一个权限(ID为:{})".format(self.user["id"], power_id), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): try: role_model = Role() power_ids = self.get_args("power_ids") role_id = self.get_args("role_id") if is_empty(role_id): self.send_fail_json(reason="role_id不能为空") return # 更新角色权限 up_res = role_model.update(where={"id": role_id}, data={"power_ids": power_ids}) if not up_res: # 更新失败 self.send_fail_json(reason="更新失败") return write_log("'{}'修改了角色(ID为:{})权限".format(self.user["id"], role_id), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): try: if not self.user: # 缓存为空,跳转到登录页 self.redirect("/login/") return user = SysUser().get_one8id(self.user["id"]) # todo 收款成功,则修改用户余额 # pass charge_num = self.get_args("charge_num") if is_empty(charge_num): self.send_fail_json("充值金额不能为空") return user_balance = Decimal(user.balance) + Decimal(charge_num) with db_engine.connect() as conn: tran = conn.begin() try: # 更新用户数据表 res = SysUser().update({"id": user.id}, {"balance": user_balance}) if not res: tran.rollback() self.send_fail_json("充值失败") return # 掺入用户充值记录 res = SysUserChargeLog().add({ "user_id": user.id, "amount": charge_num, "comments": "用户充值", "create_time": datetime.now(), }) if not res: tran.rollback() self.send_fail_json("充值失败") return # 提交事务 tran.commit() except Exception as ex: tran.rollback() write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("充值失败,稍会儿再试") self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")
def get(self, *args, **kwargs): """ 加载充值表单页 :param args: :param kwargs: :return: """ # 获取用户 user_id = self.get_args("id", "") if is_empty(user_id): self.send_fail_json("用户id不能为空") return self.render("system/user-charge.html", user_id=user_id, coin_name=settings.COIN_NAME)
def get(self, *args, **kwargs): """ 加载修改权限修改表单页 :param args: :param kwargs: :return: """ power_id = self.get_args("id") if is_empty(power_id): self.send_fail_html(reason="id不能为空") return power = Power().get_one(where={"id": power_id}) if not power: self.send_fail_html(reason="加载失败") return self.render("system/power-add.html", one=power)
def get(self, *args, **kwargs): """ 加载修改菜单表单页 :param args: :param kwargs: :return: """ menu_id = self.get_args("id", 0) if is_empty(menu_id): self.send_fail_html("参数错误") return one = Menu().get_one8id(menu_id) powers = Power().get_all() fathers = Menu().get_some({"fid": 0}) self.render("system/menu-add.html", one=one, powers=powers, fathers=fathers)
def get(self, *args, **kwargs): """ 加载修改微博产品表单页 :param args: :param kwargs: :return: """ # 获取用户 product_id = self.get_args("id", "") if is_empty(product_id): self.send_fail_json("用户id不能为空") return product = Product().get_one8id(product_id) if not product: self.send_fail_json("查无产品") return self.render("weibo/product-add.html", one=product, types=PRODUCT_WEIBO_TYPES_LABELS)
def get(self, *args, **kwargs): """ 加载修改角色表单页 :param args: :param kwargs: :return: """ role_id = self.get_args("id") if is_empty(role_id): self.send_fail_html(reason="role_id不能为空") return role = Role().get_one8id(role_id) if not role: self.send_fail_html(reason="加载失败") return self.render("system/role-add.html", one=role, role_types=ROLE_TYPE_LABELS)
def get(self, *args, **kwargs): role_model = Role() power_model = Power() role_no_power = list() role_power = list() role_id = self.get_args("id") if is_empty(role_id): self.send_fail_html(reason="role_id不能为空") return # 获取角色所拥有的权限id列表 role = role_model.get_one8id(role_id) if role and role.types == ROLE_TYPE_SP_ADMIN: # 是超管,无法为其分配权限 self.render("system/role-power.html", role_no_power=role_no_power, role_power=role_power, role=role, sp_admin=ROLE_TYPE_SP_ADMIN) return if not role.power_ids: role_power_ids = [] else: role_power_ids = role.power_ids.split(",") # 获取所有权限 powers = power_model.get_all() if not powers: # 无数据 self.send_fail_html("无权限") for item in powers: if str(item.id) in role_power_ids: role_power.append(item) else: role_no_power.append(item) self.render("system/role-power.html", role_no_power=role_no_power, role_power=role_power, role=role, sp_admin=ROLE_TYPE_SP_ADMIN)
def get(self, *args, **kwargs): """ 加载修改微博账号表单页 :param args: :param kwargs: :return: """ # 获取用户 account_id = self.get_args("id", "") if is_empty(account_id): self.send_fail_json("用户id不能为空") return user = WeiboUser().get_one8id(account_id) if not user: self.send_fail_json("查无用户") return user = self.tran_rowproxy2variable(user) user.pwd = aes_decrypt(user.pwd) self.render("weibo/account-add.html", one=user)
def get(self, *args, **kwargs): """ 加载修改用户表单页 :param args: :param kwargs: :return: """ # 获取用户 user_id = self.get_args("id", "") if is_empty(user_id): self.send_fail_json("用户id不能为空") return user = SysUser().get_one8id(user_id) # 获取角色 roles = Role().get_all() self.render("system/user-add.html", one=user, roles=roles, user_init_pwd=settings.PLATFORM_USER_INITIAL_PWD)
def post(self, *args, **kwargs): try: # 产品id product_id = self.get_args("product_id") if is_empty(product_id): self.send_fail_json("产品id不能为空") return product = Product().get_one8id(product_id) # 微博地址 weibo_url = self.get_args("weibo_url") res = re.match(r'^https://weibo\.com/\S*', weibo_url) if res is None: self.send_fail_json("微博地址不正确") return # 产品数量 product_numbers = self.get_args("amount") res = re.match(r'^\d+$', str(product_numbers)) if res is None: self.send_fail_json("数量必须为整数") return # 数量处理,乘以精度 product_numbers = int(product_numbers) * settings.PRODUCT_BUY_PRECISION data = dict( user_id=self.user["id"], product_id=product_id, product_name=product.name, product_types=self.product_types, product_price=product.price, product_numbers=product_numbers, weibo_url=weibo_url, ) if product.types == PRODUCT_TYPES_WEIBO_COMMENT_LIKE: # 如果是微博评论赞,则必须要一个评论id comment_id = self.get_args("comment_id", "") if not comment_id: self.send_fail_json("评论id不能为空") return data.update(comment_id=comment_id) # 备注 comments = self.get_args("comments") if not is_empty(comments): data.update(comments=comments) # 查看用户账户余额是否足够支撑本次订单 user = SysUser().get_one8id(self.user["id"]) if (user.balance - product_numbers * product.price) < 0: self.send_fail_json("创建订单失败,账户余额不足") return # 创建订单 res = db_engine.transaction( dbengine_transaction, func=create_orders, user=user, order_data=data) if not res: self.send_fail_json("创建订单失败") return write_log("'{}'添加了一个订单(product_id:{},产品名为:{},数量为:{},单价为:{})".format( user["id"], product_id, product.name, product_numbers, product.price), LOG_TYPE_OPERATE) self.send_ok_json("创建订单成功,可去\"个人中心->我的订单\"中查看") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex) )) self.send_fail_json("系统错误,稍会儿再试")
def post(self, *args, **kwargs): """ 执行修改用户 :param args: :param kwargs: :return: """ try: user_id = self.get_args("user_id", "") if is_empty(user_id): self.send_fail_json("用户id不能为空") return # 用户角色 role_id = self.get_args("role_id") if is_empty(role_id): # 角色不能为空 self.send_fail_json("角色不能为空") return # 用户名 name = self.get_args("name") if is_empty(name): # 用户名不能为空 self.send_fail_json("用户名不能为空") return # 登录密码 pwd = self.md5_password( self.get_args("pwd", "") if self. get_args("pwd", "") else settings.PLATFORM_USER_INITIAL_PWD) # 是否启用 enable = self.get_args("enable", "0") data = dict( role_id=role_id, name=name.lower(), pwd=pwd, enable=enable, update_time=datetime.now(), ) # 父级id fid = self.get_args("fid", "") if fid: data["fid"] = fid # 备注 comments = self.get_args("comments") if comments: data["comments"] = comments res = SysUser().update(where={"id": user_id}, data=data) if not res: self.send_fail_json("更新失败") return write_log("'{}'修改了一个用户(ID为:{})".format(self.user["id"], user_id), LOG_TYPE_OPERATE) self.send_ok_json("") except Exception as ex: write_log("{}.{} raise exception, ex={}".format( self.__class__.__name__, sys._getframe().f_code.co_name, repr(ex))) self.send_fail_json("系统错误,稍会儿再试")