<?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="cn.stylefeng.guns.modular.business.mapper.CourseOrderMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="cn.stylefeng.guns.modular.business.entity.CourseOrder">
|
<id column="id" property="id" />
|
<result column="course_id" property="courseId" />
|
<result column="user_id" property="userId" />
|
<result column="course_user_id" property="courseUserId" />
|
<result column="tutoring_user_id" property="tutoringUserId" />
|
<result column="phone" property="phone" />
|
<result column="effective_begin_time" property="effectiveBeginTime" />
|
<result column="effective_end_time" property="effectiveEndTime" />
|
<result column="total_time" property="totalTime" />
|
<result column="learned_time" property="learnedTime" />
|
<result column="status_flag" property="statusFlag" />
|
<result column="is_delete" property="isDelete" />
|
<result column="create_time" property="createTime" />
|
<result column="create_user" property="createUser" />
|
<result column="order_no" property="orderNo" />
|
<result column="order_amount" property="orderAmount" />
|
<result column="pay_amount" property="payAmount" />
|
<result column="pay_time" property="payTime" />
|
<result column="pay_type" property="payType" />
|
<result column="transaction_no" property="transactionNo" />
|
<result column="refund_amount" property="refundAmount" />
|
<result column="refund_time" property="refundTime" />
|
<result column="course_json" property="courseJson" />
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
</resultMap>
|
<resultMap id="BaseDtoMap" type="cn.stylefeng.guns.modular.business.dto.CourseOrderResponseDTO">
|
<result column="tutoringUserName" property="tutoringUserName"/>
|
<result column="userName" property="userName"/>
|
<result column="courseName" property="courseName"/>
|
<result column="courseUserName" property="courseUserName"/>
|
<result column="listingStatus" property="listingStatus"/>
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, course_id, user_id, course_user_id, tutoring_user_id, phone, effective_begin_time, effective_end_time, total_time, learned_time, status_flag, is_delete, create_time, create_user, order_no, order_amount, pay_amount, pay_time, pay_type, transaction_no, refund_amount, refund_time, course_json
|
</sql>
|
|
<select id="findCounseOrderPage" resultMap="BaseDtoMap">
|
SELECT
|
tco.*,toc1.nick_name userName,toc2.nick_name courseUserName,toc3.nick_name tutoringUserName,tc.course_name courseName,tc.listing_status listingStatus
|
FROM t_course_order tco
|
LEFT JOIN toc_customer toc1 ON toc1.customer_id = tco.user_id
|
LEFT JOIN toc_customer toc2 ON toc2.customer_id = tco.course_user_id
|
LEFT JOIN toc_customer toc3 ON toc3.customer_id = tco.tutoring_user_id
|
LEFT JOIN t_course tc ON tc.id = tco.course_id
|
<where>
|
AND tco.is_delete = 0
|
|
<if test="param.userName != null and param.userName != ''">
|
AND toc1.nick_name LIKE CONCAT('%',#{param.userName},'%')
|
</if>
|
<if test="param.courseUserName != null and param.courseUserName != ''">
|
AND toc2.nick_name LIKE CONCAT('%',#{param.courseUserName},'%')
|
</if>
|
<if test="param.tutoringUserName != null and param.tutoringUserName != ''">
|
AND toc3.nick_name LIKE CONCAT('%',#{param.tutoringUserName},'%')
|
</if>
|
<if test="param.phone != null and param.phone != ''">
|
|
AND tco.phone LIKE CONCAT('%',#{param.phone},'%')
|
</if>
|
<if test="param.statusFlag != null">
|
AND tco.status_flag = #{param.statusFlag}
|
</if>
|
<if test="param.userId != null">
|
AND tco.user_id = #{param.userId}
|
</if>
|
<if test="param.courseName != null and param.courseName != ''">
|
|
AND tc.course_name LIKE CONCAT('%',#{param.courseName},'%')
|
</if>
|
<if test="param.showState != null">
|
<choose>
|
<when test="param.showState == 0">
|
AND tco.status_flag = 0
|
</when>
|
<when test="param.showState == 2">
|
AND tco.status_flag = 1 AND NOW() < tco.effective_end_time
|
</when>
|
<when test="param.showState == 1">
|
AND tco.status_flag = 2
|
</when>
|
<otherwise>
|
AND tco.status_flag = #{param.showState}
|
</otherwise>
|
</choose>
|
</if>
|
<if test="param.statuFlags != null and param.statuFlags != ''">
|
AND tco.status_flag IN (${param.statuFlags})
|
</if>
|
</where>
|
|
ORDER BY tco.create_time DESC
|
|
</select>
|
|
</mapper>
|