This commit is contained in:
dute7liang
2024-01-21 19:55:39 +08:00
parent e36ad030e4
commit 5c9218ea83
18 changed files with 222 additions and 76 deletions

View File

@@ -19,6 +19,10 @@ import java.util.List;
*/
public interface DynamicService extends IService<Dynamic> {
void unTop(Long id);
void top(Long id);
List<String> selectDynamicImageList(Long userId, Integer limit);
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);

View File

@@ -3,9 +3,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.UnionUser;
import com.ruoyi.cai.dto.admin.UnionCountDTO;
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.List;
/**
* 123Service接口
*
@@ -17,4 +20,6 @@ public interface UnionUserService extends IService<UnionUser> {
UnionUser getByUserId(Long userId);
Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo);
List<UnionCountDTO> countByUnionIds(List<Long> unionIds);
}

View File

@@ -14,7 +14,9 @@ import com.ruoyi.cai.dto.app.query.DynamicQuery;
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.enums.AuditStatusEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.manager.InnerUserFilter;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.mapper.DynamicMapper;
import com.ruoyi.cai.service.CitysService;
@@ -25,10 +27,13 @@ import com.ruoyi.cai.util.CaiFileUtils;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.BeanConvertUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -53,6 +58,22 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
private SystemConfigManager systemConfigManager;
@Autowired
private CitysService citysService;
@Autowired
private InnerUserFilter innerUserFilter;
@Override
public void unTop(Long id){
this.update(Wrappers.lambdaUpdate(Dynamic.class)
.eq(Dynamic::getId,id)
.set(Dynamic::getSort, null));
}
@Override
public void top(Long id){
this.update(Wrappers.lambdaUpdate(Dynamic.class)
.eq(Dynamic::getId,id)
.set(Dynamic::getSort, 1));
}
@Override
public List<String> selectDynamicImageList(Long userId, Integer limit) {
@@ -61,6 +82,7 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
@Override
public Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query) {
// 1=最新(默认) 2=关注 3=同城
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());
@@ -79,6 +101,9 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
@Override
public void saveDynamic(DynamicAddReq res) {
if(StringUtils.isEmpty(res.getContent()) || CollectionUtils.isEmpty(res.getImageList())){
throw new ServiceException("动态内容和图片必须上传");
}
if(res.getImageList() != null && res.getImageList().size() > 9){
throw new ServiceException("最多只能发送9张照片哦");
}
@@ -86,11 +111,17 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
if(user.getSendDynamic() == 0){
throw new ServiceException("您已被禁止发送动态");
}
Integer maxNum = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.DAY_MAX_DYNAMIC);
if(maxNum > 0){
int alreadySendNum = dynamicTotalCache.get(res.getUserId());
if(alreadySendNum > maxNum){
throw new ServiceException("每天最大可发送"+maxNum+"条动态");
if(user.getIsAnchor() == null || user.getIsAnchor() != 1){
throw new ServiceException("只有主播可以发布动态哦");
}
boolean inner = innerUserFilter.checkInner(res.getUserId());
if(!inner){
Integer maxNum = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.DAY_MAX_DYNAMIC);
if(maxNum > 0){
int alreadySendNum = dynamicTotalCache.get(res.getUserId());
if(alreadySendNum > maxNum){
throw new ServiceException("每天最大可发送"+maxNum+"条动态");
}
}
}
Dynamic dynamic = BeanConvertUtil.convertTo(res, Dynamic::new);
@@ -105,19 +136,23 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
}else{
dynamic.setIsAttach(0);
}
dynamic.setAuditStatus(inner ? AuditStatusEnum.SUCCESS.getCode() : AuditStatusEnum.AUDITING.getCode());
this.save(dynamic);
List<DynamicImageVo> imageList = res.getImageList();
List<DynamicImages> dynamicImages = new ArrayList<>();
List<DynamicAddReq.DynamicImageAddReq> imageList = res.getImageList();
if(CollectionUtil.isNotEmpty(imageList)){
for (DynamicImageVo imageVo : imageList) {
for (DynamicAddReq.DynamicImageAddReq imageVo : imageList) {
CaiFileUtils.FileSize fileSize = CaiFileUtils.getFileSize(imageVo.getUrl());
imageVo.setHeight(fileSize.getHeight());
imageVo.setWidth(fileSize.getWidth());
imageVo.setExts(fileSize.getSuffix());
imageVo.setDynamicId(dynamic.getId());
imageVo.setUserId(dynamic.getUserId());
imageVo.setId(null);
DynamicImages po = new DynamicImages();
po.setUserId(dynamic.getUserId());
po.setDynamicId(dynamic.getId());
po.setUrl(imageVo.getUrl());
po.setWidth(fileSize.getWidth());
po.setHeight(fileSize.getHeight());
po.setExts(fileSize.getSuffix());
dynamicImages.add(po);
}
dynamicImagesService.saveBatch(BeanConvertUtil.convertListTo(imageList, DynamicImages::new));
dynamicImagesService.saveBatch(dynamicImages);
}
}

View File

@@ -1,9 +1,11 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
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.*;
import com.ruoyi.cai.dto.admin.UnionCountDTO;
import com.ruoyi.cai.dto.admin.vo.UnionAdminVo;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.manager.SystemConfigManager;
@@ -15,6 +17,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 工会列表Service业务层处理
*
@@ -35,7 +42,25 @@ public class UnionServiceImpl extends ServiceImpl<UnionMapper, Union> implements
@Override
public Page<UnionAdminVo> pageAdmin(PageQuery pageQuery, UnionAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
Page<UnionAdminVo> page = baseMapper.pageAdmin(pageQuery.build(), bo);
List<UnionAdminVo> records = page.getRecords();
if(CollectionUtils.isEmpty(records)){
return page;
}
List<Long> unionIds = records.stream().map(Union::getId).collect(Collectors.toList());
List<UnionCountDTO> dtos = unionUserService.countByUnionIds(unionIds);
if(dtos == null){
return page;
}
Map<Long, UnionCountDTO> countMap = dtos.stream().collect(Collectors.toMap(UnionCountDTO::getUnionId, Function.identity()));
for (UnionAdminVo record : records) {
UnionCountDTO dto = countMap.get(record.getId());
if(dto != null){
record.setAllNum(dto.getAllNum());
record.setAnchorNum(dto.getAnchorNum());
}
}
return page;
}
@Override

View File

@@ -1,15 +1,19 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
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.UnionUser;
import com.ruoyi.cai.dto.admin.UnionCountDTO;
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
import com.ruoyi.cai.mapper.UnionUserMapper;
import com.ruoyi.cai.service.UnionUserService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 123Service业务层处理
*
@@ -30,4 +34,12 @@ public class UnionUserServiceImpl extends ServiceImpl<UnionUserMapper, UnionUser
public Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
@Override
public List<UnionCountDTO> countByUnionIds(List<Long> unionIds) {
if(CollectionUtils.isEmpty(unionIds)){
return null;
}
return baseMapper.countByUnionIds(unionIds);
}
}