fix mapper bugs for postgresql

This commit is contained in:
oonxt 2022-03-07 14:39:17 +08:00
parent 3fe3d7f863
commit 23ceb7be36
33 changed files with 2107 additions and 1831 deletions

View File

@ -259,7 +259,7 @@ public class Institutions extends JpaBaseEntity implements Serializable {
} }
public boolean isCaptchaSupport() { public boolean isCaptchaSupport() {
return (captchaSupport !=null && captchaSupport.equalsIgnoreCase("YES") ? true : false); return "YES".equalsIgnoreCase(captchaSupport);
} }

View File

@ -257,13 +257,13 @@ public class LoginRepository {
userInfo.getLoginCount() + 1, userInfo.getLoginCount() + 1,
userInfo.getId() userInfo.getId()
}, },
new int[] { Types.VARCHAR, Types.VARCHAR, Types.INTEGER, Types.VARCHAR }); new int[] { Types.TIMESTAMP, Types.VARCHAR, Types.INTEGER, Types.VARCHAR });
} }
public void updateLastLogoff(UserInfo userInfo) { public void updateLastLogoff(UserInfo userInfo) {
jdbcTemplate.update( LOGOUT_USERINFO_UPDATE_STATEMENT, jdbcTemplate.update( LOGOUT_USERINFO_UPDATE_STATEMENT,
new Object[] { userInfo.getLastLogoffTime(), userInfo.getId() }, new Object[] { userInfo.getLastLogoffTime(), userInfo.getId() },
new int[] { Types.VARCHAR, Types.VARCHAR }); new int[] { Types.TIMESTAMP, Types.VARCHAR });
} }
public class UserInfoRowMapper implements RowMapper<UserInfo> { public class UserInfoRowMapper implements RowMapper<UserInfo> {

View File

@ -18,15 +18,52 @@
</sql> </sql>
<select id="queryPageResults" parameterType="Accounts" resultType="Accounts"> <select id="queryPageResults" parameterType="Accounts" resultType="Accounts">
select select
* *
from from
mxk_accounts mxk_accounts
where where instid = #{instId}
(1=1)
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>
<select id="queryUserNotInStrategy" parameterType="AccountsStrategy" resultType="UserInfo">
select
*
from mxk_userinfo u
where u.instid = #{instId}
and not exists(
select 1 from mxk_accounts ac
where ac.appid = #{appId}
and ac.instid = #{instId}
and ac.userid = u.id
and ac.createtype='automatic'
)
<if test="filters != null and filters != ''">
and (${filters})
</if>
<if test="orgIdsList != null and orgIdsList != ''">
and u.departmentid in( ${orgIdsList})
</if>
</select>
<delete id="deleteByStrategy" parameterType="AccountsStrategy">
delete from mxk_accounts ac
where ac.instid = #{instId}
and ac.createtype = 'automatic'
and ac.appid = #{appId}
and ac.strategyid = #{id}
and not exists(
select 1
from mxk_userinfo u
where instid = #{instId}
and u.id=ac.userid
<if test="filters != null and filters != ''">
and (${filters})
</if>
<if test="orgIdsList != null and orgIdsList != ''">
and u.departmentid in ( ${orgIdsList})
</if>
)
</delete>
</mapper> </mapper>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.persistence.mapper.AccountsStrategyMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and mas.id = #{id}
</if>
<if test="appId != null and appId != ''">
and mas.appid = #{appId}
</if>
<if test="name != null and name != ''">
and mas.name = #{name}
</if>
</sql>
<select id="queryPageResults" parameterType="AccountsStrategy" resultType="AccountsStrategy">
select
mas.*,
ma.icon appicon
from
mxk_accounts_strategy mas,
mxk_apps ma
where ma.instid = #{instId}
and mas.instid = #{instId}
and mas.appid = ma.id
<include refid="where_statement"/>
</select>
</mapper>

View File

@ -15,7 +15,6 @@
</sql> </sql>
<select id="queryPageResults" parameterType="AppsAdapters" resultType="AppsAdapters"> <select id="queryPageResults" parameterType="AppsAdapters" resultType="AppsAdapters">
select select
* *

View File

@ -2,13 +2,11 @@
<!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="org.maxkey.persistence.mapper.AppsCasDetailsMapper"> <mapper namespace="org.maxkey.persistence.mapper.AppsCasDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsCasDetails"> <select id="getAppDetails" parameterType="string" resultType="AppsCasDetails">
select select *
* from mxk_apps_cas_details cd,
from
mxk_apps_cas_details cd,
mxk_apps app mxk_apps app
where where app.instid = cd.instid
status = 1 and app.status = 1
and cd.id = app.id and cd.id = app.id
and ( and (
app.id = #{value} app.id = #{value}

View File

@ -3,13 +3,11 @@
<mapper namespace="org.maxkey.persistence.mapper.AppsFormBasedDetailsMapper"> <mapper namespace="org.maxkey.persistence.mapper.AppsFormBasedDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsFormBasedDetails"> <select id="getAppDetails" parameterType="string" resultType="AppsFormBasedDetails">
select select *
* from mxk_apps_form_based_details fbd,
from
mxk_apps_form_based_details fbd,
mxk_apps app mxk_apps app
where where app.instId = fbd.instId
app.id = #{value} and app.id = #{value}
and fbd.id = #{value} and fbd.id = #{value}
and fbd.id = app.id and fbd.id = app.id
and status = 1 and status = 1

View File

@ -3,16 +3,14 @@
<mapper namespace="org.maxkey.persistence.mapper.AppsJwtDetailsMapper"> <mapper namespace="org.maxkey.persistence.mapper.AppsJwtDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsJwtDetails"> <select id="getAppDetails" parameterType="string" resultType="AppsJwtDetails">
select select *
* from mxk_apps_jwt_details jd,
from
mxk_apps_jwt_details jd,
mxk_apps app mxk_apps app
where where app.instid = jd.instid
app.id = #{value} and app.id = #{value}
and jd.id = #{value} and jd.id = #{value}
and jd.id = app.id
and status = 1 and status = 1
and jd.id = app.id
</select> </select>
</mapper> </mapper>

View File

@ -21,6 +21,7 @@
<if test="vendor != null and vendor != ''"> <if test="vendor != null and vendor != ''">
and vendor = #{vendor} and vendor = #{vendor}
</if> </if>
</sql> </sql>
@ -29,16 +30,14 @@
* *
from from
mxk_apps mxk_apps
where where instid = #{instId}
(1=1)
<include refid="where_statement"/> <include refid="where_statement"/>
order by sortindex order by sortindex
</select> </select>
<insert id="insertApp" parameterType="Apps"> <insert id="insertApp" parameterType="Apps">
insert into mxk_apps( insert into mxk_apps(id,
id,
name, name,
icon, icon,
loginurl, loginurl,
@ -48,37 +47,29 @@
description, description,
vendor, vendor,
vendorurl, vendorurl,
credential, credential,
sharedusername, sharedusername,
sharedpassword, sharedpassword,
systemuserattr, systemuserattr,
isextendattr, isextendattr,
extendattr, extendattr,
userpropertys, userpropertys,
issignature, issignature,
isadapter, isadapter,
adapterid,
adaptername,
adapter, adapter,
principal, principal,
credentials, credentials,
visible, visible,
sortindex, sortindex,
createdby, createdby,
createddate, createddate,
status, status,
logouturl, logouturl,
logouttype logouttype,
)values( instid)
#{id}, values (#{id},
#{name}, #{name},
#{icon}, #{icon},
#{loginUrl}, #{loginUrl},
@ -88,35 +79,28 @@
#{description}, #{description},
#{vendor}, #{vendor},
#{vendorUrl}, #{vendorUrl},
#{credential}, #{credential},
#{sharedUsername}, #{sharedUsername},
#{sharedPassword}, #{sharedPassword},
#{systemUserAttr}, #{systemUserAttr},
#{isExtendAttr}, #{isExtendAttr},
#{extendAttr}, #{extendAttr},
#{userPropertys}, #{userPropertys},
#{isSignature}, #{isSignature},
#{isAdapter}, #{isAdapter},
#{adapterId},
#{adapterName},
#{adapter}, #{adapter},
#{principal}, #{principal},
#{credentials}, #{credentials},
#{visible}, #{visible},
#{sortIndex}, #{sortIndex},
#{createdBy}, #{createdBy},
#{createdDate}, #{createdDate},
#{status}, #{status},
#{logoutUrl}, #{logoutUrl},
#{logoutType} #{logoutType},
) #{instId})
</insert> </insert>
<update id="updateApp" parameterType="Apps"> <update id="updateApp" parameterType="Apps">
@ -146,6 +130,8 @@
<if test="adapter != null"> <if test="adapter != null">
isadapter = #{isAdapter}, isadapter = #{isAdapter},
adapterid = #{adapterId},
adaptername = #{adapterName},
adapter = #{adapter}, adapter = #{adapter},
</if> </if>
principal = #{principal}, principal = #{principal},
@ -161,7 +147,7 @@
logouturl = #{logoutUrl}, logouturl = #{logoutUrl},
logouttype = #{logoutType} logouttype = #{logoutType}
where where
id = #{id} ID = #{id}
</update> </update>
<select id="queryMyApps" parameterType="UserApps" resultType="UserApps"> <select id="queryMyApps" parameterType="UserApps" resultType="UserApps">
@ -172,6 +158,9 @@
where where
app.id=gp.appid app.id=gp.appid
and gp.groupid=g.id and gp.groupid=g.id
and app.instid = #{instId}
and gp.instid = #{instId}
and g.instid = #{instId}
and app.visible != 0 and app.visible != 0
and ( and (
g.id='ROLE_ALL_USER' g.id='ROLE_ALL_USER'

View File

@ -3,8 +3,7 @@
<mapper namespace="org.maxkey.persistence.mapper.AppsSaml20DetailsMapper"> <mapper namespace="org.maxkey.persistence.mapper.AppsSaml20DetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsSaml20Details"> <select id="getAppDetails" parameterType="string" resultType="AppsSaml20Details">
select select svd.certissuer,
svd.certissuer,
svd.certsubject, svd.certsubject,
svd.certexpiration, svd.certexpiration,
svd.keystore, svd.keystore,
@ -21,11 +20,10 @@
svd.digestmethod, svd.digestmethod,
svd.metaurl, svd.metaurl,
app.* app.*
from from mxk_apps_saml_v20_details svd,
mxk_apps_saml_v20_details svd,
mxk_apps app mxk_apps app
where where app.instid = svd.instid
app.id = #{value} and app.id = #{value}
and svd.id = #{value} and svd.id = #{value}
and svd.id = app.id and svd.id = app.id
and app.status = 1 and app.status = 1

View File

@ -3,13 +3,11 @@
<mapper namespace="org.maxkey.persistence.mapper.AppsTokenBasedDetailsMapper"> <mapper namespace="org.maxkey.persistence.mapper.AppsTokenBasedDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsTokenBasedDetails"> <select id="getAppDetails" parameterType="string" resultType="AppsTokenBasedDetails">
select select *
* from mxk_apps_token_based_details tbd,
from
mxk_apps_token_based_details tbd,
mxk_apps app mxk_apps app
where where app.instid = tbd.instid
app.id = #{value} and app.id = #{value}
and tbd.id = #{value} and tbd.id = #{value}
and tbd.id = app.id and tbd.id = app.id
and status = 1 and status = 1

View File

@ -14,8 +14,7 @@
<!-- GROUP_MEMBER User Member--> <!-- GROUP_MEMBER User Member-->
<select id="allMemberInGroup" parameterType="GroupMember" resultType="GroupMember"> <select id="allMemberInGroup" parameterType="GroupMember" resultType="GroupMember">
select distinct select distinct u.id,
u.id,
u.username, u.username,
u.usertype, u.usertype,
u.windowsaccount, u.windowsaccount,
@ -45,16 +44,11 @@
u.jobtitle, u.jobtitle,
u.joblevel, u.joblevel,
u.createdby,
u.createddate, u.createddate,
u.modifiedby,
u.modifieddate,
u.status u.status
from from mxk_userinfo u
mxk_userinfo u where instid = #{instId}
where 1 = 1
</select> </select>
<select id="memberInGroup" parameterType="GroupMember" resultType="GroupMember"> <select id="memberInGroup" parameterType="GroupMember" resultType="GroupMember">
@ -89,18 +83,16 @@
u.jobtitle, u.jobtitle,
u.joblevel, u.joblevel,
gm.createddate,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status u.status
from from
mxk_userinfo u, mxk_userinfo u,
mxk_groups g, mxk_groups g,
mxk_group_member gm mxk_group_member gm
where 1 = 1 where u.instid = #{instId}
and g.instid = #{instId}
and gm.instid = #{instId}
<if test="groupId != null and groupId != ''"> <if test="groupId != null and groupId != ''">
and gm.groupid = #{groupId} and gm.groupid = #{groupId}
and g.id = #{groupId} and g.id = #{groupId}
@ -215,10 +207,10 @@
type type
) )
select select
concat_ws('-','UD','${id}',u.id) id, concat('${id}',u.id) id,
'${id}' groupid, '${id}' groupid,
u.id memberid, u.id memberid,
'USER-DYNAMIC' as type 'USER-DYNAMIC' TYPE
from mxk_userinfo u from mxk_userinfo u
where not exists( where not exists(
select 1 from mxk_group_member gm select 1 from mxk_group_member gm
@ -252,8 +244,53 @@
) )
</delete> </delete>
<select id="queryMemberByGroupId" parameterType="string" resultType="UserInfo">
select distinct u.id,
u.username,
u.usertype,
u.windowsaccount,
u.displayname,
u.nickname,
u.namezhspell,
u.namezhshortspell,
u.givenname,
u.middlename,
u.familyname,
u.gender,
u.authntype,
u.mobile,
u.email,
u.workemail,
u.workphonenumber,
u.employeenumber,
u.division,
u.costcenter,
u.organization,
u.departmentid,
u.department,
u.jobtitle,
u.joblevel,
gm.createddate,
u.status
from mxk_userinfo u,
mxk_groups g,
mxk_group_member gm
where 1 = 1
and gm.groupid = #{value}
and g.id = #{value}
and gm.type in ('USER', 'USER-DYNAMIC')
and gm.groupid = g.id
and gm.memberid = u.id
</select>
<delete id="deleteByGroupId" parameterType="string"> <delete id="deleteByGroupId" parameterType="string">
delete from mxk_group_member gm delete
from mxk_group_member gm
where gm.groupid = #{value} where gm.groupid = #{value}
</delete> </delete>

View File

@ -35,7 +35,9 @@
mxk_apps apps, mxk_apps apps,
mxk_group_privileges gp mxk_group_privileges gp
where where
gp.appid=apps.id apps.instid = #{instId}
and gp.instid = #{instId}
and gp.appid = apps.id
and gp.groupid = #{groupId} and gp.groupid = #{groupId}
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>

View File

@ -12,14 +12,12 @@
</sql> </sql>
<select id="queryPageResults" parameterType="Groups" resultType="Groups"> <select id="queryPageResults" parameterType="Groups" resultType="Groups">
select select
* *
from from
mxk_groups mxk_groups
where where instid = #{instId}
(1=1)
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>
@ -28,8 +26,8 @@
* *
from from
mxk_groups mxk_groups
where where instid = #{instId}
dynamic = '1' and dynamic = '1'
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>
@ -37,7 +35,7 @@
<update id="logisticDelete" parameterType="Groups"> <update id="logisticDelete" parameterType="Groups">
update mxk_groups set update mxk_groups set
status = '2' status = '2'
where 1 = 1 where instid = #{instId}
<if test="id != null"> <if test="id != null">
and id = #{id} and id = #{id}
</if> </if>
@ -48,11 +46,30 @@
<update id="logisticBatchDelete" parameterType="java.util.List"> <update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_groups set status='2' where id in update mxk_groups
set status='2'
where instid = #{instId}
and id in
<foreach item="item" collection="list" open="(" separator="," close=")"> <foreach item="item" collection="list" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</update> </update>
<select id="queryGroupByUserId" parameterType="string" resultType="Groups">
select distinct g.*
from mxk_userinfo u,
mxk_groups g,
mxk_group_member gm
where u.instid = #{instId}
and g.instid = #{instId}
and gm.instid = #{instId}
and gm.memberid = #{value}
and u.id = #{value}
and gm.type in ('USER', 'USER-DYNAMIC')
and gm.groupid = g.id
and gm.memberid = u.id
</select>
</mapper> </mapper>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.persistence.mapper.HistoryConnectorMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="conName != null and conName != ''">
and conName = #{conName}
</if>
<if test="conType != null and conType != ''">
and conType = #{conType}
</if>
<if test="sourceId != null and sourceId != ''">
and sourceId = #{sourceId}
</if>
<if test="sourceName != null and sourceName != ''">
and sourceName = #{sourceName}
</if>
<if test="objectId != null and objectId != ''">
and objectId = #{objectId}
</if>
<if test="objectName != null and objectName != ''">
and objectname = #{objectName}
</if>
<if test="result != null and result != ''">
and result = #{result}
</if>
<if test="startDate != null and startDate != ''">
and synctime >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and #{endDate} >= synctime
</if>
<if test="description != null and description != ''">
and description like '%${description}%'
</if>
</sql>
<select id="queryPageResults" parameterType="HistoryConnector" resultType="HistoryConnector">
select
*
from mxk_history_connector
where instid = #{instId}
<include refid="where_statement"/>
order by synctime desc
</select>
</mapper>

View File

@ -19,7 +19,7 @@
and userId = #{userId} and userId = #{userId}
</if> </if>
<if test="username != null and username != ''"> <if test="username != null and username != ''">
and username like concat('%',#{username},'%') and username = #{username}
</if> </if>
<if test="displayName != null and displayName != ''"> <if test="displayName != null and displayName != ''">
and displayname like concat('%',#{displayName},'%') and displayname like concat('%',#{displayName},'%')
@ -39,12 +39,13 @@
sessionid, sessionid,
appid, appid,
appname, appname,
uid, userId,
username, username,
displayname, displayname,
to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime
from mxk_history_login_apps from mxk_history_login_apps
where 1 = 1 where instid = #{instId}
<include refid="dao_where_statement"/> <include refid="dao_where_statement"/>
order by logintime desc order by logintime desc

View File

@ -37,7 +37,6 @@
</sql> </sql>
<select id="queryPageResults" parameterType="HistoryLogin" resultType="HistoryLogin"> <select id="queryPageResults" parameterType="HistoryLogin" resultType="HistoryLogin">
select select
id, id,
@ -55,18 +54,45 @@
application, application,
loginurl, loginurl,
to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime, to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime,
to_char(logouttime,'YYYY-MM-DD HH24:MI:SS') as logouttime logouttime
from mxk_history_login from mxk_history_login
where 1 = 1 where instid = #{instId}
<include refid="dao_where_statement"/>
order by logintime desc
</select>
<select id="queryOnlineSession" parameterType="HistoryLogin" resultType="HistoryLogin">
select
sessionid id,
sessionid,
userId,
username,
displayname,
logintype,
message,
code,
provider,
sourceip,
browser,
platform,
application,
loginurl,
to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime,
logouttime
from mxk_history_login
where instid = #{instId}
and sessionstatus = 1
<include refid="dao_where_statement"/> <include refid="dao_where_statement"/>
order by logintime desc order by logintime desc
</select> </select>
<update id="logout" parameterType="java.lang.String"> <update id="logout" parameterType="java.lang.String">
update mxk_history_login set update mxk_history_login
logouttime = current_timestamp set logouttime = current_timestamp
where where sessionid = #{value}
sessionid = #{value}
</update> </update>
</mapper> </mapper>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.persistence.mapper.HistorySynchronizerMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="syncId != null and syncId != ''">
and syncid = #{syncId}
</if>
<if test="objectName != null and objectName != ''">
and objectname = #{objectName}
</if>
<if test="result != null and result != ''">
and result = #{result}
</if>
<if test="startDate != null and startDate != ''">
and synctime >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and #{endDate} >= synctime
</if>
</sql>
<select id="queryPageResults" parameterType="HistorySynchronizer" resultType="HistorySynchronizer">
select
*
from mxk_history_synchronizer
where instid = #{instId}
<include refid="where_statement"/>
order by synctime desc
</select>
</mapper>

View File

@ -46,7 +46,7 @@
createddate, createddate,
createdby createdby
from mxk_history_logs from mxk_history_logs
where 1 = 1 where instid = #{instId}
<include refid="where_statement"/> <include refid="where_statement"/>
order by createddate desc order by createddate desc

View File

@ -12,25 +12,22 @@
</sql> </sql>
<select id="queryPageResults" parameterType="Notices" resultType="Notices"> <select id="queryPageResults" parameterType="Notices" resultType="Notices">
select select
* *
from from
mxk_notices mxk_notices
where where
(1=1) instid = #{instId}
<include refid="where_statement"/> <include refid="where_statement"/>
order by modifieddate desc order by modifieddate desc
</select> </select>
<select id="queryLastedNotices" parameterType="Notices" resultType="Notices"> <select id="queryLastedNotices" parameterType="Notices" resultType="Notices">
select select *
* from mxk_notices
from where instid = #{instId}
mxk_notices order by modifieddate desc limit 1
order by modifieddate desc
limit 1
</select> </select>
</mapper> </mapper>

View File

@ -7,31 +7,40 @@
and id = #{id} and id = #{id}
</if> </if>
<if test="name != null and name != '' "> <if test="name != null and name != '' ">
and name like '%#{name}%' and name like '%${name}%'
</if> </if>
<if test="parentId != null and parentId != '' "> <if test="parentId != null and parentId != '' ">
and parentid = #{parentId} and parentid = #{parentId}
</if> </if>
<if test="parentName != null and parentName != ''"> <if test="parentName != null and parentName != ''">
and parentname like '%#{parentName}%' and parentName like '%${parentName}%'
</if> </if>
</sql> </sql>
<select id="queryOrgs" parameterType="Organizations" resultType="Organizations">
select
*
from mxk_organizations
where instid = #{instId}
<include refid="dao_where_statement"/>
order by sortindex,id
</select>
<select id="queryPageResults" parameterType="Organizations" resultType="Organizations"> <select id="queryPageResults" parameterType="Organizations" resultType="Organizations">
select select
* *
from mxk_organizations from mxk_organizations
where 1 = 1 where instid = #{instId}
<include refid="dao_where_statement"/> <include refid="dao_where_statement"/>
order by sortindex,id
</select> </select>
<update id="logisticDelete" parameterType="Organizations"> <update id="logisticDelete" parameterType="Organizations">
update mxk_organizations set status = '2' update mxk_organizations set status = '2'
where 1 = 1 where instid = #{instId}
<if test="id != null and id != '' "> <if test="id != null and id != '' ">
and id = #{id} and id = #{id}
</if> </if>
@ -47,8 +56,10 @@
</update> </update>
<update id="logisticBatchDelete" parameterType="java.util.List"> <update id="logisticBatchDelete" parameterType="java.util.List">
UPDATE MXK_ORGANIZATIONS SET STATUS = '2' UPDATE MXK_ORGANIZATIONS
WHERE ID IN SET STATUS = '2'
WHERE instid = #{instId}
and id in
<foreach collection="ids" item="selectId" open="(" separator="," close=")"> <foreach collection="ids" item="selectId" open="(" separator="," close=")">
#{selectId} #{selectId}
</foreach> </foreach>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.persistence.mapper.RegisterMapper">
<select id="findByEmail" parameterType="string" resultType="Register">
select *
from mxk_register
where workemail = #{value}
</select>
</mapper>

View File

@ -3,21 +3,15 @@
<mapper namespace="org.maxkey.persistence.mapper.RegistrationMapper"> <mapper namespace="org.maxkey.persistence.mapper.RegistrationMapper">
<select id="queryUserInfoByEmail" parameterType="string" resultType="UserInfo"> <select id="queryUserInfoByEmail" parameterType="string" resultType="UserInfo">
select select id,
id,
email email
from from userinfo
userinfo where email = #{value}
where
email = #{value}
union union
select select id,
id,
workemail eamil workemail eamil
from from mxk_registration
mxk_registration where workemail = #{value}
where
workemail = #{value}
</select> </select>
</mapper> </mapper>

View File

@ -2,81 +2,76 @@
<!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="org.maxkey.persistence.mapper.ReportMapper"> <mapper namespace="org.maxkey.persistence.mapper.ReportMapper">
<!-- DAY COUNT 一天访问量 --> <!-- DAY COUNT 一天访问量 -->
<select id="analysisDay" resultType="Integer"> <select id="analysisDay" parameterType="java.util.HashMap" resultType="Integer">
select select count(id) reportcount
count(id) reportcount
from mxk_history_login from mxk_history_login
where where instid = #{instId}
date(logintime) =current_date and date (logintime) = current_date
</select> </select>
<!-- 本月新用户统计 --> <!-- 本月新用户统计 -->
<select id="analysisNewUsers" parameterType="String" resultType="Integer"> <select id="analysisNewUsers" parameterType="java.util.HashMap" resultType="Integer">
select select count(*) reportcount
count(*) reportcount
from mxk_userinfo from mxk_userinfo
where to_char(createddate,'YYYY-MM')=to_char(current_date,'YYYY-MM') where instid = #{instId}
and to_char(createddate,'YYYY-MM')=to_char(current_date,'YYYY-MM')
</select> </select>
<!-- 在线用户统计 --> <!-- 在线用户统计 -->
<select id="analysisOnlineUsers" parameterType="String" resultType="Integer"> <select id="analysisOnlineUsers" parameterType="java.util.HashMap" resultType="Integer">
select select count(*) reportcount
count(*) reportcount
from mxk_userinfo from mxk_userinfo
where where instid = #{instId}
lastlogintime >lastlogofftime and online = 1
and extract(epoch from now() - lastlogintime) &lt; 10000
</select> </select>
<!-- 30天活跃用户统计 --> <!-- 30天活跃用户统计 -->
<select id="analysisActiveUsers" parameterType="String" resultType="Integer"> <select id="analysisActiveUsers" parameterType="java.util.HashMap" resultType="Integer">
select select count(*) reportcount
count(*) reportcount
from mxk_userinfo from mxk_userinfo
where where instid = #{instId}
date(lastlogintime) >(current_date - interval '30 day') and date(lastlogintime) > (current_date - interval '30 day')
</select> </select>
<!-- DAY HOUR COUNT 当天每小时 --> <!-- DAY HOUR COUNT 当天每小时 -->
<select id="analysisDayHour" parameterType="String" resultType="Map"> <select id="analysisDayHour" parameterType="java.util.HashMap" resultType="Map">
select select count(id) reportcount,
count(id) reportcount,
to_char(logintime,'HH24') reportstring to_char(logintime,'HH24') reportstring
from mxk_history_login from mxk_history_login
where where instid = #{instId}
date(logintime) =current_date and date (logintime) = current_date
group by reportstring group by reportstring
order by reportstring order by reportstring
</select> </select>
<!-- 30 DAY COUNT 最近30天每天访问量--> <!-- 30 DAY COUNT 最近30天每天访问量-->
<select id="analysisMonth" parameterType="String" resultType="Map"> <select id="analysisMonth" parameterType="java.util.HashMap" resultType="Map">
select select count(id) reportcount,
count(id) reportcount,
date (logintime) reportstring date (logintime) reportstring
from mxk_history_login from mxk_history_login
where where instid = #{instId}
date(logintime) >(current_date - interval '30 day') and date(logintime) > (current_date - interval '30 day')
group by reportstring group by reportstring
order by reportstring order by reportstring
</select> </select>
<!-- 30天浏览器的访问统计 --> <!-- 30天浏览器的访问统计 -->
<select id="analysisBrowser" parameterType="Map" resultType="Map"> <select id="analysisBrowser" parameterType="java.util.HashMap" resultType="Map">
select select count(id) reportcount,
count(id) reportcount, coalesce(browser, 'Other') reportstring
browser reportstring
from mxk_history_login from mxk_history_login
where where instid = #{instId}
date(logintime) >(current_date - interval '30 day') and date(logintime) &gt; (current_date - interval '30 day')
group by reportstring group by reportstring
order by reportcount desc order by reportcount desc
</select> </select>
<!-- 30天应用单点登录的访问统计 --> <!-- 30天应用单点登录的访问统计 -->
<select id="analysisApp" parameterType="Map" resultType="Map"> <select id="analysisApp" parameterType="Map" resultType="Map">
select select count(id) reportcount,
count(id) reportcount,
appname appname
from mxk_history_login_apps from mxk_history_login_apps
where where instid = #{instId}
date(logintime) >(current_date - interval '30 day') and date(logintime) &gt; (current_date - interval '30 day')
group by appname order by reportcount desc group by appname
order by reportcount desc
</select> </select>
</mapper> </mapper>

View File

@ -18,14 +18,15 @@
</sql> </sql>
<select id="queryPageResults" parameterType="Resources" resultType="Resources"> <select id="queryPageResults" parameterType="Resources" resultType="Resources">
select select
res.*,app.name appname res.*,app.name appname
from from
mxk_resources res, mxk_apps app mxk_resources res, mxk_apps app
where where
(1=1) and res.appid=app.id res.instid = #{instId}
and app.instid = #{instId}
and res.appid=app.id
<include refid="where_statement"/> <include refid="where_statement"/>
order by res.sortindex order by res.sortindex
</select> </select>
@ -34,7 +35,7 @@
<update id="logisticDelete" parameterType="Resources"> <update id="logisticDelete" parameterType="Resources">
update mxk_resources set update mxk_resources set
status = '2' status = '2'
where 1 = 1 where instid = #{instId}
<if test="id != null"> <if test="id != null">
and id = #{id} and id = #{id}
</if> </if>
@ -45,7 +46,10 @@
<update id="logisticBatchDelete" parameterType="java.util.List"> <update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_resources set status='2' where id in update mxk_resources
set status='2'
where instid = #{instId}
and id in
<foreach item="item" collection="list" open="(" separator="," close=")"> <foreach item="item" collection="list" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>

View File

@ -14,8 +14,7 @@
<!-- ROLE_MEMBER User Member--> <!-- ROLE_MEMBER User Member-->
<select id="allMemberInRole" parameterType="RoleMember" resultType="RoleMember"> <select id="allMemberInRole" parameterType="RoleMember" resultType="RoleMember">
select distinct select distinct u.id,
u.id,
u.username, u.username,
u.usertype, u.usertype,
u.windowsaccount, u.windowsaccount,
@ -45,16 +44,11 @@
u.jobtitle, u.jobtitle,
u.joblevel, u.joblevel,
u.createdby,
u.createddate, u.createddate,
u.modifiedby,
u.modifieddate,
u.status u.status
from from mxk_userinfo u
mxk_userinfo u where instid = #{instId}
where 1 = 1
</select> </select>
<select id="memberInRole" parameterType="RoleMember" resultType="RoleMember"> <select id="memberInRole" parameterType="RoleMember" resultType="RoleMember">
@ -90,17 +84,16 @@
u.joblevel, u.joblevel,
u.createdby, rm.createddate,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status u.status
from from
mxk_userinfo u, mxk_userinfo u,
mxk_roles r, mxk_roles r,
mxk_role_member rm mxk_role_member rm
where 1 = 1 where u.instid = #{instId}
and r.instid = #{instId}
and rm.instid = #{instId}
<if test="roleId != null and roleId != ''"> <if test="roleId != null and roleId != ''">
and rm.roleid = #{roleId} and rm.roleid = #{roleId}
and r.id = #{roleId} and r.id = #{roleId}
@ -216,7 +209,7 @@
type type
) )
select select
concat_ws('-','UD','${id}',u.id) id, concat('${id}',u.id) id,
'${id}' ROLEID, '${id}' ROLEID,
u.id memberid, u.id memberid,
'USER-DYNAMIC' type 'USER-DYNAMIC' type
@ -254,7 +247,8 @@
</delete> </delete>
<delete id="deleteByRoleId" parameterType="string"> <delete id="deleteByRoleId" parameterType="string">
delete from mxk_role_member rm delete
from mxk_role_member rm
where rm.roleid = #{value} where rm.roleid = #{value}
</delete> </delete>

View File

@ -15,9 +15,9 @@
select select
* *
from from
mxk_groups mxk_roles
where where instid = #{instId}
dynamic = '1' and dynamic = '1'
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>
@ -27,7 +27,7 @@
from from
mxk_roles mxk_roles
where where
(1=1) instid = #{instId}
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>
@ -35,7 +35,7 @@
<update id="logisticDelete" parameterType="Roles"> <update id="logisticDelete" parameterType="Roles">
update mxk_roles set update mxk_roles set
status = '2' status = '2'
where 1 = 1 where instid = #{instId}
<if test="id != null"> <if test="id != null">
and id = #{id} and id = #{id}
</if> </if>
@ -46,7 +46,10 @@
<update id="logisticBatchDelete" parameterType="java.util.List"> <update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_roles set status='2' where id in update mxk_roles
set status='2'
where instid = #{instId}
and id in
<foreach item="item" collection="list" open="(" separator="," close=")"> <foreach item="item" collection="list" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
@ -58,8 +61,8 @@
* *
from from
mxk_role_permissions mxk_role_permissions
where where instid = #{instId}
status = 1 and status = 1
<if test="id != null and id != ''"> <if test="id != null and id != ''">
and id = #{id} and id = #{id}
</if> </if>
@ -73,20 +76,21 @@
</select> </select>
<update id="logisticDeleteRolePermissions" parameterType="java.util.List"> <update id="logisticDeleteRolePermissions" parameterType="java.util.List">
update mxk_role_permissions set status=9 where id in update mxk_role_permissions
<foreach item="item" collection="list" open="(" separator="," close=")"> set status = 9
#{item.id} where 1 = 1 and
<foreach item="item" collection="list" open="(" separator="or" close=")">
( id = #{item.id} and instid = #{item.instId} )
</foreach> </foreach>
</update> </update>
<insert id="insertRolePermissions" parameterType="java.util.List"> <insert id="insertRolePermissions" parameterType="java.util.List">
insert into mxk_role_permissions ( id,appid,roleid,resourceid,status) insert into mxk_role_permissions ( id,appid,roleid,resourceid,status,instid)
values values
<foreach collection="list" item="item" index="index" separator=","> <foreach collection="list" item="item" index="index" separator=",">
(#{item.id},#{item.appId},#{item.roleId},#{item.resourceId},#{item.status}) (#{item.id},#{item.appId},#{item.roleId},#{item.resourceId},#{item.status},#{item.instId})
</foreach> </foreach>
</insert> </insert>
</mapper> </mapper>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.persistence.mapper.SocialsProviderMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="providerName != null and providerName != ''">
and providerName like '%${providerName}%'
</if>
</sql>
<select id="queryPageResults" parameterType="SocialsProvider" resultType="SocialsProvider">
select
*
from
mxk_socials_provider
where
instid = #{instId}
<include refid="where_statement"/>
order by sortindex
</select>
</mapper>

View File

@ -17,7 +17,7 @@
from from
mxk_synchronizers mxk_synchronizers
where where
(1=1) instid = #{instId}
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>

View File

@ -12,14 +12,13 @@
</sql> </sql>
<select id="queryPageResults" parameterType="UserInfoAdjoint" resultType="UserInfoAdjoint"> <select id="queryPageResults" parameterType="UserInfoAdjoint" resultType="UserInfoAdjoint">
select select
* *
from from
mxk_userinfo_adjunct mxk_userinfo_adjunct
where where
(1=1) instid = #{instId}
<include refid="where_statement"/> <include refid="where_statement"/>
</select> </select>
@ -27,23 +26,25 @@
<update id="logisticDelete" parameterType="UserInfoAdjoint"> <update id="logisticDelete" parameterType="UserInfoAdjoint">
update mxk_userinfo_adjunct set update mxk_userinfo_adjunct set
status = '2' status = '2'
where 1 = 1 where instid = #{instId}
<if test="id != null"> <if test="id != null">
and id = #{id} and id = #{id}
</if> </if>
<if test="name != name"> <if test="name != name">
and name = #{name} and NAME = #{name}
</if> </if>
</update> </update>
<update id="logisticBatchDelete" parameterType="java.util.List"> <update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_userinfo_adjunct set status='2' where id in update mxk_userinfo_adjunct
set status='2'
where instid = #{instId}
and id in
<foreach item="item" collection="list" open="(" separator="," close=")"> <foreach item="item" collection="list" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</update> </update>
</mapper> </mapper>

View File

@ -2,14 +2,6 @@
<!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="org.maxkey.persistence.mapper.UserInfoMapper"> <mapper namespace="org.maxkey.persistence.mapper.UserInfoMapper">
<select id="loadByUsername" parameterType="string" resultType="UserInfo">
select
*
from
mxk_userinfo
where username = #{value}
</select>
<select id="queryPageResults" parameterType="UserInfo" resultType="UserInfo"> <select id="queryPageResults" parameterType="UserInfo" resultType="UserInfo">
select select
id, id,
@ -51,8 +43,7 @@
status status
from from
mxk_userinfo mxk_userinfo
where where instid = #{instId}
(1=1)
<if test="username != null and username != ''"> <if test="username != null and username != ''">
and username = #{username} and username = #{username}
</if> </if>
@ -68,10 +59,10 @@
<if test="departmentId != null and departmentId != ''"> <if test="departmentId != null and departmentId != ''">
and departmentid = #{departmentId} and departmentid = #{departmentId}
</if> </if>
order by sortorder order by sortorder,id
</select> </select>
<update id="locked" parameterType="UserInfo" > <update id="updateLocked" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="isLocked != null"> <if test="isLocked != null">
islocked = #{isLocked}, islocked = #{isLocked},
@ -81,7 +72,7 @@
id = #{id} id = #{id}
</update> </update>
<update id="lockout" parameterType="UserInfo" > <update id="updateLockout" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="isLocked != null"> <if test="isLocked != null">
islocked = #{isLocked}, islocked = #{isLocked},
@ -93,19 +84,19 @@
id = #{id} id = #{id}
</update> </update>
<update id="changePassword" parameterType="UserInfo" > <update id="updatePassword" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="password != null"> <if test="password != null">
password = #{password}, password = #{password},
decipherable = #{decipherable}, decipherable = #{decipherable},
passwordsettype =#{passwordSetType},
</if> </if>
passwordsettype = 0,
passwordlastsettime = current_timestamp passwordlastsettime = current_timestamp
where where
id = #{id} id = #{id}
</update> </update>
<update id="changeSharedSecret" parameterType="UserInfo" > <update id="updateSharedSecret" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="sharedSecret != null"> <if test="sharedSecret != null">
sharedsecret = #{sharedSecret}, sharedsecret = #{sharedSecret},
@ -116,7 +107,7 @@
id = #{id} id = #{id}
</update> </update>
<update id="changeAppLoginPassword" parameterType="UserInfo" > <update id="updateAppLoginPassword" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="appLoginPassword != null"> <if test="appLoginPassword != null">
apploginpassword = #{appLoginPassword}, apploginpassword = #{appLoginPassword},
@ -136,7 +127,7 @@
id = #{id} id = #{id}
</update> </update>
<update id="changePasswordQuestion" parameterType="UserInfo" > <update id="updatePasswordQuestion" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="passwordAnswer != null"> <if test="passwordAnswer != null">
passwordquestion = #{passwordQuestion}, passwordquestion = #{passwordQuestion},
@ -147,7 +138,7 @@
id = #{id} id = #{id}
</update> </update>
<update id="changeAuthnType" parameterType="UserInfo" > <update id="updateAuthnType" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="authnType != null"> <if test="authnType != null">
authntype = #{authnType}, authntype = #{authnType},
@ -157,7 +148,7 @@
id = #{id} id = #{id}
</update> </update>
<update id="changeEmail" parameterType="UserInfo" > <update id="updateEmail" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="email != null"> <if test="email != null">
email = #{email}, email = #{email},
@ -173,7 +164,7 @@
id = #{id} id = #{id}
</update> </update>
<update id="changeMobile" parameterType="UserInfo" > <update id="updateMobile" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
<if test="mobile != null"> <if test="mobile != null">
mobile = #{mobile}, mobile = #{mobile},
@ -186,13 +177,6 @@
id = #{id} id = #{id}
</update> </update>
<update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_userinfo set status='2' where id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<update id="updateProfile" parameterType="UserInfo"> <update id="updateProfile" parameterType="UserInfo">
update mxk_userinfo set update mxk_userinfo set
displayname = #{displayName}, displayname = #{displayName},
@ -249,4 +233,30 @@
id = #{id} id = #{id}
</update> </update>
<select id="findDeptsByUserId" parameterType="string" resultType="Organizations">
select o.*, 1 isPrimary
from mxk_organizations o,
mxk_userinfo u
where o.instid = #{instId}
and u.instid = #{instId}
and o.id = u.departmentid
and u.id = #{value}
union all
select o.*, 0 isPrimary
from mxk_organizations o,
mxk_userinfo_adjunct ua
where o.instid = #{instId}
and ua.instid = #{instId}
and o.id = ua.departmentid
and ua.userid = #{value}
</select>
<select id="findAdjointsByUserId" parameterType="string" resultType="UserInfoAdjoint">
select *
from mxk_userinfo_adjunct
where userid = #{value}
</select>
</mapper> </mapper>