TaskMapperAuto.xml 8.92 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="com.xiniunet.task.dal.TaskMapper">

    <resultMap  id="taskPO" type="com.xiniunet.task.po.TaskPO">
        <id column="ID" jdbcType="NUMERIC" property="id" />
        <result column="TENANT_ID"  jdbcType="NUMERIC" property="tenantId"></result>
        <result column="OBJECT_TYPE"  jdbcType="VARCHAR" property="objectType"></result>
        <result column="OBJECT_ID"  jdbcType="NUMERIC" property="objectId"></result>
        <result column="OBJECT_CATEGORY"  jdbcType="VARCHAR" property="objectCategory"></result>
        <result column="OBJECT_NAME"  jdbcType="VARCHAR" property="objectName"></result>
        <result column="OBJECT_NAME_PINYIN"  jdbcType="VARCHAR" property="objectNamePinyin"></result>
        <result column="OBJECT_NAME_PY"  jdbcType="VARCHAR" property="objectNamePy"></result>
        <result column="OBJECT_DESCRIPTION"  jdbcType="VARCHAR" property="objectDescription"></result>
        <result column="OBJECT_URL"  jdbcType="VARCHAR" property="objectUrl"></result>
        <result column="OWNER_USER_ID"  jdbcType="NUMERIC" property="ownerUserId"></result>
        <result column="OWNER_USER_NAME"  jdbcType="VARCHAR" property="ownerUserName"></result>
        <result column="IS_STAR"  jdbcType="TINYINT" property="isStar"></result>
        <result column="PRIOITY"  jdbcType="VARCHAR" property="prioity"></result>
        <result column="HAS_DEADLINE"  jdbcType="TINYINT" property="hasDeadline"></result>
        <result column="DEADLINE_DATE"  jdbcType="DATE" property="deadlineDate"></result>
        <result column="NEED_REMINDING"  jdbcType="TINYINT" property="needReminding"></result>
        <result column="REMNDING_TIME"  jdbcType="TIMESTAMP" property="remndingTime"></result>
        <result column="COMPLETE"  jdbcType="NUMERIC" property="complete"></result>
        <result column="PRODUCT_ID"  jdbcType="NUMERIC" property="productId"></result>
        <result column="APPLICATION_ID"  jdbcType="NUMERIC" property="applicationId"></result>
        <result column="PROJECT_ID"  jdbcType="NUMERIC" property="projectId"></result>
        <result column="HAS_SUBTASK"  jdbcType="TINYINT" property="hasSubtask"></result>
        <result column="SUBTASK_COUNT"  jdbcType="NUMERIC" property="subtaskCount"></result>
        <result column="SUBTASK_DONE_COUNT"  jdbcType="NUMERIC" property="subtaskDoneCount"></result>
        <result column="LIST_ID"  jdbcType="NUMERIC" property="listId"></result>
        <result column="IS_DONE"  jdbcType="TINYINT" property="isDone"></result>
        <result column="DO_USER_ID"  jdbcType="NUMERIC" property="doUserId"></result>
        <result column="DO_USER_NAME"  jdbcType="VARCHAR" property="doUserName"></result>
        <result column="DO_TIME"  jdbcType="TIMESTAMP" property="doTime"></result>
        <result column="ROW_VERSION"  jdbcType="NUMERIC" property="rowVersion"></result>
        <result column="IS_DELETED"  jdbcType="TINYINT" property="isDeleted"></result>
        <result column="CREATED_BY"  jdbcType="NUMERIC" property="createdBy"></result>
        <result column="CREATION_TIME"  jdbcType="TIMESTAMP" property="creationTime"></result>
        <result column="LAST_UPDATED_BY"  jdbcType="NUMERIC" property="lastUpdatedBy"></result>
        <result column="LAST_UPDATE_TIME"  jdbcType="TIMESTAMP" property="lastUpdateTime"></result>
    </resultMap>

    <sql id="entityColumnList">
    `ID`,`TENANT_ID`,`OBJECT_TYPE`,`OBJECT_ID`,`OBJECT_CATEGORY`,`OBJECT_NAME`,`OBJECT_NAME_PINYIN`,`OBJECT_NAME_PY`,`OBJECT_DESCRIPTION`,`OBJECT_URL`,`OWNER_USER_ID`,`OWNER_USER_NAME`,`IS_STAR`,`PRIOITY`,`HAS_DEADLINE`,`DEADLINE_DATE`,`NEED_REMINDING`,`REMNDING_TIME`,`COMPLETE`,`PRODUCT_ID`,`APPLICATION_ID`,`PROJECT_ID`,`HAS_SUBTASK`,`SUBTASK_COUNT`,`SUBTASK_DONE_COUNT`,`LIST_ID`,`IS_DONE`,`DO_USER_ID`,`DO_USER_NAME`,`DO_TIME`,`ROW_VERSION`,`IS_DELETED`,`CREATED_BY`,`CREATION_TIME`,`LAST_UPDATED_BY`,`LAST_UPDATE_TIME`
    </sql>

    <insert id="insert">
        INSERT INTO
            `TSK_TASK`
            (
            <include refid="entityColumnList" />
            )
        VALUES
        (
        #{ task.id },
         #{ passport.tenantId },
        
        #{ task.objectType },
        #{ task.objectId },
        #{ task.objectCategory },
        #{ task.objectName },
        #{ task.objectNamePinyin },
        #{ task.objectNamePy },
        #{ task.objectDescription },
        #{ task.objectUrl },
        #{ task.ownerUserId },
        #{ task.ownerUserName },
        #{ task.isStar },
        #{ task.prioity },
        #{ task.hasDeadline },
        #{ task.deadlineDate },
        #{ task.needReminding },
        #{ task.remndingTime },
        #{ task.complete },
        #{ task.productId },
        #{ task.applicationId },
        #{ task.projectId },
        #{ task.hasSubtask },
        #{ task.subtaskCount },
        #{ task.subtaskDoneCount },
        #{ task.listId },
        #{ task.isDone },
        #{ task.doUserId },
        #{ task.doUserName },
        #{ task.doTime },
        0,0,#{ passport.userId },sysdate(),null,null
        )
    </insert>

    <insert id="insertBatch">
        INSERT INTO
            `TSK_TASK`
            (
            <include refid="entityColumnList" />
            )
        VALUES
        <foreach collection="list" item= "task" index ="index" separator=",">
            (
            #{ task.id },
            #{ passport.tenantId },
            
            #{ task.objectType },
            #{ task.objectId },
            #{ task.objectCategory },
            #{ task.objectName },
            #{ task.objectNamePinyin },
            #{ task.objectNamePy },
            #{ task.objectDescription },
            #{ task.objectUrl },
            #{ task.ownerUserId },
            #{ task.ownerUserName },
            #{ task.isStar },
            #{ task.prioity },
            #{ task.hasDeadline },
            #{ task.deadlineDate },
            #{ task.needReminding },
            #{ task.remndingTime },
            #{ task.complete },
            #{ task.productId },
            #{ task.applicationId },
            #{ task.projectId },
            #{ task.hasSubtask },
            #{ task.subtaskCount },
            #{ task.subtaskDoneCount },
            #{ task.listId },
            #{ task.isDone },
            #{ task.doUserId },
            #{ task.doUserName },
            #{ task.doTime },
            0,0,#{ passport.userId },sysdate(),null,null
            )
        </foreach >
    </insert>


    <update id="delete">
        UPDATE
            `TSK_TASK`
        SET
            `IS_DELETED` = 1
            ,`LAST_UPDATED_BY`=#{ passport.userId }
            ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` = #{id}
    </update>

    <update id= "deleteBatch">
        UPDATE
            `TSK_TASK`
        SET
            `IS_DELETED` = 1
            ,`LAST_UPDATED_BY`=#{ passport.userId }
            ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` in
        <foreach collection="list" item= "id" index ="index" open= "(" close =")" separator=",">
            #{id}
        </foreach >
    </update >


    <select id="getById" resultMap="taskPO">
        SELECT
        <include refid="entityColumnList" />
        FROM
            `TSK_TASK`
        WHERE
            `IS_DELETED` = 0
            AND `ID` = #{id}
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="getListByIds" resultMap="taskPO">
        SELECT
            <include refid="entityColumnList" />
        FROM
            `TSK_TASK`
        WHERE
        `IS_DELETED` = 0
        AND `ID` in
        <foreach collection="list" item= "id" index ="index" open= "(" close =")" separator=",">
            #{id}
        </foreach >
        
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="getAllList" resultMap="taskPO">
        SELECT
        <include refid="entityColumnList" />
        FROM
            `TSK_TASK`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="existById"  resultType="java.lang.Long">
        SELECT
            COUNT(*)
        FROM
            `TSK_TASK`
        WHERE
            `IS_DELETED`=0
            AND `ID`=#{id}
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>


    <update id="deleteByListId">
        UPDATE
        `TSK_TASK`
        SET
        `IS_DELETED` = 1
        ,`LAST_UPDATED_BY`=#{ passport.userId }
        ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
        `IS_DELETED`=0
        AND `TENANT_ID`=#{ passport.tenantId }
        AND `LIST_ID` IN
        <foreach collection="listIds" item= "listId" index ="index" open= "(" close =")" separator=",">
            #{listId}
        </foreach >
    </update>
</mapper>