Merge branch 'test-training2' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-training2-xzb1

This commit is contained in:
xzb 2022-10-19 17:07:34 +08:00
commit 4b43640085
5 changed files with 426 additions and 516 deletions

View File

@ -395,66 +395,6 @@ public class SysAccountExample {
return (Criteria) this; 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() { public Criteria andNameIsNull() {
addCriterion("`name` is null"); addCriterion("`name` is null");
return (Criteria) this; return (Criteria) this;
@ -1547,6 +1487,7 @@ public class SysAccountExample {
} }
/** /**
*
*/ */
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {

View File

@ -85,6 +85,9 @@ public class SysUserService implements ISysUserService {
@Autowired @Autowired
private QRCodeManager qrCodeManager; private QRCodeManager qrCodeManager;
/**
* @update 20221019 删除账号查询逻辑去除绑定组织操作
*/
@Override @Override
public AccountVO findUserByAccountAndPassword(String account, String password, String project) { 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.createCriteria().andMobileEqualTo(account).andPasswordEqualTo(password); // 手机号
example.or().andEmailEqualTo(account).andPasswordEqualTo(password); // 邮箱 example.or().andEmailEqualTo(account).andPasswordEqualTo(password); // 邮箱
List<SysAccount> users = this.sysAccountDAO.selectByExample(example); 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; AccountVO accountVO = null;
if (!CollectionUtils.isEmpty(users)) { if (!CollectionUtils.isEmpty(users)) {
accountVO = new AccountVO(users.get(0)); accountVO = new AccountVO(users.get(0));
@ -103,34 +104,10 @@ public class SysUserService implements ISysUserService {
example.clear(); example.clear();
example.createCriteria().andAccountEqualTo(account).andPasswordEqualTo(password); example.createCriteria().andAccountEqualTo(account).andPasswordEqualTo(password);
users = this.sysAccountDAO.selectByExample(example); users = this.sysAccountDAO.selectByExample(example);
for (SysAccount user : users) { //只能有一个账号符合条件 if (CollectionUtils.isEmpty(users)) {
if (user.getOrgId() == null) {
if (accountVO != null) {
log.error("账号[{}]信息异常", account);
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("账号信息异常"); throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("账号信息异常");
} }
accountVO = new AccountVO(user); accountVO = new AccountVO(users.get(0));
} 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);
} }
return accountVO; return accountVO;
} }
@ -179,7 +156,7 @@ public class SysUserService implements ISysUserService {
@Override @Override
public SysAccount findEntity(@NonNull String account, long orgId) { public SysAccount findEntity(@NonNull String account, long orgId) {
SysAccountExample example = new SysAccountExample(); SysAccountExample example = new SysAccountExample();
example.createCriteria().andAccountEqualTo(account).andOrgIdEqualTo(orgId); example.createCriteria().andAccountEqualTo(account);
List<SysAccount> users = sysAccountDAO.selectByExample(example); List<SysAccount> users = sysAccountDAO.selectByExample(example);
if (CollectionUtils.isEmpty(users)) { if (CollectionUtils.isEmpty(users)) {
return null; return null;
@ -191,7 +168,7 @@ public class SysUserService implements ISysUserService {
@Override @Override
public boolean isExist(@NonNull String account, long orgId) { public boolean isExist(@NonNull String account, long orgId) {
SysAccountExample example = new SysAccountExample(); SysAccountExample example = new SysAccountExample();
example.createCriteria().andAccountEqualTo(account).andOrgIdEqualTo(orgId); example.createCriteria().andAccountEqualTo(account);
return sysAccountDAO.countByExample(example) > 0; return sysAccountDAO.countByExample(example) > 0;
} }

View File

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

View File

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

View File

@ -2,27 +2,26 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="club.joylink.rtss.dao.SysAccountDAO"> <mapper namespace="club.joylink.rtss.dao.SysAccountDAO">
<resultMap id="BaseResultMap" type="club.joylink.rtss.entity.SysAccount"> <resultMap id="BaseResultMap" type="club.joylink.rtss.entity.SysAccount">
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id"/>
<result column="account" jdbcType="VARCHAR" property="account" /> <result column="account" jdbcType="VARCHAR" property="account"/>
<result column="parent_account" jdbcType="VARCHAR" property="parentAccount" /> <result column="parent_account" jdbcType="VARCHAR" property="parentAccount"/>
<result column="type" jdbcType="VARCHAR" property="type" /> <result column="type" jdbcType="VARCHAR" property="type"/>
<result column="org_id" jdbcType="BIGINT" property="orgId" /> <result column="name" jdbcType="VARCHAR" property="name"/>
<result column="name" jdbcType="VARCHAR" property="name" /> <result column="nickname" jdbcType="VARCHAR" property="nickname"/>
<result column="nickname" jdbcType="VARCHAR" property="nickname" /> <result column="avatar_path" jdbcType="VARCHAR" property="avatarPath"/>
<result column="avatar_path" jdbcType="VARCHAR" property="avatarPath" /> <result column="password" jdbcType="VARCHAR" property="password"/>
<result column="password" jdbcType="VARCHAR" property="password" /> <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
<result column="mobile" jdbcType="VARCHAR" property="mobile" /> <result column="nationcode" jdbcType="VARCHAR" property="nationcode"/>
<result column="nationcode" jdbcType="VARCHAR" property="nationcode" /> <result column="email" jdbcType="VARCHAR" property="email"/>
<result column="email" jdbcType="VARCHAR" property="email" /> <result column="wx_id" jdbcType="VARCHAR" property="wxId"/>
<result column="wx_id" jdbcType="VARCHAR" property="wxId" /> <result column="wx_union_id" jdbcType="VARCHAR" property="wxUnionId"/>
<result column="wx_union_id" jdbcType="VARCHAR" property="wxUnionId" /> <result column="wm_open_id" jdbcType="VARCHAR" property="wmOpenId"/>
<result column="wm_open_id" jdbcType="VARCHAR" property="wmOpenId" /> <result column="status" jdbcType="VARCHAR" property="status"/>
<result column="status" jdbcType="VARCHAR" property="status" /> <result column="roles" jdbcType="VARCHAR" property="roles"/>
<result column="roles" jdbcType="VARCHAR" property="roles" /> <result column="source" jdbcType="VARCHAR" property="source"/>
<result column="source" jdbcType="VARCHAR" property="source" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="update_user_id" jdbcType="BIGINT" property="updateUserId"/>
<result column="update_user_id" jdbcType="BIGINT" property="updateUserId" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
@ -42,7 +41,8 @@
</when> </when>
<when test="criterion.listValue"> <when test="criterion.listValue">
and ${criterion.condition} and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> <foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
#{listItem} #{listItem}
</foreach> </foreach>
</when> </when>
@ -71,7 +71,8 @@
</when> </when>
<when test="criterion.listValue"> <when test="criterion.listValue">
and ${criterion.condition} and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> <foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
#{listItem} #{listItem}
</foreach> </foreach>
</when> </when>
@ -83,7 +84,7 @@
</where> </where>
</sql> </sql>
<sql id="Base_Column_List"> <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`, mobile, nationcode, email, wx_id, wx_union_id, wm_open_id, `status`, roles, `source`,
create_time, update_user_id, update_time create_time, update_user_id, update_time
</sql> </sql>
@ -92,10 +93,10 @@
<if test="distinct"> <if test="distinct">
distinct distinct
</if> </if>
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from sys_account from sys_account
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Example_Where_Clause" /> <include refid="Example_Where_Clause"/>
</if> </if>
<if test="orderByClause != null"> <if test="orderByClause != null">
order by ${orderByClause} order by ${orderByClause}
@ -111,7 +112,7 @@
</select> </select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from sys_account from sys_account
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</select> </select>
@ -122,26 +123,28 @@
<delete id="deleteByExample" parameterType="club.joylink.rtss.entity.SysAccountExample"> <delete id="deleteByExample" parameterType="club.joylink.rtss.entity.SysAccountExample">
delete from sys_account delete from sys_account
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Example_Where_Clause" /> <include refid="Example_Where_Clause"/>
</if> </if>
</delete> </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`, insert into sys_account (account, parent_account, `type`,
org_id, `name`, nickname, `name`, nickname,
avatar_path, `password`, mobile, avatar_path, `password`, mobile,
nationcode, email, wx_id, nationcode, email, wx_id,
wx_union_id, wm_open_id, `status`, wx_union_id, wm_open_id, `status`,
roles, `source`, create_time, roles, `source`, create_time,
update_user_id, update_time) update_user_id, update_time)
values (#{account,jdbcType=VARCHAR}, #{parentAccount,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, 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}, #{avatarPath,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR},
#{nationcode,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{wxId,jdbcType=VARCHAR}, #{nationcode,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{wxId,jdbcType=VARCHAR},
#{wxUnionId,jdbcType=VARCHAR}, #{wmOpenId,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{wxUnionId,jdbcType=VARCHAR}, #{wmOpenId,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
#{roles,jdbcType=VARCHAR}, #{source,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{roles,jdbcType=VARCHAR}, #{source,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateUserId,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP}) #{updateUserId,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP})
</insert> </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 insert into sys_account
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="account != null"> <if test="account != null">
@ -153,9 +156,6 @@
<if test="type != null"> <if test="type != null">
`type`, `type`,
</if> </if>
<if test="orgId != null">
org_id,
</if>
<if test="name != null"> <if test="name != null">
`name`, `name`,
</if> </if>
@ -215,9 +215,6 @@
<if test="type != null"> <if test="type != null">
#{type,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
</if> </if>
<if test="orgId != null">
#{orgId,jdbcType=BIGINT},
</if>
<if test="name != null"> <if test="name != null">
#{name,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
</if> </if>
@ -271,7 +268,7 @@
<select id="countByExample" parameterType="club.joylink.rtss.entity.SysAccountExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="club.joylink.rtss.entity.SysAccountExample" resultType="java.lang.Long">
select count(*) from sys_account select count(*) from sys_account
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Example_Where_Clause" /> <include refid="Example_Where_Clause"/>
</if> </if>
</select> </select>
<update id="updateByExampleSelective" parameterType="map"> <update id="updateByExampleSelective" parameterType="map">
@ -289,9 +286,6 @@
<if test="record.type != null"> <if test="record.type != null">
`type` = #{record.type,jdbcType=VARCHAR}, `type` = #{record.type,jdbcType=VARCHAR},
</if> </if>
<if test="record.orgId != null">
org_id = #{record.orgId,jdbcType=BIGINT},
</if>
<if test="record.name != null"> <if test="record.name != null">
`name` = #{record.name,jdbcType=VARCHAR}, `name` = #{record.name,jdbcType=VARCHAR},
</if> </if>
@ -342,7 +336,7 @@
</if> </if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause"/>
</if> </if>
</update> </update>
<update id="updateByExample" parameterType="map"> <update id="updateByExample" parameterType="map">
@ -351,7 +345,6 @@
account = #{record.account,jdbcType=VARCHAR}, account = #{record.account,jdbcType=VARCHAR},
parent_account = #{record.parentAccount,jdbcType=VARCHAR}, parent_account = #{record.parentAccount,jdbcType=VARCHAR},
`type` = #{record.type,jdbcType=VARCHAR}, `type` = #{record.type,jdbcType=VARCHAR},
org_id = #{record.orgId,jdbcType=BIGINT},
`name` = #{record.name,jdbcType=VARCHAR}, `name` = #{record.name,jdbcType=VARCHAR},
nickname = #{record.nickname,jdbcType=VARCHAR}, nickname = #{record.nickname,jdbcType=VARCHAR},
avatar_path = #{record.avatarPath,jdbcType=VARCHAR}, avatar_path = #{record.avatarPath,jdbcType=VARCHAR},
@ -369,7 +362,7 @@
update_user_id = #{record.updateUserId,jdbcType=BIGINT}, update_user_id = #{record.updateUserId,jdbcType=BIGINT},
update_time = #{record.updateTime,jdbcType=TIMESTAMP} update_time = #{record.updateTime,jdbcType=TIMESTAMP}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause"/>
</if> </if>
</update> </update>
<update id="updateByPrimaryKeySelective" parameterType="club.joylink.rtss.entity.SysAccount"> <update id="updateByPrimaryKeySelective" parameterType="club.joylink.rtss.entity.SysAccount">
@ -384,9 +377,6 @@
<if test="type != null"> <if test="type != null">
`type` = #{type,jdbcType=VARCHAR}, `type` = #{type,jdbcType=VARCHAR},
</if> </if>
<if test="orgId != null">
org_id = #{orgId,jdbcType=BIGINT},
</if>
<if test="name != null"> <if test="name != null">
`name` = #{name,jdbcType=VARCHAR}, `name` = #{name,jdbcType=VARCHAR},
</if> </if>
@ -443,7 +433,6 @@
set account = #{account,jdbcType=VARCHAR}, set account = #{account,jdbcType=VARCHAR},
parent_account = #{parentAccount,jdbcType=VARCHAR}, parent_account = #{parentAccount,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR}, `type` = #{type,jdbcType=VARCHAR},
org_id = #{orgId,jdbcType=BIGINT},
`name` = #{name,jdbcType=VARCHAR}, `name` = #{name,jdbcType=VARCHAR},
nickname = #{nickname,jdbcType=VARCHAR}, nickname = #{nickname,jdbcType=VARCHAR},
avatar_path = #{avatarPath,jdbcType=VARCHAR}, avatar_path = #{avatarPath,jdbcType=VARCHAR},