fent:添加预览记录
This commit is contained in:
1 parent
7e391852df
commit
9ce5a00456
8 files changed
+91
-8
No files matched your search
+1
-1
@@ -8,7 +8,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 朋友圈查看场景 square
|
||||
* 朋友圈查看场景
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package cn.iocoder.yudao.module.member.enums;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户预览记录 classify
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum MemberRecentViewRecordEnum {
|
||||
CLASSIFY("1", "分类查看"),
|
||||
RECENT("2", "朋友圈查看"),
|
||||
;
|
||||
private final String type;
|
||||
private final String description;
|
||||
|
||||
public static boolean contains(MemberRecentOperateEnum operateEnum) {
|
||||
return Arrays.asList(values()).stream().anyMatch(v -> ObjectUtil.equals(v.type, operateEnum.getType()));
|
||||
}
|
||||
|
||||
public static boolean contains(List<MemberRecentOperateEnum> operateEnumList) {
|
||||
return operateEnumList.stream().anyMatch(MemberRecentOperateEnum::contains);
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.viewrecord;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo;
|
||||
import cn.iocoder.yudao.module.member.service.recent.ViewRecordService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -45,7 +46,7 @@ public class ViewRecordController {
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建用户查看记录")
|
||||
@PreAuthorize("@ss.hasPermission('member:view-record:create')")
|
||||
public CommonResult<Long> createViewRecord(@Valid @RequestBody ViewRecordSaveReqVO createReqVO) {
|
||||
public CommonResult<Long> createViewRecord(@Valid @RequestBody AppRecentViewRecordReqVo createReqVO) {
|
||||
return success(viewRecordService.createViewRecord(createReqVO));
|
||||
}
|
||||
|
||||
|
||||
+11
@@ -8,7 +8,9 @@ import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentSaveReqVO
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentOperateReqVo;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentQuickPageVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo;
|
||||
import cn.iocoder.yudao.module.member.service.recent.RecentService;
|
||||
import cn.iocoder.yudao.module.member.service.recent.ViewRecordService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -28,6 +30,8 @@ public class AppRecentController {
|
||||
|
||||
@Resource
|
||||
private RecentService recentService;
|
||||
@Resource
|
||||
private ViewRecordService viewRecord;
|
||||
|
||||
@PostMapping("/quick-page")
|
||||
@Operation(summary = "快速查询朋友圈")
|
||||
@@ -50,4 +54,11 @@ public class AppRecentController {
|
||||
return success(recentService.operate(dto));
|
||||
}
|
||||
|
||||
@PostMapping("/create/view-record")
|
||||
@Operation(summary = "添加用户预览记录")
|
||||
public CommonResult<Long> createViewRecord(@Valid @RequestBody AppRecentViewRecordReqVo dto) {
|
||||
dto.setMemberId(getLoginUserId());
|
||||
return success(viewRecord.createViewRecord(dto));
|
||||
}
|
||||
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.recent.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.member.enums.MemberRecentViewRecordEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class AppRecentViewRecordReqVo {
|
||||
|
||||
@Schema(description = "用户编号")
|
||||
private Long memberId;
|
||||
|
||||
@Schema(description = "查看记录分类")
|
||||
@NotEmpty(message = "查看记录分类不能为空")
|
||||
private MemberRecentViewRecordEnum bizType;
|
||||
|
||||
@Schema(description = "查询分类、查看朋友圈")
|
||||
private Long bizId;
|
||||
|
||||
@Schema(description = "标题")
|
||||
private String title;
|
||||
|
||||
@Schema(description = "开始查看时间")
|
||||
@NotEmpty(message = "开始查看时间不能为空")
|
||||
private LocalDateTime viewStartTime;
|
||||
|
||||
@Schema(description = "结束查看时间")
|
||||
@NotEmpty(message = "结束查看时间不能为空")
|
||||
private LocalDateTime viewEndTime;
|
||||
|
||||
}
|
||||
+1
@@ -5,6 +5,7 @@ import javax.validation.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.*;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentOperateReqVo;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo;
|
||||
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;
|
||||
|
||||
+2
-3
@@ -1,11 +1,10 @@
|
||||
package cn.iocoder.yudao.module.member.service.recent;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.viewrecord.vo.*;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.viewrecord.ViewRecordDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
|
||||
/**
|
||||
* 用户查看记录 Service 接口
|
||||
@@ -15,7 +14,7 @@ public interface ViewRecordService {
|
||||
/**
|
||||
* 创建用户查看记录
|
||||
*/
|
||||
Long createViewRecord(@Valid ViewRecordSaveReqVO createReqVO);
|
||||
Long createViewRecord(@Valid AppRecentViewRecordReqVo createReqVO);
|
||||
|
||||
/**
|
||||
* 更新用户查看记录
|
||||
|
||||
+9
-3
@@ -1,6 +1,9 @@
|
||||
package cn.iocoder.yudao.module.member.service.recent;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.module.member.controller.app.recent.vo.AppRecentViewRecordReqVo;
|
||||
import cn.iocoder.yudao.module.member.enums.MemberErrorCode;
|
||||
import cn.iocoder.yudao.module.member.enums.MemberRecentViewRecordEnum;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -37,11 +40,14 @@ public class ViewRecordServiceImpl implements ViewRecordService {
|
||||
* 创建用户查看记录
|
||||
*/
|
||||
@Override
|
||||
public Long createViewRecord(ViewRecordSaveReqVO createReqVO) {
|
||||
public Long createViewRecord(AppRecentViewRecordReqVo dto) {
|
||||
// 插入
|
||||
ViewRecordDO viewRecord = BeanUtils.toBean(createReqVO, ViewRecordDO.class);
|
||||
ViewRecordDO viewRecord = BeanUtils.toBean(dto, ViewRecordDO.class);
|
||||
viewRecord.setViewSecond((dto.getViewEndTime().getSecond() - dto.getViewStartTime().getSecond()));
|
||||
if (ObjectUtil.equals(viewRecord.getBizType(), MemberRecentViewRecordEnum.RECENT.getType())) {
|
||||
viewRecord.setTitle("访问朋友圈");
|
||||
}
|
||||
viewRecordMapper.insert(viewRecord);
|
||||
// 返回
|
||||
return viewRecord.getId();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user