|  | @@ -64,14 +64,8 @@ public class TenantInfoController extends BaseController {
 | 
	
		
			
				|  |  |      private TenantStaffService tenantStaffService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private SysConfigService sysConfigService;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  |      private SysUserMapper sysUserMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | -    private EmployeeService employeeService;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      @ApiOperation(value = "发送登录短信验证码")
 | 
	
		
			
				|  |  |      @ApiImplicitParams({@ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
 | 
	
		
			
				|  |  |              @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号)", required =
 | 
	
	
		
			
				|  | @@ -169,10 +163,11 @@ public class TenantInfoController extends BaseController {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          TenantStaff staff = tenantStaffService.getByUserId(user.getId());
 | 
	
		
			
				|  |  | -        if (Objects.nonNull(staff)) {
 | 
	
		
			
				|  |  | -            // 设置用户机构ID
 | 
	
		
			
				|  |  | -            user.setTenantId(staff.getTenantId());
 | 
	
		
			
				|  |  | +        if (staff == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("账号不存在");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        // 设置用户机构ID
 | 
	
		
			
				|  |  | +        user.setTenantId(staff.getTenantId());
 | 
	
		
			
				|  |  |          //如果传手机号
 | 
	
		
			
				|  |  |          if (StringUtils.isNotBlank(sysUser.getPhone())) {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -185,145 +180,58 @@ public class TenantInfoController extends BaseController {
 | 
	
		
			
				|  |  |                  throw new BizException("验证码错误");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            long userId;
 | 
	
		
			
				|  |  | -            // 查询输入的手机号  是否存在于sysUser表中
 | 
	
		
			
				|  |  | -            SysUser sysUserInfo = sysUserMapper.findUserByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 用户默认头象
 | 
	
		
			
				|  |  | -            if (Objects.nonNull(sysUserInfo)) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                //如果存在 判断是否为机构员工
 | 
	
		
			
				|  |  | -                TenantStaff tenantStaff = tenantStaffService.getByUserId(sysUserInfo.getId());
 | 
	
		
			
				|  |  | -                if (Objects.nonNull(tenantStaff)) {
 | 
	
		
			
				|  |  | -                    throw new BizException("该手机号已绑定机构");
 | 
	
		
			
				|  |  | +            // 如果修改了手机号
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotEmpty(sysUser.getPhone()) && !user.getPhone().equals(sysUser.getPhone())) {
 | 
	
		
			
				|  |  | +                // 查询输入的手机号  是否存在于sysUser表中
 | 
	
		
			
				|  |  | +                SysUser sysUserInfo = sysUserMapper.findUserByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | +                if (Objects.nonNull(sysUserInfo)) {
 | 
	
		
			
				|  |  | +                    throw new BizException("手机号已经注册平台账号");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                // 平台员工不允许重复
 | 
	
		
			
				|  |  | -                SysUser employee = employeeService.queryUserByMobile(sysUser.getPhone());
 | 
	
		
			
				|  |  | -                if (Objects.nonNull(employee) && employee.getPhone().equals(sysUser.getPhone())
 | 
	
		
			
				|  |  | -                        && employee.getUserType().contains(ClientEnum.SYSTEM.getCode())) {
 | 
	
		
			
				|  |  | -                    throw new BizException("当前手机号已绑定平台员工");
 | 
	
		
			
				|  |  | +                // 清除登录token信息,有wxOpenId说明登陆过
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotEmpty(staff.getWxOpenid())) {
 | 
	
		
			
				|  |  | +                    sysUserFeignService.exitByPhoneAndOpenId(ClientEnum.ORGANIZATION.getCode().toLowerCase(),
 | 
	
		
			
				|  |  | +                            user.getPhone(), staff.getWxOpenid());
 | 
	
		
			
				|  |  | +                    // 清除WXOpenId
 | 
	
		
			
				|  |  | +                    tenantStaffService.update(null, Wrappers.<TenantStaff>lambdaUpdate()
 | 
	
		
			
				|  |  | +                            .set(TenantStaff::getWxOpenid, null)
 | 
	
		
			
				|  |  | +                            .eq(TenantStaff::getId, staff.getId()));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                // 更新用户身份
 | 
	
		
			
				|  |  | -                com.yonge.cooleshow.biz.dal.entity.SysUser newSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
 | 
	
		
			
				|  |  | -                // 设置用户ID
 | 
	
		
			
				|  |  | -                newSysUser.setId(sysUserInfo.getId());
 | 
	
		
			
				|  |  | -                // 用户身份
 | 
	
		
			
				|  |  | -                newSysUser.setUserType(sysUserInfo.getUserType() + ",ORGANIZATION");
 | 
	
		
			
				|  |  | -                newSysUser.setUpdateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                // 新用户更新
 | 
	
		
			
				|  |  | -                sysUserMapper.updateById(newSysUser);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                // 新用户ID
 | 
	
		
			
				|  |  | -                userId = sysUserInfo.getId();
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                // 重新生成sysUser数据
 | 
	
		
			
				|  |  | -                com.yonge.cooleshow.biz.dal.entity.SysUser newSysUser = JSON.parseObject(JSON.toJSONString(user),
 | 
	
		
			
				|  |  | -                        com.yonge.cooleshow.biz.dal.entity.SysUser.class);
 | 
	
		
			
				|  |  | -                // 重置主键ID
 | 
	
		
			
				|  |  | -                newSysUser.setId(null);
 | 
	
		
			
				|  |  | -                // 设置新手机号
 | 
	
		
			
				|  |  | -                newSysUser.setPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | -                // 创建和修改时间
 | 
	
		
			
				|  |  | -                newSysUser.setCreateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | -                newSysUser.setUpdateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | -                if (StringUtils.isBlank(newSysUser.getAvatar())) {
 | 
	
		
			
				|  |  | -                    // 使用默认用户头像
 | 
	
		
			
				|  |  | -                    newSysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.TEACHER_AVATAR));
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                // 锁定状态
 | 
	
		
			
				|  |  | -                newSysUser.setLockFlag(0);
 | 
	
		
			
				|  |  | -                // 用户类型
 | 
	
		
			
				|  |  | -                newSysUser.setUserType("ORGANIZATION");
 | 
	
		
			
				|  |  | -                // 删除状态
 | 
	
		
			
				|  |  | -                newSysUser.setDelFlag(0);
 | 
	
		
			
				|  |  | -                newSysUser.setImToken("");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                sysUserMapper.insert(newSysUser);
 | 
	
		
			
				|  |  | -                // 新用户ID
 | 
	
		
			
				|  |  | -                userId = newSysUser.getId();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 旧用户移动机构身份
 | 
	
		
			
				|  |  | -            com.yonge.cooleshow.biz.dal.entity.SysUser oldSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
 | 
	
		
			
				|  |  | -            oldSysUser.setId(user.getId());
 | 
	
		
			
				|  |  | -            // 用户身份
 | 
	
		
			
				|  |  | -            String userType = Arrays.stream(user.getUserType().split(","))
 | 
	
		
			
				|  |  | -                    .filter(x -> !x.equals("ORGANIZATION")).collect(Collectors.joining(","));
 | 
	
		
			
				|  |  | -            oldSysUser.setUserType(userType);
 | 
	
		
			
				|  |  | -            sysUserMapper.updateById(oldSysUser);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 更新用户ID
 | 
	
		
			
				|  |  | -            tenantStaffService.lambdaUpdate()
 | 
	
		
			
				|  |  | -                    .eq(TenantStaff::getUserId, user.getId())
 | 
	
		
			
				|  |  | -                    .set(TenantStaff::getUserId, userId)
 | 
	
		
			
				|  |  | -                    .update();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 更新机构信息表中的用户
 | 
	
		
			
				|  |  | -            if (Optional.ofNullable(user.getTenantId()).orElse(-1L) > 0) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                tenantInfoService.lambdaUpdate()
 | 
	
		
			
				|  |  | -                        .eq(TenantInfo::getId, user.getTenantId())
 | 
	
		
			
				|  |  | -                        .set(TenantInfo::getUserId, userId)
 | 
	
		
			
				|  |  | -                        .set(TenantInfo::getPhone,sysUser.getPhone())
 | 
	
		
			
				|  |  | -                        .update();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 修改用户基础信息流程
 | 
	
		
			
				|  |  | -            // 更新用户头象
 | 
	
		
			
				|  |  | -            com.yonge.cooleshow.biz.dal.entity.SysUser updateSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
 | 
	
		
			
				|  |  | -            updateSysUser.setId(user.getId());
 | 
	
		
			
				|  |  | -            // 用户昵称
 | 
	
		
			
				|  |  | -            if (StringUtils.isNotBlank(sysUser.getUsername())) {
 | 
	
		
			
				|  |  | -                updateSysUser.setUsername(sysUser.getUsername());
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            //设置默认头像
 | 
	
		
			
				|  |  | -            if (StringUtils.isNotBlank(sysUser.getAvatar())) {
 | 
	
		
			
				|  |  | -                //sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
 | 
	
		
			
				|  |  | -                updateSysUser.setAvatar(sysUser.getAvatar());
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            updateSysUser.setUpdateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | -            sysUserMapper.updateById(updateSysUser);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 更新机构员工头像和昵称,机构信息表中的用户昵称
 | 
	
		
			
				|  |  | -            tenantStaffService.lambdaUpdate()
 | 
	
		
			
				|  |  | -                    .eq(TenantStaff::getUserId, user.getId())
 | 
	
		
			
				|  |  | -                    .set(StringUtils.isNotEmpty(sysUser.getUsername()), TenantStaff::getNickname, sysUser.getUsername())
 | 
	
		
			
				|  |  | -                    .set(StringUtils.isNotEmpty(sysUser.getAvatar()), TenantStaff::getAvatar, sysUser.getAvatar())
 | 
	
		
			
				|  |  | -                    .set(TenantStaff::getUpdateTime, LocalDateTime.now())
 | 
	
		
			
				|  |  | -                    .update();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            // 更新机构信息表中的用户昵称
 | 
	
		
			
				|  |  | -            if (StringUtils.isNotBlank(sysUser.getUsername()) && Optional.ofNullable(user.getTenantId()).orElse(-1L) > 0) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                tenantInfoService.lambdaUpdate()
 | 
	
		
			
				|  |  | -                        .eq(TenantInfo::getId, user.getTenantId())
 | 
	
		
			
				|  |  | -                        .set(TenantInfo::getUsername, sysUser.getUsername())
 | 
	
		
			
				|  |  | -                        .update();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // 修改了手机号码,清理token和WXOpenId
 | 
	
		
			
				|  |  | -        if (StringUtils.isNotEmpty(sysUser.getPhone()) && !user.getPhone().equals(sysUser.getPhone())) {
 | 
	
		
			
				|  |  | -            // 清除登录token信息,有wxOpenId说明登陆过
 | 
	
		
			
				|  |  | -            if (StringUtils.isNotEmpty(staff.getWxOpenid())) {
 | 
	
		
			
				|  |  | -                TenantStaff newStaff = tenantStaffService.getByPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | -                sysUserFeignService.exitByPhoneAndOpenId(ClientEnum.ORGANIZATION.getCode().toLowerCase(),
 | 
	
		
			
				|  |  | -                        user.getPhone(), staff.getWxOpenid());
 | 
	
		
			
				|  |  | -                // 清除WXOpenId
 | 
	
		
			
				|  |  | -                tenantStaffService.update(null, Wrappers.<TenantStaff>lambdaUpdate()
 | 
	
		
			
				|  |  | -                        .set(TenantStaff::getWxOpenid, null)
 | 
	
		
			
				|  |  | -                        .eq(TenantStaff::getUserId, newStaff.getUserId()));
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +        // 修改用户基础信息流程
 | 
	
		
			
				|  |  | +        // 更新用户头象
 | 
	
		
			
				|  |  | +        com.yonge.cooleshow.biz.dal.entity.SysUser updateSysUser = new com.yonge.cooleshow.biz.dal.entity.SysUser();
 | 
	
		
			
				|  |  | +        updateSysUser.setId(user.getId());
 | 
	
		
			
				|  |  | +        // 用户昵称
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotBlank(sysUser.getUsername())) {
 | 
	
		
			
				|  |  | +            updateSysUser.setUsername(sysUser.getUsername());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        //设置默认头像
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotBlank(sysUser.getAvatar())) {
 | 
	
		
			
				|  |  | +            updateSysUser.setAvatar(sysUser.getAvatar());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotBlank(sysUser.getPhone())) {
 | 
	
		
			
				|  |  | +            updateSysUser.setPhone(sysUser.getPhone());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        updateSysUser.setUpdateTime(LocalDateTime.now());
 | 
	
		
			
				|  |  | +        sysUserMapper.updateById(updateSysUser);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 更新机构员工头像和昵称,机构信息表中的用户昵称
 | 
	
		
			
				|  |  | +        tenantStaffService.lambdaUpdate()
 | 
	
		
			
				|  |  | +                .eq(TenantStaff::getId, staff.getId())
 | 
	
		
			
				|  |  | +                .set(StringUtils.isNotEmpty(sysUser.getUsername()), TenantStaff::getNickname, sysUser.getUsername())
 | 
	
		
			
				|  |  | +                .set(StringUtils.isNotEmpty(sysUser.getAvatar()), TenantStaff::getAvatar, sysUser.getAvatar())
 | 
	
		
			
				|  |  | +                .set(TenantStaff::getUpdateTime, LocalDateTime.now())
 | 
	
		
			
				|  |  | +                .update();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 更新机构信息表中的用户昵称
 | 
	
		
			
				|  |  | +        tenantInfoService.lambdaUpdate()
 | 
	
		
			
				|  |  | +                .eq(TenantInfo::getId, staff.getTenantId())
 | 
	
		
			
				|  |  | +                .set(StringUtils.isNotEmpty(sysUser.getUsername()), TenantInfo::getUsername, sysUser.getUsername())
 | 
	
		
			
				|  |  | +                .set(StringUtils.isNotEmpty(sysUser.getPhone()), TenantInfo::getPhone, sysUser.getPhone())
 | 
	
		
			
				|  |  | +                .update();
 | 
	
		
			
				|  |  |          return HttpResponseResult.succeed(true);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |