refactor travel
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.imyeyu.api.modules.journal.controller;
|
||||
|
||||
import com.imyeyu.api.bean.PreviewPage;
|
||||
import com.imyeyu.api.bean.wechat.InitCodeResponse;
|
||||
import com.imyeyu.api.modules.common.bean.MediaAttach;
|
||||
import com.imyeyu.api.modules.common.bean.SettingKey;
|
||||
@@ -9,11 +10,10 @@ import com.imyeyu.api.modules.common.service.SettingService;
|
||||
import com.imyeyu.api.modules.journal.bean.Travel;
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import com.imyeyu.api.modules.journal.service.JournalService;
|
||||
import com.imyeyu.api.modules.journal.vo.ArchiveRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.JournalPage;
|
||||
import com.imyeyu.api.modules.journal.vo.JournalRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.JournalResponse;
|
||||
import com.imyeyu.api.modules.journal.vo.UpdateRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.ArchiveRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.JournalRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.JournalResponse;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.UpdateRequest;
|
||||
import com.imyeyu.java.bean.timi.TimiCode;
|
||||
import com.imyeyu.java.bean.timi.TimiException;
|
||||
import com.imyeyu.network.ArgMap;
|
||||
@@ -141,7 +141,7 @@ public class JournalController {
|
||||
@AOPLog
|
||||
@RequestRateLimit
|
||||
@RequestMapping("/list")
|
||||
public PageResult<JournalResponse> list(@RequestBody JournalPage page) {
|
||||
public PageResult<JournalResponse> list(@RequestBody PreviewPage<Journal> page) {
|
||||
PageResult<Journal> pageResult = service.page(page);
|
||||
|
||||
PageResult<JournalResponse> result = new PageResult<>();
|
||||
|
||||
@@ -3,9 +3,9 @@ package com.imyeyu.api.modules.journal.service;
|
||||
import com.imyeyu.api.modules.common.entity.Attachment;
|
||||
import com.imyeyu.api.modules.journal.bean.Travel;
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import com.imyeyu.api.modules.journal.vo.ArchiveRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.JournalRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.UpdateRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.ArchiveRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.JournalRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.UpdateRequest;
|
||||
import com.imyeyu.java.bean.timi.TimiException;
|
||||
import com.imyeyu.spring.service.DeletableService;
|
||||
import com.imyeyu.spring.service.GettableService;
|
||||
|
||||
+27
-37
@@ -10,14 +10,13 @@ import com.imyeyu.api.modules.common.entity.Setting;
|
||||
import com.imyeyu.api.modules.common.service.AttachmentService;
|
||||
import com.imyeyu.api.modules.common.service.SettingService;
|
||||
import com.imyeyu.api.modules.common.service.TempFileService;
|
||||
import com.imyeyu.api.modules.common.vo.attachment.AttachmentRequest;
|
||||
import com.imyeyu.api.modules.journal.bean.Travel;
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import com.imyeyu.api.modules.journal.mapper.JournalMapper;
|
||||
import com.imyeyu.api.modules.journal.service.JournalService;
|
||||
import com.imyeyu.api.modules.journal.vo.ArchiveRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.JournalRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.UpdateRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.ArchiveRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.JournalRequest;
|
||||
import com.imyeyu.api.modules.journal.vo.journal.UpdateRequest;
|
||||
import com.imyeyu.io.IO;
|
||||
import com.imyeyu.java.TimiJava;
|
||||
import com.imyeyu.java.bean.timi.TimiCode;
|
||||
@@ -75,7 +74,7 @@ public class JournalServiceImplement extends AbstractEntityService<Journal, Long
|
||||
TempFileMetaData metadata = tempFileService.metadata(tempFileIds[i]);
|
||||
File file = tempFileService.get(tempFileIds[i]);
|
||||
|
||||
AttachmentRequest sourceAttach = new AttachmentRequest();
|
||||
Attachment sourceAttach = new Attachment();
|
||||
sourceAttach.setName(metadata.getOriginalName());
|
||||
sourceAttach.setBizType(Attachment.BizType.JOURNAL);
|
||||
sourceAttach.setBizId(journal.getId());
|
||||
@@ -92,39 +91,30 @@ public class JournalServiceImplement extends AbstractEntityService<Journal, Long
|
||||
@Override
|
||||
public void update(UpdateRequest request) throws TimiException {
|
||||
TimiException.required(request.getId(), "not found request.id");
|
||||
try {
|
||||
Journal journal = get(request.getId());
|
||||
BeanUtils.copyProperties(request, journal);
|
||||
super.update(journal);
|
||||
Journal journal = get(request.getId());
|
||||
BeanUtils.copyProperties(request, journal);
|
||||
super.update(journal);
|
||||
|
||||
// 删除
|
||||
Set<Long> dbAttachSet = attachmentService.listByBizId(Attachment.BizType.JOURNAL, journal.getId(), MediaAttach.Type.THUMB)
|
||||
.stream()
|
||||
.map(Attachment::getId)
|
||||
.collect(Collectors.toSet());
|
||||
Set<Long> retainIds = Set.of(TimiJava.firstNotEmpty(request.getAttachmentIds(), new Long[0]));
|
||||
dbAttachSet.removeAll(retainIds);
|
||||
for (Long removeId : dbAttachSet) {
|
||||
attachmentService.deleteMedia(removeId);
|
||||
}
|
||||
// 新增
|
||||
String[] tempFileIds = request.getTempFileIds();
|
||||
if (TimiJava.isNotEmpty(tempFileIds)) {
|
||||
for (int i = 0; i < tempFileIds.length; i++) {
|
||||
TempFileMetaData metadata = tempFileService.metadata(tempFileIds[i]);
|
||||
File file = tempFileService.get(tempFileIds[i]);
|
||||
// 删除
|
||||
Set<Long> dbAttachSet = attachmentService.listByBizId(Attachment.BizType.JOURNAL, journal.getId(), MediaAttach.Type.THUMB)
|
||||
.stream()
|
||||
.map(Attachment::getId)
|
||||
.collect(Collectors.toSet());
|
||||
Set<Long> retainIds = Set.of(TimiJava.firstNotEmpty(request.getAttachmentIds(), new Long[0]));
|
||||
dbAttachSet.removeAll(retainIds);
|
||||
for (Long removeId : dbAttachSet) {
|
||||
attachmentService.deleteMedia(removeId);
|
||||
}
|
||||
// 新增
|
||||
for (String tempFileId : TimiJava.firstNotNull(request.getTempFileIds(), new String[0])) {
|
||||
TempFileMetaData metadata = tempFileService.metadata(tempFileId);
|
||||
|
||||
AttachmentRequest sourceAttach = new AttachmentRequest();
|
||||
sourceAttach.setName(metadata.getOriginalName());
|
||||
sourceAttach.setBizType(Attachment.BizType.JOURNAL);
|
||||
sourceAttach.setBizId(journal.getId());
|
||||
sourceAttach.setInputStream(IO.getInputStream(file));
|
||||
attachmentService.createMedia(sourceAttach);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("update journal error", e);
|
||||
throw new TimiException(TimiCode.ERROR).msgKey("TODO update journal error");
|
||||
Attachment sourceAttach = new Attachment();
|
||||
sourceAttach.setName(metadata.getOriginalName());
|
||||
sourceAttach.setBizType(Attachment.BizType.JOURNAL);
|
||||
sourceAttach.setBizId(journal.getId());
|
||||
sourceAttach.setInputStream(tempFileService.getInputStream(tempFileId));
|
||||
attachmentService.createMedia(sourceAttach);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,7 +153,7 @@ public class JournalServiceImplement extends AbstractEntityService<Journal, Long
|
||||
TempFileMetaData metadata = tempFileService.metadata(tempFileIds[i]);
|
||||
File file = tempFileService.get(tempFileIds[i]);
|
||||
|
||||
AttachmentRequest sourceAttach = new AttachmentRequest();
|
||||
Attachment sourceAttach = new Attachment();
|
||||
sourceAttach.setName(metadata.getOriginalName());
|
||||
sourceAttach.setBizType(Attachment.BizType.JOURNAL_MOMENT);
|
||||
sourceAttach.setBizId(0L);
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.imyeyu.api.modules.journal.vo;
|
||||
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import com.imyeyu.spring.bean.Page;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* @author 夜雨
|
||||
* @since 2025-10-09 18:48
|
||||
*/
|
||||
@Data
|
||||
@Valid
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class JournalPage extends Page<Journal> {
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author 夜雨
|
||||
* @since 2025-12-08 16:01
|
||||
*/
|
||||
public enum Type {
|
||||
|
||||
NORMAL,
|
||||
|
||||
PREVIEW
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Type type;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.imyeyu.api.modules.journal.vo;
|
||||
package com.imyeyu.api.modules.journal.vo.journal;
|
||||
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import lombok.Data;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.imyeyu.api.modules.journal.vo;
|
||||
package com.imyeyu.api.modules.journal.vo.journal;
|
||||
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import com.imyeyu.spring.annotation.table.Transient;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.imyeyu.api.modules.journal.vo;
|
||||
package com.imyeyu.api.modules.journal.vo.journal;
|
||||
|
||||
import com.imyeyu.api.modules.common.entity.Attachment;
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.imyeyu.api.modules.journal.vo;
|
||||
package com.imyeyu.api.modules.journal.vo.journal;
|
||||
|
||||
import com.imyeyu.api.modules.journal.entity.Journal;
|
||||
import com.imyeyu.spring.annotation.table.Transient;
|
||||
Reference in New Issue
Block a user