package com.panzhihua.service_community.service.impl;
|
|
import static java.util.Objects.isNull;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.panzhihua.common.model.dtos.community.fms.PageFmsEventAdminDTO;
|
import com.panzhihua.common.model.vos.community.fms.FmsEventTopStatisticsVO;
|
import com.panzhihua.common.model.vos.community.fms.FmsEventVO;
|
import com.panzhihua.common.model.vos.grid.EventResourceVO;
|
import com.panzhihua.common.model.vos.grid.EventVO;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_community.dao.EventMapper;
|
import com.panzhihua.service_community.model.dos.EventResourceDO;
|
import com.panzhihua.service_community.service.EventResourceService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.panzhihua.common.model.dtos.community.fms.AddFmsClassroomAdminDTO;
|
import com.panzhihua.common.model.dtos.community.fms.EditFmsClassroomAdminDTO;
|
import com.panzhihua.common.model.dtos.community.fms.PageFmsClassroomAdminDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.fms.ComFmsClassroomVO;
|
import com.panzhihua.service_community.dao.ComFmsClassroomDAO;
|
import com.panzhihua.service_community.entity.ComFmsClassroom;
|
import com.panzhihua.service_community.service.ComFmsClassroomService;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 五微服务-微学堂(ComFmsClassroom)表服务实现类
|
*
|
* @author makejava
|
* @since 2022-02-11 13:35:52
|
*/
|
@Service("comFmsClassroomService")
|
public class ComFmsClassroomServiceImpl extends ServiceImpl<ComFmsClassroomDAO, ComFmsClassroom>
|
implements ComFmsClassroomService {
|
|
@Resource
|
private EventMapper eventMapper;
|
@Resource
|
private EventResourceService eventResourceService;
|
|
/**
|
* 后台新增微讲堂
|
* @param adminDTO
|
* @return
|
*/
|
@Override
|
public R addFmsClassroom(AddFmsClassroomAdminDTO adminDTO) {
|
ComFmsClassroom fmsClassroom = new ComFmsClassroom();
|
BeanUtils.copyProperties(adminDTO, fmsClassroom);
|
int num = this.baseMapper.insert(fmsClassroom);
|
if (num > 0) {
|
return R.ok();
|
}
|
return R.fail("操作失败,请重新尝试");
|
}
|
|
/**
|
* 后台编辑微讲堂
|
* @param adminDTO
|
* @return
|
*/
|
@Override
|
public R editFmsClassroom(EditFmsClassroomAdminDTO adminDTO) {
|
ComFmsClassroom comFmsClassroom = this.baseMapper.selectById(adminDTO.getId());
|
if (isNull(comFmsClassroom)) {
|
return R.fail("资源不存在");
|
}
|
BeanUtils.copyProperties(adminDTO, comFmsClassroom);
|
int num = this.baseMapper.updateById(comFmsClassroom);
|
if (num > 0) {
|
return R.ok();
|
}
|
return R.fail("操作失败,请重新尝试");
|
}
|
|
/**
|
* 后台删除微讲堂
|
* @param id
|
* @return
|
*/
|
@Override
|
public R deleteFmsClassroom(Long id) {
|
this.baseMapper.deleteById(id);
|
return R.ok();
|
}
|
|
/**
|
* 后台获取微讲堂详情
|
* @param id
|
* @return
|
*/
|
@Override
|
public R detailFmsClassroom(Long id) {
|
ComFmsClassroom comFmsClassroom = this.baseMapper.selectById(id);
|
if (isNull(comFmsClassroom)) {
|
return R.fail("资源不存在");
|
}
|
ComFmsClassroomVO comFmsClassroomVO = new ComFmsClassroomVO();
|
BeanUtils.copyProperties(comFmsClassroom, comFmsClassroomVO);
|
return R.ok(comFmsClassroomVO);
|
}
|
|
/**
|
* 后台分页查询微讲堂
|
* @param adminDTO
|
* @return
|
*/
|
@Override
|
public R pageFmsClassroomAdmin(PageFmsClassroomAdminDTO adminDTO) {
|
Page page = new Page<>();
|
page.setCurrent(adminDTO.getPageNum());
|
page.setSize(adminDTO.getPageSize());
|
return R.ok(this.baseMapper.pageFmsClassroomAdmin(page, adminDTO));
|
}
|
|
/**
|
* 微讲堂顶部统计
|
* @param communityId
|
* @return
|
*/
|
@Override
|
public R statisticsFmsClassroom(Long communityId) {
|
return R.ok(this.baseMapper.statisticsFmsClassroom(communityId));
|
}
|
|
/**
|
* 后台分页查询微调节/微防控
|
* @param adminDTO
|
* @return
|
*/
|
@Override
|
public R pageFmsEvent(PageFmsEventAdminDTO adminDTO) {
|
Page page = new Page<>();
|
page.setCurrent(adminDTO.getPageNum());
|
page.setSize(adminDTO.getPageSize());
|
return R.ok(this.baseMapper.pageFmsEvent(page, adminDTO));
|
}
|
|
/**
|
* 微调节/微防控顶部统计
|
* @param type
|
* @param communityId
|
* @return
|
*/
|
@Override
|
public R statisticsFmsEvent(Integer type, Long communityId) {
|
return R.ok(this.baseMapper.statisticsFmsEvent(type, communityId));
|
}
|
|
/**
|
* 小程序获取微讲堂详情
|
* @param id
|
* @return
|
*/
|
@Override
|
public R detailFmsClassroomApplets(Long id) {
|
ComFmsClassroom comFmsClassroom = this.baseMapper.selectById(id);
|
if (isNull(comFmsClassroom)) {
|
return R.fail("资源不存在");
|
}
|
//增加浏览量
|
comFmsClassroom.setViewNum(comFmsClassroom.getViewNum() + 1);
|
this.baseMapper.updateById(comFmsClassroom);
|
ComFmsClassroomVO comFmsClassroomVO = new ComFmsClassroomVO();
|
BeanUtils.copyProperties(comFmsClassroom, comFmsClassroomVO);
|
return R.ok(comFmsClassroomVO);
|
}
|
|
/**
|
* 小程序分页查询微调节/微防控
|
* @param adminDTO
|
* @return
|
*/
|
@Override
|
public R pageFmsEventApplets(PageFmsEventAdminDTO adminDTO) {
|
Page page = new Page();
|
page.setCurrent(adminDTO.getPageNum());
|
page.setSize(adminDTO.getPageSize());
|
IPage<EventVO> ipage = this.baseMapper.pageFmsEventApplets(page, adminDTO);
|
if (ipage != null) {
|
List<EventVO> eventVOList = ipage.getRecords();
|
eventVOList.forEach(eventVO -> {
|
List<EventResourceDO> eventResourceDOList =
|
eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>()
|
.eq(EventResourceDO::getClassification, 1).eq(EventResourceDO::getRefId, eventVO.getId()));
|
List<EventResourceVO> picList = new ArrayList<>();
|
List<EventResourceVO> audioList = new ArrayList<>();
|
List<EventResourceVO> videoList = new ArrayList<>();
|
eventResourceDOList.forEach(eventResourceDO -> {
|
switch (eventResourceDO.getType()) {
|
case 1:
|
EventResourceVO picEventResourceVO = new EventResourceVO();
|
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
|
picList.add(picEventResourceVO);
|
break;
|
case 2:
|
EventResourceVO audioResourceVO = new EventResourceVO();
|
BeanUtils.copyProperties(eventResourceDO, audioResourceVO);
|
audioList.add(audioResourceVO);
|
break;
|
case 3:
|
EventResourceVO videoResourceVO = new EventResourceVO();
|
BeanUtils.copyProperties(eventResourceDO, videoResourceVO);
|
videoList.add(videoResourceVO);
|
break;
|
}
|
});
|
eventVO.setAudios(audioList);
|
eventVO.setPics(picList);
|
eventVO.setVideos(videoList);
|
|
// 查询网格员头像
|
Map<String, String> userMap = eventMapper.getGridMemberImageUrl(eventVO.getGridMemberId());
|
if (StringUtils.isNotEmpty(userMap)) {
|
eventVO.setGridMemberName(userMap.get("nick_name"));
|
eventVO.setGridMemberImageUrl(userMap.get("image_url"));
|
}
|
});
|
return R.ok(ipage);
|
}
|
return R.fail();
|
}
|
}
|