From 8a6375edade9f1edc194a0381369fe94e56c13c7 Mon Sep 17 00:00:00 2001 From: tangxiaobao <303826152@qq.com> Date: 星期五, 13 八月 2021 13:16:36 +0800 Subject: [PATCH] Merge branch 'txb' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java | 226 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 195 insertions(+), 31 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 f325c99..a98908f 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,26 +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.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.common.utlis.DateUtils; -import com.panzhihua.common.utlis.SensitiveUtil; -import com.panzhihua.common.utlis.StringUtils; +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 @@ -32,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 @@ -44,6 +46,12 @@ private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO ; @Resource private ComActEasyPhotoActivityMapper comActEasyPhotoActivityMapper; + @Resource + private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper; + @Resource + private ComActUserWalletService comActUserWalletService; + @Resource + private ComActActSignDAO comActActSignDAO; /** * 分页查询随手拍 * @@ -76,6 +84,24 @@ 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); } @@ -96,11 +122,13 @@ 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)); - if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) { - comActEasyPhotoVO.setHaveGiveThumbsUp(0); - } else { - comActEasyPhotoVO.setHaveGiveThumbsUp(1); + 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.intValue()==4) { @@ -112,6 +140,15 @@ 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); } @@ -130,10 +167,13 @@ 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)); + .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) { @@ -190,25 +230,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);//已完成 @@ -258,23 +314,25 @@ 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); + 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); } @@ -376,7 +434,113 @@ 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"); + WxXCXTempSend util = new WxXCXTempSend(); + try { + WxUtil.sendSubscribeJLDZ(openid,util.getAppAccessToken(),"随手拍有奖活动",grantRewardDTO.getAmount(),activityType); + }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