课程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;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
@ -8,16 +8,16 @@ import com.auth0.jwt.interfaces.DecodedJWT;
import com.ruoyi.framework.web.util.ServletUtils;
import java.util.Date;
/**
* @author Mr.Li
* @create 2018-07-12 14:23
* @desc JWT工具类
**/
public class JwtUtil {
private static final long EXPIRE_TIME = 5 * 60 * 1000;
/**
* 校验token是否正确
*
@ -39,7 +39,7 @@ public class JwtUtil {
return false;
}
}
/**
* 获得token中的信息无需secret解密也能获得
*
@ -47,14 +47,14 @@ public class JwtUtil {
*/
public static String getLoginName() {
try {
String token = ServletUtils.getRequest().getHeader("token");
String token = ServletUtils.getRequest().getHeader("Authorization");
DecodedJWT jwt = JWT.decode(token);
return jwt.getClaim("loginName").asString();
} catch (JWTDecodeException e) {
return null;
}
}
/**
* 生成签名,5min后过期
*
@ -70,6 +70,6 @@ public class JwtUtil {
.withClaim("loginName", loginName)
.withExpiresAt(date)
.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.ShiroUtils;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.vip.domain.VipUser;
import com.ruoyi.vip.service.IVipUserService;
import io.swagger.annotations.Api;
@ -36,51 +37,50 @@ import java.util.List;
*/
@Api("用户信息管理")
@RestController
@RequestMapping("/api/v1/vip/user")
@RequestMapping("/api/v1")
public class ApiVipUserController extends BaseController {
@Autowired
private IVipUserService userService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private SysPasswordService passwordService;
@ApiOperation("用户登陆")
@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) {
AjaxResult success = success("登陆成功");
boolean rememberMe=false;
UsernamePasswordToken token = new UsernamePasswordToken(user.getUserName(), user.getPassword(), rememberMe);
AjaxResult success = success( "登陆成功" );
boolean rememberMe = false;
UsernamePasswordToken token = new UsernamePasswordToken( user.getUserName(), user.getPassword(), rememberMe );
Subject subject = SecurityUtils.getSubject();
try
{
subject.login(token);
String tokenSign=JwtUtil.sign(user.getUserName(),user.getUserName());
try {
subject.login( token );
String tokenSign = JwtUtil.sign( user.getUserName(), user.getUserName() );
JSONObject json = new JSONObject();
json.put("token",tokenSign);
success.put("data",json);
json.put( "token", tokenSign );
success.put( "data", json );
return success;
}
catch (AuthenticationException e)
{
} catch (AuthenticationException e) {
String msg = "用户或密码错误";
if (StringUtils.isNotEmpty(e.getMessage()))
{
if (StringUtils.isNotEmpty( e.getMessage() )) {
msg = e.getMessage();
}
return error(msg);
return error( msg );
}
}
@GetMapping("/info")
@GetMapping("/member/user/info")
public AjaxResult get() {
AjaxResult success = success("登陆成功");
VipUser vipUser = userService.selectUserByLoginName(JwtUtil.getLoginName());
success.put("user", vipUser);
SysUser vipUser2 =ShiroUtils.getSysUser();
AjaxResult success = success( "登陆成功" );
SysUser vipUser = sysUserService.selectUserByLoginName( JwtUtil.getLoginName() );
success.put( "data", vipUser );
return success;
}
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(VipUser user) {
@ -114,7 +114,6 @@ public class ApiVipUserController extends BaseController {
}
/**
* 修改保存用户
*/