TradeBillsMapper.xml 8.98 KB
<?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.yohoufo.dal.order.TradeBillsMapper">
  <resultMap id="BaseResultMap" type="com.yohoufo.dal.order.model.TradeBills">
    <id column="id" jdbcType="INTEGER" property="id" />
    <result column="uid" jdbcType="INTEGER" property="uid" />
    <result column="order_code" jdbcType="BIGINT" property="orderCode" />
    <result column="paid_order_code" jdbcType="BIGINT" property="paidOrderCode" />
    <result column="user_type" jdbcType="TINYINT" property="userType" />
    <result column="pay_type" jdbcType="TINYINT" property="payType" />
    <result column="trade_type" jdbcType="INTEGER" property="tradeType" />
    <result column="income_outcome" jdbcType="TINYINT" property="incomeOutcome" />
    <result column="amount" jdbcType="DECIMAL" property="amount" />
    <result column="system_amount" jdbcType="DECIMAL" property="systemAmount" />
    <result column="trade_status" jdbcType="TINYINT" property="tradeStatus" />
    <result column="create_time" jdbcType="INTEGER" property="createTime" />

    <result column="deal_uid" jdbcType="INTEGER" property="dealUid" />
    <result column="deal_status" jdbcType="TINYINT" property="dealStatus" />
    <result column="deal_time" jdbcType="INTEGER" property="dealTime" />
    <result column="deal_relate_id" jdbcType="INTEGER" property="dealRelateId" />
    <result column="deal_user_name" jdbcType="VARCHAR" property="dealUserName" />
  </resultMap>
  <sql id="Base_Column_List">
    id,uid, order_code,paid_order_code,  user_type,pay_type,trade_type,income_outcome,amount,system_amount,trade_status,create_time,deal_uid,deal_status,deal_time,deal_relate_id,deal_user_name
  </sql>

  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from trade_bills
    where id = #{id,jdbcType=INTEGER}
  </select>
  
  <select id="selectByDealRelateId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from trade_bills
    where deal_relate_id = #{dealRelateId,jdbcType=INTEGER}
  </select>

  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yohoufo.dal.order.model.TradeBills" useGeneratedKeys="true">
    insert into trade_bills (id, uid, order_code, paid_order_code, user_type,pay_type,trade_type,
    income_outcome,amount,system_amount,trade_status,create_time
    ,deal_uid,deal_status,deal_time,deal_relate_id,deal_user_name)
    values (#{id},#{uid},#{orderCode},#{paidOrderCode},#{userType},#{payType},#{tradeType},
    #{incomeOutcome},#{amount},#{systemAmount},
    #{tradeStatus},#{createTime},#{dealUid},#{dealStatus},#{dealTime},#{dealRelateId},#{dealUserName})
  </insert>

  <!-- 买家只显示补偿款收入  ,卖家只显示货款收入
    modify by craig.qin 20181109 : 卖家除了显示货款收入,还要显示卖家的补偿款收入
   -->
  <sql id="Query_Condition_Sql" >
     uid = #{uid,jdbcType=INTEGER} and income_outcome = 1  and deal_status != 1
     and ( (user_type =1 and trade_type = 3)  or (user_type =2 and trade_type = 2) or (user_type =2 and trade_type = 3) )
  </sql>

  <select id="selectCountGoodsIncomeOrCompensateIncomeByUid" resultType="java.lang.Integer" parameterType="java.lang.Integer" >
    select
    count(id)
    from trade_bills
    where <include refid="Query_Condition_Sql" />
  </select>

  <select id="selectGoodsIncomeOrCompensateIncomeTradeBillsWithPageByUid"  resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from trade_bills
    where <include refid="Query_Condition_Sql" />
    order by id desc
    limit  #{start,jdbcType=INTEGER},#{limit,jdbcType=INTEGER}
  </select>


  <select id="selectIncomeAmountByUid" resultType="java.util.HashMap">
     select trade_type as tradeType,sum(amount) as allAmount from trade_bills
     where <include refid="Query_Condition_Sql" />
     group by trade_type
  </select>



    <update id="updateSelectiveByPrimaryKey" parameterType="com.yohoufo.dal.order.model.TradeBills" >
    update trade_bills
    <set >
      <if test="uid != null" >
        uid = #{uid,jdbcType=INTEGER},
      </if>
      <if test="orderCode != null" >
        order_code = #{orderCode,jdbcType=BIGINT},
      </if>
      <if test="userType != null" >
        user_type = #{userType,jdbcType=INTEGER},
      </if>
      <if test="payType != null" >
        pay_type = #{payType,jdbcType=INTEGER},
      </if>
      <if test="tradeType != null" >
        trade_type = #{tradeType,jdbcType=INTEGER},
      </if>
      <if test="incomeOutcome != null" >
        income_outcome = #{incomeOutcome,jdbcType=INTEGER},
      </if>
      <if test="amount != null" >
        amount = #{amount,jdbcType=DECIMAL},
      </if>
      <if test="systemAmount != null" >
        system_amount = #{systemAmount,jdbcType=DECIMAL},
      </if>
      <if test="tradeStatus != null" >
        trade_status = #{tradeStatus,jdbcType=INTEGER},
      </if>
      <if test="createTime != null" >
        create_time = #{createTime,jdbcType=INTEGER},
      </if>
      <if test="dealUid != null" >
        deal_uid = #{dealUid,jdbcType=INTEGER},
      </if>
      <if test="dealUserName != null" >
        deal_user_name = #{dealUserName,jdbcType=VARCHAR},
      </if>
      <if test="dealStatus != null" >
        deal_status = #{dealStatus,jdbcType=INTEGER},
      </if>
      <if test="dealTime != null" >
        deal_time = #{dealTime,jdbcType=INTEGER},
      </if>
      <if test="dealRelateId != null" >
        deal_relate_id = #{dealRelateId,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER} and deal_status != 1
  </update>

  <update id="updateSelectiveByPrimaryKeyNoCondition" parameterType="com.yohoufo.dal.order.model.TradeBills" >
    update trade_bills
    <set >
      <if test="uid != null" >
        uid = #{uid,jdbcType=INTEGER},
      </if>
      <if test="orderCode != null" >
        order_code = #{orderCode,jdbcType=BIGINT},
      </if>
      <if test="userType != null" >
        user_type = #{userType,jdbcType=INTEGER},
      </if>
      <if test="payType != null" >
        pay_type = #{payType,jdbcType=INTEGER},
      </if>
      <if test="tradeType != null" >
        trade_type = #{tradeType,jdbcType=INTEGER},
      </if>
      <if test="incomeOutcome != null" >
        income_outcome = #{incomeOutcome,jdbcType=INTEGER},
      </if>
      <if test="amount != null" >
        amount = #{amount,jdbcType=DECIMAL},
      </if>
      <if test="systemAmount != null" >
        system_amount = #{systemAmount,jdbcType=DECIMAL},
      </if>
      <if test="tradeStatus != null" >
        trade_status = #{tradeStatus,jdbcType=INTEGER},
      </if>
      <if test="createTime != null" >
        create_time = #{createTime,jdbcType=INTEGER},
      </if>
      <if test="dealUid != null" >
        deal_uid = #{dealUid,jdbcType=INTEGER},
      </if>
      <if test="dealUserName != null" >
        deal_user_name = #{dealUserName,jdbcType=VARCHAR},
      </if>
      <if test="dealStatus != null" >
        deal_status = #{dealStatus,jdbcType=INTEGER},
      </if>
      <if test="dealTime != null" >
        deal_time = #{dealTime,jdbcType=INTEGER},
      </if>
      <if test="dealRelateId != null" >
        deal_relate_id = #{dealRelateId,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  
  <update id="updateToFailByPrimaryKey" parameterType="com.yohoufo.dal.order.model.TradeBills" >
    update trade_bills set deal_status = #{dealStatus,jdbcType=INTEGER}
    where id = #{id,jdbcType=INTEGER}
  </update>
  

  <select id="selectByKeyProps" parameterType="com.yohoufo.dal.order.model.TradeBills" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from trade_bills
    where 1=1
    <if test="orderCode != null" >
      and order_code = #{orderCode,jdbcType=BIGINT}
    </if>
    <if test="tradeType != null" >
      and trade_type = #{tradeType,jdbcType=INTEGER}
    </if>
  </select>


  <select id="selectByOrderCodeList" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from trade_bills
    where 1=1 and order_code in
    <foreach collection="orderCodes" item="orderCode" open="(" separator="," close=")">
      #{orderCode,jdbcType=BIGINT}
    </foreach>

  </select>


  <update id="updateLockOfUidTradeStatusAndDealTime" >
    update trade_bills
    set trade_status = #{tagTradeStatus,jdbcType=INTEGER},deal_time = #{tagDealTime,jdbcType=INTEGER}
    where
    uid = #{uid,jdbcType=INTEGER}
    and trade_status = #{tradeStatus,jdbcType=INTEGER}
    and deal_time = #{dealTime,jdbcType=INTEGER}
  </update>

  <select id="selectByUidTradeStatusAndDealTime" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from trade_bills
    where
    uid = #{uid,jdbcType=INTEGER}
    and trade_status = #{tradeStatus,jdbcType=INTEGER}
    and deal_time = #{dealTime,jdbcType=INTEGER}
  </select>
</mapper>