From 3abf72aeb5ac9e87fe98935d01b59254f43161ed Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Mon, 8 Jan 2024 11:30:51 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../BsMerPlatformPeriodController.java        |   70 +
 .../hfkj/dao/BsMerPlatformPeriodMapper.java   |  158 ++
 .../dao/BsMerPlatformPeriodMapperExt.java     |    7 +
 .../dao/BsMerPlatformPeriodRateMapper.java    |  114 ++
 .../dao/BsMerPlatformPeriodRateMapperExt.java |    7 +
 .../BsMerPlatformPeriodRateSqlProvider.java   |  290 ++++
 .../dao/BsMerPlatformPeriodSqlProvider.java   |  444 +++++
 .../com/hfkj/entity/BsMerPlatformPeriod.java  |  360 ++++
 .../entity/BsMerPlatformPeriodExample.java    | 1493 +++++++++++++++++
 .../hfkj/entity/BsMerPlatformPeriodRate.java  |  185 ++
 .../BsMerPlatformPeriodRateExample.java       |  794 +++++++++
 .../period/BsMerPlatformPeriodService.java    |   34 +
 .../impl/BsMerPlatformPeriodServiceImpl.java  |   82 +
 .../sysenum/PlatformPeriodStatusEnum.java     |   49 +
 .../hfkj/sysenum/PlatformPeriodTypeEnum.java  |   47 +
 15 files changed, 4134 insertions(+)
 create mode 100644 cweb/src/main/java/com/cweb/controller/BsMerPlatformPeriodController.java
 create mode 100644 service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapper.java
 create mode 100644 service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapperExt.java
 create mode 100644 service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapper.java
 create mode 100644 service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapperExt.java
 create mode 100644 service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateSqlProvider.java
 create mode 100644 service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodSqlProvider.java
 create mode 100644 service/src/main/java/com/hfkj/entity/BsMerPlatformPeriod.java
 create mode 100644 service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodExample.java
 create mode 100644 service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRate.java
 create mode 100644 service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRateExample.java
 create mode 100644 service/src/main/java/com/hfkj/service/period/BsMerPlatformPeriodService.java
 create mode 100644 service/src/main/java/com/hfkj/service/period/impl/BsMerPlatformPeriodServiceImpl.java
 create mode 100644 service/src/main/java/com/hfkj/sysenum/PlatformPeriodStatusEnum.java
 create mode 100644 service/src/main/java/com/hfkj/sysenum/PlatformPeriodTypeEnum.java

diff --git a/cweb/src/main/java/com/cweb/controller/BsMerPlatformPeriodController.java b/cweb/src/main/java/com/cweb/controller/BsMerPlatformPeriodController.java
new file mode 100644
index 0000000..c5c7166
--- /dev/null
+++ b/cweb/src/main/java/com/cweb/controller/BsMerPlatformPeriodController.java
@@ -0,0 +1,70 @@
+package com.cweb.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.BsMerPlatformPeriod;
+import com.hfkj.model.ResponseData;
+import com.hfkj.service.BsMerPlatformNoService;
+import com.hfkj.service.period.BsMerPlatformPeriodService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @className: BsMerPlatformPeriodController
+ * @author: HuRui
+ * @date: 2024/1/6
+ **/
+@Controller
+@Api(value = "商户分账渠道管理")
+@RequestMapping(value = "/merPlatformPeriod")
+public class BsMerPlatformPeriodController {
+
+    private static Logger log = LoggerFactory.getLogger(BsMerLedgerController.class);
+
+    @Resource
+    private BsMerPlatformPeriodService merPlatformPeriodService;
+
+    @RequestMapping(value="/apply",method = RequestMethod.POST)
+    @ResponseBody
+    @ApiOperation(value = "申请")
+    public ResponseData apply(@RequestBody JSONObject body) {
+        try {
+            if (body == null
+                    || StringUtils.isBlank(body.getString("merNo"))
+                    || body.getInteger("platformPeriodType") == null
+                    || body.getBoolean("openUnionpay") == null
+                    || body.getString("unionpayFeePaid") == null
+                    || body.getJSONObject("rateObj") == null) {
+                throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+            }
+
+            JSONObject rateObj = body.getJSONObject("rateObj");
+            for (Object obj : rateObj.getJSONArray("")) {
+                if () {
+
+                }
+            }
+
+            merPlatformPeriodService.apply();
+
+            return ResponseMsgUtil.success();
+
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            return ResponseMsgUtil.exception(e);
+        }
+    }
+}
diff --git a/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapper.java b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapper.java
new file mode 100644
index 0000000..e929f3d
--- /dev/null
+++ b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapper.java
@@ -0,0 +1,158 @@
+package com.hfkj.dao;
+
+import com.hfkj.entity.BsMerPlatformPeriod;
+import com.hfkj.entity.BsMerPlatformPeriodExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 代码由工具生成,请勿修改!!!
+ * 如果需要扩展请在其父类进行扩展
+ * 
+ **/
+@Repository
+public interface BsMerPlatformPeriodMapper extends BsMerPlatformPeriodMapperExt {
+    @SelectProvider(type=BsMerPlatformPeriodSqlProvider.class, method="countByExample")
+    long countByExample(BsMerPlatformPeriodExample example);
+
+    @DeleteProvider(type=BsMerPlatformPeriodSqlProvider.class, method="deleteByExample")
+    int deleteByExample(BsMerPlatformPeriodExample example);
+
+    @Delete({
+        "delete from bs_mer_platform_period",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(Long id);
+
+    @Insert({
+        "insert into bs_mer_platform_period (company_id, agent_id, ",
+        "mer_id, mer_no, platform_type, ",
+        "platform_no, platform_market_id, ",
+        "platform_pkg_id, open_unionpay, ",
+        "unionpay_fee_paid, open_alipay, ",
+        "alipay_fee_paid, `status`, ",
+        "suggestion_reject, create_time, ",
+        "update_time, ext_1, ",
+        "ext_2, ext_3)",
+        "values (#{companyId,jdbcType=BIGINT}, #{agentId,jdbcType=BIGINT}, ",
+        "#{merId,jdbcType=BIGINT}, #{merNo,jdbcType=VARCHAR}, #{platformType,jdbcType=INTEGER}, ",
+        "#{platformNo,jdbcType=VARCHAR}, #{platformMarketId,jdbcType=BIGINT}, ",
+        "#{platformPkgId,jdbcType=BIGINT}, #{openUnionpay,jdbcType=BIT}, ",
+        "#{unionpayFeePaid,jdbcType=VARCHAR}, #{openAlipay,jdbcType=BIT}, ",
+        "#{alipayFeePaid,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, ",
+        "#{suggestionReject,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, ",
+        "#{updateTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ",
+        "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(BsMerPlatformPeriod record);
+
+    @InsertProvider(type=BsMerPlatformPeriodSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(BsMerPlatformPeriod record);
+
+    @SelectProvider(type=BsMerPlatformPeriodSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="company_id", property="companyId", jdbcType=JdbcType.BIGINT),
+        @Result(column="agent_id", property="agentId", jdbcType=JdbcType.BIGINT),
+        @Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
+        @Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="platform_type", property="platformType", jdbcType=JdbcType.INTEGER),
+        @Result(column="platform_no", property="platformNo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="platform_market_id", property="platformMarketId", jdbcType=JdbcType.BIGINT),
+        @Result(column="platform_pkg_id", property="platformPkgId", jdbcType=JdbcType.BIGINT),
+        @Result(column="open_unionpay", property="openUnionpay", jdbcType=JdbcType.BIT),
+        @Result(column="unionpay_fee_paid", property="unionpayFeePaid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="open_alipay", property="openAlipay", jdbcType=JdbcType.BIT),
+        @Result(column="alipay_fee_paid", property="alipayFeePaid", jdbcType=JdbcType.INTEGER),
+        @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
+        @Result(column="suggestion_reject", property="suggestionReject", jdbcType=JdbcType.VARCHAR),
+        @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
+    })
+    List<BsMerPlatformPeriod> selectByExample(BsMerPlatformPeriodExample example);
+
+    @Select({
+        "select",
+        "id, company_id, agent_id, mer_id, mer_no, platform_type, platform_no, platform_market_id, ",
+        "platform_pkg_id, open_unionpay, unionpay_fee_paid, open_alipay, alipay_fee_paid, ",
+        "`status`, suggestion_reject, create_time, update_time, ext_1, ext_2, ext_3",
+        "from bs_mer_platform_period",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="company_id", property="companyId", jdbcType=JdbcType.BIGINT),
+        @Result(column="agent_id", property="agentId", jdbcType=JdbcType.BIGINT),
+        @Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
+        @Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="platform_type", property="platformType", jdbcType=JdbcType.INTEGER),
+        @Result(column="platform_no", property="platformNo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="platform_market_id", property="platformMarketId", jdbcType=JdbcType.BIGINT),
+        @Result(column="platform_pkg_id", property="platformPkgId", jdbcType=JdbcType.BIGINT),
+        @Result(column="open_unionpay", property="openUnionpay", jdbcType=JdbcType.BIT),
+        @Result(column="unionpay_fee_paid", property="unionpayFeePaid", jdbcType=JdbcType.VARCHAR),
+        @Result(column="open_alipay", property="openAlipay", jdbcType=JdbcType.BIT),
+        @Result(column="alipay_fee_paid", property="alipayFeePaid", jdbcType=JdbcType.INTEGER),
+        @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
+        @Result(column="suggestion_reject", property="suggestionReject", jdbcType=JdbcType.VARCHAR),
+        @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
+    })
+    BsMerPlatformPeriod selectByPrimaryKey(Long id);
+
+    @UpdateProvider(type=BsMerPlatformPeriodSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") BsMerPlatformPeriod record, @Param("example") BsMerPlatformPeriodExample example);
+
+    @UpdateProvider(type=BsMerPlatformPeriodSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") BsMerPlatformPeriod record, @Param("example") BsMerPlatformPeriodExample example);
+
+    @UpdateProvider(type=BsMerPlatformPeriodSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(BsMerPlatformPeriod record);
+
+    @Update({
+        "update bs_mer_platform_period",
+        "set company_id = #{companyId,jdbcType=BIGINT},",
+          "agent_id = #{agentId,jdbcType=BIGINT},",
+          "mer_id = #{merId,jdbcType=BIGINT},",
+          "mer_no = #{merNo,jdbcType=VARCHAR},",
+          "platform_type = #{platformType,jdbcType=INTEGER},",
+          "platform_no = #{platformNo,jdbcType=VARCHAR},",
+          "platform_market_id = #{platformMarketId,jdbcType=BIGINT},",
+          "platform_pkg_id = #{platformPkgId,jdbcType=BIGINT},",
+          "open_unionpay = #{openUnionpay,jdbcType=BIT},",
+          "unionpay_fee_paid = #{unionpayFeePaid,jdbcType=VARCHAR},",
+          "open_alipay = #{openAlipay,jdbcType=BIT},",
+          "alipay_fee_paid = #{alipayFeePaid,jdbcType=INTEGER},",
+          "`status` = #{status,jdbcType=INTEGER},",
+          "suggestion_reject = #{suggestionReject,jdbcType=VARCHAR},",
+          "create_time = #{createTime,jdbcType=TIMESTAMP},",
+          "update_time = #{updateTime,jdbcType=TIMESTAMP},",
+          "ext_1 = #{ext1,jdbcType=VARCHAR},",
+          "ext_2 = #{ext2,jdbcType=VARCHAR},",
+          "ext_3 = #{ext3,jdbcType=VARCHAR}",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(BsMerPlatformPeriod record);
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapperExt.java b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapperExt.java
new file mode 100644
index 0000000..1e0c28c
--- /dev/null
+++ b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodMapperExt.java
@@ -0,0 +1,7 @@
+package com.hfkj.dao;
+
+/**
+ * mapper扩展类
+ */
+public interface BsMerPlatformPeriodMapperExt {
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapper.java b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapper.java
new file mode 100644
index 0000000..629de40
--- /dev/null
+++ b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapper.java
@@ -0,0 +1,114 @@
+package com.hfkj.dao;
+
+import com.hfkj.entity.BsMerPlatformPeriodRate;
+import com.hfkj.entity.BsMerPlatformPeriodRateExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.InsertProvider;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 代码由工具生成,请勿修改!!!
+ * 如果需要扩展请在其父类进行扩展
+ * 
+ **/
+@Repository
+public interface BsMerPlatformPeriodRateMapper extends BsMerPlatformPeriodRateMapperExt {
+    @SelectProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="countByExample")
+    long countByExample(BsMerPlatformPeriodRateExample example);
+
+    @DeleteProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="deleteByExample")
+    int deleteByExample(BsMerPlatformPeriodRateExample example);
+
+    @Delete({
+        "delete from bs_mer_platform_period_rate",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    int deleteByPrimaryKey(Long id);
+
+    @Insert({
+        "insert into bs_mer_platform_period_rate (platform_period_id, period_num, ",
+        "rate, create_time, ",
+        "update_time, ext_1, ",
+        "ext_2, ext_3)",
+        "values (#{platformPeriodId,jdbcType=BIGINT}, #{periodNum,jdbcType=INTEGER}, ",
+        "#{rate,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP}, ",
+        "#{updateTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ",
+        "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
+    })
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insert(BsMerPlatformPeriodRate record);
+
+    @InsertProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="insertSelective")
+    @Options(useGeneratedKeys=true,keyProperty="id")
+    int insertSelective(BsMerPlatformPeriodRate record);
+
+    @SelectProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="selectByExample")
+    @Results({
+        @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="platform_period_id", property="platformPeriodId", jdbcType=JdbcType.BIGINT),
+        @Result(column="period_num", property="periodNum", jdbcType=JdbcType.INTEGER),
+        @Result(column="rate", property="rate", jdbcType=JdbcType.DECIMAL),
+        @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
+    })
+    List<BsMerPlatformPeriodRate> selectByExample(BsMerPlatformPeriodRateExample example);
+
+    @Select({
+        "select",
+        "id, platform_period_id, period_num, rate, create_time, update_time, ext_1, ext_2, ",
+        "ext_3",
+        "from bs_mer_platform_period_rate",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    @Results({
+        @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="platform_period_id", property="platformPeriodId", jdbcType=JdbcType.BIGINT),
+        @Result(column="period_num", property="periodNum", jdbcType=JdbcType.INTEGER),
+        @Result(column="rate", property="rate", jdbcType=JdbcType.DECIMAL),
+        @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
+    })
+    BsMerPlatformPeriodRate selectByPrimaryKey(Long id);
+
+    @UpdateProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="updateByExampleSelective")
+    int updateByExampleSelective(@Param("record") BsMerPlatformPeriodRate record, @Param("example") BsMerPlatformPeriodRateExample example);
+
+    @UpdateProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="updateByExample")
+    int updateByExample(@Param("record") BsMerPlatformPeriodRate record, @Param("example") BsMerPlatformPeriodRateExample example);
+
+    @UpdateProvider(type=BsMerPlatformPeriodRateSqlProvider.class, method="updateByPrimaryKeySelective")
+    int updateByPrimaryKeySelective(BsMerPlatformPeriodRate record);
+
+    @Update({
+        "update bs_mer_platform_period_rate",
+        "set platform_period_id = #{platformPeriodId,jdbcType=BIGINT},",
+          "period_num = #{periodNum,jdbcType=INTEGER},",
+          "rate = #{rate,jdbcType=DECIMAL},",
+          "create_time = #{createTime,jdbcType=TIMESTAMP},",
+          "update_time = #{updateTime,jdbcType=TIMESTAMP},",
+          "ext_1 = #{ext1,jdbcType=VARCHAR},",
+          "ext_2 = #{ext2,jdbcType=VARCHAR},",
+          "ext_3 = #{ext3,jdbcType=VARCHAR}",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKey(BsMerPlatformPeriodRate record);
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapperExt.java b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapperExt.java
new file mode 100644
index 0000000..8d2e4e3
--- /dev/null
+++ b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateMapperExt.java
@@ -0,0 +1,7 @@
+package com.hfkj.dao;
+
+/**
+ * mapper扩展类
+ */
+public interface BsMerPlatformPeriodRateMapperExt {
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateSqlProvider.java b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateSqlProvider.java
new file mode 100644
index 0000000..ec98641
--- /dev/null
+++ b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodRateSqlProvider.java
@@ -0,0 +1,290 @@
+package com.hfkj.dao;
+
+import com.hfkj.entity.BsMerPlatformPeriodRate;
+import com.hfkj.entity.BsMerPlatformPeriodRateExample.Criteria;
+import com.hfkj.entity.BsMerPlatformPeriodRateExample.Criterion;
+import com.hfkj.entity.BsMerPlatformPeriodRateExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class BsMerPlatformPeriodRateSqlProvider {
+
+    public String countByExample(BsMerPlatformPeriodRateExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("bs_mer_platform_period_rate");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    public String deleteByExample(BsMerPlatformPeriodRateExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("bs_mer_platform_period_rate");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    public String insertSelective(BsMerPlatformPeriodRate record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("bs_mer_platform_period_rate");
+        
+        if (record.getPlatformPeriodId() != null) {
+            sql.VALUES("platform_period_id", "#{platformPeriodId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPeriodNum() != null) {
+            sql.VALUES("period_num", "#{periodNum,jdbcType=INTEGER}");
+        }
+        
+        if (record.getRate() != null) {
+            sql.VALUES("rate", "#{rate,jdbcType=DECIMAL}");
+        }
+        
+        if (record.getCreateTime() != null) {
+            sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getUpdateTime() != null) {
+            sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getExt1() != null) {
+            sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt2() != null) {
+            sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt3() != null) {
+            sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}");
+        }
+        
+        return sql.toString();
+    }
+
+    public String selectByExample(BsMerPlatformPeriodRateExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("id");
+        } else {
+            sql.SELECT("id");
+        }
+        sql.SELECT("platform_period_id");
+        sql.SELECT("period_num");
+        sql.SELECT("rate");
+        sql.SELECT("create_time");
+        sql.SELECT("update_time");
+        sql.SELECT("ext_1");
+        sql.SELECT("ext_2");
+        sql.SELECT("ext_3");
+        sql.FROM("bs_mer_platform_period_rate");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        BsMerPlatformPeriodRate record = (BsMerPlatformPeriodRate) parameter.get("record");
+        BsMerPlatformPeriodRateExample example = (BsMerPlatformPeriodRateExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("bs_mer_platform_period_rate");
+        
+        if (record.getId() != null) {
+            sql.SET("id = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPlatformPeriodId() != null) {
+            sql.SET("platform_period_id = #{record.platformPeriodId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPeriodNum() != null) {
+            sql.SET("period_num = #{record.periodNum,jdbcType=INTEGER}");
+        }
+        
+        if (record.getRate() != null) {
+            sql.SET("rate = #{record.rate,jdbcType=DECIMAL}");
+        }
+        
+        if (record.getCreateTime() != null) {
+            sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getUpdateTime() != null) {
+            sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getExt1() != null) {
+            sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt2() != null) {
+            sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt3() != null) {
+            sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("bs_mer_platform_period_rate");
+        
+        sql.SET("id = #{record.id,jdbcType=BIGINT}");
+        sql.SET("platform_period_id = #{record.platformPeriodId,jdbcType=BIGINT}");
+        sql.SET("period_num = #{record.periodNum,jdbcType=INTEGER}");
+        sql.SET("rate = #{record.rate,jdbcType=DECIMAL}");
+        sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
+        sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
+        sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
+        sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
+        sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
+        
+        BsMerPlatformPeriodRateExample example = (BsMerPlatformPeriodRateExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    public String updateByPrimaryKeySelective(BsMerPlatformPeriodRate record) {
+        SQL sql = new SQL();
+        sql.UPDATE("bs_mer_platform_period_rate");
+        
+        if (record.getPlatformPeriodId() != null) {
+            sql.SET("platform_period_id = #{platformPeriodId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPeriodNum() != null) {
+            sql.SET("period_num = #{periodNum,jdbcType=INTEGER}");
+        }
+        
+        if (record.getRate() != null) {
+            sql.SET("rate = #{rate,jdbcType=DECIMAL}");
+        }
+        
+        if (record.getCreateTime() != null) {
+            sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getUpdateTime() != null) {
+            sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getExt1() != null) {
+            sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt2() != null) {
+            sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt3() != null) {
+            sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}");
+        }
+        
+        sql.WHERE("id = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    protected void applyWhere(SQL sql, BsMerPlatformPeriodRateExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodSqlProvider.java b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodSqlProvider.java
new file mode 100644
index 0000000..9ed598f
--- /dev/null
+++ b/service/src/main/java/com/hfkj/dao/BsMerPlatformPeriodSqlProvider.java
@@ -0,0 +1,444 @@
+package com.hfkj.dao;
+
+import com.hfkj.entity.BsMerPlatformPeriod;
+import com.hfkj.entity.BsMerPlatformPeriodExample.Criteria;
+import com.hfkj.entity.BsMerPlatformPeriodExample.Criterion;
+import com.hfkj.entity.BsMerPlatformPeriodExample;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.jdbc.SQL;
+
+public class BsMerPlatformPeriodSqlProvider {
+
+    public String countByExample(BsMerPlatformPeriodExample example) {
+        SQL sql = new SQL();
+        sql.SELECT("count(*)").FROM("bs_mer_platform_period");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    public String deleteByExample(BsMerPlatformPeriodExample example) {
+        SQL sql = new SQL();
+        sql.DELETE_FROM("bs_mer_platform_period");
+        applyWhere(sql, example, false);
+        return sql.toString();
+    }
+
+    public String insertSelective(BsMerPlatformPeriod record) {
+        SQL sql = new SQL();
+        sql.INSERT_INTO("bs_mer_platform_period");
+        
+        if (record.getCompanyId() != null) {
+            sql.VALUES("company_id", "#{companyId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getAgentId() != null) {
+            sql.VALUES("agent_id", "#{agentId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getMerId() != null) {
+            sql.VALUES("mer_id", "#{merId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getMerNo() != null) {
+            sql.VALUES("mer_no", "#{merNo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPlatformType() != null) {
+            sql.VALUES("platform_type", "#{platformType,jdbcType=INTEGER}");
+        }
+        
+        if (record.getPlatformNo() != null) {
+            sql.VALUES("platform_no", "#{platformNo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPlatformMarketId() != null) {
+            sql.VALUES("platform_market_id", "#{platformMarketId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPlatformPkgId() != null) {
+            sql.VALUES("platform_pkg_id", "#{platformPkgId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getOpenUnionpay() != null) {
+            sql.VALUES("open_unionpay", "#{openUnionpay,jdbcType=BIT}");
+        }
+        
+        if (record.getUnionpayFeePaid() != null) {
+            sql.VALUES("unionpay_fee_paid", "#{unionpayFeePaid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getOpenAlipay() != null) {
+            sql.VALUES("open_alipay", "#{openAlipay,jdbcType=BIT}");
+        }
+        
+        if (record.getAlipayFeePaid() != null) {
+            sql.VALUES("alipay_fee_paid", "#{alipayFeePaid,jdbcType=INTEGER}");
+        }
+        
+        if (record.getStatus() != null) {
+            sql.VALUES("`status`", "#{status,jdbcType=INTEGER}");
+        }
+        
+        if (record.getSuggestionReject() != null) {
+            sql.VALUES("suggestion_reject", "#{suggestionReject,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getCreateTime() != null) {
+            sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getUpdateTime() != null) {
+            sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getExt1() != null) {
+            sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt2() != null) {
+            sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt3() != null) {
+            sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}");
+        }
+        
+        return sql.toString();
+    }
+
+    public String selectByExample(BsMerPlatformPeriodExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("id");
+        } else {
+            sql.SELECT("id");
+        }
+        sql.SELECT("company_id");
+        sql.SELECT("agent_id");
+        sql.SELECT("mer_id");
+        sql.SELECT("mer_no");
+        sql.SELECT("platform_type");
+        sql.SELECT("platform_no");
+        sql.SELECT("platform_market_id");
+        sql.SELECT("platform_pkg_id");
+        sql.SELECT("open_unionpay");
+        sql.SELECT("unionpay_fee_paid");
+        sql.SELECT("open_alipay");
+        sql.SELECT("alipay_fee_paid");
+        sql.SELECT("`status`");
+        sql.SELECT("suggestion_reject");
+        sql.SELECT("create_time");
+        sql.SELECT("update_time");
+        sql.SELECT("ext_1");
+        sql.SELECT("ext_2");
+        sql.SELECT("ext_3");
+        sql.FROM("bs_mer_platform_period");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
+        return sql.toString();
+    }
+
+    public String updateByExampleSelective(Map<String, Object> parameter) {
+        BsMerPlatformPeriod record = (BsMerPlatformPeriod) parameter.get("record");
+        BsMerPlatformPeriodExample example = (BsMerPlatformPeriodExample) parameter.get("example");
+        
+        SQL sql = new SQL();
+        sql.UPDATE("bs_mer_platform_period");
+        
+        if (record.getId() != null) {
+            sql.SET("id = #{record.id,jdbcType=BIGINT}");
+        }
+        
+        if (record.getCompanyId() != null) {
+            sql.SET("company_id = #{record.companyId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getAgentId() != null) {
+            sql.SET("agent_id = #{record.agentId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getMerId() != null) {
+            sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getMerNo() != null) {
+            sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPlatformType() != null) {
+            sql.SET("platform_type = #{record.platformType,jdbcType=INTEGER}");
+        }
+        
+        if (record.getPlatformNo() != null) {
+            sql.SET("platform_no = #{record.platformNo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPlatformMarketId() != null) {
+            sql.SET("platform_market_id = #{record.platformMarketId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPlatformPkgId() != null) {
+            sql.SET("platform_pkg_id = #{record.platformPkgId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getOpenUnionpay() != null) {
+            sql.SET("open_unionpay = #{record.openUnionpay,jdbcType=BIT}");
+        }
+        
+        if (record.getUnionpayFeePaid() != null) {
+            sql.SET("unionpay_fee_paid = #{record.unionpayFeePaid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getOpenAlipay() != null) {
+            sql.SET("open_alipay = #{record.openAlipay,jdbcType=BIT}");
+        }
+        
+        if (record.getAlipayFeePaid() != null) {
+            sql.SET("alipay_fee_paid = #{record.alipayFeePaid,jdbcType=INTEGER}");
+        }
+        
+        if (record.getStatus() != null) {
+            sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
+        }
+        
+        if (record.getSuggestionReject() != null) {
+            sql.SET("suggestion_reject = #{record.suggestionReject,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getCreateTime() != null) {
+            sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getUpdateTime() != null) {
+            sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getExt1() != null) {
+            sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt2() != null) {
+            sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt3() != null) {
+            sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    public String updateByExample(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("bs_mer_platform_period");
+        
+        sql.SET("id = #{record.id,jdbcType=BIGINT}");
+        sql.SET("company_id = #{record.companyId,jdbcType=BIGINT}");
+        sql.SET("agent_id = #{record.agentId,jdbcType=BIGINT}");
+        sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
+        sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
+        sql.SET("platform_type = #{record.platformType,jdbcType=INTEGER}");
+        sql.SET("platform_no = #{record.platformNo,jdbcType=VARCHAR}");
+        sql.SET("platform_market_id = #{record.platformMarketId,jdbcType=BIGINT}");
+        sql.SET("platform_pkg_id = #{record.platformPkgId,jdbcType=BIGINT}");
+        sql.SET("open_unionpay = #{record.openUnionpay,jdbcType=BIT}");
+        sql.SET("unionpay_fee_paid = #{record.unionpayFeePaid,jdbcType=VARCHAR}");
+        sql.SET("open_alipay = #{record.openAlipay,jdbcType=BIT}");
+        sql.SET("alipay_fee_paid = #{record.alipayFeePaid,jdbcType=INTEGER}");
+        sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
+        sql.SET("suggestion_reject = #{record.suggestionReject,jdbcType=VARCHAR}");
+        sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
+        sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
+        sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
+        sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
+        sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
+        
+        BsMerPlatformPeriodExample example = (BsMerPlatformPeriodExample) parameter.get("example");
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    public String updateByPrimaryKeySelective(BsMerPlatformPeriod record) {
+        SQL sql = new SQL();
+        sql.UPDATE("bs_mer_platform_period");
+        
+        if (record.getCompanyId() != null) {
+            sql.SET("company_id = #{companyId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getAgentId() != null) {
+            sql.SET("agent_id = #{agentId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getMerId() != null) {
+            sql.SET("mer_id = #{merId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getMerNo() != null) {
+            sql.SET("mer_no = #{merNo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPlatformType() != null) {
+            sql.SET("platform_type = #{platformType,jdbcType=INTEGER}");
+        }
+        
+        if (record.getPlatformNo() != null) {
+            sql.SET("platform_no = #{platformNo,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getPlatformMarketId() != null) {
+            sql.SET("platform_market_id = #{platformMarketId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getPlatformPkgId() != null) {
+            sql.SET("platform_pkg_id = #{platformPkgId,jdbcType=BIGINT}");
+        }
+        
+        if (record.getOpenUnionpay() != null) {
+            sql.SET("open_unionpay = #{openUnionpay,jdbcType=BIT}");
+        }
+        
+        if (record.getUnionpayFeePaid() != null) {
+            sql.SET("unionpay_fee_paid = #{unionpayFeePaid,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getOpenAlipay() != null) {
+            sql.SET("open_alipay = #{openAlipay,jdbcType=BIT}");
+        }
+        
+        if (record.getAlipayFeePaid() != null) {
+            sql.SET("alipay_fee_paid = #{alipayFeePaid,jdbcType=INTEGER}");
+        }
+        
+        if (record.getStatus() != null) {
+            sql.SET("`status` = #{status,jdbcType=INTEGER}");
+        }
+        
+        if (record.getSuggestionReject() != null) {
+            sql.SET("suggestion_reject = #{suggestionReject,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getCreateTime() != null) {
+            sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getUpdateTime() != null) {
+            sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
+        }
+        
+        if (record.getExt1() != null) {
+            sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt2() != null) {
+            sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}");
+        }
+        
+        if (record.getExt3() != null) {
+            sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}");
+        }
+        
+        sql.WHERE("id = #{id,jdbcType=BIGINT}");
+        
+        return sql.toString();
+    }
+
+    protected void applyWhere(SQL sql, BsMerPlatformPeriodExample example, boolean includeExamplePhrase) {
+        if (example == null) {
+            return;
+        }
+        
+        String parmPhrase1;
+        String parmPhrase1_th;
+        String parmPhrase2;
+        String parmPhrase2_th;
+        String parmPhrase3;
+        String parmPhrase3_th;
+        if (includeExamplePhrase) {
+            parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        } else {
+            parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
+            parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
+            parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
+            parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
+            parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
+            parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
+        }
+        
+        StringBuilder sb = new StringBuilder();
+        List<Criteria> oredCriteria = example.getOredCriteria();
+        boolean firstCriteria = true;
+        for (int i = 0; i < oredCriteria.size(); i++) {
+            Criteria criteria = oredCriteria.get(i);
+            if (criteria.isValid()) {
+                if (firstCriteria) {
+                    firstCriteria = false;
+                } else {
+                    sb.append(" or ");
+                }
+                
+                sb.append('(');
+                List<Criterion> criterions = criteria.getAllCriteria();
+                boolean firstCriterion = true;
+                for (int j = 0; j < criterions.size(); j++) {
+                    Criterion criterion = criterions.get(j);
+                    if (firstCriterion) {
+                        firstCriterion = false;
+                    } else {
+                        sb.append(" and ");
+                    }
+                    
+                    if (criterion.isNoValue()) {
+                        sb.append(criterion.getCondition());
+                    } else if (criterion.isSingleValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isBetweenValue()) {
+                        if (criterion.getTypeHandler() == null) {
+                            sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
+                        } else {
+                            sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
+                        }
+                    } else if (criterion.isListValue()) {
+                        sb.append(criterion.getCondition());
+                        sb.append(" (");
+                        List<?> listItems = (List<?>) criterion.getValue();
+                        boolean comma = false;
+                        for (int k = 0; k < listItems.size(); k++) {
+                            if (comma) {
+                                sb.append(", ");
+                            } else {
+                                comma = true;
+                            }
+                            if (criterion.getTypeHandler() == null) {
+                                sb.append(String.format(parmPhrase3, i, j, k));
+                            } else {
+                                sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
+                            }
+                        }
+                        sb.append(')');
+                    }
+                }
+                sb.append(')');
+            }
+        }
+        
+        if (sb.length() > 0) {
+            sql.WHERE(sb.toString());
+        }
+    }
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriod.java b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriod.java
new file mode 100644
index 0000000..82d9eac
--- /dev/null
+++ b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriod.java
@@ -0,0 +1,360 @@
+package com.hfkj.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * bs_mer_platform_period
+ * @author 
+ */
+/**
+ * 
+ * 代码由工具生成
+ * 
+ **/
+public class BsMerPlatformPeriod implements Serializable {
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 公司id
+     */
+    private Long companyId;
+
+    /**
+     * 代理商id
+     */
+    private Long agentId;
+
+    /**
+     * 商户id
+     */
+    private Long merId;
+
+    /**
+     * 内部商户号
+     */
+    private String merNo;
+
+    /**
+     * 平台  1:零零购
+     */
+    private Integer platformType;
+
+    /**
+     * 平台商户号
+     */
+    private String platformNo;
+
+    /**
+     * 平台活动id
+     */
+    private Long platformMarketId;
+
+    /**
+     * 平台子活动id
+     */
+    private Long platformPkgId;
+
+    /**
+     * 开通银联分期
+     */
+    private Boolean openUnionpay;
+
+    /**
+     * 银联贴息方式(支持多选)  1:商户贴息  2:用户贴息  3:商户用户各一半
+     */
+    private String unionpayFeePaid;
+
+    /**
+     * 开通支付宝【花呗】分期
+     */
+    private Boolean openAlipay;
+
+    /**
+     * 花呗贴息方式(二选一)  1:商户贴息  2:用户贴息
+     */
+    private Integer alipayFeePaid;
+
+    /**
+     * 状态 0:不可用  1:可用  2: 审核中   3:审核驳回
+     */
+    private Integer status;
+
+    /**
+     * 审核驳回原因
+     */
+    private String suggestionReject;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    private String ext1;
+
+    private String ext2;
+
+    private String ext3;
+
+    private static final long serialVersionUID = 1L;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
+    public Long getAgentId() {
+        return agentId;
+    }
+
+    public void setAgentId(Long agentId) {
+        this.agentId = agentId;
+    }
+
+    public Long getMerId() {
+        return merId;
+    }
+
+    public void setMerId(Long merId) {
+        this.merId = merId;
+    }
+
+    public String getMerNo() {
+        return merNo;
+    }
+
+    public void setMerNo(String merNo) {
+        this.merNo = merNo;
+    }
+
+    public Integer getPlatformType() {
+        return platformType;
+    }
+
+    public void setPlatformType(Integer platformType) {
+        this.platformType = platformType;
+    }
+
+    public String getPlatformNo() {
+        return platformNo;
+    }
+
+    public void setPlatformNo(String platformNo) {
+        this.platformNo = platformNo;
+    }
+
+    public Long getPlatformMarketId() {
+        return platformMarketId;
+    }
+
+    public void setPlatformMarketId(Long platformMarketId) {
+        this.platformMarketId = platformMarketId;
+    }
+
+    public Long getPlatformPkgId() {
+        return platformPkgId;
+    }
+
+    public void setPlatformPkgId(Long platformPkgId) {
+        this.platformPkgId = platformPkgId;
+    }
+
+    public Boolean getOpenUnionpay() {
+        return openUnionpay;
+    }
+
+    public void setOpenUnionpay(Boolean openUnionpay) {
+        this.openUnionpay = openUnionpay;
+    }
+
+    public String getUnionpayFeePaid() {
+        return unionpayFeePaid;
+    }
+
+    public void setUnionpayFeePaid(String unionpayFeePaid) {
+        this.unionpayFeePaid = unionpayFeePaid;
+    }
+
+    public Boolean getOpenAlipay() {
+        return openAlipay;
+    }
+
+    public void setOpenAlipay(Boolean openAlipay) {
+        this.openAlipay = openAlipay;
+    }
+
+    public Integer getAlipayFeePaid() {
+        return alipayFeePaid;
+    }
+
+    public void setAlipayFeePaid(Integer alipayFeePaid) {
+        this.alipayFeePaid = alipayFeePaid;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getSuggestionReject() {
+        return suggestionReject;
+    }
+
+    public void setSuggestionReject(String suggestionReject) {
+        this.suggestionReject = suggestionReject;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getExt1() {
+        return ext1;
+    }
+
+    public void setExt1(String ext1) {
+        this.ext1 = ext1;
+    }
+
+    public String getExt2() {
+        return ext2;
+    }
+
+    public void setExt2(String ext2) {
+        this.ext2 = ext2;
+    }
+
+    public String getExt3() {
+        return ext3;
+    }
+
+    public void setExt3(String ext3) {
+        this.ext3 = ext3;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        BsMerPlatformPeriod other = (BsMerPlatformPeriod) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getCompanyId() == null ? other.getCompanyId() == null : this.getCompanyId().equals(other.getCompanyId()))
+            && (this.getAgentId() == null ? other.getAgentId() == null : this.getAgentId().equals(other.getAgentId()))
+            && (this.getMerId() == null ? other.getMerId() == null : this.getMerId().equals(other.getMerId()))
+            && (this.getMerNo() == null ? other.getMerNo() == null : this.getMerNo().equals(other.getMerNo()))
+            && (this.getPlatformType() == null ? other.getPlatformType() == null : this.getPlatformType().equals(other.getPlatformType()))
+            && (this.getPlatformNo() == null ? other.getPlatformNo() == null : this.getPlatformNo().equals(other.getPlatformNo()))
+            && (this.getPlatformMarketId() == null ? other.getPlatformMarketId() == null : this.getPlatformMarketId().equals(other.getPlatformMarketId()))
+            && (this.getPlatformPkgId() == null ? other.getPlatformPkgId() == null : this.getPlatformPkgId().equals(other.getPlatformPkgId()))
+            && (this.getOpenUnionpay() == null ? other.getOpenUnionpay() == null : this.getOpenUnionpay().equals(other.getOpenUnionpay()))
+            && (this.getUnionpayFeePaid() == null ? other.getUnionpayFeePaid() == null : this.getUnionpayFeePaid().equals(other.getUnionpayFeePaid()))
+            && (this.getOpenAlipay() == null ? other.getOpenAlipay() == null : this.getOpenAlipay().equals(other.getOpenAlipay()))
+            && (this.getAlipayFeePaid() == null ? other.getAlipayFeePaid() == null : this.getAlipayFeePaid().equals(other.getAlipayFeePaid()))
+            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
+            && (this.getSuggestionReject() == null ? other.getSuggestionReject() == null : this.getSuggestionReject().equals(other.getSuggestionReject()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
+            && (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
+            && (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
+            && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getCompanyId() == null) ? 0 : getCompanyId().hashCode());
+        result = prime * result + ((getAgentId() == null) ? 0 : getAgentId().hashCode());
+        result = prime * result + ((getMerId() == null) ? 0 : getMerId().hashCode());
+        result = prime * result + ((getMerNo() == null) ? 0 : getMerNo().hashCode());
+        result = prime * result + ((getPlatformType() == null) ? 0 : getPlatformType().hashCode());
+        result = prime * result + ((getPlatformNo() == null) ? 0 : getPlatformNo().hashCode());
+        result = prime * result + ((getPlatformMarketId() == null) ? 0 : getPlatformMarketId().hashCode());
+        result = prime * result + ((getPlatformPkgId() == null) ? 0 : getPlatformPkgId().hashCode());
+        result = prime * result + ((getOpenUnionpay() == null) ? 0 : getOpenUnionpay().hashCode());
+        result = prime * result + ((getUnionpayFeePaid() == null) ? 0 : getUnionpayFeePaid().hashCode());
+        result = prime * result + ((getOpenAlipay() == null) ? 0 : getOpenAlipay().hashCode());
+        result = prime * result + ((getAlipayFeePaid() == null) ? 0 : getAlipayFeePaid().hashCode());
+        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
+        result = prime * result + ((getSuggestionReject() == null) ? 0 : getSuggestionReject().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
+        result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
+        result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
+        result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", companyId=").append(companyId);
+        sb.append(", agentId=").append(agentId);
+        sb.append(", merId=").append(merId);
+        sb.append(", merNo=").append(merNo);
+        sb.append(", platformType=").append(platformType);
+        sb.append(", platformNo=").append(platformNo);
+        sb.append(", platformMarketId=").append(platformMarketId);
+        sb.append(", platformPkgId=").append(platformPkgId);
+        sb.append(", openUnionpay=").append(openUnionpay);
+        sb.append(", unionpayFeePaid=").append(unionpayFeePaid);
+        sb.append(", openAlipay=").append(openAlipay);
+        sb.append(", alipayFeePaid=").append(alipayFeePaid);
+        sb.append(", status=").append(status);
+        sb.append(", suggestionReject=").append(suggestionReject);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", ext1=").append(ext1);
+        sb.append(", ext2=").append(ext2);
+        sb.append(", ext3=").append(ext3);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodExample.java b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodExample.java
new file mode 100644
index 0000000..fa9786c
--- /dev/null
+++ b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodExample.java
@@ -0,0 +1,1493 @@
+package com.hfkj.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class BsMerPlatformPeriodExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    private Integer limit;
+
+    private Long offset;
+
+    public BsMerPlatformPeriodExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    public void setLimit(Integer limit) {
+        this.limit = limit;
+    }
+
+    public Integer getLimit() {
+        return limit;
+    }
+
+    public void setOffset(Long offset) {
+        this.offset = offset;
+    }
+
+    public Long getOffset() {
+        return offset;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdIsNull() {
+            addCriterion("company_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdIsNotNull() {
+            addCriterion("company_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdEqualTo(Long value) {
+            addCriterion("company_id =", value, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdNotEqualTo(Long value) {
+            addCriterion("company_id <>", value, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdGreaterThan(Long value) {
+            addCriterion("company_id >", value, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("company_id >=", value, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdLessThan(Long value) {
+            addCriterion("company_id <", value, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdLessThanOrEqualTo(Long value) {
+            addCriterion("company_id <=", value, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdIn(List<Long> values) {
+            addCriterion("company_id in", values, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdNotIn(List<Long> values) {
+            addCriterion("company_id not in", values, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdBetween(Long value1, Long value2) {
+            addCriterion("company_id between", value1, value2, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIdNotBetween(Long value1, Long value2) {
+            addCriterion("company_id not between", value1, value2, "companyId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdIsNull() {
+            addCriterion("agent_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdIsNotNull() {
+            addCriterion("agent_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdEqualTo(Long value) {
+            addCriterion("agent_id =", value, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdNotEqualTo(Long value) {
+            addCriterion("agent_id <>", value, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdGreaterThan(Long value) {
+            addCriterion("agent_id >", value, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("agent_id >=", value, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdLessThan(Long value) {
+            addCriterion("agent_id <", value, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdLessThanOrEqualTo(Long value) {
+            addCriterion("agent_id <=", value, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdIn(List<Long> values) {
+            addCriterion("agent_id in", values, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdNotIn(List<Long> values) {
+            addCriterion("agent_id not in", values, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdBetween(Long value1, Long value2) {
+            addCriterion("agent_id between", value1, value2, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andAgentIdNotBetween(Long value1, Long value2) {
+            addCriterion("agent_id not between", value1, value2, "agentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdIsNull() {
+            addCriterion("mer_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdIsNotNull() {
+            addCriterion("mer_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdEqualTo(Long value) {
+            addCriterion("mer_id =", value, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdNotEqualTo(Long value) {
+            addCriterion("mer_id <>", value, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdGreaterThan(Long value) {
+            addCriterion("mer_id >", value, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("mer_id >=", value, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdLessThan(Long value) {
+            addCriterion("mer_id <", value, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdLessThanOrEqualTo(Long value) {
+            addCriterion("mer_id <=", value, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdIn(List<Long> values) {
+            addCriterion("mer_id in", values, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdNotIn(List<Long> values) {
+            addCriterion("mer_id not in", values, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdBetween(Long value1, Long value2) {
+            addCriterion("mer_id between", value1, value2, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerIdNotBetween(Long value1, Long value2) {
+            addCriterion("mer_id not between", value1, value2, "merId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoIsNull() {
+            addCriterion("mer_no is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoIsNotNull() {
+            addCriterion("mer_no is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoEqualTo(String value) {
+            addCriterion("mer_no =", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoNotEqualTo(String value) {
+            addCriterion("mer_no <>", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoGreaterThan(String value) {
+            addCriterion("mer_no >", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoGreaterThanOrEqualTo(String value) {
+            addCriterion("mer_no >=", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoLessThan(String value) {
+            addCriterion("mer_no <", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoLessThanOrEqualTo(String value) {
+            addCriterion("mer_no <=", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoLike(String value) {
+            addCriterion("mer_no like", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoNotLike(String value) {
+            addCriterion("mer_no not like", value, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoIn(List<String> values) {
+            addCriterion("mer_no in", values, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoNotIn(List<String> values) {
+            addCriterion("mer_no not in", values, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoBetween(String value1, String value2) {
+            addCriterion("mer_no between", value1, value2, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andMerNoNotBetween(String value1, String value2) {
+            addCriterion("mer_no not between", value1, value2, "merNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeIsNull() {
+            addCriterion("platform_type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeIsNotNull() {
+            addCriterion("platform_type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeEqualTo(Integer value) {
+            addCriterion("platform_type =", value, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeNotEqualTo(Integer value) {
+            addCriterion("platform_type <>", value, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeGreaterThan(Integer value) {
+            addCriterion("platform_type >", value, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("platform_type >=", value, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeLessThan(Integer value) {
+            addCriterion("platform_type <", value, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeLessThanOrEqualTo(Integer value) {
+            addCriterion("platform_type <=", value, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeIn(List<Integer> values) {
+            addCriterion("platform_type in", values, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeNotIn(List<Integer> values) {
+            addCriterion("platform_type not in", values, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeBetween(Integer value1, Integer value2) {
+            addCriterion("platform_type between", value1, value2, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformTypeNotBetween(Integer value1, Integer value2) {
+            addCriterion("platform_type not between", value1, value2, "platformType");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoIsNull() {
+            addCriterion("platform_no is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoIsNotNull() {
+            addCriterion("platform_no is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoEqualTo(String value) {
+            addCriterion("platform_no =", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoNotEqualTo(String value) {
+            addCriterion("platform_no <>", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoGreaterThan(String value) {
+            addCriterion("platform_no >", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoGreaterThanOrEqualTo(String value) {
+            addCriterion("platform_no >=", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoLessThan(String value) {
+            addCriterion("platform_no <", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoLessThanOrEqualTo(String value) {
+            addCriterion("platform_no <=", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoLike(String value) {
+            addCriterion("platform_no like", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoNotLike(String value) {
+            addCriterion("platform_no not like", value, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoIn(List<String> values) {
+            addCriterion("platform_no in", values, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoNotIn(List<String> values) {
+            addCriterion("platform_no not in", values, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoBetween(String value1, String value2) {
+            addCriterion("platform_no between", value1, value2, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformNoNotBetween(String value1, String value2) {
+            addCriterion("platform_no not between", value1, value2, "platformNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdIsNull() {
+            addCriterion("platform_market_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdIsNotNull() {
+            addCriterion("platform_market_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdEqualTo(Long value) {
+            addCriterion("platform_market_id =", value, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdNotEqualTo(Long value) {
+            addCriterion("platform_market_id <>", value, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdGreaterThan(Long value) {
+            addCriterion("platform_market_id >", value, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("platform_market_id >=", value, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdLessThan(Long value) {
+            addCriterion("platform_market_id <", value, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdLessThanOrEqualTo(Long value) {
+            addCriterion("platform_market_id <=", value, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdIn(List<Long> values) {
+            addCriterion("platform_market_id in", values, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdNotIn(List<Long> values) {
+            addCriterion("platform_market_id not in", values, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdBetween(Long value1, Long value2) {
+            addCriterion("platform_market_id between", value1, value2, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformMarketIdNotBetween(Long value1, Long value2) {
+            addCriterion("platform_market_id not between", value1, value2, "platformMarketId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdIsNull() {
+            addCriterion("platform_pkg_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdIsNotNull() {
+            addCriterion("platform_pkg_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdEqualTo(Long value) {
+            addCriterion("platform_pkg_id =", value, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdNotEqualTo(Long value) {
+            addCriterion("platform_pkg_id <>", value, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdGreaterThan(Long value) {
+            addCriterion("platform_pkg_id >", value, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("platform_pkg_id >=", value, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdLessThan(Long value) {
+            addCriterion("platform_pkg_id <", value, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdLessThanOrEqualTo(Long value) {
+            addCriterion("platform_pkg_id <=", value, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdIn(List<Long> values) {
+            addCriterion("platform_pkg_id in", values, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdNotIn(List<Long> values) {
+            addCriterion("platform_pkg_id not in", values, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdBetween(Long value1, Long value2) {
+            addCriterion("platform_pkg_id between", value1, value2, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPkgIdNotBetween(Long value1, Long value2) {
+            addCriterion("platform_pkg_id not between", value1, value2, "platformPkgId");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayIsNull() {
+            addCriterion("open_unionpay is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayIsNotNull() {
+            addCriterion("open_unionpay is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayEqualTo(Boolean value) {
+            addCriterion("open_unionpay =", value, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayNotEqualTo(Boolean value) {
+            addCriterion("open_unionpay <>", value, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayGreaterThan(Boolean value) {
+            addCriterion("open_unionpay >", value, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayGreaterThanOrEqualTo(Boolean value) {
+            addCriterion("open_unionpay >=", value, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayLessThan(Boolean value) {
+            addCriterion("open_unionpay <", value, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayLessThanOrEqualTo(Boolean value) {
+            addCriterion("open_unionpay <=", value, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayIn(List<Boolean> values) {
+            addCriterion("open_unionpay in", values, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayNotIn(List<Boolean> values) {
+            addCriterion("open_unionpay not in", values, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayBetween(Boolean value1, Boolean value2) {
+            addCriterion("open_unionpay between", value1, value2, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenUnionpayNotBetween(Boolean value1, Boolean value2) {
+            addCriterion("open_unionpay not between", value1, value2, "openUnionpay");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidIsNull() {
+            addCriterion("unionpay_fee_paid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidIsNotNull() {
+            addCriterion("unionpay_fee_paid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidEqualTo(String value) {
+            addCriterion("unionpay_fee_paid =", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidNotEqualTo(String value) {
+            addCriterion("unionpay_fee_paid <>", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidGreaterThan(String value) {
+            addCriterion("unionpay_fee_paid >", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidGreaterThanOrEqualTo(String value) {
+            addCriterion("unionpay_fee_paid >=", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidLessThan(String value) {
+            addCriterion("unionpay_fee_paid <", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidLessThanOrEqualTo(String value) {
+            addCriterion("unionpay_fee_paid <=", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidLike(String value) {
+            addCriterion("unionpay_fee_paid like", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidNotLike(String value) {
+            addCriterion("unionpay_fee_paid not like", value, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidIn(List<String> values) {
+            addCriterion("unionpay_fee_paid in", values, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidNotIn(List<String> values) {
+            addCriterion("unionpay_fee_paid not in", values, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidBetween(String value1, String value2) {
+            addCriterion("unionpay_fee_paid between", value1, value2, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUnionpayFeePaidNotBetween(String value1, String value2) {
+            addCriterion("unionpay_fee_paid not between", value1, value2, "unionpayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayIsNull() {
+            addCriterion("open_alipay is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayIsNotNull() {
+            addCriterion("open_alipay is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayEqualTo(Boolean value) {
+            addCriterion("open_alipay =", value, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayNotEqualTo(Boolean value) {
+            addCriterion("open_alipay <>", value, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayGreaterThan(Boolean value) {
+            addCriterion("open_alipay >", value, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayGreaterThanOrEqualTo(Boolean value) {
+            addCriterion("open_alipay >=", value, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayLessThan(Boolean value) {
+            addCriterion("open_alipay <", value, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayLessThanOrEqualTo(Boolean value) {
+            addCriterion("open_alipay <=", value, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayIn(List<Boolean> values) {
+            addCriterion("open_alipay in", values, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayNotIn(List<Boolean> values) {
+            addCriterion("open_alipay not in", values, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayBetween(Boolean value1, Boolean value2) {
+            addCriterion("open_alipay between", value1, value2, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andOpenAlipayNotBetween(Boolean value1, Boolean value2) {
+            addCriterion("open_alipay not between", value1, value2, "openAlipay");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidIsNull() {
+            addCriterion("alipay_fee_paid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidIsNotNull() {
+            addCriterion("alipay_fee_paid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidEqualTo(Integer value) {
+            addCriterion("alipay_fee_paid =", value, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidNotEqualTo(Integer value) {
+            addCriterion("alipay_fee_paid <>", value, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidGreaterThan(Integer value) {
+            addCriterion("alipay_fee_paid >", value, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidGreaterThanOrEqualTo(Integer value) {
+            addCriterion("alipay_fee_paid >=", value, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidLessThan(Integer value) {
+            addCriterion("alipay_fee_paid <", value, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidLessThanOrEqualTo(Integer value) {
+            addCriterion("alipay_fee_paid <=", value, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidIn(List<Integer> values) {
+            addCriterion("alipay_fee_paid in", values, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidNotIn(List<Integer> values) {
+            addCriterion("alipay_fee_paid not in", values, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidBetween(Integer value1, Integer value2) {
+            addCriterion("alipay_fee_paid between", value1, value2, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andAlipayFeePaidNotBetween(Integer value1, Integer value2) {
+            addCriterion("alipay_fee_paid not between", value1, value2, "alipayFeePaid");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNull() {
+            addCriterion("`status` is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNotNull() {
+            addCriterion("`status` is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusEqualTo(Integer value) {
+            addCriterion("`status` =", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotEqualTo(Integer value) {
+            addCriterion("`status` <>", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThan(Integer value) {
+            addCriterion("`status` >", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("`status` >=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThan(Integer value) {
+            addCriterion("`status` <", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("`status` <=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIn(List<Integer> values) {
+            addCriterion("`status` in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotIn(List<Integer> values) {
+            addCriterion("`status` not in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusBetween(Integer value1, Integer value2) {
+            addCriterion("`status` between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("`status` not between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectIsNull() {
+            addCriterion("suggestion_reject is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectIsNotNull() {
+            addCriterion("suggestion_reject is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectEqualTo(String value) {
+            addCriterion("suggestion_reject =", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectNotEqualTo(String value) {
+            addCriterion("suggestion_reject <>", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectGreaterThan(String value) {
+            addCriterion("suggestion_reject >", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectGreaterThanOrEqualTo(String value) {
+            addCriterion("suggestion_reject >=", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectLessThan(String value) {
+            addCriterion("suggestion_reject <", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectLessThanOrEqualTo(String value) {
+            addCriterion("suggestion_reject <=", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectLike(String value) {
+            addCriterion("suggestion_reject like", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectNotLike(String value) {
+            addCriterion("suggestion_reject not like", value, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectIn(List<String> values) {
+            addCriterion("suggestion_reject in", values, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectNotIn(List<String> values) {
+            addCriterion("suggestion_reject not in", values, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectBetween(String value1, String value2) {
+            addCriterion("suggestion_reject between", value1, value2, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andSuggestionRejectNotBetween(String value1, String value2) {
+            addCriterion("suggestion_reject not between", value1, value2, "suggestionReject");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNull() {
+            addCriterion("create_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNotNull() {
+            addCriterion("create_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeEqualTo(Date value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(Date value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(Date value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(Date value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<Date> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<Date> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(Date value1, Date value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1IsNull() {
+            addCriterion("ext_1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1IsNotNull() {
+            addCriterion("ext_1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1EqualTo(String value) {
+            addCriterion("ext_1 =", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotEqualTo(String value) {
+            addCriterion("ext_1 <>", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1GreaterThan(String value) {
+            addCriterion("ext_1 >", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1GreaterThanOrEqualTo(String value) {
+            addCriterion("ext_1 >=", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1LessThan(String value) {
+            addCriterion("ext_1 <", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1LessThanOrEqualTo(String value) {
+            addCriterion("ext_1 <=", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1Like(String value) {
+            addCriterion("ext_1 like", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotLike(String value) {
+            addCriterion("ext_1 not like", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1In(List<String> values) {
+            addCriterion("ext_1 in", values, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotIn(List<String> values) {
+            addCriterion("ext_1 not in", values, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1Between(String value1, String value2) {
+            addCriterion("ext_1 between", value1, value2, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotBetween(String value1, String value2) {
+            addCriterion("ext_1 not between", value1, value2, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2IsNull() {
+            addCriterion("ext_2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2IsNotNull() {
+            addCriterion("ext_2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2EqualTo(String value) {
+            addCriterion("ext_2 =", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotEqualTo(String value) {
+            addCriterion("ext_2 <>", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2GreaterThan(String value) {
+            addCriterion("ext_2 >", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2GreaterThanOrEqualTo(String value) {
+            addCriterion("ext_2 >=", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2LessThan(String value) {
+            addCriterion("ext_2 <", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2LessThanOrEqualTo(String value) {
+            addCriterion("ext_2 <=", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2Like(String value) {
+            addCriterion("ext_2 like", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotLike(String value) {
+            addCriterion("ext_2 not like", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2In(List<String> values) {
+            addCriterion("ext_2 in", values, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotIn(List<String> values) {
+            addCriterion("ext_2 not in", values, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2Between(String value1, String value2) {
+            addCriterion("ext_2 between", value1, value2, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotBetween(String value1, String value2) {
+            addCriterion("ext_2 not between", value1, value2, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3IsNull() {
+            addCriterion("ext_3 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3IsNotNull() {
+            addCriterion("ext_3 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3EqualTo(String value) {
+            addCriterion("ext_3 =", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotEqualTo(String value) {
+            addCriterion("ext_3 <>", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3GreaterThan(String value) {
+            addCriterion("ext_3 >", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3GreaterThanOrEqualTo(String value) {
+            addCriterion("ext_3 >=", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3LessThan(String value) {
+            addCriterion("ext_3 <", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3LessThanOrEqualTo(String value) {
+            addCriterion("ext_3 <=", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3Like(String value) {
+            addCriterion("ext_3 like", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotLike(String value) {
+            addCriterion("ext_3 not like", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3In(List<String> values) {
+            addCriterion("ext_3 in", values, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotIn(List<String> values) {
+            addCriterion("ext_3 not in", values, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3Between(String value1, String value2) {
+            addCriterion("ext_3 between", value1, value2, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotBetween(String value1, String value2) {
+            addCriterion("ext_3 not between", value1, value2, "ext3");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRate.java b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRate.java
new file mode 100644
index 0000000..fa9b2f6
--- /dev/null
+++ b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRate.java
@@ -0,0 +1,185 @@
+package com.hfkj.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * bs_mer_platform_period_rate
+ * @author 
+ */
+/**
+ * 
+ * 代码由工具生成
+ * 
+ **/
+public class BsMerPlatformPeriodRate implements Serializable {
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 分期平台id
+     */
+    private Long platformPeriodId;
+
+    /**
+     * 分期数
+     */
+    private Integer periodNum;
+
+    /**
+     * 费率
+     */
+    private BigDecimal rate;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    private String ext1;
+
+    private String ext2;
+
+    private String ext3;
+
+    private static final long serialVersionUID = 1L;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getPlatformPeriodId() {
+        return platformPeriodId;
+    }
+
+    public void setPlatformPeriodId(Long platformPeriodId) {
+        this.platformPeriodId = platformPeriodId;
+    }
+
+    public Integer getPeriodNum() {
+        return periodNum;
+    }
+
+    public void setPeriodNum(Integer periodNum) {
+        this.periodNum = periodNum;
+    }
+
+    public BigDecimal getRate() {
+        return rate;
+    }
+
+    public void setRate(BigDecimal rate) {
+        this.rate = rate;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getExt1() {
+        return ext1;
+    }
+
+    public void setExt1(String ext1) {
+        this.ext1 = ext1;
+    }
+
+    public String getExt2() {
+        return ext2;
+    }
+
+    public void setExt2(String ext2) {
+        this.ext2 = ext2;
+    }
+
+    public String getExt3() {
+        return ext3;
+    }
+
+    public void setExt3(String ext3) {
+        this.ext3 = ext3;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        BsMerPlatformPeriodRate other = (BsMerPlatformPeriodRate) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getPlatformPeriodId() == null ? other.getPlatformPeriodId() == null : this.getPlatformPeriodId().equals(other.getPlatformPeriodId()))
+            && (this.getPeriodNum() == null ? other.getPeriodNum() == null : this.getPeriodNum().equals(other.getPeriodNum()))
+            && (this.getRate() == null ? other.getRate() == null : this.getRate().equals(other.getRate()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
+            && (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
+            && (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
+            && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getPlatformPeriodId() == null) ? 0 : getPlatformPeriodId().hashCode());
+        result = prime * result + ((getPeriodNum() == null) ? 0 : getPeriodNum().hashCode());
+        result = prime * result + ((getRate() == null) ? 0 : getRate().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
+        result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
+        result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
+        result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", platformPeriodId=").append(platformPeriodId);
+        sb.append(", periodNum=").append(periodNum);
+        sb.append(", rate=").append(rate);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", ext1=").append(ext1);
+        sb.append(", ext2=").append(ext2);
+        sb.append(", ext3=").append(ext3);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRateExample.java b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRateExample.java
new file mode 100644
index 0000000..6341bb6
--- /dev/null
+++ b/service/src/main/java/com/hfkj/entity/BsMerPlatformPeriodRateExample.java
@@ -0,0 +1,794 @@
+package com.hfkj.entity;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class BsMerPlatformPeriodRateExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    private Integer limit;
+
+    private Long offset;
+
+    public BsMerPlatformPeriodRateExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    public void setLimit(Integer limit) {
+        this.limit = limit;
+    }
+
+    public Integer getLimit() {
+        return limit;
+    }
+
+    public void setOffset(Long offset) {
+        this.offset = offset;
+    }
+
+    public Long getOffset() {
+        return offset;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdIsNull() {
+            addCriterion("platform_period_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdIsNotNull() {
+            addCriterion("platform_period_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdEqualTo(Long value) {
+            addCriterion("platform_period_id =", value, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdNotEqualTo(Long value) {
+            addCriterion("platform_period_id <>", value, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdGreaterThan(Long value) {
+            addCriterion("platform_period_id >", value, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("platform_period_id >=", value, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdLessThan(Long value) {
+            addCriterion("platform_period_id <", value, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdLessThanOrEqualTo(Long value) {
+            addCriterion("platform_period_id <=", value, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdIn(List<Long> values) {
+            addCriterion("platform_period_id in", values, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdNotIn(List<Long> values) {
+            addCriterion("platform_period_id not in", values, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdBetween(Long value1, Long value2) {
+            addCriterion("platform_period_id between", value1, value2, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlatformPeriodIdNotBetween(Long value1, Long value2) {
+            addCriterion("platform_period_id not between", value1, value2, "platformPeriodId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumIsNull() {
+            addCriterion("period_num is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumIsNotNull() {
+            addCriterion("period_num is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumEqualTo(Integer value) {
+            addCriterion("period_num =", value, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumNotEqualTo(Integer value) {
+            addCriterion("period_num <>", value, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumGreaterThan(Integer value) {
+            addCriterion("period_num >", value, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumGreaterThanOrEqualTo(Integer value) {
+            addCriterion("period_num >=", value, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumLessThan(Integer value) {
+            addCriterion("period_num <", value, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumLessThanOrEqualTo(Integer value) {
+            addCriterion("period_num <=", value, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumIn(List<Integer> values) {
+            addCriterion("period_num in", values, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumNotIn(List<Integer> values) {
+            addCriterion("period_num not in", values, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumBetween(Integer value1, Integer value2) {
+            addCriterion("period_num between", value1, value2, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andPeriodNumNotBetween(Integer value1, Integer value2) {
+            addCriterion("period_num not between", value1, value2, "periodNum");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateIsNull() {
+            addCriterion("rate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateIsNotNull() {
+            addCriterion("rate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateEqualTo(BigDecimal value) {
+            addCriterion("rate =", value, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateNotEqualTo(BigDecimal value) {
+            addCriterion("rate <>", value, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateGreaterThan(BigDecimal value) {
+            addCriterion("rate >", value, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateGreaterThanOrEqualTo(BigDecimal value) {
+            addCriterion("rate >=", value, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateLessThan(BigDecimal value) {
+            addCriterion("rate <", value, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateLessThanOrEqualTo(BigDecimal value) {
+            addCriterion("rate <=", value, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateIn(List<BigDecimal> values) {
+            addCriterion("rate in", values, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateNotIn(List<BigDecimal> values) {
+            addCriterion("rate not in", values, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateBetween(BigDecimal value1, BigDecimal value2) {
+            addCriterion("rate between", value1, value2, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRateNotBetween(BigDecimal value1, BigDecimal value2) {
+            addCriterion("rate not between", value1, value2, "rate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNull() {
+            addCriterion("create_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNotNull() {
+            addCriterion("create_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeEqualTo(Date value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(Date value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(Date value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(Date value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<Date> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<Date> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(Date value1, Date value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1IsNull() {
+            addCriterion("ext_1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1IsNotNull() {
+            addCriterion("ext_1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1EqualTo(String value) {
+            addCriterion("ext_1 =", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotEqualTo(String value) {
+            addCriterion("ext_1 <>", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1GreaterThan(String value) {
+            addCriterion("ext_1 >", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1GreaterThanOrEqualTo(String value) {
+            addCriterion("ext_1 >=", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1LessThan(String value) {
+            addCriterion("ext_1 <", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1LessThanOrEqualTo(String value) {
+            addCriterion("ext_1 <=", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1Like(String value) {
+            addCriterion("ext_1 like", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotLike(String value) {
+            addCriterion("ext_1 not like", value, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1In(List<String> values) {
+            addCriterion("ext_1 in", values, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotIn(List<String> values) {
+            addCriterion("ext_1 not in", values, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1Between(String value1, String value2) {
+            addCriterion("ext_1 between", value1, value2, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt1NotBetween(String value1, String value2) {
+            addCriterion("ext_1 not between", value1, value2, "ext1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2IsNull() {
+            addCriterion("ext_2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2IsNotNull() {
+            addCriterion("ext_2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2EqualTo(String value) {
+            addCriterion("ext_2 =", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotEqualTo(String value) {
+            addCriterion("ext_2 <>", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2GreaterThan(String value) {
+            addCriterion("ext_2 >", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2GreaterThanOrEqualTo(String value) {
+            addCriterion("ext_2 >=", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2LessThan(String value) {
+            addCriterion("ext_2 <", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2LessThanOrEqualTo(String value) {
+            addCriterion("ext_2 <=", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2Like(String value) {
+            addCriterion("ext_2 like", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotLike(String value) {
+            addCriterion("ext_2 not like", value, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2In(List<String> values) {
+            addCriterion("ext_2 in", values, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotIn(List<String> values) {
+            addCriterion("ext_2 not in", values, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2Between(String value1, String value2) {
+            addCriterion("ext_2 between", value1, value2, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt2NotBetween(String value1, String value2) {
+            addCriterion("ext_2 not between", value1, value2, "ext2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3IsNull() {
+            addCriterion("ext_3 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3IsNotNull() {
+            addCriterion("ext_3 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3EqualTo(String value) {
+            addCriterion("ext_3 =", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotEqualTo(String value) {
+            addCriterion("ext_3 <>", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3GreaterThan(String value) {
+            addCriterion("ext_3 >", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3GreaterThanOrEqualTo(String value) {
+            addCriterion("ext_3 >=", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3LessThan(String value) {
+            addCriterion("ext_3 <", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3LessThanOrEqualTo(String value) {
+            addCriterion("ext_3 <=", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3Like(String value) {
+            addCriterion("ext_3 like", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotLike(String value) {
+            addCriterion("ext_3 not like", value, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3In(List<String> values) {
+            addCriterion("ext_3 in", values, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotIn(List<String> values) {
+            addCriterion("ext_3 not in", values, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3Between(String value1, String value2) {
+            addCriterion("ext_3 between", value1, value2, "ext3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExt3NotBetween(String value1, String value2) {
+            addCriterion("ext_3 not between", value1, value2, "ext3");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}
\ No newline at end of file
diff --git a/service/src/main/java/com/hfkj/service/period/BsMerPlatformPeriodService.java b/service/src/main/java/com/hfkj/service/period/BsMerPlatformPeriodService.java
new file mode 100644
index 0000000..68d0d25
--- /dev/null
+++ b/service/src/main/java/com/hfkj/service/period/BsMerPlatformPeriodService.java
@@ -0,0 +1,34 @@
+package com.hfkj.service.period;
+
+import com.hfkj.entity.BsMerPlatformPeriod;
+import com.hfkj.sysenum.PlatformPeriodTypeEnum;
+
+/**
+ * @className: BsMerPlatformPeriodService
+ * @author: HuRui
+ * @date: 2024/1/6
+ **/
+public interface BsMerPlatformPeriodService {
+
+    /**
+     * 编辑数据
+     * @param period
+     */
+    void editData(BsMerPlatformPeriod period);
+
+    /**
+     * 申请开通分期
+     * @param merNo
+     * @param platformTypeEnum
+     */
+    void apply(String merNo, PlatformPeriodTypeEnum platformTypeEnum) throws Exception;
+
+    /**
+     * 根据商户查询
+     * @param merNo
+     * @return
+     */
+    BsMerPlatformPeriod getDetailByMer(String merNo, PlatformPeriodTypeEnum platformTypeEnum);
+
+
+}
diff --git a/service/src/main/java/com/hfkj/service/period/impl/BsMerPlatformPeriodServiceImpl.java b/service/src/main/java/com/hfkj/service/period/impl/BsMerPlatformPeriodServiceImpl.java
new file mode 100644
index 0000000..f90e66c
--- /dev/null
+++ b/service/src/main/java/com/hfkj/service/period/impl/BsMerPlatformPeriodServiceImpl.java
@@ -0,0 +1,82 @@
+package com.hfkj.service.period.impl;
+
+import com.hfkj.channel.llg.service.LLGMerService;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.utils.RedisUtil;
+import com.hfkj.dao.BsMerPlatformPeriodMapper;
+import com.hfkj.entity.BsMer;
+import com.hfkj.entity.BsMerPlatformPeriod;
+import com.hfkj.entity.BsMerPlatformPeriodExample;
+import com.hfkj.service.BsMerService;
+import com.hfkj.service.period.BsMerPlatformPeriodService;
+import com.hfkj.sysenum.PlatformPeriodStatusEnum;
+import com.hfkj.sysenum.PlatformPeriodTypeEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @className: BsMerPlatformPeriodServiceImpl
+ * @author: HuRui
+ * @date: 2024/1/6
+ **/
+@Service("merPlatformPeriodService")
+public class BsMerPlatformPeriodServiceImpl implements BsMerPlatformPeriodService {
+
+    private final static String REDIS_FILE_KEY = "PLATFORM_PERIOD:";
+    @Resource
+    private BsMerPlatformPeriodMapper merPlatformPeriodMapper;
+    @Resource
+    private LLGMerService llgMerService;
+    @Resource
+    private RedisUtil redisUtil;
+    @Resource
+    private BsMerService merService;
+
+    @Override
+    public void editData(BsMerPlatformPeriod period) {
+        if (period.getId() == null) {
+            merPlatformPeriodMapper.insert(period);
+        } else {
+            merPlatformPeriodMapper.updateByPrimaryKey(period);
+        }
+        // key组成 商户号_平台类型
+        redisUtil.set(REDIS_FILE_KEY + period.getMerNo() + "_" + period.getPlatformType(), period);
+    }
+
+    @Override
+    public void apply(String merNo, PlatformPeriodTypeEnum platformTypeEnum) throws Exception {
+        // 查询商户
+        BsMer mer = merService.getMer(merNo);
+        if (mer == null) {
+            throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+        }
+        if (platformTypeEnum.getNumber().equals(PlatformPeriodTypeEnum.type1.getNumber())) {
+            llgMerService.merApply(mer.getId());
+        }
+        throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的渠道");
+    }
+
+    @Override
+    public BsMerPlatformPeriod getDetailByMer(String merNo, PlatformPeriodTypeEnum platformTypeEnum) {
+        Object obj = redisUtil.get(REDIS_FILE_KEY + merNo + "_" + platformTypeEnum.getNumber());
+        if (obj != null) {
+            return (BsMerPlatformPeriod) obj;
+        }
+        BsMerPlatformPeriodExample example = new BsMerPlatformPeriodExample();
+        example.createCriteria()
+                .andMerNoEqualTo(merNo)
+                .andPlatformTypeEqualTo(platformTypeEnum.getNumber())
+                .andStatusEqualTo(PlatformPeriodStatusEnum.status1.getNumber());
+        List<BsMerPlatformPeriod> list = merPlatformPeriodMapper.selectByExample(example);
+        if (!list.isEmpty()) {
+            BsMerPlatformPeriod period = list.get(0);
+            redisUtil.set(REDIS_FILE_KEY + merNo + "_" + platformTypeEnum.getNumber(), period);
+            return period;
+        }
+        return null;
+    }
+}
diff --git a/service/src/main/java/com/hfkj/sysenum/PlatformPeriodStatusEnum.java b/service/src/main/java/com/hfkj/sysenum/PlatformPeriodStatusEnum.java
new file mode 100644
index 0000000..57f4d22
--- /dev/null
+++ b/service/src/main/java/com/hfkj/sysenum/PlatformPeriodStatusEnum.java
@@ -0,0 +1,49 @@
+package com.hfkj.sysenum;
+
+import java.util.Objects;
+
+/**
+ * 分期平台状态
+ */
+public enum PlatformPeriodStatusEnum {
+    status0(0, "不可用"),
+    status1(1, "可用"),
+    status2(2, "审核中"),
+    status3(3, "审核驳回"),
+    ;
+
+
+    private Integer number;
+
+    private String name;
+
+    PlatformPeriodStatusEnum(int number, String name) {
+        this.number = number;
+        this.name = name;
+    }
+
+    public static PlatformPeriodStatusEnum getDataByNumber(Integer number) {
+        for (PlatformPeriodStatusEnum ele : values()) {
+            if (Objects.equals(number,ele.getNumber())) {
+                return ele;
+            }
+        }
+        return null;
+    }
+
+    public Integer getNumber() {
+        return number;
+    }
+
+    public void setNumber(Integer number) {
+        this.number = number;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}
diff --git a/service/src/main/java/com/hfkj/sysenum/PlatformPeriodTypeEnum.java b/service/src/main/java/com/hfkj/sysenum/PlatformPeriodTypeEnum.java
new file mode 100644
index 0000000..2d86701
--- /dev/null
+++ b/service/src/main/java/com/hfkj/sysenum/PlatformPeriodTypeEnum.java
@@ -0,0 +1,47 @@
+package com.hfkj.sysenum;
+
+import java.util.Objects;
+
+/**
+ * 分期平台类型
+ * @author hurui
+ */
+public enum PlatformPeriodTypeEnum {
+    type1(1, "零零购"),
+    ;
+
+
+    private Integer number;
+
+    private String name;
+
+    PlatformPeriodTypeEnum(int number, String name) {
+        this.number = number;
+        this.name = name;
+    }
+
+    public static PlatformPeriodTypeEnum getDataByNumber(Integer number) {
+        for (PlatformPeriodTypeEnum ele : values()) {
+            if (Objects.equals(number,ele.getNumber())) {
+                return ele;
+            }
+        }
+        return null;
+    }
+
+    public Integer getNumber() {
+        return number;
+    }
+
+    public void setNumber(Integer number) {
+        this.number = number;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}