11
This commit is contained in:
1 parent
0960890308
commit
6985ee98e6
11 files changed
+151
-29
No files matched your search
+1
@@ -16,6 +16,7 @@ import java.util.List;
|
||||
public enum MemberRecentViewRecordEnum {
|
||||
CLASSIFY("1", "分类查看"),
|
||||
RECENT("2", "朋友圈查看"),
|
||||
USER("3", "用户查看"),
|
||||
;
|
||||
private final String type;
|
||||
private final String description;
|
||||
|
||||
-1
@@ -75,7 +75,6 @@ public class OperationRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
private MemberVo member;
|
||||
|
||||
/**
|
||||
|
||||
+25
-1
@@ -1,10 +1,11 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.viewrecord.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
@@ -42,4 +43,27 @@ public class ViewRecordPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
private ViewRecordPageReqVO.MemberVo member;
|
||||
/**
|
||||
* 用户相关
|
||||
*/
|
||||
@Data
|
||||
public static class MemberVo {
|
||||
|
||||
@Schema(description = "用户编号")
|
||||
private Long memberId;
|
||||
|
||||
@Schema(description = "用户头像")
|
||||
private String memberAvatar;
|
||||
|
||||
@Schema(description = "用户昵称")
|
||||
private String memberNickname;
|
||||
|
||||
@Schema(description = "用户年龄")
|
||||
private String memberAge;
|
||||
|
||||
@Schema(description = "用户职业")
|
||||
private String memberOcc;
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -14,8 +14,8 @@ public class CreateManAuthReqVo {
|
||||
@Schema(description = "会员编号")
|
||||
private Long memberId;
|
||||
|
||||
@Schema(description = "认证图片或视频")
|
||||
@NotNull(message = "认证图片或视频不能为空")
|
||||
@Schema(description = "认证图片")
|
||||
@NotNull(message = "认证图片不能为空")
|
||||
private String authPic;
|
||||
|
||||
@Schema(description = "metaInfoJson")
|
||||
|
||||
+18
-2
@@ -7,11 +7,13 @@ import cn.iocoder.yudao.module.member.controller.admin.recent.vo.OperationRespVO
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.OperationTotalGroupRecentRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentPageResVo;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.viewrecord.vo.ViewRecordPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.*;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserInfoRespVO;
|
||||
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.viewrecord.ViewRecordDO;
|
||||
import cn.iocoder.yudao.module.member.enums.MemberRecentSceneEnum;
|
||||
import cn.iocoder.yudao.module.member.service.recent.RecentService;
|
||||
import cn.iocoder.yudao.module.member.service.recent.ViewRecordService;
|
||||
@@ -35,7 +37,7 @@ public class AppRecentController {
|
||||
@Resource
|
||||
private RecentService recentService;
|
||||
@Resource
|
||||
private ViewRecordService viewRecord;
|
||||
private ViewRecordService viewRecordService;
|
||||
|
||||
@PostMapping("/quick-page")
|
||||
@Operation(summary = "快速查询朋友圈")
|
||||
@@ -76,7 +78,7 @@ public class AppRecentController {
|
||||
@Operation(summary = "添加用户预览记录")
|
||||
public CommonResult<Long> createViewRecord(@Valid @RequestBody AppRecentViewRecordReqVo dto) {
|
||||
dto.setMemberId(getLoginUserId());
|
||||
return success(viewRecord.createViewRecord(dto));
|
||||
return success(viewRecordService.createViewRecord(dto));
|
||||
}
|
||||
|
||||
@PostMapping("/like/it-page")
|
||||
@@ -93,6 +95,20 @@ public class AppRecentController {
|
||||
return success(recentService.likeMePage(dto));
|
||||
}
|
||||
|
||||
@PostMapping("/look/it-page")
|
||||
@Operation(summary = "我看过-分页查询")
|
||||
public CommonResult<PageResult<ViewRecordPageReqVO>> lookItMePage(@Valid @RequestBody AppRecentLikeReqVo dto) {
|
||||
dto.setMemberId(getLoginUserId());
|
||||
return success(viewRecordService.lookItMePage(dto));
|
||||
}
|
||||
|
||||
@PostMapping("/look/me-page")
|
||||
@Operation(summary = "看过我-分页查询")
|
||||
public CommonResult<PageResult<ViewRecordPageReqVO>> lookMePage(@Valid @RequestBody AppRecentLikeReqVo dto) {
|
||||
dto.setMemberId(getLoginUserId());
|
||||
return success(viewRecordService.lookMePage(dto));
|
||||
}
|
||||
|
||||
@PostMapping("/dynamic-page")
|
||||
@Operation(summary = "我的动态")
|
||||
public CommonResult<PageResult<RecentPageResVo>> dynamicPage(@Valid @RequestBody AppRecentLikeReqVo dto) {
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.recent.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AppRecentLookReqVo extends PageParam {
|
||||
|
||||
@Schema(description = "操作用户标号")
|
||||
private Long memberId;
|
||||
|
||||
}
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.member.dal.dataobject.viewrecord;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
-7
@@ -1,20 +1,14 @@
|
||||
package cn.iocoder.yudao.module.member.service.recent;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import javax.validation.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.*;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.recent.RecentDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
|
||||
/**
|
||||
* 朋友圈 Service 接口
|
||||
*
|
||||
* @author 聊天交友
|
||||
*/
|
||||
public interface RecentService {
|
||||
|
||||
@@ -97,5 +91,4 @@ public interface RecentService {
|
||||
* 朋友圈我喜欢的、喜欢我的等总数统计
|
||||
*/
|
||||
OperationTotalGroupRecentRespVO total(Long userId);
|
||||
|
||||
}
|
||||
+3
-13
@@ -73,10 +73,8 @@ public class RecentServiceImpl implements RecentService {
|
||||
private MemberUserService memberUserService;
|
||||
@Resource
|
||||
private LocationService locationService;
|
||||
|
||||
@Resource
|
||||
private ThirdAuthService thirdAuthService;
|
||||
private MemberUserMapper memberUserMapper;
|
||||
|
||||
/**
|
||||
* 创建朋友圈
|
||||
@@ -166,7 +164,9 @@ public class RecentServiceImpl implements RecentService {
|
||||
*/
|
||||
@Override
|
||||
public Long operate(AppRecentOperateReqVo dto) {
|
||||
validateRecentExists(dto.getMemberRecentId());
|
||||
if (ObjectUtil.isNotEmpty(dto.getMemberRecentId())) {
|
||||
validateRecentExists(dto.getMemberRecentId());
|
||||
}
|
||||
OperationDO operationDO = operationMapper.selectOne(new LambdaQueryWrapperX<OperationDO>()
|
||||
.eq(OperationDO::getMemberId, dto.getMemberId())
|
||||
.eq(OperationDO::getMemberRecentId, dto.getMemberRecentId())
|
||||
@@ -340,17 +340,9 @@ public class RecentServiceImpl implements RecentService {
|
||||
);
|
||||
List<OperationDO> list = pageList.getList();
|
||||
if (ObjectUtil.isEmpty(list)) return resultPageList;
|
||||
|
||||
List<Long> operatorMemberIds = list.stream().map(OperationDO::getOperatorMemberId).collect(Collectors.toList());
|
||||
// 查询用户
|
||||
List<MemberUserDO> memberList = memberUserService.getUserList(operatorMemberIds);
|
||||
Map<Long, MemberUserDO> memberMap = IterUtil.toMap(memberList, MemberUserDO::getId);
|
||||
|
||||
List<OperationRespVO> resultList = BeanUtils.toBean(list, OperationRespVO.class);
|
||||
|
||||
// 为OperationRespVO设置Member信息
|
||||
convertOperationRespVOSetupMember(resultList);
|
||||
|
||||
resultPageList.setList(resultList);
|
||||
resultPageList.setTotal(pageList.getTotal());
|
||||
return resultPageList;
|
||||
@@ -372,10 +364,8 @@ public class RecentServiceImpl implements RecentService {
|
||||
List<OperationDO> list = pageList.getList();
|
||||
if (ObjectUtil.isEmpty(list)) return new PageResult<>();
|
||||
List<OperationRespVO> resultList = BeanUtils.toBean(list, OperationRespVO.class);
|
||||
|
||||
// 为OperationRespVO设置Member信息
|
||||
convertOperationRespVOSetupMember(resultList);
|
||||
|
||||
return new PageResult<>(resultList, pageList.getTotal());
|
||||
}
|
||||
|
||||
|
||||
+11
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.member.service.recent;
|
||||
|
||||
import javax.validation.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.OperationRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentPageResVo;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.viewrecord.vo.*;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentLikeReqVo;
|
||||
@@ -38,4 +39,14 @@ public interface ViewRecordService {
|
||||
* 获得用户查看记录分页
|
||||
*/
|
||||
PageResult<ViewRecordDO> getViewRecordPage(ViewRecordPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 我看过-分页查询
|
||||
*/
|
||||
PageResult<ViewRecordPageReqVO> lookItMePage(@Valid AppRecentLikeReqVo dto);
|
||||
|
||||
/**
|
||||
* 看过我-分页查询
|
||||
*/
|
||||
PageResult<ViewRecordPageReqVO> lookMePage(@Valid AppRecentLikeReqVo dto);
|
||||
}
|
||||
+77
-3
@@ -1,11 +1,14 @@
|
||||
package cn.iocoder.yudao.module.member.service.recent;
|
||||
|
||||
import cn.hutool.core.collection.IterUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentPageResVo;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentLikeReqVo;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
import cn.iocoder.yudao.module.member.enums.MemberErrorCode;
|
||||
import cn.iocoder.yudao.module.member.enums.MemberRecentViewRecordEnum;
|
||||
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -20,12 +23,14 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.viewrecord.ViewRecordMapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
|
||||
/**
|
||||
* 用户查看记录 Service 实现类
|
||||
*
|
||||
* @author 聊天交友
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
@@ -33,6 +38,8 @@ public class ViewRecordServiceImpl implements ViewRecordService {
|
||||
|
||||
@Resource
|
||||
private ViewRecordMapper viewRecordMapper;
|
||||
@Resource
|
||||
private MemberUserService memberUserService;
|
||||
|
||||
/**
|
||||
* 创建用户查看记录
|
||||
@@ -88,6 +95,73 @@ public class ViewRecordServiceImpl implements ViewRecordService {
|
||||
return viewRecordMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 我看过-分页查询
|
||||
*/
|
||||
@Override
|
||||
public PageResult<ViewRecordPageReqVO> lookItMePage(AppRecentLikeReqVo dto) {
|
||||
PageResult<ViewRecordPageReqVO> resultPageList = new PageResult<>();
|
||||
PageResult<ViewRecordDO> pageList = viewRecordMapper.selectPage(dto, new LambdaQueryWrapperX<ViewRecordDO>()
|
||||
.eq(ViewRecordDO::getMemberId, dto.getMemberId())
|
||||
.eq(ViewRecordDO::getBizType, MemberRecentViewRecordEnum.USER.getType())
|
||||
.ne(ViewRecordDO::getBizId, dto.getMemberId())
|
||||
.orderByDesc(ViewRecordDO::getCreateTime)
|
||||
);
|
||||
List<ViewRecordDO> list = pageList.getList();
|
||||
if (ObjectUtil.isEmpty(list)) return resultPageList;
|
||||
List<ViewRecordPageReqVO> resultList = BeanUtils.toBean(list, ViewRecordPageReqVO.class);
|
||||
// 为ViewRecordPageReqVO设置Member信息
|
||||
convertViewRecordPageReqVOSetupMember(resultList);
|
||||
resultPageList.setList(resultList);
|
||||
resultPageList.setTotal(pageList.getTotal());
|
||||
return resultPageList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 看过我-分页查询
|
||||
*/
|
||||
@Override
|
||||
public PageResult<ViewRecordPageReqVO> lookMePage(AppRecentLikeReqVo dto) {
|
||||
PageResult<ViewRecordPageReqVO> resultPageList = new PageResult<>();
|
||||
PageResult<ViewRecordDO> pageList = viewRecordMapper.selectPage(dto, new LambdaQueryWrapperX<ViewRecordDO>()
|
||||
.ne(ViewRecordDO::getMemberId, dto.getMemberId())
|
||||
.eq(ViewRecordDO::getBizType, MemberRecentViewRecordEnum.USER.getType())
|
||||
.eq(ViewRecordDO::getBizId, dto.getMemberId())
|
||||
.orderByDesc(ViewRecordDO::getCreateTime)
|
||||
);
|
||||
List<ViewRecordDO> list = pageList.getList();
|
||||
if (ObjectUtil.isEmpty(list)) return resultPageList;
|
||||
List<ViewRecordPageReqVO> resultList = BeanUtils.toBean(list, ViewRecordPageReqVO.class);
|
||||
// 为ViewRecordPageReqVO设置Member信息
|
||||
convertViewRecordPageReqVOSetupMember(resultList);
|
||||
resultPageList.setList(resultList);
|
||||
resultPageList.setTotal(pageList.getTotal());
|
||||
return resultPageList;
|
||||
}
|
||||
|
||||
// 为ViewRecordPageReqVO设置Member信息
|
||||
private void convertViewRecordPageReqVOSetupMember(List<ViewRecordPageReqVO> list) {
|
||||
if (ObjectUtil.isEmpty(list)) return;
|
||||
List<Long> memberIds = list.stream().map(ViewRecordPageReqVO::getMemberId).collect(Collectors.toList());
|
||||
List<MemberUserDO> memberList = memberUserService.getUserList(memberIds);
|
||||
Map<Long, MemberUserDO> memberMap = IterUtil.toMap(memberList, MemberUserDO::getId);
|
||||
for (ViewRecordPageReqVO entity : list) {
|
||||
// 用户相关
|
||||
if (ObjectUtil.isNotEmpty(memberMap)) {
|
||||
MemberUserDO member = memberMap.get(entity.getMemberId());
|
||||
if (ObjectUtil.isNotEmpty(member)) {
|
||||
ViewRecordPageReqVO.MemberVo memberVO = new ViewRecordPageReqVO.MemberVo();
|
||||
memberVO.setMemberId(member.getId());
|
||||
memberVO.setMemberAvatar(member.getAvatar());
|
||||
memberVO.setMemberNickname(member.getNickname());
|
||||
memberVO.setMemberAge(member.getAge());
|
||||
memberVO.setMemberOcc(member.getOcc());
|
||||
entity.setMember(memberVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void validateViewRecordExists(Long id) {
|
||||
if (viewRecordMapper.selectById(id) == null) {
|
||||
throw exception(MemberErrorCode.VIEW_RECORD_NOT_EXISTS);
|
||||
|
||||
Reference in new issue
Block a user