From cc1098fc00a50cb1591d182f04bc37066ff0a9e2 Mon Sep 17 00:00:00 2001 From: 罗元桥 <2376770955@qq.com> Date: 星期四, 05 八月 2021 15:12:39 +0800 Subject: [PATCH] Merge branch 'test' into 'master' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java | 214 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 195 insertions(+), 19 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 fc552b0..fc7ddf8 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 @@ -5,31 +5,27 @@ 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.dtos.partybuilding.ComPbServiceTeamDTO; -import com.panzhihua.common.model.dtos.partybuilding.PageComPbServiceTeamDTO; import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.model.vos.community.ComActEasyPhotoCommentVO; -import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; -import com.panzhihua.common.model.vos.community.TodoEventsVO; -import com.panzhihua.service_community.dao.ComActEasyPhotoCommentDAO; -import com.panzhihua.service_community.dao.ComActEasyPhotoCommentUserDAO; -import com.panzhihua.service_community.dao.ComActEasyPhotoDAO; -import com.panzhihua.service_community.dao.ComActEasyPhotoUserDAO; -import com.panzhihua.service_community.model.dos.ComActEasyPhotoCommentDO; -import com.panzhihua.service_community.model.dos.ComActEasyPhotoCommentUserDO; -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.*; +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; +import java.util.Map; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -37,6 +33,7 @@ * @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 @@ -47,6 +44,14 @@ private ComActEasyPhotoCommentDAO comActEasyPhotoCommentDAO ; @Resource private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO ; + @Resource + private ComActEasyPhotoActivityMapper comActEasyPhotoActivityMapper; + @Resource + private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper; + @Resource + private ComActUserWalletService comActUserWalletService; + @Resource + private ComActActSignDAO comActActSignDAO; /** * 分页查询随手拍 * @@ -78,6 +83,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); } @@ -94,7 +118,8 @@ @Override public R detailEasyPhoto(Long id, Long userId) { ComActEasyPhotoVO comActEasyPhotoVO=comActEasyPhotoDAO.detailEasyPhoto(id); - if (ObjectUtils.isEmpty(comActEasyPhotoVO)||null==comActEasyPhotoVO.getStatus()) { + 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)); @@ -103,7 +128,26 @@ } else { comActEasyPhotoVO.setHaveGiveThumbsUp(1); } - List<ComActEasyPhotoCommentVO> comActEasyPhotoCommentVOList=new ArrayList<>(); + + 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); } @@ -117,6 +161,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(); @@ -172,25 +228,41 @@ // 操作类型 1审核通过 2驳回 3反馈 ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO(); cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId()); - cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId()); +// cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType()); Date date = new Date(); switch (type){ case 1: - int isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack().intValue(); + 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.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(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);//已完成 @@ -245,8 +317,9 @@ Long id = comActEasyPhotoVO1.getId(); Integer status = comActEasyPhotoVO1.getStatus(); Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt(); - ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId)); - if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) { + 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); @@ -280,6 +353,13 @@ 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); } @@ -350,7 +430,103 @@ 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()); + + //发放奖励以后给用户推送消息 + Map<String,String> map = comActActSignDAO.getUserOpenId(easyPhotoDO.getSponsorId()); + if(map != null){ + String openid = map.get("openid"); + WxXCXTempSend util = new WxXCXTempSend(); + try { + WxUtil.sendSubscribeJLDZ(openid,util.getAppAccessToken(),easyPhotoDO.getDetail(),grantRewardDTO.getAmount(),"发放随手拍奖励"); + }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); + } + + //查询用户未读奖励金额 + 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