huanghongfa
2021-07-28 b1067240fac484e30ba6f57f3f93a87bd1016a30
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -27,6 +27,7 @@
import com.panzhihua.common.utlis.IdCard;
import com.panzhihua.common.utlis.RealNameUtil;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.service_user.dao.*;
import com.panzhihua.service_user.model.dos.*;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
@@ -88,6 +89,8 @@
    private EventGridMemberBuildingRelationService buildingRelationService;
    @Resource
    private EventGridMemberBuildingRelationMapper eventGridMemberBuildingRelationMapper;
    @Resource
    private LcCompareMemberCodeMapper lcCompareMemberCodeMapper;
//    @Resource
//    private GridService gridService;
@@ -626,14 +629,14 @@
        String idCard = loginUserInfoVO.getIdCard();
        String name = loginUserInfoVO.getName();
        log.info("用户实名认证发送请求,姓名:" + name + "身份证号码:" + idCard);
        try {
            boolean b = RealNameUtil.authentication(idCard, name);
            if (!b) {
                return R.fail("身份认证失败:请填写真实信息");
            }
        }catch (ServiceException serviceException){
            return R.fail(serviceException.getMessage());
        }
//        try {
//            boolean b = RealNameUtil.authentication(idCard, name);
//            if (!b) {
//                return R.fail("身份认证失败:请填写真实信息");
//            }
//        }catch (ServiceException serviceException){
//            return R.fail(serviceException.getMessage());
//        }
        SysUserDO sysUserDO = new SysUserDO();
        sysUserDO.setName(name);
        sysUserDO.setIdCard(idCard);
@@ -1938,11 +1941,28 @@
            //关联市平台网格员
            if(eventGridMemberAddDTO.getLcMemberId() != null){
                this.userDao.addLcMember(eventGridMemberAddDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName());
                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,eventGridMemberAddDTO.getLcMemberId()));
                if(compareCodeMemberDO != null){
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getNickName());
                    compareCodeMemberDO.setUpdateAt(new Date());
                    lcCompareMemberCodeMapper.updateById(compareCodeMemberDO);
                }else{
                    compareCodeMemberDO = new LcCompareCodeMemberDO();
                    compareCodeMemberDO.setId(Snowflake.getId());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getNickName());
                    compareCodeMemberDO.setLcGridMemberId(eventGridMemberAddDTO.getLcMemberId());
                    compareCodeMemberDO.setLcBindUserId(eventGridMemberAddDTO.getLcBindUserId());
                    compareCodeMemberDO.setLcGridMemberName(eventGridMemberAddDTO.getLcMemberName());
                    compareCodeMemberDO.setCreateAt(new Date());
                    lcCompareMemberCodeMapper.insert(compareCodeMemberDO);
                }
            }
            //网格员关联楼栋
            if(!eventGridMemberAddDTO.getBuildingIds().isEmpty()){
            if(eventGridMemberAddDTO.getBuildingIds() != null && !eventGridMemberAddDTO.getBuildingIds().isEmpty()){
                List<EventGridMemberBuildingRelationDO> buildingRelationList = new ArrayList<>();
                eventGridMemberAddDTO.getBuildingIds().forEach(buildingId -> {
                    Map<String,Long> resultMap = this.userDao.getBuilding(buildingId);
@@ -1988,7 +2008,12 @@
        if(!gridMemberPage.getRecords().isEmpty()){
            gridMemberPage.getRecords().forEach(gridMember -> {
                //查询网格员关联市平台网格员id
                gridMember.setLcMemberId(this.userDao.getLcMemberId(gridMember.getUserId()));
                Map<String,String> lcMemberMap = this.userDao.getLcMemberId(gridMember.getUserId());
                if(lcMemberMap != null){
                    gridMember.setLcMemberId(lcMemberMap.get("lc_grid_member_id"));
                    gridMember.setLcMemberName(lcMemberMap.get("lc_grid_member_name"));
                    gridMember.setLcBindUserId(lcMemberMap.get("lc_bind_user_id"));
                }
                //查询网格员关联楼栋信息
                List<GridMemberBuildingVO> memberBuildingList = eventGridMemberBuildingRelationMapper.getGridMemberBuildingRelation(gridMember.getUserId());
@@ -2011,6 +2036,7 @@
     * @return  修改结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R editGridUser(EventGridMemberEditAdminDTO gridMemberDTO){
        if(gridMemberDTO.getGridMemberId() == null){
@@ -2035,17 +2061,35 @@
        try {
            insert = userDao.updateById(sysUserDO);
            //清除原本关联网格员信息
            this.userDao.delLcMember(sysUserDO.getUserId());
            //关联市平台网格员
            if(gridMemberDTO.getLcMemberId() != null){
                this.userDao.addLcMember(gridMemberDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName());
            }else{
                this.userDao.delLcMember(sysUserDO.getUserId());
                //关联现有的网格员信息
                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,gridMemberDTO.getLcMemberId()));
                if(compareCodeMemberDO != null){
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getNickName());
                    compareCodeMemberDO.setUpdateAt(new Date());
                    lcCompareMemberCodeMapper.updateById(compareCodeMemberDO);
                }else{
                    compareCodeMemberDO = new LcCompareCodeMemberDO();
                    compareCodeMemberDO.setId(Snowflake.getId());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getNickName());
                    compareCodeMemberDO.setLcGridMemberId(gridMemberDTO.getLcMemberId());
                    compareCodeMemberDO.setLcBindUserId(gridMemberDTO.getLcBindUserId());
                    compareCodeMemberDO.setLcGridMemberName(gridMemberDTO.getLcMemberName());
                    compareCodeMemberDO.setCreateAt(new Date());
                    lcCompareMemberCodeMapper.insert(compareCodeMemberDO);
                }
            }
            //清除原网格员与楼栋关联关系
            this.userDao.delGridMemberRelation(sysUserDO.getUserId());
            //新增网格员关联楼栋
            if(!gridMemberDTO.getBuildingIds().isEmpty()){
            if(gridMemberDTO.getBuildingIds() != null && !gridMemberDTO.getBuildingIds().isEmpty()){
                List<EventGridMemberBuildingRelationDO> buildingRelationList = new ArrayList<>();
                gridMemberDTO.getBuildingIds().forEach(buildingId -> {
                    Map<String,Long> resultMap = this.userDao.getBuilding(buildingId);
@@ -2131,4 +2175,48 @@
        }
        return R.fail();
    }
    /**
     * 查询社区的收益说明
     * @param communityId   社区id
     * @return  收益说明
     */
    @Override
    public R listAgreements(Long communityId){
        List<SysUserAgreementDO> sysUserAgreementDOS = sysUserAgreementDAO.selectList(new LambdaQueryWrapper<SysUserAgreementDO>()
                .eq(SysUserAgreementDO::getCommunityId,communityId).eq(SysUserAgreementDO::getType,5));
        if (sysUserAgreementDOS.isEmpty()) {
            SysUserAgreementDO agreementDO = new SysUserAgreementDO();
            agreementDO.setCommunityId(communityId);
            agreementDO.setName("收益说明");
            agreementDO.setType(5);
            agreementDO.setCreateAt(new Date());
            agreementDO.setContent(Constants.PROFIT_EXPLAIN);
            sysUserAgreementDAO.insert(agreementDO);
            sysUserAgreementDOS.add(agreementDO);
        }
        List<SysUserAgreementVO> sysUserAgreementVOS = new ArrayList<>();
        sysUserAgreementDOS.forEach(sysUserAgreementDO -> {
            SysUserAgreementVO sysUserAgreementVO = new SysUserAgreementVO();
            BeanUtils.copyProperties(sysUserAgreementDO, sysUserAgreementVO);
            sysUserAgreementVOS.add(sysUserAgreementVO);
        });
        return R.ok(sysUserAgreementVOS);
    }
    @Override
    public R getGridIsOk(Long userId){
        Integer count = this.userDao.getGridIsOk(userId);
        if(count > 0){
            return R.ok(count);
        }else{
            return R.fail();
        }
    }
    @Override
    public R getGridsMemberList(Long communityId){
        return R.ok(this.userDao.getGridsMemberList(communityId));
    }
}