Index: src/main/java/com/novaone/dao/CompanyBankAccMapper.java
===================================================================
--- src/main/java/com/novaone/dao/CompanyBankAccMapper.java	(不存在的)
+++ src/main/java/com/novaone/dao/CompanyBankAccMapper.java	(版本 31414)
@@ -0,0 +1,67 @@
+package com.novaone.dao;
+
+import com.novaone.entity.CompanyBankAcc;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface CompanyBankAccMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(CompanyBankAcc record);
+
+    int insertOrUpdate(CompanyBankAcc record);
+
+    int insertOrUpdateSelective(CompanyBankAcc record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(CompanyBankAcc record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    CompanyBankAcc selectByPrimaryKey(Long id);
+
+
+    /**
+     * 根据公司名称查找未禁用的付款账号
+     * @param company 公司名称
+     * @return 对用公司并且未禁用的银行账号
+     */
+    CompanyBankAcc selectByCompany(String company);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(CompanyBankAcc record);
+
+    /**
+     * update record
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKey(CompanyBankAcc record);
+
+    int updateBatch(List<CompanyBankAcc> list);
+
+    int updateBatchSelective(List<CompanyBankAcc> list);
+
+    int batchInsert(@Param("list") List<CompanyBankAcc> list);
+}
\ No newline at end of file
Index: src/main/java/com/novaone/dao/Mapper/CompanyBankAccMapper.xml
===================================================================
--- src/main/java/com/novaone/dao/Mapper/CompanyBankAccMapper.xml	(不存在的)
+++ src/main/java/com/novaone/dao/Mapper/CompanyBankAccMapper.xml	(版本 31414)
@@ -0,0 +1,378 @@
+<?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.novaone.dao.CompanyBankAccMapper">
+  <resultMap id="BaseResultMap" type="com.novaone.entity.CompanyBankAcc">
+    <!--@mbg.generated-->
+    <!--@Table company_bank_acc-->
+    <id column="id" property="id" />
+    <result column="company" property="company" />
+    <result column="bank_name" property="bankName" />
+    <result column="bank_account" property="bankAccount" />
+    <result column="currency" property="currency" />
+    <result column="disabled" property="disabled" />
+    <result column="create_time" property="createTime" />
+    <result column="update_time" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, company, bank_name, bank_account, currency, disabled, create_time, update_time
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from company_bank_acc
+    where id = #{id}
+  </select>
+
+    <select id="selectByCompany" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select
+    <include refid="Base_Column_List" />
+    from company_bank_acc
+    where company = #{company} AND disabled = 0
+  </select>
+
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from company_bank_acc
+    where id = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.CompanyBankAcc" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into company_bank_acc (company, bank_name, bank_account, currency, disabled, create_time, 
+      update_time)
+    values (#{company}, #{bankName}, #{bankAccount}, #{currency}, #{disabled}, #{createTime}, 
+      #{updateTime})
+  </insert>
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.CompanyBankAcc" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into company_bank_acc
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="company != null and company != ''">
+        company,
+      </if>
+      <if test="bankName != null and bankName != ''">
+        bank_name,
+      </if>
+      <if test="bankAccount != null and bankAccount != ''">
+        bank_account,
+      </if>
+      <if test="currency != null and currency != ''">
+        currency,
+      </if>
+      <if test="disabled != null">
+        disabled,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="company != null and company != ''">
+        #{company},
+      </if>
+      <if test="bankName != null and bankName != ''">
+        #{bankName},
+      </if>
+      <if test="bankAccount != null and bankAccount != ''">
+        #{bankAccount},
+      </if>
+      <if test="currency != null and currency != ''">
+        #{currency},
+      </if>
+      <if test="disabled != null">
+        #{disabled},
+      </if>
+      <if test="createTime != null">
+        #{createTime},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.novaone.entity.CompanyBankAcc">
+    <!--@mbg.generated-->
+    update company_bank_acc
+    <set>
+      <if test="company != null and company != ''">
+        company = #{company},
+      </if>
+      <if test="bankName != null and bankName != ''">
+        bank_name = #{bankName},
+      </if>
+      <if test="bankAccount != null and bankAccount != ''">
+        bank_account = #{bankAccount},
+      </if>
+      <if test="currency != null and currency != ''">
+        currency = #{currency},
+      </if>
+      <if test="disabled != null">
+        disabled = #{disabled},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime},
+      </if>
+    </set>
+    where id = #{id}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.novaone.entity.CompanyBankAcc">
+    <!--@mbg.generated-->
+    update company_bank_acc
+    set company = #{company},
+      bank_name = #{bankName},
+      bank_account = #{bankAccount},
+      currency = #{currency},
+      disabled = #{disabled},
+      create_time = #{createTime},
+      update_time = #{updateTime}
+    where id = #{id}
+  </update>
+  <update id="updateBatch" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update company_bank_acc
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="company = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.company}
+        </foreach>
+      </trim>
+      <trim prefix="bank_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.bankName}
+        </foreach>
+      </trim>
+      <trim prefix="bank_account = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.bankAccount}
+        </foreach>
+      </trim>
+      <trim prefix="currency = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.currency}
+        </foreach>
+      </trim>
+      <trim prefix="disabled = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.disabled}
+        </foreach>
+      </trim>
+      <trim prefix="create_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.createTime}
+        </foreach>
+      </trim>
+      <trim prefix="update_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.updateTime}
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id}
+    </foreach>
+  </update>
+  <update id="updateBatchSelective" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update company_bank_acc
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="company = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.company != null">
+            when id = #{item.id} then #{item.company}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="bank_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.bankName != null">
+            when id = #{item.id} then #{item.bankName}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="bank_account = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.bankAccount != null">
+            when id = #{item.id} then #{item.bankAccount}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="currency = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.currency != null">
+            when id = #{item.id} then #{item.currency}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="disabled = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.disabled != null">
+            when id = #{item.id} then #{item.disabled}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="create_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.createTime != null">
+            when id = #{item.id} then #{item.createTime}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="update_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.updateTime != null">
+            when id = #{item.id} then #{item.updateTime}
+          </if>
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id}
+    </foreach>
+  </update>
+  <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into company_bank_acc
+    (company, bank_name, bank_account, currency, disabled, create_time, update_time)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.company}, #{item.bankName}, #{item.bankAccount}, #{item.currency}, #{item.disabled}, 
+        #{item.createTime}, #{item.updateTime})
+    </foreach>
+  </insert>
+  <insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.CompanyBankAcc" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into company_bank_acc
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      company,
+      bank_name,
+      bank_account,
+      currency,
+      disabled,
+      create_time,
+      update_time,
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id},
+      </if>
+      #{company},
+      #{bankName},
+      #{bankAccount},
+      #{currency},
+      #{disabled},
+      #{createTime},
+      #{updateTime},
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id},
+      </if>
+      company = #{company},
+      bank_name = #{bankName},
+      bank_account = #{bankAccount},
+      currency = #{currency},
+      disabled = #{disabled},
+      create_time = #{createTime},
+      update_time = #{updateTime},
+    </trim>
+  </insert>
+  <insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.CompanyBankAcc" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into company_bank_acc
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="company != null">
+        company,
+      </if>
+      <if test="bankName != null">
+        bank_name,
+      </if>
+      <if test="bankAccount != null">
+        bank_account,
+      </if>
+      <if test="currency != null">
+        currency,
+      </if>
+      <if test="disabled != null">
+        disabled,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id},
+      </if>
+      <if test="company != null">
+        #{company},
+      </if>
+      <if test="bankName != null">
+        #{bankName},
+      </if>
+      <if test="bankAccount != null">
+        #{bankAccount},
+      </if>
+      <if test="currency != null">
+        #{currency},
+      </if>
+      <if test="disabled != null">
+        #{disabled},
+      </if>
+      <if test="createTime != null">
+        #{createTime},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime},
+      </if>
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id},
+      </if>
+      <if test="company != null">
+        company = #{company},
+      </if>
+      <if test="bankName != null">
+        bank_name = #{bankName},
+      </if>
+      <if test="bankAccount != null">
+        bank_account = #{bankAccount},
+      </if>
+      <if test="currency != null">
+        currency = #{currency},
+      </if>
+      <if test="disabled != null">
+        disabled = #{disabled},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime},
+      </if>
+    </trim>
+  </insert>
+</mapper>
\ No newline at end of file
Index: src/main/java/com/novaone/dao/Mapper/TradingBillRecordMapper.xml
===================================================================
--- src/main/java/com/novaone/dao/Mapper/TradingBillRecordMapper.xml	(不存在的)
+++ src/main/java/com/novaone/dao/Mapper/TradingBillRecordMapper.xml	(版本 31414)
@@ -0,0 +1,402 @@
+<?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.novaone.dao.TradingBillRecordMapper">
+  <resultMap id="BaseResultMap" type="com.novaone.entity.TradingBillRecord">
+    <!--@mbg.generated-->
+    <!--@Table trading_bill_record-->
+    <id column="id" property="id" />
+    <result column="pay_no" property="payNo" />
+    <result column="state" property="state" />
+    <result column="name" property="name" />
+    <result column="path" property="path" />
+    <result column="message" property="message" />
+    <result column="creat_time" property="creatTime" />
+    <result column="update_time" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, pay_no, `state`, `name`, `path`, message, creat_time, update_time
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from trading_bill_record
+    where id = #{id}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from trading_bill_record
+    where id = #{id}
+  </delete>
+
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingBillRecord" useGeneratedKeys="true">
+    insert into trading_bill_record (pay_no, `state`, `name`, `path`, message, creat_time, update_time) select #{payNo}, #{state}, #{name}, #{path}, #{message}, #{creatTime}, #{updateTime} from dual where not exists(select 1 from trading_bill_record where pay_no = #{payNo})
+  </insert>
+
+    <select id="selectByStatus" resultType="com.novaone.entity.TradingBillRecord" parameterType="java.lang.Integer">
+     SELECT * FROM trading_bill_record WHERE state in
+   <foreach collection="status" item="item" separator="," open="(" close=")">
+         #{item}
+    </foreach>
+  </select>
+
+
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingBillRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_bill_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="payNo != null and payNo != ''">
+        pay_no,
+      </if>
+      <if test="state != null">
+        `state`,
+      </if>
+      <if test="name != null and name != ''">
+        `name`,
+      </if>
+      <if test="path != null and path != ''">
+        `path`,
+      </if>
+      <if test="message != null and message != ''">
+        message,
+      </if>
+      <if test="creatTime != null">
+        creat_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="payNo != null and payNo != ''">
+        #{payNo},
+      </if>
+      <if test="state != null">
+        #{state},
+      </if>
+      <if test="name != null and name != ''">
+        #{name},
+      </if>
+      <if test="path != null and path != ''">
+        #{path},
+      </if>
+      <if test="message != null and message != ''">
+        #{message},
+      </if>
+      <if test="creatTime != null">
+        #{creatTime},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.novaone.entity.TradingBillRecord">
+    <!--@mbg.generated-->
+    update trading_bill_record
+    <set>
+      <if test="payNo != null and payNo != ''">
+        pay_no = #{payNo},
+      </if>
+      <if test="state != null">
+        `state` = #{state},
+      </if>
+      <if test="name != null and name != ''">
+        `name` = #{name},
+      </if>
+      <if test="path != null and path != ''">
+        `path` = #{path},
+      </if>
+      <if test="message != null and message != ''">
+        message = #{message},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime},
+      </if>
+    </set>
+    where id = #{id}
+  </update>
+
+  <update id="updateByPayNoSelective" parameterType="com.novaone.entity.TradingBillRecord">
+    update trading_bill_record
+    <set>
+      <if test="state != null">
+        `state` = #{state},
+      </if>
+      <if test="name != null and name != ''">
+        `name` = #{name},
+      </if>
+      <if test="path != null and path != ''">
+        `path` = #{path},
+      </if>
+      <if test="message != null and message != ''">
+        message = #{message},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime},
+      </if>
+    </set>
+    where pay_no = #{payNo}
+  </update>
+
+
+  <update id="updateByPrimaryKey" parameterType="com.novaone.entity.TradingBillRecord">
+    <!--@mbg.generated-->
+    update trading_bill_record
+    set pay_no = #{payNo},
+      `state` = #{state},
+      `name` = #{name},
+      `path` = #{path},
+      message = #{message},
+      creat_time = #{creatTime},
+      update_time = #{updateTime}
+    where id = #{id}
+  </update>
+  <update id="updateBatch" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update trading_bill_record
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="pay_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.payNo}
+        </foreach>
+      </trim>
+      <trim prefix="`state` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.state}
+        </foreach>
+      </trim>
+      <trim prefix="`name` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.name}
+        </foreach>
+      </trim>
+      <trim prefix="`path` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.path}
+        </foreach>
+      </trim>
+      <trim prefix="message = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.message}
+        </foreach>
+      </trim>
+      <trim prefix="creat_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.creatTime}
+        </foreach>
+      </trim>
+      <trim prefix="update_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.updateTime}
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id}
+    </foreach>
+  </update>
+  <update id="updateBatchSelective" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update trading_bill_record
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="pay_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payNo != null">
+            when id = #{item.id} then #{item.payNo}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="`state` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.state != null">
+            when id = #{item.id} then #{item.state}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="`name` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.name != null">
+            when id = #{item.id} then #{item.name}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="`path` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.path != null">
+            when id = #{item.id} then #{item.path}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="message = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.message != null">
+            when id = #{item.id} then #{item.message}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="creat_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.creatTime != null">
+            when id = #{item.id} then #{item.creatTime}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="update_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.updateTime != null">
+            when id = #{item.id} then #{item.updateTime}
+          </if>
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id}
+    </foreach>
+  </update>
+  <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_bill_record
+    (pay_no, `state`, `name`, `path`, message, creat_time, update_time)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.payNo}, #{item.state}, #{item.name}, #{item.path}, #{item.message}, #{item.creatTime}, 
+        #{item.updateTime})
+    </foreach>
+  </insert>
+  <insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingBillRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_bill_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      pay_no,
+      `state`,
+      `name`,
+      `path`,
+      message,
+      creat_time,
+      update_time,
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id},
+      </if>
+      #{payNo},
+      #{state},
+      #{name},
+      #{path},
+      #{message},
+      #{creatTime},
+      #{updateTime},
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id},
+      </if>
+      pay_no = #{payNo},
+      `state` = #{state},
+      `name` = #{name},
+      `path` = #{path},
+      message = #{message},
+      creat_time = #{creatTime},
+      update_time = #{updateTime},
+    </trim>
+  </insert>
+  <insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingBillRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_bill_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="payNo != null">
+        pay_no,
+      </if>
+      <if test="state != null">
+        `state`,
+      </if>
+      <if test="name != null">
+        `name`,
+      </if>
+      <if test="path != null">
+        `path`,
+      </if>
+      <if test="message != null">
+        message,
+      </if>
+      <if test="creatTime != null">
+        creat_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id},
+      </if>
+      <if test="payNo != null">
+        #{payNo},
+      </if>
+      <if test="state != null">
+        #{state},
+      </if>
+      <if test="name != null">
+        #{name},
+      </if>
+      <if test="path != null">
+        #{path},
+      </if>
+      <if test="message != null">
+        #{message},
+      </if>
+      <if test="creatTime != null">
+        #{creatTime},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime},
+      </if>
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id},
+      </if>
+      <if test="payNo != null">
+        pay_no = #{payNo},
+      </if>
+      <if test="state != null">
+        `state` = #{state},
+      </if>
+      <if test="name != null">
+        `name` = #{name},
+      </if>
+      <if test="path != null">
+        `path` = #{path},
+      </if>
+      <if test="message != null">
+        message = #{message},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime},
+      </if>
+    </trim>
+  </insert>
+</mapper>
\ No newline at end of file
Index: src/main/java/com/novaone/dao/Mapper/TradingHistoryMapper.xml
===================================================================
--- src/main/java/com/novaone/dao/Mapper/TradingHistoryMapper.xml	(不存在的)
+++ src/main/java/com/novaone/dao/Mapper/TradingHistoryMapper.xml	(版本 31414)
@@ -0,0 +1,477 @@
+<?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.novaone.dao.TradingHistoryMapper">
+  <resultMap id="BaseResultMap" type="com.novaone.entity.TradingHistory">
+    <!--@mbg.generated-->
+    <!--@Table trading_history-->
+    <id column="id" property="id" />
+    <result column="fractn_ibknum" property="fractnIbknum" />
+    <result column="fractn_actacn" property="fractnActacn" />
+    <result column="fractn_acntname" property="fractnAcntname" />
+    <result column="fractn_ibkname" property="fractnIbkname" />
+    <result column="fractn_outref" property="fractnOutref" />
+    <result column="toactn_toibkn" property="toactnToibkn" />
+    <result column="toactn_actacn" property="toactnActacn" />
+    <result column="toactn_toname" property="toactnToname" />
+    <result column="toactn_tobank" property="toactnTobank" />
+    <result column="toactn_tobref" property="toactnTobref" />
+    <result column="mactibkn" property="mactibkn" />
+    <result column="mactacn" property="mactacn" />
+    <result column="mactname" property="mactname" />
+    <result column="mactbank" property="mactbank" />
+    <result column="vchnum" property="vchnum" />
+    <result column="transid" property="transid" />
+    <result column="insid" property="insid" />
+    <result column="txndate" property="txndate" />
+    <result column="txntime" property="txntime" />
+    <result column="txnamt" property="txnamt" />
+    <result column="acctbal" property="acctbal" />
+    <result column="avlbal" property="avlbal" />
+    <result column="frzamt" property="frzamt" />
+    <result column="overdramt" property="overdramt" />
+    <result column="avloverdramt" property="avloverdramt" />
+    <result column="useinfo" property="useinfo" />
+    <result column="furinfo" property="furinfo" />
+    <result column="transtype" property="transtype" />
+    <result column="bustype" property="bustype" />
+    <result column="trncur" property="trncur" />
+    <result column="direction" property="direction" />
+    <result column="feeact" property="feeact" />
+    <result column="feeamt" property="feeamt" />
+    <result column="feecur" property="feecur" />
+    <result column="valdat" property="valdat" />
+    <result column="vouchtp" property="vouchtp" />
+    <result column="vouchnum" property="vouchnum" />
+    <result column="fxrate" property="fxrate" />
+    <result column="interinfo" property="interinfo" />
+    <result column="channelflg" property="channelflg" />
+    <result column="commnum" property="commnum" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, fractn_ibknum, fractn_actacn, fractn_acntname, fractn_ibkname, fractn_outref, 
+    toactn_toibkn, toactn_actacn, toactn_toname, toactn_tobank, toactn_tobref, mactibkn, 
+    mactacn, mactname, mactbank, vchnum, transid, insid, txndate, txntime, txnamt, acctbal, 
+    avlbal, frzamt, overdramt, avloverdramt, useinfo, furinfo, transtype, bustype, trncur, 
+    direction, feeact, feeamt, feecur, valdat, vouchtp, vouchnum, fxrate, interinfo, 
+    channelflg, commnum
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from trading_history
+    where id = #{id}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from trading_history
+    where id = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingHistory" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_history (fractn_ibknum, fractn_actacn, fractn_acntname, fractn_ibkname, fractn_outref, 
+      toactn_toibkn, toactn_actacn, toactn_toname, toactn_tobank, toactn_tobref, 
+      mactibkn, mactacn, mactname, mactbank, vchnum, transid, insid, 
+      txndate, txntime, txnamt, acctbal, avlbal, frzamt, overdramt, 
+      avloverdramt, useinfo, furinfo, transtype, bustype, trncur, direction, 
+      feeact, feeamt, feecur, valdat, vouchtp, vouchnum, fxrate, 
+      interinfo, channelflg, commnum)
+    values (#{fractn.ibknum}, #{fractn.actacn}, #{fractn.acntname}, #{fractn.ibkname}, #{fractn.outref},
+      #{toactn.toibkn}, #{toactn.actacn}, #{toactn.toname}, #{toactn.tobank}, #{toactn.tobref},
+      #{mactibkn}, #{mactacn}, #{mactname}, #{mactbank}, #{vchnum}, #{transid}, #{insid}, 
+      #{txndate}, #{txntime}, #{txnamt}, #{acctbal}, #{avlbal}, #{frzamt}, #{overdramt}, 
+      #{avloverdramt}, #{useinfo}, #{furinfo}, #{transtype}, #{bustype}, #{trncur}, #{direction}, 
+      #{feeact}, #{feeamt}, #{feecur}, #{valdat}, #{vouchtp}, #{vouchnum}, #{fxrate}, 
+      #{interinfo}, #{channelflg}, #{commnum})
+  </insert>
+
+
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingHistory" useGeneratedKeys="true">
+    insert into trading_history
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="fractn.ibknum != null and fractn.ibknum != ''">
+        fractn_ibknum,
+      </if>
+      <if test="fractn.actacn != null and fractn.actacn != ''">
+        fractn_actacn,
+      </if>
+      <if test="fractn.acntname != null and fractn.acntname != ''">
+        fractn_acntname,
+      </if>
+      <if test="fractn.ibkname != null and fractn.ibkname != ''">
+        fractn_ibkname,
+      </if>
+      <if test="fractn.outref != null and fractn.outref != ''">
+        fractn_outref,
+      </if>
+      <if test="toactn.toibkn != null and toactn.toibkn != ''">
+        toactn_toibkn,
+      </if>
+      <if test="toactn.actacn != null and toactn.actacn != ''">
+        toactn_actacn,
+      </if>
+      <if test="toactn.toname != null and toactn.toname != ''">
+        toactn_toname,
+      </if>
+      <if test="toactn.tobank != null and toactn.tobank != ''">
+        toactn_tobank,
+      </if>
+      <if test="toactn.tobref != null and toactn.tobref != ''">
+        toactn_tobref,
+      </if>
+      <if test="mactibkn != null and mactibkn != ''">
+        mactibkn,
+      </if>
+      <if test="mactacn != null and mactacn != ''">
+        mactacn,
+      </if>
+      <if test="mactname != null and mactname != ''">
+        mactname,
+      </if>
+      <if test="mactbank != null and mactbank != ''">
+        mactbank,
+      </if>
+      <if test="vchnum != null and vchnum != ''">
+        vchnum,
+      </if>
+      <if test="transid != null and transid != ''">
+        transid,
+      </if>
+      <if test="insid != null and insid != ''">
+        insid,
+      </if>
+      <if test="txndate != null and txndate != ''">
+        txndate,
+      </if>
+      <if test="txntime != null and txntime != ''">
+        txntime,
+      </if>
+      <if test="txnamt != null and txnamt != ''">
+        txnamt,
+      </if>
+      <if test="acctbal != null and acctbal != ''">
+        acctbal,
+      </if>
+      <if test="avlbal != null and avlbal != ''">
+        avlbal,
+      </if>
+      <if test="frzamt != null and frzamt != ''">
+        frzamt,
+      </if>
+      <if test="overdramt != null and overdramt != ''">
+        overdramt,
+      </if>
+      <if test="avloverdramt != null and avloverdramt != ''">
+        avloverdramt,
+      </if>
+      <if test="useinfo != null and useinfo != ''">
+        useinfo,
+      </if>
+      <if test="furinfo != null and furinfo != ''">
+        furinfo,
+      </if>
+      <if test="transtype != null and transtype != ''">
+        transtype,
+      </if>
+      <if test="bustype != null and bustype != ''">
+        bustype,
+      </if>
+      <if test="trncur != null and trncur != ''">
+        trncur,
+      </if>
+      <if test="direction != null and direction != ''">
+        direction,
+      </if>
+      <if test="feeact != null and feeact != ''">
+        feeact,
+      </if>
+      <if test="feeamt != null and feeamt != ''">
+        feeamt,
+      </if>
+      <if test="feecur != null and feecur != ''">
+        feecur,
+      </if>
+      <if test="valdat != null and valdat != ''">
+        valdat,
+      </if>
+      <if test="vouchtp != null and vouchtp != ''">
+        vouchtp,
+      </if>
+      <if test="vouchnum != null and vouchnum != ''">
+        vouchnum,
+      </if>
+      <if test="fxrate != null and fxrate != ''">
+        fxrate,
+      </if>
+      <if test="interinfo != null and interinfo != ''">
+        interinfo,
+      </if>
+      <if test="channelflg != null and channelflg != ''">
+        channelflg,
+      </if>
+      <if test="commnum != null and commnum != ''">
+        commnum,
+      </if>
+    </trim>
+    <trim prefix="SELECT " suffix=" " suffixOverrides=",">
+      <if test="fractn.ibknum != null and fractn.ibknum != ''">
+        #{fractn.ibknum},
+      </if>
+      <if test="fractn.actacn != null and fractn.actacn != ''">
+        #{fractn.actacn},
+      </if>
+      <if test="fractn.acntname != null and fractn.acntname != ''">
+        #{fractn.acntname},
+      </if>
+      <if test="fractn.ibkname != null and fractn.ibkname != ''">
+        #{fractn.ibkname},
+      </if>
+      <if test="fractn.outref != null and fractn.outref != ''">
+        #{fractn.outref},
+      </if>
+      <if test="toactn.toibkn != null and toactn.toibkn != ''">
+        #{toactn.toibkn},
+      </if>
+      <if test="toactn.actacn != null and toactn.actacn != ''">
+        #{toactn.actacn},
+      </if>
+      <if test="toactn.toname != null and toactn.toname != ''">
+        #{toactn.toname},
+      </if>
+      <if test="toactn.tobank != null and toactn.tobank != ''">
+        #{toactn.tobank},
+      </if>
+      <if test="toactn.tobref != null and toactn.tobref != ''">
+        #{toactn.tobref},
+      </if>
+      <if test="mactibkn != null and mactibkn != ''">
+        #{mactibkn},
+      </if>
+      <if test="mactacn != null and mactacn != ''">
+        #{mactacn},
+      </if>
+      <if test="mactname != null and mactname != ''">
+        #{mactname},
+      </if>
+      <if test="mactbank != null and mactbank != ''">
+        #{mactbank},
+      </if>
+      <if test="vchnum != null and vchnum != ''">
+        #{vchnum},
+      </if>
+      <if test="transid != null and transid != ''">
+        #{transid},
+      </if>
+      <if test="insid != null and insid != ''">
+        #{insid},
+      </if>
+      <if test="txndate != null and txndate != ''">
+        #{txndate},
+      </if>
+      <if test="txntime != null and txntime != ''">
+        #{txntime},
+      </if>
+      <if test="txnamt != null and txnamt != ''">
+        #{txnamt},
+      </if>
+      <if test="acctbal != null and acctbal != ''">
+        #{acctbal},
+      </if>
+      <if test="avlbal != null and avlbal != ''">
+        #{avlbal},
+      </if>
+      <if test="frzamt != null and frzamt != ''">
+        #{frzamt},
+      </if>
+      <if test="overdramt != null and overdramt != ''">
+        #{overdramt},
+      </if>
+      <if test="avloverdramt != null and avloverdramt != ''">
+        #{avloverdramt},
+      </if>
+      <if test="useinfo != null and useinfo != ''">
+        #{useinfo},
+      </if>
+      <if test="furinfo != null and furinfo != ''">
+        #{furinfo},
+      </if>
+      <if test="transtype != null and transtype != ''">
+        #{transtype},
+      </if>
+      <if test="bustype != null and bustype != ''">
+        #{bustype},
+      </if>
+      <if test="trncur != null and trncur != ''">
+        #{trncur},
+      </if>
+      <if test="direction != null and direction != ''">
+        #{direction},
+      </if>
+      <if test="feeact != null and feeact != ''">
+        #{feeact},
+      </if>
+      <if test="feeamt != null and feeamt != ''">
+        #{feeamt},
+      </if>
+      <if test="feecur != null and feecur != ''">
+        #{feecur},
+      </if>
+      <if test="valdat != null and valdat != ''">
+        #{valdat},
+      </if>
+      <if test="vouchtp != null and vouchtp != ''">
+        #{vouchtp},
+      </if>
+      <if test="vouchnum != null and vouchnum != ''">
+        #{vouchnum},
+      </if>
+      <if test="fxrate != null and fxrate != ''">
+        #{fxrate},
+      </if>
+      <if test="interinfo != null and interinfo != ''">
+        #{interinfo},
+      </if>
+      <if test="channelflg != null and channelflg != ''">
+        #{channelflg},
+      </if>
+      <if test="commnum != null and commnum != ''">
+        #{commnum}
+      </if>
+    </trim>
+    FROM DUAL WHERE NOT EXISTS(SELECT 1 FROM trading_history WHERE transid = #{transid} LIMIT 1)
+  </insert>
+
+
+
+
+  <update id="updateByPrimaryKeySelective" parameterType="com.novaone.entity.TradingHistory">
+    update trading_history
+    <set>
+      <if test="fractn.ibknum != null and fractn.ibknum != ''">
+        fractn_ibknum = #{fractn.ibknum},
+      </if>
+      <if test="fractn.actacn != null and fractn.actacn != ''">
+        fractn_actacn = #{fractn.actacn},
+      </if>
+      <if test="fractn.acntname != null and fractn.acntname != ''">
+        fractn_acntname = #{fractn.acntname},
+      </if>
+      <if test="fractn.ibkname != null and fractn.ibkname != ''">
+        fractn_ibkname = #{fractn.ibkname},
+      </if>
+      <if test="fractn.outref != null and fractn.outref != ''">
+        fractn_outref = #{fractn.outref},
+      </if>
+      <if test="toactn.toibkn != null and toactn.toibkn != ''">
+        toactn_toibkn = #{toactn.toibkn},
+      </if>
+      <if test="toactn.actacn != null and toactn.actacn != ''">
+        toactn_actacn = #{toactn.actacn},
+      </if>
+      <if test="toactn.toname != null and toactn.toname != ''">
+        toactn_toname = #{toactn.toname},
+      </if>
+      <if test="toactn.tobank != null and toactn.tobank != ''">
+        toactn_tobank = #{toactn.tobank},
+      </if>
+      <if test="toactn.tobref != null and toactn.tobref != ''">
+        toactn_tobref = #{toactn.tobref},
+      </if>
+      <if test="mactibkn != null and mactibkn != ''">
+        mactibkn = #{mactibkn},
+      </if>
+      <if test="mactacn != null and mactacn != ''">
+        mactacn = #{mactacn},
+      </if>
+      <if test="mactname != null and mactname != ''">
+        mactname = #{mactname},
+      </if>
+      <if test="mactbank != null and mactbank != ''">
+        mactbank = #{mactbank},
+      </if>
+      <if test="vchnum != null and vchnum != ''">
+        vchnum = #{vchnum},
+      </if>
+      <if test="transid != null and transid != ''">
+        transid = #{transid},
+      </if>
+      <if test="insid != null and insid != ''">
+        insid = #{insid},
+      </if>
+      <if test="txndate != null and txndate != ''">
+        txndate = #{txndate},
+      </if>
+      <if test="txntime != null and txntime != ''">
+        txntime = #{txntime},
+      </if>
+      <if test="txnamt != null and txnamt != ''">
+        txnamt = #{txnamt},
+      </if>
+      <if test="acctbal != null and acctbal != ''">
+        acctbal = #{acctbal},
+      </if>
+      <if test="avlbal != null and avlbal != ''">
+        avlbal = #{avlbal},
+      </if>
+      <if test="frzamt != null and frzamt != ''">
+        frzamt = #{frzamt},
+      </if>
+      <if test="overdramt != null and overdramt != ''">
+        overdramt = #{overdramt},
+      </if>
+      <if test="avloverdramt != null and avloverdramt != ''">
+        avloverdramt = #{avloverdramt},
+      </if>
+      <if test="useinfo != null and useinfo != ''">
+        useinfo = #{useinfo},
+      </if>
+      <if test="furinfo != null and furinfo != ''">
+        furinfo = #{furinfo},
+      </if>
+      <if test="transtype != null and transtype != ''">
+        transtype = #{transtype},
+      </if>
+      <if test="bustype != null and bustype != ''">
+        bustype = #{bustype},
+      </if>
+      <if test="trncur != null and trncur != ''">
+        trncur = #{trncur},
+      </if>
+      <if test="direction != null and direction != ''">
+        direction = #{direction},
+      </if>
+      <if test="feeact != null and feeact != ''">
+        feeact = #{feeact},
+      </if>
+      <if test="feeamt != null and feeamt != ''">
+        feeamt = #{feeamt},
+      </if>
+      <if test="feecur != null and feecur != ''">
+        feecur = #{feecur},
+      </if>
+      <if test="valdat != null and valdat != ''">
+        valdat = #{valdat},
+      </if>
+      <if test="vouchtp != null and vouchtp != ''">
+        vouchtp = #{vouchtp},
+      </if>
+      <if test="vouchnum != null and vouchnum != ''">
+        vouchnum = #{vouchnum},
+      </if>
+      <if test="fxrate != null and fxrate != ''">
+        fxrate = #{fxrate},
+      </if>
+      <if test="interinfo != null and interinfo != ''">
+        interinfo = #{interinfo},
+      </if>
+      <if test="channelflg != null and channelflg != ''">
+        channelflg = #{channelflg},
+      </if>
+      <if test="commnum != null and commnum != ''">
+        commnum = #{commnum},
+      </if>
+    </set>
+    where id = #{id}
+  </update>
+</mapper>
\ No newline at end of file
Index: src/main/java/com/novaone/dao/Mapper/TradingLogMapper.xml
===================================================================
--- src/main/java/com/novaone/dao/Mapper/TradingLogMapper.xml	(不存在的)
+++ src/main/java/com/novaone/dao/Mapper/TradingLogMapper.xml	(版本 31414)
@@ -0,0 +1,369 @@
+<?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.novaone.dao.TradingLogMapper">
+  <resultMap id="BaseResultMap" type="com.novaone.entity.TradingLog">
+    <!--@mbg.generated-->
+    <!--@Table trading_log-->
+    <id column="id" property="id" />
+    <result column="pay_no" property="payNo" />
+    <result column="api_no" property="apiNo" />
+    <result column="resp_code" property="respCode" />
+    <result column="resp_msg" property="respMsg" />
+    <result column="mesage" property="mesage" />
+    <result column="state" property="state" />
+    <result column="creat_time" property="creatTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, pay_no, api_no, resp_code, resp_msg, mesage, `state`, creat_time
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from trading_log
+    where id = #{id}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from trading_log
+    where id = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingLog" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_log (pay_no, api_no, resp_code, resp_msg, mesage, `state`, creat_time
+      )
+    values (#{payNo}, #{apiNo}, #{respCode}, #{respMsg}, #{mesage}, #{state}, #{creatTime}
+      )
+  </insert>
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingLog" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_log
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="payNo != null and payNo != ''">
+        pay_no,
+      </if>
+      <if test="apiNo != null and apiNo != ''">
+        api_no,
+      </if>
+      <if test="respCode != null and respCode != ''">
+        resp_code,
+      </if>
+      <if test="respMsg != null and respMsg != ''">
+        resp_msg,
+      </if>
+      <if test="mesage != null and mesage != ''">
+        mesage,
+      </if>
+      <if test="state != null">
+        `state`,
+      </if>
+      <if test="creatTime != null">
+        creat_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="payNo != null and payNo != ''">
+        #{payNo},
+      </if>
+      <if test="apiNo != null and apiNo != ''">
+        #{apiNo},
+      </if>
+      <if test="respCode != null and respCode != ''">
+        #{respCode},
+      </if>
+      <if test="respMsg != null and respMsg != ''">
+        #{respMsg},
+      </if>
+      <if test="mesage != null and mesage != ''">
+        #{mesage},
+      </if>
+      <if test="state != null">
+        #{state},
+      </if>
+      <if test="creatTime != null">
+        #{creatTime},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.novaone.entity.TradingLog">
+    <!--@mbg.generated-->
+    update trading_log
+    <set>
+      <if test="payNo != null and payNo != ''">
+        pay_no = #{payNo},
+      </if>
+      <if test="apiNo != null and apiNo != ''">
+        api_no = #{apiNo},
+      </if>
+      <if test="respCode != null and respCode != ''">
+        resp_code = #{respCode},
+      </if>
+      <if test="respMsg != null and respMsg != ''">
+        resp_msg = #{respMsg},
+      </if>
+      <if test="mesage != null and mesage != ''">
+        mesage = #{mesage},
+      </if>
+      <if test="state != null">
+        `state` = #{state},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime},
+      </if>
+    </set>
+    where id = #{id}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.novaone.entity.TradingLog">
+    <!--@mbg.generated-->
+    update trading_log
+    set pay_no = #{payNo},
+      api_no = #{apiNo},
+      resp_code = #{respCode},
+      resp_msg = #{respMsg},
+      mesage = #{mesage},
+      `state` = #{state},
+      creat_time = #{creatTime}
+    where id = #{id}
+  </update>
+  <update id="updateBatch" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update trading_log
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="pay_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.payNo}
+        </foreach>
+      </trim>
+      <trim prefix="api_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.apiNo}
+        </foreach>
+      </trim>
+      <trim prefix="resp_code = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.respCode}
+        </foreach>
+      </trim>
+      <trim prefix="resp_msg = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.respMsg}
+        </foreach>
+      </trim>
+      <trim prefix="mesage = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.mesage}
+        </foreach>
+      </trim>
+      <trim prefix="`state` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.state}
+        </foreach>
+      </trim>
+      <trim prefix="creat_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id} then #{item.creatTime}
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id}
+    </foreach>
+  </update>
+  <update id="updateBatchSelective" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update trading_log
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="pay_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payNo != null">
+            when id = #{item.id} then #{item.payNo}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="api_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.apiNo != null">
+            when id = #{item.id} then #{item.apiNo}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="resp_code = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.respCode != null">
+            when id = #{item.id} then #{item.respCode}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="resp_msg = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.respMsg != null">
+            when id = #{item.id} then #{item.respMsg}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="mesage = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.mesage != null">
+            when id = #{item.id} then #{item.mesage}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="`state` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.state != null">
+            when id = #{item.id} then #{item.state}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="creat_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.creatTime != null">
+            when id = #{item.id} then #{item.creatTime}
+          </if>
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id}
+    </foreach>
+  </update>
+  <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_log
+    (pay_no, api_no, resp_code, resp_msg, mesage, `state`, creat_time)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.payNo}, #{item.apiNo}, #{item.respCode}, #{item.respMsg}, #{item.mesage}, 
+        #{item.state}, #{item.creatTime})
+    </foreach>
+  </insert>
+  <insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingLog" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_log
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      pay_no,
+      api_no,
+      resp_code,
+      resp_msg,
+      mesage,
+      `state`,
+      creat_time,
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id},
+      </if>
+      #{payNo},
+      #{apiNo},
+      #{respCode},
+      #{respMsg},
+      #{mesage},
+      #{state},
+      #{creatTime},
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id},
+      </if>
+      pay_no = #{payNo},
+      api_no = #{apiNo},
+      resp_code = #{respCode},
+      resp_msg = #{respMsg},
+      mesage = #{mesage},
+      `state` = #{state},
+      creat_time = #{creatTime},
+    </trim>
+  </insert>
+  <insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingLog" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_log
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="payNo != null">
+        pay_no,
+      </if>
+      <if test="apiNo != null">
+        api_no,
+      </if>
+      <if test="respCode != null">
+        resp_code,
+      </if>
+      <if test="respMsg != null">
+        resp_msg,
+      </if>
+      <if test="mesage != null">
+        mesage,
+      </if>
+      <if test="state != null">
+        `state`,
+      </if>
+      <if test="creatTime != null">
+        creat_time,
+      </if>
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id},
+      </if>
+      <if test="payNo != null">
+        #{payNo},
+      </if>
+      <if test="apiNo != null">
+        #{apiNo},
+      </if>
+      <if test="respCode != null">
+        #{respCode},
+      </if>
+      <if test="respMsg != null">
+        #{respMsg},
+      </if>
+      <if test="mesage != null">
+        #{mesage},
+      </if>
+      <if test="state != null">
+        #{state},
+      </if>
+      <if test="creatTime != null">
+        #{creatTime},
+      </if>
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id},
+      </if>
+      <if test="payNo != null">
+        pay_no = #{payNo},
+      </if>
+      <if test="apiNo != null">
+        api_no = #{apiNo},
+      </if>
+      <if test="respCode != null">
+        resp_code = #{respCode},
+      </if>
+      <if test="respMsg != null">
+        resp_msg = #{respMsg},
+      </if>
+      <if test="mesage != null">
+        mesage = #{mesage},
+      </if>
+      <if test="state != null">
+        `state` = #{state},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime},
+      </if>
+    </trim>
+  </insert>
+</mapper>
\ No newline at end of file
Index: src/main/java/com/novaone/dao/Mapper/TradingRecordMapper.xml
===================================================================
--- src/main/java/com/novaone/dao/Mapper/TradingRecordMapper.xml	(不存在的)
+++ src/main/java/com/novaone/dao/Mapper/TradingRecordMapper.xml	(版本 31414)
@@ -0,0 +1,899 @@
+<?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.novaone.dao.TradingRecordMapper">
+  <resultMap id="BaseResultMap" type="com.novaone.entity.TradingRecord">
+    <!--@mbg.generated-->
+    <!--@Table trading_record-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="pay_no" jdbcType="VARCHAR" property="payNo" />
+    <result column="pay_bill_no" jdbcType="VARCHAR" property="payBillNo" />
+    <result column="type" jdbcType="BOOLEAN" property="type" />
+    <result column="company" jdbcType="VARCHAR" property="company" />
+    <result column="pay_acc" jdbcType="VARCHAR" property="payAcc" />
+    <result column="pay_name" jdbcType="VARCHAR" property="payName" />
+    <result column="pay_amount" jdbcType="DECIMAL" property="payAmount" />
+    <result column="payee_bank_name" jdbcType="VARCHAR" property="payeeBankName" />
+    <result column="payee_bank_no" jdbcType="VARCHAR" property="payeeBankNo" />
+    <result column="payee_acc" jdbcType="VARCHAR" property="payeeAcc" />
+    <result column="payee_name" jdbcType="VARCHAR" property="payeeName" />
+    <result column="payee_acc_type" jdbcType="BOOLEAN" property="payeeAccType" />
+    <result column="urgent" jdbcType="BOOLEAN" property="urgent" />
+    <result column="description" jdbcType="VARCHAR" property="description" />
+    <result column="bank_state" jdbcType="VARCHAR" property="bankState" />
+    <result column="business_state" jdbcType="BOOLEAN" property="businessState" />
+    <result column="message" jdbcType="VARCHAR" property="message" />
+    <result column="schedule_date" jdbcType="VARCHAR" property="scheduleDate" />
+    <result column="creat_time" jdbcType="TIMESTAMP" property="creatTime" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <association property="billRecord" javaType="com.novaone.entity.TradingBillRecord">
+     <id column="tbrId" property="id" />
+    <result column="billPayNo" property="payNo" />
+    <result column="billState" property="state" />
+    <result column="billName" property="name" />
+    <result column="billPath" property="path" />
+    <result column="billMessage" property="message" />
+    <result column="billCreatTime" property="creatTime" />
+    <result column="billUpdateTime" property="updateTime" />
+    </association>
+  </resultMap>
+
+
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, pay_no, pay_bill_no, `type`, company, pay_acc, pay_name, pay_amount, payee_bank_name, 
+    payee_bank_no, payee_acc, payee_name, payee_acc_type, urgent, description, bank_state, 
+    business_state, message, schedule_date, creat_time, update_time
+  </sql>
+
+
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from trading_record
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+
+
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from trading_record
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+
+
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_record (pay_no, pay_bill_no, `type`, 
+      company, pay_acc, pay_name, 
+      pay_amount, payee_bank_name, payee_bank_no, 
+      payee_acc, payee_name, payee_acc_type, 
+      urgent, description, bank_state, 
+      business_state, message, schedule_date, 
+      creat_time, update_time)
+    values (#{payNo,jdbcType=VARCHAR}, #{payBillNo,jdbcType=VARCHAR}, #{type,jdbcType=BOOLEAN}, 
+      #{company,jdbcType=VARCHAR}, #{payAcc,jdbcType=VARCHAR}, #{payName,jdbcType=VARCHAR}, 
+      #{payAmount,jdbcType=DECIMAL}, #{payeeBankName,jdbcType=VARCHAR}, #{payeeBankNo,jdbcType=VARCHAR}, 
+      #{payeeAcc,jdbcType=VARCHAR}, #{payeeName,jdbcType=VARCHAR}, #{payeeAccType,jdbcType=TINYINT},
+      #{urgent,jdbcType=BOOLEAN}, #{description,jdbcType=VARCHAR}, #{bankState,jdbcType=VARCHAR}, 
+      #{businessState,jdbcType=TINYINT}, #{message,jdbcType=VARCHAR}, #{scheduleDate,jdbcType=VARCHAR},
+      #{creatTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
+  </insert>
+
+
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="payNo != null and payNo != ''">
+        pay_no,
+      </if>
+      <if test="payBillNo != null and payBillNo != ''">
+        pay_bill_no,
+      </if>
+      <if test="type != null">
+        `type`,
+      </if>
+      <if test="company != null and company != ''">
+        company,
+      </if>
+      <if test="payAcc != null and payAcc != ''">
+        pay_acc,
+      </if>
+      <if test="payName != null and payName != ''">
+        pay_name,
+      </if>
+      <if test="payAmount != null">
+        pay_amount,
+      </if>
+      <if test="payeeBankName != null and payeeBankName != ''">
+        payee_bank_name,
+      </if>
+      <if test="payeeBankNo != null and payeeBankNo != ''">
+        payee_bank_no,
+      </if>
+      <if test="payeeAcc != null and payeeAcc != ''">
+        payee_acc,
+      </if>
+      <if test="payeeName != null and payeeName != ''">
+        payee_name,
+      </if>
+      <if test="payeeAccType != null">
+        payee_acc_type,
+      </if>
+      <if test="urgent != null">
+        urgent,
+      </if>
+      <if test="description != null and description != ''">
+        description,
+      </if>
+      <if test="bankState != null and bankState != ''">
+        bank_state,
+      </if>
+      <if test="businessState != null">
+        business_state,
+      </if>
+      <if test="message != null and message != ''">
+        message,
+      </if>
+      <if test="scheduleDate != null and scheduleDate != ''">
+        schedule_date,
+      </if>
+      <if test="creatTime != null">
+        creat_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="payNo != null and payNo != ''">
+        #{payNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payBillNo != null and payBillNo != ''">
+        #{payBillNo,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null">
+        #{type,jdbcType=BOOLEAN},
+      </if>
+      <if test="company != null and company != ''">
+        #{company,jdbcType=VARCHAR},
+      </if>
+      <if test="payAcc != null and payAcc != ''">
+        #{payAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payName != null and payName != ''">
+        #{payName,jdbcType=VARCHAR},
+      </if>
+      <if test="payAmount != null">
+        #{payAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="payeeBankName != null and payeeBankName != ''">
+        #{payeeBankName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeBankNo != null and payeeBankNo != ''">
+        #{payeeBankNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAcc != null and payeeAcc != ''">
+        #{payeeAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeName != null and payeeName != ''">
+        #{payeeName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAccType != null">
+        #{businessState,jdbcType=TINYINT},
+      </if>
+      <if test="urgent != null">
+        #{urgent,jdbcType=BOOLEAN},
+      </if>
+      <if test="description != null and description != ''">
+        #{description,jdbcType=VARCHAR},
+      </if>
+      <if test="bankState != null and bankState != ''">
+        #{bankState,jdbcType=VARCHAR},
+      </if>
+      <if test="businessState != null">
+        #{businessState,jdbcType=TINYINT},
+      </if>
+      <if test="message != null and message != ''">
+        #{message,jdbcType=VARCHAR},
+      </if>
+      <if test="scheduleDate != null and scheduleDate != ''">
+        #{scheduleDate,jdbcType=VARCHAR},
+      </if>
+      <if test="creatTime != null">
+        #{creatTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+
+
+  <update id="updateByPrimaryKeySelective" parameterType="com.novaone.entity.TradingRecord">
+    <!--@mbg.generated-->
+    update trading_record
+    <set>
+      <if test="payNo != null and payNo != ''">
+        pay_no = #{payNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payBillNo != null and payBillNo != ''">
+        pay_bill_no = #{payBillNo,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null">
+        `type` = #{type,jdbcType=BOOLEAN},
+      </if>
+      <if test="company != null and company != ''">
+        company = #{company,jdbcType=VARCHAR},
+      </if>
+      <if test="payAcc != null and payAcc != ''">
+        pay_acc = #{payAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payName != null and payName != ''">
+        pay_name = #{payName,jdbcType=VARCHAR},
+      </if>
+      <if test="payAmount != null">
+        pay_amount = #{payAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="payeeBankName != null and payeeBankName != ''">
+        payee_bank_name = #{payeeBankName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeBankNo != null and payeeBankNo != ''">
+        payee_bank_no = #{payeeBankNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAcc != null and payeeAcc != ''">
+        payee_acc = #{payeeAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeName != null and payeeName != ''">
+        payee_name = #{payeeName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAccType != null">
+        payee_acc_type = #{payeeAccType,jdbcType=TINYINT},
+      </if>
+      <if test="urgent != null">
+        urgent = #{urgent,jdbcType=BOOLEAN},
+      </if>
+      <if test="description != null and description != ''">
+        description = #{description,jdbcType=VARCHAR},
+      </if>
+      <if test="bankState != null and bankState != ''">
+        bank_state = #{bankState,jdbcType=VARCHAR},
+      </if>
+      <if test="businessState != null">
+        business_state = #{businessState,jdbcType=TINYINT},
+      </if>
+      <if test="message != null and message != ''">
+        message = #{message,jdbcType=VARCHAR},
+      </if>
+      <if test="scheduleDate != null and scheduleDate != ''">
+        schedule_date = #{scheduleDate,jdbcType=VARCHAR},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+
+
+  <update id="updateByPrimaryKey" parameterType="com.novaone.entity.TradingRecord">
+    <!--@mbg.generated-->
+    update trading_record
+    set pay_no = #{payNo,jdbcType=VARCHAR},
+      pay_bill_no = #{payBillNo,jdbcType=VARCHAR},
+      `type` = #{type,jdbcType=BOOLEAN},
+      company = #{company,jdbcType=VARCHAR},
+      pay_acc = #{payAcc,jdbcType=VARCHAR},
+      pay_name = #{payName,jdbcType=VARCHAR},
+      pay_amount = #{payAmount,jdbcType=DECIMAL},
+      payee_bank_name = #{payeeBankName,jdbcType=VARCHAR},
+      payee_bank_no = #{payeeBankNo,jdbcType=VARCHAR},
+      payee_acc = #{payeeAcc,jdbcType=VARCHAR},
+      payee_name = #{payeeName,jdbcType=VARCHAR},
+      payee_acc_type = #{payeeAccType,jdbcType=TINYINT},
+      urgent = #{urgent,jdbcType=BOOLEAN},
+      description = #{description,jdbcType=VARCHAR},
+      bank_state = #{bankState,jdbcType=VARCHAR},
+      business_state = #{businessState,jdbcType=TINYINT},
+      message = #{message,jdbcType=VARCHAR},
+      schedule_date = #{scheduleDate,jdbcType=VARCHAR},
+      creat_time = #{creatTime,jdbcType=TIMESTAMP},
+      update_time = #{updateTime,jdbcType=TIMESTAMP}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+
+
+  <update id="updateBatch" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update trading_record
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="pay_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payNo,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="pay_bill_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payBillNo,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="`type` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.type,jdbcType=BOOLEAN}
+        </foreach>
+      </trim>
+      <trim prefix="company = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.company,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="pay_acc = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payAcc,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="pay_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payName,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="pay_amount = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payAmount,jdbcType=DECIMAL}
+        </foreach>
+      </trim>
+      <trim prefix="payee_bank_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payeeBankName,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="payee_bank_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payeeBankNo,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="payee_acc = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payeeAcc,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="payee_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payeeName,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="payee_acc_type = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.payeeAccType,jdbcType=TINYINT}
+        </foreach>
+      </trim>
+      <trim prefix="urgent = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.urgent,jdbcType=BOOLEAN}
+        </foreach>
+      </trim>
+      <trim prefix="description = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.description,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="bank_state = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.bankState,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="business_state = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.businessState,jdbcType=TINYINT}
+        </foreach>
+      </trim>
+      <trim prefix="message = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.message,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="schedule_date = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.scheduleDate,jdbcType=VARCHAR}
+        </foreach>
+      </trim>
+      <trim prefix="creat_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.creatTime,jdbcType=TIMESTAMP}
+        </foreach>
+      </trim>
+      <trim prefix="update_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          when id = #{item.id,jdbcType=BIGINT} then #{item.updateTime,jdbcType=TIMESTAMP}
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id,jdbcType=BIGINT}
+    </foreach>
+  </update>
+  <update id="updateBatchSelective" parameterType="java.util.List">
+    <!--@mbg.generated-->
+    update trading_record
+    <trim prefix="set" suffixOverrides=",">
+      <trim prefix="pay_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payNo != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payNo,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="pay_bill_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payBillNo != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payBillNo,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="`type` = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.type != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.type,jdbcType=BOOLEAN}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="company = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.company != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.company,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="pay_acc = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payAcc != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payAcc,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="pay_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payName != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payName,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="pay_amount = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payAmount != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payAmount,jdbcType=DECIMAL}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="payee_bank_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payeeBankName != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payeeBankName,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="payee_bank_no = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payeeBankNo != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payeeBankNo,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="payee_acc = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payeeAcc != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payeeAcc,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="payee_name = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payeeName != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payeeName,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="payee_acc_type = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.payeeAccType != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.payeeAccType,jdbcType=TINYINT}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="urgent = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.urgent != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.urgent,jdbcType=BOOLEAN}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="description = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.description != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.description,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="bank_state = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.bankState != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.bankState,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="business_state = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.businessState != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.businessState,jdbcType=TINYINT}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="message = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.message != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.message,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="schedule_date = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.scheduleDate != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.scheduleDate,jdbcType=VARCHAR}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="creat_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.creatTime != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.creatTime,jdbcType=TIMESTAMP}
+          </if>
+        </foreach>
+      </trim>
+      <trim prefix="update_time = case" suffix="end,">
+        <foreach collection="list" index="index" item="item">
+          <if test="item.updateTime != null">
+            when id = #{item.id,jdbcType=BIGINT} then #{item.updateTime,jdbcType=TIMESTAMP}
+          </if>
+        </foreach>
+      </trim>
+    </trim>
+    where id in
+    <foreach close=")" collection="list" item="item" open="(" separator=", ">
+      #{item.id,jdbcType=BIGINT}
+    </foreach>
+  </update>
+
+
+  <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_record
+    (pay_no, pay_bill_no, `type`, company, pay_acc, pay_name, pay_amount, payee_bank_name, 
+      payee_bank_no, payee_acc, payee_name, payee_acc_type, urgent, description, bank_state, 
+      business_state, message, schedule_date, pay_bank,creat_time, update_time)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.payNo,jdbcType=VARCHAR}, #{item.payBillNo,jdbcType=VARCHAR}, #{item.type,jdbcType=TINYINT},
+        #{item.company,jdbcType=VARCHAR}, #{item.payAcc,jdbcType=VARCHAR}, #{item.payName,jdbcType=VARCHAR}, 
+        #{item.payAmount,jdbcType=DECIMAL}, #{item.payeeBankName,jdbcType=VARCHAR}, #{item.payeeBankNo,jdbcType=VARCHAR}, 
+        #{item.payeeAcc,jdbcType=VARCHAR}, #{item.payeeName,jdbcType=VARCHAR}, #{item.payeeAccType,jdbcType=TINYINT},
+        #{item.urgent,jdbcType=TINYINT}, #{item.description,jdbcType=VARCHAR}, #{item.bankState,jdbcType=VARCHAR},
+        #{item.businessState,jdbcType=TINYINT}, #{item.message,jdbcType=VARCHAR}, #{item.scheduleDate,jdbcType=VARCHAR},
+        #{item.payBank,jdbcType=VARCHAR},#{item.creatTime,jdbcType=TIMESTAMP}, #{item.updateTime,jdbcType=TIMESTAMP})
+    </foreach>
+  </insert>
+
+  <select id="selectByBusinessState" resultType="com.novaone.entity.TradingRecord" parameterType="java.lang.Integer">
+     SELECT * FROM trading_record WHERE business_state in
+   <foreach collection="status" item="item" separator="," open="(" close=")">
+         #{item}
+    </foreach>
+  </select>
+
+    <select id="countByBusinessState" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+     SELECT COUNT(1) FROM trading_record WHERE business_state in
+    <foreach collection="status" item="item" separator="," open="(" close=")">
+         #{item}
+    </foreach>
+  </select>
+
+
+  <insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      pay_no,
+      pay_bill_no,
+      `type`,
+      company,
+      pay_acc,
+      pay_name,
+      pay_amount,
+      payee_bank_name,
+      payee_bank_no,
+      payee_acc,
+      payee_name,
+      payee_acc_type,
+      urgent,
+      description,
+      bank_state,
+      business_state,
+      message,
+      schedule_date,
+      creat_time,
+      update_time,
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      #{payNo,jdbcType=VARCHAR},
+      #{payBillNo,jdbcType=VARCHAR},
+      #{type,jdbcType=BOOLEAN},
+      #{company,jdbcType=VARCHAR},
+      #{payAcc,jdbcType=VARCHAR},
+      #{payName,jdbcType=VARCHAR},
+      #{payAmount,jdbcType=DECIMAL},
+      #{payeeBankName,jdbcType=VARCHAR},
+      #{payeeBankNo,jdbcType=VARCHAR},
+      #{payeeAcc,jdbcType=VARCHAR},
+      #{payeeName,jdbcType=VARCHAR},
+      #{payeeAccType,jdbcType=TINYINT},
+      #{urgent,jdbcType=BOOLEAN},
+      #{description,jdbcType=VARCHAR},
+      #{bankState,jdbcType=VARCHAR},
+      #{businessState,jdbcType=TINYINT},
+      #{message,jdbcType=VARCHAR},
+      #{scheduleDate,jdbcType=VARCHAR},
+      #{creatTime,jdbcType=TIMESTAMP},
+      #{updateTime,jdbcType=TIMESTAMP},
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id,jdbcType=BIGINT},
+      </if>
+      pay_no = #{payNo,jdbcType=VARCHAR},
+      pay_bill_no = #{payBillNo,jdbcType=VARCHAR},
+      `type` = #{type,jdbcType=BOOLEAN},
+      company = #{company,jdbcType=VARCHAR},
+      pay_acc = #{payAcc,jdbcType=VARCHAR},
+      pay_name = #{payName,jdbcType=VARCHAR},
+      pay_amount = #{payAmount,jdbcType=DECIMAL},
+      payee_bank_name = #{payeeBankName,jdbcType=VARCHAR},
+      payee_bank_no = #{payeeBankNo,jdbcType=VARCHAR},
+      payee_acc = #{payeeAcc,jdbcType=VARCHAR},
+      payee_name = #{payeeName,jdbcType=VARCHAR},
+      payee_acc_type = #{payeeAccType,jdbcType=TINYINT},
+      urgent = #{urgent,jdbcType=BOOLEAN},
+      description = #{description,jdbcType=VARCHAR},
+      bank_state = #{bankState,jdbcType=VARCHAR},
+      business_state = #{businessState,jdbcType=TINYINT},
+      message = #{message,jdbcType=VARCHAR},
+      schedule_date = #{scheduleDate,jdbcType=VARCHAR},
+      creat_time = #{creatTime,jdbcType=TIMESTAMP},
+      update_time = #{updateTime,jdbcType=TIMESTAMP},
+    </trim>
+  </insert>
+
+
+  <insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.novaone.entity.TradingRecord" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into trading_record
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="payNo != null">
+        pay_no,
+      </if>
+      <if test="payBillNo != null">
+        pay_bill_no,
+      </if>
+      <if test="type != null">
+        `type`,
+      </if>
+      <if test="company != null">
+        company,
+      </if>
+      <if test="payAcc != null">
+        pay_acc,
+      </if>
+      <if test="payName != null">
+        pay_name,
+      </if>
+      <if test="payAmount != null">
+        pay_amount,
+      </if>
+      <if test="payeeBankName != null">
+        payee_bank_name,
+      </if>
+      <if test="payeeBankNo != null">
+        payee_bank_no,
+      </if>
+      <if test="payeeAcc != null">
+        payee_acc,
+      </if>
+      <if test="payeeName != null">
+        payee_name,
+      </if>
+      <if test="payeeAccType != null">
+        payee_acc_type,
+      </if>
+      <if test="urgent != null">
+        urgent,
+      </if>
+      <if test="description != null">
+        description,
+      </if>
+      <if test="bankState != null">
+        bank_state,
+      </if>
+      <if test="businessState != null">
+        business_state,
+      </if>
+      <if test="message != null">
+        message,
+      </if>
+      <if test="scheduleDate != null">
+        schedule_date,
+      </if>
+      <if test="creatTime != null">
+        creat_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    values
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="payNo != null">
+        #{payNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payBillNo != null">
+        #{payBillNo,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null">
+        #{type,jdbcType=BOOLEAN},
+      </if>
+      <if test="company != null">
+        #{company,jdbcType=VARCHAR},
+      </if>
+      <if test="payAcc != null">
+        #{payAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payName != null">
+        #{payName,jdbcType=VARCHAR},
+      </if>
+      <if test="payAmount != null">
+        #{payAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="payeeBankName != null">
+        #{payeeBankName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeBankNo != null">
+        #{payeeBankNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAcc != null">
+        #{payeeAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeName != null">
+        #{payeeName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAccType != null">
+        #{payeeAccType,jdbcType=TINYINT},
+      </if>
+      <if test="urgent != null">
+        #{urgent,jdbcType=BOOLEAN},
+      </if>
+      <if test="description != null">
+        #{description,jdbcType=VARCHAR},
+      </if>
+      <if test="bankState != null">
+        #{bankState,jdbcType=VARCHAR},
+      </if>
+      <if test="businessState != null">
+        #{businessState,jdbcType=TINYINT},
+      </if>
+      <if test="message != null">
+        #{message,jdbcType=VARCHAR},
+      </if>
+      <if test="scheduleDate != null">
+        #{scheduleDate,jdbcType=VARCHAR},
+      </if>
+      <if test="creatTime != null">
+        #{creatTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+    on duplicate key update 
+    <trim suffixOverrides=",">
+      <if test="id != null">
+        id = #{id,jdbcType=BIGINT},
+      </if>
+      <if test="payNo != null">
+        pay_no = #{payNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payBillNo != null">
+        pay_bill_no = #{payBillNo,jdbcType=VARCHAR},
+      </if>
+      <if test="type != null">
+        `type` = #{type,jdbcType=BOOLEAN},
+      </if>
+      <if test="company != null">
+        company = #{company,jdbcType=VARCHAR},
+      </if>
+      <if test="payAcc != null">
+        pay_acc = #{payAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payName != null">
+        pay_name = #{payName,jdbcType=VARCHAR},
+      </if>
+      <if test="payAmount != null">
+        pay_amount = #{payAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="payeeBankName != null">
+        payee_bank_name = #{payeeBankName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeBankNo != null">
+        payee_bank_no = #{payeeBankNo,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAcc != null">
+        payee_acc = #{payeeAcc,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeName != null">
+        payee_name = #{payeeName,jdbcType=VARCHAR},
+      </if>
+      <if test="payeeAccType != null">
+        payee_acc_type = #{businessState,jdbcType=TINYINT},
+      </if>
+      <if test="urgent != null">
+        urgent = #{urgent,jdbcType=BOOLEAN},
+      </if>
+      <if test="description != null">
+        description = #{description,jdbcType=VARCHAR},
+      </if>
+      <if test="bankState != null">
+        bank_state = #{bankState,jdbcType=VARCHAR},
+      </if>
+      <if test="businessState != null">
+        business_state = #{businessState,jdbcType=TINYINT},
+      </if>
+      <if test="message != null">
+        message = #{message,jdbcType=VARCHAR},
+      </if>
+      <if test="scheduleDate != null">
+        schedule_date = #{scheduleDate,jdbcType=VARCHAR},
+      </if>
+      <if test="creatTime != null">
+        creat_time = #{creatTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <select id="selectByBillState" resultMap="BaseResultMap">
+    SELECT tr.*,tbr.id tbrId, tbr.pay_no billPayNo , tbr.state billState,tbr.name billName,tbr.path billPath,tbr.message billMessage,tbr.creat_time billCreatTime,tbr.update_time billUpdateTime
+    FROM trading_record  tr JOIN trading_bill_record tbr ON tr.pay_no = tbr.pay_no WHERE tbr.state IN
+   <foreach collection="status" item="item" separator="," open="(" close=")">
+     #{item}
+    </foreach>
+</select>
+<select id="selectByScheduleDate" resultMap="BaseResultMap" parameterType="java.util.Date">
+    SELECT * FROM trading_record WHERE date_format(schedule_date,'%Y-%m-%d') = date_format( #{date},'%Y-%m-%d') AND business_state = '2'
+</select>
+</mapper>
\ No newline at end of file
Index: src/main/java/com/novaone/dao/TradingBillRecordMapper.java
===================================================================
--- src/main/java/com/novaone/dao/TradingBillRecordMapper.java	(不存在的)
+++ src/main/java/com/novaone/dao/TradingBillRecordMapper.java	(版本 31414)
@@ -0,0 +1,64 @@
+package com.novaone.dao;
+
+import com.novaone.entity.TradingBillRecord;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface TradingBillRecordMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(TradingBillRecord record);
+
+    int insertOrUpdate(TradingBillRecord record);
+
+    int insertOrUpdateSelective(TradingBillRecord record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(TradingBillRecord record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    TradingBillRecord selectByPrimaryKey(Long id);
+
+    List<TradingBillRecord> selectByStatus(@Param("status") List<Integer> status);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(TradingBillRecord record);
+
+    int updateByPayNoSelective(TradingBillRecord record);
+
+    /**
+     * update record
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKey(TradingBillRecord record);
+
+    int updateBatch(List<TradingBillRecord> list);
+
+    int updateBatchSelective(List<TradingBillRecord> list);
+
+    int batchInsert(@Param("list") List<TradingBillRecord> list);
+
+}
\ No newline at end of file
Index: src/main/java/com/novaone/dao/TradingHistoryMapper.java
===================================================================
--- src/main/java/com/novaone/dao/TradingHistoryMapper.java	(不存在的)
+++ src/main/java/com/novaone/dao/TradingHistoryMapper.java	(版本 31414)
@@ -0,0 +1,42 @@
+package com.novaone.dao;
+
+import com.novaone.entity.TradingHistory;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface TradingHistoryMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(TradingHistory record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(TradingHistory record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    TradingHistory selectByPrimaryKey(Long id);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(TradingHistory record);
+}
\ No newline at end of file
Index: src/main/java/com/novaone/dao/TradingLogMapper.java
===================================================================
--- src/main/java/com/novaone/dao/TradingLogMapper.java	(不存在的)
+++ src/main/java/com/novaone/dao/TradingLogMapper.java	(版本 31414)
@@ -0,0 +1,62 @@
+package com.novaone.dao;
+
+import com.novaone.entity.TradingLog;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional(propagation = Propagation.REQUIRES_NEW)
+public interface TradingLogMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(TradingLog record);
+
+    int insertOrUpdate(TradingLog record);
+
+    int insertOrUpdateSelective(TradingLog record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(TradingLog record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    TradingLog selectByPrimaryKey(Long id);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(TradingLog record);
+
+    /**
+     * update record
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKey(TradingLog record);
+
+    int updateBatch(List<TradingLog> list);
+
+    int updateBatchSelective(List<TradingLog> list);
+
+    int batchInsert(@Param("list") List<TradingLog> list);
+}
\ No newline at end of file
Index: src/main/java/com/novaone/dao/TradingRecordCodeDao.java
===================================================================
--- src/main/java/com/novaone/dao/TradingRecordCodeDao.java	(不存在的)
+++ src/main/java/com/novaone/dao/TradingRecordCodeDao.java	(版本 31414)
@@ -0,0 +1,45 @@
+package com.novaone.dao;
+import lombok.Data;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.SelectKey;
+import org.springframework.transaction.annotation.Transactional;
+
+/*
+ * @program: BankEnterprise
+ * @description:
+ * @author: Ma.ChengJian
+ * @create: 2022-05-12 23:11
+ */
+public interface TradingRecordCodeDao {
+
+
+    public static class Code{
+
+        private String prefix;
+
+        private String maxSerial;
+
+        public String getPrefix() {
+            return prefix;
+        }
+
+        public void setPrefix(String prefix) {
+            this.prefix = prefix;
+        }
+
+        public String getMaxSerial() {
+            return maxSerial;
+        }
+
+        public void setMaxSerial(String maxSerial) {
+            this.maxSerial = maxSerial;
+        }
+    }
+
+
+    @Transactional
+    @Insert("INSERT INTO trading_record_code (prefix, max_serial) VALUES (#{prefix}, CONCAT(1)) ON DUPLICATE KEY UPDATE prefix = #{prefix} ,max_serial = CONCAT(max_serial + 1)")
+    @SelectKey(before = false,keyProperty = "maxSerial", keyColumn = "max_serial", statement = "SELECT LPAD(max_serial,4,0) FROM trading_record_code WHERE prefix = #{prefix}", resultType = String.class)
+    public int insert(Code code);
+}
Index: src/main/java/com/novaone/dao/TradingRecordMapper.java
===================================================================
--- src/main/java/com/novaone/dao/TradingRecordMapper.java	(不存在的)
+++ src/main/java/com/novaone/dao/TradingRecordMapper.java	(版本 31414)
@@ -0,0 +1,74 @@
+package com.novaone.dao;
+
+import com.novaone.entity.TradingRecord;
+
+import java.util.Date;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+public interface TradingRecordMapper {
+    /**
+     * delete by primary key
+     * @param id primaryKey
+     * @return deleteCount
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * insert record to table
+     * @param record the record
+     * @return insert count
+     */
+    int insert(TradingRecord record);
+
+    int insertOrUpdate(TradingRecord record);
+
+    int insertOrUpdateSelective(TradingRecord record);
+
+    /**
+     * insert record to table selective
+     * @param record the record
+     * @return insert count
+     */
+    int insertSelective(TradingRecord record);
+
+    /**
+     * select by primary key
+     * @param id primary key
+     * @return object by primary key
+     */
+    TradingRecord selectByPrimaryKey(Long id);
+
+    /**
+     * update record selective
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKeySelective(TradingRecord record);
+
+    /**
+     * update record
+     * @param record the updated record
+     * @return update count
+     */
+    int updateByPrimaryKey(TradingRecord record);
+
+    int updateBatch(List<TradingRecord> list);
+
+    int updateBatchSelective(List<TradingRecord> list);
+
+    int batchInsert(@Param("list") List<TradingRecord> list);
+
+    List<TradingRecord> selectByBusinessState(@Param("status")List<Integer> status);
+
+
+    List<TradingRecord> selectByBillState(@Param("status")List<Integer> status);
+
+    List<TradingRecord> selectByScheduleDate(Date date);
+
+
+    int countByBusinessState(@Param("status")List<Integer> status);
+
+
+}
\ No newline at end of file
Index: src/main/java/com/novaone/payment/BOCClientImpl.java
===================================================================
--- src/main/java/com/novaone/payment/BOCClientImpl.java	(版本 31413)
+++ src/main/java/com/novaone/payment/BOCClientImpl.java	(版本 31414)
@@ -343,9 +343,9 @@
 
     private ConfigBocVO getConfigBocVO(){
         //正式环境信息
-        return configService.queryConfigOne();
+//        return configService.queryConfigOne();
         //测试环境信息
-//        return configService.queryConfigTest();
+        return configService.queryConfigTest();
     }
 
 
