init
This commit is contained in:
@@ -8,10 +8,7 @@ import com.ruoyi.cai.domain.CaiAccountRecharge;
|
||||
import com.ruoyi.cai.dto.app.query.*;
|
||||
import com.ruoyi.cai.dto.app.vo.*;
|
||||
import com.ruoyi.cai.manager.CurrentUserManager;
|
||||
import com.ruoyi.cai.service.CaiAccountBankcardService;
|
||||
import com.ruoyi.cai.service.CaiAccountCashService;
|
||||
import com.ruoyi.cai.service.CaiAccountRechargeService;
|
||||
import com.ruoyi.cai.service.CaiUserAlbumService;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
@@ -35,6 +32,8 @@ public class CaiCurrentUserAppController {
|
||||
private CaiAccountCashService accountCashService;
|
||||
@Autowired
|
||||
private CaiUserAlbumService userAlbumService;
|
||||
@Autowired
|
||||
private CaiReportService reportService;
|
||||
|
||||
@GetMapping("/user/aliInfo")
|
||||
public R<CaiAccountBankcard> aliInfo(){
|
||||
@@ -113,4 +112,12 @@ public class CaiCurrentUserAppController {
|
||||
.orderByDesc(CaiAccountCash::getCreateTime));
|
||||
return TableDataInfo.build(page,AccountCashVo::new);
|
||||
}
|
||||
|
||||
@PostMapping("/user/report")
|
||||
public R<Void> report(UserReportRes reportRes){
|
||||
Long userId = LoginHelper.getUserId();
|
||||
reportRes.setUserId(userId);
|
||||
reportService.report(reportRes);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.ruoyi.cai.controller.app;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.cai.domain.CaiGoods;
|
||||
import com.ruoyi.cai.domain.CaiReportCate;
|
||||
import com.ruoyi.cai.domain.CaiWithdrawExchange;
|
||||
import com.ruoyi.cai.service.CaiGoodsService;
|
||||
import com.ruoyi.cai.service.CaiReportCateService;
|
||||
import com.ruoyi.cai.service.CaiWithdrawExchangeService;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -21,6 +23,8 @@ public class CaiSettingAppController {
|
||||
private CaiGoodsService goodsService;
|
||||
@Autowired
|
||||
private CaiWithdrawExchangeService withdrawExchangeService;
|
||||
@Autowired
|
||||
private CaiReportCateService reportCateService;
|
||||
|
||||
@GetMapping("/goods")
|
||||
public R<List<CaiGoods>> goods(){
|
||||
@@ -36,4 +40,10 @@ public class CaiSettingAppController {
|
||||
.orderByAsc(CaiWithdrawExchange::getMoney));
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
@GetMapping("/report")
|
||||
public R<List<CaiReportCate>> report(){
|
||||
List<CaiReportCate> list = reportCateService.list(Wrappers.lambdaQuery(CaiReportCate.class));
|
||||
return R.ok(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.ruoyi.cai.controller.app;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicAddRes;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
||||
import com.ruoyi.cai.service.CaiDynamicService;
|
||||
import com.ruoyi.cai.service.CaiUserFollowDynamicService;
|
||||
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.helper.LoginHelper;
|
||||
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.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/dynamic")
|
||||
public class CaiUserDynamicAppController {
|
||||
|
||||
@Autowired
|
||||
private CaiDynamicService dynamicService;
|
||||
@Autowired
|
||||
private CaiUserFollowDynamicService userFollowDynamicService;
|
||||
|
||||
@GetMapping("/page")
|
||||
public TableDataInfo<DynamicListVo> page(PageQuery pageQuery, DynamicQuery query){
|
||||
Page<DynamicListVo> resp = dynamicService.pageApp(pageQuery,query);
|
||||
return TableDataInfo.build(resp);
|
||||
}
|
||||
|
||||
@PostMapping("/star")
|
||||
public R<Void> star(DynamicStarRes query){
|
||||
query.setUserId(LoginHelper.getUserId());
|
||||
userFollowDynamicService.star(query);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/unstar")
|
||||
public R<Void> unStar(DynamicStarRes query){
|
||||
query.setUserId(LoginHelper.getUserId());
|
||||
userFollowDynamicService.unStar(query);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/save")
|
||||
public R<Void> save(DynamicAddRes res){
|
||||
res.setUserId(LoginHelper.getUserId());
|
||||
dynamicService.saveDynamic(res);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -27,7 +27,7 @@ public class CaiDynamic implements Serializable {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Integer userId;
|
||||
private Long userId;
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DynamicAddRes {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long 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;
|
||||
|
||||
private List<DynamicImageVo> imageList;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DynamicQuery {
|
||||
|
||||
// 1=最新(默认) 2=关注 3=同城
|
||||
private Integer type = 1;
|
||||
|
||||
private Long userId;
|
||||
|
||||
private Long currentUserId;
|
||||
|
||||
private Integer cityId;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DynamicStarRes {
|
||||
private Long dynamicId;
|
||||
private Long userId;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserReportRes {
|
||||
|
||||
/**
|
||||
* 举报类型 1 个人详情页 2 视频结束 3 动态 4.IM页面
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 举报分类
|
||||
*/
|
||||
private Long cateId;
|
||||
/**
|
||||
* 举报人
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 举报对象
|
||||
*/
|
||||
private Long reportUid;
|
||||
/**
|
||||
* 举报内容
|
||||
*/
|
||||
private String content;
|
||||
}
|
||||
@@ -7,11 +7,11 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class DynamicImageVo {
|
||||
|
||||
private Integer id;
|
||||
private Long id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Integer userId;
|
||||
private Long userId;
|
||||
/**
|
||||
* 动态ID
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.ruoyi.cai.dto.app.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DynamicListVo extends DynamicVo{
|
||||
|
||||
private Integer age;
|
||||
/**
|
||||
* 性别 0 未知 1 女 2 男
|
||||
*/
|
||||
private Integer gender;
|
||||
private String avatar;
|
||||
private String nickname;
|
||||
private boolean star;
|
||||
}
|
||||
@@ -14,7 +14,7 @@ public class DynamicVo {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Integer userId;
|
||||
private Long userId;
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
|
||||
@@ -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.CaiDynamic;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 主播动态Mapper接口
|
||||
@@ -11,4 +15,5 @@ import com.ruoyi.cai.domain.CaiDynamic;
|
||||
*/
|
||||
public interface CaiDynamicMapper extends BaseMapper<CaiDynamic> {
|
||||
|
||||
Page<DynamicListVo> pageApp(@Param("build") Page<Object> build, @Param("query") DynamicQuery query);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
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.CaiDynamic;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicAddRes;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicVo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -15,4 +21,8 @@ import java.util.List;
|
||||
public interface CaiDynamicService extends IService<CaiDynamic> {
|
||||
|
||||
List<DynamicVo> selectDynamicList(Long userId, Integer limit);
|
||||
|
||||
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);
|
||||
|
||||
void saveDynamic(DynamicAddRes res);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiReport;
|
||||
import com.ruoyi.cai.dto.app.query.UserReportRes;
|
||||
|
||||
/**
|
||||
* 举报Service接口
|
||||
@@ -11,4 +12,5 @@ import com.ruoyi.cai.domain.CaiReport;
|
||||
*/
|
||||
public interface CaiReportService extends IService<CaiReport> {
|
||||
|
||||
void report(UserReportRes reportRes);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
|
||||
|
||||
/**
|
||||
* 关注动态表Service接口
|
||||
@@ -11,4 +12,7 @@ import com.ruoyi.cai.domain.CaiUserFollowDynamic;
|
||||
*/
|
||||
public interface CaiUserFollowDynamicService extends IService<CaiUserFollowDynamic> {
|
||||
|
||||
void star(DynamicStarRes query);
|
||||
|
||||
void unStar(DynamicStarRes query);
|
||||
}
|
||||
|
||||
@@ -2,14 +2,21 @@ package com.ruoyi.cai.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
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.CaiDynamic;
|
||||
import com.ruoyi.cai.domain.CaiDynamicImages;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicAddRes;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
|
||||
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
||||
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.cai.service.CaiUserFollowDynamicService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.utils.BeanConvertUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.bytebuddy.utility.JavaConstant;
|
||||
@@ -18,6 +25,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -54,4 +62,38 @@ public class CaiDynamicServiceImpl extends ServiceImpl<CaiDynamicMapper,CaiDynam
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query) {
|
||||
Page<DynamicListVo> page = baseMapper.pageApp(pageQuery.build(),query);
|
||||
List<DynamicListVo> records = page.getRecords();
|
||||
List<Long> dynamicIds = records.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 : records) {
|
||||
List<CaiDynamicImages> images = map.get(re.getId());
|
||||
re.setImageList(BeanConvertUtil.convertListTo(images, DynamicImageVo::new));
|
||||
}
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveDynamic(DynamicAddRes res) {
|
||||
CaiDynamic caiDynamic = BeanConvertUtil.convertTo(res, CaiDynamic::new);
|
||||
this.save(caiDynamic);
|
||||
List<DynamicImageVo> imageList = res.getImageList();
|
||||
if(CollectionUtil.isNotEmpty(imageList)){
|
||||
for (DynamicImageVo imageVo : imageList) {
|
||||
imageVo.setDynamicId(caiDynamic.getId());
|
||||
imageVo.setUserId(caiDynamic.getUserId());
|
||||
imageVo.setId(null);
|
||||
}
|
||||
dynamicImagesService.saveBatch(BeanConvertUtil.convertListTo(imageList, CaiDynamicImages::new));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,9 +2,13 @@ package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiReport;
|
||||
import com.ruoyi.cai.domain.CaiReportCate;
|
||||
import com.ruoyi.cai.dto.app.query.UserReportRes;
|
||||
import com.ruoyi.cai.mapper.CaiReportMapper;
|
||||
import com.ruoyi.cai.service.CaiReportCateService;
|
||||
import com.ruoyi.cai.service.CaiReportService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -16,5 +20,18 @@ import org.springframework.stereotype.Service;
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CaiReportServiceImpl extends ServiceImpl<CaiReportMapper,CaiReport> implements CaiReportService {
|
||||
|
||||
@Autowired
|
||||
private CaiReportCateService reportCateService;
|
||||
@Override
|
||||
public void report(UserReportRes reportRes) {
|
||||
CaiReportCate reportCate = reportCateService.getById(reportRes.getCateId());
|
||||
CaiReport report = new CaiReport();
|
||||
report.setType(reportRes.getType());
|
||||
report.setCateName(reportCate.getName());
|
||||
report.setCateId(reportRes.getCateId());
|
||||
report.setUserId(reportRes.getUserId());
|
||||
report.setReportUid(reportRes.getReportUid());
|
||||
report.setContent(reportRes.getContent());
|
||||
this.save(report);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
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.CaiDynamic;
|
||||
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
|
||||
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
|
||||
import com.ruoyi.cai.mapper.CaiUserFollowDynamicMapper;
|
||||
import com.ruoyi.cai.service.CaiDynamicService;
|
||||
import com.ruoyi.cai.service.CaiUserFollowDynamicService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -17,4 +22,29 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class CaiUserFollowDynamicServiceImpl extends ServiceImpl<CaiUserFollowDynamicMapper,CaiUserFollowDynamic> implements CaiUserFollowDynamicService {
|
||||
|
||||
@Autowired
|
||||
private CaiDynamicService dynamicService;
|
||||
|
||||
@Override
|
||||
public void star(DynamicStarRes query) {
|
||||
CaiDynamic dynamic = dynamicService.getById(query.getDynamicId());
|
||||
if(dynamic == null){
|
||||
return;
|
||||
}
|
||||
this.remove(Wrappers.lambdaQuery(CaiUserFollowDynamic.class)
|
||||
.eq(CaiUserFollowDynamic::getDynamicId,query.getDynamicId())
|
||||
.eq(CaiUserFollowDynamic::getUserId,query.getUserId()));
|
||||
CaiUserFollowDynamic userFollowDynamic = new CaiUserFollowDynamic();
|
||||
userFollowDynamic.setUserId(query.getUserId());
|
||||
userFollowDynamic.setFollowUid(dynamic.getUserId());
|
||||
userFollowDynamic.setDynamicId(dynamic.getId());
|
||||
this.save(userFollowDynamic);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unStar(DynamicStarRes query) {
|
||||
this.remove(Wrappers.lambdaQuery(CaiUserFollowDynamic.class)
|
||||
.eq(CaiUserFollowDynamic::getDynamicId,query.getDynamicId())
|
||||
.eq(CaiUserFollowDynamic::getUserId,query.getUserId()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user