package com.panzhihua.service_community.service.impl;
|
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.util.DesensitizedUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.google.common.base.Joiner;
|
import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenMicroListDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComActMicroWishFeedbackVO;
|
import com.panzhihua.common.model.vos.community.ComActMicroWishOperationRecordVO;
|
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
|
import com.panzhihua.common.model.vos.community.TodoEventsVO;
|
import com.panzhihua.common.model.vos.community.screen.work.MicroListVO;
|
import com.panzhihua.common.model.vos.user.SysUserVO;
|
import com.panzhihua.common.utlis.SensitiveUtil;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_community.dao.ComActMicroWishDAO;
|
import com.panzhihua.service_community.dao.ComActMicroWishFeedbackMapper;
|
import com.panzhihua.service_community.dao.ComActMicroWishOperationRecordMapper;
|
import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
|
import com.panzhihua.service_community.entity.ComActEasyPhotoHandler;
|
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
|
import com.panzhihua.service_community.model.dos.ComActMicroWishFeedbackDO;
|
import com.panzhihua.service_community.model.dos.ComActMicroWishOperationRecordDO;
|
import com.panzhihua.service_community.model.dos.ComActMicroWishUserDO;
|
import com.panzhihua.service_community.service.ComActEasyPhotoHandlerService;
|
import com.panzhihua.service_community.service.ComActMicroWishOperationRecordService;
|
import com.panzhihua.service_community.service.ComActMicroWishService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.ObjectUtils;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 微心愿
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-07 14:34
|
**/
|
@Service
|
@Slf4j
|
public class ComActMicroWishServiceImpl extends ServiceImpl<ComActMicroWishDAO, ComActMicroWishDO> implements ComActMicroWishService {
|
@Resource
|
private ComActMicroWishDAO comActMicroWishDAO;
|
@Resource
|
private ComActMicroWishUserDAO comActMicroWishUserDAO;
|
@Resource
|
private ComActMicroWishFeedbackMapper comActMicroWishFeedbackMapper;
|
@Resource
|
private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper;
|
@Resource
|
private ComActMicroWishOperationRecordService wishOperationRecordService;
|
@Resource
|
private ComActEasyPhotoHandlerService easyPhotoHandlerService;
|
/**
|
* 分页查询微心愿
|
*
|
* @param comActMicroWishVO 查询参数
|
* @return 心愿列表
|
*/
|
@Override
|
public R pageMicroWish(ComActMicroWishVO comActMicroWishVO) {
|
Long userId = comActMicroWishVO.getResponsibleId();
|
Page page = new Page<>();
|
Long pageNum = comActMicroWishVO.getPageNum();
|
Long pageSize = comActMicroWishVO.getPageSize();
|
if (null==pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null==pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWish(page, comActMicroWishVO);
|
|
List<ComActMicroWishVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActMicroWishVO1 -> {
|
if(userId != null){
|
Long id = comActMicroWishVO1.getId();
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
|
.eq(ComActMicroWishUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActMicroWishVO1.setHaveGiveThumbsUp(1);
|
}
|
}
|
comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
|
//查询处理人
|
comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId()));
|
});
|
iPage.setRecords(records);
|
}
|
return R.ok(iPage);
|
}
|
|
@Override
|
public R pageMicroWishApplets(ComActMicroWishVO comActMicroWishVO) {
|
Long userId = comActMicroWishVO.getResponsibleId();
|
IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum()
|
,comActMicroWishVO.getPageSize()), comActMicroWishVO);
|
List<ComActMicroWishVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActMicroWishVO1 -> {
|
if(userId != null){
|
Long id = comActMicroWishVO1.getId();
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
|
.eq(ComActMicroWishUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActMicroWishVO1.setHaveGiveThumbsUp(1);
|
}
|
}
|
comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
|
});
|
iPage.setRecords(records);
|
}
|
return R.ok(iPage);
|
}
|
|
@Override
|
public R pageMicroWishAppletsDesensitize(ComActMicroWishVO comActMicroWishVO) {
|
Long userId = comActMicroWishVO.getResponsibleId();
|
IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum()
|
,comActMicroWishVO.getPageSize()), comActMicroWishVO);
|
List<ComActMicroWishVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActMicroWishVO1 -> {
|
if(userId != null){
|
Long id = comActMicroWishVO1.getId();
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
|
.eq(ComActMicroWishUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActMicroWishVO1.setHaveGiveThumbsUp(1);
|
}
|
}
|
comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
|
comActMicroWishVO1.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO1.getSponsorName()));
|
comActMicroWishVO1.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO1.getResponsibleName()));
|
});
|
iPage.setRecords(records);
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 心愿详情
|
*
|
* @param id 查询主键
|
* @param userId 登录用户id
|
* @return 心愿内容
|
*/
|
@Override
|
public R detailMicroWish(Long id, Long userId) {
|
ComActMicroWishVO comActMicroWishVO = comActMicroWishDAO.detailMicroWish(id);
|
if (ObjectUtils.isEmpty(comActMicroWishVO)) {
|
return R.fail("微心愿不存在");
|
}
|
Integer starNum = comActMicroWishVO.getStarNum();
|
if (null==starNum) {
|
comActMicroWishVO.setStarNum(0);
|
}
|
if (ObjectUtils.isEmpty(comActMicroWishVO)) {
|
return R.fail("心愿不存在");
|
}
|
if(userId != null){
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO.setHaveGiveThumbsUp(0);
|
}else {
|
comActMicroWishVO.setHaveGiveThumbsUp(1);
|
}
|
}
|
//查询反馈列表
|
List<ComActMicroWishFeedbackVO> feedList=comActMicroWishFeedbackMapper.selectByWishId(id);
|
if(!feedList.isEmpty()){
|
comActMicroWishVO.setFeedbackVOList(feedList);
|
}
|
//查询操作记录
|
List<ComActMicroWishOperationRecordVO> operationList=comActMicroWishOperationRecordMapper.getByWishId(id);
|
if(!operationList.isEmpty()){
|
comActMicroWishVO.setOperationRecordVOList(operationList);
|
}
|
comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
|
//查询同类型id数组
|
List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO);
|
if(!idList.isEmpty()){
|
comActMicroWishVO.setIdList(idList);
|
}
|
//查询处理人
|
comActMicroWishVO.setResponsibleName(this.getWishHandleName(comActMicroWishVO.getHandleId()));
|
return R.ok(comActMicroWishVO);
|
}
|
/**
|
* 心愿详情 - 脱敏
|
*
|
* @param id 查询主键
|
* @param userId 登录用户id
|
* @return 心愿内容
|
*/
|
@Override
|
public R detailMicroWishDesensitize(Long id, Long userId) {
|
ComActMicroWishVO comActMicroWishVO = comActMicroWishDAO.detailMicroWish(id);
|
if (ObjectUtils.isEmpty(comActMicroWishVO)) {
|
return R.fail("微心愿不存在");
|
}
|
Integer starNum = comActMicroWishVO.getStarNum();
|
if (null==starNum) {
|
comActMicroWishVO.setStarNum(0);
|
}
|
if (ObjectUtils.isEmpty(comActMicroWishVO)) {
|
return R.fail("心愿不存在");
|
}
|
if(userId != null){
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO.setHaveGiveThumbsUp(0);
|
}else {
|
comActMicroWishVO.setHaveGiveThumbsUp(1);
|
}
|
}
|
//查询反馈列表
|
List<ComActMicroWishFeedbackVO> feedList=comActMicroWishFeedbackMapper.selectByWishId(id);
|
if(!feedList.isEmpty()){
|
for (ComActMicroWishFeedbackVO comActMicroWishFeedbackVO : feedList) {
|
comActMicroWishFeedbackVO.setName(DesensitizedUtil.chineseName(comActMicroWishFeedbackVO.getName()));
|
}
|
comActMicroWishVO.setFeedbackVOList(feedList);
|
}
|
//查询操作记录
|
List<ComActMicroWishOperationRecordVO> operationList=comActMicroWishOperationRecordMapper.getByWishId(id);
|
if(!operationList.isEmpty()){
|
comActMicroWishVO.setOperationRecordVOList(operationList);
|
}
|
comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
|
comActMicroWishVO.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO.getSponsorName()));
|
comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO.getResponsibleName()));
|
//查询同类型id数组
|
List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO);
|
if(!idList.isEmpty()){
|
comActMicroWishVO.setIdList(idList);
|
}
|
//查询处理人
|
comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(this.getWishHandleName(comActMicroWishVO.getHandleId())));
|
return R.ok(comActMicroWishVO);
|
}
|
|
/**
|
* 审核、分配、反馈心愿
|
*
|
* @param comActMicroWishVO 具体操作
|
* @return 操作结果
|
*/
|
@Override
|
@Transactional
|
public synchronized R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
|
Long id = comActMicroWishVO.getId();
|
int type = comActMicroWishVO.getType().intValue();
|
String rejectReason = comActMicroWishVO.getRejectReason();
|
Long responsibleId = comActMicroWishVO.getResponsibleId();
|
String feedback = comActMicroWishVO.getFeedback();
|
String feedbackPhotoPathList = comActMicroWishVO.getFeedbackPhotoPathList();
|
ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
|
comActMicroWishDO.setId(id);
|
Boolean isUpdate = false;
|
Date date = new Date();
|
ComActMicroWishOperationRecordDO comActMicroWishOperationRecordDO=new ComActMicroWishOperationRecordDO();
|
comActMicroWishOperationRecordDO.setCreateTime(date);
|
comActMicroWishOperationRecordDO.setUserId(comActMicroWishVO.getUserId());
|
comActMicroWishOperationRecordDO.setWishId(comActMicroWishVO.getId());
|
ComActMicroWishDO microWishDO = this.baseMapper.selectById(id);
|
if(microWishDO == null){
|
return R.fail("未查询到该微心愿记录");
|
}
|
|
// 1 审核通过 2驳回 3分配人员 4发起活动 5反馈
|
switch (type){
|
case 1:
|
isUpdate = true;
|
if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){
|
return R.fail("该微心愿已审核,不可重复审核");
|
}
|
comActMicroWishDO.setExamineAt(date);
|
comActMicroWishDO.setAimNum(comActMicroWishVO.getAimNum());
|
comActMicroWishDO.setStatus(7);//集心中
|
comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.sh);
|
comActMicroWishOperationRecordDO.setContent("审核通过");
|
comActMicroWishOperationRecordDO.setRemark("微心愿审核通过");
|
comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
|
break;
|
case 2:
|
isUpdate = true;
|
if(!microWishDO.getStatus().equals(ComActMicroWishDO.status.dsh)){
|
return R.fail("该微心愿已审核,不可重复审核");
|
}
|
comActMicroWishDO.setExamineAt(date);
|
comActMicroWishDO.setRejectReason(rejectReason);
|
comActMicroWishDO.setStatus(4);//驳回
|
comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.bh);
|
comActMicroWishOperationRecordDO.setContent(rejectReason);
|
comActMicroWishOperationRecordDO.setRemark("微心愿审核未通过");
|
comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
|
break;
|
case 3:
|
/**
|
* 状态
|
* 状态 1待审核 2待分配 3进行中 4已驳回 5待确认6 已完成
|
*/
|
if(comActMicroWishDO.getStatus()!=null && comActMicroWishDO.getStatus()!=2)
|
{
|
return R.fail("该微心愿已认领,不可重复认领");
|
}
|
|
isUpdate = true;
|
comActMicroWishDO.setDistributionAt(date);
|
comActMicroWishDO.setResponsibleId(responsibleId);
|
comActMicroWishDO.setStatus(3);//进行中
|
// comActMicroWishDO.setForm(1);
|
if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){
|
comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds()));
|
}
|
//添加操作记录
|
comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp);
|
if(comActMicroWishDO.getForm()!=null)
|
{
|
if(comActMicroWishDO.getForm()==3)
|
{
|
comActMicroWishOperationRecordDO.setContent("认领心愿");
|
comActMicroWishOperationRecordDO.setRemark("认领心愿");
|
}
|
else
|
{
|
comActMicroWishOperationRecordDO.setContent("分配心愿");
|
comActMicroWishOperationRecordDO.setRemark("分配心愿");
|
}
|
}
|
else
|
{
|
comActMicroWishOperationRecordDO.setContent("分配心愿");
|
comActMicroWishOperationRecordDO.setRemark("分配心愿");
|
}
|
comActMicroWishOperationRecordDO.setUserId(responsibleId);
|
comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
|
|
//添加分配人员
|
if(comActMicroWishVO.getHandleList() != null && comActMicroWishVO.getHandleList().size() > 0){
|
comActMicroWishVO.getHandleList().forEach(handle -> {
|
easyPhotoHandlerService.addHandleRecord(microWishDO.getCommunityId(),handle.getUserId()
|
,microWishDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.WXY,comActMicroWishVO.getSponsorId());
|
});
|
}
|
break;
|
case 4:
|
isUpdate = true;
|
comActMicroWishDO.setDistributionAt(date);
|
comActMicroWishDO.setResponsibleId(responsibleId);
|
comActMicroWishDO.setStatus(3);//待确认
|
comActMicroWishDO.setForm(2);
|
if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){
|
comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds()));
|
}
|
//添加操作记录
|
comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp);
|
comActMicroWishOperationRecordDO.setContent("分配心愿");
|
comActMicroWishOperationRecordDO.setRemark("分配心愿");
|
comActMicroWishOperationRecordDO.setUserId(responsibleId);
|
comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
|
break;
|
case 5:
|
if(comActMicroWishVO.getFeedback().length() > 200){
|
return R.fail("反馈字数不得超过200字");
|
}
|
//新增反馈记录
|
ComActMicroWishFeedbackDO comActMicroWishFeedbackDO=new ComActMicroWishFeedbackDO();
|
comActMicroWishFeedbackDO.setCreateTime(date);
|
comActMicroWishFeedbackDO.setContent(feedback);
|
comActMicroWishFeedbackDO.setImgUrl(feedbackPhotoPathList);
|
comActMicroWishFeedbackDO.setMicroId(comActMicroWishVO.getId());
|
comActMicroWishFeedbackDO.setUserId(comActMicroWishVO.getUserId());
|
if(comActMicroWishVO.getStatus() != null && comActMicroWishVO.getStatus().equals(ComActMicroWishDO.status.dqr)){
|
isUpdate = true;
|
comActMicroWishDO.setStatus(ComActMicroWishDO.status.dqr);
|
comActMicroWishDO.setFinishAt(date);
|
comActMicroWishDO.setFinish(feedback);
|
comActMicroWishDO.setFinishPhotoPathList(feedbackPhotoPathList);
|
|
//添加操作记录
|
comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk);
|
comActMicroWishOperationRecordDO.setContent(feedback);
|
comActMicroWishOperationRecordDO.setRemark("心愿已完成");
|
comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList);
|
comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
|
}else{
|
//添加操作记录
|
comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk);
|
comActMicroWishOperationRecordDO.setContent(feedback);
|
if(comActMicroWishVO.getForm()==null || comActMicroWishVO.getForm() ==3 )
|
{
|
comActMicroWishOperationRecordDO.setRemark("用户反馈");
|
}
|
else
|
{
|
comActMicroWishOperationRecordDO.setRemark("社区反馈");
|
}
|
comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList);
|
comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
|
}
|
// else {
|
// comActMicroWishDO.setStatus(3);
|
// }
|
comActMicroWishFeedbackMapper.insert(comActMicroWishFeedbackDO);
|
default:
|
break;
|
}
|
if(isUpdate){
|
int update = comActMicroWishDAO.updateById(comActMicroWishDO);
|
if (update>0) {
|
return R.ok();
|
}
|
}else{
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 点赞/取消点赞微心愿
|
*
|
* @param comActMicroWishVO 操作参数
|
* @return 操作结果
|
*/
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) {
|
Long userId = comActMicroWishVO.getSponsorId();
|
Long microWishId = comActMicroWishVO.getId();
|
//查询微心愿集心数并判断修改微心愿状态
|
ComActMicroWishDO comActMicroWishDO=comActMicroWishDAO.selectById(microWishId);
|
Integer count=comActMicroWishUserDAO.selectCount(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId));
|
if(comActMicroWishDO!=null&&comActMicroWishDO.getAimNum()!=null&&count<comActMicroWishDO.getAimNum()){
|
if(comActMicroWishDO.getStatus()==ComActMicroWishDO.status.jx){
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
|
boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
|
int num=0;
|
if (empty) {
|
ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
|
comActMicroWishUserDO1.setMicroWishId(microWishId);
|
comActMicroWishUserDO1.setUserId(userId);
|
num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
|
}else{
|
return R.fail("无法重新点心");
|
}
|
if (num>0) {
|
if(count>=comActMicroWishDO.getAimNum()-1){
|
comActMicroWishDO.setStatus(ComActMicroWishDO.status.dfp);
|
comActMicroWishDO.setFeedbackAt(DateUtil.date());
|
comActMicroWishDAO.updateById(comActMicroWishDO);
|
|
//完成集心添加操作记录
|
wishOperationRecordService.addOperationRecord("完成集心",comActMicroWishDO.getSponsorId()
|
,comActMicroWishDO.getId(),ComActMicroWishOperationRecordDO.type.jx,"用户完成集心",null);
|
}
|
return R.ok();
|
}
|
}
|
}
|
return R.fail("该微心愿不可点心");
|
}
|
|
/**
|
* 用户确认心愿
|
*
|
* @param comActMicroWishVO 用户评价
|
* @return 确认结果
|
*/
|
@Override
|
public R putMicroWishConfirm(ComActMicroWishVO comActMicroWishVO) {
|
ComActMicroWishDO comActMicroWishDO1 = comActMicroWishDAO.selectById(comActMicroWishVO.getId());
|
if (ObjectUtils.isEmpty(comActMicroWishDO1)) {
|
return R.fail("心愿不存在");
|
}
|
Integer status = comActMicroWishDO1.getStatus();
|
if (!status.equals(ComActMicroWishDO.status.dqr)) {
|
return R.fail("心愿状态不是待确认状态");
|
}
|
ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
|
comActMicroWishDO.setId(comActMicroWishVO.getId());
|
comActMicroWishDO.setEvaluateAt(comActMicroWishVO.getEvaluateAt());
|
comActMicroWishDO.setStatus(comActMicroWishVO.getStatus());
|
comActMicroWishDO.setScore(comActMicroWishVO.getScore());
|
comActMicroWishDO.setEvaluate(comActMicroWishVO.getEvaluate());
|
int update = comActMicroWishDAO.updateById(comActMicroWishDO);
|
if (update>0) {
|
//用户确认心愿添加操作记录
|
wishOperationRecordService.addOperationRecord(comActMicroWishVO.getEvaluate(),comActMicroWishDO1.getSponsorId()
|
,comActMicroWishDO1.getId(),ComActMicroWishOperationRecordDO.type.wc,"用户已确认",null);
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 社区首页代办事件集合
|
*
|
* @param communityId 社区id
|
* @param userId 登录用户
|
* @return 代办事件集合
|
*/
|
@Override
|
public List<TodoEventsVO> selectNeedToDo(Long communityId, Long userId) {
|
List<TodoEventsVO> todoEventsVOS=comActMicroWishDAO.selectNeedToDo(communityId,userId);
|
return todoEventsVOS;
|
}
|
|
@Override
|
public R deleteMicroWish(Long id) {
|
ComActMicroWishDO comActMicroWishDO = comActMicroWishDAO.selectById(id);
|
if(comActMicroWishDO==null){
|
return R.fail("id有误!");
|
}
|
comActMicroWishDAO.deleteById(id);
|
comActMicroWishUserDAO.delete(new LambdaQueryWrapper<ComActMicroWishUserDO>().eq(ComActMicroWishUserDO::getMicroWishId,id));
|
return R.ok();
|
}
|
|
@Override
|
public R timedTaskActMicroWishAll() {
|
|
//微心愿自动确认前需要添加操作记录
|
List<Long> wishIds = comActMicroWishDAO.getWishAutoConfirmIds();
|
wishIds.forEach(wishId -> {
|
//需要添加操作记录
|
wishOperationRecordService.addOperationRecord("系统自动确认微心愿",null
|
,wishId, ComActMicroWishOperationRecordDO.type.zd,"系统自动确认微心愿",null);
|
});
|
int num=comActMicroWishDAO.updateStatusAutoConfirm();
|
log.info("定时任务--修改待自动确认微心愿状态数量【{}】",num);
|
return R.ok();
|
}
|
|
@Override
|
public R getScreenMicroList(ScreenMicroListDTO microListDTO){
|
IPage<MicroListVO> microListVOIPage = comActMicroWishDAO.getScreenMicroList(new Page(microListDTO.getPageNum(),microListDTO.getPageSize()),microListDTO);
|
if(!microListVOIPage.getRecords().isEmpty()){
|
microListVOIPage.getRecords().forEach(microListVO -> {
|
Integer count = comActMicroWishUserDAO.selectCount(new QueryWrapper<ComActMicroWishUserDO>().lambda()
|
.eq(ComActMicroWishUserDO::getMicroWishId,microListVO.getId()));
|
microListVO.setStarNum(count);
|
});
|
}
|
return R.ok(microListVOIPage);
|
}
|
|
/**
|
* 微心愿处理人列表
|
* @param communityId 社区id
|
* @param type 处理人类型(1.后台用户 2.党员 3.志愿者)
|
* @return 处理人列表
|
*/
|
@Override
|
public R wishHandleListAdmin(Long communityId,Integer type){
|
return R.ok(comActMicroWishDAO.getWishHandleListAdmin(type,communityId));
|
}
|
|
/**
|
* 拼接处理人
|
* @param handleId 处理人id字符串
|
* @return 处理人名称
|
*/
|
private String getWishHandleName(String handleId){
|
StringBuffer sb = new StringBuffer();
|
if(StringUtils.isNotEmpty(handleId)){
|
String []handleIds = handleId.split(",");
|
if(handleIds.length > 0){
|
for (String id : handleIds) {
|
SysUserVO user = comActMicroWishDAO.getUserByUserId(Long.parseLong(id));
|
if(user != null){
|
if(user.getType().equals(SysUserVO.type.xcx)){
|
if(user.getIsPartymember().equals(SysUserVO.isOk.yes)){
|
sb.append(user.getName() + "(党员),");
|
}else if(user.getIsVolunteer().equals(SysUserVO.isOk.yes)){
|
sb.append(user.getName() + "(志愿者),");
|
}else{
|
sb.append(user.getName());
|
}
|
}else if(user.getType().equals(SysUserVO.type.sqht)){
|
sb.append(user.getName() + "(后台用户),");
|
}
|
}
|
}
|
}
|
}
|
String result = sb.toString();
|
if(result.length() > 0){
|
result = result.substring(0,result.length()-1);
|
}
|
return result;
|
}
|
|
/**
|
* 社区后台分页查询微心愿
|
* @param comActMicroWishVO 请求参数
|
* @return 微心愿列表
|
*/
|
@Override
|
public R pageMicroWishAdmin(ComActMicroWishVO comActMicroWishVO) {
|
Long userId = comActMicroWishVO.getResponsibleId();
|
IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishAdmin(new Page(comActMicroWishVO.getPageNum()
|
,comActMicroWishVO.getPageSize()), comActMicroWishVO);
|
|
iPage.getRecords().forEach(comActMicroWishVO1 -> {
|
if(userId != null){
|
Long id = comActMicroWishVO1.getId();
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
|
.eq(ComActMicroWishUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActMicroWishVO1.setHaveGiveThumbsUp(1);
|
}
|
}
|
comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
|
//查询处理人
|
comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId()));
|
});
|
return R.ok(iPage);
|
}
|
}
|