package com.qmth.data.docking.api; import com.qmth.boot.api.annotation.Aac; import com.qmth.boot.api.constant.ApiConstant; import com.qmth.data.docking.bean.result.ZufeCourseResult; import com.qmth.data.docking.bean.result.ZufeExamResult; import com.qmth.data.docking.entity.TSToken; import com.qmth.data.docking.util.zufe.ZufeDataDockingUtil; import com.qmth.teachcloud.exchange.common.contant.SystemConstant; import com.qmth.teachcloud.exchange.common.util.Result; import com.qmth.teachcloud.exchange.common.util.ResultUtil; import io.swagger.annotations.*; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.IOException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; /** *

* 数据同步接口 前端控制器 *

* * @author wangliang * @since 2025-06-09 */ @Api(tags = "数据同步接口Controller") @RestController @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_DATA_DOCKING) @Validated public class DataDockingController { @Resource ZufeDataDockingUtil zufeDataDockingUtil; @CrossOrigin(maxAge = 3600) //支持跨域 @ApiOperation(value = "登录") @RequestMapping(value = "/login", method = RequestMethod.GET) @ApiResponses({@ApiResponse(code = 200, message = "返回数据", response = TSToken.class)}) @Aac(auth = false) public Result login(@ApiParam(value = "key", required = true) @RequestParam String key, @ApiParam(value = "secret", required = true) @RequestParam String secret) throws IOException { return ResultUtil.ok(zufeDataDockingUtil.login(key, secret)); } @CrossOrigin(maxAge = 3600) //支持跨域 @ApiOperation(value = "课程") @RequestMapping(value = "/course", method = RequestMethod.GET) @ApiResponses({@ApiResponse(code = 200, message = "返回数据", response = ZufeCourseResult.class)}) @Aac(auth = false) public Result course(@ApiParam(value = "access_token", required = true) @RequestParam String accessToken) throws IOException, NoSuchAlgorithmException, KeyManagementException { zufeDataDockingUtil.course(accessToken); return ResultUtil.ok(true); } @CrossOrigin(maxAge = 3600) //支持跨域 @ApiOperation(value = "考试") @RequestMapping(value = "/exam", method = RequestMethod.GET) @ApiResponses({@ApiResponse(code = 200, message = "返回数据", response = ZufeExamResult.class)}) @Aac(auth = false) public Result exam(@ApiParam(value = "access_token", required = true) @RequestParam String accessToken) throws IOException, NoSuchAlgorithmException, KeyManagementException { zufeDataDockingUtil.exam(accessToken); return ResultUtil.ok(true); } }