| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 随手拍详情 |
| | | * |
| | |
| | | // } |
| | | |
| | | // 查询反馈信息 |
| | | List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id); |
| | | List<ComActEasyPhotoFeedbackVO> photoFeedbackList = |
| | | comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id); |
| | | if (!photoFeedbackList.isEmpty()) { |
| | | comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList); |
| | | } |
| | |
| | | } |
| | | int insert = comActEasyPhotoDAO.insert(comActEasyPhotoDO); |
| | | if (insert > 0) { |
| | | return R.ok(); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("id",comActEasyPhotoDO.getId()); |
| | | return R.ok(jsonObject); |
| | | } |
| | | return R.fail(); |
| | | } |
| | |
| | | case 1: |
| | | if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)) { |
| | | return R.fail("该随手拍已处理,不可重复操作"); |
| | | // return R.ok(); |
| | | } |
| | | cmActEasyPhotoDO.setStatus(2);// 进行中 |
| | | cmActEasyPhotoDO.setIsNeedFeedBack(1); |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |