From 1eb0f41908083c746b5aac4a792d444c48f617a3 Mon Sep 17 00:00:00 2001 From: chents <78666437@qq.com> Date: Thu, 11 May 2023 16:13:36 +0800 Subject: [PATCH] code submit --- .../controller/PosBusLineController.java | 32 +++++++++ .../upload/entity/PocBusLineImg.java | 44 +++++++++++++ .../upload/mapper/ProBusLineImgMapper.java | 15 +++++ .../upload/mapper/ProBusLineImgMapper.xml | 13 ++++ .../upload/service/IProBusLineImgService.java | 19 ++++++ .../service/impl/ProBusLineImgImpl.java | 66 +++++++++++++++++++ .../springblade/upload/vo/StationHintVo.java | 21 ++++++ .../java/org/springblade/upload/vo/imgVo.java | 12 ++++ 8 files changed, 222 insertions(+) create mode 100644 src/main/java/org/springblade/upload/controller/PosBusLineController.java create mode 100644 src/main/java/org/springblade/upload/entity/PocBusLineImg.java create mode 100644 src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.java create mode 100644 src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.xml create mode 100644 src/main/java/org/springblade/upload/service/IProBusLineImgService.java create mode 100644 src/main/java/org/springblade/upload/service/impl/ProBusLineImgImpl.java create mode 100644 src/main/java/org/springblade/upload/vo/StationHintVo.java create mode 100644 src/main/java/org/springblade/upload/vo/imgVo.java diff --git a/src/main/java/org/springblade/upload/controller/PosBusLineController.java b/src/main/java/org/springblade/upload/controller/PosBusLineController.java new file mode 100644 index 0000000..f43808a --- /dev/null +++ b/src/main/java/org/springblade/upload/controller/PosBusLineController.java @@ -0,0 +1,32 @@ +package org.springblade.upload.controller; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tool.api.R; +import org.springblade.upload.service.IProBusLineImgService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +@Api(tags = "管理后台 - 图片上传") +@RestController +@RequestMapping("/pro-bus-line-img") +@Validated +@Slf4j +public class PosBusLineController { + + @Autowired + private IProBusLineImgService proBusLineImgService; + + @PostMapping("/upload") + public R upload(@RequestParam("file") MultipartFile file, @RequestParam("imgType") Integer imgType,@RequestParam("busLineId") Long busLineId) { + return proBusLineImgService.upload(file, imgType,busLineId); + } + + @GetMapping("/query-list") + public R queryList(@RequestParam("id")Long id) { + return proBusLineImgService.queryList(id); + } + +} diff --git a/src/main/java/org/springblade/upload/entity/PocBusLineImg.java b/src/main/java/org/springblade/upload/entity/PocBusLineImg.java new file mode 100644 index 0000000..7f66a56 --- /dev/null +++ b/src/main/java/org/springblade/upload/entity/PocBusLineImg.java @@ -0,0 +1,44 @@ +package org.springblade.upload.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +/** + * 图片信息表 + * + * @author Chill + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("poc_bus_line_img") +public class PocBusLineImg extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @JsonSerialize( + using = ToStringSerializer.class + ) + @ApiModelProperty("主键id") + @TableId( + value = "id", + type = IdType.ASSIGN_ID + ) + private Long id; + + private Long busLineId; + + //图片名称 + private String imgName; + // 图片地址 + private String imgUrl; + //图片类型 + private Integer imgType; + +} diff --git a/src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.java b/src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.java new file mode 100644 index 0000000..05afa91 --- /dev/null +++ b/src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.java @@ -0,0 +1,15 @@ +package org.springblade.upload.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springblade.upload.entity.PocBusLineImg; + +/** + * 文件操作 Mapper + * + */ +@Mapper +public interface ProBusLineImgMapper extends BaseMapper { + +} diff --git a/src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.xml b/src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.xml new file mode 100644 index 0000000..754b146 --- /dev/null +++ b/src/main/java/org/springblade/upload/mapper/ProBusLineImgMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/main/java/org/springblade/upload/service/IProBusLineImgService.java b/src/main/java/org/springblade/upload/service/IProBusLineImgService.java new file mode 100644 index 0000000..b74691e --- /dev/null +++ b/src/main/java/org/springblade/upload/service/IProBusLineImgService.java @@ -0,0 +1,19 @@ +package org.springblade.upload.service; + + +import org.springblade.core.tool.api.R; +import org.springframework.web.multipart.MultipartFile; + +/** + * 文件 Service 接口 + * + */ +public interface IProBusLineImgService { + /** + *文件上传接口 + * @return + */ + R upload(MultipartFile file, Integer imgType,Long busLineId); + + R queryList(Long id); +} diff --git a/src/main/java/org/springblade/upload/service/impl/ProBusLineImgImpl.java b/src/main/java/org/springblade/upload/service/impl/ProBusLineImgImpl.java new file mode 100644 index 0000000..a92e654 --- /dev/null +++ b/src/main/java/org/springblade/upload/service/impl/ProBusLineImgImpl.java @@ -0,0 +1,66 @@ +package org.springblade.upload.service.impl; + +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tool.api.R; +import org.springblade.upload.entity.PocBusLineImg; +import org.springblade.upload.mapper.ProBusLineImgMapper; +import org.springblade.upload.service.IProBusLineImgService; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.util.Date; +import java.util.UUID; + + +/** + *图片上传实现类 + */ +@Service +@Slf4j +public class ProBusLineImgImpl implements IProBusLineImgService { + + @Resource + ProBusLineImgMapper pocBusLineImgMapper; + + @Override + public R upload(MultipartFile file, Integer imgType,Long busLineId) { + String fileName = file.getOriginalFilename(); + String suffixName = fileName.substring(fileName.lastIndexOf(".")); + String newFileName = UUID.randomUUID().toString() + suffixName; + String filePath = "uploads/"; + String absolutePath = new File("").getAbsolutePath() + "/" + filePath; + File directory = new File(absolutePath); + if (!directory.exists()) { + directory.mkdirs(); + } + File dest = new File(absolutePath + newFileName); + try { + file.transferTo(dest); + PocBusLineImg pocBusLineImg = new PocBusLineImg(); + pocBusLineImg.setImgName(fileName); + pocBusLineImg.setImgUrl(newFileName); + pocBusLineImg.setImgType(imgType); + pocBusLineImg.setBusLineId(busLineId); + // TODO: 设置创建人 + pocBusLineImg.setCreateTime(new Date()); + // TODO: 设置修改人 + pocBusLineImg.setUpdateTime(new Date()); + pocBusLineImg.setIsDeleted(0); + pocBusLineImgMapper.insert(pocBusLineImg); + return R.data(pocBusLineImg); + } catch (IOException e) { + e.printStackTrace(); + } + return R.fail("上传失败"); + } + + @Override + public R queryList(Long id) { + PocBusLineImg pocBusLineImg = pocBusLineImgMapper.selectById(id); + return R.data(pocBusLineImg); + } + +} diff --git a/src/main/java/org/springblade/upload/vo/StationHintVo.java b/src/main/java/org/springblade/upload/vo/StationHintVo.java new file mode 100644 index 0000000..34bc28d --- /dev/null +++ b/src/main/java/org/springblade/upload/vo/StationHintVo.java @@ -0,0 +1,21 @@ +package org.springblade.upload.vo; + +import lombok.Data; + +import java.util.List; + +/** + * @Author: Chents + * @Create: 2023-05-08 + */ +@Data +public class StationHintVo { + + private Long id; + private String name;//接口中站名 + private String tips;//提示 + private String red;//情怀,励志 + private String green;//活动 + private String yellow; + private List imgList; +} diff --git a/src/main/java/org/springblade/upload/vo/imgVo.java b/src/main/java/org/springblade/upload/vo/imgVo.java new file mode 100644 index 0000000..3593c80 --- /dev/null +++ b/src/main/java/org/springblade/upload/vo/imgVo.java @@ -0,0 +1,12 @@ +package org.springblade.upload.vo; + +import lombok.Data; + +/** + * @Author: Chents + * @Create: 2023-05-08 + */ +@Data +public class imgVo { + private String imgUrl; +}