|
|
|
@ -12,14 +12,15 @@ import com.youlai.boot.common.util.CoordinateTransformUtils; |
|
|
|
import com.youlai.boot.common.util.FileUtils; |
|
|
|
import com.youlai.boot.common.util.JavaVCUtils; |
|
|
|
import com.youlai.boot.common.util.RandomNumberUtils; |
|
|
|
import com.youlai.boot.file.service.FileService; |
|
|
|
import com.youlai.boot.file.service.impl.AliyunFileService; |
|
|
|
import com.youlai.boot.framework.security.util.SecurityUtils; |
|
|
|
import com.youlai.boot.mini.converter.MiniStrayAnimalConverter; |
|
|
|
import com.youlai.boot.mini.mapper.MiniStrayAnimalMapper; |
|
|
|
import com.youlai.boot.mini.mapper.MiniStrayAnimalNoteMapper; |
|
|
|
import com.youlai.boot.mini.mapper.MiniStrayAnimalNoteMediaMapper; |
|
|
|
import com.youlai.boot.mini.model.dto.DeleteStrayAnimalDTO; |
|
|
|
import com.youlai.boot.mini.model.dto.DeleteStrayAnimalNoteMediaDTO; |
|
|
|
import com.youlai.boot.mini.model.dto.EditVisibilityDTO; |
|
|
|
import com.youlai.boot.mini.model.enums.AnimalNoteMediaTypeEnum; |
|
|
|
import com.youlai.boot.mini.model.entity.MiniStrayAnimal; |
|
|
|
import com.youlai.boot.mini.model.entity.MiniStrayAnimalNote; |
|
|
|
@ -40,7 +41,6 @@ import org.springframework.web.multipart.MultipartFile; |
|
|
|
import javax.imageio.ImageIO; |
|
|
|
import java.awt.image.BufferedImage; |
|
|
|
import java.io.File; |
|
|
|
import java.text.MessageFormat; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
|
@ -233,27 +233,39 @@ public class StrayAnimalServiceImpl extends ServiceImpl<MiniStrayAnimalMapper, M |
|
|
|
@Override |
|
|
|
public void updateStrayAnimal(String animalUuid, StrayAnimalForm formData) { |
|
|
|
// 校验动物是否存在
|
|
|
|
MiniStrayAnimal animal = getValidAnimal(animalUuid); |
|
|
|
|
|
|
|
// 校验审核状态
|
|
|
|
checkNotAuditing(animal); |
|
|
|
|
|
|
|
long currentTimestamp = System.currentTimeMillis(); |
|
|
|
|
|
|
|
// 1. 更新流浪动物基本信息
|
|
|
|
updateAnimalInfo(animal.getId(), formData, currentTimestamp); |
|
|
|
// 3. 更新笔记信息`
|
|
|
|
updateNoteInfo(animal.getId(), formData, currentTimestamp); |
|
|
|
// 4. 提交审核
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private MiniStrayAnimal getValidAnimal(String animalUuid) { |
|
|
|
MiniStrayAnimal animal = miniStrayAnimalMapper.selectOne( |
|
|
|
new LambdaQueryWrapper<MiniStrayAnimal>() |
|
|
|
.eq(MiniStrayAnimal::getUuid, animalUuid) |
|
|
|
.eq(MiniStrayAnimal::getDeleted, 0) |
|
|
|
); |
|
|
|
|
|
|
|
if (animal == null) { |
|
|
|
throw new MsgException("动物不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
return animal; |
|
|
|
} |
|
|
|
|
|
|
|
private void checkNotAuditing(MiniStrayAnimal animal) { |
|
|
|
if (1 == animal.getAuditStatus()) { |
|
|
|
throw new MsgException("审核中无法更改"); |
|
|
|
} |
|
|
|
|
|
|
|
long currentTimestamp = System.currentTimeMillis(); |
|
|
|
|
|
|
|
// 1. 更新流浪动物基本信息
|
|
|
|
updateAnimalInfo(animal.getId(), formData, currentTimestamp); |
|
|
|
// 3. 更新笔记信息`
|
|
|
|
updateNoteInfo(animal.getId(), formData, currentTimestamp); |
|
|
|
// 4. 提交审核
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void updateNoteInfo(Long animalId, StrayAnimalForm formData, long currentTimestamp) { |
|
|
|
@ -330,20 +342,28 @@ public class StrayAnimalServiceImpl extends ServiceImpl<MiniStrayAnimalMapper, M |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void saveMediaSource(String noteUuid, List<MultipartFile> images, List<MultipartFile> videos) { |
|
|
|
if ((images == null || images.isEmpty()) && (videos == null || videos.isEmpty())) { |
|
|
|
throw new MsgException("需要上传媒体资源"); |
|
|
|
} |
|
|
|
private MiniStrayAnimalNote getValidNote(String noteUuid) { |
|
|
|
MiniStrayAnimalNote note = miniStrayAnimalNoteMapper.selectOne( |
|
|
|
new LambdaQueryWrapper<MiniStrayAnimalNote>() |
|
|
|
.eq(MiniStrayAnimalNote::getUuid, noteUuid) |
|
|
|
.eq(MiniStrayAnimalNote::getDeleted, 0) |
|
|
|
); |
|
|
|
|
|
|
|
if (note == null) { |
|
|
|
throw new MsgException("笔记不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
return note; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void saveMediaSource(String noteUuid, List<MultipartFile> images, List<MultipartFile> videos) { |
|
|
|
if ((images == null || images.isEmpty()) && (videos == null || videos.isEmpty())) { |
|
|
|
throw new MsgException("需要上传媒体资源"); |
|
|
|
} |
|
|
|
// 获取笔记
|
|
|
|
MiniStrayAnimalNote note = getValidNote(noteUuid); |
|
|
|
|
|
|
|
Long animalId = note.getStrayAnimalId(); |
|
|
|
MiniStrayAnimal miniStrayAnimal = miniStrayAnimalMapper.selectById(animalId); |
|
|
|
if (miniStrayAnimal == null) { |
|
|
|
@ -376,4 +396,30 @@ public class StrayAnimalServiceImpl extends ServiceImpl<MiniStrayAnimalMapper, M |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void updateVisibility(String animalUuid, EditVisibilityDTO editVisibilityDTO) { |
|
|
|
// 校验动物是否存在
|
|
|
|
MiniStrayAnimal animal = getValidAnimal(animalUuid); |
|
|
|
|
|
|
|
MiniStrayAnimalNote miniStrayAnimalNote = miniStrayAnimalNoteMapper.selectOne(new LambdaQueryWrapper<MiniStrayAnimalNote>() |
|
|
|
.eq(MiniStrayAnimalNote::getStrayAnimalId, animal.getId()) |
|
|
|
.eq(MiniStrayAnimalNote::getDeleted, 0)); |
|
|
|
if (null != miniStrayAnimalNote) { |
|
|
|
LambdaUpdateWrapper<MiniStrayAnimalNote> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
updateWrapper.eq(MiniStrayAnimalNote::getId, miniStrayAnimalNote.getId()) |
|
|
|
.set(MiniStrayAnimalNote::getVisibility, editVisibilityDTO.getVisibility()); |
|
|
|
|
|
|
|
miniStrayAnimalNoteMapper.update(null, updateWrapper); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void delete(DeleteStrayAnimalDTO deleteStrayAnimalDTO) { |
|
|
|
LambdaUpdateWrapper<MiniStrayAnimal> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
updateWrapper.in(MiniStrayAnimal::getUuid, deleteStrayAnimalDTO.getAnimalUuidList()) |
|
|
|
.set(MiniStrayAnimal::getDeleted, 1); |
|
|
|
|
|
|
|
miniStrayAnimalMapper.update(null, updateWrapper); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|