ChildrenDayController.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.ym.mec.student.controller;
  2. import com.ym.mec.auth.api.client.SysUserFeignService;
  3. import com.ym.mec.auth.api.entity.SysUser;
  4. import com.ym.mec.biz.dal.dao.StudentDao;
  5. import com.ym.mec.biz.dal.dto.DegreeFeeDto;
  6. import com.ym.mec.biz.dal.dto.DegreePayDto;
  7. import com.ym.mec.biz.dal.entity.ChildrenDayDegreeDetail;
  8. import com.ym.mec.biz.dal.entity.ChildrenDayReserve;
  9. import com.ym.mec.biz.dal.enums.YesOrNoEnum;
  10. import com.ym.mec.biz.service.ChildrenDayDegreeDetailService;
  11. import com.ym.mec.biz.service.ChildrenDayReserveService;
  12. import com.ym.mec.common.controller.BaseController;
  13. import com.ym.mec.common.entity.HttpResponseResult;
  14. import com.ym.mec.common.exception.BizException;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.http.HttpStatus;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.List;
  21. import java.util.Map;
  22. import java.util.Objects;
  23. @RequestMapping("childrenDay")
  24. @Api(tags = "6.1儿童节活动")
  25. @RestController
  26. public class ChildrenDayController extends BaseController {
  27. @Autowired
  28. private SysUserFeignService sysUserFeignService;
  29. @Autowired
  30. private ChildrenDayReserveService childrenDayReserveService;
  31. @Autowired
  32. private StudentDao studentDao;
  33. @Autowired
  34. private ChildrenDayDegreeDetailService childrenDayDegreeDetailService;
  35. @ApiOperation(value = "占位")
  36. @PostMapping("/reserve")
  37. public HttpResponseResult<ChildrenDayReserve> reserve() {
  38. SysUser user = sysUserFeignService.queryUserInfo();
  39. if (Objects.isNull(user)) {
  40. return failed(HttpStatus.FORBIDDEN, "请登录");
  41. }
  42. return succeed(childrenDayReserveService.addReserve(user, YesOrNoEnum.YES));
  43. }
  44. @ApiOperation(value = "获取占位信息")
  45. @GetMapping("/getReserve")
  46. public HttpResponseResult<ChildrenDayReserve> getReserve() {
  47. SysUser user = sysUserFeignService.queryUserInfo();
  48. if (Objects.isNull(user)) {
  49. return failed(HttpStatus.FORBIDDEN, "请登录");
  50. }
  51. return succeed(childrenDayReserveService.getUserReserve(user.getId()));
  52. }
  53. @ApiOperation(value = "获取考级相关的价格")
  54. @GetMapping("/getFeeInfo")
  55. public HttpResponseResult<DegreeFeeDto> getFeeInfo() {
  56. SysUser user = sysUserFeignService.queryUserInfo();
  57. if (Objects.isNull(user)) {
  58. return failed(HttpStatus.FORBIDDEN, "请登录");
  59. }
  60. return succeed(childrenDayReserveService.getFeeInfo(user.getOrganId()));
  61. }
  62. @ApiOperation(value = "6.1考级支付")
  63. @PostMapping("/pay")
  64. public HttpResponseResult pay(@RequestBody DegreePayDto degreePayDto) throws Exception {
  65. SysUser sysUser = sysUserFeignService.queryUserInfo();
  66. if (sysUser == null) {
  67. throw new BizException("用户信息获取失败,请重新登陆");
  68. }
  69. studentDao.lockUser(sysUser.getId());
  70. degreePayDto.setUserId(sysUser.getId());
  71. degreePayDto.setOrganId(sysUser.getOrganId());
  72. degreePayDto.setUser(sysUser);
  73. List<ChildrenDayDegreeDetail> ingDetails = childrenDayDegreeDetailService.getByUserIdAndStatus(sysUser.getId(), 1);
  74. if (!degreePayDto.getRePay() && ingDetails.size() > 0) {
  75. return failed(HttpStatus.CONTINUE, "您有待支付的订单");
  76. }
  77. Map payMap = childrenDayReserveService.pay(degreePayDto);
  78. if (payMap.containsKey("tradeState")) {
  79. return failed(HttpStatus.CREATED, payMap, "恭喜您,支付成功!");
  80. }
  81. return succeed(payMap);
  82. }
  83. }