package com.panzhihua.service_community.service.impl;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import com.panzhihua.common.model.vos.community.DataCount;
|
import com.panzhihua.service_community.dao.ComActDynTypeMapper;
|
import com.panzhihua.service_community.model.dos.ComActDynTypeDO;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComActDynVO;
|
import com.panzhihua.common.utlis.RichTextUtil;
|
import com.panzhihua.service_community.dao.ComActDAO;
|
import com.panzhihua.service_community.dao.ComActDynDAO;
|
import com.panzhihua.service_community.dao.ComActDynUserDAO;
|
import com.panzhihua.service_community.model.dos.ComActDO;
|
import com.panzhihua.service_community.model.dos.ComActDynDO;
|
import com.panzhihua.service_community.model.dos.ComActDynUserDO;
|
import com.panzhihua.service_community.service.ComActDynService;
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.util.StringUtils;
|
|
import static java.util.Objects.nonNull;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 社区动态
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-07 14:29
|
**/
|
@Slf4j
|
@Service
|
public class ComActDynServiceImpl extends ServiceImpl<ComActDynDAO, ComActDynDO> implements ComActDynService {
|
@Resource
|
private ComActDynDAO comActDynDAO;
|
@Resource
|
private ComActDynUserDAO comActDynUserDAO;
|
@Resource
|
private ComActDAO comActDAO;
|
|
@Resource
|
private ComActDynTypeMapper comActDynTypeMapper;
|
|
/**
|
* 分页查询社区动态
|
*
|
* @param comActDynVO
|
* 查询参数
|
* @return 动态集合
|
*/
|
@Override
|
public R pageDynamic(ComActDynVO comActDynVO) {
|
Page page = new Page<>();
|
Long pageNum = comActDynVO.getPageNum();
|
Long pageSize = comActDynVO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
|
IPage<ComActDynVO> iPage = comActDynDAO.pageDynamic(page, comActDynVO);
|
List<ComActDynVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActDynVO1 -> {
|
if(comActDynVO1.getCategory()!=null&&comActDynVO1.getCategory()==4){
|
comActDynVO1.setContent(null);
|
}else {
|
String content = comActDynVO1.getContent();
|
if (!ObjectUtils.isEmpty(content)) {
|
String text = RichTextUtil.getText(content);
|
comActDynVO1.setContentText(text);
|
}
|
}
|
});
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 社区动态详情
|
*
|
* @param id
|
* 动态id
|
* @return 详情
|
*/
|
@Override
|
public R detailDynamic(Long id) {
|
ComActDynDO comActDynDO = this.getById(id);
|
|
ComActDynTypeDO comActDynTypeDO=comActDynTypeMapper.selectById(comActDynDO.getType());
|
|
if (ObjectUtils.isEmpty(comActDynDO)) {
|
return R.fail("社区动态不存在");
|
}
|
Integer category = comActDynDO.getCategory();
|
Integer count = comActDynUserDAO
|
.selectCount(new QueryWrapper<ComActDynUserDO>().lambda().eq(ComActDynUserDO::getDynId, id));
|
ComActDynVO comActDynVO = new ComActDynVO();
|
BeanUtils.copyProperties(comActDynDO, comActDynVO);
|
comActDynVO.setReadNum(count);
|
if (nonNull(category) && !category.equals(3)) {
|
ComActDO comActDO = comActDAO.selectById(comActDynDO.getCommunityId());
|
if(comActDO!=null){
|
comActDynVO.setCommunityName(comActDO.getName());
|
}
|
}
|
if(comActDynDO.getCategory()==4){
|
if(comActDynDO.getReadNum()!=null){
|
comActDynDO.setReadNum(comActDynDO.getReadNum()+1);
|
}
|
else {
|
comActDynDO.setReadNum(1);
|
}
|
comActDynDAO.updateById(comActDynDO);
|
}
|
|
if(comActDynTypeDO!=null && !StringUtils.isEmpty(comActDynTypeDO.getName()))
|
{
|
comActDynVO.setTypeName(comActDynTypeDO.getName());
|
}
|
return R.ok(comActDynVO);
|
}
|
|
/**
|
* 新增社区动态浏览记录
|
*
|
* @param id
|
* 动态主键
|
* @param userId
|
* 登录用户id
|
* @return 新增结果
|
*/
|
@Override
|
public R addDynamicUser(Long id, Long userId) {
|
ComActDynUserDO comActDynUserDO = new ComActDynUserDO();
|
comActDynUserDO.setCreateAt(new Date());
|
comActDynUserDO.setDynId(id);
|
comActDynUserDO.setUserId(userId);
|
int insert = comActDynUserDAO.insert(comActDynUserDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 定时任务刷新社区动态置顶状态
|
*
|
* @return 刷新结果
|
*/
|
@Override
|
public R timedTaskDynIstopping() {
|
int num = comActDynUserDAO.timedTaskDynIstopping();
|
log.info("定时任务--一共维护社区动态数量【{}】", num);
|
return R.ok(num);
|
}
|
|
/**
|
* 定时任务刷新社区动态发布状态
|
*
|
* @return 刷新结果
|
*/
|
@Override
|
public R timedTaskDynStatus() {
|
int num = comActDynDAO.timedTaskDynStatus();
|
log.info("定时任务--一共刷新社区动态发布状态数量【{}】", num);
|
return R.ok(num);
|
}
|
|
/**
|
* 管理后台分页查询社区动态
|
*
|
* @param comActDynVO
|
* 查询参数
|
* @return 动态集合
|
*/
|
@Override
|
public R pageDynamicByAdmin(ComActDynVO comActDynVO) {
|
|
Long pageNum = comActDynVO.getPageNum();
|
Long pageSize = comActDynVO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
Page page = new Page<ComActDynVO>(pageNum,pageSize);
|
IPage<ComActDynVO> iPage = comActDynDAO.pageDynamicByAdmin(page, comActDynVO);
|
List<ComActDynVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActDynVO1 ->
|
{
|
// String content = comActDynVO1.getContent();
|
// if (!ObjectUtils.isEmpty(content)) {
|
// String text = RichTextUtil.getText(content);
|
// comActDynVO1.setContentText(text);
|
// }
|
|
// String content = comActDynDAO.getContent(comActDynVO1.getId()+"");
|
int num=comActDynDAO.getReadNum(comActDynVO1.getId()+"");
|
comActDynVO1.setReadNum(num);
|
// comActDynVO1.setContent(content);
|
|
// if (!ObjectUtils.isEmpty(content)) {
|
// String text = RichTextUtil.getText(content);
|
// comActDynVO1.setContentText(text);
|
// }
|
|
});
|
}
|
return R.ok(iPage);
|
}
|
|
@Override
|
public String getTypeId(String communityId, String name) {
|
return comActDynDAO.getTypeId(communityId,name);
|
}
|
|
|
}
|