init
This commit is contained in:
@@ -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.CaiUserVisitor;
|
||||
import com.ruoyi.cai.service.CaiUserVisitorService;
|
||||
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/userVisitor")
|
||||
public class CaiUserVisitorController extends BaseController {
|
||||
|
||||
private final CaiUserVisitorService caiUserVisitorService;
|
||||
|
||||
/**
|
||||
* 查询用户来访记录列表
|
||||
*/
|
||||
@SaCheckPermission("cai:userVisitor:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CaiUserVisitor> list(CaiUserVisitor bo, PageQuery pageQuery) {
|
||||
Page<CaiUserVisitor> page = caiUserVisitorService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户来访记录详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("cai:userVisitor:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CaiUserVisitor> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(caiUserVisitorService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增用户来访记录
|
||||
*/
|
||||
@SaCheckPermission("cai:userVisitor:add")
|
||||
@Log(title = "用户来访记录", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CaiUserVisitor bo) {
|
||||
return toAjax(caiUserVisitorService.save(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户来访记录
|
||||
*/
|
||||
@SaCheckPermission("cai:userVisitor:edit")
|
||||
@Log(title = "用户来访记录", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CaiUserVisitor bo) {
|
||||
return toAjax(caiUserVisitorService.updateById(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户来访记录
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("cai:userVisitor:remove")
|
||||
@Log(title = "用户来访记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(caiUserVisitorService.removeBatchByIds(Arrays.asList(ids), true));
|
||||
}
|
||||
}
|
||||
@@ -3,8 +3,8 @@ package com.ruoyi.cai.controller.app;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.dto.app.query.AnchorListQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardRes;
|
||||
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
||||
import com.ruoyi.cai.service.CaiAnchorService;
|
||||
import com.ruoyi.cai.service.CaiGuardTotalService;
|
||||
@@ -37,13 +37,13 @@ public class CaiAnchorAppController {
|
||||
}
|
||||
|
||||
@PostMapping("/give/guard")
|
||||
public R<Boolean> giveGuard(GiveGuardQuery query){
|
||||
public R<Boolean> giveGuard(GiveGuardRes query){
|
||||
boolean res = guardTotalService.giveGuard(query);
|
||||
return R.ok(res);
|
||||
}
|
||||
|
||||
@PostMapping("/give/gift")
|
||||
public R<Boolean> giveGift(GiveGiftQuery query){
|
||||
public R<Boolean> giveGift(GiveGiftRes query){
|
||||
boolean res = userGiftService.giveGift(query);
|
||||
return R.ok(res);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.ruoyi.cai.controller.app;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||
import com.ruoyi.cai.dto.app.query.StarRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.service.CaiUserFollowService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
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/star")
|
||||
public class CaiUserStartAppController {
|
||||
|
||||
@Autowired
|
||||
private CaiUserFollowService userFollowService;
|
||||
|
||||
@PostMapping("/star")
|
||||
public R<Boolean> star(StarRes starRes){
|
||||
boolean bool = userFollowService.star(starRes);
|
||||
return R.ok(bool);
|
||||
}
|
||||
|
||||
@PostMapping("/unstar")
|
||||
public R<Boolean> unStar(StarRes starRes){
|
||||
boolean bool = userFollowService.unStar(starRes);
|
||||
return R.ok(bool);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
public TableDataInfo<UserStarOrVisitorList> page(StarQuery query, PageQuery pageQuery){
|
||||
Page<UserStarOrVisitorList> res = userFollowService.pageApp(pageQuery,query);
|
||||
return TableDataInfo.build(res);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
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_visitor
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-24
|
||||
*/
|
||||
@Data
|
||||
@TableName("cai_user_visitor")
|
||||
public class CaiUserVisitor implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 被访用户ID
|
||||
*/
|
||||
private Integer userId;
|
||||
/**
|
||||
* 访客用户ID
|
||||
*/
|
||||
private Long visitorId;
|
||||
/**
|
||||
* 是否查看 0 未查看 1 已查看
|
||||
*/
|
||||
private Integer isWatch;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package com.ruoyi.cai.dto.app.query;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GiveGiftQuery {
|
||||
public class GiveGiftRes {
|
||||
|
||||
/**
|
||||
* 类型 1 个人详情页 2.IM页面 3视频页
|
||||
@@ -3,7 +3,7 @@ package com.ruoyi.cai.dto.app.query;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GiveGuardQuery {
|
||||
public class GiveGuardRes {
|
||||
|
||||
private Long toUserId;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class StarQuery {
|
||||
// 1=查询我的关注 2=查询我的粉丝
|
||||
private Integer type = 1;
|
||||
|
||||
private Long userId;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class StarRes {
|
||||
private Long toUserId;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
package com.ruoyi.cai.dto.app.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class UserBaseVo {
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 性别 0 未知 1 女 2 男
|
||||
*/
|
||||
private Integer gender;
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private Long city;
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
/**
|
||||
* 用户号/ID号
|
||||
*/
|
||||
private String usercode;
|
||||
|
||||
private Integer age;
|
||||
}
|
||||
@@ -7,31 +7,7 @@ import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class UserListVo {
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 性别 0 未知 1 女 2 男
|
||||
*/
|
||||
private Integer gender;
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private Long city;
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
/**
|
||||
* 用户号/ID号
|
||||
*/
|
||||
private String usercode;
|
||||
|
||||
private Integer age;
|
||||
public class UserListVo extends UserBaseVo {
|
||||
/**
|
||||
* 最后在线时间
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.ruoyi.cai.dto.app.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class UserStarOrVisitorList {
|
||||
|
||||
private LocalDateTime happenTime;
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.ruoyi.cai.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.domain.CaiUserFollow;
|
||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 关注表Mapper接口
|
||||
@@ -11,4 +15,5 @@ import com.ruoyi.cai.domain.CaiUserFollow;
|
||||
*/
|
||||
public interface CaiUserFollowMapper extends BaseMapper<CaiUserFollow> {
|
||||
|
||||
Page<UserStarOrVisitorList> pageApp(@Param("build") Page<Object> build, @Param("query") StarQuery query);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.cai.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cai.domain.CaiUserVisitor;
|
||||
|
||||
/**
|
||||
* 用户来访记录Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-24
|
||||
*/
|
||||
public interface CaiUserVisitorMapper extends BaseMapper<CaiUserVisitor> {
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiGuardTotal;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardRes;
|
||||
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -17,5 +17,5 @@ public interface CaiGuardTotalService extends IService<CaiGuardTotal> {
|
||||
|
||||
List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit);
|
||||
|
||||
boolean giveGuard(GiveGuardQuery query);
|
||||
boolean giveGuard(GiveGuardRes query);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserFollow;
|
||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||
import com.ruoyi.cai.dto.app.query.StarRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
/**
|
||||
* 关注表Service接口
|
||||
@@ -14,4 +19,10 @@ public interface CaiUserFollowService extends IService<CaiUserFollow> {
|
||||
Long getFansNumByUserId(Long userId);
|
||||
|
||||
boolean checkStar(Long userId, Long followUserId);
|
||||
|
||||
boolean star(StarRes starRes);
|
||||
|
||||
boolean unStar(StarRes starRes);
|
||||
|
||||
Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, StarQuery query);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserGift;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -17,5 +17,5 @@ public interface CaiUserGiftService extends IService<CaiUserGift> {
|
||||
|
||||
List<UserGiftVo> selectGiftList(Long userId);
|
||||
|
||||
boolean giveGift(GiveGiftQuery query);
|
||||
boolean giveGift(GiveGiftRes query);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserVisitor;
|
||||
|
||||
/**
|
||||
* 用户来访记录Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-24
|
||||
*/
|
||||
public interface CaiUserVisitorService extends IService<CaiUserVisitor> {
|
||||
|
||||
}
|
||||
@@ -3,13 +3,11 @@ 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.CaiAccount;
|
||||
import com.ruoyi.cai.domain.CaiAccountDetail;
|
||||
import com.ruoyi.cai.domain.CaiGuardTotal;
|
||||
import com.ruoyi.cai.domain.CaiUser;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardRes;
|
||||
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
|
||||
import com.ruoyi.cai.mapper.CaiGuardTotalMapper;
|
||||
import com.ruoyi.cai.service.CaiAccountDetailService;
|
||||
import com.ruoyi.cai.service.CaiAccountService;
|
||||
import com.ruoyi.cai.service.CaiGuardTotalService;
|
||||
import com.ruoyi.cai.service.CaiUserService;
|
||||
@@ -43,7 +41,7 @@ public class CaiGuardTotalServiceImpl extends ServiceImpl<CaiGuardTotalMapper,Ca
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean giveGuard(GiveGuardQuery query) {
|
||||
public boolean giveGuard(GiveGuardRes query) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
CaiUser user = userService.getById(query.getToUserId());
|
||||
if(user == null){
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
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.ruoyi.cai.domain.CaiUserFollow;
|
||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||
import com.ruoyi.cai.dto.app.query.StarRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.mapper.CaiUserFollowMapper;
|
||||
import com.ruoyi.cai.service.CaiUserFollowService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -35,4 +41,32 @@ public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,Ca
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean star(StarRes starRes) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||
.eq(CaiUserFollow::getUserId,fromUserId)
|
||||
.eq(CaiUserFollow::getFollowUser,starRes.getToUserId()));
|
||||
CaiUserFollow userFollow = new CaiUserFollow();
|
||||
userFollow.setUserId(fromUserId);
|
||||
userFollow.setFollowUser(starRes.getToUserId());
|
||||
this.save(userFollow);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean unStar(StarRes starRes) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||
.eq(CaiUserFollow::getUserId,fromUserId)
|
||||
.eq(CaiUserFollow::getFollowUser,starRes.getToUserId()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, StarQuery query) {
|
||||
query.setUserId(LoginHelper.getUserId());
|
||||
return baseMapper.pageApp(pageQuery.build(),query);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiAccount;
|
||||
import com.ruoyi.cai.domain.CaiGift;
|
||||
import com.ruoyi.cai.domain.CaiUserGift;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
|
||||
import com.ruoyi.cai.mapper.CaiUserGiftMapper;
|
||||
import com.ruoyi.cai.service.CaiAccountService;
|
||||
@@ -13,7 +13,6 @@ import com.ruoyi.cai.service.CaiUserGiftService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.HierarchicalBeanFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -40,7 +39,7 @@ public class CaiUserGiftServiceImpl extends ServiceImpl<CaiUserGiftMapper,CaiUse
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean giveGift(GiveGiftQuery query) {
|
||||
public boolean giveGift(GiveGiftRes query) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
CaiGift gift = giftService.getById(query.getGiftId());
|
||||
if(gift == null){
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiUserVisitor;
|
||||
import com.ruoyi.cai.mapper.CaiUserVisitorMapper;
|
||||
import com.ruoyi.cai.service.CaiUserVisitorService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 用户来访记录Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CaiUserVisitorServiceImpl extends ServiceImpl<CaiUserVisitorMapper,CaiUserVisitor> implements CaiUserVisitorService {
|
||||
}
|
||||
Reference in New Issue
Block a user