From a12f9b3142bfe790c9f3586217be413ba35e2ffe Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 03 六月 2025 20:33:44 +0800
Subject: [PATCH] 视频主页-个人信息修改

---
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java               |    1 
 framework/src/main/resources/mapper/lmk/VideoMapper.xml                            |    2 
 framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoHomePageInfoForm.java |   28 ++++++++++++++
 buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java                |    7 +++
 framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java  |   34 ++++++++++++-----
 framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java              |    8 ++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java     |   29 +++++++++++---
 7 files changed, 92 insertions(+), 17 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
index 9b3a130..659c7e7 100644
--- a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
@@ -4,6 +4,7 @@
 import cn.lili.group.Update;
 import cn.lili.group.Add;
 import cn.lili.modules.lmk.domain.form.VideoFootPrintForm;
+import cn.lili.modules.lmk.domain.form.VideoHomePageInfoForm;
 import cn.lili.modules.lmk.domain.query.AuthorVideoQuery;
 import cn.lili.modules.member.entity.dos.FootPrint;
 import org.springframework.validation.annotation.Validated;
@@ -96,4 +97,10 @@
     public Result getAuthorCollectVideoPage(AuthorVideoQuery query) {
         return videoService.getAuthorCollectVideoPage(query);
     }
+
+    @PostMapping("/home-page-info-edit")
+    @ApiOperation(value = "淇濆瓨瑙嗛涓婚〉鐨勪釜浜轰俊鎭慨鏀�", notes = "淇濆瓨瑙嗛涓婚〉鐨勪釜浜轰俊鎭慨鏀�")
+    public Result homePageInfoEdit(@RequestBody @Validated VideoHomePageInfoForm form) {
+        return videoService.homePageInfoEdit(form);
+    }
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoHomePageInfoForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoHomePageInfoForm.java
new file mode 100644
index 0000000..3f044bb
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoHomePageInfoForm.java
@@ -0,0 +1,28 @@
+package cn.lili.modules.lmk.domain.form;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author锛歺p
+ * @date锛�2025/6/3 20:09
+ */
+@Data
+@ApiModel("瑙嗛涓婚〉涓汉淇℃伅淇敼")
+public class VideoHomePageInfoForm {
+
+    @ApiModelProperty("涓�х鍚�")
+    private String motto;
+
+    @NotBlank(message = "鏄电О涓嶈兘涓虹┖")
+    @ApiModelProperty("鏄电О")
+    private String nickName;
+
+    @NotBlank(message = "澶村儚涓嶈兘涓虹┖")
+    @ApiModelProperty("澶村儚")
+    private String avatar;
+
+}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
index 3600fa2..9a7a98e 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
@@ -35,6 +35,7 @@
     /** 鍥剧墖灏侀潰 */
     @ApiModelProperty("鍥剧墖灏侀潰")
     private String coverUrl;
+    private String coverFileKey;
 
     /** 瑙嗛鍦板潃 */
     @ApiModelProperty("瑙嗛鍦板潃")
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java b/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java
index 09a274d..b13cb9b 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java
@@ -167,4 +167,12 @@
      * @return
      */
     Result getAuthorCollectVideoPage(AuthorVideoQuery query);
+
+    /**
+     * 淇濆瓨瑙嗛涓婚〉鐨勪釜浜轰俊鎭慨鏀�
+     *
+     * @param form
+     * @return
+     */
+    Result homePageInfoEdit(VideoHomePageInfoForm form);
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
index ef88f79..a15a912 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
@@ -1,9 +1,7 @@
 package cn.lili.modules.lmk.service.impl;
 
 import cn.lili.common.security.context.UserContext;
-import cn.lili.modules.lmk.domain.entity.VideoAuditRecord;
-import cn.lili.modules.lmk.domain.entity.VideoTag;
-import cn.lili.modules.lmk.domain.entity.VideoTagRef;
+import cn.lili.modules.lmk.domain.entity.*;
 import cn.lili.modules.lmk.domain.form.*;
 import cn.lili.modules.lmk.domain.query.AuthorVideoQuery;
 import cn.lili.modules.lmk.domain.query.ManagerVideoQuery;
@@ -13,10 +11,11 @@
 import cn.lili.modules.lmk.enums.general.ViewTypeEnum;
 import cn.lili.modules.lmk.service.*;
 import cn.lili.modules.member.entity.dos.FootPrint;
+import cn.lili.modules.member.entity.dos.Member;
 import cn.lili.modules.member.service.FootprintService;
+import cn.lili.modules.member.service.MemberService;
 import cn.lili.utils.COSUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import cn.lili.modules.lmk.domain.entity.Video;
 import cn.lili.modules.lmk.mapper.VideoMapper;
 import cn.lili.base.Result;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
@@ -55,6 +54,8 @@
     private final COSUtil cosUtil;
     private final FootprintService footprintService;
     private final MySubscribeService mySubscribeService;
+    private final MemberService memberService;
+    private final VideoAccountService videoAccountService;
 
     /**
      * 娣诲姞
@@ -295,6 +296,7 @@
                 v.setTagList(tagMap.get(v.getId()));
                 v.setCollected(CollectionUtils.isNotEmpty(collectMap.get(v.getId())));
                 v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey()));
+                v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey()));
                 v.setSubscribeThisAuthor(subscribes.contains(v.getAuthorId()));
             });
         }
@@ -352,7 +354,7 @@
         IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class);
         baseMapper.getAuthorVideoPage(page, query);
         for (WxVideoVO vo : page.getRecords()) {
-            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverUrl()));
+            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverFileKey()));
             vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoUrl()));
         }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
@@ -363,10 +365,25 @@
         IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class);
         baseMapper.getAuthorCollectVideoPage(page, query);
         for (WxVideoVO vo : page.getRecords()) {
-            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverUrl()));
+            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverFileKey()));
             vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoUrl()));
             vo.setCollected(Boolean.TRUE);
         }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Result homePageInfoEdit(VideoHomePageInfoForm form) {
+        new LambdaUpdateChainWrapper<>(memberService.getBaseMapper())
+                .eq(Member::getId, UserContext.getCurrentUserId())
+                .set(Member::getNickName, form.getNickName())
+                .set(Member::getFace, form.getAvatar())
+                .update();
+        new LambdaUpdateChainWrapper<>(videoAccountService.getBaseMapper())
+                .eq(VideoAccount::getUserId, UserContext.getCurrentUserId())
+                .set(VideoAccount::getMotto, form.getMotto())
+                .update();
+        return Result.ok("淇濆瓨鎴愬姛");
+    }
 }
diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
index 2fa2972..ddcd129 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
@@ -70,33 +70,47 @@
  * @since 2021-03-29 14:10:16
  */
 @Service
-@RequiredArgsConstructor
 public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {
 
     /**
      * 浼氬憳token
      */
-    private final MemberTokenGenerate memberTokenGenerate;
+    @Autowired
+    private MemberTokenGenerate memberTokenGenerate;
     /**
      * 鍟嗗token
      */
-    private final StoreTokenGenerate storeTokenGenerate;
+    @Autowired
+    private StoreTokenGenerate storeTokenGenerate;
     /**
      * 鑱斿悎鐧诲綍
      */
-    private final ConnectService connectService;
+    @Autowired
+    private ConnectService connectService;
     /**
      * 搴楅摵
      */
-    private final StoreService storeService;
+    @Autowired
+    private StoreService storeService;
     /**
      * RocketMQ 閰嶇疆
      */
-    private final RocketmqCustomProperties rocketmqCustomProperties;
-    private final RocketMQTemplate rocketMQTemplate;
-    private final ApplicationEventPublisher applicationEventPublisher;
-    private final Cache cache;
-    private final VideoAccountService videoAccountService;
+    @Autowired
+    private RocketmqCustomProperties rocketmqCustomProperties;
+
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
+    @Autowired
+    private ApplicationEventPublisher applicationEventPublisher;
+    /**
+     * 缂撳瓨
+     */
+    @Autowired
+    private Cache cache;
+
+    @Autowired
+    private VideoAccountService videoAccountService;
 
     @Override
     public Member findByUsername(String userName) {
diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
index 22895cf..066d815 100644
--- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -31,7 +31,7 @@
         <result column="author_id" property="authorId" />
         <result column="authorName" property="authorName" />
         <result column="authorAvatar" property="authorAvatar" />
-        <result column="cover_url" property="coverUrl" />
+        <result column="cover_url" property="coverFileKey" />
         <result column="video_file_key" property="videoFileKey" />
         <result column="video_fit" property="videoFit" />
         <result column="title" property="title" />

--
Gitblit v1.8.0