def callback(id): """ 修改记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '部门名称') parent_id = convert_helper.to_int0(web_helper.get_form('parent_id', '父id', is_check_null=False)) sort = convert_helper.to_int0(web_helper.get_form('sort', '排序', is_check_null=False)) is_leaf = web_helper.get_form('is_leaf', '是否最终节点', is_check_null=False) _department_logic = department_logic.DepartmentLogic() # 如果没有设置排序,则自动获取当前级别最大的序号加1 if sort == 0: sort = _department_logic.get_max('parent_id', 'parent_id=' + str(parent_id)) + 1 # 组合更新字段 fields = { 'name': string(name), 'sort': sort, 'is_leaf': is_leaf, } # 修改记录 result = _department_logic.edit_model(id, fields) if result: return web_helper.return_msg(0, '提交成功', result) else: return web_helper.return_msg(-1, "提交查询失败")
def callback(): """ 获取列表数据 """ # 检查用户权限 _common_logic.check_user_power() # 部门id department_id = convert_helper.to_int0( web_helper.get_query('department_id', '部门id')) # 页面索引 page_number = convert_helper.to_int1( web_helper.get_query('page', '', is_check_null=False)) # 页面页码与显示记录数量 page_size = convert_helper.to_int0( web_helper.get_query('rows', '', is_check_null=False)) sidx = web_helper.get_query('sidx', '', is_check_null=False) sord = web_helper.get_query('sord', '', is_check_null=False) # 初始化排序字段 order_by = 'id asc' if sidx: order_by = sidx + ' ' + sord _positions_logic = positions_logic.PositionsLogic() # 读取记录 wheres = '' if department_id: wheres = 'department_id=' + str(department_id) result = _positions_logic.get_list('*', wheres, page_number, page_size, order_by) if result: # 直接输出json return json.dumps(result) else: return web_helper.return_msg(-1, "查询失败")
def callback(): """ 获取列表数据 """ # 检查用户权限 _common_logic.check_user_power() # 父id parent_id = convert_helper.to_int0(web_helper.get_query('nodeid', '', is_check_null=False)) # 页面索引 page_number = convert_helper.to_int1(web_helper.get_query('page', '', is_check_null=False)) # 页面页码与显示记录数量 page_size = convert_helper.to_int0(web_helper.get_query('rows', '', is_check_null=False)) # 接收排序参数 sidx = web_helper.get_query('sidx', '', is_check_null=False) sord = web_helper.get_query('sord', '', is_check_null=False) # 初始化排序字段 order_by = 'sort asc' if sidx: order_by = sidx + ' ' + sord _department_logic = department_logic.DepartmentLogic() # 读取记录 wheres = 'parent_id=' + str(parent_id) result = _department_logic.get_list('*', wheres, page_number, page_size, order_by) if result: return json.dumps(result) else: return web_helper.return_msg(-1, "查询失败")
def callback(id): """ 修改记录 """ name = web_helper.get_form('name', '产品名称') code = web_helper.get_form('code', '产品编码') product_class_id = convert_helper.to_int0(web_helper.get_form('product_class_id', '产品分类')) standard = web_helper.get_form('standard', '产品规格') quality_guarantee_period = web_helper.get_form('quality_guarantee_period', '保质期') place_of_origin = web_helper.get_form('place_of_origin', '产地') front_cover_img = web_helper.get_form('front_cover_img', '封面图片') content = web_helper.get_form('content', '产品描述', is_check_special_char=False) # 防sql注入攻击处理 content = string_helper.filter_str(content, "'") # 防xss攻击处理 content = string_helper.clear_xss(content) is_enable = convert_helper.to_int0(web_helper.get_form('is_enable', '是否启用')) # 编辑记录 sql = """ update product set name=%s, code=%s, product_class_id=%s, standard=%s, quality_guarantee_period=%s, place_of_origin=%s, front_cover_img=%s, content=%s, is_enable=%s where id=%s returning id""" vars = (name, code, product_class_id, standard, quality_guarantee_period, place_of_origin, front_cover_img, content, is_enable, id) # 写入数据库 result = db_helper.write(sql, vars) # 判断是否提交成功 if result and result[0].get('id'): return web_helper.return_msg(0, '成功') else: return web_helper.return_msg(-1, "提交失败")
def callback(): """ 新增记录 """ name = web_helper.get_form('name', '产品名称') code = web_helper.get_form('code', '产品编码') product_class_id = convert_helper.to_int0(web_helper.get_form('product_class_id', '产品分类')) standard = web_helper.get_form('standard', '产品规格') quality_guarantee_period = web_helper.get_form('quality_guarantee_period', '保质期') place_of_origin = web_helper.get_form('place_of_origin', '产地') front_cover_img = web_helper.get_form('front_cover_img', '封面图片') content = web_helper.get_form('content', '产品描述', is_check_special_char=False) # 防sql注入攻击处理 content = string_helper.filter_str(content, "'") # 防xss攻击处理 content = string_helper.clear_xss(content) is_enable = convert_helper.to_int0(web_helper.get_form('is_enable', '是否启用')) # 添加记录(使用returning这个函数能返回指定的字段值,这里要求返回新添加记录的自增id值) sql = """insert into product (name, code, product_class_id, standard, quality_guarantee_period, place_of_origin, front_cover_img, content, is_enable) values (%s, %s, %s, %s, %s, %s, %s, %s, %s) returning id""" vars = (name, code, product_class_id, standard, quality_guarantee_period, place_of_origin, front_cover_img, content, is_enable) # 写入数据库 result = db_helper.write(sql, vars) # 判断是否提交成功 if result and result[0].get('id'): return web_helper.return_msg(0, '成功') else: return web_helper.return_msg(-1, "提交失败")
def test_to_int(self): self.assertEqual(convert_helper.to_int('1'), 1) self.assertEqual(convert_helper.to_int('1.0'), 0) self.assertEqual(convert_helper.to_int('1a'), 0) self.assertEqual(convert_helper.to_int('aaa'), 0) self.assertEqual(convert_helper.to_int(''), 0) self.assertEqual(convert_helper.to_int(None), 0) self.assertEqual(convert_helper.to_int('-1'), -1) self.assertEqual(convert_helper.to_int(10), 10) self.assertEqual(convert_helper.to_int(-10), -10) self.assertEqual(convert_helper.to_int0('1'), 1) self.assertEqual(convert_helper.to_int0('1.0'), 0) self.assertEqual(convert_helper.to_int0('1a'), 0) self.assertEqual(convert_helper.to_int0('aaa'), 0) self.assertEqual(convert_helper.to_int0(''), 0) self.assertEqual(convert_helper.to_int0(None), 0) self.assertEqual(convert_helper.to_int0('-1'), 0) self.assertEqual(convert_helper.to_int0(10), 10) self.assertEqual(convert_helper.to_int0(-10), 0) self.assertEqual(convert_helper.to_int1('1'), 1) self.assertEqual(convert_helper.to_int1('1.0'), 1) self.assertEqual(convert_helper.to_int1('1a'), 1) self.assertEqual(convert_helper.to_int1('aaa'), 1) self.assertEqual(convert_helper.to_int1(''), 1) self.assertEqual(convert_helper.to_int1(None), 1) self.assertEqual(convert_helper.to_int1('-1'), 1) self.assertEqual(convert_helper.to_int1(10), 10) self.assertEqual(convert_helper.to_int1(-10), 2) print(convert_helper.to_int1(-10))
def callback(): """ 新增记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '菜单名称') icon = web_helper.get_form('icon', '菜单小图标', True, 10, False, is_check_special_char=False) icon = icon.replace('\'', '').replace('|', '').replace('%', '') page_url = web_helper.get_form('page_url', '页面URL', is_check_null=False) interface_url = web_helper.get_form('interface_url', '接口url', is_check_null=False, is_check_special_char=False) # 替换编码 interface_url = interface_url.replace('@', '').replace('\'', '').replace('|', '').replace('%', '') parent_id = convert_helper.to_int0(web_helper.get_form('parent_id', '父id', is_check_null=False)) sort = convert_helper.to_int0(web_helper.get_form('sort', '排序', is_check_null=False)) is_leaf = web_helper.get_form('is_leaf', '是否最终节点', is_check_null=False) is_show = web_helper.get_form('is_show', '是否显示', is_check_null=False) is_enabled = web_helper.get_form('is_enabled', '是否启用', is_check_null=False) _menu_info_logic = menu_info_logic.MenuInfoLogic() # 计算深度级别,即当前菜单在哪一级 if parent_id == 0: level = 0 else: level = _menu_info_logic.get_value_for_cache(parent_id, 'level') + 1 # 如果没有设置排序,则自动获取当前级别最大的序号加1 if sort == 0: sort = _menu_info_logic.get_max('sort', 'parent_id=' + str(parent_id)) + 1 # 组合更新字段 fields = { 'name': string(name), 'icon': string(icon), 'page_url': string(page_url), 'interface_url': string(interface_url), 'parent_id': parent_id, 'sort': sort, 'level': level, 'is_leaf': is_leaf, 'is_show': is_show, 'is_enabled': is_enabled, } # 新增记录 result = _menu_info_logic.add_model(fields) if result: return web_helper.return_msg(0, '提交成功') else: return web_helper.return_msg(-1, "提交失败")
def callback(): """ 获取列表数据 """ # 检查用户权限 _common_logic.check_user_power() # 页面索引 page_number = convert_helper.to_int1( web_helper.get_query('page', '', is_check_null=False)) # 页面页码与显示记录数量 page_size = convert_helper.to_int0( web_helper.get_query('rows', '', is_check_null=False)) sidx = web_helper.get_query('sidx', '', is_check_null=False) sord = web_helper.get_query('sord', '', is_check_null=False) # 初始化排序字段 order_by = 'id asc' if sidx: order_by = sidx + ' ' + sord _manager_logic = manager_logic.ManagerLogic() # 读取记录 result = _manager_logic.get_list('*', '', page_number, page_size, order_by) if result: return json.dumps(result, cls=json_helper.CJsonEncoder) else: return web_helper.return_msg(-1, "查询失败")
def callback(): """ 新增记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '角色名称') department_id = convert_helper.to_int0( web_helper.get_form('department_id', '部门id')) page_power = web_helper.get_form('page_power', '权限列表', is_check_null=False) _department_logic = department_logic.DepartmentLogic() # 读取对应的部门记录 department_result = _department_logic.get_model_for_cache(department_id) if not department_result: return web_helper.return_msg(-1, "部门不存在") _positions_logic = positions_logic.PositionsLogic() # 组合更新字段 fields = { 'name': string(name), 'department_id': department_id, 'department_code': string(department_result.get('code', '')), 'department_name': string(department_result.get('name', '')), 'page_power': string(page_power), } # 读取记录 result = _positions_logic.add_model(fields) if result: # 直接输出json return web_helper.return_msg(0, '提交成功') else: return web_helper.return_msg(-1, "提交失败")
def callback(id): """ 修改记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '角色名称') department_id = convert_helper.to_int0( web_helper.get_form('department_id', '部门id')) page_power = web_helper.get_form('page_power', '权限列表', is_check_null=False) if page_power == ',': page_power = '' _positions_logic = positions_logic.PositionsLogic() positions_result = _positions_logic.get_model_for_cache(id) if department_id != positions_result.get('department_id'): return web_helper.return_msg(-1, '该角色所属部门错误,请与管理员联系') # 组合更新字段 fields = { 'name': string(name), 'page_power': string(page_power), } # 读取记录 result = _positions_logic.edit_model(id, fields) if result: # 直接输出json return web_helper.return_msg(0, '提交成功', result) else: return web_helper.return_msg(-1, "提交失败")
def callback(): """ 新增记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '产品名称') code = web_helper.get_form('code', '产品编码') product_class_id = convert_helper.to_int0( web_helper.get_form('product_class_id', '产品分类')) standard = web_helper.get_form('standard', '产品规格') quality_guarantee_period = web_helper.get_form('quality_guarantee_period', '保质期') place_of_origin = web_helper.get_form('place_of_origin', '产地') front_cover_img = web_helper.get_form('front_cover_img', '封面图片') content = web_helper.get_form('content', '产品描述', is_check_special_char=False) # 防sql注入攻击处理 content = string_helper.filter_str(content, "'") # 防xss攻击处理 content = string_helper.clear_xss(content) is_enable = convert_helper.to_int0(web_helper.get_form( 'is_enable', '是否启用')) # 设置新增参数 fields = { 'name': string(name), 'code': string(code), 'product_class_id': product_class_id, 'standard': string(standard), 'quality_guarantee_period': string(quality_guarantee_period), 'place_of_origin': string(place_of_origin), 'front_cover_img': string(front_cover_img), 'content': string(content), 'is_enable': is_enable, } # 实例化product表操作类ProductLogic _product_logic = product_logic.ProductLogic() # 新增记录 result = _product_logic.add_model(fields) # 判断是否提交成功 if result: return web_helper.return_msg(0, '成功') else: return web_helper.return_msg(-1, "提交失败")
def callback(): """ 获取列表数据 """ # 产品分类id product_class_id = convert_helper.to_int0( web_helper.get_query('product_class_id', '产品分类id', is_check_null=False)) # 类型 type = web_helper.get_query('type', '类型', is_check_null=False) # 页面索引 page_number = convert_helper.to_int1( web_helper.get_query('page', '', is_check_null=False)) # 页面显示记录数量 page_size = convert_helper.to_int0( web_helper.get_query('rows', '', is_check_null=False)) # 排序字段 sidx = web_helper.get_query('sidx', '', is_check_null=False) # 顺序还是倒序排序 sord = web_helper.get_query('sord', '', is_check_null=False) # 设置查询条件 wheres = [] if product_class_id > 0: wheres.append('product_class_id=' + str(product_class_id)) # 判断是否是前台提交获取数据 if type != 'backstage': wheres.append('is_enable=1') # 初始化排序字段 orderby = None ### 设置排序 ### if sidx: orderby = sidx + ' ' + sord # 实例化product表操作类ProductLogic _product_logic = product_logic.ProductLogic() result = _product_logic.get_list( '*,(select name from product_class where id=product_class_id) as product_class_name', wheres, page_number, page_size, orderby) if result: return web_helper.return_raise( json.dumps(result, cls=json_helper.CJsonEncoder)) else: return web_helper.return_msg(-1, "查询失败")
def callback(): """ 新增记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '部门名称') parent_id = convert_helper.to_int0(web_helper.get_form('parent_id', '父id', is_check_null=False)) sort = convert_helper.to_int0(web_helper.get_form('sort', '排序', is_check_null=False)) is_leaf = web_helper.get_form('is_leaf', '是否最终节点', is_check_null=False) _department_logic = department_logic.DepartmentLogic() # 计算深度级别,即当前部门在哪一级;并生成部门编码 if parent_id == 0: level = 0 code = _department_logic.create_code('') else: model = _department_logic.get_model_for_cache(parent_id) if not model: return web_helper.return_msg(-1, "您选择的部门不存在") level = model.get('level', 0) + 1 code = _department_logic.create_code(model.get('code', '')) # 如果没有设置排序,则自动获取当前级别最大的序号加1 if sort == 0: sort = _department_logic.get_max('parent_id', 'parent_id=' + str(parent_id)) + 1 # 组合更新字段 fields = { 'name': string(name), 'code': string(code), 'parent_id': parent_id, 'sort': sort, 'level': level, 'is_leaf': is_leaf, } # 新增记录 result = _department_logic.add_model(fields) if result: return web_helper.return_msg(0, '提交成功') else: return web_helper.return_msg(-1, "提交失败")
def add_operation_times(operation_times_key): """ 累加操作次数 参数: operation_times_key 缓存key """ # 获取当前用户已记录操作次数 get_operation_times = convert_helper.to_int0( cache_helper.get(operation_times_key)) # 记录获取次数 cache_helper.set(operation_times_key, get_operation_times + 1, 600)
def callback(): """ 获取列表数据 """ # 检查用户权限 _common_logic.check_user_power() # 查询条件 wheres = [] start_time = convert_helper.to_date( web_helper.get_query('start_time', '开始时间', is_check_null=False)) if start_time: wheres.append('add_time>=' + string(start_time)) end_time = convert_helper.to_date( web_helper.get_query('end_time', '结束时间', is_check_null=False)) if end_time: end_time = datetime_helper.timedelta('d', end_time, 1) wheres.append('add_time<' + string(end_time)) manager_name = web_helper.get_query('manager_name', '管理员姓名', is_check_null=False) if manager_name: wheres.append('manager_name like \'%' + manager_name + '%\'') ip = web_helper.get_query('ip', 'ip', is_check_null=False) if ip: wheres.append('ip like \'' + ip + '%\'') remark = web_helper.get_query('remark', '操作内容', is_check_null=False) if remark: wheres.append('remark like \'%' + remark + '%\'') # 页面索引 page_number = convert_helper.to_int1( web_helper.get_query('page', '', is_check_null=False)) # 页面页码与显示记录数量 page_size = convert_helper.to_int0( web_helper.get_query('rows', '', is_check_null=False)) sidx = web_helper.get_query('sidx', '', is_check_null=False) sord = web_helper.get_query('sord', '', is_check_null=False) # 初始化排序字段 order_by = 'id desc' if sidx: order_by = sidx + ' ' + sord _manager_operation_log_logic = manager_operation_log_logic.ManagerOperationLogLogic( ) # 读取记录 result = _manager_operation_log_logic.get_list('*', wheres, page_number, page_size, order_by) if result: # 直接输出json return json.dumps(result, cls=json_helper.CJsonEncoder) else: return web_helper.return_msg(-1, "查询失败")
def create_code(self, parent_code): """按规则生成权限组编码""" # 判断是否传入了父权限组编码 if not parent_code: with db_helper.PgHelper(db_config.DB, db_config.IS_OUTPUT_SQL) as db: ### 执行sql,获取指定父权限组编号下面的子权限组中,最大的子权限组编号 sql = 'select max(code) as code from %(table_name)s where parent_id = 0' % {'table_name': self.__table_name} result = db.execute(sql) # 如果子权限组编号为NULL,则直接添加 if not result or not result[0].get('code'): return '01' else: # 获取的权限组编号+1 code = str(convert_helper.to_int0(result[0].get('code', '')) + 1) # 子权限组编号长度求余是否有余数,是则返回时前面加0 if len(code) % 2 == 1: return '0' + code else: return code # 没有传入父权限组编码,则表示为一级权限组 else: with db_helper.PgHelper(db_config.DB, db_config.IS_OUTPUT_SQL) as db: ### 执行sql,获取指定父权限组编号下面的子权限组中,最大的子权限组编号 sql = "select max(code) as code from %(table_name)s " \ "where code like '%(parent_code1)s' and length(code) = length('%(parent_code)s') + 2" % \ {'table_name': self.__table_name, 'parent_code1': parent_code + '%', 'parent_code': parent_code} result = db.execute(sql) # 如果子权限组编号为NULL,则直接添加 if not result or not result[0].get('code'): return parent_code + '01' else: # 获取的权限组编号+1 code = str(convert_helper.to_int0(result[0].get('code', '')) + 1) # 子权限组编号长度求余是否有余数,是则返回时前面加0 if len(code) % 2 == 1: return '0' + code else: return code
def callback(): """ 新增记录 """ name = web_helper.get_form('name', '分类名称') is_enable = convert_helper.to_int0(web_helper.get_form('is_enable', '是否启用')) # 添加记录(使用returning这个函数能返回指定的字段值,这里要求返回新添加记录的自增id值) sql = """insert into product_class (name, is_enable) values (%s, %s) returning id""" vars = (name, is_enable) # 写入数据库 result = db_helper.write(sql, vars) # 判断是否提交成功 if result and result[0].get('id'): return web_helper.return_msg(0, '成功') else: return web_helper.return_msg(-1, "提交失败")
def callback(id): """ 修改记录 """ name = web_helper.get_form('name', '分类名称') is_enable = convert_helper.to_int0(web_helper.get_form('is_enable', '是否启用')) # 编辑记录 sql = """update product_class set name=%s, is_enable=%s where id=%s returning id""" vars = (name, is_enable, id) # 写入数据库 result = db_helper.write(sql, vars) # 判断是否提交成功 if result and result[0].get('id'): return web_helper.return_msg(0, '成功') else: return web_helper.return_msg(-1, "提交失败")
def check_operation_times(operation_name, limiting_frequency, ip, is_add=True): """ 检查操作次数 参数: operation_name 操作名称 limiting_frequency 限制次数 is_add 是否累加 返回参数: True 不限制 False 限制操作 """ if not operation_name or limiting_frequency is None: return False, '参数错误,错误码:-400-001,请与管理员联系', '', 0 # 如果限制次数为0时,默认不限制操作 if limiting_frequency <= 0: return True, '', '', 0 ############################################################## ### 判断用户操作次数,超出次数限制执行 ### # 获取当前用户已记录操作次数 operation_times_key = operation_name + '_' + encrypt_helper.md5( operation_name + ip) operation_times = convert_helper.to_int0( cache_helper.get(operation_times_key)) # 如果系统限制了出错次数,且当前用户已超出限制,则返回错误 if limiting_frequency and operation_times >= limiting_frequency: return False, '您在10分钟内连续操作次数达到' + str( limiting_frequency ) + '次,已超出限制,请稍候再试', operation_times_key, operation_times if is_add: # 记录操作次数,默认在缓存中存储10分钟 cache_helper.set(operation_times_key, operation_times + 1, 600) return True, '', operation_times_key, operation_times
def callback(): """ 获取列表数据 """ # 设置查询条件 wheres = '' # 产品分类id product_class_id = convert_helper.to_int0(web_helper.get_query('product_class_id', '产品分类id', is_check_null=False)) if product_class_id > 0: wheres = 'where product_class_id=' + str(product_class_id) # 页面索引 page_number = convert_helper.to_int1(web_helper.get_query('page', '', is_check_null=False)) # 页面显示记录数量 page_size = convert_helper.to_int0(web_helper.get_query('rows', '', is_check_null=False)) # 排序字段 sidx = web_helper.get_query('sidx', '', is_check_null=False) # 顺序还是倒序排序 sord = web_helper.get_query('sord', '', is_check_null=False) # 初始化排序字段 order_by = 'id desc' if sidx: order_by = sidx + ' ' + sord # 类型 type = web_helper.get_query('type', '类型', is_check_null=False) # 判断是否是前台提交获取数据 if type != 'backstage': # 判断是否已经存在查询条件了,是的话在原查询条件后面拼接 if wheres: wheres = wheres + ' and is_enable=1' else: wheres = 'where is_enable=1' ############################################################# # 初始化输出格式(前端使用jqgrid列表,需要指定输出格式) data = { 'records': 0, 'total': 0, 'page': 1, 'rows': [], } ############################################################# # 执行sql,获取指定条件的记录总数量 sql = 'select count(1) as records from product %(wheres)s' % {'wheres': wheres} result = db_helper.read(sql) # 如果查询失败或不存在指定条件记录,则直接返回初始值 if not result or result[0]['records'] == 0: return data # 保存总记录数量 data['records'] = result[0].get('records', 0) ############################################################# ### 设置分页索引与页面大小 ### # 设置分页大小 if page_size is None or page_size <= 0: page_size = 10 # 计算总页数 if data['records'] % page_size == 0: page_total = data['records'] // page_size else: page_total = data['records'] // page_size + 1 # 记录总页面数量 data['total'] = page_total # 判断提交的页码是否超出范围 if page_number < 1 or page_number > page_total: page_number = page_total # 记录当前页面索引值 data['page'] = page_number # 计算当前页面要显示的记录起始位置 record_number = (page_number - 1) * page_size # 设置查询分页条件 paging = ' limit ' + str(page_size) + ' offset ' + str(record_number) ### 设置排序 ### if not order_by: order_by = 'id desc' ############################################################# # 组合sql查询语句 sql = "select * from product %(wheres)s order by %(orderby)s %(paging)s" % \ {'wheres': wheres, 'orderby': order_by, 'paging': paging} # 读取记录 result = db_helper.read(sql) if result: # 存储记录 data['rows'] = result if data: # 直接输出json return web_helper.return_raise(json.dumps(data, cls=json_helper.CJsonEncoder)) else: return web_helper.return_msg(-1, "查询失败")
def callback(): """ 新增记录 """ # 检查用户权限 _common_logic.check_user_power() name = web_helper.get_form('name', '管理员名称') sex = web_helper.get_form('sex', '性别', is_check_null=False) if sex != '男': sex = '女' mobile = web_helper.get_form('mobile', '手机号码', is_check_null=False) if mobile and not string_helper.is_mobile(mobile): return web_helper.return_msg(-1, '手机号码格式不正确') birthday = web_helper.get_form('birthday', '出生日期', is_check_null=False) if birthday: birthday = convert_helper.to_date(birthday) email = web_helper.get_form('email', 'email', is_check_null=False) if email and not string_helper.is_email(email): return web_helper.return_msg(-1, 'Email格式不正确') remark = web_helper.get_form('remark', '备注', is_check_null=False) department_id = convert_helper.to_int0( web_helper.get_form('department_id', '所属部门')) positions_id = convert_helper.to_int0( web_helper.get_form('positions_id', '所属职位')) is_work = convert_helper.to_int0(web_helper.get_form('is_work', '工作状态')) is_enabled = web_helper.get_form('is_enabled', '是否启用', is_check_null=False) login_name = web_helper.get_form('login_name', '登录账号') login_password = web_helper.get_form('login_password1', '登录密码', is_check_special_char=False) if len(login_password) < 6: return web_helper.return_msg(-1, '登录密码长度必须大于等于6位') login_password = encrypt_helper.md5( encrypt_helper.md5(login_password)[2:24]) # 判断提交的部门id是否正确 _department_logic = department_logic.DepartmentLogic() department_result = _department_logic.get_model_for_cache(department_id) if not department_result: return web_helper.return_msg(-1, '所属部门不存在') # 判断提交的职位id是否正确 _positions_logic = positions_logic.PositionsLogic() positions_result = _positions_logic.get_model_for_cache(positions_id) if not positions_result or positions_result.get( 'department_id') != department_id: return web_helper.return_msg(-1, '所属职位不存在') _manager_logic = manager_logic.ManagerLogic() # 组合更新字段 fields = { 'name': string(name), 'sex': string(sex), 'mobile': string(mobile), 'email': string(email), 'remark': string(remark), 'department_id': department_id, 'department_code': string(department_result.get('code', '')), 'department_name': string(department_result.get('name', '')), 'positions_id': positions_id, 'positions_name': string(positions_result.get('name', '')), 'is_work': is_work, 'is_enabled': is_enabled, 'login_name': string(login_name), 'login_password': string(login_password), } if birthday: fields['birthday'] = string(str(birthday)) # 添加记录 result = _manager_logic.add_model(fields) if result: return web_helper.return_msg(0, '成功') else: return web_helper.return_msg(-1, "提交失败")
def callback(): """ 获取列表数据 """ # 页面索引 page_number = convert_helper.to_int1(web_helper.get_query('page', '', False)) # 页面显示记录数量 page_size = convert_helper.to_int0(web_helper.get_query('rows', '', False)) # 排序字段 sidx = web_helper.get_query('sidx', '', False) # 顺序还是倒序排序 sord = web_helper.get_query('sord', '', False) # 初始化排序字段 order_by = 'sort asc' if sidx: order_by = sidx + ' ' + sord ############################################################# # 初始化输出格式(前端使用jqgrid列表,需要指定输出格式) data = { 'records': 0, 'total': 0, 'page': 1, 'rows': [], } ############################################################# # 执行sql,获取指定条件的记录总数量 sql = 'select count(1) as records from product_class' result = db_helper.read(sql) # 如果查询失败或不存在指定条件记录,则直接返回初始值 if not result or result[0]['records'] == 0: return data # 保存总记录数量 data['records'] = result[0].get('records', 0) ############################################################# ### 设置分页索引与页面大小 ### # 设置分页大小 if page_size is None or page_size <= 0: page_size = 10 # 计算总页数 if data['records'] % page_size == 0: page_total = data['records'] // page_size else: page_total = data['records'] // page_size + 1 # 记录总页面数量 data['total'] = page_total # 判断提交的页码是否超出范围 if page_number < 1 or page_number > page_total: page_number = page_total # 记录当前页面索引值 data['page'] = page_number # 计算当前页面要显示的记录起始位置 record_number = (page_number - 1) * page_size # 设置查询分页条件 paging = ' limit ' + str(page_size) + ' offset ' + str(record_number) ### 设置排序 ### if not order_by: order_by = 'id desc' ############################################################# # 组合sql查询语句 sql = "select * from product_class order by %(orderby)s %(paging)s" % \ {'orderby': order_by, 'paging': paging} # 读取记录 result = db_helper.read(sql) if result: # 存储记录 data['rows'] = result if data: # 直接输出json return web_helper.return_raise(json.dumps(data, cls=json_helper.CJsonEncoder)) else: return web_helper.return_msg(-1, "查询失败")