Ver código fonte

本地logo和学校编辑logo修改

wangliang 2 anos atrás
pai
commit
11ea1c943c

+ 1 - 1
distributed-print-business/src/main/resources/db/install/teachcloud_db.sql

@@ -318,7 +318,7 @@ CREATE TABLE `basic_school` (
                                 `create_time` bigint DEFAULT NULL COMMENT '创建时间',
                                 `update_id` bigint DEFAULT NULL COMMENT '更新人',
                                 `update_time` bigint DEFAULT NULL COMMENT '更新时间',
-                                `logo` varchar(2000) DEFAULT NULL COMMENT '学校logo',
+                                `logo` mediumtext DEFAULT NULL COMMENT '学校logo',
                                 PRIMARY KEY (`id`) USING BTREE,
                                 UNIQUE KEY `code` (`code`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学校表';

+ 1 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -433,12 +433,7 @@ public class SysController {
             authInfoService.appHasExpired(code);
             SysConfig sysConfig = commonCacheService.addSysConfigCache(basicSchool.getId(), SystemConstant.ACCOUNT_SMS_VERIFY);
             Map<String, Object> map = new HashMap<>();
-
-            if (Objects.nonNull(basicSchool.getLogo()) && (!basicSchool.getLogo().startsWith("http") && !basicSchool.getLogo().startsWith("https") && !basicSchool.getLogo().startsWith("data:image/png;base64"))) {
-                map.put(SystemConstant.LOGO, SystemConstant.getLocalFilePath(basicSchool.getLogo()));
-            } else {
-                map.put(SystemConstant.LOGO, basicSchool.getLogo());
-            }
+            map.put(SystemConstant.LOGO, basicSchool.getLogo());
             map.put("name", basicSchool.getName());
             map.put("accountSmsVerify", Objects.nonNull(sysConfig) ? Boolean.valueOf(sysConfig.getConfigValue()) : false);
             return ResultUtil.ok(map);

+ 1 - 27
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AuthInfoServiceImpl.java

@@ -14,12 +14,9 @@ import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.TSAuth;
 import com.qmth.teachcloud.common.enums.AuthEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -29,7 +26,6 @@ import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.io.File;
-import java.io.FileInputStream;
 import java.util.*;
 
 /**
@@ -232,29 +228,7 @@ public class AuthInfoServiceImpl implements AuthInfoService {
             if (Objects.isNull(basicSchool)) {//不存在则创建学校
                 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"))) {
-                    File fileTemp = null;
-                    String dirName = null;
-                    try {
-//                        File fileNew = new File("/Volumes/extend/图库/spring.jpg");
-                        fileTemp = SystemConstant.getFileTempVar(SystemConstant.JPG_PREFIX);
-                        SystemConstant.base64ToImage(o.getLogo(), fileTemp.getPath());
-//                        FileUtils.copyInputStreamToFile(new FileInputStream(fileNew), fileTemp);
-
-                        dirName = stringJoiner.toString() + SystemConstant.getNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
-                        String jpgFileMd5 = DigestUtils.md5Hex(new FileInputStream(fileTemp));
-                        if (oss || (!oss && dictionaryConfig.fssPrivateDomain().getConfig().startsWith(SystemConstant.START_PARENT))) {
-                            fileStoreUtil.ossUpload(dirName, fileTemp, jpgFileMd5, UploadFileEnum.FILE.getFssType());
-                        } else {
-                            fileStoreUtil.localUpload(dirName, new FileInputStream(fileTemp), jpgFileMd5, LocalCatalogEnum.LOCAL_FILE);
-                        }
-                        basicSchool.setLogo(dirName);
-                    } catch (Exception e) {
-                        log.error(SystemConstant.LOG_ERROR, e);
-                    } finally {
-                        if (Objects.nonNull(fileTemp)) {
-                            fileTemp.delete();
-                        }
-                    }
+                    basicSchool.setLogo("data:image/png;base64," + o.getLogo());
                 } else {
                     basicSchool.setLogo(o.getLogoUrl());
                 }

+ 5 - 36
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSchoolServiceImpl.java

@@ -5,25 +5,16 @@ import com.qmth.teachcloud.common.bean.dto.SchoolDto;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.mapper.BasicSchoolMapper;
 import com.qmth.teachcloud.common.service.BasicSchoolService;
 import com.qmth.teachcloud.common.service.CommonCacheService;
-import com.qmth.teachcloud.common.util.Base64Util;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.io.File;
-import java.io.FileInputStream;
+import java.util.Base64;
 import java.util.List;
-import java.util.Objects;
-import java.util.StringJoiner;
 
 /**
  * <p>
@@ -57,36 +48,14 @@ public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, Basic
         basicSchool.setName(name);
 
         if (logo != null) {
-            boolean oss = dictionaryConfig.sysDomain().isOss();
-            StringJoiner stringJoiner = new StringJoiner("");
-            if (!oss && Objects.nonNull(dictionaryConfig.fssPublicDomain()) && !StringUtils.isBlank(dictionaryConfig.fssPublicDomain().getConfig()) && !dictionaryConfig.fssPublicDomain().getConfig().startsWith(SystemConstant.START_PARENT)) {
-                stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig());
-            }
-            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
-
-            File fileTemp = null;
-            String dirName = null;
             try {
-                fileTemp = SystemConstant.getFileTempVar(SystemConstant.JPG_PREFIX);
-                FileUtils.copyInputStreamToFile(logo.getInputStream(), fileTemp);
-
-                dirName = stringJoiner + SystemConstant.getNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
-                String jpgFileMd5 = DigestUtils.md5Hex(new FileInputStream(fileTemp));
-                if (!oss && Objects.nonNull(dictionaryConfig.fssPublicDomain()) && !StringUtils.isBlank(dictionaryConfig.fssPublicDomain().getServer())) {
-                    String toBase64 = Base64Util.imageToBase64(fileTemp);
-                    basicSchool.setLogo(toBase64);
-                } else {
-                    fileStoreUtil.ossUpload(dirName, fileTemp, jpgFileMd5, UploadFileEnum.FILE.getFssType());
-                    basicSchool.setLogo(fileStoreUtil.getPrivateUrl(dirName, UploadFileEnum.FILE.getFssType()));
-                }
+                String toBase64 = "data:image/png;base64," + new String(Base64.getEncoder().encode(logo.getBytes()), SystemConstant.CHARSET);
+                basicSchool.setLogo(toBase64);
             } catch (Exception e) {
                 log.error(SystemConstant.LOG_ERROR, e);
             } finally {
-                if (Objects.nonNull(fileTemp)) {
-                    fileTemp.delete();
-                    commonCacheService.removeSchoolCache(basicSchool.getCode());
-                    commonCacheService.removeSchoolCache(basicSchool.getId());
-                }
+                commonCacheService.removeSchoolCache(basicSchool.getCode());
+                commonCacheService.removeSchoolCache(basicSchool.getId());
             }
         }
         return this.updateById(basicSchool);

+ 1 - 1
teachcloud-report-business/src/main/resources/db/install/teachcloud_report_db.sql

@@ -70,7 +70,7 @@ CREATE TABLE `basic_school` (
                                 `access_key` varchar(64) DEFAULT NULL COMMENT '访问key',
                                 `access_secret` varchar(64) DEFAULT NULL COMMENT '访问secret',
                                 `remark` text COMMENT '备注',
-                                `logo` varchar(500) DEFAULT NULL COMMENT 'logo',
+                                `logo` mediumtext DEFAULT NULL COMMENT 'logo',
                                 `create_id` bigint DEFAULT NULL COMMENT '创建人',
                                 `create_time` bigint DEFAULT NULL COMMENT '创建时间',
                                 `update_time` bigint DEFAULT NULL COMMENT '更新时间',

+ 1 - 5
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/SysController.java

@@ -234,11 +234,7 @@ public class SysController {
             Optional.ofNullable(basicSchool).orElseThrow(() -> ExceptionResultEnum.SCHOOL_NO_DATA.exception());
             authInfoService.appHasExpired(code);
             Map<String, String> map = new HashMap<>();
-            if (Objects.nonNull(basicSchool.getLogo()) && (!basicSchool.getLogo().startsWith("http") || !basicSchool.getLogo().startsWith("https"))) {
-                map.put(SystemConstant.LOGO, SystemConstant.getLocalFilePath(basicSchool.getLogo()));
-            } else {
-                map.put(SystemConstant.LOGO, basicSchool.getLogo());
-            }
+            map.put(SystemConstant.LOGO, basicSchool.getLogo());
             map.put("name", basicSchool.getName());
             return ResultUtil.ok(map);
         } else {