From db9d95db6f25f95cbc614525adef7dbdeae6478c Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期二, 27 七月 2021 16:58:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into txb
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java | 353 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 343 insertions(+), 10 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
index d6101b3..041110a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -4,18 +4,27 @@
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.GrantRewardDTO;
+import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO;
+import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
-import com.panzhihua.service_community.dao.ComActEasyPhotoDAO;
-import com.panzhihua.service_community.dao.ComActEasyPhotoUserDAO;
-import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO;
-import com.panzhihua.service_community.model.dos.ComActEasyPhotoUserDO;
+import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.utlis.DateUtils;
+import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.StringUtils;
+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;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,12 +34,23 @@
* @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;
/**
* 分页查询随手拍
*
@@ -62,6 +82,25 @@
}else {
comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
}
+ comActEasyPhotoVO1.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO1.getPhone()));
+
+ if(comActEasyPhotoVO1.getActivityId() != null && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)){
+ //查询随手拍活动
+ 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());
+ }
+ }
+ }
+ }
});
iPage.setRecords(records);
}
@@ -78,7 +117,8 @@
@Override
public R detailEasyPhoto(Long id, Long userId) {
ComActEasyPhotoVO comActEasyPhotoVO=comActEasyPhotoDAO.detailEasyPhoto(id);
- if (ObjectUtils.isEmpty(comActEasyPhotoVO)) {
+ Integer status = comActEasyPhotoVO.getStatus();
+ if (ObjectUtils.isEmpty(comActEasyPhotoVO)||null== status) {
return R.fail("随手拍不存在");
}
ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
@@ -86,6 +126,26 @@
comActEasyPhotoVO.setHaveGiveThumbsUp(0);
} else {
comActEasyPhotoVO.setHaveGiveThumbsUp(1);
+ }
+
+ if (status.intValue()==4) {
+ Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
+ if (null==feedbackAt) {
+ comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
+ }
+ }
+ 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);
+ }
}
return R.ok(comActEasyPhotoVO);
}
@@ -100,6 +160,18 @@
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) {
return R.ok();
@@ -155,25 +227,45 @@
// 操作类型 1审核通过 2驳回 3反馈
ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO();
cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId());
- int isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack().intValue();
+// cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
+ Date date = new Date();
switch (type){
case 1:
+ cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
+ if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
+ return R.fail("该随手拍已审核,不可重复操作");
+ }
+ Integer isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack();
if (isNeedFeedBack==1) {
cmActEasyPhotoDO.setStatus(2);//进行中
+ cmActEasyPhotoDO.setIsNeedFeedBack(1);
}else{
cmActEasyPhotoDO.setStatus(4);//已完成
}
- cmActEasyPhotoDO.setExamineAt(new Date());
+ cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
+ cmActEasyPhotoDO.setExamineAt(date);
+ cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
break;
case 2:
+ cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
+ if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
+ return R.fail("该随手拍已审核,不可重复操作");
+ }
+ cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
cmActEasyPhotoDO.setStatus(3);//已驳回
- cmActEasyPhotoDO.setExamineAt(new Date());
+ cmActEasyPhotoDO.setExamineAt(date);
+ cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
break;
case 3:
+ cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
+ if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)){
+ return R.fail("该随手拍不是待反馈状态,不可进行反馈");
+ }
+ cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult());
cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList());
cmActEasyPhotoDO.setStatus(4);//已完成
- cmActEasyPhotoDO.setFeedbackAt(new Date());
+ cmActEasyPhotoDO.setFeedbackAt(date);
break;
default:break;
}
@@ -183,4 +275,245 @@
}
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 (!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 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 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());
+ }
+ }
+ 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);
+ }
+
+ //查询用户未读奖励金额
+ BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId,communityId);
+ if(amount != null){
+ easyPhotoRewardVO.setAmount(amount);
+ }
+ 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();
+ }
+
+
}
--
Gitblit v1.7.1