张天森
2022-10-12 3c884ccd7b51edf3b36840bf99de5edaa41a38a7
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java
@@ -1,5 +1,22 @@
package com.panzhihua.service_community.service.impl;
import java.util.List;
import javax.annotation.Resource;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.service_community.dao.ComEventMapper;
import com.panzhihua.service_community.entity.ComEvent;
import com.panzhihua.service_community.util.MyAESUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -15,14 +32,6 @@
import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComStreetDO;
import com.panzhihua.service_community.service.ComStreetService;
import org.springframework.beans.BeanUtils;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * @author: llming
@@ -36,17 +45,22 @@
    @Resource
    private ComStreetDAO comStreetDAO;
    @Resource
    private UserService userService;
    @Resource
    private ComEventMapper comEventMapper;
    /**
     * 新增社区
     *
     * @param comStreetVO 街道信息
     * @param comStreetVO
     *            街道信息
     * @return 新增结果
     */
    @Override
    public R addStreet(ComStreetVO comStreetVO) {
        String password = comStreetVO.getPassword();
        String encode = new BCryptPasswordEncoder().encode(password);
        comStreetVO.setPassword(encode);
    @Transactional
    public R<ComStreetVO> addStreet(ComStreetVO comStreetVO) {
        ComStreetDO comStreetDO = new ComStreetDO();
        LambdaQueryWrapper<ComStreetDO> param = new QueryWrapper<ComStreetDO>().lambda();
        param.eq(ComStreetDO::getName, comStreetVO.getName());
@@ -55,23 +69,39 @@
        param.eq(ComStreetDO::getAreaCode, comStreetVO.getAreaCode());
        Integer integer = comStreetDAO.selectCount(param);
        if (integer > 0) {
            return R.fail("街道已经存在");
            return R.fail(500, "街道已经存在");
        }
        BeanUtils.copyProperties(comStreetVO, comStreetDO);
        int insert = comStreetDAO.insert(comStreetDO);
        if (insert > 0) {
            ComStreetDO comStreetDO1 = comStreetDAO.selectOne(param);
            BeanUtils.copyProperties(comStreetDO1, comStreetVO);
            return R.ok(comStreetVO);
        AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
        administratorsUserVO.setType(3);
        administratorsUserVO.setAccount(comStreetVO.getAccount());
        administratorsUserVO.setPassword(comStreetVO.getPassword());
        administratorsUserVO.setSocialType(1);
        administratorsUserVO.setRoleId(777777777L);
        administratorsUserVO.setStreetId(0L);
        administratorsUserVO.setName(comStreetVO.getName());
        R r=userService.addUserBackstageProperty(administratorsUserVO);
        if(R.isOk(r)){
            BeanUtils.copyProperties(comStreetVO, comStreetDO);
            int insert = comStreetDAO.insert(comStreetDO);
            if (insert > 0) {
                AdministratorsUserVO administratorsUserVO1=new AdministratorsUserVO();
                administratorsUserVO1.setUserId(Long.parseLong(r.getData().toString()));
                administratorsUserVO1.setStreetId(comStreetDO.getStreetId());
                userService.updateStreet(administratorsUserVO1);
                ComStreetDO comStreetDO1 = comStreetDAO.selectOne(param);
                BeanUtils.copyProperties(comStreetDO1, comStreetVO);
                return R.ok(comStreetVO);
            }
            return R.fail(500, "");
        }
        return R.fail();
        return R.fail("账号已存在");
    }
    /**
     * 查询街道
     *
     * @param comStreetVO 街道名
     * @param comStreetVO
     *            街道名
     * @return 社区集合
     */
    @Override
@@ -99,7 +129,8 @@
    /**
     * 社区详情
     *
     * @param streetId 街道id
     * @param streetId
     *            街道id
     * @return 社区详情
     */
    @Override
@@ -108,16 +139,17 @@
        if (ObjectUtils.isEmpty(comStreetDO)) {
            return R.fail();
        }
        ComActVO comActVO = new ComActVO();
        BeanUtils.copyProperties(comStreetDO, comActVO);
        comActVO.setAreaName(comActDAO.selectAreaName(comActVO.getAreaCode()));
        return R.ok(comActVO);
        ComStreetVO comStreetVO = new ComStreetVO();
        BeanUtils.copyProperties(comStreetDO, comStreetVO);
        comStreetVO.setAdministrativeRegions(comStreetDAO.retrieveRegions(comStreetVO.getAreaCode().toString()));
        return R.ok(comStreetVO);
    }
    /**
     * 分页查询社区
     *
     * @param pageComStreetDTO 查询参数
     * @param pageComStreetDTO
     *            查询参数
     * @return 分页集合
     */
    @Override
@@ -126,10 +158,10 @@
        Long pageNum = pageComStreetDTO.getPageNum();
        Long pageSize = pageComStreetDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
            pageNum = 1L;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
            pageSize = 10L;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
@@ -137,22 +169,27 @@
        if (pageComStreetDTO.getName() != null) {
            userLambdaQueryWrapper.like(ComStreetDO::getName, pageComStreetDTO.getName());
        }
        if (pageComStreetDTO.getAreaCode() != null) {
            userLambdaQueryWrapper.like(ComStreetDO::getAreaCode, pageComStreetDTO.getAreaCode());
        }
        Page userPage = new Page(pageNum, pageSize);
        IPage<ComStreetDO> doPager = comStreetDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComStreetDO::getCreateAt));
        IPage<ComStreetDO> doPager =
            comStreetDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComStreetDO::getCreateAt));
        return R.ok(doPager);
    }
    /**
     * 批量删除街道
     *
     * @param streetIds 社区id
     * @param streetIds
     *            社区id
     * @return 删除结果
     */
    @Override
    public R delectStreat(List<Long> streetIds) {
        //不能删除,已经绑定了社区的街道
        LambdaQueryWrapper<ComActDO> comActDOParam = new QueryWrapper<ComActDO>().lambda().in(ComActDO::getStreetId, streetIds);
        // 不能删除,已经绑定了社区的街道
        LambdaQueryWrapper<ComActDO> comActDOParam =
            new QueryWrapper<ComActDO>().lambda().in(ComActDO::getStreetId, streetIds);
        List<ComActDO> comActDOS = comActDAO.selectList(comActDOParam);
        if (comActDOS != null && comActDOS.size() > 0) {
            return R.fail("删除失败,批量删除街道中,街道下有社区无法删除!");
@@ -165,4 +202,65 @@
    }
    /**
     * 修改街道信息
     * @param comStreetVO 街道信息
     * */
    @Override
    public R update(ComStreetVO comStreetVO) {
        ComStreetDO comStreetDO=new ComStreetDO();
        BeanUtils.copyProperties(comStreetVO,comStreetDO );
        return R.ok(comStreetDAO.updateById(comStreetDO));
    }
    /**
     * 删除街道
     * */
    @Override
    public R remove(Long id) {
        //是否有未结事件
        List<Long> longs = comActDAO.selectCommunityByStreetId(id);
        List<ComEvent> comEvents = comEventMapper.selectList(new QueryWrapper<ComEvent>().lambda().in(ComEvent::getEventProcessStatus, (4), (6), (7), (8)).in(ComEvent::getRequestUserCommunity, longs));
        if (comEvents.size()!=0){
            return R.fail("有未结事件不可删除");
        }
        comStreetDAO.deleteById(id);
        return R.ok();
    }
    @Override
    public R removeCommunity(Long id) {
        //是否有未结案件
        List<ComEvent> comEvents = comEventMapper.selectList(new QueryWrapper<ComEvent>().lambda().in(ComEvent::getEventProcessStatus, (4), (6), (7), (8)).eq(ComEvent::getRequestUserCommunity, id));
        if (comEvents.size()!=0){
            return R.fail("有未结事件不可删除");
        }
        comActDAO.deleteById(id);
        return R.ok();
    }
    @Override
    public R repassCommunity(ComActVO comActVO) {
        ComActDO comActDO=new ComActDO();
        try {
            comActDO.setPassword(MyAESUtil.Encrypt(comActVO.getPassword(),"Ryo7M3n8loC5Abcd" ));
        } catch (Exception e) {
            e.printStackTrace();
        }
        comActDO.setCommunityId(comActVO.getCommunityId());
        return R.ok(comActDAO.updateById(comActDO));
    }
    @Override
    public R repssStreet(ComStreetVO comActVO) {
        ComStreetDO comStreetDO=new ComStreetDO();
        try {
            comStreetDO.setPassword(MyAESUtil.Encrypt(comActVO.getPassword(),"Ryo7M3n8loC5Abcd" ));
        } catch (Exception e) {
            e.printStackTrace();
        }
        comStreetDO.setStreetId(comActVO.getStreetId());
        return R.ok(comStreetDAO.updateById(comStreetDO));
    }
}