UNPKG

imboard

Version:

Most convenient platform for webpage development.

146 lines (137 loc) 4.33 kB
<?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="user"> <resultMap type="UserVo" id="userResult"> <result column="ID" property="id" /> <result column="DISPLAY_ID" property="displayId" /> <result column="NAME" property="name" /> <result column="PASSWORD" property="password" /> <result column="PROVIDER" property="provider" /> <result column="PROFILE_IMG_URL" property="profileImgUrl" /> <result column="POINT" property="point" /> <result column="LEVEL" property="level" /> <result column="USER_STATUS" property="userStatus" /> <result column="DROP_OUT_DATE" property="dropOutDate" /> <result column="REGISTER_DATE" property="registerDate" /> <result column="LAST_ACCESS_DATE" property="lastAccessDate" /> </resultMap> <select id="getUserList" parameterType="UserVo" resultMap="userResult"> SELECT * FROM ( SELECT A.ID, A.DISPLAY_ID, A.NAME, '' AS PASSWORD, A.PROVIDER, DATE_FORMAT(A.REGISTER_DATE, '%Y-%m-%d %H:%i:%s') AS REGISTER_DATE, A.USER_STATUS, A.DROP_OUT_DATE, A.PROFILE_IMG_URL, A.POINT, DATE_FORMAT(A.LAST_ACCESS_DATE, '%Y-%m-%d %H:%i:%s') AS LAST_ACCESS_DATE, if ( isnull(A.LEVEL), (SELECT LEVEL FROM (SELECT MIN(POINT), LEVEL FROM (SELECT (U.POINT - R.POINT) AS POINT, R.LEVEL FROM IMB_ROLE R, IMB_USER U WHERE R.LEVEL > 0) LT WHERE POINT >= 0) RE), A.LEVEL) AS LEVEL FROM IMB_USER A ) B ORDER BY LEVEL </select> <select id="getUser" parameterType="userVo" resultMap="userResult"> SELECT A.ID, A.DISPLAY_ID, A.NAME, A.PASSWORD, A.PROVIDER, DATE_FORMAT(A.REGISTER_DATE, '%Y-%m-%d %H:%i:%s') AS REGISTER_DATE, A.USER_STATUS, A.DROP_OUT_DATE, A.PROFILE_IMG_URL, A.POINT, DATE_FORMAT(A.LAST_ACCESS_DATE, '%Y-%m-%d %H:%i:%s') AS LAST_ACCESS_DATE <if test="#{id}">,if ( isnull(A.LEVEL), (SELECT LEVEL FROM (SELECT MIN(POINT), LEVEL FROM (SELECT (U.POINT - R.POINT) AS POINT, R.LEVEL FROM IMB_ROLE R, IMB_USER U WHERE U.ID = #{id} AND R.LEVEL > 0) LT WHERE POINT >= 0) RE), A.LEVEL) AS LEVEL</if> FROM IMB_USER A WHERE 1=1 <if test="#{id}"> AND ID = #{id} </if> <if test="#{displayId}"> AND DISPLAY_ID = #{displayId} </if> <if test="#{name}"> AND NAME = #{name} </if> </select> <select id="getEncryptKey" parameterType="String" resultType="String"> SELECT ENCRYPT_KEY FROM IMB_USER WHERE ID = #{id} </select> <insert id="insertUser" parameterType="UserVo"> INSERT INTO IMB_USER (ID, DISPLAY_ID, PROVIDER, NAME, PROFILE_IMG_URL, LEVEL, ENCRYPT_KEY) VALUES ( #{id}, #{displayId}, #{provider}, #{name}, #{profileImgUrl}, #{level}, #{encryptKey} ) </insert> <update id="updateUser" parameterType="UserVo"> UPDATE IMB_USER SET NAME = #{name}, DISPLAY_ID = #{displayId}, PROFILE_IMG_URL = #{profileImgUrl} <if test="#{userStatus} != null"> ,USER_STATUS = #{userStatus} </if> <if test="#{level} != null"> ,LEVEL = #{level} </if> WHERE ID = #{id} </update> <update id="updateLastAccessDate" parameterType="UserVo"> UPDATE IMB_USER SET LAST_ACCESS_DATE = CURRENT_TIMESTAMP WHERE ID = #{id} </update> <update id="updateUserPassword" parameterType="UserVo"> UPDATE IMB_USER SET PASSWORD = #{password} WHERE ID = #{id} </update> <update id="dropOut" parameterType="String"> UPDATE IMB_USER SET DROP_OUT_DATE = date_add(now(), interval +7 day), USER_STATUS = -1 WHERE ID = #{id} </update> <delete id="deleteUser" parameterType="String"> DELETE FROM IMB_USER WHERE ID = #{id} </delete> </mapper>