【删除登录信息中所有的组织信息】

This commit is contained in:
weizhihong 2022-10-19 16:49:29 +08:00
parent 074f49a2a9
commit 73f73a426e
5 changed files with 426 additions and 516 deletions

View File

@ -395,66 +395,6 @@ public class SysAccountExample {
return (Criteria) this;
}
public Criteria andOrgIdIsNull() {
addCriterion("org_id is null");
return (Criteria) this;
}
public Criteria andOrgIdIsNotNull() {
addCriterion("org_id is not null");
return (Criteria) this;
}
public Criteria andOrgIdEqualTo(Long value) {
addCriterion("org_id =", value, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdNotEqualTo(Long value) {
addCriterion("org_id <>", value, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdGreaterThan(Long value) {
addCriterion("org_id >", value, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdGreaterThanOrEqualTo(Long value) {
addCriterion("org_id >=", value, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdLessThan(Long value) {
addCriterion("org_id <", value, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdLessThanOrEqualTo(Long value) {
addCriterion("org_id <=", value, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdIn(List<Long> values) {
addCriterion("org_id in", values, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdNotIn(List<Long> values) {
addCriterion("org_id not in", values, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdBetween(Long value1, Long value2) {
addCriterion("org_id between", value1, value2, "orgId");
return (Criteria) this;
}
public Criteria andOrgIdNotBetween(Long value1, Long value2) {
addCriterion("org_id not between", value1, value2, "orgId");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("`name` is null");
return (Criteria) this;
@ -1547,6 +1487,7 @@ public class SysAccountExample {
}
/**
*
*/
public static class Criteria extends GeneratedCriteria {

View File

@ -85,6 +85,9 @@ public class SysUserService implements ISysUserService {
@Autowired
private QRCodeManager qrCodeManager;
/**
* @update 20221019 删除账号查询逻辑去除绑定组织操作
*/
@Override
public AccountVO findUserByAccountAndPassword(String account, String password, String project) {
/* 先按手机号和邮箱查询 */
@ -92,8 +95,6 @@ public class SysUserService implements ISysUserService {
example.createCriteria().andMobileEqualTo(account).andPasswordEqualTo(password); // 手机号
example.or().andEmailEqualTo(account).andPasswordEqualTo(password); // 邮箱
List<SysAccount> users = this.sysAccountDAO.selectByExample(example);
Collection<Org> projectOrgs = iOrgService.findEntities(project, BusinessConsts.Org.Status.VALID);
Map<Long, Org> orgMap = projectOrgs.stream().collect(Collectors.toMap(Org::getId, Function.identity()));
AccountVO accountVO = null;
if (!CollectionUtils.isEmpty(users)) {
accountVO = new AccountVO(users.get(0));
@ -103,34 +104,10 @@ public class SysUserService implements ISysUserService {
example.clear();
example.createCriteria().andAccountEqualTo(account).andPasswordEqualTo(password);
users = this.sysAccountDAO.selectByExample(example);
for (SysAccount user : users) { //只能有一个账号符合条件
if (user.getOrgId() == null) {
if (accountVO != null) {
log.error("账号[{}]信息异常", account);
if (CollectionUtils.isEmpty(users)) {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("账号信息异常");
}
accountVO = new AccountVO(user);
} else {
Org org = orgMap.get(user.getOrgId());
if (org != null) { //该账号的组织包含在项目组织中
if (accountVO != null) {
log.error("账号[{}]信息异常", account);
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("账号信息异常");
}
accountVO = new AccountVO(user);
}
}
}
}
if (accountVO != null) {
Org topOrg;
if (accountVO.getOrgId() != null) {
topOrg = iOrgService.getEntity(accountVO.getOrgId());
} else {
topOrg = iOrgService.findTopOrgOfUser(accountVO.getId());
}
/* 如果用户属于该顶级组织,设置相关属性 */
setOrgInfoOfThisOrg(topOrg, accountVO);
accountVO = new AccountVO(users.get(0));
}
return accountVO;
}
@ -179,7 +156,7 @@ public class SysUserService implements ISysUserService {
@Override
public SysAccount findEntity(@NonNull String account, long orgId) {
SysAccountExample example = new SysAccountExample();
example.createCriteria().andAccountEqualTo(account).andOrgIdEqualTo(orgId);
example.createCriteria().andAccountEqualTo(account);
List<SysAccount> users = sysAccountDAO.selectByExample(example);
if (CollectionUtils.isEmpty(users)) {
return null;
@ -191,7 +168,7 @@ public class SysUserService implements ISysUserService {
@Override
public boolean isExist(@NonNull String account, long orgId) {
SysAccountExample example = new SysAccountExample();
example.createCriteria().andAccountEqualTo(account).andOrgIdEqualTo(orgId);
example.createCriteria().andAccountEqualTo(account);
return sysAccountDAO.countByExample(example) > 0;
}

View File

@ -233,6 +233,9 @@ public class AuthenticateService implements IAuthenticateService {
}
}
/**
* @update 20221019 去除设置组织信息
*/
@Override
public void wmConfirmClientLogin(String code, String state) {
LoginScanParam param = LoginScanParam.parse(state);
@ -249,7 +252,7 @@ public class AuthenticateService implements IAuthenticateService {
LoginUserInfoVO loginUserInfo = new LoginUserInfoVO(user, loginStatusVo.getClient(),
loginStatusVo.getProjectVO().name(), loginStatusVo.getDeviceVO());
// 设置组织信息
iSysUserService.setOrgInfoOfOrgRelWithTheProject(loginUserInfo.getProjectInfo().name(), user);
// iSysUserService.setOrgInfoOfOrgRelWithTheProject(loginUserInfo.getProjectInfo().name(), user);
// 登陆
login(loginUserInfo, true);
// 更新登陆状态

View File

@ -463,12 +463,12 @@ public class OrgUserService implements IOrgUserService {
* @param topOrg 导入的组织所属的顶级组织
* @param orgId 要导入的组织
* @param orgUserIdSet 导入的组织当前已有的成员
* @update 20221019 创建用户时去除组织ID account.setOrgId(topOrg.getId());
*/
private void importOrgUser(Org topOrg, Long orgId, Set<Long> orgUserIdSet, ImportOrgUserVO importOrgUser) {
SysAccount user = iSysUserService.findEntity(importOrgUser.getAccount(), topOrg.getId());
if (user == null) {
SysAccount account = importOrgUser.convert2DB();
account.setOrgId(topOrg.getId());
iSysUserService.createUser(account);
create(orgId, account.getId(), BusinessConsts.OrgRole.Student);
} else {

View File

@ -6,7 +6,6 @@
<result column="account" jdbcType="VARCHAR" property="account"/>
<result column="parent_account" jdbcType="VARCHAR" property="parentAccount"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="org_id" jdbcType="BIGINT" property="orgId" />
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="nickname" jdbcType="VARCHAR" property="nickname"/>
<result column="avatar_path" jdbcType="VARCHAR" property="avatarPath"/>
@ -42,7 +41,8 @@
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
<foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
#{listItem}
</foreach>
</when>
@ -71,7 +71,8 @@
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
<foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
#{listItem}
</foreach>
</when>
@ -83,7 +84,7 @@
</where>
</sql>
<sql id="Base_Column_List">
id, account, parent_account, `type`, org_id, `name`, nickname, avatar_path, `password`,
id, account, parent_account, `type`, `name`, nickname, avatar_path, `password`,
mobile, nationcode, email, wx_id, wx_union_id, wm_open_id, `status`, roles, `source`,
create_time, update_user_id, update_time
</sql>
@ -125,23 +126,25 @@
<include refid="Example_Where_Clause"/>
</if>
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="club.joylink.rtss.entity.SysAccount" useGeneratedKeys="true">
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="club.joylink.rtss.entity.SysAccount"
useGeneratedKeys="true">
insert into sys_account (account, parent_account, `type`,
org_id, `name`, nickname,
`name`, nickname,
avatar_path, `password`, mobile,
nationcode, email, wx_id,
wx_union_id, wm_open_id, `status`,
roles, `source`, create_time,
update_user_id, update_time)
values (#{account,jdbcType=VARCHAR}, #{parentAccount,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
#{orgId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR},
#{avatarPath,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR},
#{nationcode,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{wxId,jdbcType=VARCHAR},
#{wxUnionId,jdbcType=VARCHAR}, #{wmOpenId,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
#{roles,jdbcType=VARCHAR}, #{source,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateUserId,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="club.joylink.rtss.entity.SysAccount" useGeneratedKeys="true">
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="club.joylink.rtss.entity.SysAccount"
useGeneratedKeys="true">
insert into sys_account
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="account != null">
@ -153,9 +156,6 @@
<if test="type != null">
`type`,
</if>
<if test="orgId != null">
org_id,
</if>
<if test="name != null">
`name`,
</if>
@ -215,9 +215,6 @@
<if test="type != null">
#{type,jdbcType=VARCHAR},
</if>
<if test="orgId != null">
#{orgId,jdbcType=BIGINT},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
@ -289,9 +286,6 @@
<if test="record.type != null">
`type` = #{record.type,jdbcType=VARCHAR},
</if>
<if test="record.orgId != null">
org_id = #{record.orgId,jdbcType=BIGINT},
</if>
<if test="record.name != null">
`name` = #{record.name,jdbcType=VARCHAR},
</if>
@ -351,7 +345,6 @@
account = #{record.account,jdbcType=VARCHAR},
parent_account = #{record.parentAccount,jdbcType=VARCHAR},
`type` = #{record.type,jdbcType=VARCHAR},
org_id = #{record.orgId,jdbcType=BIGINT},
`name` = #{record.name,jdbcType=VARCHAR},
nickname = #{record.nickname,jdbcType=VARCHAR},
avatar_path = #{record.avatarPath,jdbcType=VARCHAR},
@ -384,9 +377,6 @@
<if test="type != null">
`type` = #{type,jdbcType=VARCHAR},
</if>
<if test="orgId != null">
org_id = #{orgId,jdbcType=BIGINT},
</if>
<if test="name != null">
`name` = #{name,jdbcType=VARCHAR},
</if>
@ -443,7 +433,6 @@
set account = #{account,jdbcType=VARCHAR},
parent_account = #{parentAccount,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR},
org_id = #{orgId,jdbcType=BIGINT},
`name` = #{name,jdbcType=VARCHAR},
nickname = #{nickname,jdbcType=VARCHAR},
avatar_path = #{avatarPath,jdbcType=VARCHAR},