package com.ym.mec.collectfee.controller; import com.ym.mec.collectfee.common.page.PageInfo; import com.ym.mec.collectfee.common.page.QueryInfo; import com.ym.mec.collectfee.common.web.BaseController; import com.ym.mec.collectfee.entity.ApplyInfo; import com.ym.mec.collectfee.entity.MusicTeamsPageInfo; import com.ym.mec.collectfee.entity.School; import com.ym.mec.collectfee.entity.StudentsQueryInfo; import com.ym.mec.collectfee.service.ApplyInfoService; import com.ym.mec.collectfee.service.CourseGroupInfoService; import com.ym.mec.collectfee.service.OrderService; import com.ym.mec.collectfee.service.SchoolService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; @RestController() @RequestMapping("user") @Api("用户服务") public class UserController extends BaseController { @Autowired private ApplyInfoService applyInfoService; @Autowired private SchoolService schoolService; @Autowired private OrderService orderService; @Autowired private CourseGroupInfoService courseGroupInfoService; /** * 查询用户详情 * @param phone * @param clazzId * @return */ @GetMapping("/getUserDetailByPhone") @ApiOperation(value = "根据乐团编号、用户手机,查询用户详情") @ApiImplicitParams({ @ApiImplicitParam(name = "phone", value = "用户手机", required = true, dataType = "String"), @ApiImplicitParam(name = "clazzId", value = "乐团编号", required = true, dataType = "Integer")}) public Object getUserDetailByPhone(String phone,Integer clazzId){ if(StringUtils.isEmpty(phone) || clazzId == null){ return failed("参数校验异常"); } ApplyInfo userByPhone = applyInfoService.findUserByPhone(phone, clazzId); return succeed(userByPhone); } /** * 用户报名 * @param applyInfo * @return */ @ApiOperation(value = "学生报名乐团") @PostMapping("/userApply") public Object userApply(ApplyInfo applyInfo){ if(applyInfo != null){ Date date = new Date(); applyInfo.setCreateTime(date); applyInfo.setUpdateTime(date); applyInfoService.insert(applyInfo); return succeed(applyInfo.getId()); } return failed(); } /** * 根据乐团id获取乐团详情,查询乐团状态也通过该接口 * @param clazzId * @return */ @ApiOperation(value = "根据乐团编号获取乐团详情,查询乐团状态也通过该接口") @PostMapping("/getClassDetail") @ApiImplicitParams({ @ApiImplicitParam(name = "clazzId", value = "乐团编号", required = true, dataType = "Integer"), @ApiImplicitParam(name = "schoolId", value = "学校编号", required = true, dataType = "Integer")}) public Object getSchoolDetail(Integer schoolId,Integer clazzId){ return succeed(orderService.getSchoolDetail(schoolId,clazzId)); } /** * 根据学生编号获取乐团注册页面数据 * @param stuId * @return */ @ApiOperation(value = "根据学生编号获取乐团注册页面数据") @PostMapping("/getUserRegisterViewDetail") public Object getUserRegisterViewDetail(Integer stuId){ return succeed(applyInfoService.getUserRegisterViewDetail(stuId)); } /** * 推送用户到mec注册 * @return */ @PostMapping("/userRegister") public Object userRegister(String phone){ return succeed(applyInfoService.userRegister(phone)); } /** * 获取乐团课程组列表 * @return */ @PostMapping("/getCourses") @ApiOperation(value = "根据乐团编号,获取乐团课程组列表") @ApiImplicitParams({ @ApiImplicitParam(name = "clazzId", value = "乐团编号", required = true, dataType = "Integer")}) public Object getCourses(Integer clazzId){ return succeed(courseGroupInfoService.getCourses(clazzId)); } @ApiOperation(value = "获取所有乐团列表") @PostMapping("/getMusicTeams") public Object getMusicTeams(MusicTeamsPageInfo pageInfo){ return succeed(schoolService.queryPage(pageInfo)); } @ApiOperation(value = "根据乐团编号,获取学员列表") @PostMapping("/getMusicTeamStu") public Object getMusicTeamStu(StudentsQueryInfo queryInfo){ return succeed(applyInfoService.queryUserPage(queryInfo)); } @ApiOperation(value = "获取所有分部列表") @GetMapping("/getBranches") public Object getBranches(){ return succeed(applyInfoService.getBranches()); } @ApiOperation(value = "获取学校详情") @GetMapping("/getSchool") public Object getSchool(Integer schoolId){ return succeed(applyInfoService.get(schoolId)); } /** * 保存学校列表 * @return */ @GetMapping("/saveSeminary") public Object saveSeminary(){ applyInfoService.saveSeminary(); return succeed(); } /** * 修改乐团信息 * @return */ @ApiOperation(value = "修改乐团信息") @PostMapping("/updateClass") public Object updateClass(School school){ school.setUpdateTime(new Date()); schoolService.update(school); return succeed(); } /** * 修改学生信息 * @return */ @ApiOperation(value = "修改学生信息") @PostMapping("/updateUser") public Object updateUser(ApplyInfo applyInfo){ applyInfo.setUpdateTime(new Date()); applyInfoService.update(applyInfo); return succeed(); } }