SellerWalletDetailMapper.xml 7.58 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.SellerWalletDetailMapper" >
  <resultMap id="BaseResultMap" type="com.yohoufo.dal.order.model.SellerWalletDetail" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="wallet_id" property="walletId" jdbcType="INTEGER" />
    <result column="uid" property="uid" jdbcType="INTEGER" />
    <result column="order_code" property="orderCode" jdbcType="BIGINT" />
    <result column="amount" property="amount" jdbcType="DECIMAL" />
    <result column="type" property="type" jdbcType="TINYINT" />
    <result column="create_time" property="createTime" jdbcType="INTEGER" />
    <result column="update_time" property="updateTime" jdbcType="INTEGER" />
    <result column="is_batch" property="isBatch" jdbcType="INTEGER" />
    <result column="attach_value" property="attachValue" jdbcType="VARCHAR" />
    <result column="avail_amount" property="availAmount" jdbcType="DECIMAL" />
    <result column="lock_amount" property="lockAmount" jdbcType="DECIMAL" />
    <result column="is_set" property="isSet" jdbcType="INTEGER" />
  </resultMap>
  <sql id="Base_Column_List" >
    id, wallet_id, uid, order_code, amount, type, create_time, update_time,is_batch,attach_value,avail_amount,lock_amount,is_set
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from seller_wallet_detail
    where id = #{id,jdbcType=INTEGER}
  </select>

  <insert id="insert" parameterType="com.yohoufo.dal.order.model.SellerWalletDetail" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
    insert into seller_wallet_detail (id, wallet_id, uid, 
      order_code, amount, type, 
      create_time, update_time,is_batch,attach_value,avail_amount,lock_amount,is_set)
    values (#{id,jdbcType=INTEGER}, #{walletId,jdbcType=INTEGER}, #{uid,jdbcType=INTEGER}, 
      #{orderCode,jdbcType=BIGINT}, #{amount,jdbcType=DECIMAL}, #{type,jdbcType=TINYINT}, 
      #{createTime,jdbcType=INTEGER}, #{updateTime,jdbcType=INTEGER}, #{isBatch,jdbcType=INTEGER}, #{attachValue,jdbcType=VARCHAR},#{availAmount,jdbcType=DECIMAL},#{lockAmount,jdbcType=DECIMAL},#{isSet,jdbcType=INTEGER})
  </insert>
  <insert id="insertSelective" parameterType="com.yohoufo.dal.order.model.SellerWalletDetail" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
    insert into seller_wallet_detail
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="walletId != null" >
        wallet_id,
      </if>
      <if test="uid != null" >
        uid,
      </if>
      <if test="orderCode != null" >
        order_code,
      </if>
      <if test="amount != null" >
        amount,
      </if>
      <if test="type != null" >
        type,
      </if>
      <if test="createTime != null" >
        create_time,
      </if>
      <if test="updateTime != null" >
        update_time,
      </if>
      <if test="isBatch != null" >
        is_batch,
      </if>
      <if test="attachValue != null" >
        attach_value,
      </if>
      <if test="availAmount != null" >
        avail_amount,
      </if>
      <if test="lockAmount != null" >
        lock_amount,
      </if>
      <if test="isSet != null" >
        is_set,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="walletId != null" >
        #{walletId,jdbcType=INTEGER},
      </if>
      <if test="uid != null" >
        #{uid,jdbcType=INTEGER},
      </if>
      <if test="orderCode != null" >
        #{orderCode,jdbcType=BIGINT},
      </if>
      <if test="amount != null" >
        #{amount,jdbcType=DECIMAL},
      </if>
      <if test="type != null" >
        #{type,jdbcType=TINYINT},
      </if>
      <if test="createTime != null" >
        #{createTime,jdbcType=INTEGER},
      </if>
      <if test="updateTime != null" >
        #{updateTime,jdbcType=INTEGER},
      </if>
      <if test="isBatch != null" >
        #{isBatch,jdbcType=INTEGER},
      </if>
      <if test="attachValue != null" >
         #{attachValue,jdbcType=VARCHAR},
      </if>
      <if test="availAmount != null" >
        #{availAmount,jdbcType=DECIMAL},
      </if>
      <if test="lockAmount != null" >
        #{lockAmount,jdbcType=DECIMAL},
      </if>
      <if test="isSet != null" >
        #{isSet,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.yohoufo.dal.order.model.SellerWalletDetail" >
    update seller_wallet_detail
    <set >
      <if test="walletId != null" >
        wallet_id = #{walletId,jdbcType=INTEGER},
      </if>
      <if test="uid != null" >
        uid = #{uid,jdbcType=INTEGER},
      </if>
      <if test="orderCode != null" >
        order_code = #{orderCode,jdbcType=BIGINT},
      </if>
      <if test="amount != null" >
        amount = #{amount,jdbcType=DECIMAL},
      </if>
      <if test="type != null" >
        type = #{type,jdbcType=TINYINT},
      </if>
      <if test="createTime != null" >
        create_time = #{createTime,jdbcType=INTEGER},
      </if>
      <if test="updateTime != null" >
        update_time = #{updateTime,jdbcType=INTEGER},
      </if>
      <if test="isBatch != null" >
        is_batch = #{isBatch,jdbcType=INTEGER},
      </if>
      <if test="attachValue != null" >
         attach_value = #{attachValue,jdbcType=VARCHAR},
      </if>
      <if test="availAmount != null" >
        avail_amount = #{availAmount,jdbcType=DECIMAL},
      </if>
      <if test="lockAmount != null" >
       lock_amount = #{lockAmount,jdbcType=DECIMAL},
      </if>
      <if test="isSet != null" >
        is_set = #{isSet,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.yohoufo.dal.order.model.SellerWalletDetail" >
    update seller_wallet_detail
    set wallet_id = #{walletId,jdbcType=INTEGER},
      uid = #{uid,jdbcType=INTEGER},
      order_code = #{orderCode,jdbcType=BIGINT},
      amount = #{amount,jdbcType=DECIMAL},
      type = #{type,jdbcType=TINYINT},
      create_time = #{createTime,jdbcType=INTEGER},
      update_time = #{updateTime,jdbcType=INTEGER},
        is_batch = #{isBatch,jdbcType=INTEGER},
         attach_value = #{attachValue,jdbcType=VARCHAR},
        avail_amount = #{availAmount,jdbcType=DECIMAL},
       lock_amount = #{lockAmount,jdbcType=DECIMAL},
        is_set = #{isSet,jdbcType=INTEGER}
    where id = #{id,jdbcType=INTEGER}
  </update>
  
  <select id="selectUserDetailCount" resultType="java.lang.Integer"  >
    select 
    count(*)
    from seller_wallet_detail
    where uid = #{uid,jdbcType=INTEGER} and is_batch = 0 and type in (1,31,32,33,34,35,61) and del=0
  </select>
    <select id="selectUserDetail" resultMap="BaseResultMap" >
    select 
    <include refid="Base_Column_List" />
    from seller_wallet_detail
    where uid = #{uid,jdbcType=INTEGER} and is_batch = 0 and type in (1,31,32,33,34,35,61) and del=0 order by id desc limit #{start},#{count}
  </select>
  
  <select id="selectUserPunishAmount" resultMap="BaseResultMap" >
    select 
    uid, sum(amount) as amount
    from seller_wallet_detail
    where uid = #{uid,jdbcType=INTEGER} and is_batch = 0 and type in (31,32,33,34,35) and del=0
  </select>
  <delete id="clearUserHistoryData">
    update seller_wallet_detail set del = 1
    where uid = #{uid,jdbcType=INTEGER}
    and del=0
  </delete>
  
</mapper>