class ClientManageController extends BaseController {

    /**
     * 客户端异常服务
     */
    @Resource(name = "clientReportExceptionService")
    private ClientReportExceptionService clientReportExceptionService;
    
    /**
     * 客户端版本服务
     */
    @Resource(name = "clientVersionService")
    private ClientVersionService clientVersionService;

    @Resource
    private UserService userService;

    /**
     * /manage/client/exception
     * @param request
     * @param response
     * @param model
     * @return
     */
    @RequestMapping(value = "/exception")
    public ModelAndView doClientExceptionStat(HttpServletRequest request, HttpServletResponse response, Model model) {
        String ip = request.getParameter("ip");
        model.addAttribute("ip", ip);
        //近一个月
        long collectTime = NumberUtils.toLong(new SimpleDateFormat("yyyyMMdd000000").format(DateUtils.addMonths(new Date(), -1)));
        
        // 一段时间内客户端异常
        List<ClientInstanceException> clientInstanceExceptionList = clientReportExceptionService.getInstanceExceptionStat(ip, collectTime);
        model.addAttribute("clientInstanceExceptionList", clientInstanceExceptionList);
        
        // 应用相关map
        fillAppInfoMap(model);
        
        model.addAttribute("clientExceptionActive", SuccessEnum.SUCCESS.value());
        return new ModelAndView("manage/client/exception/list");
    }

    private void fillAppInfoMap(Model model) {<FILL_FUNCTION_BODY>}

    /**
     * /manage/client/version
     * @param request
     * @param response
     * @param model
     * @return
     */
    /*@RequestMapping(value = "/version")
    public ModelAndView doVersionStat(HttpServletRequest request, HttpServletResponse response, Model model) {
        long appId = NumberUtils.toLong(request.getParameter("appId"),-1);
        List<AppClientVersion> appClientVersionList =  clientVersionService.getAll(appId);
        
        // 应用相关map
        fillAppInfoMap(model);
        
        model.addAttribute("appClientVersionList", appClientVersionList);
        model.addAttribute("clientVersionActive", SuccessEnum.SUCCESS.value());
        model.addAttribute("appId", request.getParameter("appId"));
        
        return new ModelAndView("manage/client/version/list");
    }*/
}

        List<AppDesc> appDescList = appService.getAllAppDesc();
        
        // 所有应用id和负责人对应关系
        Map<Long, String> appIdOwnerMap = new HashMap<Long, String>();
        for (AppDesc appDesc : appDescList) {
            appIdOwnerMap.put(appDesc.getAppId(), userService.getOfficerName(appDesc.getOfficer()));
        }
        model.addAttribute("appIdOwnerMap", appIdOwnerMap);
        
        // 所有应用id和应用名对应关系
        Map<Long, String> appIdNameMap = new HashMap<Long, String>();
        for (AppDesc appDesc : appDescList) {
            appIdNameMap.put(appDesc.getAppId(), appDesc.getName());
        }
        model.addAttribute("appIdNameMap", appIdNameMap);
    
<methods>public non-sealed void <init>() ,public boolean clearTempResource(java.lang.String) ,public java.lang.String getTempResource(java.lang.String) ,public com.sohu.cache.entity.AppUser getUserInfo(javax.servlet.http.HttpServletRequest) ,public java.lang.String markdown2html(java.lang.String, java.lang.String) throws java.lang.Exception,public byte[] read(java.io.InputStream) throws java.io.IOException,public java.lang.Boolean saveTempResource(java.lang.String, java.lang.String) ,public void sendMessage(javax.servlet.http.HttpServletResponse, java.lang.String) <variables>protected com.sohu.cache.dao.AppAuditDao appAuditDao,protected com.sohu.cache.dao.AppAuditLogDao appAuditLogDao,protected com.sohu.cache.stats.app.AppDeployCenter appDeployCenter,protected com.sohu.cache.web.util.AppEmailUtil appEmailUtil,protected com.sohu.cache.dao.AppImportDao appImportDao,protected com.sohu.cache.web.service.AppService appService,protected com.sohu.cache.stats.app.AppStatsCenter appStatsCenter,com.sohu.cache.redis.AssistRedisService assistRedisService,protected com.sohu.cache.async.AsyncService asyncService,protected com.sohu.cache.dao.InstanceDao instanceDao,protected com.sohu.cache.stats.instance.InstanceDeployCenter instanceDeployCenter,protected final org.slf4j.Logger logger,protected com.sohu.cache.machine.MachineCenter machineCenter,protected com.sohu.cache.redis.RedisCenter redisCenter,protected com.sohu.cache.redis.RedisConfigTemplateService redisConfigTemplateService,protected com.sohu.cache.redis.RedisDeployCenter redisDeployCenter,protected com.sohu.cache.web.service.ResourceService resourceService,protected com.sohu.cache.web.service.UserLoginStatusService userLoginStatusService,protected com.sohu.cache.web.service.UserService userService