罗元桥
2021-09-27 faae303cd25f90b1c732b6bc737ede8b8ab714a0
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -3,6 +3,7 @@
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -1068,6 +1069,8 @@
                throw new ServiceException("手机号已经存在");
            } else if (e.getMessage().contains("union_account_type")) {
                throw new ServiceException("账户已经存在");
            }else if(e.getMessage().contains("23000")){
                throw new ServiceException("手机号已存在");
            }
        }
@@ -2165,7 +2168,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addGridUser(EventGridMemberAddDTO eventGridMemberAddDTO) {
        //todo 网格
        SysRoleDO gridMemberDefaultRole = roleDAO.selectOne(
            new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, Constants.GRID_DEFAULT_ROLE_KEY));
        if (gridMemberDefaultRole == null) {
@@ -2588,11 +2591,13 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO) {
        // todo 便民
        log.error("catTimeStamp进入addConvenientMerchantUser", Instant.now().toEpochMilli());
        SysUserDO sysUserDO = new SysUserDO();
        Long communityId = 0L;
        // 新增社区高级管理员角色
        SysRoleDO sysRoleDO = new SysRoleDO();
        sysRoleDO.setCommunityId(0L);
        sysRoleDO.setCommunityId(communityId);
        sysRoleDO.setRoleName(convenientMerchantDTO.getName());
        sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + convenientMerchantDTO.getAccount());
        sysRoleDO.setRoleSort(0);
@@ -2607,15 +2612,18 @@
            if (e.getMessage().contains("unique_role_name_community_id")) {
                return R.fail("商家名称已被占用");
            } else {
                return R.fail("建立商家角色失败");
                return R.fail("建立商家角色失败,商家名称可能已被占用!");
            }
        }
        log.error("catTimeStamp-SysRoleDO创建完成", Instant.now().toEpochMilli());
        // 新角色设置所有权限
        MenuRoleVO menuRoleVO = new MenuRoleVO();
        menuRoleVO.setIsAll(1);
        menuRoleVO.setCommunityId(communityId);
        menuRoleVO.setRoleId(sysRoleDO.getRoleId());
        this.putMenuRole(menuRoleVO);
        log.error("catTimeStamp-MenuRoleVO创建完成", Instant.now().toEpochMilli());
        // sys_user 表
        String encode = new BCryptPasswordEncoder().encode(convenientMerchantDTO.getPassword());
@@ -2629,6 +2637,7 @@
        sysUserDO.setPassword(encode);
        try {
            userDao.insert(sysUserDO);
            log.error("catTimeStamp-sysUserDO创建完成", Instant.now().toEpochMilli());
            return R.ok(sysUserDO.getUserId());
        } catch (Exception e) {
            e.printStackTrace();
@@ -2644,34 +2653,49 @@
    }
    /**
 * 修改便民服务商家绑定账号
 * @param userId 用户id
 * @param account 修改账户
 * @return 修改结果
 */
@Override
public R putUserAccount(Long userId, String account) {
    SysUserDO sysUserDO = userDao.selectById(userId);
    if (isNull(sysUserDO)) {
        return R.fail("用户不存在");
    }
    String oldAccount = sysUserDO.getAccount();
    sysUserDO.setAccount(account);
    int result = userDao.updateById(sysUserDO);
    if (result > 0) {
        SysRoleDO sysRoleDO = roleDAO.selectOne(new QueryWrapper<SysRoleDO>()
                .lambda().eq(SysRoleDO::getRoleKey, Constants.CONVENIENT_MERCHANT_ROLE_KEY + oldAccount));
        if (nonNull(sysRoleDO)) {
            sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + account);
            roleDAO.updateById(sysRoleDO);
     * 修改便民服务商家绑定账号
     * @param userId 用户id
     * @param account 修改账户
     * @return 修改结果
     */
    @Override
    public R putUserAccount(Long userId, String account) {
        SysUserDO sysUserDO = userDao.selectById(userId);
        if (isNull(sysUserDO)) {
            return R.fail("用户不存在");
        }
        String oldAccount = sysUserDO.getAccount();
        sysUserDO.setAccount(account);
        int result = userDao.updateById(sysUserDO);
        if (result > 0) {
            SysRoleDO sysRoleDO = roleDAO.selectOne(new QueryWrapper<SysRoleDO>()
                    .lambda().eq(SysRoleDO::getRoleKey, Constants.CONVENIENT_MERCHANT_ROLE_KEY + oldAccount));
            if (nonNull(sysRoleDO)) {
                sysRoleDO.setRoleKey(Constants.CONVENIENT_MERCHANT_ROLE_KEY + account);
                roleDAO.updateById(sysRoleDO);
            }
        }
        return R.ok();
    }
    return R.ok();
}
    @Override
    public R disableOrEnableMerchantUsers(DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) {
        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());
            }
        }
    }
}