<?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.sinata.modular.mall.dao.MallOrderMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.sinata.modular.mall.model.MallOrder">
|
<id column="order_no" property="orderNo"/>
|
<result column="order_main_no" property="orderMainNo"/>
|
<result column="merchant_id" property="merchantId"/>
|
<result column="user_id" property="userId"/>
|
<result column="sale_user_id" property="saleUserId"/>
|
<result column="goods_id" property="goodsId"/>
|
<result column="goods_money" property="goodsMoney"/>
|
<result column="coupon_id" property="couponId"/>
|
<result column="coupon_money" property="couponMoney"/>
|
<result column="freight_money" property="freightMoney"/>
|
<result column="pay_money" property="payMoney"/>
|
<result column="take_name" property="takeName"/>
|
<result column="phone" property="phone"/>
|
<result column="address" property="address"/>
|
<result column="number" property="number"/>
|
<result column="express_company" property="expressCompany"/>
|
<result column="waybill_no" property="waybillNo"/>
|
<result column="mark" property="mark"/>
|
<result column="send_time" property="sendTime"/>
|
<result column="take_time" property="takeTime"/>
|
<result column="cancel_type" property="cancelType"/>
|
<result column="cancel_time" property="cancelTime"/>
|
<result column="cause" property="cause"/>
|
<result column="cancel_describe" property="cancelDescribe"/>
|
<result column="state" property="state"/>
|
<result column="is_delete" property="isDelete"/>
|
<result column="cms_delete" property="cmsDelete"/>
|
<result column="create_time" property="createTime"/>
|
<result column="is_after_sale" property="isAfterSale"/>
|
<result column="user_nickname" property="userNickname"/>
|
<result column="user_phone" property="userPhone"/>
|
<result column="user_show_id" property="userShowId"/>
|
<result column="goods_num" property="goodsNum"/>
|
<result column="merchant_name" property="merchantName"/>
|
<result column="order_type" property="orderType"/>
|
<result column="goods_name" property="goodsName"/>
|
<result column="grep_name" property="grepName"/>
|
<result column="useNum" property="useNum"/>
|
<result column="refund_price" property="refundPrice"/>
|
<result column="refund_time" property="refundTime"/>
|
<result column="sale_nick_name" property="saleNickName"/>
|
<result column="sale_user_name" property="saleUserName"/>
|
<result column="sale_show_id" property="saleShowId"/>
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
order_no, order_main_no, merchant_id, user_id, goods_id, goods_money, coupon_id, coupon_money, freight_money, pay_money, take_name, phone, address, number, express_company, waybill_no, mark, send_time, take_time, cancel_type, cancel_time, cause, cancel_describe, state, is_delete, cms_delete, create_time, is_after_sale, refund_price, refund_time
|
</sql>
|
|
<select id="findList" resultMap="BaseResultMap">
|
SELECT
|
o.*,
|
u.nick_name as user_nickname,
|
u.phone as user_phone,
|
u.show_id as user_show_id,
|
order_goods.goods_num as goods_num,
|
order_goods.goods_name as goods_name,
|
order_goods.grep_name as grep_name,
|
mm.merchant_name,
|
user2.nick_name as sale_nick_name,
|
user2.real_name as sale_user_name,
|
user2.show_id as sale_show_id,
|
user2.agent_county_code,
|
(select count(1) from mall_order_detail_use where order_no = o.order_no) useNum
|
FROM mall_order o
|
LEFT JOIN mem_user u ON o.user_id = u.id
|
LEFT JOIN mem_user user2 ON o.sale_user_id = user2.id
|
left join mem_merchant mm on mm.id= o.merchant_id
|
LEFT JOIN (SELECT order_no,goods_name,grep_name, goods_num FROM mall_order_detail GROUP BY order_no)
|
order_goods on
|
order_goods.order_no = o.order_no
|
<where>o.cms_delete = false ${ew.sqlSegment}</where>
|
</select>
|
|
<select id="countOrderIncome" resultType="java.util.Map">
|
SELECT ${ew.sqlSelect} from (
|
SELECT o.order_no,o.merchant_id,o.state,o.pay_money,o.pay_time,SUM(service_fee) AS service_fee FROM mall_order o
|
LEFT JOIN mall_order_detail deatil on o.order_no = deatil.order_no
|
GROUP BY o.order_no)a
|
<where>${ew.sqlSegment}</where>
|
</select>
|
|
<select id="getOrderTopMapList" resultType="java.util.Map">
|
SELECT
|
COUNT( 1 ) num, c.`name`
|
FROM
|
mall_order o
|
JOIN mall_order_detail od ON o.order_no = od.order_no
|
<choose>
|
<when test="cityCode != null and cityCode != '-1'">
|
JOIN t_city_region c ON c.`code` = od.county_code
|
</when>
|
<when test="provinceCode != null and provinceCode != '-1'">
|
JOIN t_city_region c ON c.`code` = od.city_code
|
</when>
|
<otherwise>
|
JOIN t_city_region c ON c.`code` = od.province_code
|
</otherwise>
|
</choose>
|
<where>
|
<if test="beginTime != null and beginTime !=''">
|
AND o.create_time <![CDATA[ >= ]]> #{beginTime}
|
</if>
|
<if test="endTime != null and endTime !=''">
|
AND o.create_time <![CDATA[ <= ]]> #{endTime}
|
</if>
|
<if test="type != null and type != -1">
|
AND o.order_type = #{type}
|
</if>
|
<choose>
|
<when test="cityCode != null and cityCode != '-1'">
|
AND od.city_code = #{cityCode}
|
</when>
|
<when test="provinceCode != null and provinceCode != '-1'">
|
AND od.province_code = #{provinceCode}
|
</when>
|
</choose>
|
</where>
|
<choose>
|
<when test="cityCode != null and cityCode != '-1'">
|
GROUP BY od.county_code
|
</when>
|
<when test="provinceCode != null and provinceCode != '-1'">
|
GROUP BY od.city_code
|
</when>
|
<otherwise>
|
GROUP BY od.province_code
|
</otherwise>
|
</choose>
|
ORDER BY num DESC
|
LIMIT 5
|
</select>
|
|
|
<select id="getShopTopMapList" resultType="java.util.Map">
|
SELECT
|
<choose>
|
<when test="type != null and type == 1">
|
SUM( o.goods_money ) num,
|
</when>
|
<otherwise>
|
COUNT( 1 ) num,
|
</otherwise>
|
</choose>
|
m.merchant_name AS name
|
FROM
|
mall_order o
|
JOIN mall_order_detail od ON o.order_no = od.order_no
|
JOIN mem_merchant m ON o.merchant_id = m.id
|
<where>
|
AND o.state IN (1, 2, 3, 4)
|
<if test="beginTime != null and beginTime !=''">
|
AND o.create_time <![CDATA[ >= ]]> #{beginTime}
|
</if>
|
<if test="endTime != null and endTime !=''">
|
AND o.create_time <![CDATA[ <= ]]> #{endTime}
|
</if>
|
<choose>
|
<when test="cityCode != null and cityCode != '-1'">
|
AND od.city_code = #{cityCode}
|
</when>
|
<when test="provinceCode != null and provinceCode != '-1'">
|
AND od.province_code = #{provinceCode}
|
</when>
|
</choose>
|
</where>
|
GROUP BY o.merchant_id
|
ORDER BY num DESC
|
LIMIT 5
|
</select>
|
|
|
</mapper>
|