|
@@ -16,6 +16,7 @@
|
|
|
<result column="start_time_" property="startTime"/>
|
|
|
<result column="end_time_" property="endTime"/>
|
|
|
<result column="order_id_" property="orderId"/>
|
|
|
+ <result column="platform_order_id_" property="platformOrderId"/>
|
|
|
<result column="remark_" property="remark"/>
|
|
|
<result column="active_remark_" property="activeRemark"/>
|
|
|
<result column="version_" property="version"/>
|
|
@@ -38,6 +39,7 @@
|
|
|
<result column="start_time_" property="cloudTeacherOrder.startTime"/>
|
|
|
<result column="end_time_" property="cloudTeacherOrder.endTime"/>
|
|
|
<result column="order_id_" property="cloudTeacherOrder.orderId"/>
|
|
|
+ <result column="platform_order_id_" property="cloudTeacherOrder.platformOrderId"/>
|
|
|
<result column="trans_status_" property="studentPaymentOrder.status"/>
|
|
|
<result column="expect_amount_" property="studentPaymentOrder.expectAmount"/>
|
|
|
<result column="pay_time_" property="studentPaymentOrder.payTime"/>
|
|
@@ -60,9 +62,9 @@
|
|
|
useGeneratedKeys="true">
|
|
|
<!--@mbg.generated-->
|
|
|
insert into cloud_teacher_order (organ_id_,student_id_, type_, level_, time_, amount_, refund_amount_, status_,
|
|
|
- order_id_,start_time_,end_time_,remark_, create_time_, update_time_,music_group_id_,active_remark_,tenant_id_)
|
|
|
+ order_id_,platform_order_id_,start_time_,end_time_,remark_, create_time_, update_time_,music_group_id_,active_remark_,tenant_id_)
|
|
|
values (#{organId},#{studentId}, #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{level}, #{time}, #{amount}, #{refundAmount},
|
|
|
- #{status},#{orderId},#{startTime},#{endTime}, #{remark}, NOW(), NOW(),#{musicGroupId},#{activeRemark},#{tenantId})
|
|
|
+ #{status},#{orderId},#{platformOrderId},#{startTime},#{endTime}, #{remark}, NOW(), NOW(),#{musicGroupId},#{activeRemark},#{tenantId})
|
|
|
</insert>
|
|
|
<update id="update" parameterType="com.ym.mec.biz.dal.entity.CloudTeacherOrder">
|
|
|
<!--@mbg.generated-->
|
|
@@ -107,6 +109,9 @@
|
|
|
<if test="orderId != null">
|
|
|
order_id_ = #{orderId},
|
|
|
</if>
|
|
|
+ <if test="platformOrderId != null">
|
|
|
+ platform_order_id_ = #{platformOrderId},
|
|
|
+ </if>
|
|
|
<if test="remark != null">
|
|
|
remark_ = #{remark},
|
|
|
</if>
|
|
@@ -117,11 +122,20 @@
|
|
|
</update>
|
|
|
|
|
|
<update id="updateOrderStatusOK">
|
|
|
- update cloud_teacher_order set status_ = 2 where order_id_ = (#{orderId})
|
|
|
+ update cloud_teacher_order set status_ = 2,
|
|
|
+ `start_time_` = CURRENT_DATE(),
|
|
|
+ `end_time_` = case
|
|
|
+ when type_ = 1 then date_add(CURRENT_DATE(), interval `time_` day)
|
|
|
+ when type_ = 2 then date_add(CURRENT_DATE(), interval `time_` month)
|
|
|
+ when type_ = 3 then date_add(CURRENT_DATE(), interval `time_` * 3 month)
|
|
|
+ when type_ = 4 then date_add(CURRENT_DATE(), interval `time_` * 6 month)
|
|
|
+ when type_ = 5 then date_add(CURRENT_DATE(), interval `time_` * 12 month)
|
|
|
+ end
|
|
|
+ where platform_order_id_ = (#{platformOrderId})
|
|
|
</update>
|
|
|
<update id="updateOrderId">
|
|
|
update cloud_teacher_order
|
|
|
- set order_id_ = #{orderId} , pay_amount_ = #{amount}
|
|
|
+ set platform_order_id_ = #{platformOrderId} , pay_amount_ = #{amount}
|
|
|
where id_ = #{cloudTeacherOrderId}
|
|
|
</update>
|
|
|
|
|
@@ -292,7 +306,12 @@
|
|
|
GROUP BY student_id_
|
|
|
</select>
|
|
|
|
|
|
- <select id="queryInactive" resultType="com.ym.mec.biz.dal.entity.CloudTeacherStudent">
|
|
|
+ <resultMap id="cloudTeacherStudent" type="com.ym.mec.biz.dal.entity.CloudTeacherStudent">
|
|
|
+ <result property="type" column="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <!-- 查询激活或未激活记录 -->
|
|
|
+ <select id="queryInactive" resultMap="cloudTeacherStudent">
|
|
|
select
|
|
|
cto.id_ as cloudTeacherOrderId,
|
|
|
cto.student_id_ as studentId,
|
|
@@ -307,25 +326,18 @@
|
|
|
end as typeName,
|
|
|
cto.time_ as time,
|
|
|
sj.id_ as subject,
|
|
|
- sj.name_ as subjectLabel,
|
|
|
+ sj.name_ as subjectName,
|
|
|
u.tenant_id_ as tenantId,
|
|
|
u.username_ as name,
|
|
|
- u.phone_ as phone,
|
|
|
- org.name_ as organName,
|
|
|
- mg.id_ as musicGroupId,
|
|
|
- mg.name_ as musicGroupName,
|
|
|
- coo.name_ as cooperationOrganName
|
|
|
+ u.phone_ as phone
|
|
|
from cloud_teacher_order cto
|
|
|
left join student s on cto.student_id_ = s.user_id_
|
|
|
left join sys_user u on cto.student_id_ = u.id_
|
|
|
left join subject sj on s.subject_id_list_ = sj.id_
|
|
|
- left join student_registration sr on cto.student_id_ = sr.user_id_
|
|
|
- left join music_group mg on sr.music_group_id_ = mg.id_
|
|
|
- left join cooperation_organ coo on mg.cooperation_organ_id_ = coo.id_
|
|
|
- left join organization org on mg.organ_id_ = org.id_
|
|
|
+ left join student_registration sr ON cto.student_id_ = sr.user_id_
|
|
|
<where>
|
|
|
- cto.status_ = #{status} AND sr.music_group_status_ = 'NORMAL' AND mg.status_ = 'PROGRESS'
|
|
|
- <if test="queryCondition != nul and queryCondition != ''">
|
|
|
+ cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId}
|
|
|
+ <if test="queryCondition != null and queryCondition != ''">
|
|
|
AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
|
|
|
</if>
|
|
|
<if test="subjectId">
|
|
@@ -340,13 +352,10 @@
|
|
|
left join student s on cto.student_id_ = s.user_id_
|
|
|
left join sys_user u on cto.student_id_ = u.id_
|
|
|
left join subject sj on s.subject_id_list_ = sj.id_
|
|
|
- left join student_registration sr on s.user_id_ = sr.user_id_
|
|
|
- left join music_group mg on sr.music_group_id_ = mg.id_
|
|
|
- left join cooperation_organ coo on mg.cooperation_organ_id_ = coo.id_
|
|
|
- left join organization org on mg.organ_id_ = org.id_
|
|
|
+ left join student_registration sr ON cto.student_id_ = sr.user_id_
|
|
|
<where>
|
|
|
- cto.status_ = #{status} AND sr.music_group_status_ = 'NORMAL' AND mg.status_ = 'PROGRESS'
|
|
|
- <if test="queryCondition != nul and queryCondition != ''">
|
|
|
+ cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId}
|
|
|
+ <if test="queryCondition != null and queryCondition != ''">
|
|
|
AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
|
|
|
</if>
|
|
|
<if test="subjectId">
|
|
@@ -354,22 +363,26 @@
|
|
|
</if>
|
|
|
</where>
|
|
|
</select>
|
|
|
+
|
|
|
+ <!-- 查询订单记录 -->
|
|
|
<select id="findRecordCount" resultType="java.lang.Integer">
|
|
|
SELECT count(1) FROM cloud_teacher_order cto
|
|
|
- LEFT JOIN tenant_order_record tor ON tor.id_ = cto.order_id_
|
|
|
+ LEFT JOIN tenant_order_record tor ON tor.id_ = cto.platform_order_id_
|
|
|
LEFT JOIN student s ON cto.student_id_ = s.user_id_
|
|
|
LEFT JOIN sys_user u ON cto.student_id_ = u.id_
|
|
|
LEFT JOIN SUBJECT sj ON s.subject_id_list_ = sj.id_
|
|
|
LEFT JOIN student_registration sr ON cto.student_id_ = sr.user_id_
|
|
|
LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
|
|
|
<where>
|
|
|
- cto.status_ = 2 AND sr.music_group_status_ = 'NORMAL' AND mg.status_ = 'PROGRESS' and tor.order_no_ is not null
|
|
|
- AND cto.type_ > 1
|
|
|
+ cto.status_ = 2 AND tor.order_no_ is not null AND tor.order_type_ = 'CLOUD_TEACHER'
|
|
|
+ AND sr.music_group_id_ = #{musicGroupId}
|
|
|
+ <if test="queryCondition != null and queryCondition != ''">
|
|
|
+ AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
|
|
|
+ </if>
|
|
|
</where>
|
|
|
</select>
|
|
|
- <select id="queryRecord" resultType="com.ym.mec.biz.dal.entity.CloudTeacherStudent">
|
|
|
+ <select id="queryRecord" resultMap="cloudTeacherStudent">
|
|
|
SELECT
|
|
|
- tor.order_no_ as orderNo,
|
|
|
cto.id_ AS cloudTeacherOrderId,
|
|
|
cto.student_id_ AS studentId,
|
|
|
cto.type_ AS type,
|
|
@@ -380,22 +393,34 @@
|
|
|
WHEN 5 THEN '年' ELSE ''
|
|
|
END AS typeName,
|
|
|
cto.time_ AS time,
|
|
|
- sj.id_ AS SUBJECT,
|
|
|
+ sj.id_ AS subject,
|
|
|
sj.name_ AS subjectName,
|
|
|
u.tenant_id_ AS tenantId,
|
|
|
- u.username_ AS NAME,
|
|
|
- u.phone_ AS phone
|
|
|
- FROM
|
|
|
- cloud_teacher_order cto
|
|
|
- LEFT JOIN tenant_order_record tor ON tor.id_ = cto.order_id_
|
|
|
- LEFT JOIN student s ON cto.student_id_ = s.user_id_
|
|
|
- LEFT JOIN sys_user u ON cto.student_id_ = u.id_
|
|
|
- LEFT JOIN SUBJECT sj ON s.subject_id_list_ = sj.id_
|
|
|
- LEFT JOIN student_registration sr ON cto.student_id_ = sr.user_id_
|
|
|
- LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
|
|
|
+ u.username_ AS name,
|
|
|
+ u.phone_ AS phone,
|
|
|
+ tor.order_no_ as orderNo,
|
|
|
+ tor.trans_no_ as transNo,
|
|
|
+ tor.created_time_ as orderTime
|
|
|
+ FROM cloud_teacher_order cto
|
|
|
+ LEFT JOIN tenant_order_record tor ON tor.id_ = cto.platform_order_id_
|
|
|
+ LEFT JOIN student s ON cto.student_id_ = s.user_id_
|
|
|
+ LEFT JOIN sys_user u ON cto.student_id_ = u.id_
|
|
|
+ LEFT JOIN subject sj ON s.subject_id_list_ = sj.id_
|
|
|
<where>
|
|
|
- cto.status_ = 2 AND sr.music_group_status_ = 'NORMAL' AND mg.status_ = 'PROGRESS' and tor.order_no_ is not null
|
|
|
- AND cto.type_ > 1
|
|
|
+ cto.status_ = 2 AND tor.order_no_ is not null AND tor.order_type_ = 'CLOUD_TEACHER'
|
|
|
+ AND sr.music_group_id_ = #{musicGroupId}
|
|
|
+ <if test="queryCondition != null and queryCondition != ''">
|
|
|
+ AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
|
|
|
+ </if>
|
|
|
+ <if test="orderNo != null and orderNo != ''">
|
|
|
+ AND tor.order_no_ = #{orderNo}
|
|
|
+ </if>
|
|
|
+ <if test="startTime != null and startTime != ''">
|
|
|
+ <![CDATA[ AND tor.created_time_ >= #{startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="endTime != null and startTime != ''">
|
|
|
+ <![CDATA[ AND tor.created_time_ <= #{endTime} ]]>
|
|
|
+ </if>
|
|
|
</where>
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|