|
@@ -1,5 +1,6 @@
|
|
package com.qmth.teachcloud.exchange.common.service.impl;
|
|
package com.qmth.teachcloud.exchange.common.service.impl;
|
|
|
|
|
|
|
|
+import com.aventrix.jnanoid.jnanoid.NanoIdUtils;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.qmth.boot.core.cache.service.CacheService;
|
|
import com.qmth.boot.core.cache.service.CacheService;
|
|
import com.qmth.boot.core.solar.config.SolarProperties;
|
|
import com.qmth.boot.core.solar.config.SolarProperties;
|
|
@@ -19,6 +20,8 @@ import com.qmth.teachcloud.exchange.common.service.BasicSchoolService;
|
|
import com.qmth.teachcloud.exchange.common.service.TSAuthService;
|
|
import com.qmth.teachcloud.exchange.common.service.TSAuthService;
|
|
import com.qmth.teachcloud.exchange.common.util.FileStoreUtil;
|
|
import com.qmth.teachcloud.exchange.common.util.FileStoreUtil;
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
|
+import org.apache.commons.io.FilenameUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -167,13 +170,14 @@ public class AuthInfoServiceImpl implements AuthInfoService {
|
|
orgCodesMap = new HashMap<>();
|
|
orgCodesMap = new HashMap<>();
|
|
basicSchoolSet = new HashSet<>();
|
|
basicSchoolSet = new HashSet<>();
|
|
}
|
|
}
|
|
- String config = null;
|
|
|
|
- if (Objects.nonNull(dictionaryConfig.fssPublicDomain())) {
|
|
|
|
- config = dictionaryConfig.fssPublicDomain().getConfig();
|
|
|
|
- } else if (Objects.nonNull(dictionaryConfig.fssPrivateDomain())) {
|
|
|
|
- config = dictionaryConfig.fssPrivateDomain().getConfig();
|
|
|
|
- }
|
|
|
|
- boolean oss = Objects.nonNull(config) && (config.startsWith(SystemConstant.OSS) || config.startsWith(SystemConstant.OSS.toUpperCase())) ? true : false;
|
|
|
|
|
|
+
|
|
|
|
+ LocalDateTime nowTime = LocalDateTime.now();
|
|
|
|
+ StringJoiner stringJoiner = new StringJoiner("");
|
|
|
|
+ stringJoiner.add(UploadFileEnum.FILE.name().toLowerCase()).add(File.separator)
|
|
|
|
+ .add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
|
|
+ .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
|
|
|
|
+ .add(String.format("%02d", nowTime.getDayOfMonth())).add(File.separator);
|
|
|
|
+
|
|
for (OrgInfo o : orgInfoList) {
|
|
for (OrgInfo o : orgInfoList) {
|
|
orgCodesMap.put(o.getCode(), o.getCode());
|
|
orgCodesMap.put(o.getCode(), o.getCode());
|
|
if (authEnum == AuthEnum.OFF_LINE) {
|
|
if (authEnum == AuthEnum.OFF_LINE) {
|
|
@@ -191,33 +195,30 @@ public class AuthInfoServiceImpl implements AuthInfoService {
|
|
BasicSchool basicSchool = basicSchoolService.getOne(basicSchoolQueryWrapper);
|
|
BasicSchool basicSchool = basicSchoolService.getOne(basicSchoolQueryWrapper);
|
|
if (Objects.isNull(basicSchool)) {//不存在则创建学校
|
|
if (Objects.isNull(basicSchool)) {//不存在则创建学校
|
|
basicSchool = new BasicSchool(o.getId(), o.getCode(), o.getName(), o.getAccessKey(), o.getAccessSecret());
|
|
basicSchool = new BasicSchool(o.getId(), o.getCode(), o.getName(), o.getAccessKey(), o.getAccessSecret());
|
|
- if (Objects.nonNull(o.getLogo()) && (!o.getLogo().startsWith("https:") || !o.getLogo().startsWith("http"))) {
|
|
|
|
- String filePath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + SystemConstant.getUuid() + ".jpg";
|
|
|
|
- File logoFile = new File(filePath);
|
|
|
|
- if (!logoFile.getParentFile().exists()) {
|
|
|
|
- // 不存在则创建父目录及子文件
|
|
|
|
- logoFile.getParentFile().mkdirs();
|
|
|
|
- logoFile.createNewFile();
|
|
|
|
- }
|
|
|
|
- SystemConstant.base64ToImage(o.getLogo(), filePath);
|
|
|
|
|
|
+// if (Objects.nonNull(o.getLogo()) && (!o.getLogo().startsWith("https:") || !o.getLogo().startsWith("http"))) {
|
|
|
|
+ File fileTemp = null;
|
|
|
|
+ String dirName = null;
|
|
|
|
+ try {
|
|
|
|
+ File fileNew = new File("/Users/king/Downloads/spring.jpg");
|
|
|
|
+ fileTemp = File.createTempFile("temp", ".jpg");
|
|
|
|
+// SystemConstant.base64ToImage(o.getLogo(), fileTemp.getPath());
|
|
|
|
+ FileUtils.copyInputStreamToFile(new FileInputStream(fileNew), fileTemp);
|
|
|
|
|
|
- if (oss) {
|
|
|
|
- LocalDateTime nowTime = LocalDateTime.now();
|
|
|
|
- StringJoiner stringJoiner = new StringJoiner("");
|
|
|
|
- stringJoiner.add(UploadFileEnum.FILE.name().toLowerCase()).add(File.separator)
|
|
|
|
- .add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
|
|
- .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
|
|
|
|
- .add(String.format("%02d", nowTime.getDayOfMonth())).add(File.separator)
|
|
|
|
- .add(SystemConstant.getUuid()).add(".jpg");
|
|
|
|
- fileStoreUtil.ossUpload(stringJoiner.toString(), logoFile, DigestUtils.md5Hex(new FileInputStream(logoFile)), UploadFileEnum.FILE.getFssType());
|
|
|
|
- logoFile.delete();
|
|
|
|
- basicSchool.setLogo(fileStoreUtil.getPrivateUrl(stringJoiner.toString(), UploadFileEnum.FILE.getFssType()));
|
|
|
|
- } else {
|
|
|
|
- basicSchool.setLogo(filePath);
|
|
|
|
|
|
+ dirName = stringJoiner.toString() + NanoIdUtils.randomNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
|
|
|
|
+ fileStoreUtil.ossUpload(dirName, fileTemp, DigestUtils.md5Hex(new FileInputStream(fileTemp)), UploadFileEnum.FILE.getFssType());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error(SystemConstant.LOG_ERROR, e);
|
|
|
|
+ } finally {
|
|
|
|
+ if (Objects.nonNull(fileTemp)) {
|
|
|
|
+ fileTemp.delete();
|
|
|
|
+ }
|
|
|
|
+ if (Objects.nonNull(dirName)) {
|
|
|
|
+ basicSchool.setLogo(dictionaryConfig.fssPublicDomain().getServer() + File.separator + dirName);
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- basicSchool.setLogo(o.getLogoUrl());
|
|
|
|
}
|
|
}
|
|
|
|
+// } else {
|
|
|
|
+// basicSchool.setLogo(o.getLogoUrl());
|
|
|
|
+// }
|
|
basicSchoolSet.add(basicSchool);
|
|
basicSchoolSet.add(basicSchool);
|
|
} else {
|
|
} else {
|
|
basicSchool.setAccessKey(o.getAccessKey());
|
|
basicSchool.setAccessKey(o.getAccessKey());
|