罗元桥
2021-09-27 b8c8df1c425dcf2ff7a677647d3039073bde17f4
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -308,6 +308,9 @@
        loginUserInfoVO.setAccount(name);
        loginUserInfoVO.setType(sysUserDO.getType());
        loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);// 暂时 身份证判断实名制
        if(sysUserDO.getCommunityId()!=null){
            loginUserInfoVO.setCommunityId(sysUserDO.getCommunityId());
        }
        List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId());
        Set<String> set = new HashSet<>();
        if (!ObjectUtils.isEmpty(roleDOList)) {
@@ -1065,6 +1068,8 @@
                throw new ServiceException("手机号已经存在");
            } else if (e.getMessage().contains("union_account_type")) {
                throw new ServiceException("账户已经存在");
            }else if(e.getMessage().contains("23000")){
                throw new ServiceException("手机号已存在");
            }
        }
@@ -1087,6 +1092,8 @@
                    throw new ServiceException("手机号已经存在");
                } else if (e.getMessage().contains("union_account_type")) {
                    throw new ServiceException("账户已经存在");
                }else if(e.getMessage().contains("23000")){
                    throw new ServiceException("手机号已存在");
                }
            }
@@ -1101,7 +1108,47 @@
            sysUserRoleDO.setRoleId(roleDO.getRoleId());
            int insert1 = sysUserRoleDAO.insert(sysUserRoleDO);
            if (insert1 > 0) {
                return R.ok();
                return R.ok(userId);
            }
        }
        return R.fail();
    }
    @Override
    public R addUserBackstageProperty(AdministratorsUserVO administratorsUserVO) {
        SysUserDO sysUserDO = new SysUserDO();
        Long roleId = administratorsUserVO.getRoleId();
        SysRoleDO roleDO = roleDAO.selectById(roleId);
        if (ObjectUtils.isEmpty(roleDO)) {
            return R.fail("角色不存在");
        }
        String encode = new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword());
        administratorsUserVO.setPassword(encode);
        BeanUtils.copyProperties(administratorsUserVO, sysUserDO);
        int insert = 0;
        try {
            insert = userDao.insert(sysUserDO);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("新增后台用户报错【{}】", e.getMessage());
            if (e.getMessage().contains("union_phone_type")) {
                throw new ServiceException("手机号已经存在");
            } else if (e.getMessage().contains("union_account_type")) {
                throw new ServiceException("账户已经存在");
            }
        }
        if (insert > 0) {
            SysUserDO sysUserDO1 = userDao
                    .selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, administratorsUserVO.getType())
                            .eq(SysUserDO::getAccount, administratorsUserVO.getAccount()));
            Long userId = sysUserDO1.getUserId();
            SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
            sysUserRoleDO.setUserId(userId);
            sysUserRoleDO.setRoleId(roleDO.getRoleId());
            int insert1 = sysUserRoleDAO.insert(sysUserRoleDO);
            if (insert1 > 0) {
                return R.ok(userId);
            }
        }
        return R.fail();
@@ -2508,6 +2555,33 @@
        return R.ok(false);
    }
    @Override
    public R resetPassword(Long userId) {
        SysUserDO sysUserDO = new SysUserDO();
        sysUserDO.setUserId(userId);
        String encode = new BCryptPasswordEncoder().encode("admin123456");
        sysUserDO.setPassword(encode);
        int update = userDao.updateById(sysUserDO);
        if (update > 0) {
            return R.ok();
        }
        return R.fail();
    }
    @Override
    public R resetPasswordPatch(Long[] userId,String password) {
        if(userId!=null){
            for(Long user:userId){
                SysUserDO sysUserDO = new SysUserDO();
                sysUserDO.setUserId(user);
                String encode = new BCryptPasswordEncoder().encode(password);
                sysUserDO.setPassword(encode);
                userDao.updateById(sysUserDO);
            }
        }
        return R.ok();
    }
    /**
     * 便民服务新增商家账号
     * @param convenientMerchantDTO
@@ -2599,7 +2673,22 @@
    @Override
    public R disableOrEnableMerchantUsers(DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) {
        userDao.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO.getType(), disableOrEnableConvenientMerchantDTO.getIds());
        userDao.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO.getType(), disableOrEnableConvenientMerchantDTO.getUserIds());
        return R.ok();
    }
    /**
     * 根据openid维护社区团队里是否注册
     * @param openid    用户微信唯一标识
     */
    @Override
    public void judgeCommunityTeam(String openid){
        //查询用户信息
        SysUserDO userDO = this.userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getOpenid,openid));
        if(userDO != null && StringUtils.isNotEmpty(userDO.getPhone())){
            if(this.userDao.getCommunityTeamCount(userDO.getPhone()) > 0){
                this.userDao.judgeCommunityTeam(userDO.getPhone());
            }
        }
    }
}