CeDo
2021-06-11 d07b02f12c47f0e513d98a49d1106d22416868c0
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
@@ -11,20 +11,24 @@
import com.panzhihua.common.model.dtos.elders.ComEldersAuthGetResultDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO;
import com.panzhihua.common.model.helper.AESUtil;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
import com.panzhihua.common.model.vos.community.EldersAuthFeedbackVO;
import com.panzhihua.common.model.vos.community.EldersAuthVO;
import com.panzhihua.common.model.vos.elders.ComElderAuthUserAppVO;
import com.panzhihua.common.model.vos.partybuilding.ComEldersAuthHistoryExcelVO;
import com.panzhihua.common.model.vos.user.SysUserVO;
import com.panzhihua.common.utlis.AgeUtils;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.IdCard;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.EldersAuthService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
@@ -53,6 +57,13 @@
    private ComEldersAuthElderlyMapper comEldersAuthElderlyMapper;
    @Resource
    private SysConfMapper sysConfDao;
    @Resource
    private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
    @Resource
    private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper;
    @Value("${domain.aesKey:}")
    private String aesKey;
    /**
     * 新增高龄认证
@@ -234,29 +245,49 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addAuthByEldersApp(ComEldersAuthGetResultDTO authGetResultDTO){
    public R addAuthByEldersApp(ComEldersAuthGetResultDTO authGetResultDTO) throws Exception{
        ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authGetResultDTO.getAuthUserId());
        if(authUserDO != null){
            String idCard = authUserDO.getIdCard();
            EldersAuthDO eldersAuthDO = new EldersAuthDO();
            eldersAuthDO.setIdCard(authUserDO.getIdCard());
            eldersAuthDO.setIdCard(idCard);
            eldersAuthDO.setAuthUserName(authUserDO.getName());
            eldersAuthDO.setCreateBy(authGetResultDTO.getUserId());
            eldersAuthDO.setCreateAt(new Date());
            eldersAuthDO.setSumitUserId(authGetResultDTO.getUserId());
            String domicile = this.baseMapper.selectDomicile(eldersAuthDO.getIdCard());
            String domicile = this.baseMapper.selectDomicile(idCard);
            if(org.springframework.util.StringUtils.isEmpty(domicile)){
                domicile = "暂无";
            }
            eldersAuthDO.setDomicile(domicile);
            eldersAuthDO.setBirthDay(IdcardUtil.getBirthDate(authUserDO.getIdCard()));
            eldersAuthDO.setBirthDay(IdcardUtil.getBirthDate(idCard));
            eldersAuthDO.setFamilyUserId(authUserDO.getId());
            eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(eldersAuthDO.getIdCard()));
            Integer age = IdcardUtil.getAgeByIdCard(idCard);
            eldersAuthDO.setAge(age);
            eldersAuthDO.setType(2);
            eldersAuthDO.setVerificationResult(authGetResultDTO.getVerificationResult());
            this.baseMapper.insert(eldersAuthDO);
            //认证成功  添加认证记录
            List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>()
                    .lambda().eq(ComEldersAuthHistoryRecordDO::getIdCard,eldersAuthDO.getIdCard()).ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
            if(authHistoryRecordDOList.isEmpty()){
                ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
                authHistoryRecordDO.setUserId(authGetResultDTO.getAuthUserId());
                authHistoryRecordDO.setAuthId(eldersAuthDO.getId());
                BeanUtils.copyProperties(eldersAuthDO,authHistoryRecordDO);
                authHistoryRecordDO.setId(null);
                authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard)));
                authHistoryRecordDO.setAge(age);
                authHistoryRecordDO.setIsAuth(1);
                authHistoryRecordDO.setDomicile(domicile);
                comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
            }
            authUserDO.setIsAuth(ComEldersAuthUserDO.isAuth.yes);
            authUserDO.setIdCard(AESUtil.encrypt128(authUserDO.getIdCard(), aesKey));
            comEldersAuthUserMapper.updateById(authUserDO);
            return R.ok(eldersAuthDO.getId());
@@ -271,13 +302,15 @@
     * @return  查询结果
     */
    @Override
    public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO){
    public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO) throws Exception{
        //判断当前用户是否是高龄老人,如果是则将这个人新增到高龄老人的列表里
        SysUserVO userVO = this.eldersAuthDAO.getSysUserByUserId(authPageDTO.getUserId());
        if(userVO != null){
            String idCard = userVO.getIdCard();
            userVO.setIdCard(AESUtil.encrypt128(userVO.getIdCard(), aesKey));
            //查询当前用户是否已存在用户关联中
            ComEldersAuthUserDO oldAuthUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda()
                    .eq(ComEldersAuthUserDO::getIdCard,userVO.getIdCard()));
                    .eq(ComEldersAuthUserDO::getIdCard, userVO.getIdCard()));
            if(oldAuthUserDO == null){
                //查询老人库是否存在当前用户信息
                ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda()
@@ -287,7 +320,7 @@
                    authUserDO.setUserId(userVO.getUserId());
                    authUserDO.setRelation(ComEldersAuthUserDO.relation.br);
                    authUserDO.setName(userVO.getName());
                    authUserDO.setIdCard(userVO.getIdCard());
                    authUserDO.setIdCard(idCard);
                    authUserDO.setCommunityId(authElderlyDO.getCommunityId());
                    authUserDO.setBigAgeId(authElderlyDO.getId());
                    comEldersAuthUserMapper.insert(authUserDO);
@@ -313,7 +346,15 @@
                        }
                    }
                }
                authUser.setAge(IdcardUtil.getAgeByIdCard(authUser.getIdCard()));
                ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authUser.getElderId());
                if(authUserDO != null){
                    try {
                        authUser.setAge(IdcardUtil.getAgeByIdCard(authUserDO.getIdCard()));
                    }catch (NullPointerException e){
                        log.error("获取用户年龄出错了:" + authUser.getIdCard());
                    }
                }
            });
        }
        return R.ok(authUserAppVOIPage);
@@ -379,7 +420,8 @@
        Page page = new Page();
        page.setCurrent(pageEldersAuthElderlyDTO.getPageNum());
        page.setSize(pageEldersAuthElderlyDTO.getPageSize());
        return R.ok(eldersAuthDAO.selectCommunityEldersRecordByPage(page, pageEldersAuthElderlyDTO));
        IPage<ComEldersAuthRecordForCommunityVO> ipage = eldersAuthDAO.selectCommunityEldersRecordByPage(page, pageEldersAuthElderlyDTO);
        return R.ok(ipage);
    }
    @Override
    public R setCommunityAuthType(Long communityId, Integer type) {
@@ -398,4 +440,26 @@
        }
        return R.fail();
    }
    @Override
    public R getAuthHistoryList(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO){
        return R.ok(comEldersAuthStatisticsMapper.findByPage(new Page(pageEldersAuthElderlyDTO.getPageNum(),pageEldersAuthElderlyDTO.getPageSize()),pageEldersAuthElderlyDTO));
    }
    public R getAuthHistoryExport(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO){
        Date startTime = DateUtils.getYearMonthStart(pageEldersAuthElderlyDTO.getYear(),pageEldersAuthElderlyDTO.getMonth());
        Date endTime = DateUtils.getYearMonthEnd(pageEldersAuthElderlyDTO.getYear(),pageEldersAuthElderlyDTO.getMonth());
        List<ComEldersAuthHistoryRecordDO> userList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
                .eq(ComEldersAuthHistoryRecordDO::getCommunityId,pageEldersAuthElderlyDTO.getCommunityId())
                .ge(ComEldersAuthHistoryRecordDO::getCreateAt,startTime).le(ComEldersAuthHistoryRecordDO::getCreateAt,endTime));
        List<ComEldersAuthHistoryExcelVO> authHistoryExcelVOS = new ArrayList<>();
        userList.forEach(user -> {
            ComEldersAuthHistoryExcelVO authHistoryExcelVO = new ComEldersAuthHistoryExcelVO();
            BeanUtils.copyProperties(user,authHistoryExcelVO);
            authHistoryExcelVOS.add(authHistoryExcelVO);
        });
        return R.ok(authHistoryExcelVOS);
    }
}