From cd5ba23d592c8c8a975d6f372f4866cb3778455e Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 21 Nov 2025 16:04:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(puzzle):=20=E6=B7=BB=E5=8A=A0=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=B0=81=E9=9D=A2=E5=9B=BE=E7=89=87=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在PuzzleTemplateDTO和TemplateCreateRequest中新增coverImage字段 - 在PuzzleTemplateEntity中新增coverImage字段并映射到数据库 - 更新FaceServiceImpl以支持获取模板封面图片URL - 修改Mapper XML文件以支持coverImage字段的读写操作 - 调整SQL查询和插入语句以包含新的coverImage字段 - 更新三拼图内容页面逻辑以使用模板封面图片URL --- .../java/com/ycwl/basic/puzzle/dto/PuzzleTemplateDTO.java | 5 +++++ .../com/ycwl/basic/puzzle/dto/TemplateCreateRequest.java | 5 +++++ .../ycwl/basic/puzzle/entity/PuzzleTemplateEntity.java | 6 ++++++ .../com/ycwl/basic/service/pc/impl/FaceServiceImpl.java | 8 ++++++-- src/main/resources/mapper/PuzzleTemplateMapper.xml | 8 +++++--- 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ycwl/basic/puzzle/dto/PuzzleTemplateDTO.java b/src/main/java/com/ycwl/basic/puzzle/dto/PuzzleTemplateDTO.java index 6a1fa30f..9527f62f 100644 --- a/src/main/java/com/ycwl/basic/puzzle/dto/PuzzleTemplateDTO.java +++ b/src/main/java/com/ycwl/basic/puzzle/dto/PuzzleTemplateDTO.java @@ -53,6 +53,11 @@ public class PuzzleTemplateDTO { */ private String backgroundImage; + /** + * 模板封面图片URL + */ + private String coverImage; + /** * 模板描述 */ diff --git a/src/main/java/com/ycwl/basic/puzzle/dto/TemplateCreateRequest.java b/src/main/java/com/ycwl/basic/puzzle/dto/TemplateCreateRequest.java index f7a34516..6502430d 100644 --- a/src/main/java/com/ycwl/basic/puzzle/dto/TemplateCreateRequest.java +++ b/src/main/java/com/ycwl/basic/puzzle/dto/TemplateCreateRequest.java @@ -46,6 +46,11 @@ public class TemplateCreateRequest { */ private String backgroundImage; + /** + * 模板封面图片URL + */ + private String coverImage; + /** * 模板描述 */ diff --git a/src/main/java/com/ycwl/basic/puzzle/entity/PuzzleTemplateEntity.java b/src/main/java/com/ycwl/basic/puzzle/entity/PuzzleTemplateEntity.java index 0ffd2038..08906324 100644 --- a/src/main/java/com/ycwl/basic/puzzle/entity/PuzzleTemplateEntity.java +++ b/src/main/java/com/ycwl/basic/puzzle/entity/PuzzleTemplateEntity.java @@ -67,6 +67,12 @@ public class PuzzleTemplateEntity { @TableField("background_image") private String backgroundImage; + /** + * 模板封面图片URL(用于前端管理界面展示) + */ + @TableField("cover_image") + private String coverImage; + /** * 模板描述 */ diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java index 99f6e597..d2d07198 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java @@ -51,7 +51,9 @@ import com.ycwl.basic.pricing.dto.ProductItem; import com.ycwl.basic.pricing.enums.ProductType; import com.ycwl.basic.pricing.service.IPriceCalculationService; import com.ycwl.basic.puzzle.entity.PuzzleGenerationRecordEntity; +import com.ycwl.basic.puzzle.entity.PuzzleTemplateEntity; import com.ycwl.basic.puzzle.mapper.PuzzleGenerationRecordMapper; +import com.ycwl.basic.puzzle.mapper.PuzzleTemplateMapper; import com.ycwl.basic.repository.DeviceRepository; import com.ycwl.basic.repository.FaceRepository; import com.ycwl.basic.repository.MemberRelationRepository; @@ -184,6 +186,7 @@ public class FaceServiceImpl implements FaceService { private PuzzleGenerationRecordMapper puzzleGenerationRecordMapper; @Autowired private IPriceCalculationService iPriceCalculationService; + private PuzzleTemplateMapper puzzleTemplateMapper; @Override public ApiResponse> pageQuery(FaceReqQuery faceReqQuery) { @@ -454,6 +457,7 @@ public class FaceServiceImpl implements FaceService { if (count > 0) { ContentPageVO sfpContent = new ContentPageVO(); List records = puzzleGenerationRecordMapper.listByFaceId(faceId); + PuzzleTemplateEntity template = puzzleTemplateMapper.getById(records.getFirst().getTemplateId()); sfpContent.setName("三拼图"); sfpContent.setGroup("plog"); sfpContent.setScenicId(face.getScenicId()); @@ -461,8 +465,8 @@ public class FaceServiceImpl implements FaceService { sfpContent.setSourceType(3); sfpContent.setLockType(-1); sfpContent.setContentId(records.getFirst().getId()); - sfpContent.setTemplateId(records.getFirst().getTemplateId()); - sfpContent.setTemplateCoverUrl(records.getFirst().getResultImageUrl()); + sfpContent.setTemplateId(template.getId()); + sfpContent.setTemplateCoverUrl(template.getCoverImage()); sfpContent.setGoodsType(3); sfpContent.setSort(0); IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getMemberId(), face.getScenicId(), 5, records.getFirst().getTemplateId()); diff --git a/src/main/resources/mapper/PuzzleTemplateMapper.xml b/src/main/resources/mapper/PuzzleTemplateMapper.xml index 1ddb2bbf..03a0bcf2 100644 --- a/src/main/resources/mapper/PuzzleTemplateMapper.xml +++ b/src/main/resources/mapper/PuzzleTemplateMapper.xml @@ -13,6 +13,7 @@ + @@ -26,7 +27,7 @@ id, name, code, canvas_width, canvas_height, background_type, background_color, - background_image, description, category, status, scenic_id, create_time, update_time, deleted, deleted_at + background_image, cover_image, description, category, status, scenic_id, create_time, update_time, deleted, deleted_at @@ -67,10 +68,10 @@ useGeneratedKeys="true" keyProperty="id"> INSERT INTO puzzle_template ( name, code, canvas_width, canvas_height, background_type, background_color, - background_image, description, category, status, scenic_id, create_time, update_time, deleted + background_image, cover_image, description, category, status, scenic_id, create_time, update_time, deleted ) VALUES ( #{name}, #{code}, #{canvasWidth}, #{canvasHeight}, #{backgroundType}, #{backgroundColor}, - #{backgroundImage}, #{description}, #{category}, #{status}, #{scenicId}, NOW(), NOW(), 0 + #{backgroundImage}, #{coverImage}, #{description}, #{category}, #{status}, #{scenicId}, NOW(), NOW(), 0 ) @@ -85,6 +86,7 @@ background_type = #{backgroundType}, background_color = #{backgroundColor}, background_image = #{backgroundImage}, + cover_image = #{coverImage}, description = #{description}, category = #{category}, status = #{status},