101captain
2021-09-22 1775bb71f952106c58657cf02891cbe2a286c8f8
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -14,7 +14,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -239,6 +238,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)) {
@@ -461,18 +463,35 @@
//            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
            StringBuilder sb = new StringBuilder();
            if (record.getIsPartymember().equals(1)) {
                sb.append("党员,");
            }
            if (record.getIsVolunteer().equals(1)) {
                sb.append("志愿者,");
            }
            String tag = sb.toString();
            if (tag.length() > 0) {
                record.setTags(tag.substring(0, tag.length() - 1));
            } else {
                record.setTags("无");
            if (StringUtils.isNotEmpty(record.getTags())) {
                StringBuffer sb = new StringBuffer();
                sb.append(record.getTags() + ",");
                if (record.getIsPartymember().equals(1)) {
                    if (!sb.toString().contains("党员")){
                        sb.append("党员,");
                    }
                }
                if (record.getIsVolunteer().equals(1)) {
                    if (!sb.toString().contains("志愿者")) {
                        sb.append("志愿者,");
                    }
                }
                String tags = sb.toString();
                record.setTags(tags.substring(0, tags.length() - 1));
            }else {
                StringBuffer sb = new StringBuffer();
                if (record.getIsPartymember().equals(1)) {
                    sb.append("党员,");
                }
                if (record.getIsVolunteer().equals(1)) {
                    sb.append("志愿者,");
                }
                String tags = sb.toString();
                if (tags.length() > 0) {
                    record.setTags(tags.substring(0, tags.length() - 1));
                } else {
                    record.setTags("无");
                }
            }
        });
        return R.ok(iPage);
@@ -578,7 +597,9 @@
    public R putUserTag(LoginUserInfoVO loginUserInfoVO) {
        SysUserDO sysUserDO = new SysUserDO();
        sysUserDO.setUserId(loginUserInfoVO.getUserId());
        sysUserDO.setTags(loginUserInfoVO.getTags());
        if (StringUtils.isNotEmpty(loginUserInfoVO.getTags()) && !"无".equals(loginUserInfoVO.getTags())) {
            sysUserDO.setTags(loginUserInfoVO.getTags());
        }
        int update = userDao.putUserTag(sysUserDO);
        if (update > 0) {
            return R.ok();
@@ -1013,7 +1034,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();
@@ -2404,4 +2465,32 @@
    public R getUserListByCommunityId(Long communityId) {
        return R.ok(this.userDao.getUserListByCommunityId(communityId));
    }
    /**
     * 检查当前用户是否是社区工作人员
     * @param phone
     * @param communityId
     * @return
     */
    @Override
    public R checkCurrentUserIsTeam(String phone, Long communityId) {
        int result = this.userDao.selectCountTeam(phone, communityId);
        if (result > 0) {
            return R.ok(true);
        }
        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();
    }
}