init
This commit is contained in:
@@ -0,0 +1,96 @@
|
|||||||
|
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.CaiUserCount;
|
||||||
|
import com.ruoyi.cai.service.CaiUserCountService;
|
||||||
|
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-24
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cai/userCount")
|
||||||
|
public class CaiUserCountController extends BaseController {
|
||||||
|
|
||||||
|
private final CaiUserCountService caiUserCountService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户信息数量统计列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cai:userCount:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<CaiUserCount> list(CaiUserCount bo, PageQuery pageQuery) {
|
||||||
|
Page<CaiUserCount> page = caiUserCountService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||||
|
return TableDataInfo.build(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户信息数量统计详细信息
|
||||||
|
*
|
||||||
|
* @param userId 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cai:userCount:query")
|
||||||
|
@GetMapping("/{userId}")
|
||||||
|
public R<CaiUserCount> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Integer userId) {
|
||||||
|
return R.ok(caiUserCountService.getById(userId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增用户信息数量统计
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cai:userCount:add")
|
||||||
|
@Log(title = "用户信息数量统计", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody CaiUserCount bo) {
|
||||||
|
return toAjax(caiUserCountService.save(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户信息数量统计
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cai:userCount:edit")
|
||||||
|
@Log(title = "用户信息数量统计", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CaiUserCount bo) {
|
||||||
|
return toAjax(caiUserCountService.updateById(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户信息数量统计
|
||||||
|
*
|
||||||
|
* @param userIds 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cai:userCount:remove")
|
||||||
|
@Log(title = "用户信息数量统计", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{userIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Integer[] userIds) {
|
||||||
|
return toAjax(caiUserCountService.removeBatchByIds(Arrays.asList(userIds), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@ package com.ruoyi.cai.controller.app;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||||
import com.ruoyi.cai.dto.app.query.StarRes;
|
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
import com.ruoyi.cai.service.CaiUserFollowService;
|
import com.ruoyi.cai.service.CaiUserFollowService;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
@@ -20,14 +20,14 @@ public class CaiUserStartAppController {
|
|||||||
private CaiUserFollowService userFollowService;
|
private CaiUserFollowService userFollowService;
|
||||||
|
|
||||||
@PostMapping("/star")
|
@PostMapping("/star")
|
||||||
public R<Boolean> star(StarRes starRes){
|
public R<Boolean> star(StarOrVisitorRes starOrVisitorRes){
|
||||||
boolean bool = userFollowService.star(starRes);
|
boolean bool = userFollowService.star(starOrVisitorRes);
|
||||||
return R.ok(bool);
|
return R.ok(bool);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/unstar")
|
@PostMapping("/unstar")
|
||||||
public R<Boolean> unStar(StarRes starRes){
|
public R<Boolean> unStar(StarOrVisitorRes starOrVisitorRes){
|
||||||
boolean bool = userFollowService.unStar(starRes);
|
boolean bool = userFollowService.unStar(starOrVisitorRes);
|
||||||
return R.ok(bool);
|
return R.ok(bool);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.ruoyi.cai.controller.app;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||||
|
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||||
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
|
import com.ruoyi.cai.service.CaiUserVisitorService;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController("/user/visitor")
|
||||||
|
@Slf4j
|
||||||
|
public class CaiUserVisitorAppController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CaiUserVisitorService userVisitorService;
|
||||||
|
|
||||||
|
// 除网络问题不返回异常。避免影响业务
|
||||||
|
@PostMapping("/visitor")
|
||||||
|
public R<Boolean> visitor(StarOrVisitorRes starOrVisitorRes){
|
||||||
|
try {
|
||||||
|
boolean bool = userVisitorService.visitor(starOrVisitorRes);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("记录访客失败",e);
|
||||||
|
}
|
||||||
|
return R.ok(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
public TableDataInfo<UserStarOrVisitorList> page(VisitorQuery query, PageQuery pageQuery){
|
||||||
|
Page<UserStarOrVisitorList> res = userVisitorService.pageApp(pageQuery,query);
|
||||||
|
return TableDataInfo.build(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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_user_count
|
||||||
|
*
|
||||||
|
* @author 77
|
||||||
|
* @date 2023-12-24
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("cai_user_count")
|
||||||
|
public class CaiUserCount implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "user_id")
|
||||||
|
private Integer userId;
|
||||||
|
/**
|
||||||
|
* 粉丝总数
|
||||||
|
*/
|
||||||
|
private Integer fansCount;
|
||||||
|
/**
|
||||||
|
* 关注数
|
||||||
|
*/
|
||||||
|
private Integer followCount;
|
||||||
|
/**
|
||||||
|
* 访客数
|
||||||
|
*/
|
||||||
|
private Integer visitorCount;
|
||||||
|
/**
|
||||||
|
* 相册数量
|
||||||
|
*/
|
||||||
|
private Integer photoCount;
|
||||||
|
/**
|
||||||
|
* 发帖数量
|
||||||
|
*/
|
||||||
|
private Integer dynamicCount;
|
||||||
|
/**
|
||||||
|
* 收到的礼物数量
|
||||||
|
*/
|
||||||
|
private Integer receiveGiftCount;
|
||||||
|
/**
|
||||||
|
* 送礼总数量
|
||||||
|
*/
|
||||||
|
private Integer giveGiftCount;
|
||||||
|
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -27,7 +27,7 @@ public class CaiUserVisitor implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 被访用户ID
|
* 被访用户ID
|
||||||
*/
|
*/
|
||||||
private Integer userId;
|
private Long userId;
|
||||||
/**
|
/**
|
||||||
* 访客用户ID
|
* 访客用户ID
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ package com.ruoyi.cai.dto.app.query;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class StarRes {
|
public class StarOrVisitorRes {
|
||||||
private Long toUserId;
|
private Long toUserId;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.cai.dto.app.query;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class VisitorQuery {
|
||||||
|
// 1=查询我的足迹 2=查询我的访客
|
||||||
|
private Integer type = 1;
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
}
|
||||||
@@ -8,4 +8,6 @@ import java.time.LocalDateTime;
|
|||||||
public class UserStarOrVisitorList {
|
public class UserStarOrVisitorList {
|
||||||
|
|
||||||
private LocalDateTime happenTime;
|
private LocalDateTime happenTime;
|
||||||
|
|
||||||
|
private Integer isWatch;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.ruoyi.cai.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.ruoyi.cai.domain.CaiUserCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户信息数量统计Mapper接口
|
||||||
|
*
|
||||||
|
* @author 77
|
||||||
|
* @date 2023-12-24
|
||||||
|
*/
|
||||||
|
public interface CaiUserCountMapper extends BaseMapper<CaiUserCount> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.ruoyi.cai.mapper;
|
package com.ruoyi.cai.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.cai.domain.CaiUserVisitor;
|
import com.ruoyi.cai.domain.CaiUserVisitor;
|
||||||
|
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||||
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户来访记录Mapper接口
|
* 用户来访记录Mapper接口
|
||||||
@@ -11,4 +15,5 @@ import com.ruoyi.cai.domain.CaiUserVisitor;
|
|||||||
*/
|
*/
|
||||||
public interface CaiUserVisitorMapper extends BaseMapper<CaiUserVisitor> {
|
public interface CaiUserVisitorMapper extends BaseMapper<CaiUserVisitor> {
|
||||||
|
|
||||||
|
Page<UserStarOrVisitorList> pageApp(@Param("build") Page<Object> build, @Param("query") VisitorQuery query);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.ruoyi.cai.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.ruoyi.cai.domain.CaiUserCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户信息数量统计Service接口
|
||||||
|
*
|
||||||
|
* @author 77
|
||||||
|
* @date 2023-12-24
|
||||||
|
*/
|
||||||
|
public interface CaiUserCountService extends IService<CaiUserCount> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.cai.domain.CaiUserFollow;
|
import com.ruoyi.cai.domain.CaiUserFollow;
|
||||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||||
import com.ruoyi.cai.dto.app.query.StarRes;
|
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
@@ -20,9 +20,9 @@ public interface CaiUserFollowService extends IService<CaiUserFollow> {
|
|||||||
|
|
||||||
boolean checkStar(Long userId, Long followUserId);
|
boolean checkStar(Long userId, Long followUserId);
|
||||||
|
|
||||||
boolean star(StarRes starRes);
|
boolean star(StarOrVisitorRes starOrVisitorRes);
|
||||||
|
|
||||||
boolean unStar(StarRes starRes);
|
boolean unStar(StarOrVisitorRes starOrVisitorRes);
|
||||||
|
|
||||||
Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, StarQuery query);
|
Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, StarQuery query);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
package com.ruoyi.cai.service;
|
package com.ruoyi.cai.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.cai.domain.CaiUserVisitor;
|
import com.ruoyi.cai.domain.CaiUserVisitor;
|
||||||
|
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||||
|
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||||
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户来访记录Service接口
|
* 用户来访记录Service接口
|
||||||
@@ -11,4 +16,7 @@ import com.ruoyi.cai.domain.CaiUserVisitor;
|
|||||||
*/
|
*/
|
||||||
public interface CaiUserVisitorService extends IService<CaiUserVisitor> {
|
public interface CaiUserVisitorService extends IService<CaiUserVisitor> {
|
||||||
|
|
||||||
|
boolean visitor(StarOrVisitorRes starOrVisitorRes);
|
||||||
|
|
||||||
|
Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, VisitorQuery query);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.ruoyi.cai.domain.CaiUserCount;
|
||||||
|
import com.ruoyi.cai.mapper.CaiUserCountMapper;
|
||||||
|
import com.ruoyi.cai.service.CaiUserCountService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户信息数量统计Service业务层处理
|
||||||
|
*
|
||||||
|
* @author 77
|
||||||
|
* @date 2023-12-24
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class CaiUserCountServiceImpl extends ServiceImpl<CaiUserCountMapper,CaiUserCount> implements CaiUserCountService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.ruoyi.cai.domain.CaiUserFollow;
|
import com.ruoyi.cai.domain.CaiUserFollow;
|
||||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||||
import com.ruoyi.cai.dto.app.query.StarRes;
|
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
import com.ruoyi.cai.mapper.CaiUserFollowMapper;
|
import com.ruoyi.cai.mapper.CaiUserFollowMapper;
|
||||||
import com.ruoyi.cai.service.CaiUserFollowService;
|
import com.ruoyi.cai.service.CaiUserFollowService;
|
||||||
@@ -43,24 +43,24 @@ public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,Ca
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean star(StarRes starRes) {
|
public boolean star(StarOrVisitorRes starOrVisitorRes) {
|
||||||
Long fromUserId = LoginHelper.getUserId();
|
Long fromUserId = LoginHelper.getUserId();
|
||||||
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||||
.eq(CaiUserFollow::getUserId,fromUserId)
|
.eq(CaiUserFollow::getUserId,fromUserId)
|
||||||
.eq(CaiUserFollow::getFollowUser,starRes.getToUserId()));
|
.eq(CaiUserFollow::getFollowUser, starOrVisitorRes.getToUserId()));
|
||||||
CaiUserFollow userFollow = new CaiUserFollow();
|
CaiUserFollow userFollow = new CaiUserFollow();
|
||||||
userFollow.setUserId(fromUserId);
|
userFollow.setUserId(fromUserId);
|
||||||
userFollow.setFollowUser(starRes.getToUserId());
|
userFollow.setFollowUser(starOrVisitorRes.getToUserId());
|
||||||
this.save(userFollow);
|
this.save(userFollow);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean unStar(StarRes starRes) {
|
public boolean unStar(StarOrVisitorRes starOrVisitorRes) {
|
||||||
Long fromUserId = LoginHelper.getUserId();
|
Long fromUserId = LoginHelper.getUserId();
|
||||||
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||||
.eq(CaiUserFollow::getUserId,fromUserId)
|
.eq(CaiUserFollow::getUserId,fromUserId)
|
||||||
.eq(CaiUserFollow::getFollowUser,starRes.getToUserId()));
|
.eq(CaiUserFollow::getFollowUser, starOrVisitorRes.getToUserId()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,23 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.ruoyi.cai.domain.CaiUserFollow;
|
||||||
import com.ruoyi.cai.domain.CaiUserVisitor;
|
import com.ruoyi.cai.domain.CaiUserVisitor;
|
||||||
|
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||||
|
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||||
|
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||||
import com.ruoyi.cai.mapper.CaiUserVisitorMapper;
|
import com.ruoyi.cai.mapper.CaiUserVisitorMapper;
|
||||||
import com.ruoyi.cai.service.CaiUserVisitorService;
|
import com.ruoyi.cai.service.CaiUserVisitorService;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.helper.LoginHelper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户来访记录Service业务层处理
|
* 用户来访记录Service业务层处理
|
||||||
*
|
*
|
||||||
@@ -16,4 +27,26 @@ import org.springframework.stereotype.Service;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Service
|
@Service
|
||||||
public class CaiUserVisitorServiceImpl extends ServiceImpl<CaiUserVisitorMapper,CaiUserVisitor> implements CaiUserVisitorService {
|
public class CaiUserVisitorServiceImpl extends ServiceImpl<CaiUserVisitorMapper,CaiUserVisitor> implements CaiUserVisitorService {
|
||||||
|
@Override
|
||||||
|
public boolean visitor(StarOrVisitorRes starOrVisitorRes) {
|
||||||
|
Long fromUserId = LoginHelper.getUserId();
|
||||||
|
CaiUserVisitor userVisitor = this.getOne(Wrappers.lambdaQuery(CaiUserVisitor.class)
|
||||||
|
.eq(CaiUserVisitor::getVisitorId, fromUserId)
|
||||||
|
.eq(CaiUserVisitor::getUserId, starOrVisitorRes.getToUserId())
|
||||||
|
.last("limit 1"));
|
||||||
|
if(userVisitor == null){
|
||||||
|
userVisitor = new CaiUserVisitor();
|
||||||
|
userVisitor.setVisitorId(fromUserId);
|
||||||
|
userVisitor.setUserId(starOrVisitorRes.getToUserId());
|
||||||
|
}
|
||||||
|
userVisitor.setCreateTime(LocalDateTime.now());
|
||||||
|
this.saveOrUpdate(userVisitor);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, VisitorQuery query) {
|
||||||
|
query.setUserId(LoginHelper.getUserId());
|
||||||
|
return baseMapper.pageApp(pageQuery.build(),query);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.cai.mapper.CaiUserCountMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.ruoyi.cai.domain.CaiUserCount" id="CaiUserCountResult">
|
||||||
|
<result property="userId" column="user_id"/>
|
||||||
|
<result property="fansCount" column="fans_count"/>
|
||||||
|
<result property="newFansCount" column="new_fans_count"/>
|
||||||
|
<result property="followCount" column="follow_count"/>
|
||||||
|
<result property="visitorCount" column="visitor_count"/>
|
||||||
|
<result property="newVisitorCount" column="new_visitor_count"/>
|
||||||
|
<result property="photoCount" column="photo_count"/>
|
||||||
|
<result property="dynamicCount" column="dynamic_count"/>
|
||||||
|
<result property="receiveGiftCount" column="receive_gift_count"/>
|
||||||
|
<result property="giveGiftCount" column="give_gift_count"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList">
|
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList">
|
||||||
select
|
select
|
||||||
t1.create_time as happen_time,
|
t1.create_time as happen_time,t1.is_watch,
|
||||||
t2.avatar,t2.gender,t2.city,t2.nickname,t2.usercode,t2.age
|
t2.avatar,t2.gender,t2.city,t2.nickname,t2.usercode,t2.age
|
||||||
from cai_user_follow t1
|
from cai_user_follow t1
|
||||||
join cai_user t2 on t1.user_id = t2.id
|
join cai_user t2 on t1.user_id = t2.id
|
||||||
|
|||||||
@@ -11,6 +11,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="isWatch" column="is_watch"/>
|
<result property="isWatch" column="is_watch"/>
|
||||||
<result property="createTime" column="create_time"/>
|
<result property="createTime" column="create_time"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList">
|
||||||
|
select
|
||||||
|
t1.create_time as happen_time,t1.is_watch,
|
||||||
|
t2.avatar,t2.gender,t2.city,t2.nickname,t2.usercode,t2.age
|
||||||
|
from cai_user_visitor t1
|
||||||
|
join cai_user t2 on t1.user_id = t2.id
|
||||||
|
<where>
|
||||||
|
<if test="query.type == 1">
|
||||||
|
and t1.visitor_id = #{query.userId}
|
||||||
|
</if>
|
||||||
|
<if test="query.type == 2">
|
||||||
|
and t1.user_id = #{query.userId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by create_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user