package com.dsh.account.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.TStudent; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuPhysicalVo; import com.dsh.account.service.TAppUserService; import com.dsh.account.service.TStudentService; import com.dsh.account.util.DateUtil; import com.dsh.account.util.ResultUtil; import com.dsh.account.util.TokenUtil; import com.dsh.account.util.ToolUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; /** * 学员上课情况 接口 */ @Api @CrossOrigin @RestController @RequestMapping("/base/startCource") public class ClassDetailsController { private Logger logger = LoggerFactory.getLogger("business-log"); @Autowired private TStudentService istuService; @Autowired private TAppUserService tappuService; @Autowired private TokenUtil tokenUtil; @ResponseBody @PostMapping("/stu/queryStudentData") @ApiOperation(value = "根据登录用户ID查询学员信息", tags = {"APP-开始上课-用户学员信息"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "经度值", name = "longitude", required = true, dataType = "String"), @ApiImplicitParam(value = "纬度值", name = "latitude", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil queryCouponRecord(String longitude,String latitude,HttpServletRequest request){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } return ResultUtil.success(tappuService.queryUserOfStus(userIdFormRedis,longitude,latitude)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(ResultUtil.ERROR); } } @ResponseBody @PostMapping("/stu/queryPhysical") @ApiOperation(value = "获取学员测试报告", tags = {"APP-开始上课-获取学员测试报告"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "学员id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil getStuPhysicalInfo(@RequestBody Integer stuID){ StuPhysicalVo vo = new StuPhysicalVo(); TStudent tStudent = istuService.getById(stuID); if (ToolUtil.isNotEmpty(tStudent)){ vo.setBmi(tStudent.getBmi()); vo.setUrl(tStudent.getLateralSurface()); vo.setHeight(tStudent.getHeight()); vo.setWeight(tStudent.getWeight()); } return ResultUtil.success(vo); } /** * 添加学员信息 */ @ResponseBody @PostMapping("/stu/addData") @ApiOperation(value = "添加学员信息", tags = {"APP-开始上课-添加学员信息"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "学员信息", name = "stu", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) @Transactional public ResultUtil addStu(@RequestBody StuDetailsReq stu,HttpServletRequest request){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } istuService.addStuOfAppUser(stu,userIdFormRedis); return ResultUtil.success(); }catch (Exception e){ return ResultUtil.runErr(ResultUtil.ERROR); } } /** * 该APP用户下的学员列表 */ @ResponseBody @PostMapping("/stu/listOfStu") @ApiOperation(value = "该APP用户下的学员列表", tags = {"APP-开始上课-学员列表"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil queryStuList(HttpServletRequest request){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } List stuListVos = new ArrayList<>(); List tStudents = istuService.list(new QueryWrapper() .eq("appUserId",userIdFormRedis)); if (tStudents.size() > 0){ tStudents.forEach(sts -> { StuListVo vo = new StuListVo(); vo.setStuId(sts.getId()); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); vo.setBirthday(simpleDateFormat.format(sts.getBirthday())); vo.setStuName(sts.getName()); vo.setStuAge(DateUtil.age(sts.getBirthday())); vo.setStuHeight(sts.getHeight()); vo.setStuWeight(sts.getWeight()); vo.setIsNot(sts.getIsDefault()); }); } return ResultUtil.success(stuListVos); }catch (Exception e){ return ResultUtil.runErr(ResultUtil.ERROR); } } /** * 课时详情 */ @ResponseBody @PostMapping("/stu/lessonDetails") @ApiOperation(value = "课时详情", tags = {"APP-开始上课-课时详情"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public void coursePackageDetails(@RequestBody Integer lessonId){ } }