huanghongfa
2021-07-02 ffcd3e31c9938eb256d616c80edbe1821e9fb2bf
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
@@ -6,7 +6,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.community.ExportSpecialUserDTO;
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO;
import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
import com.panzhihua.common.model.dtos.user.InputUserTagsDTO;
import com.panzhihua.common.model.dtos.user.PageInputUserDTO;
@@ -16,12 +18,16 @@
import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
import com.panzhihua.common.model.vos.user.ComMngTagVO;
import com.panzhihua.common.model.vos.user.CommunityUserInfoVO;
import com.panzhihua.common.model.vos.user.InputUserInfoVO;
import com.panzhihua.common.utlis.IdCard;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_user.dao.ComMngUserTagDAO;
import com.panzhihua.service_user.dao.SysUserInputDAO;
import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO;
import com.panzhihua.service_user.model.dos.ComMngUserTagDO;
import com.panzhihua.service_user.model.dos.SysUserDO;
import com.panzhihua.service_user.model.dos.SysUserInputDO;
import com.panzhihua.service_user.service.SysUserInputService;
@@ -34,6 +40,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -49,6 +56,8 @@
    private SysUserInputDAO sysUserInputDAO;
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Resource
    private ComMngUserTagDAO comMngUserTagDAO;
    /**
     * 批量导入居民用户
     * @param list 居民用户集合
@@ -82,12 +91,13 @@
                if(count==0){
                    SysUserInputDO sysUserInputDO=new SysUserInputDO();
                    String doorNumber = eexcelUserDTO.getDoorNumber();
                    List<ComMngStructHouseVO> collect = comMngStructHouseVOS1.stream().filter(comMngStructHouseVO -> comMngStructHouseVO.getHouseName().equals(doorNumber)).collect(Collectors.toList());
                    if (ObjectUtils.isEmpty(collect)) {
                        throw new ServiceException("门牌号后台不存在或格式错误,错误门牌号为"+doorNumber);
                    }else{
                        sysUserInputDO.setHouseCode(collect.get(0).getHouseCode());
                    }
                    //暂时注释门牌号匹配设置房屋编号功能
//                    List<ComMngStructHouseVO> collect = comMngStructHouseVOS1.stream().filter(comMngStructHouseVO -> comMngStructHouseVO.getHouseName().equals(doorNumber)).collect(Collectors.toList());
//                    if (ObjectUtils.isEmpty(collect)) {
//                        throw new ServiceException("门牌号后台不存在或格式错误,错误门牌号为"+doorNumber);
//                    }else{
//                        sysUserInputDO.setHouseCode(collect.get(0).getHouseCode());
//                    }
                    sysUserInputDO.setAreaId(comMngStructAreaVO.getId());
                    sysUserInputDO.setCommunityId(comMngStructAreaVO.getCommunityId());
                    sysUserInputDO.setCompany(eexcelUserDTO.getCompany());
@@ -205,6 +215,9 @@
        iPage.getRecords().forEach(record->{
            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
            if(!StringUtils.isEmpty(record.getTags()) && record.getTags().endsWith(",")){
                record.setTags(record.getTags().substring(0,record.getTags().length()-1));
            }
        });
        return R.ok(iPage);
    }
@@ -214,22 +227,28 @@
        SysUserInputDO userInputDO=new SysUserInputDO();
        userInputDO.setId(inputUserTagsDTO.getId());
        userInputDO.setTags(inputUserTagsDTO.getTags());
        List<SysUserInputDO> all = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard,userInputDO.getIdCard()));
        List<SysUserInputDO> all = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getId,userInputDO.getId()));
        all.forEach(d->{
            d.setTags(inputUserTagsDTO.getTags());
            if(!StringUtils.isEmpty(d.getTags())){
                d.setTags(d.getTags()+","+inputUserTagsDTO.getTags());
            }else{
                d.setTags(inputUserTagsDTO.getTags());
            }
            sysUserInputDAO.updateById(userInputDO);
        });
        return R.ok();
    }
    @Override
    public R export(ExportUserDTO exportUserDTO) {
        return null;
    public R exportInputUser(ExportUserDTO exportUserDTO) {
        List<EexcelUserDTO> eexcelUserDTOS=sysUserInputDAO.selectExport(exportUserDTO);
        return R.ok(eexcelUserDTOS);
    }
    @Override
    public InputUserInfoVO inputUserDetail(Long id) {
    public R inputUserDetail(Long id) {
        InputUserInfoVO inputUserInfoVO = new InputUserInfoVO();
        SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id);
        if (!org.springframework.util.ObjectUtils.isEmpty(sysUserInputDO)) {
@@ -278,6 +297,121 @@
            List<ComMngStructHouseVO> comMngStructHouseVOS = sysUserInputDAO.selectUserHouseList(inputUserInfoVO.getIdCard());
            inputUserInfoVO.setComMngStructHouseVOS(comMngStructHouseVOS);
        }
        return inputUserInfoVO;
        return R.ok(inputUserInfoVO);
    }
    @Override
    public R specialInputUser(PageInputUserDTO pageInputUserDTO) {
        Page page = new Page<>();
        Long pageNum = pageInputUserDTO.getPageNum();
        Long pageSize = pageInputUserDTO.getPageSize();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<InputUserInfoVO> iPage = sysUserInputDAO.specialInputUser(page, pageInputUserDTO);
        iPage.getRecords().forEach(record->{
            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
        });
        return R.ok(iPage);
    }
    @Override
    public R specialInputUserTags(ComMngUserTagDTO comMngUserTagDTO) {
        Page page = new Page<>();
        Long pageNum = comMngUserTagDTO.getPageNum();
        Long pageSize = comMngUserTagDTO.getPageSize();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComMngTagVO> iPage = comMngUserTagDAO.pageSpecialInputUserTags(page, comMngUserTagDTO);
        return R.ok(iPage);
    }
    @Override
    public R saveSpecialInputUserTags(ComMngTagVO comMngTagVO) {
        if(null!=comMngTagVO.getId()&&comMngTagVO.getId()!=0){
            ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(comMngTagVO.getId());
            if(null==comMngUserTagDO){
                return R.fail("标签不存在");
            }
            if(comMngUserTagDO.getSysFlag()==1){
                return R.fail("系统预置标签不可修改");
            }
            ComMngUserTagDO exist = comMngUserTagDAO.selectOne(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName,comMngTagVO.getTagName()));
            if(null!=exist && exist.getId()!=comMngUserTagDO.getId()){
                return R.fail("标签重复");
            }
            comMngUserTagDO.setTagName(comMngTagVO.getTagName());
            comMngUserTagDAO.updateById(comMngUserTagDO);
        }else{
            int count = comMngUserTagDAO.selectCount(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName,comMngTagVO.getTagName()));
            if(count>0){
               return R.fail("标签重复");
            }
            ComMngUserTagDO comMngUserTagDO = new ComMngUserTagDO();
            comMngUserTagDO.setTagName(comMngTagVO.getTagName());
            comMngUserTagDO.setCommunityId(comMngTagVO.getCommunityId());
            comMngUserTagDO.setSysFlag(0);
            comMngUserTagDO.setCreateAt(new Date());
            comMngUserTagDAO.insert(comMngUserTagDO);
        }
        return R.ok();
    }
    @Override
    public R deleteSpecialInputUserTags(Long id) {
        ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(id);
        if(null==comMngUserTagDO){
            return R.fail("标签不存在");
        }
        if(comMngUserTagDO.getSysFlag()==1){
            return R.fail("系统预置标签不可删除");
        }
        int delete = comMngUserTagDAO.deleteById(id);
        if(delete>0){
            return R.ok();
        }
        return R.fail("删除失败");
    }
    @Override
    public R deleteSpecialInputUser(Long id) {
        SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id);
        if(null==sysUserInputDO){
            return R.fail("用户不存在");
        }
        List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard,sysUserInputDO.getIdCard()));
        sysUserInputDOS.forEach(sysUserInput ->{
            sysUserInput.setTags(null);
            sysUserInput.setKeyPersonnel(0);
            sysUserInput.setSpecialServiceFamily(0);
            sysUserInput.setSoldier(0);
            sysUserInput.setLowincomeHouseholds(0);
            sysUserInput.setLowincomePeople(0);
            sysUserInput.setOldPeople(0);
            sysUserInput.setDisability(0);
        });
        boolean update = this.updateBatchById(sysUserInputDOS);
        if(update){
            return R.ok();
        }
        return R.fail();
    }
    @Override
    public R specialUserExport(ExportSpecialUserDTO exportSpecialUserDTO) {
        List<EexcelUserDTO> eexcelUserDTOS=sysUserInputDAO.specialUserExport(exportSpecialUserDTO);
        return R.ok(eexcelUserDTOS);
    }
}