AdminUploadBiz.java 2.1 KB
Newer Older
F
修改  
fengyw 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
/**
 * Copyright 2015-现在 广州市领课网络科技有限公司
 */
package com.roncoo.education.system.service.admin.biz;

import cn.hutool.core.util.ObjectUtil;
import com.roncoo.education.common.core.base.Result;
import com.roncoo.education.common.core.enums.UploadModeEnum;
import com.roncoo.education.common.core.tools.BeanUtil;
import com.roncoo.education.common.upload.Upload;
import com.roncoo.education.common.upload.UploadFace;
import com.roncoo.education.system.dao.SysConfigDao;
import com.roncoo.education.system.dao.impl.mapper.entity.SysConfig;
import com.roncoo.education.system.dao.impl.mapper.entity.SysConfigExample;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * 上传接口
 *
 * @author wuyun
 */
@Slf4j
@Component
public class AdminUploadBiz {

    @Autowired
    private Map<String, UploadFace> uploadFaceMap;

    @Autowired
    private SysConfigDao sysConfigDao;

    public Result<String> uploadPic(MultipartFile picFile) {
        Upload upload = getUploadForSysConfig();
        if(ObjectUtil.isNotEmpty(upload)|| StringUtils.isEmpty(upload.getStoragePlatform())){
            UploadFace uploadFace =  uploadFaceMap.get(UploadModeEnum.getByCode(Integer.valueOf(upload.getStoragePlatform())));
            String fileUrl = uploadFace.uploadPic(picFile, upload);
            return Result.success(fileUrl);
        }
        return Result.error("上传参数配置");
    }

    public Result<String> uploadDoc(MultipartFile docFile) {
        return null;
    }

    private Upload getUploadForSysConfig() {
        SysConfigExample example = new SysConfigExample();
        List<SysConfig> sysConfigs = sysConfigDao.listByExample(example);
        Map<String, String> map = sysConfigs.stream().collect(Collectors.toMap(SysConfig::getConfigKey, SysConfig::getConfigValue));
        return BeanUtil.objToBean(map, Upload.class);
    }
}