diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/core/util/Base64DecodedMultipartFile.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/core/util/Base64DecodedMultipartFile.java new file mode 100644 index 00000000..5236e702 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/core/util/Base64DecodedMultipartFile.java @@ -0,0 +1,75 @@ +package com.bonus.core.common.core.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.io.FileUtil; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +public class Base64DecodedMultipartFile implements MultipartFile { + private final byte[] imgContent; + private final String header; + + public Base64DecodedMultipartFile(byte[] imgContent, String header) { + this.imgContent = imgContent; + this.header = header.split(";")[0]; + } + + public static MultipartFile base64ToMultipart(String base64) { + String[] baseSplit = base64.split(","); + byte[] b = Base64.decode(baseSplit[1]); + + for(int i = 0; i < b.length; ++i) { + if (b[i] < 0) { + b[i] = (byte)(b[i] + 256); + } + } + + return new Base64DecodedMultipartFile(b, baseSplit[0]); + } + + @Override + public String getName() { + double var10000 = (double)System.currentTimeMillis() + Math.random(); + return "" + var10000 + "." + this.header.split("/")[1]; + } + + @Override + public String getOriginalFilename() { + long var10000 = System.currentTimeMillis() + (long)((int)(Math.random() * 10000.0)); + return "" + var10000 + "." + this.header.split("/")[1]; + } + + @Override + public String getContentType() { + return this.header.split(":")[1]; + } + + @Override + public boolean isEmpty() { + return this.imgContent == null || this.imgContent.length == 0; + } + + @Override + public long getSize() { + return (long)this.imgContent.length; + } + + @Override + public byte[] getBytes() throws IOException { + return this.imgContent; + } + + @Override + public InputStream getInputStream() { + return new ByteArrayInputStream(this.imgContent); + } + + @Override + public void transferTo(File dest) throws IOException, IllegalStateException { + FileUtil.writeBytes(this.imgContent, dest); + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/enums/FileNameSuffixEnum.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/enums/FileNameSuffixEnum.java new file mode 100644 index 00000000..4ed8879a --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/enums/FileNameSuffixEnum.java @@ -0,0 +1,90 @@ +package com.bonus.core.common.enums; + +import java.util.ArrayList; +import java.util.List; + +public enum FileNameSuffixEnum { + FILE_TYPE_JPG("jpg", "JPG"), + FILE_TYPE_JPEG("jpeg", "JPEG"), + FILE_TYPE_GIF("gif", "GIF"), + FILE_TYPE_BMP("bmp", "BMP"), + FILE_TYPE_PNG("png", "PNG"), + FILE_TYPE_APK("apk", "APK"), + FILE_TYPE_BIN("bin", "BIN"), + FILE_TYPE_PFX("pfx", "PFX"), + FILE_TYPE_CRT("crt", "CRT"), + FILE_TYPE_CER("cer", "CER"), + FILE_TYPE_KEY("key", "KER"), + FILE_TYPE_P12("p12", "P12"), + FILE_TYPE_ZIP("zip", "ZIP"), + FILE_TYPE_TXT("txt", "TXT"), + FILE_TYPE_MP4("mp4", "MP4"), + FILE_TYPE_AVI("avi", "AVI"), + FILE_TYPE_FLV("flv", "FLV"), + FILE_TYPE_MKV("mkv", "MKV"), + FILE_TYPE_MOV("mov", "MOV"), + FILE_TYPE_RMVB("rmvb", "RMVB"), + FILE_TYPE_WMV("wmv", "WMV"), + FILE_TYPE_ICO("ico", "ICO"); + + private final String key; + private final String desc; + + private FileNameSuffixEnum(String key, String desc) { + this.key = key; + this.desc = desc; + } + + public static List getImgNameList() { + List imgNameList = new ArrayList(); + imgNameList.add(FILE_TYPE_JPG.getDesc()); + imgNameList.add(FILE_TYPE_JPEG.getDesc()); + imgNameList.add(FILE_TYPE_GIF.getDesc()); + imgNameList.add(FILE_TYPE_BMP.getDesc()); + imgNameList.add(FILE_TYPE_PNG.getDesc()); + return imgNameList; + } + + public static List getPhotoNameList() { + List imgNameList = new ArrayList(); + imgNameList.add(FILE_TYPE_JPG.getDesc()); + imgNameList.add(FILE_TYPE_JPEG.getDesc()); + imgNameList.add(FILE_TYPE_PNG.getDesc()); + return imgNameList; + } + + public static List getAllFileNameList() { + List fileNameList = getImgNameList(); + fileNameList.add(FILE_TYPE_APK.getDesc()); + fileNameList.add(FILE_TYPE_BIN.getDesc()); + fileNameList.add(FILE_TYPE_PFX.getDesc()); + fileNameList.add(FILE_TYPE_CRT.getDesc()); + fileNameList.add(FILE_TYPE_CER.getDesc()); + fileNameList.add(FILE_TYPE_KEY.getKey()); + fileNameList.add(FILE_TYPE_P12.getDesc()); + fileNameList.add(FILE_TYPE_TXT.getDesc()); + fileNameList.add(FILE_TYPE_ZIP.getDesc()); + fileNameList.add(FILE_TYPE_ICO.getDesc()); + fileNameList.add(FILE_TYPE_MP4.getDesc()); + fileNameList.add(FILE_TYPE_AVI.getDesc()); + fileNameList.add(FILE_TYPE_FLV.getDesc()); + fileNameList.add(FILE_TYPE_MKV.getDesc()); + fileNameList.add(FILE_TYPE_MOV.getDesc()); + fileNameList.add(FILE_TYPE_RMVB.getDesc()); + fileNameList.add(FILE_TYPE_WMV.getDesc()); + return fileNameList; + } + + public String getKey() { + return this.key; + } + + public String getDesc() { + return this.desc; + } + + // $FF: synthetic method + private static FileNameSuffixEnum[] $values() { + return new FileNameSuffixEnum[]{FILE_TYPE_JPG, FILE_TYPE_JPEG, FILE_TYPE_GIF, FILE_TYPE_BMP, FILE_TYPE_PNG, FILE_TYPE_APK, FILE_TYPE_BIN, FILE_TYPE_PFX, FILE_TYPE_CRT, FILE_TYPE_CER, FILE_TYPE_KEY, FILE_TYPE_P12, FILE_TYPE_ZIP, FILE_TYPE_TXT, FILE_TYPE_MP4, FILE_TYPE_AVI, FILE_TYPE_FLV, FILE_TYPE_MKV, FILE_TYPE_MOV, FILE_TYPE_RMVB, FILE_TYPE_WMV, FILE_TYPE_ICO}; + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/enums/FileUploadSourceEnum.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/enums/FileUploadSourceEnum.java new file mode 100644 index 00000000..743c1d70 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/enums/FileUploadSourceEnum.java @@ -0,0 +1,96 @@ +package com.bonus.core.common.enums; + +import java.util.ArrayList; +import java.util.List; + +public enum FileUploadSourceEnum { + DISHES("dishes", "菜品"), + CUST("cust", "人员"), + TABLE("table", "餐桌"), + FACE("face", "人脸识别"), + PLACE("place", "位置信息"), + STALL("stall", "档口信息"), + SYSTEM("system", "系统"), + ANDROID_APK("androidapk", "安卓apk"), + ABC_MERCHANT_CERT_FILE("abccertfile", "农行商户证书"), + SZRCB_PFX_FILE("szrcbpfxfile", "苏州农商行证书"), + ANDROID_MENU_SELECT("androidmenuselect", "菜品识别采集"), + EVALUATE("evaluate", "订单评价"), + MATERIAL("material", "出入库原料"), + SUPPLIER("supplier", "供应商资质信息"), + COUPON("coupon", "餐券图片"), + QUOTATION("quotation", "报价图片"), + BACK_STAFF("backStaff", "后场人员"), + DEVICE_LOG("leniu_device_log", "设备文件日志6608和6609专用"), + ORDER_PLACE("orderPlace", "下单照片"), + DEVICE_LOGINFO("deviceLogInfo", "设备日志上传"), + DEVICE_UPDATE_ADMIN("deviceUpdateAdmin", "设备更新"), + DEVICE_VIDEO("deviceVideo", "设备操作录像"), + DEVICE_PIC("devicePic", "设备操作拍照"), + SAMPLE("sample", "留样"); + + private final String key; + private final String value; + + private FileUploadSourceEnum(String key, String value) { + this.key = key; + this.value = value; + } + + public static String getKey(String value) { + FileUploadSourceEnum[] fileUploadSourceEnumList = values(); + FileUploadSourceEnum[] var2 = fileUploadSourceEnumList; + int var3 = fileUploadSourceEnumList.length; + + for(int var4 = 0; var4 < var3; ++var4) { + FileUploadSourceEnum fileUploadSourceEnum = var2[var4]; + if (fileUploadSourceEnum.value().equals(value)) { + return fileUploadSourceEnum.key(); + } + } + + return null; + } + + public static String getValue(String key) { + FileUploadSourceEnum[] fileUploadSourceEnumList = values(); + FileUploadSourceEnum[] var2 = fileUploadSourceEnumList; + int var3 = fileUploadSourceEnumList.length; + + for(int var4 = 0; var4 < var3; ++var4) { + FileUploadSourceEnum fileUploadSourceEnum = var2[var4]; + if (fileUploadSourceEnum.key().equals(key)) { + return fileUploadSourceEnum.value(); + } + } + + return null; + } + + public static List getAllEnumsKeyList() { + FileUploadSourceEnum[] fileUploadSourceEnumList = values(); + List uploadKeyList = new ArrayList(); + FileUploadSourceEnum[] var2 = fileUploadSourceEnumList; + int var3 = fileUploadSourceEnumList.length; + + for(int var4 = 0; var4 < var3; ++var4) { + FileUploadSourceEnum fileUploadSourceEnum = var2[var4]; + uploadKeyList.add(fileUploadSourceEnum.key); + } + + return uploadKeyList; + } + + public String key() { + return this.key; + } + + public String value() { + return this.value; + } + + // $FF: synthetic method + private static FileUploadSourceEnum[] $values() { + return new FileUploadSourceEnum[]{DISHES, CUST, TABLE, FACE, PLACE, STALL, SYSTEM, ANDROID_APK, ABC_MERCHANT_CERT_FILE, SZRCB_PFX_FILE, ANDROID_MENU_SELECT, EVALUATE, MATERIAL, SUPPLIER, COUPON, QUOTATION, BACK_STAFF, DEVICE_LOG, ORDER_PLACE, DEVICE_LOGINFO, DEVICE_UPDATE_ADMIN, DEVICE_VIDEO, DEVICE_PIC, SAMPLE}; + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/controller/SysFileController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/controller/SysFileController.java new file mode 100644 index 00000000..191f66af --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/controller/SysFileController.java @@ -0,0 +1,58 @@ +package com.bonus.core.common.sysfile.controller; + +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.core.common.core.util.Base64DecodedMultipartFile; +import com.bonus.core.common.enums.FileNameSuffixEnum; +import com.bonus.core.common.enums.FileUploadSourceEnum; +import com.bonus.core.common.sysfile.dto.SysFileUploadDTO; +import com.bonus.core.common.sysfile.service.SysFileService; +import com.bonus.core.common.sysfile.vo.SysFileUploadVO; +import com.bonus.encrypt.RequiresGuest; +import com.bonus.utils.LeRequest; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +@RestController +@RequestMapping({"/api/v1/sysfile"}) +@Api( + value = "sysfile", + tags = {"文件管理"} +) +public class SysFileController{ + private static final Logger log = LoggerFactory.getLogger(SysFileController.class); + private final SysFileService sysFileService; + + + @PostMapping({"/upload/base64"}) + @RequiresGuest + @ApiOperation("base64文件上传") + public AjaxResult upload(@RequestBody @Valid SysFileUploadDTO dto) { + MultipartFile file = Base64DecodedMultipartFile.base64ToMultipart(dto.getBase64File()); + String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1); + if (!FileNameSuffixEnum.getAllFileNameList().contains(suffix.toUpperCase())) { + return AjaxResult.error("接收参数错误,请上传正确的文件格式"); + } else { + String uploadKey = dto.getUploadKey(); + List uploadKeyList = FileUploadSourceEnum.getAllEnumsKeyList(); + if (!uploadKeyList.contains(uploadKey)) { + return AjaxResult.error("目前只支持指定文件路径的上传,请重试 ^_^"); + } else { + SysFileUploadVO result = this.sysFileService.uploadFile(file, uploadKey); + return AjaxResult.success("上传成功", result); + } + } + } + + public SysFileController(final SysFileService sysFileService) { + this.sysFileService = sysFileService; + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/dto/SysFileUploadDTO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/dto/SysFileUploadDTO.java new file mode 100644 index 00000000..2c286e45 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/dto/SysFileUploadDTO.java @@ -0,0 +1,34 @@ +package com.bonus.core.common.sysfile.dto; + +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +public class SysFileUploadDTO implements Serializable { + @ApiModelProperty("base64文件") + private @NotBlank( + message = "base64文件不能为空 ^_^" +) String base64File; + @ApiModelProperty("上传标识") + private @NotBlank( + message = "上传标识不能为空 ^_^" +) String uploadKey; + + public String getBase64File() { + return this.base64File; + } + + public String getUploadKey() { + return this.uploadKey; + } + + public void setBase64File(final String base64File) { + this.base64File = base64File; + } + + public void setUploadKey(final String uploadKey) { + this.uploadKey = uploadKey; + } + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/mapper/SysFileMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/mapper/SysFileMapper.java new file mode 100644 index 00000000..baa06f1d --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/mapper/SysFileMapper.java @@ -0,0 +1,10 @@ +package com.bonus.core.common.sysfile.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bonus.core.common.sysfile.model.SysFile; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SysFileMapper extends BaseMapper { + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/model/SysFile.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/model/SysFile.java new file mode 100644 index 00000000..da390caa --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/model/SysFile.java @@ -0,0 +1,130 @@ +package com.bonus.core.common.sysfile.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.time.LocalDateTime; + +@ApiModel("文件") +public class SysFile extends Model { + private static final long serialVersionUID = 1L; + @TableId( + type = IdType.AUTO + ) + @ApiModelProperty("文件编号") + private Long id; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("原始文件名") + private String original; + @ApiModelProperty("存储桶名称") + private String bucketName; + @ApiModelProperty("文件类型") + private String type; + @ApiModelProperty("文件大小") + private Long fileSize; + @ApiModelProperty("创建者") + private String createUser; + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + @ApiModelProperty("更新者") + private String updateUser; + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + @TableLogic + @ApiModelProperty("删除标记,1:已删除,0:正常") + private Integer delFlag; + + public Long getId() { + return this.id; + } + + public String getFileName() { + return this.fileName; + } + + public String getOriginal() { + return this.original; + } + + public String getBucketName() { + return this.bucketName; + } + + public String getType() { + return this.type; + } + + public Long getFileSize() { + return this.fileSize; + } + + public String getCreateUser() { + return this.createUser; + } + + public LocalDateTime getCreateTime() { + return this.createTime; + } + + public String getUpdateUser() { + return this.updateUser; + } + + public LocalDateTime getUpdateTime() { + return this.updateTime; + } + + public Integer getDelFlag() { + return this.delFlag; + } + + public void setId(final Long id) { + this.id = id; + } + + public void setFileName(final String fileName) { + this.fileName = fileName; + } + + public void setOriginal(final String original) { + this.original = original; + } + + public void setBucketName(final String bucketName) { + this.bucketName = bucketName; + } + + public void setType(final String type) { + this.type = type; + } + + public void setFileSize(final Long fileSize) { + this.fileSize = fileSize; + } + + public void setCreateUser(final String createUser) { + this.createUser = createUser; + } + + public void setCreateTime(final LocalDateTime createTime) { + this.createTime = createTime; + } + + public void setUpdateUser(final String updateUser) { + this.updateUser = updateUser; + } + + public void setUpdateTime(final LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public void setDelFlag(final Integer delFlag) { + this.delFlag = delFlag; + } + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/service/SysFileService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/service/SysFileService.java new file mode 100644 index 00000000..d772d060 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/service/SysFileService.java @@ -0,0 +1,12 @@ +package com.bonus.core.common.sysfile.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bonus.core.common.sysfile.model.SysFile; +import com.bonus.core.common.sysfile.vo.SysFileUploadVO; +import org.springframework.web.multipart.MultipartFile; + +public interface SysFileService extends IService { + + SysFileUploadVO uploadFile(MultipartFile file, String uploadKey); + +} \ No newline at end of file diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/service/impl/SysFileServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/service/impl/SysFileServiceImpl.java new file mode 100644 index 00000000..8ddc2895 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/service/impl/SysFileServiceImpl.java @@ -0,0 +1,82 @@ +package com.bonus.core.common.sysfile.service.impl; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bonus.common.core.exception.ServiceException; +import com.bonus.core.common.enums.FileUploadSourceEnum; +import com.bonus.core.common.sysfile.mapper.SysFileMapper; +import com.bonus.core.common.sysfile.model.SysFile; +import com.bonus.core.common.sysfile.service.SysFileService; +import com.bonus.core.common.sysfile.vo.SysFileUploadVO; +import com.bonus.core.common.utils.TenantContextHolder; +import com.bonus.oss.OssProperties; +import com.bonus.oss.service.OssTemplate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + + +@Service +public class SysFileServiceImpl extends ServiceImpl implements SysFileService { + private static final Logger log = LoggerFactory.getLogger(SysFileServiceImpl.class); + @Resource + @Lazy + private OssProperties ossProperties; + @Resource + @Lazy + private OssTemplate minioTemplate; + + @Override + public SysFileUploadVO uploadFile(MultipartFile file, String uploadKey) { + Long merchantId = TenantContextHolder.getTenantId(); + String merchantIdString; + if (merchantId != null && merchantId != -1L && merchantId != 1L) { + merchantIdString = String.valueOf(merchantId); + } else { + merchantIdString = "unknown"; + } + + String fileName; + if (FileUploadSourceEnum.DEVICE_LOG.key().equalsIgnoreCase(uploadKey)) { + fileName = file.getOriginalFilename(); + } else { + String var10000 = IdUtil.simpleUUID(); + fileName = var10000 + "." + FileUtil.extName(file.getOriginalFilename()); + } + + String fileUrl = merchantIdString + "/" + uploadKey + "/" + fileName; + SysFileUploadVO result = new SysFileUploadVO(); + String bucketName = this.ossProperties.getBucketName(); + String fileNameUrl = "/" + bucketName + "/" + fileUrl; + result.setBucketName(bucketName); + result.setFileNameUrl(fileNameUrl); + result.setUrl(String.format("/admin/api/v1/sysfile/%s/%s", bucketName, fileUrl)); + result.setOriginalFileName(file.getOriginalFilename()); + + try { + this.minioTemplate.putObject(bucketName, fileUrl, file.getInputStream()); + this.fileLog(file, fileUrl); + return result; + } catch (Exception var11) { + log.error("***上传失败", var11); + throw new ServiceException("上传失败!!!"); + } + } + + private void fileLog(MultipartFile file, String fileName) { + SysFile sysFile = new SysFile(); + String original = file.getOriginalFilename(); + sysFile.setFileName(fileName); + sysFile.setOriginal(original); + sysFile.setFileSize(file.getSize()); + sysFile.setType(FileUtil.extName(original)); + sysFile.setBucketName(this.ossProperties.getBucketName()); + sysFile.setCreateUser(""); + this.save(sysFile); + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/vo/SysFileUploadVO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/vo/SysFileUploadVO.java new file mode 100644 index 00000000..b19845bd --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/common/sysfile/vo/SysFileUploadVO.java @@ -0,0 +1,50 @@ +package com.bonus.core.common.sysfile.vo; + +import com.bonus.core.common.utils.SysUtil; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +@ApiModel("文件上传") +public class SysFileUploadVO { + @ApiModelProperty("存储桶名称") + private String bucketName; + @ApiModelProperty("文件下载路径") + private String fileNameUrl; + @ApiModelProperty("请求路径") + private String url; + @ApiModelProperty("原始文件名") + private String originalFileName; + + public String getFileNameUrl() { + return SysUtil.getCutFileUrl(this.fileNameUrl); + } + + public String getBucketName() { + return this.bucketName; + } + + public String getUrl() { + return this.url; + } + + public String getOriginalFileName() { + return this.originalFileName; + } + + public void setBucketName(final String bucketName) { + this.bucketName = bucketName; + } + + public void setFileNameUrl(final String fileNameUrl) { + this.fileNameUrl = fileNameUrl; + } + + public void setUrl(final String url) { + this.url = url; + } + + public void setOriginalFileName(final String originalFileName) { + this.originalFileName = originalFileName; + } + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/common/sys/SysFileMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/common/sys/SysFileMapper.xml new file mode 100644 index 00000000..81a08a1a --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/common/sys/SysFileMapper.xml @@ -0,0 +1,4 @@ + + + +