package com.panzhihua.service_community.service.impl;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.*;
|
import java.util.function.Function;
|
import java.util.stream.Collectors;
|
|
import javax.annotation.Resource;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.DesensitizedUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import com.panzhihua.common.model.dtos.common.PageComActEasyPhotoEvaluateDto;
|
import com.panzhihua.common.model.vos.common.ComActEasyPhotoHandlerVo;
|
import com.panzhihua.common.model.vos.community.acid.ComActAcidColorChartsVO;
|
import com.panzhihua.common.model.vos.community.easyPhoto.BannerVO;
|
import com.panzhihua.service_community.entity.ComActEasyPhotoEvaluate;
|
import com.panzhihua.service_community.entity.ComActEasyPhotoHandler;
|
import com.panzhihua.service_community.entity.SysTemplateConfig;
|
import com.panzhihua.service_community.service.ComActEasyPhotoHandlerService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
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.dtos.community.ComActEasyPhotoCommentDTO;
|
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
|
import com.panzhihua.common.model.dtos.community.GrantRewardDTO;
|
import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO;
|
import com.panzhihua.common.model.dtos.community.easyPhoto.ExportEasyPhotoDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.*;
|
import com.panzhihua.common.model.vos.community.easyPhoto.ExportEasyPhotoVO;
|
import com.panzhihua.common.utlis.DateUtils;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.common.utlis.WxUtil;
|
import com.panzhihua.common.utlis.WxXCXTempSend;
|
import com.panzhihua.service_community.dao.*;
|
import com.panzhihua.service_community.model.dos.*;
|
import com.panzhihua.service_community.service.ComActEasyPhotoService;
|
import com.panzhihua.service_community.service.ComActUserWalletService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 随手拍
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-07 14:31
|
**/
|
@Slf4j
|
@Service
|
public class ComActEasyPhotoServiceImpl extends ServiceImpl<ComActEasyPhotoDAO, ComActEasyPhotoDO>
|
implements ComActEasyPhotoService {
|
@Resource
|
private ComActEasyPhotoDAO comActEasyPhotoDAO;
|
@Resource
|
private ComActEasyPhotoUserDAO comActEasyPhotoUserDAO;
|
@Resource
|
private ComActEasyPhotoCommentDAO comActEasyPhotoCommentDAO;
|
@Resource
|
private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO;
|
@Resource
|
private ComActEasyPhotoActivityMapper comActEasyPhotoActivityMapper;
|
@Resource
|
private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper;
|
@Resource
|
private ComActUserWalletService comActUserWalletService;
|
@Resource
|
private ComActActSignDAO comActActSignDAO;
|
@Resource
|
private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper;
|
@Resource
|
private ComActQuestnaireDAO comActQuestnaireDAO;
|
@Resource
|
private ComActReserveMapper comActReserveMapper;
|
@Resource
|
private ComActActivityDAO comActActivityDAO;
|
@Resource
|
private SysTemplateConfigDao sysTemplateConfigDao;
|
@Resource
|
private ComActEasyPhotoHandlerService easyPhotoHandlerService;
|
@Resource
|
private ComActEasyPhotoEvaluateMapper comActEasyPhotoEvaluateMapper;
|
@Resource
|
private ComActReserveRecordMapper comActReserveRecordMapper;
|
/**
|
* 分页查询随手拍
|
*
|
* @param comActEasyPhotoVO
|
* 查询参数
|
* @return 心愿列表
|
*/
|
@Override
|
public R pageEasyPhoto(ComActEasyPhotoVO comActEasyPhotoVO) {
|
Page page = new Page<>();
|
Long pageNum = comActEasyPhotoVO.getPageNum();
|
Long pageSize = comActEasyPhotoVO.getPageSize();
|
Long userId = comActEasyPhotoVO.getLogInUserId();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoAdmin(page, comActEasyPhotoVO);
|
List<ComActEasyPhotoVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActEasyPhotoVO1 -> {
|
Long id = comActEasyPhotoVO1.getId();
|
ComActEasyPhotoUserDO comActEasyPhotoUserDO =
|
comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda()
|
.eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
|
comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
|
}
|
|
if (comActEasyPhotoVO1.getActivityId() != null
|
&& comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.dpj)) {
|
// 查询随手拍活动
|
ComActEasyPhotoActivityDO photoActivityDO =
|
comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId());
|
if (photoActivityDO != null) {
|
if (comActEasyPhotoVO1.getActivityType() != null) {
|
if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getGoodReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getExcellentReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getOrdinaryReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getCommonlyReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.wu)) {
|
comActEasyPhotoVO1.setActivityMoney(BigDecimal.ZERO);
|
}
|
}
|
}
|
}
|
});
|
iPage.setRecords(records);
|
}
|
return R.ok(iPage);
|
}
|
|
@Override
|
public R pageEasyPhotoAdminLC(Long pageNum,Long pageSize) {
|
Page page = new Page<>();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoAdminLC(page);
|
List<ComActEasyPhotoVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActEasyPhotoVO1 -> {
|
Long id = comActEasyPhotoVO1.getId();
|
|
if (comActEasyPhotoVO1.getActivityId() != null
|
&& comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.dpj)) {
|
// 查询随手拍活动
|
ComActEasyPhotoActivityDO photoActivityDO =
|
comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId());
|
if (photoActivityDO != null) {
|
if (comActEasyPhotoVO1.getActivityType() != null) {
|
if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getGoodReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getExcellentReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getOrdinaryReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)) {
|
comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getCommonlyReward());
|
} else if (comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.wu)) {
|
comActEasyPhotoVO1.setActivityMoney(BigDecimal.ZERO);
|
}
|
}
|
}
|
}
|
});
|
iPage.setRecords(records);
|
}
|
return R.ok(iPage);
|
}
|
|
|
/**
|
* 随手拍详情
|
*
|
* @param id
|
* 随手拍主键
|
* @param userId
|
* @return 详情内容
|
*/
|
@Override
|
public R detailEasyPhoto(Long id, Long userId) {
|
ComActEasyPhotoVO comActEasyPhotoVO = comActEasyPhotoDAO.detailEasyPhoto(id);
|
Integer status = comActEasyPhotoVO.getStatus();
|
if (ObjectUtils.isEmpty(comActEasyPhotoVO) || null == status) {
|
return R.fail("随手拍不存在");
|
}
|
if (!userId.equals(0L)) {
|
ComActEasyPhotoUserDO comActEasyPhotoUserDO =
|
comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda()
|
.eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
|
comActEasyPhotoVO.setHaveGiveThumbsUp(0);
|
} else {
|
comActEasyPhotoVO.setHaveGiveThumbsUp(1);
|
}
|
}
|
|
// if (status.equals(4)) {
|
// Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
|
// if (null==feedbackAt) {
|
// comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
|
// }
|
// }
|
|
// 查询反馈信息
|
List<ComActEasyPhotoFeedbackVO> photoFeedbackList =
|
comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id);
|
if (!photoFeedbackList.isEmpty()) {
|
comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList);
|
}
|
|
// comActEasyPhotoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone()));
|
if (comActEasyPhotoVO.getAddrRemark() == null) {
|
comActEasyPhotoVO.setAddrRemark("");
|
}
|
|
if (comActEasyPhotoVO.getActivityId() != null) {
|
ComActEasyPhotoActivityDO photoActivityDO =
|
comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO.getActivityId());
|
if (photoActivityDO != null) {
|
ComActEasyPhotoActivityVO easyPhotoActivityVO = new ComActEasyPhotoActivityVO();
|
BeanUtils.copyProperties(photoActivityDO, easyPhotoActivityVO);
|
comActEasyPhotoVO.setEasyPhotoActivityVO(easyPhotoActivityVO);
|
}
|
}
|
PageComActEasyPhotoEvaluateDto evaluateDto = new PageComActEasyPhotoEvaluateDto();
|
evaluateDto.setServiceId(id);
|
evaluateDto.setServiceType(ComActEasyPhotoEvaluate.ServiceType.SSP);
|
comActEasyPhotoVO.setEvaluateList(comActEasyPhotoEvaluateMapper.queryAllByList(evaluateDto));
|
return R.ok(comActEasyPhotoVO);
|
}
|
/**
|
* 随手拍详情 - 脱敏
|
*
|
* @param id
|
* 随手拍主键
|
* @param userId
|
* @return 详情内容
|
*/
|
@Override
|
public R detailEasyPhotoDesensitize(Long id, Long userId) {
|
ComActEasyPhotoVO comActEasyPhotoVO = comActEasyPhotoDAO.detailEasyPhoto(id);
|
Integer status = comActEasyPhotoVO.getStatus();
|
if (ObjectUtils.isEmpty(comActEasyPhotoVO) || null == status) {
|
return R.fail("随手拍不存在");
|
}
|
if (!userId.equals(0L)) {
|
ComActEasyPhotoUserDO comActEasyPhotoUserDO =
|
comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda()
|
.eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
|
comActEasyPhotoVO.setHaveGiveThumbsUp(0);
|
} else {
|
comActEasyPhotoVO.setHaveGiveThumbsUp(1);
|
}
|
}
|
comActEasyPhotoVO.setSponsorName(DesensitizedUtil.chineseName(comActEasyPhotoVO.getSponsorName()));
|
comActEasyPhotoVO.setHandlerName(DesensitizedUtil.chineseName(comActEasyPhotoVO.getHandlerName()));
|
comActEasyPhotoVO.setCompleteName(DesensitizedUtil.chineseName(comActEasyPhotoVO.getCompleteName()));
|
comActEasyPhotoVO.setPhone(DesensitizedUtil.mobilePhone(comActEasyPhotoVO.getPhone()));
|
|
// 查询反馈信息
|
List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id);
|
if (!photoFeedbackList.isEmpty()) {
|
if (CollUtil.isNotEmpty(photoFeedbackList)){
|
for (ComActEasyPhotoFeedbackVO comActEasyPhotoFeedbackVO : photoFeedbackList) {
|
comActEasyPhotoFeedbackVO.setCreateByName(DesensitizedUtil.chineseName(comActEasyPhotoFeedbackVO.getCreateByName()));
|
}
|
}
|
comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList);
|
}
|
|
if (comActEasyPhotoVO.getAddrRemark() == null) {
|
comActEasyPhotoVO.setAddrRemark("");
|
}
|
|
if (comActEasyPhotoVO.getActivityId() != null) {
|
ComActEasyPhotoActivityDO photoActivityDO =
|
comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO.getActivityId());
|
if (photoActivityDO != null) {
|
ComActEasyPhotoActivityVO easyPhotoActivityVO = new ComActEasyPhotoActivityVO();
|
BeanUtils.copyProperties(photoActivityDO, easyPhotoActivityVO);
|
comActEasyPhotoVO.setEasyPhotoActivityVO(easyPhotoActivityVO);
|
}
|
}
|
PageComActEasyPhotoEvaluateDto evaluateDto = new PageComActEasyPhotoEvaluateDto();
|
evaluateDto.setServiceId(id);
|
evaluateDto.setServiceType(ComActEasyPhotoEvaluate.ServiceType.SSP);
|
comActEasyPhotoVO.setEvaluateList(comActEasyPhotoEvaluateMapper.queryAllByList(evaluateDto));
|
return R.ok(comActEasyPhotoVO);
|
}
|
|
/**
|
* 上传随手拍
|
*
|
* @param comActEasyPhotoVO
|
* 上传数据
|
* @return 上传结果
|
*/
|
@Override
|
public R addEasyPhoto(ComActEasyPhotoVO comActEasyPhotoVO) {
|
ComActEasyPhotoDO comActEasyPhotoDO = new ComActEasyPhotoDO();
|
BeanUtils.copyProperties(comActEasyPhotoVO, comActEasyPhotoDO);
|
// 查询是否在活动时间内
|
Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format);
|
List<ComActEasyPhotoActivityDO> photoActivityDOS =
|
comActEasyPhotoActivityMapper.selectList(new QueryWrapper<ComActEasyPhotoActivityDO>().lambda()
|
.eq(ComActEasyPhotoActivityDO::getCommunityId, comActEasyPhotoVO.getCommunityId())
|
.le(ComActEasyPhotoActivityDO::getActivityStartAt, nowDate)
|
.ge(ComActEasyPhotoActivityDO::getActivityEndAt, nowDate)
|
.eq(ComActEasyPhotoActivityDO::getStatus, ComActEasyPhotoActivityDO.status.jxz));
|
if (!photoActivityDOS.isEmpty()) {
|
ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0);
|
photoActivityDO.setCount(photoActivityDO.getCount() + 1);
|
comActEasyPhotoDO.setActivityId(photoActivityDO.getId());
|
comActEasyPhotoActivityMapper.updateById(photoActivityDO);
|
}
|
int insert = comActEasyPhotoDAO.insert(comActEasyPhotoDO);
|
if (insert > 0) {
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("id",comActEasyPhotoDO.getId());
|
return R.ok(jsonObject);
|
}
|
return R.fail();
|
}
|
|
/**
|
* 点赞/取消点赞随手拍
|
*
|
* @param comActEasyPhotoVO
|
* 操作参数
|
* @return 操作结果
|
*/
|
@Override
|
public R putEasyPhoto(ComActEasyPhotoVO comActEasyPhotoVO) {
|
Integer haveGiveThumbsUp = comActEasyPhotoVO.getHaveGiveThumbsUp();
|
Long userId = comActEasyPhotoVO.getSponsorId();
|
Long easyPhotoId = comActEasyPhotoVO.getId();
|
ComActEasyPhotoUserDO comActEasyPhotoUserDO =
|
comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda()
|
.eq(ComActEasyPhotoUserDO::getUserId, userId).eq(ComActEasyPhotoUserDO::getEasyPhotoId, easyPhotoId));
|
boolean empty = ObjectUtils.isEmpty(comActEasyPhotoUserDO);
|
int num = 0;
|
if (haveGiveThumbsUp.intValue() == 1) {
|
if (empty) {
|
ComActEasyPhotoUserDO comActEasyPhotoUserDO1 = new ComActEasyPhotoUserDO();
|
comActEasyPhotoUserDO1.setEasyPhotoId(easyPhotoId);
|
comActEasyPhotoUserDO1.setUserId(userId);
|
num = comActEasyPhotoUserDAO.insert(comActEasyPhotoUserDO1);
|
} else {
|
return R.ok();
|
}
|
} else {
|
if (empty) {
|
return R.ok();
|
} else {
|
num = comActEasyPhotoUserDAO.deleteById(comActEasyPhotoUserDO.getId());
|
}
|
}
|
if (num > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 审核反馈随手拍
|
*
|
* @param comActEasyPhotoVO
|
* 操作参数
|
* @return 操作结果
|
*/
|
@Override
|
public R putEasypHotoStatus(ComActEasyPhotoVO comActEasyPhotoVO) {
|
Integer type = comActEasyPhotoVO.getType();
|
comActEasyPhotoVO.setIsNeedFeedBack(1);
|
Date nowDate = new Date();
|
// 操作类型 1审核通过 2驳回 3反馈 4完成随手拍
|
ComActEasyPhotoDO cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
|
if (cmActEasyPhotoDO == null) {
|
return R.fail("未查询到随手拍记录");
|
}
|
switch (type) {
|
case 1:
|
if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)) {
|
return R.fail("该随手拍已处理,不可重复操作");
|
// return R.ok();
|
}
|
cmActEasyPhotoDO.setStatus(2);// 进行中
|
cmActEasyPhotoDO.setIsNeedFeedBack(1);
|
cmActEasyPhotoDO.setIsPublicity(comActEasyPhotoVO.getIsPublicity());
|
if (comActEasyPhotoVO.getIsReportUrban().equals(ComActEasyPhotoVO.isReportUrban.yes)) {
|
cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.yes);
|
cmActEasyPhotoDO.setTransferReason(comActEasyPhotoVO.getTransferReason());
|
cmActEasyPhotoDO.setTransferTime(nowDate);
|
|
} else {
|
cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no );
|
}
|
cmActEasyPhotoDO.setExamineAt(nowDate);
|
cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
|
if (StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult())
|
|| StringUtils.isNotEmpty(comActEasyPhotoVO.getHandlePhotoList())) {
|
// 说明此处有反馈,需要给随手拍新增反馈信息
|
ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
|
photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
|
photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
|
photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
|
photoFeedbackDO.setCreateAt(nowDate);
|
photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
|
comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
|
}
|
// 审核通过判断随手拍是否有活动并计算用户收益
|
comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(), comActEasyPhotoVO.getId(),
|
comActEasyPhotoVO.getUserId(), BigDecimal.ZERO);
|
|
//添加分配人员
|
if(comActEasyPhotoVO.getHandleList() != null && comActEasyPhotoVO.getHandleList().size() > 0){
|
comActEasyPhotoVO.getHandleList().forEach(handle -> {
|
cmActEasyPhotoDO.setHandlerId(handle.getUserId());
|
easyPhotoHandlerService.addHandleRecord(cmActEasyPhotoDO.getCommunityId(),handle.getUserId()
|
,cmActEasyPhotoDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.SSP,comActEasyPhotoVO.getSponsorId());
|
});
|
}
|
break;
|
case 2:
|
// if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
|
// return R.fail("该随手拍已处理,不可重复操作");
|
// }
|
// cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
|
// cmActEasyPhotoDO.setStatus(3);//已驳回
|
// cmActEasyPhotoDO.setExamineAt(nowDate);
|
// cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
|
break;
|
case 3:
|
if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)) {
|
return R.fail("该随手拍不是进行中状态,不可进行反馈");
|
}
|
// 给随手拍新增反馈信息
|
ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
|
photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
|
photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
|
photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
|
photoFeedbackDO.setCreateAt(nowDate);
|
photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
|
comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
|
break;
|
case 4:
|
if (cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.ypj)) {
|
return R.fail("该随手拍已完成,不可重复操作");
|
}
|
if (StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult())
|
|| StringUtils.isNotEmpty(comActEasyPhotoVO.getHandlePhotoList())) {
|
// 说明此处有反馈,需要给随手拍新增反馈信息
|
ComActEasyPhotoFeedbackDO photoFeedback = new ComActEasyPhotoFeedbackDO();
|
photoFeedback.setEasyId(comActEasyPhotoVO.getId());
|
photoFeedback.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
|
photoFeedback.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
|
photoFeedback.setCreateAt(nowDate);
|
photoFeedback.setCreateBy(comActEasyPhotoVO.getUserId());
|
comActEasyPhotoFeedbackMapper.insert(photoFeedback);
|
}
|
// if(cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
|
// cmActEasyPhotoDO.setExamineAt(nowDate);
|
// cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
|
// cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
|
// //审核通过判断随手拍是否有活动并计算用户收益
|
// comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId(),BigDecimal.ZERO);
|
// }
|
cmActEasyPhotoDO.setFeedbackAt(nowDate);
|
cmActEasyPhotoDO.setStatus(ComActEasyPhotoDO.status.dpj);
|
cmActEasyPhotoDO.setCompleteId(comActEasyPhotoVO.getUserId());
|
if(comActEasyPhotoVO.getUrbanStatus()!=null&&comActEasyPhotoVO.getUrbanStatus()==2){
|
cmActEasyPhotoDO.setUrbanStatus(2);
|
}
|
break;
|
default:
|
break;
|
}
|
if (!ObjectUtils.isEmpty(comActEasyPhotoVO.getIsReportDpc())){
|
cmActEasyPhotoDO.setIsReportDpc(comActEasyPhotoVO.getIsReportDpc());
|
}
|
if (!type.equals(3)) {
|
int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO);
|
if (update > 0) {
|
return R.ok();
|
}
|
} else {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 随手拍是否有待审核和带反馈的事件
|
*
|
* @param communityId
|
* 社区id
|
* @param userId
|
* 登录用户id
|
* @return 待处理事件集合
|
*/
|
@Override
|
public List<TodoEventsVO> selectNeedToDo(Long communityId, Long userId) {
|
List<TodoEventsVO> todoEventsVOS = comActEasyPhotoDAO.selectNeedToDo(communityId, userId);
|
return todoEventsVOS;
|
}
|
|
/**
|
* 小程序分页查询随手拍
|
*
|
* @param comActEasyPhotoVO
|
* 查询参数
|
* @return 返回结果
|
*/
|
@Override
|
public R pageEasyPhotoApplets(ComActEasyPhotoVO comActEasyPhotoVO) {
|
Page page = new Page<>();
|
Long pageNum = comActEasyPhotoVO.getPageNum();
|
Long pageSize = comActEasyPhotoVO.getPageSize();
|
Long userId = comActEasyPhotoVO.getLogInUserId();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoApplets(page, comActEasyPhotoVO);
|
List<ComActEasyPhotoVO> records = iPage.getRecords();
|
if (userId != null) {
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActEasyPhotoVO1 -> {
|
Long id = comActEasyPhotoVO1.getId();
|
Integer status = comActEasyPhotoVO1.getStatus();
|
Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt();
|
List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectList(
|
new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id)
|
.eq(ComActEasyPhotoUserDO::getUserId, userId));
|
if (comActEasyPhotoUserDO == null || comActEasyPhotoUserDO.size() == 0) {
|
comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
|
}
|
if (status.intValue() == 4 && null == feedbackAt) {
|
comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
|
}
|
});
|
iPage.setRecords(records);
|
}
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 小程序分页查询随手拍 脱敏
|
*
|
* @param comActEasyPhotoVO
|
* 查询参数
|
* @return 返回结果
|
*/
|
@Override
|
public R pageEasyPhotoAppletsDesensitize(ComActEasyPhotoVO comActEasyPhotoVO) {
|
Page page = new Page<>();
|
Long pageNum = comActEasyPhotoVO.getPageNum();
|
Long pageSize = comActEasyPhotoVO.getPageSize();
|
Long userId = comActEasyPhotoVO.getLogInUserId();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoApplets(page, comActEasyPhotoVO);
|
List<ComActEasyPhotoVO> records = iPage.getRecords();
|
if (userId != null) {
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActEasyPhotoVO1 -> {
|
Long id = comActEasyPhotoVO1.getId();
|
Integer status = comActEasyPhotoVO1.getStatus();
|
Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt();
|
comActEasyPhotoVO1.setSponsorName(DesensitizedUtil.chineseName(comActEasyPhotoVO1.getSponsorName()));
|
comActEasyPhotoVO1.setHandlerName(DesensitizedUtil.chineseName(comActEasyPhotoVO1.getHandlerName()));
|
comActEasyPhotoVO1.setCompleteName(DesensitizedUtil.chineseName(comActEasyPhotoVO1.getCompleteName()));
|
comActEasyPhotoVO1.setPhone(DesensitizedUtil.mobilePhone(comActEasyPhotoVO1.getPhone()));
|
List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectList(
|
new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id)
|
.eq(ComActEasyPhotoUserDO::getUserId, userId));
|
if (comActEasyPhotoUserDO == null || comActEasyPhotoUserDO.size() == 0) {
|
comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
|
}
|
if (status.intValue() == 4 && null == feedbackAt) {
|
comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
|
}
|
//反馈信息列表
|
List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoVO1.getPhotoFeedbackList();
|
if (CollUtil.isNotEmpty(photoFeedbackList)){
|
for (ComActEasyPhotoFeedbackVO comActEasyPhotoFeedbackVO : photoFeedbackList) {
|
comActEasyPhotoFeedbackVO.setCreateByName(DesensitizedUtil.chineseName(comActEasyPhotoFeedbackVO.getCreateByName()));
|
}
|
}
|
comActEasyPhotoVO1.setPhotoFeedbackList(photoFeedbackList);
|
});
|
iPage.setRecords(records);
|
}
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 随手拍评论分页查询
|
*
|
* @param pageComActEasyPhotoCommentDTO
|
* 查询参数
|
* @return 查询结果
|
*/
|
@Override
|
public R pageComActEasyPhotoComment(PageComActEasyPhotoCommentDTO pageComActEasyPhotoCommentDTO) {
|
Page page = new Page<>();
|
Long pageNum = pageComActEasyPhotoCommentDTO.getPageNum();
|
Long pageSize = pageComActEasyPhotoCommentDTO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActEasyPhotoCommentVO> iPage =
|
comActEasyPhotoCommentDAO.pageComActEasyPhotoComment(page, pageComActEasyPhotoCommentDTO);
|
if (!iPage.getRecords().isEmpty()) {
|
for (ComActEasyPhotoCommentVO commentVO : iPage.getRecords()) {
|
if (StringUtils.isEmpty(commentVO.getName())) {
|
commentVO.setName(commentVO.getNickName());
|
}
|
}
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 随手拍评论分页查询 - 脱敏
|
*
|
* @param pageComActEasyPhotoCommentDTO
|
* 查询参数
|
* @return 查询结果
|
*/
|
@Override
|
public R pageComActEasyPhotoCommentDesensitize(PageComActEasyPhotoCommentDTO pageComActEasyPhotoCommentDTO) {
|
Page page = new Page<>();
|
Long pageNum = pageComActEasyPhotoCommentDTO.getPageNum();
|
Long pageSize = pageComActEasyPhotoCommentDTO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActEasyPhotoCommentVO> iPage =
|
comActEasyPhotoCommentDAO.pageComActEasyPhotoComment(page, pageComActEasyPhotoCommentDTO);
|
if (!iPage.getRecords().isEmpty()) {
|
for (ComActEasyPhotoCommentVO commentVO : iPage.getRecords()) {
|
commentVO.setNickName(DesensitizedUtil.chineseName(commentVO.getNickName()));
|
if (StringUtils.isEmpty(commentVO.getName())) {
|
commentVO.setName(commentVO.getNickName());
|
}
|
}
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 评论点赞/取消点赞
|
*
|
* @param comActEasyPhotoCommentUserDTO
|
* 操作
|
* @return 操作结果
|
*/
|
@Override
|
public R commentSign(ComActEasyPhotoCommentUserDTO comActEasyPhotoCommentUserDTO) {
|
Long id = comActEasyPhotoCommentUserDTO.getId();
|
if (null == id || 0 == id) {
|
return R.fail("主键不能为空");
|
}
|
ComActEasyPhotoCommentDO comActEasyPhotoCommentDO = comActEasyPhotoCommentDAO.selectById(id);
|
if (ObjectUtils.isEmpty(comActEasyPhotoCommentDO)) {
|
return R.fail("评论不存在");
|
}
|
Integer type = comActEasyPhotoCommentUserDTO.getType();
|
if (null == type || type.intValue() > 2 || type.intValue() == 0) {
|
return R.fail("操作类型错误");
|
}
|
Long userId = comActEasyPhotoCommentUserDTO.getUserId();
|
int num = 0;
|
if (type.intValue() == 1) {
|
ComActEasyPhotoCommentUserDO comActEasyPhotoCommentUserDO = new ComActEasyPhotoCommentUserDO();
|
comActEasyPhotoCommentUserDO.setUserId(userId);
|
comActEasyPhotoCommentUserDO.setEasyPhotoCommentId(id);
|
ComActEasyPhotoCommentUserDO actEasyPhotoCommentUserDO =
|
comActEasyPhotoCommentUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoCommentUserDO>().lambda()
|
.eq(ComActEasyPhotoCommentUserDO::getUserId, userId)
|
.eq(ComActEasyPhotoCommentUserDO::getEasyPhotoCommentId, id));
|
if (!ObjectUtils.isEmpty(actEasyPhotoCommentUserDO)) {
|
num = 1;
|
} else {
|
num = comActEasyPhotoCommentUserDAO.insert(comActEasyPhotoCommentUserDO);
|
}
|
} else {
|
num = comActEasyPhotoCommentUserDAO.delete(new QueryWrapper<ComActEasyPhotoCommentUserDO>().lambda()
|
.eq(ComActEasyPhotoCommentUserDO::getUserId, userId)
|
.eq(ComActEasyPhotoCommentUserDO::getEasyPhotoCommentId, id));
|
}
|
if (num > 0) {
|
return R.ok();
|
} else {
|
return R.fail();
|
}
|
|
}
|
|
/**
|
* 随手拍--评论--新增评论
|
*
|
* @param comActEasyPhotoCommentDTO
|
* 新增内容
|
* @return 新增结果
|
*/
|
@Override
|
public R addComActEasyPhotoComment(ComActEasyPhotoCommentDTO comActEasyPhotoCommentDTO) {
|
Long id = comActEasyPhotoCommentDTO.getId();
|
ComActEasyPhotoDO comActEasyPhotoDO = comActEasyPhotoDAO.selectById(id);
|
if (ObjectUtils.isEmpty(comActEasyPhotoDO)) {
|
return R.fail("随手拍不存在");
|
}
|
ComActEasyPhotoCommentDO comActEasyPhotoCommentDO = new ComActEasyPhotoCommentDO();
|
comActEasyPhotoCommentDO.setComment(comActEasyPhotoCommentDTO.getComment());
|
comActEasyPhotoCommentDO.setUserId(comActEasyPhotoCommentDTO.getUserId());
|
comActEasyPhotoCommentDO.setEasyPhotoId(id);
|
int insert = comActEasyPhotoCommentDAO.insert(comActEasyPhotoCommentDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 社区随手拍列表统计
|
*
|
* @param communityId
|
* 社区id
|
* @return 统计结果
|
*/
|
@Override
|
public R easyPhotoStatistics(Long communityId) {
|
return R.ok(this.baseMapper.getEasyPhotoStatistics(communityId));
|
}
|
|
/**
|
* 随手拍发放奖励
|
*
|
* @param grantRewardDTO
|
* 请求参数
|
* @return 发放结果
|
*/
|
@Override
|
public R grantReward(GrantRewardDTO grantRewardDTO) {
|
|
if (grantRewardDTO.getIds() == null) {
|
return R.fail("参数错误");
|
}
|
|
for (Long id : grantRewardDTO.getIds()) {
|
// 查询随手拍
|
ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(id);
|
if (easyPhotoDO != null) {
|
if (easyPhotoDO.getActivityAmount() != null) {
|
log.info("该随手拍已发放过奖励,不可重复发放,随手拍id" + easyPhotoDO.getId());
|
continue;
|
}
|
// 审核通过判断随手拍是否有活动并计算用户收益
|
comActUserWalletService.examineAddMoney(easyPhotoDO.getActivityType(), easyPhotoDO.getId(),
|
easyPhotoDO.getSponsorId(), grantRewardDTO.getAmount());
|
|
String activityType = "";
|
if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)) {
|
activityType = "优质";
|
} else if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)) {
|
activityType = "精良";
|
} else if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)) {
|
activityType = "普通";
|
} else if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)) {
|
activityType = "一般";
|
}
|
// 发放奖励以后给用户推送消息
|
Map<String, String> map = comActActSignDAO.getUserOpenId(easyPhotoDO.getSponsorId());
|
if (map != null) {
|
String openid = map.get("openid");
|
SysTemplateConfig sysTemplateConfig=sysTemplateConfigDao.selectOne(new QueryWrapper<SysTemplateConfig>().lambda().eq(SysTemplateConfig::getAreaCode, grantRewardDTO.getAreaCode()).eq(SysTemplateConfig::getType,7));
|
WxXCXTempSend util = new WxXCXTempSend();
|
try {
|
WxUtil.sendSubscribeJLDZ(openid, util.getAccessToken(), "随手拍有奖活动",
|
grantRewardDTO.getAmount(), activityType,sysTemplateConfig.getTemplateId());
|
} catch (Exception e) {
|
log.error("消息推送失败,失败原因:" + e.getMessage());
|
}
|
}
|
}
|
}
|
return R.ok();
|
}
|
|
/**
|
* 获取最新活动和用户最新收益
|
*
|
* @param userId
|
* 用户id
|
* @param communityId
|
* 社区id
|
* @return 最新活动和用户最新收益
|
*/
|
@Override
|
public R getUserReward(Long userId, Long communityId) {
|
// 结果返回参数
|
ComActEasyPhotoRewardVO easyPhotoRewardVO = new ComActEasyPhotoRewardVO();
|
// 查询随手拍活动
|
ComActEasyPhotoActivityVO photoActivityVO = new ComActEasyPhotoActivityVO();
|
Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format);
|
List<ComActEasyPhotoActivityDO> photoActivityDOS =
|
comActEasyPhotoActivityMapper.selectList(new QueryWrapper<ComActEasyPhotoActivityDO>().lambda()
|
.eq(ComActEasyPhotoActivityDO::getCommunityId, communityId)
|
.eq(ComActEasyPhotoActivityDO::getStatus, ComActEasyPhotoActivityDO.status.jxz)
|
.le(ComActEasyPhotoActivityDO::getActivityStartAt, nowDate)
|
.ge(ComActEasyPhotoActivityDO::getActivityEndAt, nowDate));
|
if (!photoActivityDOS.isEmpty()) {
|
ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0);
|
BeanUtils.copyProperties(photoActivityDO, photoActivityVO);
|
easyPhotoRewardVO.setEasyPhotoActivityVO(photoActivityVO);
|
}
|
|
if (userId != null && userId != 0L) {
|
// 查询用户未读奖励金额
|
BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId, communityId);
|
if (amount != null) {
|
easyPhotoRewardVO.setAmount(amount);
|
}
|
}
|
|
// 查询当前社区正在进行中的弹窗调查问卷
|
ComActQuestnaireDO popupQuestnaireDO = comActQuestnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>()
|
.lambda().le(ComActQuestnaireDO::getStartTime, nowDate).ge(ComActQuestnaireDO::getEndTime, nowDate)
|
.eq(ComActQuestnaireDO::getCommunityId, communityId).eq(ComActQuestnaireDO::getState, 2)
|
.eq(ComActQuestnaireDO::getAdverPositionPopup, ComActQuestnaireDO.isOk.yes));
|
if (popupQuestnaireDO != null) {
|
ComActQuestnaireAppVO popupQuestnaireVO = new ComActQuestnaireAppVO();
|
BeanUtils.copyProperties(popupQuestnaireDO, popupQuestnaireVO);
|
if (userId != null) {
|
if (popupQuestnaireDO.getIsForce().equals(ComActQuestnaireDO.isOk.no)) {
|
// 查询用户是否已点击不再提醒
|
Integer count = comActQuestnaireDAO.getNoRemindCount(userId, popupQuestnaireVO.getId());
|
if (count <= 0) {
|
popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
|
}
|
} else {
|
popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
|
}
|
}
|
easyPhotoRewardVO.setPopupQuestnaireVO(popupQuestnaireVO);
|
}
|
|
// 查询社区正在进行中的banner位置调查问卷列表
|
List<ComActQuestnaireAppVO> bannerQuestnaireList = comActQuestnaireDAO.getIndexTopQuestnaireList(communityId);
|
if (!bannerQuestnaireList.isEmpty()) {
|
easyPhotoRewardVO.setBannerQuestnaireList(bannerQuestnaireList);
|
}
|
|
//查询社区正在进行中的banner位置的社区活动
|
List<ComActActivityVO> comActActivityVOList = comActActivityDAO.getIndexTopActivityList(communityId);
|
if (!comActActivityVOList.isEmpty()) {
|
easyPhotoRewardVO.setBannerActivityList(comActActivityVOList);
|
}
|
|
// 查询社区正在进行中的应用位置调查问卷列表
|
List<ComActQuestnaireAppVO> applicationQuestnaireList =
|
comActQuestnaireDAO.getIndexApplicationQuestnaireList(communityId);
|
if (!applicationQuestnaireList.isEmpty()) {
|
easyPhotoRewardVO.setApplicationQuestnaireList(applicationQuestnaireList);
|
}
|
//查询社区正在进行中的banner预约/登记列表
|
List<ComActReserveIndexVo> comActReserveIndexVos=comActReserveMapper.indexBanner(communityId);
|
if(!comActReserveIndexVos.isEmpty()){
|
easyPhotoRewardVO.setComActReserveIndexBannerVos(comActReserveIndexVos);
|
}
|
//查询社区正在进行中的应用预约/登记列表
|
List<ComActReserveIndexVo> comActReserveIndexApplicationVos=comActReserveMapper.indexApplication(communityId);
|
if(!comActReserveIndexApplicationVos.isEmpty()){
|
comActReserveIndexApplicationVos.forEach(comActReserveIndexVo -> {
|
Integer count=comActReserveRecordMapper.selectCount(new QueryWrapper<ComActReserveRecordDO>().lambda().eq(ComActReserveRecordDO::getReserveId,comActReserveIndexVo.getId()).eq(ComActReserveRecordDO::getUserId,userId));
|
if(count>0){
|
comActReserveIndexVo.setIsCommit(1);
|
}
|
else {
|
comActReserveIndexVo.setIsCommit(2);
|
}
|
});
|
easyPhotoRewardVO.setComActReserveIndexApplicationVos(comActReserveIndexApplicationVos);
|
}
|
//查询banner
|
List<BannerVO> bannerVOS=this.comActEasyPhotoDAO.banner(communityId);
|
if(!bannerVOS.isEmpty()){
|
easyPhotoRewardVO.setBannerVOS(bannerVOS);
|
}
|
return R.ok(easyPhotoRewardVO);
|
}
|
|
/**
|
* 获取首页弹窗接口
|
*
|
* @param userId
|
* 用户id
|
* @param communityId
|
* 社区id
|
* @return 首页弹窗接口
|
*/
|
@Override
|
public R getUserRewards(Long userId, Long communityId) {
|
// 结果返回参数
|
ComActEasyPhotoRewardVO easyPhotoRewardVO = new ComActEasyPhotoRewardVO();
|
// 查询随手拍活动
|
ComActEasyPhotoActivityVO photoActivityVO = new ComActEasyPhotoActivityVO();
|
Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format);
|
List<ComActEasyPhotoActivityDO> photoActivityDOS =
|
comActEasyPhotoActivityMapper.selectList(new QueryWrapper<ComActEasyPhotoActivityDO>().lambda()
|
.eq(ComActEasyPhotoActivityDO::getCommunityId, communityId)
|
.eq(ComActEasyPhotoActivityDO::getStatus, ComActEasyPhotoActivityDO.status.jxz)
|
.le(ComActEasyPhotoActivityDO::getActivityStartAt, nowDate)
|
.ge(ComActEasyPhotoActivityDO::getActivityEndAt, nowDate));
|
if (!photoActivityDOS.isEmpty()) {
|
ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0);
|
BeanUtils.copyProperties(photoActivityDO, photoActivityVO);
|
easyPhotoRewardVO.setEasyPhotoActivityVO(photoActivityVO);
|
}
|
if (userId != null && userId != 0L) {
|
// 查询用户未读奖励金额
|
BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId, communityId);
|
if (amount != null) {
|
easyPhotoRewardVO.setAmount(amount);
|
}
|
}
|
// 查询当前社区正在进行中的弹窗调查问卷
|
ComActQuestnaireDO popupQuestnaireDO = comActQuestnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>()
|
.lambda().le(ComActQuestnaireDO::getStartTime, nowDate).ge(ComActQuestnaireDO::getEndTime, nowDate)
|
.eq(ComActQuestnaireDO::getCommunityId, communityId).eq(ComActQuestnaireDO::getState, 2)
|
.eq(ComActQuestnaireDO::getAdverPositionPopup, ComActQuestnaireDO.isOk.yes));
|
if (popupQuestnaireDO != null) {
|
ComActQuestnaireAppVO popupQuestnaireVO = new ComActQuestnaireAppVO();
|
BeanUtils.copyProperties(popupQuestnaireDO, popupQuestnaireVO);
|
if (userId != null) {
|
if (popupQuestnaireDO.getIsForce().equals(ComActQuestnaireDO.isOk.no)) {
|
// 查询用户是否已点击不再提醒
|
Integer count = comActQuestnaireDAO.getNoRemindCount(userId, popupQuestnaireVO.getId());
|
if (count <= 0) {
|
popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
|
}
|
} else {
|
popupQuestnaireVO.setIsDisplay(ComActQuestnaireDO.isOk.yes);
|
}
|
}
|
easyPhotoRewardVO.setPopupQuestnaireVO(popupQuestnaireVO);
|
}
|
return R.ok(easyPhotoRewardVO);
|
}
|
|
/**
|
* 读取用户随手拍奖励
|
*
|
* @param userId
|
* 用户id
|
* @return 读取结果
|
*/
|
@Override
|
public R readUserReward(Long userId, Long communityId) {
|
ComActEasyPhotoRewardDO easyPhotoRewardDO =
|
comActEasyPhotoRewardMapper.selectOne(new QueryWrapper<ComActEasyPhotoRewardDO>().lambda()
|
.eq(ComActEasyPhotoRewardDO::getUserId, userId).eq(ComActEasyPhotoRewardDO::getCommunityId, communityId)
|
.eq(ComActEasyPhotoRewardDO::getIsRead, ComActEasyPhotoRewardDO.isRead.no));
|
if (easyPhotoRewardDO != null) {
|
easyPhotoRewardDO.setIsRead(ComActEasyPhotoRewardDO.isRead.yes);
|
easyPhotoRewardDO.setUpdateAt(new Date());
|
comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO);
|
}
|
return R.ok();
|
}
|
|
@Override
|
public R easyPhotoCount(ComActEasyPhotoVO comActEasyPhotoVO) {
|
return R.ok(this.comActEasyPhotoDAO.easyPhotoCount(comActEasyPhotoVO));
|
}
|
|
@Override
|
public R updatePageeasyphoto(ComActEasyPhotoVO comActEasyPhotoVO) {
|
ComActEasyPhotoDO comActEasyPhotoDO = new ComActEasyPhotoDO();
|
BeanUtils.copyProperties(comActEasyPhotoVO, comActEasyPhotoDO);
|
int result = this.comActEasyPhotoDAO.updateById(comActEasyPhotoDO);
|
if (result > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
@Override
|
public R export(ExportEasyPhotoDTO exportEasyPhotoDTO) {
|
if (exportEasyPhotoDTO != null) {
|
List<ExportEasyPhotoVO> list;
|
if (!CollectionUtils.isEmpty(exportEasyPhotoDTO.getIds())) {
|
list = this.comActEasyPhotoDAO.exportByIds(exportEasyPhotoDTO.getIds());
|
} else {
|
list = this.comActEasyPhotoDAO.export(exportEasyPhotoDTO);
|
}
|
return R.ok(list);
|
}
|
return R.fail("参数错误");
|
}
|
|
/**
|
* 社区后台-切换随手拍公示状态
|
*
|
* @param comActEasyPhotoVO
|
* 请求参数
|
* @return 切换结果
|
*/
|
@Override
|
public R easyPhotoSwitchPublicity(ComActEasyPhotoVO comActEasyPhotoVO) {
|
// 查询随手拍
|
ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(comActEasyPhotoVO.getId());
|
if (easyPhotoDO == null) {
|
return R.fail("未查询到随手拍记录");
|
}
|
easyPhotoDO.setIsPublicity(comActEasyPhotoVO.getIsPublicity());
|
if (this.baseMapper.updateById(easyPhotoDO) > 0) {
|
return R.ok();
|
} else {
|
return R.fail();
|
}
|
}
|
|
/**
|
* 查询社区待处理随手拍id集合
|
*
|
* @param communityId
|
* 社区id
|
* @return 社区待处理随手拍id集合
|
*/
|
@Override
|
public R easyPhotoNoHandleList(Long communityId) {
|
return R.ok(this.baseMapper.easyPhotoNoHandleIds(communityId));
|
}
|
|
/**
|
* 获取人大代表反馈记录
|
* @param id 随手拍id
|
* @return
|
*/
|
@Override
|
public R getFeedbackList(Long id) {
|
return R.ok(comActEasyPhotoFeedbackMapper.getPhotoFeedbackListForDpc(id));
|
}
|
|
/**
|
* 人大代表反馈随手拍
|
* @param comActEasyPhotoVO
|
* @return
|
*/
|
@Override
|
public R addEasyPhotoFeedbackForDpc(ComActEasyPhotoVO comActEasyPhotoVO) {
|
Date nowDate = new Date();
|
// 操作类型 1审核通过 2驳回 3反馈 4完成随手拍
|
ComActEasyPhotoDO cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
|
if (cmActEasyPhotoDO == null) {
|
return R.fail("未查询到随手拍记录");
|
}
|
if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)) {
|
return R.fail("该随手拍不是进行中状态,不可进行反馈");
|
}
|
// 给随手拍新增反馈信息
|
ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
|
photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
|
photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
|
photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
|
photoFeedbackDO.setType(2);
|
photoFeedbackDO.setCreateAt(nowDate);
|
photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
|
int result = comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
|
if (result > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 获取社区置顶动态banner
|
* @param communityId
|
* */
|
@Override
|
public R getUserRewardNew(Long userId, Long communityId) {
|
ComActEasyPhotoRewardVO easyPhotoRewardVO=new ComActEasyPhotoRewardVO();
|
List<BannerVO> bannerVOS=this.comActEasyPhotoDAO.getBanner(communityId);
|
if(!bannerVOS.isEmpty()){
|
easyPhotoRewardVO.setBannerVOS(bannerVOS);
|
}
|
return R.ok(easyPhotoRewardVO);
|
}
|
|
@Override
|
public R selectStatisticsPhoto(){
|
//所有分组
|
List<StatisticsPhotoVO> statisticsPhotoVOS = this.baseMapper.selectPhotoAll();
|
int all = statisticsPhotoVOS.stream().mapToInt(StatisticsPhotoVO::getCountNum).sum();
|
for (StatisticsPhotoVO statisticsPhotoVO : statisticsPhotoVOS) {
|
if (0!=all){
|
BigDecimal countNum = new BigDecimal(statisticsPhotoVO.getCountNum());
|
BigDecimal allDecimal = new BigDecimal(all);
|
BigDecimal percent = countNum.divide(allDecimal,4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(100));
|
statisticsPhotoVO.setPercent(percent);
|
}
|
}
|
// Map<String, StatisticsPhotoVO> circleMap = statisticsPhotoVOS
|
// .stream()
|
// .collect(Collectors.toMap(StatisticsPhotoVO::getCountName, Function.identity()));
|
|
|
//按月份查询
|
List<StatisticsPhotoVO> statisticsPhotoVOS1 = this.baseMapper.selectPhotoByMonth();
|
//按类型分组求和
|
Map<String, IntSummaryStatistics> statusCollect = statisticsPhotoVOS1
|
.stream()
|
.collect(Collectors.groupingBy(StatisticsPhotoVO::getCountName,
|
Collectors.summarizingInt(StatisticsPhotoVO::getCountNum)));
|
|
for (StatisticsPhotoVO statisticsPhotoVO : statisticsPhotoVOS1) {
|
String countName = statisticsPhotoVO.getCountName();
|
if (statusCollect.containsKey(countName)){
|
IntSummaryStatistics intSummaryStatistics = statusCollect.get(countName);
|
long sum = intSummaryStatistics.getSum();
|
if (0L!=sum) {
|
BigDecimal countNum = new BigDecimal(statisticsPhotoVO.getCountNum());
|
BigDecimal sumDecimal = new BigDecimal(sum);
|
BigDecimal percent = countNum.divide(sumDecimal, 4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(100));
|
statisticsPhotoVO.setPercent(percent);
|
}
|
}
|
}
|
Map<String, Map<String, StatisticsPhotoVO>> chartMap = statisticsPhotoVOS1.stream().collect(Collectors.groupingBy(StatisticsPhotoVO::getStatisticsDate, Collectors.toMap(StatisticsPhotoVO::getCountName, Function.identity())));
|
|
|
|
|
// 状态 1待处理 2进行中 3已驳回 4待评价 5.已完成
|
String[] statusArr = {"待处理","进行中","已驳回","待评价","已完成"};
|
List<String> latest12Month = DateUtils.getLatest12Month(LocalDate.now(), 10);
|
for (String month : latest12Month) {
|
Map<String, StatisticsPhotoVO> map1;
|
if(chartMap.containsKey(month)){
|
map1 = chartMap.get(month);
|
}else {
|
map1 = new HashMap<>();
|
}
|
for (String status : statusArr) {
|
if (!map1.containsKey(status)){
|
StatisticsPhotoVO statisticsPhotoVO = new StatisticsPhotoVO();
|
statisticsPhotoVO.setCountNum(0);
|
statisticsPhotoVO.setStatisticsDate(month);
|
statisticsPhotoVO.setCountName(status);
|
statisticsPhotoVOS1.add(statisticsPhotoVO);
|
map1.put(status,statisticsPhotoVO);
|
}
|
}
|
chartMap.put(month,map1);
|
}
|
Map<String, List<StatisticsPhotoVO>> stringListMap = statisticsPhotoVOS1
|
.stream()
|
.sorted(Comparator.comparing(StatisticsPhotoVO::getStatisticsDate))
|
.collect(Collectors.groupingBy(StatisticsPhotoVO::getCountName));
|
|
|
Map<String,Object> retMap = new HashMap<>();
|
retMap.put("statisticsPhotoVOS",statisticsPhotoVOS);
|
retMap.put("monthMap",stringListMap);
|
|
return R.ok(retMap);
|
}
|
|
}
|