wg-basic/service-department/src/main/resources/mybatis/mapper/department-user-adjustment-mapper.xml
2021-02-28 12:12:04 +08:00

92 lines
3.3 KiB
XML

<?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="ink.wgink.service.department.dao.IDepartmentUserAdjustmentDao">
<cache flushInterval="3600000"/>
<resultMap id="departmentUserAdjustmentDTO" type="ink.wgink.service.department.pojo.dtos.DepartmentUserAdjustmentDTO">
<result column="user_name" property="userName"/>
<result column="department_name" property="departmentName"/>
<result column="adjustment_type" property="adjustmentType"/>
<result column="gmt_create" property="gmtCreate"/>
<result column="creator_name" property="creatorName"/>
</resultMap>
<!-- 建表 -->
<update id="createTable">
CREATE TABLE IF NOT EXISTS `sys_department_user_adjustment` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_id` char(36) NOT NULL COMMENT '用户',
`user_name` varchar(255) NOT NULL COMMENT '用户名称',
`department_id` char(36) NOT NULL COMMENT '部门',
`department_name` varchar(255) NOT NULL COMMENT '部门名称',
`adjustment_type` varchar(255) NOT NULL COMMENT '调整类别',
`gmt_create` datetime NOT NULL COMMENT '创建时间',
`creator` char(36) NOT NULL COMMENT '创建人',
`creator_name` varchar(255) NOT NULL COMMENT '创建人名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</update>
<!-- 保存部门用户调整 -->
<insert id="save" parameterType="map" flushCache="true">
INSERT INTO sys_department_user_adjustment (
user_id,
user_name,
department_id,
department_name,
adjustment_type,
creator,
creator_name,
gmt_create
) VALUES (
#{userId},
#{userName},
#{departmentId},
#{departmentName},
#{adjustmentType},
#{creator},
#{creatorName},
#{gmtCreate}
)
</insert>
<!-- 用户部门调整分页列表 -->
<select id="list" parameterType="map" resultMap="departmentUserAdjustmentDTO" useCache="true">
SELECT
user_id,
user_name,
department_id,
department_name,
adjustment_type,
creator,
creator_name,
LEFT(gmt_create, 19) gmt_create
FROM
sys_user_department_adjustment
WHERE
1 = 1
<if test="adjustmentType != null and adjustmentType != ''">
AND
adjustment_type = #{adjustmentType}
</if>
<if test="keywords != null and keywords != ''">
AND (
user_name LIKE CONCAT('%', #{keywords}, '%')
OR
department_name LIKE CONCAT('%', #{keywords}, '%')
)
</if>
<if test="startTime != null and startTime != ''">
AND
LEFT(gmt_create, 10) <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null and endTime != ''">
AND
LEFT(gmt_create, 10) <![CDATA[ <= ]]> #{endTime}
</if>
ORDER BY
gmt_create DESC, id DESC
</select>
</mapper>