Merge pull request #51 from fucan1017/master

postgresql适配
This commit is contained in:
MaxKey 2021-05-19 06:58:15 +08:00 committed by GitHub
commit 6f5580a7aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 1843 additions and 0 deletions

View File

@ -0,0 +1,32 @@
<?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.AccountsMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="appId != null and appId != ''">
and appid = #{appId}
</if>
<if test="username != null and username != ''">
and username = #{username}
</if>
<if test="relatedUsername != null and relatedUsername != ''">
and relatedusername = #{relatedUsername}
</if>
</sql>
<select id="queryPageResults" parameterType="Accounts" resultType="Accounts">
select
*
from
mxk_accounts
where
(1=1)
<include refid="where_statement"/>
</select>
</mapper>

View File

@ -0,0 +1,30 @@
<?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.AppsAdaptersMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name like '%${name}%'
</if>
<if test="protocol != null and protocol != ''">
and protocol = #{protocol}
</if>
</sql>
<select id="queryPageResults" parameterType="AppsAdapters" resultType="AppsAdapters">
select
*
from
mxk_apps_adapters
where
(1=1)
<include refid="where_statement"/>
order by sortindex
</select>
</mapper>

View File

@ -0,0 +1,18 @@
<?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.AppsCasDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsCasDetails">
select
*
from
mxk_apps_cas_details cd,
mxk_apps app
where
status = 1
and cd.id = app.id
and (
app.id = #{value}
or lower(cd.service) = lower(substring(#{value},1,length(cd.service)))
)
</select>
</mapper>

View File

@ -0,0 +1,17 @@
<?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.AppsFormBasedDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsFormBasedDetails">
select
*
from
mxk_apps_form_based_details fbd,
mxk_apps app
where
app.id = #{value}
and fbd.id = #{value}
and fbd.id = app.id
and status = 1
</select>
</mapper>

View File

@ -0,0 +1,18 @@
<?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.AppsJwtDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsJwtDetails">
select
*
from
mxk_apps_jwt_details jd,
mxk_apps app
where
app.id = #{value}
and jd.id = #{value}
and jd.id = app.id
and status = 1
</select>
</mapper>

View File

@ -0,0 +1,197 @@
<?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.AppsMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name like '%${name}%'
</if>
<if test="protocol != null and protocol != ''">
and protocol = #{protocol}
</if>
<if test="credential != null and credential != ''">
and credential = #{credential}
</if>
<if test="category != null and category != ''">
and category = #{category}
</if>
<if test="vendor != null and vendor != ''">
and vendor = #{vendor}
</if>
</sql>
<select id="queryPageResults" parameterType="Apps" resultType="Apps">
select
*
from
mxk_apps
where
(1=1)
<include refid="where_statement"/>
order by sortindex
</select>
<insert id="insertApp" parameterType="Apps">
insert into mxk_apps(
id,
name,
icon,
loginurl,
protocol,
category,
secret,
description,
vendor,
vendorurl,
credential,
sharedusername,
sharedpassword,
systemuserattr,
isextendattr,
extendattr,
userpropertys,
issignature,
isadapter,
adapter,
principal,
credentials,
visible,
sortindex,
createdby,
createddate,
status,
logouturl,
logouttype
)values(
#{id},
#{name},
#{icon},
#{loginUrl},
#{protocol},
#{category},
#{secret},
#{description},
#{vendor} ,
#{vendorUrl},
#{credential},
#{sharedUsername},
#{sharedPassword},
#{systemUserAttr},
#{isExtendAttr},
#{extendAttr},
#{userPropertys},
#{isSignature},
#{isAdapter},
#{adapter},
#{principal},
#{credentials},
#{visible},
#{sortIndex},
#{createdBy},
#{createdDate} ,
#{status},
#{logoutUrl},
#{logoutType}
)
</insert>
<update id="updateApp" parameterType="Apps" >
update mxk_apps set
name = #{name},
<if test="icon != null">
icon = #{icon},
</if>
loginurl = #{loginUrl},
protocol = #{protocol},
category = #{category},
secret = #{secret},
description = #{description},
vendor = #{vendor},
vendorurl = #{vendorUrl},
credential = #{credential},
sharedusername = #{sharedUsername},
sharedpassword = #{sharedPassword},
systemuserattr = #{systemUserAttr},
<!--
isextendattr = #{isExtendAttr},
extendattr = #{extendAttr},
-->
userpropertys = #{userPropertys},
issignature = #{isSignature},
<if test="adapter != null">
isadapter = #{isAdapter},
adapter = #{adapter},
</if>
principal = #{principal},
credentials = #{credentials},
visible = #{visible},
sortindex = #{sortIndex},
modifiedby = #{modifiedBy},
modifieddate = #{modifiedDate},
status = #{status},
logouturl = #{logoutUrl},
logouttype = #{logoutType}
where
id = #{id}
</update>
<select id="queryMyApps" parameterType="UserApps" resultType="UserApps">
select distinct
app.*
from
mxk_apps app,mxk_group_privileges gp,mxk_groups g
where
app.id=gp.appid
and gp.groupid=g.id
and app.visible != 0
and (
g.id='ROLE_ALL_USER'
or g.id in(
select
gm.groupid
from
mxk_group_member gm,mxk_userinfo u
where gm.memberid = u.id
<if test="userId != null and userId != ''">
and u.id = #{userId}
</if>
<if test="username != null and username != ''">
and u.username = #{username}
</if>
)
)
<if test="name != null and name != ''">
and name = #{name}
</if>
order by sortindex
</select>
</mapper>

View File

@ -0,0 +1,34 @@
<?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.AppsSaml20DetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsSaml20Details">
select
svd.certissuer,
svd.certsubject,
svd.certexpiration,
svd.keystore,
svd.spacsurl ,
svd.issuer,
svd.entityid,
svd.audience,
svd.validityinterval ,
svd.nameidformat,
svd.encrypted,
svd.binding,
svd.nameidconvert,
svd.signature,
svd.digestmethod,
svd.metaurl,
app.*
from
mxk_apps_saml_v20_details svd,
mxk_apps app
where
app.id = #{value}
and svd.id = #{value}
and svd.id = app.id
and app.status = 1
</select>
</mapper>

View File

@ -0,0 +1,18 @@
<?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.AppsTokenBasedDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsTokenBasedDetails">
select
*
from
mxk_apps_token_based_details tbd,
mxk_apps app
where
app.id = #{value}
and tbd.id = #{value}
and tbd.id = app.id
and status = 1
</select>
</mapper>

View File

@ -0,0 +1,5 @@
<?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.ForgotPasswordMapper">
</mapper>

View File

@ -0,0 +1,260 @@
<?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.GroupMemberMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name = #{name}
</if>
</sql>
<!-- GROUP_MEMBER User Member-->
<select id="allMemberInGroup" parameterType="GroupMember" resultType="GroupMember">
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,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status
from
mxk_userinfo u
where 1 = 1
</select>
<select id="memberInGroup" parameterType="GroupMember" resultType="GroupMember">
select distinct
gm.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,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status
from
mxk_userinfo u,
mxk_groups g,
mxk_group_member gm
where 1 = 1
<if test="groupId != null and groupId != ''">
and gm.groupid = #{groupId}
and g.id = #{groupId}
</if>
<if test="groupName != null and groupName != ''">
and g.name = #{groupName}
</if>
<if test="username != null and username != ''">
and u.username = #{username}
</if>
<if test="displayName != null and displayName != ''">
and u.displayname like '%${displayName}%'
</if>
and gm.type in( 'USER','USER-DYNAMIC')
and gm.groupid = g.id
and gm.memberid = u.id
</select>
<select id="memberNotInGroup" parameterType="GroupMember" resultType="GroupMember">
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,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status
from
mxk_userinfo u
where
u.id not in(
select gm.memberid
from mxk_groups g,mxk_group_member gm
where 1 = 1
<if test="groupId != null and groupId != ''">
and gm.groupid = #{groupId}
and g.id = #{groupId}
</if>
<if test="groupName != null and groupName != ''">
and g.name = #{groupName}
</if>
and gm.type in( 'USER','USER-DYNAMIC')
and gm.groupid = g.id
)
<if test="username != null and username != ''">
and u.username = #{username}
</if>
<if test="displayName != null and displayName != ''">
and u.displayname like '%${displayName}%'
</if>
</select>
<!-- GROUP_MEMBER Group Member-->
<select id="groupMemberInGroup" parameterType="GroupMember" resultType="Groups">
select distinct
ig.*
from
mxk_groups ig,
mxk_groups g,
mxk_group_member gm
where
1 = 1
and gm.groupid = g.id
and gm.memberid = ig.id
and gm.type = 'GROUP'
<if test="groupId != null and groupId != ''">
and gm.groupid = #{groupId}
and g.id = #{groupId}
</if>
<if test="groupName != null and groupName != ''">
and g.name = #{groupName}
</if>
</select>
<update id="addDynamicGroupMember" parameterType="Groups" >
insert into mxk_group_member(
id,
groupid,
memberid,
type
)
select
concat_ws('-','UD','${id}',u.id) id,
'${id}' groupid,
u.id memberid,
'USER-DYNAMIC' type
from mxk_userinfo u
where not exists(
select 1 from mxk_group_member gm
where gm.groupid=#{id}
and gm.memberid=u.id
and gm.type='USER-DYNAMIC'
)
<if test="filters != null and filters != ''">
and (${filters})
</if>
<if test="orgIdsList != null and orgIdsList != ''">
and u.departmentid in( ${orgIdsList})
</if>
</update>
<delete id="deleteDynamicGroupMember" parameterType="Groups" >
delete from mxk_group_member gm
where type = 'user-dynamic'
and gm.groupid=#{id}
and not exists(
select 1
from mxk_userinfo u
where 1 = 1
and u.id=gm.memberid
<if test="filters != null and filters != ''">
and (${filters})
</if>
<if test="orgIdsList != null and orgIdsList != ''">
and u.departmentid in ( ${orgIdsList})
</if>
)
</delete>
<delete id="deleteByGroupId" parameterType="string" >
delete from mxk_group_member gm
where gm.groupid=#{value}
</delete>
</mapper>

View File

@ -0,0 +1,61 @@
<?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.GroupPrivilegesMapper" >
<sql id="where_statement">
<if test="id != null and id != ''">
and apps.id = #{id}
</if>
<if test="name != null and name != ''">
and apps.name like '%${name}%'
</if>
<if test="protocol != null and protocol != ''">
and apps.protocol = #{protocol}
</if>
<if test="category != null and category != ''">
and apps.category = #{category}
</if>
</sql>
<!-- AppGroup -->
<select id="appsInGroup" parameterType="GroupPrivileges" resultType="GroupPrivileges">
select
gp.id,
gp.groupid,
gp.appid,
apps.name,
apps.icon,
apps.loginurl,
apps.protocol,
apps.category,
apps.description,
apps.vendor,
apps.vendorurl
from
mxk_apps apps,
mxk_group_privileges gp
where
gp.appid=apps.id
and gp.groupid = #{groupId}
<include refid="where_statement"/>
</select>
<select id="appsNotInGroup" parameterType="GroupPrivileges" resultType="GroupPrivileges">
select
*
from
mxk_apps apps
where
1 = 1
and apps.id not in(
select
appid
from
mxk_group_privileges
where
groupid = #{groupId}
)
<include refid="where_statement"/>
</select>
</mapper>

View File

@ -0,0 +1,58 @@
<?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.GroupsMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name like '%${name}%'
</if>
</sql>
<select id="queryPageResults" parameterType="Groups" resultType="Groups">
select
*
from
mxk_groups
where
(1=1)
<include refid="where_statement"/>
</select>
<select id="queryDynamicGroups" parameterType="Groups" resultType="Groups">
select
*
from
mxk_groups
where
dynamic = '1'
<include refid="where_statement"/>
</select>
<update id="logisticDelete" parameterType="Groups" >
update mxk_groups set
status = '2'
where 1 = 1
<if test="id != null">
and id = #{id}
</if>
<if test="name != name">
and name = #{name}
</if>
</update>
<update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_groups set status='2' where id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>

View File

@ -0,0 +1,54 @@
<?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.HistoryLoginAppsMapper" >
<sql id="dao_where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="sessionId != null and sessionId != ''">
and sessionid = #{sessionId}
</if>
<if test="appId != null and appId != ''">
and appid = #{appId}
</if>
<if test="appName != null and appName != ''">
and appname like concat('%',#{appName},'%')
</if>
<if test="uid != null and uid != ''">
and uid = #{uid}
</if>
<if test="username != null and username != ''">
and username like concat('%',#{username},'%')
</if>
<if test="displayName != null and displayName != ''">
and displayname like concat('%',#{displayName},'%')
</if>
<if test="startDate != null and startDate != ''">
and logintime >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and #{endDate} >= logintime
</if>
</sql>
<select id="queryPageResults" parameterType="HistoryLoginApps" resultType="HistoryLoginApps">
select
id,
sessionid,
appid,
appname,
uid,
username,
displayname,
to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime
from mxk_history_login_apps
where 1 = 1
<include refid="dao_where_statement"/>
order by logintime desc
</select>
</mapper>

View File

@ -0,0 +1,72 @@
<?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.HistoryLoginMapper" >
<sql id="dao_where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="uid != null and uid != ''">
and uid = #{uid}
</if>
<if test="username != null and username != '' ">
and lower(username) like lower(concat('%',#{username},'%'))
</if>
<if test="message != null and message != '' ">
and lower(message) like lower(concat('%',#{message},'%'))
</if>
<if test="displayName != null and displayName != '' ">
and lower(displayname) like lower(concat('%',#{displayName},'%'))
</if>
<if test="startDate != null and startDate != ''">
and logintime >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and #{endDate} >= logintime
</if>
<if test="sessionId != null and sessionId != ''">
and sessionid = #{sessionId}
</if>
<if test="loginType != null and loginType != ''">
and logintype = #{loginType}
</if>
<if test="sourceIp != null and sourceIp != ''">
and sourceip = #{sourceIp}
</if>
</sql>
<select id="queryPageResults" parameterType="HistoryLogin" resultType="HistoryLogin">
select
id,
sessionid,
uid,
username,
displayname,
logintype,
message,
code,
provider,
sourceip,
browser,
platform,
application,
loginurl,
to_char(logintime,'YYYY-MM-DD HH24:MI:SS') as logintime,
to_char(logouttime,'YYYY-MM-DD HH24:MI:SS') as logouttime
from mxk_history_login
where 1 = 1
<include refid="dao_where_statement"/>
order by logintime desc
</select>
<update id="logout" parameterType="java.lang.String" >
update mxk_history_login set
logouttime = current_timestamp
where
sessionid = #{value}
</update>
</mapper>

View File

@ -0,0 +1,55 @@
<?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.HistoryLogsMapper" >
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="serviceName != null and serviceName != '' ">
and lower(servicename) like lower(concat('%',#{serviceName},'%'))
</if>
<if test="message != null and message != '' ">
and lower(message) like lower(concat('%',#{message},'%'))
</if>
<if test="startDate != null and startDate != '' ">
and createddate between #{startDate} and #{endDate}
</if>
<if test="createdBy != null and createdBy != ''">
and createdby = #{createdBy}
</if>
<if test="username != null and username != ''">
and lower(username) like lower(concat('%',#{username},'%'))
</if>
<if test="messageType != null and messageType != ''">
and messagetype = #{messageType}
</if>
<if test="operateType != null and operateType != ''">
and operatetype = #{operateType}
</if>
</sql>
<select id="queryPageResults" parameterType="HistoryLogs" resultType="HistoryLogs">
select
id,
tid,
tname,
servicename ,
code,
message ,
content,
operatetype,
messagetype,
username,
createddate,
createdby
from mxk_history_logs
where 1 = 1
<include refid="where_statement"/>
order by createddate desc
</select>
</mapper>

View File

@ -0,0 +1,36 @@
<?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.NoticesMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="title != null and title != ''">
and title like '%${title}%'
</if>
</sql>
<select id="queryPageResults" parameterType="Notices" resultType="Notices">
select
*
from
mxk_notices
where
(1=1)
<include refid="where_statement"/>
order by modifieddate desc
</select>
<select id="queryLastedNotices" parameterType="Notices" resultType="Notices">
select
*
from
mxk_notices
order by modifieddate desc
limit 1
</select>
</mapper>

View File

@ -0,0 +1,58 @@
<?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.OrganizationsMapper" >
<sql id="dao_where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != '' ">
and name like '%#{name}%'
</if>
<if test="parentId != null and parentId != '' ">
and parentid = #{parentId}
</if>
<if test="parentName != null and parentName != ''">
and parentname like '%#{parentName}%'
</if>
</sql>
<select id="queryPageResults" parameterType="Organizations" resultType="Organizations">
select
*
from mxk_organizations
where 1 = 1
<include refid="dao_where_statement"/>
</select>
<update id="logisticDelete" parameterType="Organizations" >
update mxk_organizations set status = '2'
where 1 = 1
<if test="id != null and id != '' ">
and id = #{id}
</if>
<if test="name != name">
and name = #{name}
</if>
<if test="enable != null">
and status = '1'
</if>
<if test="codePath != null">
and codepath = #{codePath}
</if>
</update>
<update id="logisticBatchDelete" parameterType="java.util.List">
UPDATE MXK_ORGANIZATIONS SET STATUS = '2'
WHERE ID IN
<foreach collection="ids" item="selectId" open="(" separator="," close=")">
#{selectId}
</foreach>
</update>
</mapper>

View File

@ -0,0 +1,6 @@
<?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.PasswordPolicyMapper" >
</mapper>

View File

@ -0,0 +1,23 @@
<?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.RegistrationMapper">
<select id="queryUserInfoByEmail" parameterType="string" resultType="UserInfo">
select
id,
email
from
userinfo
where
email = #{value}
union
select
id,
workemail eamil
from
mxk_registration
where
workemail = #{value}
</select>
</mapper>

View File

@ -0,0 +1,82 @@
<?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.ReportMapper" >
<!-- DAY COUNT 一天访问量 -->
<select id="analysisDay" resultType="Integer">
select
count(id) reportcount
from mxk_history_login
where
date(logintime) =current_date
</select>
<!-- 本月新用户统计 -->
<select id="analysisNewUsers" parameterType="String" resultType="Integer">
select
count(*) reportcount
from mxk_userinfo
where to_char(createddate,'YYYY-MM')=to_char(current_date,'YYYY-MM')
</select>
<!-- 在线用户统计 -->
<select id="analysisOnlineUsers" parameterType="String" resultType="Integer">
select
count(*) reportcount
from mxk_userinfo
where
lastlogintime >lastlogofftime
</select>
<!-- 30天活跃用户统计 -->
<select id="analysisActiveUsers" parameterType="String" resultType="Integer">
select
count(*) reportcount
from mxk_userinfo
where
date(lastlogintime) >(current_date - interval '30 day')
</select>
<!-- DAY HOUR COUNT 当天每小时 -->
<select id="analysisDayHour" parameterType="String" resultType="Map">
select
count(id) reportcount,
to_char(logintime,'HH24') reportstring
from mxk_history_login
where
date(logintime) =current_date
group by reportstring
order by reportstring
</select>
<!-- 30 DAY COUNT 最近30天每天访问量-->
<select id="analysisMonth" parameterType="String" resultType="Map">
select
count(id) reportcount,
date(logintime) reportstring
from mxk_history_login
where
date(logintime) >(current_date - interval '30 day')
group by reportstring
order by reportstring
</select>
<!-- 30天浏览器的访问统计 -->
<select id="analysisBrowser" parameterType="Map" resultType="Map">
select
count(id) reportcount,
browser reportstring
from mxk_history_login
where
date(logintime) >(current_date - interval '30 day')
group by reportstring
order by reportcount desc
</select>
<!-- 30天应用单点登录的访问统计 -->
<select id="analysisApp" parameterType="Map" resultType="Map">
select
count(id) reportcount,
appname
from mxk_history_login_apps
where
date(logintime) >(current_date - interval '30 day')
group by appname order by reportcount desc
</select>
</mapper>

View File

@ -0,0 +1,55 @@
<?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.ResourcesMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and res.id = #{id}
</if>
<if test="appId != null and appId != ''">
and res.appid = #{appId}
</if>
<if test="parentId != null and parentId != ''">
and res.parentid = #{parentId}
</if>
<if test="name != null and name != ''">
and res.name like '%${name}%'
</if>
</sql>
<select id="queryPageResults" parameterType="Resources" resultType="Resources">
select
res.*,app.name appname
from
mxk_resources res, mxk_apps app
where
(1=1) and res.appid=app.id
<include refid="where_statement"/>
order by res.sortindex
</select>
<update id="logisticDelete" parameterType="Resources" >
update mxk_resources set
status = '2'
where 1 = 1
<if test="id != null">
and id = #{id}
</if>
<if test="name != name">
and name = #{name}
</if>
</update>
<update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_resources set status='2' where id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>

View File

@ -0,0 +1,261 @@
<?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.RoleMemberMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name = #{name}
</if>
</sql>
<!-- ROLE_MEMBER User Member-->
<select id="allMemberInRole" parameterType="RoleMember" resultType="RoleMember">
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,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status
from
mxk_userinfo u
where 1 = 1
</select>
<select id="memberInRole" parameterType="RoleMember" resultType="RoleMember">
select distinct
rm.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,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status
from
mxk_userinfo u,
mxk_roles r,
mxk_role_member rm
where 1 = 1
<if test="roleId != null and roleId != ''">
and rm.roleid = #{roleId}
and r.id = #{roleId}
</if>
<if test="roleName != null and roleName != ''">
and r.name = #{roleName}
</if>
<if test="username != null and username != ''">
and u.username = #{username}
</if>
<if test="displayName != null and displayName != ''">
and u.displayname like '%${displayName}%'
</if>
and rm.type in( 'USER','USER-DYNAMIC')
and rm.roleid = r.id
and rm.memberid = u.id
</select>
<select id="memberNotInRole" parameterType="RoleMember" resultType="RoleMember">
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,
u.createdby,
u.createddate,
u.modifiedby,
u.modifieddate,
u.status
from
mxk_userinfo u
where
u.id not in(
select rm.memberid
from mxk_roles r,mxk_role_member rm
where 1 = 1
<if test="roleId != null and roleId != ''">
and rm.roleid = #{roleId}
and r.id = #{roleId}
</if>
<if test="roleName != null and roleName != ''">
and r.name = #{roleName}
</if>
and rm.type in( 'USER','USER-DYNAMIC')
and rm.roleid = r.id
)
<if test="username != null and username != ''">
and u.username = #{username}
</if>
<if test="displayName != null and displayName != ''">
and u.displayname like '%${displayName}%'
</if>
</select>
<!-- ROLE_MEMBER Roles Member-->
<select id="roleMemberInRole" parameterType="RoleMember" resultType="Roles">
select distinct
ir.*
from
mxk_roles ir,
mxk_roles r,
mxk_role_member rm
where
1 = 1
and rm.groupid = r.id
and rm.memberid = ir.id
and rm.type in( 'USER','USER-DYNAMIC')
<if test="roleId != null and roleId != ''">
and rm.roleid = #{roleId}
and r.id = #{roleId}
</if>
<if test="roleName != null and roleName != ''">
and r.name = #{roleName}
</if>
</select>
<update id="addDynamicRoleMember" parameterType="Roles" >
insert into mxk_role_member(
id,
roleid,
memberid,
type
)
select
concat_ws('-','UD','${id}',u.id) id,
'${id}' ROLEID,
u.id memberid,
'USER-DYNAMIC' type
from mxk_userinfo u
where not exists(
select 1 from mxk_role_member rm
where rm.roleid=#{id}
and rm.memberid=u.id
and rm.type='USER-DYNAMIC'
)
<if test="filters != null and filters != ''">
${filters}
</if>
<if test="orgIdsList != null and orgIdsList != ''">
and u.departmentid in( ${orgIdsList})
</if>
</update>
<delete id="deleteDynamicRoleMember" parameterType="Roles" >
delete from mxk_role_member rm
where type = 'USER-DYNAMIC'
and rm.roleid = #{id}
and not exists(
select 1
from mxk_userinfo u
where 1 = 1
and u.id=rm.memberid
<if test="filters != null and filters != ''">
${filters}
</if>
<if test="orgIdsList != null and orgIdsList != ''">
and u.departmentid in( ${orgIdsList})
</if>
)
</delete>
<delete id="deleteByRoleId" parameterType="string" >
delete from mxk_role_member rm
where rm.roleid=#{value}
</delete>
</mapper>

View File

@ -0,0 +1,92 @@
<?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.RolesMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name like '%${name}%'
</if>
</sql>
<select id="queryDynamicRoles" parameterType="Roles" resultType="Roles">
select
*
from
mxk_groups
where
dynamic = '1'
<include refid="where_statement"/>
</select>
<select id="queryPageResults" parameterType="Roles" resultType="Roles">
select
*
from
mxk_roles
where
(1=1)
<include refid="where_statement"/>
</select>
<update id="logisticDelete" parameterType="Roles" >
update mxk_roles set
status = '2'
where 1 = 1
<if test="id != null">
and id = #{id}
</if>
<if test="name != name">
and name = #{name}
</if>
</update>
<update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_roles set status='2' where id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<select id="queryRolePermissions" parameterType="RolePermissions" resultType="RolePermissions">
select
*
from
mxk_role_permissions
where
status = 1
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="roleId != null and roleId != ''">
and roleid = #{roleId}
</if>
<if test="appId != null and appId != ''">
and appid = #{appId}
</if>
</select>
<update id="logisticDeleteRolePermissions" parameterType="java.util.List">
update mxk_role_permissions set status=9 where id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<insert id="insertRolePermissions" parameterType="java.util.List">
insert into mxk_role_permissions ( id,appid,roleid,resourceid,status)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.id},#{item.appId},#{item.roleId},#{item.resourceId},#{item.status})
</foreach>
</insert>
</mapper>

View File

@ -0,0 +1,49 @@
<?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.UserInfoAdjointMapper">
<sql id="where_statement">
<if test="id != null and id != ''">
and id = #{id}
</if>
<if test="userId != null and userId != ''">
and userid = #{userId}
</if>
</sql>
<select id="queryPageResults" parameterType="UserInfoAdjoint" resultType="UserInfoAdjoint">
select
*
from
mxk_userinfo_adjunct
where
(1=1)
<include refid="where_statement"/>
</select>
<update id="logisticDelete" parameterType="UserInfoAdjoint" >
update mxk_userinfo_adjunct set
status = '2'
where 1 = 1
<if test="id != null">
and id = #{id}
</if>
<if test="name != name">
and name = #{name}
</if>
</update>
<update id="logisticBatchDelete" parameterType="java.util.List">
update mxk_userinfo_adjunct set status='2' where id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>

View File

@ -0,0 +1,252 @@
<?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.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,
username,
usertype,
windowsaccount,
displayname ,
nickname ,
namezhspell,
namezhshortspell,
givenname ,
middlename ,
familyname ,
gender,
authntype,
mobile,
email,
workemail,
workphonenumber,
employeenumber,
division,
costcenter,
organization,
departmentid,
department,
jobtitle,
joblevel,
createdby,
createddate,
modifiedby,
modifieddate,
status
from
mxk_userinfo
where
(1=1)
<if test="username != null and username != ''">
and username = #{username}
</if>
<if test="employeeNumber != null and employeeNumber != ''">
and employeenumber = #{employeeNumber}
</if>
<if test="userType != null and userType != ''">
and usertype = #{userType}
</if>
<if test="displayName != null and displayName != ''">
and displayname like '%${displayName}%'
</if>
<if test="departmentId != null and departmentId != ''">
and departmentid = #{departmentId}
</if>
order by sortorder
</select>
<update id="locked" parameterType="UserInfo" >
update mxk_userinfo set
<if test="isLocked != null">
islocked = #{isLocked},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="lockout" parameterType="UserInfo" >
update mxk_userinfo set
<if test="isLocked != null">
islocked = #{isLocked},
badpwdcount = 0,
</if>
unlockdate = current_timestamp,
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="changePassword" parameterType="UserInfo" >
update mxk_userinfo set
<if test="password != null">
password = #{password},
decipherable = #{decipherable},
</if>
passwordsettype = 0,
passwordlastsettime = current_timestamp
where
id = #{id}
</update>
<update id="changeSharedSecret" parameterType="UserInfo" >
update mxk_userinfo set
<if test="sharedSecret != null">
sharedsecret = #{sharedSecret},
sharedcounter = #{sharedCounter},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="changeAppLoginPassword" parameterType="UserInfo" >
update mxk_userinfo set
<if test="appLoginPassword != null">
apploginpassword = #{appLoginPassword},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="updateProtectedApps" parameterType="UserInfo" >
update mxk_userinfo set
<if test="protectedApps != null">
protectedapps = #{protectedApps},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="changePasswordQuestion" parameterType="UserInfo" >
update mxk_userinfo set
<if test="passwordAnswer != null">
passwordquestion = #{passwordQuestion},
passwordanswer = #{passwordAnswer},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="changeAuthnType" parameterType="UserInfo" >
update mxk_userinfo set
<if test="authnType != null">
authntype = #{authnType},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="changeEmail" parameterType="UserInfo" >
update mxk_userinfo set
<if test="email != null">
email = #{email},
</if>
<if test="emailVerified != null">
emailverified = #{emailVerified},
</if>
<if test="theme != null">
theme = #{theme},
</if>
modifieddate = current_timestamp
where
id = #{id}
</update>
<update id="changeMobile" parameterType="UserInfo" >
update mxk_userinfo set
<if test="mobile != null">
mobile = #{mobile},
</if>
<if test="mobileVerified != null">
mobileverified = #{mobileVerified},
</if>
modifieddate = current_timestamp
where
id = #{id}
</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 mxk_userinfo set
displayname = #{displayName},
nickname = #{nickName},
namezhspell = #{nameZhSpell},
namezhshortspell= #{nameZhShortSpell},
givenname = #{givenName},
middlename = #{middleName},
familyname = #{familyName},
honorificprefix = #{honorificPrefix},
honorificsuffix = #{honorificSuffix},
formattedname = #{formattedName} ,
married = #{married},
gender = #{gender},
birthdate = #{birthDate},
<if test="picture != null">
picture = #{picture},
</if>
idtype = #{idType},
idcardno = #{idCardNo},
website = #{webSite},
locale = #{locale},
timezone = #{timeZone},
preferredlanguage= #{preferredLanguage},
windowsaccount = #{windowsAccount},
workcountry = #{workCountry},
workregion = #{workRegion},
worklocality = #{workLocality},
workstreetaddress= #{workStreetAddress},
workaddressformatted= #{workAddressFormatted},
workemail = #{workEmail},
workphonenumber = #{workPhoneNumber},
workpostalcode = #{workPostalCode},
workfax = #{workFax},
homecountry = #{homeCountry},
homeregion = #{homeRegion},
homelocality = #{homeLocality},
homestreetaddress= #{homeStreetAddress},
homeaddressformatted= #{homeAddressFormatted},
homeemail = #{homeEmail},
homephonenumber= #{homePhoneNumber},
homepostalcode = #{homePostalCode},
homefax = #{homeFax},
extraattribute = #{extraAttribute},
modifiedby = #{modifiedBy},
modifieddate = current_timestamp
where
id = #{id}
</update>
</mapper>