package com.bs.controller;
import com.bs.mapper.StudentProfileMapper;
import com.bs.model.Courses;
import com.bs.model.Result;
import com.bs.model.StudentProfile;
import com.bs.service.CourseService;
import com.bs.service.StudentService;
import com.bs.utils.ResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by kylin on 2018/5/1.
*/
@Api(description = "用户个人信息及其操作相关(信息,笔记,评论等)")
@RestController
public class StudentController {
@Autowired
private StudentProfile studentProfile;
@Autowired
private StudentService studentService;
@Autowired
private CourseService courseService;
@ApiOperation(value="创建用户", notes="根据用户点击个人页面获取用户信息")
@PostMapping("user/add")
public Result addUser(StudentProfile studentProfile) throws Exception{
String userAccount = studentProfile.getUseraccount();
//先进行查询用户是否已经存在如果存在不许要进行添加到数据库,否则写到数据库,同时防止动态刷新后再次写入
StudentProfile u = studentService.selectOpenIdIsExist(userAccount);
if (u == null){
//如果为空,说明第一次使用,没有进行登录过,需要写入到数据库
return ResultUtil.success(studentService.insertSelective(studentProfile)) ;
}else{
//说明是微信登录失效,进行刷新,数据库不需要更新,因为用户openid唯一
return null;
}
}
@ApiOperation(value = "用户学习课程时,将用户的openid写到课程学员列表中")
@PostMapping(value = "user/userlist/add")
public Result addUserList(String useraccount, Integer courseId )throws Exception{
int ret = 0; //返回结果
/**
* 1. 先进性判断该用户是否写到该课程的user_list字段中
* 2. 该课程是否已经写入到学生信息表,用于学生信息的相关查找操作
*/
//先进行查询用户账号时候已经存在该列表中,如果存在该列表就不进行记录,否者执行下面的操作
String userlist = studentService.finduserlistExistUserAccount(courseId);
String[] lists = userlist.split(",");
for(String x:lists){
if(x.equals(useraccount) ){
continue;
}else{
HashMap retMap = new HashMap();
retMap.put("useraccount", useraccount);
retMap.put("courseId",courseId);
ret = studentService.insertStudentToCourseStudentList(retMap);
}
}
//将学生学习这门课程结果写入到数据库 课程字段 中
Map map = new HashMap();
map.put("courseId",courseId);
map.put("useraccount",useraccount);
//判断是否该课程已经加入到学生个人课程列表study_course字段中
String studentProfile = studentService.findStudentInforByOpenId(useraccount);
String[] listss = studentProfile.split(",");
for (String x: listss) {
//如果查询出来有该课程,直接跳出
if (courseId.equals(x)){
break;
}else{
//如果查询出结果没有该课程,进行添加,添加成功后直接跳出循环
int r = studentService.insertCourseToStudentProfile(map);
break;
}
}
return ResultUtil.success(ret);
}
@ApiOperation(value = "添加用户的邮箱地址,进行发送邮件")
@PostMapping(value = "user/email/add")
public Result addUserEmail(String email,String openId) throws Exception{
int r = studentService.insertUserEmail(email,openId);
return ResultUtil.success(1);
}
@ApiOperation(value = "学生学习过的课程列表展示")
@GetMapping(value = "user/course/lists")
public List StudentCourseList(String openId) throws Exception{
/**
* 1. 先将学生的openId获取到,查询数据库中该学生的study_list字段数据
* 2. 将study_list字段进行切片,获取到该学生曾经学习浏览点击过的视频
* 3. 将查询出的结果放到list中返回前台数据
*/
String course_list = studentService.findStudentInforByOpenId(openId);
String ids[] = course_list.split(",");
List<Courses> coursesList = new ArrayList<>();
for (String id: ids) {
//对单一一个id课程进行查询数据
Courses courses = courseService.findCourseToMeList(id);
String url = "https://kylin.ngrok.xiaomiqiu.cn/media/";
String new_url = url+courses.getImage();
courses.setImage(new_url);
//等级转化英文转化为中文
String dg = "";
String degree = courses.getDegree();
if ("cj".equals(degree)){
dg = "初级";
}else if("zj".equals(degree)){
dg = "中级";
}else if("gj".equals(degree)){
dg = "高级";
}
courses.setDegree(dg);
coursesList.add(courses);
}
return coursesList;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计api接口 采用Springboot+mybatis.zip
共227个文件
xml:123个
java:69个
map:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 117 浏览量
2024-02-24
12:36:26
上传
评论
收藏 8.87MB ZIP 举报
温馨提示
SpringBoot毕业设计源码,易于部署运行;学习交流使用,如有问题私聊博主
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计api接口 采用Springboot+mybatis.zip (227个子文件)
mvnw.cmd 5KB
swagger-ui.css 150KB
swagger-ui.css 150KB
.gitattributes 66B
.gitignore 272B
index.html 3KB
index.html 3KB
oauth2-redirect.html 2KB
oauth2-redirect.html 2KB
bs_demo01.iml 10KB
main.iml 3KB
test.iml 1KB
StudentController.java 6KB
lessonVideoController.java 5KB
Userprofile.java 4KB
courseNoteController.java 4KB
Courses.java 3KB
lessonVideoServiceImpl.java 2KB
indexServiceImpl.java 2KB
StudentServiceImpl.java 2KB
articalController.java 2KB
categoryController.java 2KB
StudentProfile.java 2KB
Examunit.java 2KB
Artical.java 2KB
courseNoteServiceImpl.java 1KB
indexController.java 1KB
categoryServiceImpl.java 1KB
Swagger2.java 1KB
courseVideoServiceImpl.java 1KB
StudentProfileMapper.java 1KB
MailController.java 1KB
CourseNote.java 1KB
Lesson_video_pojo.java 1KB
Note_User_course_pojo.java 1KB
courseVideoController.java 1KB
articalServiceImpl.java 1KB
StudentService.java 1KB
CategoryCourse.java 1KB
CommonController.java 1KB
CoursesMapper.java 1KB
CourseCommon.java 1KB
CourseServiceImpl.java 1020B
examUnitController.java 1008B
CoursesVideo.java 1002B
CoursesVideoMapper.java 945B
CourseNoteMapper.java 863B
send_message.java 834B
CoursesLesson.java 810B
ArticalMapper.java 799B
ExceptionHandle.java 779B
courseNoteService.java 718B
Result.java 690B
commonServiceImpl.java 677B
examUnitServiceImpl.java 663B
FormId.java 640B
courseRecordServiceImpl.java 628B
CategoryService.java 611B
ResultUtil.java 607B
categoryCourseMapper.java 577B
ResultEnum.java 571B
AccessToken.java 564B
CourseRecord.java 551B
BsDemo01Application.java 540B
CourseService.java 522B
OperationCourse.java 480B
lessonVideoService.java 464B
customException.java 455B
articalService.java 437B
indexService.java 432B
courseVideoService.java 426B
course_video_mapper.java 371B
BsDemo01ApplicationTests.java 325B
CoursesLessonMapper.java 310B
ExamUnitMapper.java 277B
commonService.java 261B
CoursesRecordMapper.java 254B
examUnitService.java 238B
commonMapper.java 228B
courseRecordService.java 204B
constData.java 189B
swagger-ui-bundle.js 1.49MB
swagger-ui-bundle.js 1.49MB
swagger-ui-standalone-preset.js 431KB
swagger-ui-standalone-preset.js 431KB
swagger-ui.js 356KB
swagger-ui.js 356KB
swagger-ui-bundle.js.map 10.96MB
swagger-ui-bundle.js.map 10.96MB
swagger-ui-standalone-preset.js.map 3MB
swagger-ui-standalone-preset.js.map 3MB
swagger-ui.js.map 2.2MB
swagger-ui.js.map 2.2MB
swagger-ui.css.map 91B
swagger-ui.css.map 91B
README.md 180B
mvnw 6KB
favicon-32x32.png 1KB
favicon-32x32.png 1KB
favicon-16x16.png 445B
共 227 条
- 1
- 2
- 3
资源评论
极致人生-010
- 粉丝: 3491
- 资源: 3074
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TV Box Pro1.3.0.apk
- VMware vSphere Hypervisor (ESXi) 8.0U3度盘分享地址,Patch无独立提供下载 随
- 【minecraft2D(魔改版)(c++)】
- Customizable Survivors Pack v2.0
- 汇编语言与单片机设计课设报告(含源码)-单总线温度采集
- c800-universalk9-mz.SPA.159-3.M8.bin
- 小苹果影视盒子_1.3.6-1.apk
- 五香佳节:用程序庆祝端午节-关于端午节源码
- grafana-enterprise-11.1.0.linux-amd64.tar
- Video Coding with Cross-Component Sample Offset
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功