|
@@ -2,12 +2,27 @@ package com.qmth.teachcloud.common.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.teachcloud.common.bean.dto.SchoolDto;
|
|
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.entity.BasicSchool;
|
|
|
|
+import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
|
|
|
|
+import com.qmth.teachcloud.common.enums.UploadFileEnum;
|
|
import com.qmth.teachcloud.common.mapper.BasicSchoolMapper;
|
|
import com.qmth.teachcloud.common.mapper.BasicSchoolMapper;
|
|
import com.qmth.teachcloud.common.service.BasicSchoolService;
|
|
import com.qmth.teachcloud.common.service.BasicSchoolService;
|
|
|
|
+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.stereotype.Service;
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
+import java.io.File;
|
|
|
|
+import java.io.FileInputStream;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
+import java.util.StringJoiner;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -20,8 +35,53 @@ import java.util.List;
|
|
@Service
|
|
@Service
|
|
public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, BasicSchool> implements BasicSchoolService {
|
|
public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, BasicSchool> implements BasicSchoolService {
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ DictionaryConfig dictionaryConfig;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ FileStoreUtil fileStoreUtil;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<SchoolDto> listSchool() {
|
|
public List<SchoolDto> listSchool() {
|
|
return this.baseMapper.listSchool();
|
|
return this.baseMapper.listSchool();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean updateSchool(Long id, String code, String name, MultipartFile logo, String logoMd5) {
|
|
|
|
+ BasicSchool basicSchool = this.getById(id);
|
|
|
|
+ basicSchool.setCode(code);
|
|
|
|
+ basicSchool.setName(name);
|
|
|
|
+
|
|
|
|
+ if (logo != null) {
|
|
|
|
+ boolean oss = dictionaryConfig.sysDomain().isOss();
|
|
|
|
+ StringJoiner stringJoiner = new StringJoiner("");
|
|
|
|
+ if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
|
|
|
|
+ stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
|
|
|
|
+ }
|
|
|
|
+ stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
|
|
|
|
+
|
|
|
|
+ File fileTemp = null;
|
|
|
|
+ String dirName = null;
|
|
|
|
+ try {
|
|
|
|
+ fileTemp = File.createTempFile("temp", SystemConstant.JPG_PREFIX);
|
|
|
|
+ FileUtils.copyInputStreamToFile(new FileInputStream((File) logo), fileTemp);
|
|
|
|
+
|
|
|
|
+ dirName = stringJoiner + SystemConstant.getNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
|
|
|
|
+ String jpgFileMd5 = DigestUtils.md5Hex(new FileInputStream(fileTemp));
|
|
|
|
+ if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getServer())) {
|
|
|
|
+ fileStoreUtil.localUpload(dirName, new FileInputStream(fileTemp), jpgFileMd5, LocalCatalogEnum.LOCAL_FILE);
|
|
|
|
+ } else {
|
|
|
|
+ fileStoreUtil.ossUpload(dirName, fileTemp, jpgFileMd5, UploadFileEnum.FILE.getFssType());
|
|
|
|
+ }
|
|
|
|
+ basicSchool.setLogo(dirName);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error(SystemConstant.LOG_ERROR, e);
|
|
|
|
+ } finally {
|
|
|
|
+ if (Objects.nonNull(fileTemp)) {
|
|
|
|
+ fileTemp.delete();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return this.updateById(basicSchool);
|
|
|
|
+ }
|
|
}
|
|
}
|