DataDockingController.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.qmth.data.docking.api;
  2. import com.qmth.boot.api.annotation.Aac;
  3. import com.qmth.boot.api.constant.ApiConstant;
  4. import com.qmth.data.docking.bean.result.ZufeCourseResult;
  5. import com.qmth.data.docking.bean.result.ZufeExamResult;
  6. import com.qmth.data.docking.entity.TSToken;
  7. import com.qmth.data.docking.util.zufe.ZufeDataDockingUtil;
  8. import com.qmth.teachcloud.exchange.common.contant.SystemConstant;
  9. import com.qmth.teachcloud.exchange.common.util.Result;
  10. import com.qmth.teachcloud.exchange.common.util.ResultUtil;
  11. import io.swagger.annotations.*;
  12. import org.springframework.validation.annotation.Validated;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.annotation.Resource;
  15. import java.io.IOException;
  16. import java.security.KeyManagementException;
  17. import java.security.NoSuchAlgorithmException;
  18. /**
  19. * <p>
  20. * 数据同步接口 前端控制器
  21. * </p>
  22. *
  23. * @author wangliang
  24. * @since 2025-06-09
  25. */
  26. @Api(tags = "数据同步接口Controller")
  27. @RestController
  28. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_DATA_DOCKING)
  29. @Validated
  30. public class DataDockingController {
  31. @Resource
  32. ZufeDataDockingUtil zufeDataDockingUtil;
  33. @CrossOrigin(maxAge = 3600) //支持跨域
  34. @ApiOperation(value = "登录")
  35. @RequestMapping(value = "/login", method = RequestMethod.GET)
  36. @ApiResponses({@ApiResponse(code = 200, message = "返回数据", response = TSToken.class)})
  37. @Aac(auth = false)
  38. public Result login(@ApiParam(value = "key", required = true) @RequestParam String key,
  39. @ApiParam(value = "secret", required = true) @RequestParam String secret) throws IOException {
  40. return ResultUtil.ok(zufeDataDockingUtil.login(key, secret));
  41. }
  42. @CrossOrigin(maxAge = 3600) //支持跨域
  43. @ApiOperation(value = "课程")
  44. @RequestMapping(value = "/course", method = RequestMethod.GET)
  45. @ApiResponses({@ApiResponse(code = 200, message = "返回数据", response = ZufeCourseResult.class)})
  46. @Aac(auth = false)
  47. public Result course(@ApiParam(value = "access_token", required = true) @RequestParam String accessToken) throws IOException, NoSuchAlgorithmException, KeyManagementException {
  48. zufeDataDockingUtil.course(accessToken);
  49. return ResultUtil.ok(true);
  50. }
  51. @CrossOrigin(maxAge = 3600) //支持跨域
  52. @ApiOperation(value = "考试")
  53. @RequestMapping(value = "/exam", method = RequestMethod.GET)
  54. @ApiResponses({@ApiResponse(code = 200, message = "返回数据", response = ZufeExamResult.class)})
  55. @Aac(auth = false)
  56. public Result exam(@ApiParam(value = "access_token", required = true) @RequestParam String accessToken) throws IOException, NoSuchAlgorithmException, KeyManagementException {
  57. zufeDataDockingUtil.exam(accessToken);
  58. return ResultUtil.ok(true);
  59. }
  60. }