class CompanyHandlerList(AdminBaseHandler): def get(self,code = None,*args, **kwargs): self.company_service = CompanyServices(self.db) self.get_companys(code) page_html = '' if self.page_data: page_html = self.page_data.render_page_html() context={'page_data':self.page_data,'page_html':page_html,'code':code} if code == 'recommend': self.echo('ops/home/companys.html',context) else: self.echo('ops/company/company_list.html',context) def get_companys(self,code = None): self.get_paras_dict() if code == '1': query = self.db.query(Company).filter(Company.Fdeleted == 1) else: query = self.company_service.get_companys(**self.qdict) self.page_data = self.get_page_data(query) def get_user_by_id(self,user_id): query = self.db.query(Users).filter(Users.Fdeleted==0,Users.Fid==user_id).scalar() return query
def get(self, name=None): company_db = CompanyServices(self.db) query = company_db.get_companys() if name: query = query.filter(Company.Fcompany_name.like("%" + name + "%")) page_data = self.get_page_data(query) self.echo('ops/weixin/list.html', { 'name': name, 'companies': page_data.result, 'page_html': '', })
def get(self, company_id): if not company_id: return self.echo('view/login/404.html', layout='') company_db = CompanyServices(self.db) query = company_db.get_companys() query = query.filter(Company.Fid == int(company_id)) company = query.scalar() #获取menu code对应的菜单名称 wxService = WxService(self.db) company_menu_name = '' if company.Fmenu_codes: for code in company.Fmenu_codes.split(','): if len(code) > 0: company_menu_name = company_menu_name + ',' + wxService.query_name_by_code( code) company_menu_name = company_menu_name.strip(',') else: company.Fmenu_codes = '' #查询所有菜单 wxService = WxService(self.db) menus = wxService.query_menus() for menu in menus: if menu.type == 'view': menu.url = setting.WX_APP_URL + menu.url print 'menu.url=' + menu.url if menu.is_common == 0: #url中存在参数 menu.url = menu.url % (company.Fuser_id) self.echo( 'ops/weixin/menu.html', { 'error': '', 'company': company, 'company_menu_name': company_menu_name, 'menus': menus, 'page_html': '', })
def get(self, company_id, menu_code): if not company_id: return self.echo('view/login/404.html', layout='') error = u'' company_db = CompanyServices(self.db) company = company_db.get_company_by_id(int(company_id)) wxService = WxService(self.db) #获取当前menu code对应的菜单名称 company_menu_name = '' if company.Fmenu_codes: for code in company.Fmenu_codes.split(','): if len(code) > 0: company_menu_name = company_menu_name + ',' + wxService.query_name_by_code( code) company_menu_name = company_menu_name.strip(',') #查询当前所有菜单 menus = wxService.query_menus() try: wxService = WxService(self.db) error = u'' company_db = CompanyServices(self.db) query = company_db.get_companys() query = query.filter(Company.Fid == int(company_id)) company = query.scalar() menu_codes = '' if company.Fmenu_codes.find(menu_code) > -1: #已绑定 menu_codes = company.Fmenu_codes.replace(menu_code, '') else: menu_codes = company.Fmenu_codes #整理code顺序 menu_codes_order = '' menus = wxService.query_menus() for menu in menus: if menu_codes.find(menu.code) > -1: menu_codes_order = menu_codes_order + ',' + menu.code menu_codes = menu_codes_order.strip(',') #更新公众号菜单 menuManager = MenuManager() dic_accessToken = menuManager.getAccessToken( company.Fapp_id, company.Fapp_secret) if len(menu_codes) == 0: # menuManager.delMenu(dic_accessToken.get("access_token")) else: menus = wxService.query_menus() all_menu_str = wx_util.getMenuStr(menus, menu_codes, company.Fuser_id) print("all_menu_str=" + all_menu_str) result = menuManager.refreshMenu( dic_accessToken.get("access_token"), all_menu_str) if result <> 'ok': error = u'绑定失败' raise error #更新menu_codes if menu_codes <> company.Fmenu_codes: company_db.update_company_by_id(int(company_id), Fmenu_codes=menu_codes) #获取menu code对应的菜单名称 company_menu_name = '' if menu_codes: for code in menu_codes.split(','): if len(code) > 0: company_menu_name = company_menu_name + ',' + wxService.query_name_by_code( code) company_menu_name = company_menu_name.strip(',') else: company.Fmenu_codes = '' #查询所有菜单 wxService = WxService(self.db) menus = wxService.query_menus() for menu in menus: if menu.type == 'view': menu.url = setting.WX_APP_URL + menu.url if menu.is_common == 0: #url中存在参数 menu.url = menu.url % (company.Fuser_id) self.echo( 'ops/weixin/menu.html', { 'error': error, 'company': company, 'company_menu_name': company_menu_name, 'menus': menus, 'page_html': '', }) except Exception, e: e = sys.exc_info()[0](traceback.format_exc()) print(e) self.echo( 'ops/weixin/menu.html', { 'error': error, 'company': company, 'company_menu_name': company_menu_name, 'menus': menus, 'page_html': '', })