Compare commits
2 Commits
a666fb5cd6
...
7e7c84d6f4
| Author | SHA1 | Date | |
|---|---|---|---|
| 7e7c84d6f4 | |||
| e94e5bd0b3 |
@ -29,6 +29,7 @@ import jakarta.annotation.Resource;
|
|||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -382,4 +383,15 @@ public class EbikeRegionController {
|
|||||||
List<EbikeRegionLevel> levels = levelMapper.selectListByQuery(queryWrapper);
|
List<EbikeRegionLevel> levels = levelMapper.selectListByQuery(queryWrapper);
|
||||||
return JsonResult.success(levels);
|
return JsonResult.success(levels);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 站点附件上传
|
||||||
|
*
|
||||||
|
* @return 等级列表
|
||||||
|
*/
|
||||||
|
@PostMapping("siteImagesUpload")
|
||||||
|
public JsonResult<?> siteImagesUpload(MultipartFile file) throws Exception {
|
||||||
|
Long imageId = siteRegionService.saveImages(file);
|
||||||
|
return JsonResult.success(imageId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -79,4 +79,9 @@ public class ReqSiteRegionDto {
|
|||||||
@Size(min = 3, message = "顶点列表至少需要4个点(含闭合点)")
|
@Size(min = 3, message = "顶点列表至少需要4个点(含闭合点)")
|
||||||
private List<ReqEbikePointDto> points;
|
private List<ReqEbikePointDto> points;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片id
|
||||||
|
*/
|
||||||
|
private List<Long> imageIds;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,9 @@ import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionPageDto;
|
|||||||
import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion;
|
import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
import com.mybatisflex.core.service.IService;
|
import com.mybatisflex.core.service.IService;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -60,4 +62,11 @@ public interface EbikeSiteRegionService extends IService<EbikeSiteRegion> {
|
|||||||
* @return 分页列表
|
* @return 分页列表
|
||||||
*/
|
*/
|
||||||
Page<ResEbikeSiteRegionPageDto> pageSite(PageParam pageParam, Long operationRegionId, String zoneId, String siteName);
|
Page<ResEbikeSiteRegionPageDto> pageSite(PageParam pageParam, Long operationRegionId, String zoneId, String siteName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 站点附件上传
|
||||||
|
* @param file 附件
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long saveImages(MultipartFile file) throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import com.ebike.feign.clients.StaffFeignClient;
|
|||||||
import com.ebike.feign.model.rsp.StaffFeign;
|
import com.ebike.feign.model.rsp.StaffFeign;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
import com.mybatisflex.core.query.QueryWrapper;
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
|
import com.mybatisflex.core.update.UpdateChain;
|
||||||
import com.mybatisflex.core.util.StringUtil;
|
import com.mybatisflex.core.util.StringUtil;
|
||||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@ -89,47 +90,39 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
|
|||||||
siteRegion.setOrgId(staffFeign.getOrgId());
|
siteRegion.setOrgId(staffFeign.getOrgId());
|
||||||
List<ReqEbikePointDto> points = regionDto.getPoints();
|
List<ReqEbikePointDto> points = regionDto.getPoints();
|
||||||
this.mapper.insert(siteRegion);
|
this.mapper.insert(siteRegion);
|
||||||
// saveImages(files, siteRegion.getSiteRegionId());
|
List<Long> imageIds = regionDto.getImageIds();
|
||||||
|
if (imageIds != null && !imageIds.isEmpty()) {
|
||||||
|
UpdateChain.of(EbikeSiteImages.class)
|
||||||
|
.set(EBIKE_SITE_IMAGES.SITE_REGION_ID, siteRegion.getSiteRegionId())
|
||||||
|
.where(EBIKE_SITE_IMAGES.IMAGE_ID.in(imageIds));
|
||||||
|
}
|
||||||
savePoints(points, operationRegionId, siteRegion.getSiteRegionId());
|
savePoints(points, operationRegionId, siteRegion.getSiteRegionId());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveImages(List<MultipartFile> files, Long siteRegionId) throws Exception {
|
@Override
|
||||||
List<EbikeSiteImages> images = new ArrayList<>();
|
public Long saveImages(MultipartFile file) throws Exception {
|
||||||
for (MultipartFile file : files) {
|
|
||||||
EbikeSiteImages image = new EbikeSiteImages();
|
EbikeSiteImages image = new EbikeSiteImages();
|
||||||
InputStream inputStream = file.getInputStream();
|
InputStream inputStream = file.getInputStream();
|
||||||
String fileName = file.getOriginalFilename();
|
String fileName = file.getOriginalFilename();
|
||||||
String fileUniqueKey = UUID.randomUUID() + fileName.substring(fileName.lastIndexOf("."));
|
String fileUniqueKey = UUID.randomUUID() + fileName.substring(fileName.lastIndexOf("."));
|
||||||
image.setImageName(fileUniqueKey);
|
image.setImageName(fileUniqueKey);
|
||||||
image.setImageBucket(MinioUtil.BUCKET_SIT);
|
image.setImageBucket(MinioUtil.BUCKET_SIT);
|
||||||
image.setSiteRegionId(siteRegionId);
|
// image.setSiteRegionId(siteRegionId);
|
||||||
images.add(image);
|
minioUtil.uploadFile(inputStream, MinioUtil.BUCKET_SIT, fileUniqueKey);
|
||||||
minioUtil.uploadFile(inputStream, MinioUtil.BUCKET_SIT, fileUniqueKey);
|
|
||||||
}
|
siteImagesMapper.insert(image);
|
||||||
siteImagesMapper.insertBatch(images);
|
return image.getImageId();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateImages(List<MultipartFile> files, Long siteRegionId) throws Exception {
|
private void delImages(Long siteRegionId) throws Exception {
|
||||||
List<EbikeSiteImages> images = new ArrayList<>();
|
|
||||||
for (MultipartFile file : files) {
|
|
||||||
EbikeSiteImages image = new EbikeSiteImages();
|
|
||||||
InputStream inputStream = file.getInputStream();
|
|
||||||
String fileName = file.getOriginalFilename();
|
|
||||||
String fileUniqueKey = UUID.randomUUID() + fileName.substring(fileName.lastIndexOf("."));
|
|
||||||
image.setImageName(fileUniqueKey);
|
|
||||||
image.setImageBucket(MinioUtil.BUCKET_SIT);
|
|
||||||
image.setSiteRegionId(siteRegionId);
|
|
||||||
images.add(image);
|
|
||||||
minioUtil.uploadFile(inputStream, MinioUtil.BUCKET_SIT, fileUniqueKey);
|
|
||||||
}
|
|
||||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
.where(EBIKE_SITE_IMAGES.SITE_REGION_ID.eq(siteRegionId));
|
.where(EBIKE_SITE_IMAGES.SITE_REGION_ID.eq(siteRegionId));
|
||||||
List<EbikeSiteImages> list = siteImagesMapper.selectListByQuery(queryWrapper);
|
List<EbikeSiteImages> list = siteImagesMapper.selectListByQuery(queryWrapper);
|
||||||
for (EbikeSiteImages image : list) {
|
for (EbikeSiteImages image : list) {
|
||||||
minioUtil.deleteObject(image.getImageBucket(), image.getImageName());
|
minioUtil.deleteObject(image.getImageBucket(), image.getImageName());
|
||||||
}
|
}
|
||||||
siteImagesMapper.selectListByQuery(queryWrapper);
|
siteImagesMapper.deleteByQuery(queryWrapper);
|
||||||
siteImagesMapper.insertBatch(images);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -149,7 +142,13 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
|
|||||||
if (points != null && !points.isEmpty()) {
|
if (points != null && !points.isEmpty()) {
|
||||||
updatePoints(points, operationRegionId, regionDto.getSiteRegionId());
|
updatePoints(points, operationRegionId, regionDto.getSiteRegionId());
|
||||||
}
|
}
|
||||||
// updateImages(files,regionDto.getSiteRegionId());
|
delImages(regionDto.getSiteRegionId());
|
||||||
|
List<Long> imageIds = regionDto.getImageIds();
|
||||||
|
if (imageIds != null && !imageIds.isEmpty()) {
|
||||||
|
UpdateChain.of(EbikeSiteImages.class)
|
||||||
|
.set(EBIKE_SITE_IMAGES.SITE_REGION_ID, ebikeSiteRegion.getSiteRegionId())
|
||||||
|
.where(EBIKE_SITE_IMAGES.IMAGE_ID.in(imageIds));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user