This commit is contained in:
dute7liang
2023-12-23 22:34:32 +08:00
parent 59d048e1a6
commit a40d8eeef9
43 changed files with 1289 additions and 0 deletions

View File

@@ -0,0 +1,95 @@
package com.ruoyi.cai.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.CaiDynamic;
import com.ruoyi.cai.service.CaiDynamicService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 主播动态
*
* @author 77
* @date 2023-12-23
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/cai/dynamic")
public class CaiDynamicController extends BaseController {
private final CaiDynamicService caiDynamicService;
/**
* 查询主播动态列表
*/
@SaCheckPermission("cai:dynamic:list")
@GetMapping("/list")
public TableDataInfo<CaiDynamic> list(CaiDynamic bo, PageQuery pageQuery) {
Page<CaiDynamic> page = caiDynamicService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
return TableDataInfo.build(page);
}
/**
* 获取主播动态详细信息
*
* @param id 主键
*/
@SaCheckPermission("cai:dynamic:query")
@GetMapping("/{id}")
public R<CaiDynamic> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(caiDynamicService.getById(id));
}
/**
* 新增主播动态
*/
@SaCheckPermission("cai:dynamic:add")
@Log(title = "主播动态", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody CaiDynamic bo) {
return toAjax(caiDynamicService.save(bo));
}
/**
* 修改主播动态
*/
@SaCheckPermission("cai:dynamic:edit")
@Log(title = "主播动态", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CaiDynamic bo) {
return toAjax(caiDynamicService.updateById(bo));
}
/**
* 删除主播动态
*
* @param ids 主键串
*/
@SaCheckPermission("cai:dynamic:remove")
@Log(title = "主播动态", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(caiDynamicService.removeBatchByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,95 @@
package com.ruoyi.cai.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.CaiUserAlbum;
import com.ruoyi.cai.service.CaiUserAlbumService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 主播集锦
*
* @author ruoyi
* @date 2023-12-23
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/cai/userAlbum")
public class CaiUserAlbumController extends BaseController {
private final CaiUserAlbumService userAlbumService;
/**
* 查询主播集锦列表
*/
@SaCheckPermission("cai:userAlbum:list")
@GetMapping("/list")
public TableDataInfo<CaiUserAlbum> list(CaiUserAlbum bo, PageQuery pageQuery) {
Page<CaiUserAlbum> page = userAlbumService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
return TableDataInfo.build(page);
}
/**
* 获取主播集锦详细信息
*
* @param id 主键
*/
@SaCheckPermission("cai:userAlbum:query")
@GetMapping("/{id}")
public R<CaiUserAlbum> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(userAlbumService.getById(id));
}
/**
* 新增主播集锦
*/
@SaCheckPermission("cai:userAlbum:add")
@Log(title = "主播集锦", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody CaiUserAlbum bo) {
return toAjax(userAlbumService.save(bo));
}
/**
* 修改主播集锦
*/
@SaCheckPermission("cai:userAlbum:edit")
@Log(title = "主播集锦", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CaiUserAlbum bo) {
return toAjax(userAlbumService.updateById(bo));
}
/**
* 删除主播集锦
*
* @param ids 主键串
*/
@SaCheckPermission("cai:userAlbum:remove")
@Log(title = "主播集锦", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(userAlbumService.removeBatchByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,71 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 地区对象 cai_area
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_area")
public class CaiArea implements Serializable {
private static final long serialVersionUID=1L;
/**
* ID
*/
@TableId(value = "id")
private Long id;
/**
* 父id
*/
private Long pid;
/**
* 简称
*/
private String shortname;
/**
* 名称
*/
private String name;
/**
* 全称
*/
private String mergename;
/**
* 层级 0 1 2 省市区县
*/
private Integer level;
/**
* 拼音
*/
private String pinyin;
/**
* 长途区号
*/
private String code;
/**
* 邮编
*/
private String zip;
/**
* 首字母
*/
private String first;
/**
* 经度
*/
private String lng;
/**
* 纬度
*/
private String lat;
}

View File

@@ -0,0 +1,53 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 主播动态对象 cai_dynamic
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_dynamic")
public class CaiDynamic implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 用户ID
*/
private Integer userId;
/**
* 内容
*/
private String content;
/**
* 城市ID
*/
private Integer cityId;
/**
* 是否有附件 0 没有 1 有
*/
private Integer isAttach;
/**
* 状态 0 审核中 1可用 2 不可用
*/
private Integer status;
/**
* 排序字段
*/
private Long sort;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,58 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 附件对象 cai_dynamic_images
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_dynamic_images")
public class CaiDynamicImages implements Serializable {
private static final long serialVersionUID=1L;
/**
* ID
*/
@TableId(value = "id")
private Integer id;
/**
* 用户ID
*/
private Integer userId;
/**
* 动态ID
*/
private Long dynamicId;
/**
* 物理路径
*/
private String url;
/**
* 宽度
*/
private Long width;
/**
* 高度
*/
private Long height;
/**
* 图片大小
*/
private Long size;
/**
* 类型
*/
private String exts;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,48 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 守护用户累计对象 cai_guard_total
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_guard_total")
public class CaiGuardTotal implements Serializable {
private static final long serialVersionUID=1L;
/**
* 自增id
*/
@TableId(value = "id")
private Long id;
/**
* 被守护人的user_id(大咖)
*/
private Long fromUserId;
/**
* 守护人的user_id
*/
private Long toUserId;
/**
* 累计守护符个数
*/
private Long guardNum;
/**
* 守护值
*/
private Long guardValue;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,54 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 主播集锦对象 cai_user_album
*
* @author ruoyi
* @date 2023-12-23
*/
@Data
@TableName("cai_user_album")
public class CaiUserAlbum implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 用户ID
*/
private Long userId;
/**
*
*/
private String url;
/**
* 状态 0 未审核 1 审核通过 2 审核未通过
*/
private Integer status;
/**
* 审核时间
*/
private LocalDateTime auditTime;
/**
* 审核备注
*/
private String auditRemark;
/**
* 是否为大咖
*/
private Integer isAnchor;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,46 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 关注表对象 cai_user_follow
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_user_follow")
public class CaiUserFollow implements Serializable {
private static final long serialVersionUID=1L;
/**
* 关注人ID
*/
@TableId(value = "user_id")
private Long userId;
/**
* 被关注人ID
*/
@TableId(value = "follow_user")
private Long followUser;
/**
* 状态 0 未查看 1 已查看
*/
private Integer isWatch;
/**
* 备注
*/
private String remark;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,37 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 关注动态表对象 cai_user_follow_dynamic
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_user_follow_dynamic")
public class CaiUserFollowDynamic implements Serializable {
private static final long serialVersionUID=1L;
/**
* 我的userID
*/
private Long userId;
/**
* 我关注的人用户ID
*/
private Long followUid;
/**
* 动态ID
*/
private Long dynamicId;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,54 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 礼物记录对象 cai_user_gift
*
* @author 77
* @date 2023-12-23
*/
@Data
@TableName("cai_user_gift")
public class CaiUserGift implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 类型 1 个人详情页 2.IM页面 3视频页
*/
private Integer type;
/**
* 赠送者
*/
private Long fromUid;
/**
* 接受者
*/
private Long toUid;
/**
* 礼物ID
*/
private Long giftId;
/**
* 礼物数量
*/
private Long giftCount;
/**
* 礼物总额
*/
private Long giftAmount;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiArea;
/**
* 地区Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiAreaMapper extends BaseMapper<CaiArea> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiDynamicImages;
/**
* 附件Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiDynamicImagesMapper extends BaseMapper<CaiDynamicImages> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiDynamic;
/**
* 主播动态Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiDynamicMapper extends BaseMapper<CaiDynamic> {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiGuardTotal;
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 守护用户累计Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiGuardTotalMapper extends BaseMapper<CaiGuardTotal> {
List<GuardTotalVo> selectGuardTotal(@Param("fromUserId") Long fromUserId, @Param("limit") Integer limit);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiUserAlbum;
/**
* 主播集锦Mapper接口
*
* @author ruoyi
* @date 2023-12-23
*/
public interface CaiUserAlbumMapper extends BaseMapper<CaiUserAlbum> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
/**
* 关注动态表Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiUserFollowDynamicMapper extends BaseMapper<CaiUserFollowDynamic> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiUserFollow;
/**
* 关注表Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiUserFollowMapper extends BaseMapper<CaiUserFollow> {
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiUserGift;
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 礼物记录Mapper接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiUserGiftMapper extends BaseMapper<CaiUserGift> {
List<UserGiftVo> selectGiftList(@Param("userId") Long userId);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiArea;
/**
* 地区Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiAreaService extends IService<CaiArea> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiDynamicImages;
/**
* 附件Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiDynamicImagesService extends IService<CaiDynamicImages> {
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiDynamic;
import com.ruoyi.cai.dto.app.vo.DynamicVo;
import java.util.List;
/**
* 主播动态Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiDynamicService extends IService<CaiDynamic> {
List<DynamicVo> selectDynamicList(Long userId, Integer limit);
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiGuardTotal;
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
import java.util.List;
/**
* 守护用户累计Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiGuardTotalService extends IService<CaiGuardTotal> {
List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit);
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserAlbum;
import java.util.List;
/**
* 主播集锦Service接口
*
* @author ruoyi
* @date 2023-12-23
*/
public interface CaiUserAlbumService extends IService<CaiUserAlbum> {
List<String> getUserAlbum(Long userId, Integer anchor);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
/**
* 关注动态表Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiUserFollowDynamicService extends IService<CaiUserFollowDynamic> {
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserFollow;
/**
* 关注表Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiUserFollowService extends IService<CaiUserFollow> {
Long getFansNumByUserId(Long userId);
boolean checkStar(Long userId, Long followUserId);
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserGift;
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
import java.util.List;
/**
* 礼物记录Service接口
*
* @author 77
* @date 2023-12-23
*/
public interface CaiUserGiftService extends IService<CaiUserGift> {
List<UserGiftVo> selectGiftList(Long userId);
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiArea;
import com.ruoyi.cai.mapper.CaiAreaMapper;
import com.ruoyi.cai.service.CaiAreaService;
import org.springframework.stereotype.Service;
/**
* 地区Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@Service
public class CaiAreaServiceImpl extends ServiceImpl<CaiAreaMapper,CaiArea> implements CaiAreaService {
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiDynamicImages;
import com.ruoyi.cai.mapper.CaiDynamicImagesMapper;
import com.ruoyi.cai.service.CaiDynamicImagesService;
import org.springframework.stereotype.Service;
/**
* 附件Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@Service
public class CaiDynamicImagesServiceImpl extends ServiceImpl<CaiDynamicImagesMapper, CaiDynamicImages> implements CaiDynamicImagesService {
}

View File

@@ -0,0 +1,57 @@
package com.ruoyi.cai.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiDynamic;
import com.ruoyi.cai.domain.CaiDynamicImages;
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
import com.ruoyi.cai.dto.app.vo.DynamicVo;
import com.ruoyi.cai.mapper.CaiDynamicMapper;
import com.ruoyi.cai.service.CaiDynamicImagesService;
import com.ruoyi.cai.service.CaiDynamicService;
import com.ruoyi.common.utils.BeanConvertUtil;
import lombok.RequiredArgsConstructor;
import net.bytebuddy.utility.JavaConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 主播动态Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@RequiredArgsConstructor
@Service
public class CaiDynamicServiceImpl extends ServiceImpl<CaiDynamicMapper,CaiDynamic> implements CaiDynamicService {
@Autowired
private CaiDynamicImagesService dynamicImagesService;
@Override
public List<DynamicVo> selectDynamicList(Long userId, Integer limit) {
List<CaiDynamic> list = this.list(Wrappers.lambdaQuery(CaiDynamic.class)
.eq(CaiDynamic::getUserId, userId)
.eq(CaiDynamic::getStatus, 1)
.orderByDesc(CaiDynamic::getCreateTime)
.last("limit "+ limit));
List<DynamicVo> res = BeanConvertUtil.convertListTo(list, DynamicVo::new);
List<Long> dynamicIds = res.stream().filter(i -> i.getIsAttach() == 1).map(DynamicVo::getId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(dynamicIds)){
List<CaiDynamicImages> dynamicImages = dynamicImagesService.list(Wrappers.lambdaQuery(CaiDynamicImages.class)
.in(CaiDynamicImages::getDynamicId, dynamicIds));
Map<Long, List<CaiDynamicImages>> map =
dynamicImages.stream().collect(Collectors.groupingBy(CaiDynamicImages::getDynamicId));
for (DynamicVo re : res) {
List<CaiDynamicImages> images = map.get(re.getId());
re.setImageList(BeanConvertUtil.convertListTo(images, DynamicImageVo::new));
}
}
return res;
}
}

View File

@@ -0,0 +1,26 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiGuardTotal;
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
import com.ruoyi.cai.mapper.CaiGuardTotalMapper;
import com.ruoyi.cai.service.CaiGuardTotalService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 守护用户累计Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@Service
public class CaiGuardTotalServiceImpl extends ServiceImpl<CaiGuardTotalMapper,CaiGuardTotal> implements CaiGuardTotalService {
@Override
public List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit) {
return baseMapper.selectGuardTotal(fromUserId, limit);
}
}

View File

@@ -0,0 +1,38 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserAlbum;
import com.ruoyi.cai.mapper.CaiUserAlbumMapper;
import com.ruoyi.cai.service.CaiUserAlbumService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* 主播集锦Service业务层处理
*
* @author ruoyi
* @date 2023-12-23
*/
@RequiredArgsConstructor
@Service
public class CaiUserAlbumServiceImpl extends ServiceImpl<CaiUserAlbumMapper, CaiUserAlbum> implements CaiUserAlbumService {
@Override
public List<String> getUserAlbum(Long userId,Integer anchor){
LambdaQueryWrapper<CaiUserAlbum> eq = Wrappers.lambdaQuery(CaiUserAlbum.class)
.select(CaiUserAlbum::getUrl)
.eq(CaiUserAlbum::getUserId, userId);
if(anchor != null && anchor == 1){
eq.ne(CaiUserAlbum::getAuditRemark,2);
}else{
eq.eq(CaiUserAlbum::getAuditRemark,1);
}
List<CaiUserAlbum> list = this.list(eq);
return list.stream().map(CaiUserAlbum::getUrl).collect(Collectors.toList());
}
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
import com.ruoyi.cai.mapper.CaiUserFollowDynamicMapper;
import com.ruoyi.cai.service.CaiUserFollowDynamicService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 关注动态表Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@RequiredArgsConstructor
@Service
public class CaiUserFollowDynamicServiceImpl extends ServiceImpl<CaiUserFollowDynamicMapper,CaiUserFollowDynamic> implements CaiUserFollowDynamicService {
}

View File

@@ -0,0 +1,38 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserFollow;
import com.ruoyi.cai.mapper.CaiUserFollowMapper;
import com.ruoyi.cai.service.CaiUserFollowService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 关注表Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@RequiredArgsConstructor
@Service
public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,CaiUserFollow> implements CaiUserFollowService {
@Override
public Long getFansNumByUserId(Long userId){
return this.count(Wrappers.lambdaQuery(CaiUserFollow.class)
.eq(CaiUserFollow::getFollowUser,userId));
}
@Override
public boolean checkStar(Long userId,Long followUserId){
long count = this.count(Wrappers.lambdaQuery(CaiUserFollow.class)
.eq(CaiUserFollow::getFollowUser, followUserId)
.eq(CaiUserFollow::getUserId, userId));
if(count > 0){
return true;
}
return false;
}
}

View File

@@ -0,0 +1,27 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserGift;
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
import com.ruoyi.cai.mapper.CaiUserGiftMapper;
import com.ruoyi.cai.service.CaiUserGiftService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 礼物记录Service业务层处理
*
* @author 77
* @date 2023-12-23
*/
@RequiredArgsConstructor
@Service
public class CaiUserGiftServiceImpl extends ServiceImpl<CaiUserGiftMapper,CaiUserGift> implements CaiUserGiftService {
@Override
public List<UserGiftVo> selectGiftList(Long userId) {
return baseMapper.selectGiftList(userId);
}
}