123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- <?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.yonge.cooleshow.biz.dal.dao.UserOrderDetailDao">
- <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.UserOrderDetail">
- <result column="id_" property="id" />
- <result column="order_no_" property="orderNo" />
- <result column="sub_order_no_" property="subOrderNo" />
- <result column="merch_id_" property="merchId" />
- <result column="good_type_" property="goodType" />
- <result column="biz_id_" property="bizId" />
- <result column="biz_content_" property="bizContent" />
- <result column="good_name_" property="goodName" />
- <result column="good_url_" property="goodUrl" />
- <result column="original_price_" property="originalPrice" />
- <result column="expect_price_" property="expectPrice" />
- <result column="actual_price_" property="actualPrice" />
- <result column="coupon_amount_" property="couponAmount" />
- <result column="good_num_" property="goodNum" />
- <result column="good_price_" property="goodPrice" />
- <result column="plantform_fee_" property="plantformFee" />
- <result column="plantform_fee_rate_" property="plantformFeeRate" />
- <result column="create_time_" property="createTime" />
- <result column="update_time_" property="updateTime" />
- <result column="tenant_group_album_id_" property="tenantGroupAlbumId" />
- <result column="biz_json_" property="bizJson" />
- </resultMap>
- <!-- 表字段 -->
- <sql id="baseColumns">
- t.id_ as id
- , t.order_no_ as orderNo
- , t.sub_order_no_ as subOrderNo
- , t.merch_id_ as merchId
- , t.good_type_ as goodType
- , t.biz_id_ as bizId
- , t.biz_content_ as bizContent
- , t.good_name_ as goodName
- , t.good_url_ as goodUrl
- , t.original_price_ as originalPrice
- , t.expect_price_ as expectPrice
- , t.actual_price_ as actualPrice
- , t.coupon_amount_ as couponAmount
- , t.good_num_ as goodNum
- , t.good_price_ as goodPrice
- , t.plantform_fee_ as plantformFee
- , t.plantform_fee_rate_ as plantformFeeRate
- , t.account_config_ as accountConfig
- , t.tenant_group_album_id_ as tenantGroupAlbumId
- , t.create_time_ as createTime
- , t.update_time_ as updateTime
- , t.biz_json_ as bizJson
- , t.gift_flag_ as giftFlag
- , t.discount_json_ as discountJson
- </sql>
- <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo">
- SELECT
- <include refid="baseColumns"/>,
- o.order_client_ as orderClient,
- o.user_id_ as userId,
- o.recom_user_id_ as recomUserId
- FROM user_order_detail t
- left join user_order o on t.order_no_ = o.order_no_
- where t.id_ = #{id}
- </select>
- <select id="detailByOrderNo" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo">
- SELECT
- <include refid="baseColumns"/>,
- o.order_client_ as orderClient,
- o.user_id_ as userId,
- o.recom_user_id_ as recomUserId
- FROM user_order_detail t
- left join user_order o on t.order_no_ = o.order_no_
- where t.order_no_ = #{orderNo}
- </select>
- <sql id="selectSql">
- SELECT
- <include refid="baseColumns" />,
- o.order_client_ as orderClient,
- o.user_id_ as userId,
- o.recom_user_id_ as recomUserId
- FROM user_order_detail t
- left join user_order o on t.order_no_ = o.order_no_
- <where>
- <if test="param.orderNo != null and param.orderNo != ''">
- AND t.order_no_ = #{param.orderNo}
- </if>
- <if test="param.ids != null and param.ids.size()>0">
- AND t.id_ IN
- <foreach collection="param.ids " item="id" open="(" close=")" separator=",">
- #{id}
- </foreach>
- </if>
- </where>
- </sql>
- <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo">
- <include refid="selectSql"/>
- </select>
- <select id="selectList" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo">
- <include refid="selectSql"/>
- </select>
- <select id="getOrderDetilListByOrderNo" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo">
- SELECT
- <include refid="baseColumns" />,
- o.recom_user_id_ as recomUserId,
- o.order_client_ as orderClient,
- u.avatar_ as avatar,
- u.username_ as username,
- a.star_grade_ as starGrade
- FROM user_order_detail t
- left join user_order o on t.order_no_ = o.order_no_
- left join sys_user u on t.merch_id_ = u.id_
- left join teacher_total a on t.merch_id_ = a.user_id_
- where t.order_no_ = #{orderNo}
- </select>
- <select id="getOrderDetilListByOrderNos" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo">
- SELECT
- <include refid="baseColumns" />,
- o.recom_user_id_ as recomUserId,
- o.order_client_ as orderClient,
- u.avatar_ as avatar,
- u.username_ as username,
- a.star_grade_ as starGrade
- FROM user_order_detail t
- left join user_order o on t.order_no_ = o.order_no_
- left join sys_user u on t.merch_id_ = u.id_
- left join teacher_total a on t.merch_id_ = a.user_id_
- <where>
- <if test="orderNos != null and orderNos.size() != 0">
- and t.order_no_ in
- <foreach collection="orderNos" close=")" open="(" separator="," item="item">
- #{item}
- </foreach>
- </if>
- </where>
- </select>
- <select id="getActivityGoodsCount" resultType="int">
- SELECT ifnull(sum(t.good_num_),0) as goodNum
- FROM user_order_detail t
- left join user_order o on t.order_no_ = o.order_no_
- where o.activity_id_ = #{activityId}
- and o.user_id_ = #{userId}
- and o.order_client_ = #{client}
- and o.status_ in ('PAID','WAIT_PAY','PAYING')
- and t.gift_flag_ = 0
- </select>
- <select id="liveBuyTotal"
- resultType="com.yonge.cooleshow.biz.dal.wrapper.TeacherIndexWrapper$CourseExposureTotal">
- select c.type,SUM(c.exposureNum) exposureNum,c.date from (
- select uod.good_type_ type,COUNT(distinct uod.order_no_) exposureNum,
- DATE_FORMAT(uod.create_time_,#{groupBy}) 'date' from user_order_detail uod
- left join user_order uo ON uo.order_no_ = uod.order_no_
- left join course_group cg On cg.id_ = uod.biz_id_
- where cg.teacher_id_ = #{param.teacherId} AND uo.status_ = 'PAID'
- AND DATE_FORMAT(uod.create_time_, '%Y-%m-%d') BETWEEN #{param.startTime} AND #{param.endTime}
- <if test="param.type != null and param.type != ''">
- and uod.good_type_ = #{param.type}
- </if>
- group by DATE_FORMAT(uod.create_time_,#{groupBy})
- UNION ALL
- select uod.good_type_ type,COUNT(distinct uod.order_no_) exposureNum,
- DATE_FORMAT(uod.create_time_,#{groupBy}) 'date' from user_order_detail uod
- left join user_order uo ON uo.order_no_ = uod.order_no_
- left join video_lesson_group cg On cg.id_ = uod.biz_id_
- where cg.teacher_id_ = #{param.teacherId} AND uo.status_ = 'PAID'
- AND DATE_FORMAT(uod.create_time_, '%Y-%m-%d') BETWEEN #{param.startTime} AND #{param.endTime}
- <if test="param.type != null and param.type != ''">
- and uod.good_type_ = #{param.type}
- </if>
- group by DATE_FORMAT(uod.create_time_,#{groupBy})) c
- group by c.date ORDER BY c.date
- </select>
- <select id="videoBuyTotal"
- resultType="com.yonge.cooleshow.biz.dal.wrapper.TeacherIndexWrapper$CourseExposureTotal">
- select uod.good_type_ type,COUNT(distinct uod.order_no_) exposureNum,
- DATE_FORMAT(uod.create_time_,#{groupBy}) 'date' from user_order_detail uod
- left join user_order uo ON uo.order_no_ = uod.order_no_
- left join video_lesson_group cg On cg.id_ = uod.biz_id_
- where uod.good_type_ = 'VIDEO' AND cg.teacher_id_ = #{param.teacherId} AND uo.status_ = 'PAID'
- AND DATE_FORMAT(uod.create_time_, '%Y-%m-%d') BETWEEN #{param.startTime} AND #{param.endTime}
- group by DATE_FORMAT(uod.create_time_,#{groupBy}) order by 'date'
- </select>
- <select id="musicSheetBuyTotal"
- resultType="com.yonge.cooleshow.biz.dal.wrapper.TeacherIndexWrapper$CourseExposureTotal">
- select uod.good_type_ type,COUNT(distinct uod.order_no_) exposureNum,
- DATE_FORMAT(uod.create_time_,#{groupBy}) 'date' from user_order_detail uod
- left join user_order uo ON uo.order_no_ = uod.order_no_
- left join music_sheet ms ON ms.id_ = uod.biz_id_
- where uod.good_type_ = 'MUSIC' AND uo.status_ = 'PAID' AND ms.source_type_ = 'TEACHER' AND ms.create_by_ = #{param.teacherId}
- AND DATE_FORMAT(uod.create_time_, '%Y-%m-%d') BETWEEN #{param.startTime} AND #{param.endTime}
- group by DATE_FORMAT(uod.create_time_,#{groupBy}) order by 'date'
- </select>
- <select id="getPayingCourseGroupOrder" resultType="java.lang.String">
- SELECT distinct t.order_no_ FROM user_order_detail t
- LEFT JOIN user_order o ON t.order_no_ = o.order_no_
- WHERE t.biz_id_ = #{groupId}
- AND t.good_type_ in ('LIVE','GROUP')
- AND o.status_ IN ('WAIT_PAY','PAYING')
- </select>
- </mapper>
|