zoujiajian 1 năm trước cách đây
mục cha
commit
9a1cce0d47

+ 3 - 1
netflix-service/src/main/java/com/cyksj/service/mini/MiniPopularizeFrontService.java

@@ -12,7 +12,9 @@ import java.io.IOException;
  * 创建时间:2025/4/8 16:51
  */
 public interface MiniPopularizeFrontService {
-	void createPictures(MiniAiPicturesReq miniAiPicturesReq) throws IOException;
+	Long createPictures(MiniAiPicturesReq miniAiPicturesReq) throws IOException;
 
 	MiniPopularizeUser getUser(long userId);
+
+	String getImgResultById(long userId, Long imageId);
 }

+ 14 - 1
netflix-service/src/main/java/com/cyksj/service/mini/impl/MiniPopularizeFrontServiceImpl.java

@@ -68,7 +68,7 @@ public class MiniPopularizeFrontServiceImpl implements MiniPopularizeFrontServic
 
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
-	public void createPictures(MiniAiPicturesReq miniAiPicturesReq) throws IOException {
+	public Long createPictures(MiniAiPicturesReq miniAiPicturesReq) throws IOException {
 		String conversationId = miniAiPicturesReq.getConversationId();
 		AtomicBoolean recoverNum = new AtomicBoolean(true);
 		Long userId = miniAiPicturesReq.getUserId();
@@ -116,6 +116,7 @@ public class MiniPopularizeFrontServiceImpl implements MiniPopularizeFrontServic
 				.recoverNum(recoverNum.get())
 				.build();
 		streamChatCompletion(miniAiPicturesReq, listener);
+		return imageRecord.getId();
 	}
 
 	@Override
@@ -125,6 +126,18 @@ public class MiniPopularizeFrontServiceImpl implements MiniPopularizeFrontServic
 		return user;
 	}
 
+	@Override
+	public String getImgResultById(long userId, Long imageId) {
+		MiniPopularizeUserConversationChat miniPopularizeUserConversationChat = conversationChatMapper.selectOne(Wrappers.lambdaQuery(MiniPopularizeUserConversationChat.class)
+				.eq(MiniPopularizeUserConversationChat::getUserId, userId)
+				.eq(MiniPopularizeUserConversationChat::getId, imageId)
+				.last("limit 1"));
+		if (miniPopularizeUserConversationChat != null) {
+			return miniPopularizeUserConversationChat.getImg();
+		}
+		return null;
+	}
+
 	private String checkUser(MiniPopularizeUserConversation conversation, String conversationId, AtomicBoolean recoverNum) {
 		if (conversationId != null) {
 			MiniPopularizeUserConversationChat miniPopularizeUserConversationChat = conversationChatMapper.selectOne(Wrappers.lambdaQuery(MiniPopularizeUserConversationChat.class)

+ 14 - 2
netflix-web/src/main/java/com/cyksj/web/controller/mini/PopularizeMiniController.java

@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.util.List;
 
 /**
+ * server/gpt推广
  * 项目名: yhlxj2
  * 文件名: PopularizeMiniController
  * 创建者: JavaZou
@@ -50,10 +51,11 @@ public class PopularizeMiniController {
 	 * 创作 图片
 	 */
 	@PostMapping("/create/pictures")
-	public void createPictures(@RequestBody MiniAiPicturesReq miniAiPicturesReq) throws IOException {
+	public Result<Long> createPictures(@RequestBody MiniAiPicturesReq miniAiPicturesReq) throws IOException {
 		long userId = StpUserUtil.getLoginIdAsLong();
 		miniAiPicturesReq.setUserId(userId);
-		miniPopularizeFrontService.createPictures(miniAiPicturesReq);
+		Long imageId = miniPopularizeFrontService.createPictures(miniAiPicturesReq);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(imageId);
 	}
 
 	/**
@@ -88,4 +90,14 @@ public class PopularizeMiniController {
 		MiniPopularizeUser user = miniPopularizeFrontService.getUser(userId);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(user);
 	}
+
+	/**
+	 * 图片生成结果
+	 */
+	@GetMapping("/get/result/{imageId}")
+	public Result<String> getImgResultById(@PathVariable Long imageId) {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		String img = miniPopularizeFrontService.getImgResultById(userId, imageId);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(img);
+	}
 }