课程api

This commit is contained in:
zhujunjieit 2019-01-08 23:41:07 +08:00
parent ef1c10a06e
commit 7d89fee77b
3 changed files with 110 additions and 31 deletions

View File

@ -1,5 +1,5 @@
package com.ruoyi.framework.jwt; package com.ruoyi.framework.jwt;
import com.auth0.jwt.JWT; import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.algorithms.Algorithm;
@ -8,16 +8,16 @@ import com.auth0.jwt.interfaces.DecodedJWT;
import com.ruoyi.framework.web.util.ServletUtils; import com.ruoyi.framework.web.util.ServletUtils;
import java.util.Date; import java.util.Date;
/** /**
* @author Mr.Li * @author Mr.Li
* @create 2018-07-12 14:23 * @create 2018-07-12 14:23
* @desc JWT工具类 * @desc JWT工具类
**/ **/
public class JwtUtil { public class JwtUtil {
private static final long EXPIRE_TIME = 5 * 60 * 1000; private static final long EXPIRE_TIME = 5 * 60 * 1000;
/** /**
* 校验token是否正确 * 校验token是否正确
* *
@ -39,7 +39,7 @@ public class JwtUtil {
return false; return false;
} }
} }
/** /**
* 获得token中的信息无需secret解密也能获得 * 获得token中的信息无需secret解密也能获得
* *
@ -47,14 +47,14 @@ public class JwtUtil {
*/ */
public static String getLoginName() { public static String getLoginName() {
try { try {
String token = ServletUtils.getRequest().getHeader("token"); String token = ServletUtils.getRequest().getHeader("Authorization");
DecodedJWT jwt = JWT.decode(token); DecodedJWT jwt = JWT.decode(token);
return jwt.getClaim("loginName").asString(); return jwt.getClaim("loginName").asString();
} catch (JWTDecodeException e) { } catch (JWTDecodeException e) {
return null; return null;
} }
} }
/** /**
* 生成签名,5min后过期 * 生成签名,5min后过期
* *
@ -70,6 +70,6 @@ public class JwtUtil {
.withClaim("loginName", loginName) .withClaim("loginName", loginName)
.withExpiresAt(date) .withExpiresAt(date)
.sign(algorithm); .sign(algorithm);
} }
} }

View File

@ -0,0 +1,80 @@
package com.ruoyi.train.course.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.base.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.ExcelUtil;
import com.ruoyi.framework.jwt.JwtUtil;
import com.ruoyi.framework.web.base.BaseController;
import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.train.course.domain.TrainCourse;
import com.ruoyi.train.course.domain.TrainCourseCategory;
import com.ruoyi.train.course.domain.TrainCourseSection;
import com.ruoyi.train.course.service.ITrainCourseCategoryService;
import com.ruoyi.train.course.service.ITrainCourseSectionService;
import com.ruoyi.train.course.service.ITrainCourseService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 课程 信息操作处理
*
* @author zhujj
* @date 2018-12-23
*/
@RestController
@RequestMapping("/api/v1")
public class ApiTrainCourseController extends BaseController {
@Autowired
private ITrainCourseService trainCourseService;
@Autowired
private ITrainCourseCategoryService trainCourseCategoryService;
@Autowired
private ITrainCourseSectionService trainCourseSectionService;
/**
* 查询课程列表
*/
@GetMapping("/trainCourse/list")
@ResponseBody
public AjaxResult list(TrainCourse trainCourse) {
List<TrainCourse> list = trainCourseService.selectTrainCoursePage( trainCourse );
AjaxResult success = success( "查询成功" );
success.put( "data", list );
return success;
}
/**
* 查询课程详情
*/
@GetMapping("/trainCourse/{id}")
public AjaxResult get(@PathVariable("id") Integer id) {
TrainCourse trainCourse = trainCourseService.selectById( id );
TrainCourseCategory courseCategory = trainCourseCategoryService.selectCategoryById( (long) trainCourse.getTrainCourseCategoryId() );
JSONObject jsonObject = JSONObject.fromObject( trainCourse );
jsonObject.put( "courseCategory", courseCategory );
AjaxResult success = success( "查询成功" );
success.put( "data", jsonObject );
return success;
}
/**
* 查询课程章节详情
*/
@GetMapping("/trainCourse/{id}/section")
public AjaxResult trainCourseSection(@PathVariable("id") Integer id) {
TrainCourseSection trainCourseSection = new TrainCourseSection();
trainCourseSection.setTrainCourseId( id );
List<TrainCourseSection> trainCourseSections = trainCourseSectionService.selectTrainCourseSectionList( trainCourseSection );
AjaxResult success = success( "查询成功" );
success.put( "data", trainCourseSections );
return success;
}
}

View File

@ -14,6 +14,7 @@ import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.framework.web.util.ServletUtils; import com.ruoyi.framework.web.util.ServletUtils;
import com.ruoyi.framework.web.util.ShiroUtils; import com.ruoyi.framework.web.util.ShiroUtils;
import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.SysUser;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.vip.domain.VipUser; import com.ruoyi.vip.domain.VipUser;
import com.ruoyi.vip.service.IVipUserService; import com.ruoyi.vip.service.IVipUserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -36,51 +37,50 @@ import java.util.List;
*/ */
@Api("用户信息管理") @Api("用户信息管理")
@RestController @RestController
@RequestMapping("/api/v1/vip/user") @RequestMapping("/api/v1")
public class ApiVipUserController extends BaseController { public class ApiVipUserController extends BaseController {
@Autowired @Autowired
private IVipUserService userService; private IVipUserService userService;
@Autowired
private ISysUserService sysUserService;
@Autowired @Autowired
private SysPasswordService passwordService; private SysPasswordService passwordService;
@ApiOperation("用户登陆") @ApiOperation("用户登陆")
@Log(title = "用户登陆", businessType = BusinessType.EXPORT) @Log(title = "用户登陆", businessType = BusinessType.EXPORT)
@RequestMapping(value = "/login", method = RequestMethod.POST,produces= "application/json;charset=UTF-8") @RequestMapping(value = "/vip/user/login", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public AjaxResult login(@RequestBody SysUser user) { public AjaxResult login(@RequestBody SysUser user) {
AjaxResult success = success("登陆成功"); AjaxResult success = success( "登陆成功" );
boolean rememberMe=false; boolean rememberMe = false;
UsernamePasswordToken token = new UsernamePasswordToken(user.getUserName(), user.getPassword(), rememberMe); UsernamePasswordToken token = new UsernamePasswordToken( user.getUserName(), user.getPassword(), rememberMe );
Subject subject = SecurityUtils.getSubject(); Subject subject = SecurityUtils.getSubject();
try try {
{ subject.login( token );
subject.login(token); String tokenSign = JwtUtil.sign( user.getUserName(), user.getUserName() );
String tokenSign=JwtUtil.sign(user.getUserName(),user.getUserName());
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
json.put("token",tokenSign); json.put( "token", tokenSign );
success.put("data",json); success.put( "data", json );
return success; return success;
} } catch (AuthenticationException e) {
catch (AuthenticationException e)
{
String msg = "用户或密码错误"; String msg = "用户或密码错误";
if (StringUtils.isNotEmpty(e.getMessage())) if (StringUtils.isNotEmpty( e.getMessage() )) {
{
msg = e.getMessage(); msg = e.getMessage();
} }
return error(msg); return error( msg );
} }
} }
@GetMapping("/info")
@GetMapping("/member/user/info")
public AjaxResult get() { public AjaxResult get() {
AjaxResult success = success("登陆成功"); AjaxResult success = success( "登陆成功" );
VipUser vipUser = userService.selectUserByLoginName(JwtUtil.getLoginName()); SysUser vipUser = sysUserService.selectUserByLoginName( JwtUtil.getLoginName() );
success.put("user", vipUser); success.put( "data", vipUser );
SysUser vipUser2 =ShiroUtils.getSysUser();
return success; return success;
} }
@PostMapping("/list") @PostMapping("/list")
@ResponseBody @ResponseBody
public TableDataInfo list(VipUser user) { public TableDataInfo list(VipUser user) {
@ -114,7 +114,6 @@ public class ApiVipUserController extends BaseController {
} }
/** /**
* 修改保存用户 * 修改保存用户
*/ */