123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package com.qmth.distributed.print.api;
- import com.qmth.boot.api.annotation.Aac;
- import com.qmth.boot.api.annotation.BOOL;
- import com.qmth.boot.api.constant.ApiConstant;
- import com.qmth.boot.core.solar.crypto.AppLicenseUtil;
- import com.qmth.boot.tools.signature.SignatureEntity;
- import com.qmth.boot.tools.signature.SignatureType;
- import com.qmth.distributed.print.business.service.AuthInfoService;
- import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
- import com.qmth.teachcloud.common.contant.SystemConstant;
- import com.qmth.teachcloud.common.entity.BasicSchool;
- import com.qmth.teachcloud.common.service.CommonCacheService;
- import com.qmth.teachcloud.common.util.*;
- import io.swagger.annotations.*;
- import org.apache.commons.io.IOUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletResponse;
- import java.io.ByteArrayInputStream;
- import java.io.IOException;
- import java.net.URLDecoder;
- import java.util.Objects;
- /**
- * <p>
- * 激活授权配置表 前端控制器
- * </p>
- *
- * @author wangliang
- * @since 2022-04-26
- */
- @Api(tags = "授权配置Controller")
- @RestController
- @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.auth}")
- @Validated
- public class TSAuthController {
- private final static Logger log = LoggerFactory.getLogger(TSAuthController.class);
- @Resource
- AuthInfoService authInfoService;
- @Resource
- CommonCacheService commonCacheService;
- @ApiOperation(value = "导出硬件信息")
- @ApiResponses({@ApiResponse(code = 200, message = "导出硬件信息", response = Object.class)})
- @RequestMapping(value = "/export/device/info", method = RequestMethod.POST)
- public void info() {
- try {
- HttpServletResponse response = ServletUtil.getResponse();
- response.setHeader("Content-Disposition", "attachment; filename=" + SystemConstant.urlEncode("device.info"));
- IOUtils.copy(new ByteArrayInputStream(AppLicenseUtil.buildDeviceInfo().value()), response.getOutputStream());
- } catch (Exception e) {
- log.error(SystemConstant.LOG_ERROR, e);
- }
- }
- @ApiOperation(value = "离线激活")
- @ApiResponses({@ApiResponse(code = 200, message = "授权配置信息", response = Boolean.class)})
- @RequestMapping(value = "/offline/activation", method = RequestMethod.POST)
- public Result offlineActivation(@ApiParam(value = "上传文件", required = true) @RequestParam(required = true) MultipartFile file) throws Exception {
- try {
- authInfoService.updateLicense(file.getBytes());
- } catch (IOException e) {
- e.printStackTrace();
- }
- return ResultUtil.ok(true);
- }
- @ApiOperation(value = "查询激活信息")
- @ApiResponses({@ApiResponse(code = 200, message = "授权配置信息", response = Long.class)})
- @RequestMapping(value = "/select", method = RequestMethod.POST)
- public Result select() {
- return ResultUtil.ok(authInfoService.selectAuthInfo());
- }
- @ApiOperation(value = "测试推送信息给教研分析")
- @ApiResponses({@ApiResponse(code = 200, message = "测试推送信息给教研分析", response = Objects.class)})
- @RequestMapping(value = "/test/push", method = RequestMethod.POST)
- public void testPush() throws IOException {
- /**
- * 测试推送学期
- */
- String url = "/api/report/open/semester_edit";
- Long schoolId = SystemConstant.getHeadOrUserSchoolId();
- BasicSchool basicSchool = commonCacheService.schoolCache(schoolId);
- BasicSemesterParams basicSemesterParams = new BasicSemesterParams("测试学期1", System.currentTimeMillis(), System.currentTimeMillis() + 1L);
- Long timestamp = System.currentTimeMillis();
- String accessToken = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, url, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
- String result = HttpUtil.postJson("http://127.0.0.1:7004" + url, JacksonUtil.parseJson(basicSemesterParams), accessToken, timestamp);
- if (Objects.nonNull(result)) {
- log.info("result:{}", JacksonUtil.parseJson(result));
- }
- // SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
- // Long schoolId = SystemConstant.getHeadOrUserSchoolId();
- // BasicSchool basicSchool = commonCacheService.schoolCache(schoolId);
- // JSONObject jsonObject = new JSONObject();
- // jsonObject.put("orgId", basicSchool.getId());
- // jsonObject.put("orgCode", basicSchool.getCode());
- // jsonObject.put("accessKey", basicSchool.getAccessKey());
- // jsonObject.put("accessSecret", basicSchool.getAccessSecret());
- // jsonObject.put("createId", sysUser.getId());
- // jsonObject.put("createUserName", sysUser.getRealName());
- // jsonObject.put("callbackUrl", "/api/admin/auth/test/callback");
- // Long timestamp = System.currentTimeMillis();
- // String accessToken = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, "/api/report/open/basic/examination/data", timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
- // String result = HttpUtil.post("http://127.0.0.1:7004/api/report/open/basic/examination/data", jsonObject.toJSONString(), accessToken, timestamp);
- // if (Objects.nonNull(result)) {
- // log.info("result:{}", JacksonUtil.parseJson(result));
- // }
- }
- @ApiOperation(value = "测试教研分析回调接口")
- @ApiResponses({@ApiResponse(code = 200, message = "测试教研分析回调接口", response = Objects.class)})
- @RequestMapping(value = "/test/callback", method = RequestMethod.POST)
- @Aac(auth = BOOL.FALSE)
- public Result testCallback(@ApiParam(value = "接收教研分析回调数据", required = true) @RequestBody String result) throws IOException {
- log.info("testCallback,result:{}", result);
- String decodeJson = URLDecoder.decode(result, SystemConstant.CHARSET_NAME);
- log.info("testCallback decodeJson:{}", decodeJson);
- return ResultUtil.ok(System.currentTimeMillis());
- }
- }
|