|  | @@ -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>
 |