package com.dsh.account.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.TStudent; import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.model.vo.classDetails.classInsVo.*; import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; 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.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; /** * 学员上课情况 接口 */ @RestController @RequestMapping("") public class ClassDetailsController { private Logger logger = LoggerFactory.getLogger("business-log"); @Autowired private TStudentService istuService; @Autowired private TAppUserService tappuService; @Autowired private TokenUtil tokenUtil; @ResponseBody @PostMapping("/base/startCource/queryStudentData") @ApiOperation(value = "上课首页", tags = {"APP-开始上课"}) @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(@RequestBody String longitude, @RequestBody 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(); } } @ResponseBody @PostMapping("/base/startCource/queryPhysical") @ApiOperation(value = "获取学员测试报告", tags = {"APP-开始上课"}) @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("/base/startCource/addData") @ApiOperation(value = "添加学员信息", tags = {"APP-开始上课"}) @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("/base/startCource/listOfStu") @ApiOperation(value = "学员列表", tags = {"APP-开始上课"}) @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(); } } /** * 课时详情 */ @ResponseBody @PostMapping("/base/startCource/lessonDetails") @ApiOperation(value = "课时详情", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(value = "课包id", name = "lessonId", required = true, dataType = "int"), @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), }) public ResultUtil coursePackageDetails(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } return ResultUtil.success(istuService.querySessionDetailsDt(userIdFormRedis,lessonId,stuId)); }catch (Exception e){ return ResultUtil.runErr(); } } /** * 课时详情-记录列表 */ @ResponseBody @PostMapping("/base/startCource/recordDetails") @ApiOperation(value = "课时详情-记录列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) public ResultUtil> recordList(@RequestBody RecordTimeRequest timeRequest, HttpServletRequest request){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } return ResultUtil.success(); }catch (Exception e){ return ResultUtil.runErr(); } } /** * 课时详情-续课 */ @ResponseBody @PostMapping("/base/startCource/renewal") @ApiOperation(value = "课时详情-续课", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil renewalOfCourses(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){ try { return ResultUtil.success(); }catch (Exception e){ return ResultUtil.runErr(); } } /** * 学员评语 */ @ResponseBody @PostMapping("/base/startCource/stuComment") @ApiOperation(value = "学员评语", tags = {"APP-开始上课"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil queryStuComment(@RequestParam("stuId") Integer stuId, HttpServletRequest request){ try { return ResultUtil.success(); }catch (Exception e){ return ResultUtil.runErr(); } } }