|  |  | 
 |  |  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
 |  |  | <mapper namespace="cc.mrbird.febs.mall.mapper.MallOrderInfoMapper"> | 
 |  |  |  | 
 |  |  |     <select id="selectInPage" resultMap="OrderInfoMap"> | 
 |  |  |         select | 
 |  |  |             a.*, | 
 |  |  |             b.id item_id, | 
 |  |  |             b.order_id, | 
 |  |  |             b.goods_id, | 
 |  |  |             b.sku_id, | 
 |  |  |             b.goods_name, | 
 |  |  |             b.style_name, | 
 |  |  |             b.sku_name, | 
 |  |  |             b.sku_image, | 
 |  |  |             b.cnt, | 
 |  |  |             b.price, | 
 |  |  |             b.amount | 
 |  |  |         from mall_order_info a | 
 |  |  |         inner join mall_order_item b on a.id=b.order_id | 
 |  |  |         <where> | 
 |  |  |             a.del_flag=2 | 
 |  |  |             <if test="record.status == 4 and record.status != 0"> | 
 |  |  |                 and a.status in (5,6) | 
 |  |  |             </if> | 
 |  |  |             <if test="record.status != 4 and record.status != 0 and record.status != 5"> | 
 |  |  |                 and a.status = #{record.status} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.status == 5"> | 
 |  |  |                 and a.status = 7 | 
 |  |  |             </if> | 
 |  |  |             <if test="record.memberId != null"> | 
 |  |  |                 and a.member_id=#{record.memberId} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.orderType != null"> | 
 |  |  |                 and a.order_type=#{record.orderType} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |         order by a.created_time desc | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectOrderByMemberIdAndId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo"> | 
 |  |  |         select * from mall_order_info where member_id=#{memberId} and id=#{id} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectOrderListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo"> | 
 |  |  |         select *,b.name memberName,b.phone memberPhone | 
 |  |  |         select *, | 
 |  |  |                b.name memberName, | 
 |  |  |                b.bind_phone memberBindPhone, | 
 |  |  |                b.phone memberPhone | 
 |  |  |         from mall_order_info a | 
 |  |  |         left join mall_member b on a.member_id = b.id | 
 |  |  |         <where> | 
 |  |  | 
 |  |  |             <if test="record != null"> | 
 |  |  |                 <if test="record.payResult != null and record.payResult != ''"> | 
 |  |  |                     and a.pay_result = #{record.payResult} | 
 |  |  |                 </if> | 
 |  |  |                 <if test="record.orderType != null"> | 
 |  |  |                     and a.order_type = #{record.orderType} | 
 |  |  |                 </if> | 
 |  |  |                 <if test="record.status != null and record.status != ''"> | 
 |  |  |                     and a.status = #{record.status} | 
 |  |  | 
 |  |  |         <result column="address" property="address" /> | 
 |  |  |         <result column="longitude" property="longitude" /> | 
 |  |  |         <result column="latitude" property="latitude" /> | 
 |  |  |         <result column="order_type" property="orderType" /> | 
 |  |  |         <result column="comment_state" property="commentState" /> | 
 |  |  |         <result column="carriage" property="carriage" /> | 
 |  |  |         <result column="remark" property="remark" /> | 
 |  |  |         <result column="del_flag" property="delFlag" /> | 
 |  |  |         <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem"> | 
 |  |  | 
 |  |  |             <result property="cnt" column="cnt" /> | 
 |  |  |             <result property="price" column="price" /> | 
 |  |  |             <result property="amount" column="amount" /> | 
 |  |  |             <result property="isNormal" column="is_normal" /> | 
 |  |  |         </collection> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  | 
 |  |  |                 and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%'))) | 
 |  |  |             </if> | 
 |  |  |             <if test="record.status == 4 and record.status != 0"> | 
 |  |  |                 and a.status in (5,6) | 
 |  |  |                 and a.status = 4 | 
 |  |  |             </if> | 
 |  |  |             <if test="record.status != 4 and record.status != 0 and record.status != 5"> | 
 |  |  |                 and a.status = #{record.status} | 
 |  |  | 
 |  |  |             </if> | 
 |  |  |             <if test="record.memberId != null"> | 
 |  |  |                 and a.member_id=#{record.memberId} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.orderType != null"> | 
 |  |  |                 and a.order_type=#{record.orderType} | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |         order by a.created_time desc | 
 |  |  | 
 |  |  |             b.sku_image, | 
 |  |  |             b.cnt, | 
 |  |  |             b.price, | 
 |  |  |             b.amount | 
 |  |  |             b.amount, | 
 |  |  |             b.is_normal | 
 |  |  |         from mall_order_info a | 
 |  |  |              inner join mall_order_item b on a.id=b.order_id | 
 |  |  |         where a.id=#{id} | 
 |  |  | 
 |  |  |         group by a.invite_id | 
 |  |  |          ) a | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectTotalAmount" resultType="java.math.BigDecimal"> | 
 |  |  |         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info | 
 |  |  |         where member_id=#{memberId} and status in (2, 3, 4) and order_type=1 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal"> | 
 |  |  |         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info | 
 |  |  |         where status = 4 | 
 |  |  |         <if test="member != null"> | 
 |  |  |             and member_id=#{memberId} | 
 |  |  |         </if> | 
 |  |  |         <if test="date != null"> | 
 |  |  |             and date_format(a.receiving_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') | 
 |  |  |         </if> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectTotalAmountUnCostForDate" resultType="java.math.BigDecimal"> | 
 |  |  |         select IFNULL(sum(IFNULL(b.amount,0) - IFNULL(b.cost_price*b.cnt, 0)),0) | 
 |  |  |         from mall_order_info a | 
 |  |  |         inner join mall_order_item b on a.id=b.order_id | 
 |  |  |         where a.order_type=1 | 
 |  |  |         <if test="isNormal == 2"> | 
 |  |  |             and a.status in (2, 3, 4) and b.is_normal = 2 and b.has_settle=1 | 
 |  |  |         </if> | 
 |  |  |         <if test="isNormal == 1"> | 
 |  |  |             and a.status=4 and b.is_normal = 1 and b.has_settle=1 | 
 |  |  |         </if> | 
 |  |  |         <if test="member != null"> | 
 |  |  |             and member_id=#{memberId} | 
 |  |  |         </if> | 
 |  |  |         <if test='date != null and dateType == "D"'> | 
 |  |  |             and date_format(a.pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') | 
 |  |  |         </if> | 
 |  |  |         <if test='date != null and dateType == "M"'> | 
 |  |  |             and date_format(a.pay_time, '%Y-%m') = date_format(#{date}, '%Y-%m') | 
 |  |  |         </if> | 
 |  |  |         <if test='date != null and dateType == "Y"'> | 
 |  |  |             and date_format(a.pay_time, '%Y') = date_format(#{date}, '%Y') | 
 |  |  |         </if> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectByOrderNo" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo"> | 
 |  |  |         select * from mall_order_info where order_no=#{orderNo} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <update id="updateOrderConfirmStatus"> | 
 |  |  |         update mall_order_info | 
 |  |  |         set status=4, | 
 |  |  |             receiving_time=now() | 
 |  |  |         where status=3 and date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <select id="selectOrderInfoWithNormalGoods" resultMap="OrderInfoMap"> | 
 |  |  |         select * from mall_order_info a | 
 |  |  |         inner join mall_order_item b on a.id=b.order_id and b.is_normal=1 | 
 |  |  |         where date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectSumAmountByPayMethodAndStatue" resultType="java.math.BigDecimal"> | 
 |  |  |         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info | 
 |  |  |         where pay_method = #{payMethod} and status = #{statue} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectTotalAmountByPayDoneAndDataString" resultType="java.math.BigDecimal"> | 
 |  |  |         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info | 
 |  |  |         where pay_result = #{payResult} and date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectSumAmountByPayMethodAndSomeStatue" resultType="java.math.BigDecimal"> | 
 |  |  |         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info | 
 |  |  |         where pay_method = #{payMethod} | 
 |  |  |           and status in | 
 |  |  |         <foreach collection="statues" separator="," close=")" open="(" item="item"> | 
 |  |  |             #{item} | 
 |  |  |         </foreach> | 
 |  |  |     </select> | 
 |  |  | </mapper> |