lidongdong
2024-09-24 869a44bf1f3f13c669dfc01b28fe8be798d46a73
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -637,35 +637,116 @@
     */
    @PostMapping("adddynamic")
    public R addDynamic(@RequestBody ComActDynVO comActDynVO) {
        ComActDynDO comActDynDO = new ComActDynDO();
        BeanUtils.copyProperties(comActDynVO, comActDynDO);
        boolean save = comActDynService.save(comActDynDO);
        if (save) {
            if(comActDynVO.getCategory()!=null&&comActDynVO.getCategory()==4){
                comActDynVO.setId(comActDynDO.getId());
                rabbitTemplate.convertAndSend("huacheng.acid.message.exchange", "huacheng.acid.message.key", comActDynVO);
            }
            // 最多只能设置三条置顶状态,后边设置会取消先前设置的置顶
            Integer isTopping = comActDynVO.getIsTopping();
            boolean b = isTopping.intValue() == 1;
            if (b) {
                List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda()
                    .eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, comActDynVO.getCommunityId()));
                if (!ObjectUtils.isEmpty(list)) {
                    int size = list.size();
                    if (size == 4) {
                        List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt))
                            .collect(toList());
                        ComActDynDO comActDynDO1 = collect.get(0);
                        comActDynDO1.setIsTopping(0);
                        boolean update = comActDynService.updateById(comActDynDO1);
                        if (!update) {
                            return R.fail("修改置顶状态失败");
        if(comActDynVO==null)
        {
            return R.fail("参数不能为空");
        }
        if(comActDynVO.getCommunityList()!=null && comActDynVO.getCommunityList().size()>0 )
        {
            for(String communityId:comActDynVO.getCommunityList())
            {
                ComActDynDO comActDynDO = new ComActDynDO();
                BeanUtils.copyProperties(comActDynVO, comActDynDO);
                comActDynDO.setCommunityId(communityId);
                switch (comActDynVO.getType())
                {
                    //74
                    case "党务公开":
                        comActDynVO.setType("74");
                        break;
                    //75
                    case "服务公开":
                        comActDynVO.setType("75");
                        break;
                    //77
                    case "财务公开":
                        comActDynVO.setType("77");
                        break;
                    case "项目公开":
                        comActDynVO.setType("1559820224499318786");
                        break;
                    //
                    case "资金公开":
                    case "资产公开":
                    case "资源公开":
                    case "村集体经济组织项目":
                        comActDynVO.setType(comActDynService.getTypeId(communityId,comActDynVO.getType()));
                        break;
                }
                if(StringUtils.isEmpty(comActDynVO.getType()))
                {
                    return R.fail("分类选择错误");
                }
                boolean save = comActDynService.save(comActDynDO);
                if (save) {
                    if(comActDynVO.getCategory()!=null&&comActDynVO.getCategory()==4){
                        comActDynVO.setId(comActDynDO.getId());
                        comActDynVO.setCommunityId(communityId);
                        rabbitTemplate.convertAndSend("huacheng.acid.message.exchange", "huacheng.acid.message.key", comActDynVO);
                    }
                    // 最多只能设置三条置顶状态,后边设置会取消先前设置的置顶
                    Integer isTopping = comActDynVO.getIsTopping();
                    boolean b = isTopping.intValue() == 1;
                    if (b) {
                        List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda()
                                .eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, communityId));
                        if (!ObjectUtils.isEmpty(list)) {
                            int size = list.size();
                            if (size == 4) {
                                List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt))
                                        .collect(toList());
                                ComActDynDO comActDynDO1 = collect.get(0);
                                comActDynDO1.setIsTopping(0);
                                boolean update = comActDynService.updateById(comActDynDO1);
                                if (!update) {
                                    return R.fail("修改置顶状态失败");
                                }
                            }
                        }
                    }
                }
            }
            return R.ok();
//            ComActDynDO comActDynDO = new ComActDynDO();
//            BeanUtils.copyProperties(comActDynVO, comActDynDO);
//
//            boolean save = comActDynService.save(comActDynDO);
//            if (save) {
//                if(comActDynVO.getCategory()!=null&&comActDynVO.getCategory()==4){
//                    comActDynVO.setId(comActDynDO.getId());
//                    rabbitTemplate.convertAndSend("huacheng.acid.message.exchange", "huacheng.acid.message.key", comActDynVO);
//                }
//                // 最多只能设置三条置顶状态,后边设置会取消先前设置的置顶
//                Integer isTopping = comActDynVO.getIsTopping();
//                boolean b = isTopping.intValue() == 1;
//                if (b) {
//                    List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda()
//                            .eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, comActDynVO.getCommunityId()));
//                    if (!ObjectUtils.isEmpty(list)) {
//                        int size = list.size();
//                        if (size == 4) {
//                            List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt))
//                                    .collect(toList());
//                            ComActDynDO comActDynDO1 = collect.get(0);
//                            comActDynDO1.setIsTopping(0);
//                            boolean update = comActDynService.updateById(comActDynDO1);
//                            if (!update) {
//                                return R.fail("修改置顶状态失败");
//                            }
//                        }
//                    }
//                }
//                return R.ok();
//            }
        }
        return R.fail();
    }