<?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="com.terra.system.mapper.sys.LoginMapper">
|
<select id="selectCount" resultType="java.lang.Integer">
|
select count(*) from lf.sys_login a inner join lf.sys_user b on a.userid = b.id
|
<where>
|
1 = 1
|
<if test="uname != null">
|
and upper(b.uname) like #{uname}
|
</if>
|
<if test="type != null">
|
and a.type = #{type}
|
</if>
|
<if test="start != null">
|
and a.optime >= #{start}
|
</if>
|
<if test="end != null">
|
and a.optime <= #{end}
|
</if>
|
</where>
|
</select>
|
|
<select id="selectByPage" resultType="com.terra.system.entity.sys.LoginEntity">
|
select a.*,b.uname from lf.sys_login a inner join lf.sys_user b on a.userid = b.id
|
<where>
|
1 = 1
|
<if test="uname != null">
|
and upper(b.uname) like #{uname}
|
</if>
|
<if test="type != null">
|
and a.type = #{type}
|
</if>
|
<if test="start != null">
|
and a.optime >= #{start}
|
</if>
|
<if test="end != null">
|
and a.optime <= #{end}
|
</if>
|
</where>
|
order by a.id desc
|
limit #{limit} offset #{offset}
|
</select>
|
|
<select id="selectLoginAll" resultType="com.terra.system.entity.sys.LoginEntity">
|
select * from lf.sys_login order by id desc
|
</select>
|
|
<select id="selectLogin" resultType="com.terra.system.entity.sys.LoginEntity">
|
select * from lf.sys_login where id = #{id}
|
</select>
|
|
<insert id="insertLogin" parameterType="com.terra.system.entity.sys.LoginEntity">
|
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
select currval('lf.sys_login_id_seq'::regclass) as id
|
</selectKey>
|
|
insert into lf.sys_login
|
(appid,ip,type,status,descr,userid,optime)
|
values
|
(#{appid},#{ip},#{type},#{status},#{descr},#{userid},now());
|
</insert>
|
|
<insert id="insertLogins">
|
insert into lf.sys_login
|
(appid,ip,type,status,descr,userid,optime)
|
values
|
<foreach collection="list" item="item" index="index" separator="," >
|
(#{item.appid},#{item.ip},#{item.type},#{item.status},#{item.descr},#{item.userid},now())
|
</foreach>
|
</insert>
|
|
<delete id="deleteLogin">
|
delete from lf.sys_login where id = #{id}
|
</delete>
|
|
<delete id="deleteLogins">
|
delete from lf.sys_login where id in
|
<foreach item="id" collection="ids" index="index" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</delete>
|
|
<update id="updateLogin">
|
update lf.sys_login set appid=#{appid},ip=#{ip},type=#{type},status=#{status},descr=#{descr},userid=#{userid},optime=now() where id=#{id}
|
</update>
|
|
<select id="selectLoginCounts" resultType="com.terra.system.entity.sys.LoginEntity">
|
select to_char(optime,'yyyy-mm-dd') as optime,count(*) from lf.sys_login where optime between (select optime - interval '30 day')
|
and optime group by to_char(optime, 'yyyy-mm-dd') order by to_char(optime, 'yyyy-mm-dd') asc
|
</select>
|
</mapper>
|