xiangpei
2025-06-03 a12f9b3142bfe790c9f3586217be413ba35e2ffe
视频主页-个人信息修改
6个文件已修改
1个文件已添加
109 ■■■■ 已修改文件
buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoHomePageInfoForm.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/VideoMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoHomePageInfoForm.java
New file
@@ -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:xp
 * @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;
}
framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
@@ -35,6 +35,7 @@
    /** 图片封面 */
    @ApiModelProperty("图片封面")
    private String coverUrl;
    private String coverFileKey;
    /** 视频地址 */
    @ApiModelProperty("视频地址")
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);
}
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("保存成功");
    }
}
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) {
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" />