From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java | 307 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 240 insertions(+), 67 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 fc7ddf8..330098f 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 @@ -8,8 +8,10 @@ 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.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.*; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; @@ -18,6 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; @@ -52,6 +55,10 @@ private ComActUserWalletService comActUserWalletService; @Resource private ComActActSignDAO comActActSignDAO; + @Resource + private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper; + @Resource + private ComActQuestnaireDAO comActQuestnaireDAO; /** * 分页查询随手拍 * @@ -72,7 +79,7 @@ } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhoto(page, comActEasyPhotoVO); + IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoAdmin(page, comActEasyPhotoVO); List<ComActEasyPhotoVO> records = iPage.getRecords(); if (!ObjectUtils.isEmpty(records)) { records.forEach(comActEasyPhotoVO1 -> { @@ -83,7 +90,6 @@ }else { comActEasyPhotoVO1.setHaveGiveThumbsUp(1); } - comActEasyPhotoVO1.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO1.getPhone())); if(comActEasyPhotoVO1.getActivityId() != null && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)){ //查询随手拍活动 @@ -98,6 +104,8 @@ 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); } } } @@ -122,20 +130,29 @@ 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 (status.intValue()==4) { - Date feedbackAt = comActEasyPhotoVO.getFeedbackAt(); - if (null==feedbackAt) { - comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt()); + 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.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone())); + +// 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(""); } @@ -225,53 +242,99 @@ @Override public R putEasypHotoStatus(ComActEasyPhotoVO comActEasyPhotoVO) { Integer type = comActEasyPhotoVO.getType(); -// 操作类型 1审核通过 2驳回 3反馈 - ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO(); - cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId()); -// cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType()); - Date date = new Date(); + 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: - cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId()); if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){ - return R.fail("该随手拍已审核,不可重复操作"); + return R.fail("该随手拍已处理,不可重复操作"); } - Integer isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack(); - if (isNeedFeedBack==1) { - cmActEasyPhotoDO.setStatus(2);//进行中 - cmActEasyPhotoDO.setIsNeedFeedBack(1); + 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.setStatus(4);//已完成 + cmActEasyPhotoDO.setIsReportUrban(ComActEasyPhotoVO.isReportUrban.no); + cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getHandlerId()); } - cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId()); - cmActEasyPhotoDO.setExamineAt(date); + 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); 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()); +// 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: - cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId()); if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)){ - return R.fail("该随手拍不是待反馈状态,不可进行反馈"); + return R.fail("该随手拍不是进行中状态,不可进行反馈"); } - cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId()); - cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult()); - cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList()); - cmActEasyPhotoDO.setStatus(4);//已完成 - cmActEasyPhotoDO.setFeedbackAt(date); + //给随手拍新增反馈信息 + 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.ywc)){ + 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.ywc); + cmActEasyPhotoDO.setCompleteId(comActEasyPhotoVO.getUserId()); break; default:break; } - int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO); - if (update>0) { + if(!type.equals(3)){ + int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO); + if (update>0) { + return R.ok(); + } + }else{ return R.ok(); } return R.fail(); @@ -312,23 +375,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); } @@ -463,13 +528,23 @@ //审核通过判断随手拍是否有活动并计算用户收益 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(),easyPhotoDO.getDetail(),grantRewardDTO.getAmount(),"发放随手拍奖励"); + WxUtil.sendSubscribeJLDZ(openid,util.getAppAccessToken(),"随手拍有奖活动",grantRewardDTO.getAmount(),activityType); }catch (Exception e){ log.error("消息推送失败,失败原因:" + e.getMessage()); } @@ -502,11 +577,48 @@ easyPhotoRewardVO.setEasyPhotoActivityVO(photoActivityVO); } - //查询用户未读奖励金额 - BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId,communityId); - if(amount != null){ - easyPhotoRewardVO.setAmount(amount); + 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); + } + + //查询社区正在进行中的应用位置调查问卷列表 + List<ComActQuestnaireAppVO> applicationQuestnaireList = comActQuestnaireDAO.getIndexApplicationQuestnaireList(communityId); + if(!applicationQuestnaireList.isEmpty()){ + easyPhotoRewardVO.setApplicationQuestnaireList(applicationQuestnaireList); + } + return R.ok(easyPhotoRewardVO); } @@ -528,5 +640,66 @@ 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)); + } + } -- Gitblit v1.7.1