package com.qxueyou.scc.sys.action; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.qxueyou.scc.base.util.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import com.qxueyou.scc.admin.teacher.service.ITeacherService; import com.qxueyou.scc.base.dao.CommonDAO; import com.qxueyou.scc.base.model.Constants; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.base.model.UserInfoWrapper; import com.qxueyou.scc.base.service.ICacheService; import com.qxueyou.scc.base.service.ICommonService; import com.qxueyou.scc.config.SccConfig; import com.qxueyou.scc.org.service.IOrganizationService; import com.qxueyou.scc.sys.model.CacheParamters; import com.qxueyou.scc.sys.model.SysLog; import com.qxueyou.scc.sys.service.IAuthorizeService; import com.qxueyou.scc.sys.service.IPrivilegeService; import com.qxueyou.scc.teach.student.model.StuStudent; import com.qxueyou.scc.teach.student.service.IStudentService; import com.qxueyou.scc.user.model.User; import com.qxueyou.scc.user.model.UserRole; import com.qxueyou.scc.user.service.IUserOperateService; import com.qxueyou.scc.user.service.IUserRoleService; import com.qxueyou.scc.user.service.IUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; /** * 注册controller 提供注册,登录,注销服务 * * @author 德虎 * @history 2014-11-25 新建 夏德虎 */ @Api(tags="登入相关接口") @Controller @CrossOrigin(origins="*",maxAge=3600) @EnableConfigurationProperties(SccConfig.class) @RequestMapping(value = "/sys/login") public class LoginController { @Autowired private CommonDAO commonDAO; @Autowired IPrivilegeService privilegeService; @Autowired IAuthorizeService service; @Autowired IUserRoleService userRoleService; @Autowired ITeacherService teacherService; @Autowired @Qualifier("commonAppService") ICommonService commonService; @Autowired IUserOperateService userOperateService; @Autowired IUserService userService; @Autowired ICacheService cacheService; @Autowired IStudentService studentService; @Resource RedisTemplate redisTemplate; @Autowired private IOrganizationService organizationService; public static String UUNUMBER="QXYUUNUMBER"; @ApiOperation(value = "登入接口", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "account", value = "账号", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "password", value = "密码", required = true, paramType="query", dataType = "String"), }) @RequestMapping(value = "beforeLogin", method = RequestMethod.POST) @ResponseBody public Result beforeLogin(@RequestParam("account") String account, @RequestParam("password") String password, HttpServletRequest request, HttpServletResponse response) { if(StringUtils.isEmpty(account)||StringUtils.isEmpty(password)) { return new Result(false, "用户账号密码不能为空"); } // 查询用户信息 String uuNumber=null; String uuReNumber=null; String hql = "from User where deleteFlag is false and account = ? and password = ? "; List params = CollectionUtils.newList(account,password); User user = commonDAO.findUnique(hql,params, User.class); if (user == null ) { return new Result(false, "用户账户、密码错误"); } if (user.getSource() == null || "".equals(user.getSource())) { return new Result(false, "没有权限"); } if("exam".equals(user.getSource())){ // //获取Session存入uuNumber // uuNumber = UUIDUtils.generateSpecialUuid(8)+account; // HttpSession session = request.getSession(); // //设置session自动过期时间 60分钟 // session.setMaxInactiveInterval(60*60); // session.setAttribute("uuNumber", uuNumber); //uuNumber使用固定 uuNumber=UUNUMBER; }else if("reExam".equals(user.getSource())){ //获取Session存入uuNumber uuReNumber = UUIDUtils.generateSpecialUuid(8)+account; HttpSession session = request.getSession(); //设置session自动过期时间 60分钟 session.setMaxInactiveInterval(60*60); session.setAttribute("uuReNumber", uuReNumber); }else { return new Result(false, "没有权限"); } // 插入日志 insertLoginLog(request, user, account, "SYS-LOGIN"); // 返回 return new Result(true, "验证成功",CollectionUtils.newObjectMap("uuNumber",uuNumber,"uuReNumber",uuReNumber)); } @ApiOperation(value = "登入接口", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "uuNumber", value = "uuNumber", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "uuReNumber", value = "uuReNumber", required = true, paramType="query", dataType = "String"), }) @RequestMapping(value = "examLogin", method = RequestMethod.GET) @ResponseBody public Result examLogin(String uuNumber,String uuReNumber, HttpServletRequest request, HttpServletResponse response) { if(StringUtils.isEmpty(uuNumber)&&StringUtils.isEmpty(uuReNumber)){ return new Result(false, "验证失败"); } if (StringUtils.isNotEmpty(uuNumber)) { //有uunumber String uu=ClientUtils.getUserInfo().getInfo("email"); if(StringUtils.isEmpty(uu)||!uuNumber.equals(uu)){ return new Result(false, "uuNumber验证失败"); } } else { //有uurenumber HttpSession session = request.getSession(); String uu=(String) session.getAttribute("uuReNumber"); if(StringUtils.isEmpty(uu)||!uuReNumber.equals(uu)){ return new Result(false, "uuReNumber验证失败"); } //验证后删除 request.getSession().removeAttribute("uuReNumber"); // String uu=ClientUtils.getUserInfo().getInfo("email"); // if(StringUtils.isEmpty(uu)||!uuReNumber.equals(uu)){ // return new Result(false, "uuReNumber验证失败"); // } } // 返回 return new Result(true, "验证成功"); } @ApiOperation(value = "登入接口", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "uuNumber", value = "uuNumber", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "uuReNumber", value = "uuReNumber", required = true, paramType="query", dataType = "String"), }) @RequestMapping(value = "examssLogin", method = RequestMethod.GET) @ResponseBody public Result examssLogin(String uuNumber,String uuReNumber, HttpServletRequest request, HttpServletResponse response) { //两个都为空,表示没有参数 if(StringUtils.isEmpty(uuNumber)&&StringUtils.isEmpty(uuReNumber)){ return new Result(false, "验证失败"); } if (StringUtils.isNotEmpty(uuNumber)) { //有uunumber // HttpSession session = request.getSession(); // String uu=(String) session.getAttribute("uuNumber"); String uu=UUNUMBER; if(StringUtils.isEmpty(uu)||!uuNumber.equals(uu)){ return new Result(false, "uuNumber验证失败"); } } else { //有uurenumber HttpSession session = request.getSession(); String uu=(String) session.getAttribute("uuReNumber"); if(StringUtils.isEmpty(uu)||!uuReNumber.equals(uu)){ return new Result(false, "uuReNumber验证失败"); } } // 返回 return new Result(true, "验证成功"); } //退出登录 清除session @RequestMapping(value = "khdloginout", method = RequestMethod.POST) @ResponseBody public void khdloginout(HttpServletRequest request, HttpServletResponse response) { System.out.println("清除session"); HttpSession session = request.getSession(); redisTemplate.delete(UserInfoWrapper.SESSION_USER_INFO_KEY); System.out.println(session.getAttribute("userId")); System.out.println(session.getAttribute("classId")); session.invalidate(); } /** * 学员端登录 * * @param account 账户 * @param password 密码 * @return */ @ApiOperation(value = "登入接口", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "account", value = "账号", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "password", value = "密码", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "organizationId", value = "机构id", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "platForm", value = "登入平台(app,web,qLive,pc,weixin)", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "logType", value = "登入type(study学员,teacher教师,否则为后台)", required = true, paramType="query", dataType = "String"), }) @RequestMapping(value = "studentLogin", method = RequestMethod.POST) @ResponseBody public Result studentLogin(@RequestParam("userId") String userId,HttpServletRequest request, HttpServletResponse response, String logType,String organizationId, String platForm){ String hql = null; List params = null; hql = "from User where deleteFlag is false and userId = ?"; params = CollectionUtils.newList(userId); // 查询用户信息 User user = commonDAO.findUnique(hql,params, User.class); CacheParamters param = new CacheParamters(); param.setUserId(user.getUserId()); param.setCustomRoleValue(user.getEmail()); param.setCustomOrgId(user.getImei()); param.setCacheIpFlag(true); param.setPlatForm(StringUtils.isEmpty(platForm) ? Constants.LOGIN_PLATFORM_WEB : platForm); param.setIp(RequestClientUtils.getRemoteIP(request)); // 缓存到请求线程 UserInfoWrapper wrapper = cacheUserInfo(param, null); // 存到redis redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper); request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper); return new Result(true, "success", CollectionUtils.newObjectMap("userId", user.getUserId(), "userName", user.getName(), "imgPath", user.getImgPath(), "orgName", ClientUtils.getOrgName(),"orgId", ClientUtils.getOrgId(), "orgLogo", ClientUtils.getOrgLogoPath(), "className", ClientUtils.getClassName(), "classId", ClientUtils.getClassId(), "orgShortName", ClientUtils.getOrgShortName())); // return this.loginValidate(user, 1, request, response, "study", platForm, organizationId); } /** * 后台登录 * * @param account 账户 * @param password 密码 * @return */ @ApiOperation(value = "登入接口", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "account", value = "账号", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "password", value = "密码", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "organizationId", value = "机构id", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "platForm", value = "登入平台(app,web,qLive,pc,weixin)", required = true, paramType="query", dataType = "String"), @ApiImplicitParam(name = "logType", value = "登入type(study学员,teacher教师,否则为后台)", required = true, paramType="query", dataType = "String"), }) @RequestMapping(value = "platformLogin", method = RequestMethod.POST) @ResponseBody public Result platformLogin(@RequestParam("account") String account, @RequestParam("password") String password,String uuNumber,String uuReNumber, HttpServletRequest request, HttpServletResponse response, String logType,String organizationId, String platForm) { // response.setHeader("Access-Control-Allow-Origin", "*"); if (StringUtils.isEmpty(account)) { return new Result(false, "用户账号不能为空"); } // System.out.println(account+password); // System.out.println("-------------------------"+organizationId+"--------------"+platForm+"-----------"+logType); String hql = null; List params = null; // boolean flag=true; if ("study".equals(logType)) { hql = "from User where deleteFlag is false and account = ? and password = ? "; params = CollectionUtils.newList(account, password); }else if("portal".equals(logType)){ hql = "from User where deleteFlag is false and mobilePhone = ? and password = ? "; params = CollectionUtils.newList(account, password); }else{ if(StringUtils.isEmpty(password)) { return new Result(false, "用户密码不能为空"); } hql = "from User where deleteFlag is false and account = ? and password = ? "; params = CollectionUtils.newList(account,password); } if(StringUtils.isNotEmpty(organizationId)){ hql = hql.concat(" and organizationId=? "); params.add(organizationId); } // 查询用户信息 User user = commonDAO.findUnique(hql,params, User.class); if(uuNumber!=null&&!"".equals(uuNumber)&&!"null".equals(uuNumber)){ //登录成功存入user里,删除session里的uuNumber,下个人无法使用 user.setEmail(uuNumber); // request.getSession().removeAttribute("uuNumber"); } // if(uuReNumber!=null&&!"".equals(uuReNumber)&&!"null".equals(uuReNumber)){ // //登录成功存入user里,删除session里的uuReNumber,下个人无法使用 // user.setImei(uuReNumber); // request.getSession().removeAttribute("uuReNumber"); // } // 插入日志 insertLoginLog(request, user, account, "SYS-LOGIN"); //考试登录会控制flag变量 其他登录不会 默认true if (user == null) { return new Result(false, "用户账户、密码错误或缺少凭证"); } // 返回用户基本信息 return this.loginValidate(user, 1, request, response, logType, platForm, organizationId); } /** * 登入验证 * @param user * @param type * @param request * @param response * @param logType * @param platForm * @param organizationId * @return */ private Result loginValidate(User user, int type, HttpServletRequest request, HttpServletResponse response, String logType, String platForm, String organizationId) { HttpSession session = request.getSession(); // 缓存用户信息 CacheParamters param = new CacheParamters(); param.setUserId(user.getUserId()); param.setCustomRoleValue(user.getEmail()); param.setCustomOrgId(user.getImei()); param.setCacheIpFlag(true); param.setPlatForm(StringUtils.isEmpty(platForm) ? Constants.LOGIN_PLATFORM_WEB : platForm); param.setIp(RequestClientUtils.getRemoteIP(request)); // 缓存到请求线程 UserInfoWrapper wrapper = cacheUserInfo(param, null); // 存到redis redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper); request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper); if ("study".equals(logType) || "portal".equals(logType)) { /*if (StringUtils.isEmpty(ClientUtils.getClassId()) && user.getRoles() == null) { return new Result(false, "该用户未加入任何班级或未激活,请联系班主任"); }*/ if (StringUtils.isEmpty(user.getOrganizationId())) { return new Result(false, "该用户不属于任何机构,无法登入"); } if (StringUtils.isNoneBlank(organizationId) && !user.getOrganizationId().equals(organizationId)) { return new Result(false, "选择的机构错误,请确认"); } //判断是否为学生,如果是学生,判断是否已冻结或移除,冻结或移除的学生不让登录 StuStudent stu = this.studentService.getStudentByUserId(user.getUserId()); if(stu!=null && (stu.getDeleteFlag() || stu.getStatus().equalsIgnoreCase(StuStudent.STATUS_DEACTIVE))){ return new Result(false, "用户账户已经被冻结或移除"); } /*if(StringUtils.isEmpty(wrapper.getInfo(UserInfoWrapper.INF_CLASS_ID))) { return new Result(false, "该用户未加入任何班级,无法登入"); }*/ // 保存到session中 return new Result(true, "success", CollectionUtils.newObjectMap("userId", user.getUserId(), "userName", user.getName(), "imgPath", user.getImgPath(), "orgName", ClientUtils.getOrgName(),"orgId", ClientUtils.getOrgId(), "orgLogo", ClientUtils.getOrgLogoPath(), "className", ClientUtils.getClassName(), "classId", ClientUtils.getClassId(), "orgShortName", ClientUtils.getOrgShortName())); }else if("teacher".equals(logType)) { String teacherId = teacherService.getTeacherIdByUserId(user.getUserId()); if (StringUtils.isEmpty(teacherId)) { return new Result(false, "该账户不是老师角色,无法登入"); } if (StringUtils.isEmpty(user.getOrganizationId())) { return new Result(false, "该用户不属于任何机构,无法登入"); } if (StringUtils.isNoneBlank(organizationId) && !user.getOrganizationId().equals(organizationId)) { return new Result(false, "选择的机构错误,请确认"); } //获取用户对应的sessionId是否与保存在redis中的一致,如果不一致则跳转到登录页面 // stringRedisTemplate.opsForHash().put(UserInfoWrapper.REDIS_USER_ONLINE_MAP_KEY, user.getUserId(), request.getSession().getId()); return new Result(true, "success", CollectionUtils.newObjectMap("userId", user.getUserId(), "userName", user.getName(), "imgPath", user.getImgPath(), "orgName", ClientUtils.getOrgName(),"orgId", ClientUtils.getOrgId(), "orgLogo", ClientUtils.getOrgLogoPath(), "orgShortName", ClientUtils.getOrgShortName())); }else { Result result = privilegeService.getMenus(user); Integer roleType = result.getDataT("roleType"); // 保存管理员特殊角色信息 if (UserRole.ROLE_TYPE_ADMIN.equals(roleType)) { // boolean a=true; // wrapper.setAdmin(true); session.setAttribute("admin",true); // System.out.println(session.getAttribute("admin")); } // request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper); // System.out.println("ccc"+wrapper.getInfo(UserInfoWrapper.INF_USER_ID)); //// request.getSession().setAttribute("userId", user.getUserId()); // System.out.println("sess"+request.getSession().getAttribute("userId")); // System.out.println("aaa"+ClientUtils.getUserId()); return result; } } /** * 后台:退出登录,后台系统 * * @param account 账户 * @return */ @ApiOperation(value = "退出后台系统操作", notes = "") @RequestMapping(value = "release", method = RequestMethod.GET) public String release(HttpServletRequest httpRequest, HttpServletResponse response) { doRelease(httpRequest, response); return "redirect:/web/admin/index.html#login"; } /** * 后台:退出登录,后台系统 * * @return */ @ApiOperation(value = "退出app系统操作", notes = "") @RequestMapping(value = "loginOut", method = RequestMethod.GET) public @ResponseBody Result loginOut(HttpServletRequest httpRequest, HttpServletResponse response) { doRelease(httpRequest, response); return new Result(true); } /** * 缓存用户信息(班主任 、 学员 角色 缓存后台clientUtils信息) * * @param userId * @param cookieValue * @param request * @param charderClassId * @param sutdentClassId * @param adminOrgId * @param teacherClassId * @param customOrgId */ private UserInfoWrapper cacheUserInfo(CacheParamters param, UserRole role) { UserInfoWrapper wrapper = userService.initUserInfoWrapper(param, true); service.addClientInfo(wrapper); return wrapper; } /** * 插入登录日志 * * @param request * @param lstUser * @param account * @param module */ private void insertLoginLog(HttpServletRequest request, User user, String account, String module) { String userAgent = request.getHeader("user-agent"); String userId = user == null? null : user.getUserId(); String userName = user == null ? null : user.getName(); String ip = RequestClientUtils.getRemoteIP(request); SysLog lg = new SysLog(); TraceUtils.setCreateActiveTrace(lg); lg.setDeleteFlag(false); lg.setContent(userAgent); lg.setDesp(account); lg.setIp(ip); lg.setModule(module); lg.setType(SysLog.LOG_TYPE_SYS); lg.setUserId(userId); lg.setUserName(userName); commonService.save(lg); } /** * 退出后台系统操作 * * @param account 账户 * @return */ private void doRelease(HttpServletRequest httpRequest, HttpServletResponse response) { HttpSession se = httpRequest.getSession(); se.removeAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY); redisTemplate.delete(UserInfoWrapper.SESSION_USER_INFO_KEY); se.invalidate(); } /** * 用户修改密码 */ @ApiOperation(value = "修改密码", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "usedPass", value = "老密码", required = false, paramType="query", dataType = "String"), @ApiImplicitParam(name = "pass", value = "新密码", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "updatePassword", method = RequestMethod.POST) @ResponseBody public Result updatePassword(String userId, String usedPass, String pass) { return userService.updatePassword(StringUtils.isEmpty(userId)?ClientUtils.getUserId():userId, usedPass, pass); } /** * 获取当前用户 */ @ApiOperation(value = "获取当前用户", notes = "") @RequestMapping(value = "getCurrUser", method = RequestMethod.POST) @ResponseBody public Result getCurrUser() { User u = this.commonDAO.read(User.class, ClientUtils.getUserId()); return new Result(true, "success", CollectionUtils.newObjectMap("name",u.getName(),"account", u.getAccount(), "mobilePhone", u.getMobilePhone(), "imgPath", u.getImgPath(), "sex", u.getSex())); } /** * 获取当前用户 */ @ApiOperation(value = "获取当前教师信息", notes = "") @RequestMapping(value = "getCurrTeacher", method = RequestMethod.GET) @ResponseBody public Result getCurrTeacher() { return this.teacherService.getTeacherInfo(); } /** * 用户修改密码 */ @ApiOperation(value = "修改头像", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "headPath", value = "头像地址", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "updateUserHead", method = RequestMethod.POST) @ResponseBody public Result updateUserHead(String headPath) { return userService.updateUserHead(ClientUtils.getUserId(), headPath); } /** * 修改用户其他数据 */ @ApiOperation(value = "修改用户其他数据", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "mobilePhone", value = "老密码", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "updateUserInfo", method = RequestMethod.POST) @ResponseBody public Result updateUserInfo(String mobilePhone) { return userService.updateUserInfo(ClientUtils.getUserId(), mobilePhone); } /** * 获取系统当前时间 */ @RequestMapping(value = "currentTime", method = RequestMethod.GET) @ResponseBody public long getCurrentTime() { return System.currentTimeMillis(); } @ApiOperation(value = "获取机构列表", notes = "") @RequestMapping(value = "getOrgLst", method = RequestMethod.GET) @ResponseBody public Result getOrgLst() { List> orgLst = organizationService.getOrgLst(); return new Result(true, "success", orgLst); } @ApiOperation(value = "获取机构的信息", notes = "包含基本信息和banner图和app信息") @ApiImplicitParams({ @ApiImplicitParam(name = "appCode", value = "appcode(android:androidTeacherApp,androidTeacherH5,androidStudentApp, androidStudentH5" + "IOS:IosTeacherApp,IosStudentApp)", required = false, paramType="query", dataType = "String"), @ApiImplicitParam(name = "orgId", value = "机构id", required = false, paramType="query", dataType = "String") }) @RequestMapping(value = "getOrgInfo", method = RequestMethod.GET) @ResponseBody public Result getOrgInfo(String appCode, String orgId) { return this.organizationService.getOrgInfo(appCode, orgId); } /** * APP2.0: 获取android APP版本 * * @return| */ @ApiOperation(value = "获取android APP版本") @ApiImplicitParams({ @ApiImplicitParam(name = "appName", value = "app名称(android:teacherApp,teacherH5,studentApp, studentH5)", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value="getAndroidAppVersion",method=RequestMethod.GET) public @ResponseBody Result getAppVersion(String appName) { // 版本号 String versionName = ""; String versionTips = ""; String versionCode = ""; String downloadUrl = ""; if("teacherApp".equals(appName)) { versionName = commonDAO.queryConfigValue("android_teacher_app_name"); versionTips = commonDAO.queryConfigValue("android_teacher_app_tips"); versionCode = commonDAO.queryConfigValue("android_teacher_app_code"); downloadUrl = commonDAO.queryConfigValue("android_teacher_app_download_url"); }else if("teacherH5".equals(appName)){ versionName = commonDAO.queryConfigValue("android_teacher_h5_name"); versionTips = commonDAO.queryConfigValue("android_teacher_h5_tips"); versionCode = commonDAO.queryConfigValue("android_teacher_h5_code"); downloadUrl = commonDAO.queryConfigValue("android_teacher_h5_download_url"); }else if("studentApp".equals(appName)){ versionName = commonDAO.queryConfigValue("android_student_app_name"); versionTips = commonDAO.queryConfigValue("android_student_app_tips"); versionCode = commonDAO.queryConfigValue("android_student_app_code"); downloadUrl = commonDAO.queryConfigValue("android_student_app_download_url"); }else if("studentH5".equals(appName)){ versionName = commonDAO.queryConfigValue("android_student_h5_name"); versionTips = commonDAO.queryConfigValue("android_student_h5_tips"); versionCode = commonDAO.queryConfigValue("android_student_h5_code"); downloadUrl = commonDAO.queryConfigValue("android_student_h5_download_url"); }else { versionName = commonDAO.queryConfigValue(Constants.CONFIG_ANDROID_APP_VERSION); versionTips = commonDAO.queryConfigValue(Constants.CONFIG_APP_VERSION_TIPS); versionCode = commonDAO.queryConfigValue(Constants.CONFIG_ANDROID_APP_VERSION_CODE); downloadUrl = commonDAO.queryConfigValue(Constants.CONFIG_ANDROID_APP_DOWNLOAD_URL); } return new Result(true, "", CollectionUtils.newObjectMap("versionName", versionName, "versionCode", versionCode, "versionTips", versionTips, "downloadUrl", downloadUrl)); } /** * APP2.0: 获取ios APP版本 * * @return */ @ApiOperation(value = "获取ios APP版本") @ApiImplicitParams({ @ApiImplicitParam(name = "appName", value = "app名称(ios:teacherApp,studentApp)", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value="getIosAppVersion",method=RequestMethod.GET) public @ResponseBody Result getIOSAppVersion(String appName) { // 版本号 String versionCode = ""; String versionNo = ""; String versionTips = ""; String downloadUrl = ""; if("teacherApp".equals(appName)) { versionCode = commonDAO.queryConfigValue("ios_teacher_app_code"); versionNo = commonDAO.queryConfigValue("ios_teacher_app_no"); versionTips = commonDAO.queryConfigValue("ios_teacher_app_tips"); downloadUrl = commonDAO.queryConfigValue("ios_teacher_app_download_url"); }else{ versionCode = commonDAO.queryConfigValue("ios_student_app_code"); versionNo = commonDAO.queryConfigValue("ios_student_app_no"); versionTips = commonDAO.queryConfigValue("ios_student_app_tips"); downloadUrl = commonDAO.queryConfigValue("ios_student_app_download_url"); } return new Result(true, "", CollectionUtils.newObjectMap("versionCode", versionCode, "versionNo", versionNo, "versionTips", versionTips, "downloadUrl", downloadUrl)); } /** * APP2.0: 获取ios 版本 * * @return */ @ApiOperation(value = "获取ios菜单") @RequestMapping(value="getIosMenu",method=RequestMethod.GET) public @ResponseBody Result getIOSAppVersion() { //"课件","考试","作业","直播" return new Result(true, "", new String[]{"课件","直播","考试","作业"}); } }