admin
2019-09-11 032eddac4b4627f855905e8e846b0388483e3979
客户端参数/系统参数增加版本区分
12个文件已修改
400 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/config/SystemClientParamsAdminController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ConfigMapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/SystemClientParamsMapper.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/common/Config.java 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/system/SystemClientParams.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/ConfigMapper.xml 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/SystemClientParamsMapper.xml 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SystemClientParamsServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/config/ConfigService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java
@@ -2,7 +2,9 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
@@ -52,7 +54,22 @@
                pageIndex = 1;
            }
            List<AppVersionInfo> versionList = appVersionService.getAppVersionInfoListByPlatform("android");
            Map<Integer, String> androidMapName = new HashMap<>();
            for (AppVersionInfo version : versionList)
                androidMapName.put(version.getVersionCode(), version.getVersion());
            versionList = appVersionService.getAppVersionInfoListByPlatform("ios");
            Map<Integer, String> iosMapName = new HashMap<>();
            for (AppVersionInfo version : versionList)
                iosMapName.put(version.getVersionCode(), version.getVersion());
            List<Config> list = configService.listObjects(key, pageIndex);
            for (Config config : list) {
                config.setMinAndroidVersion(androidMapName.get(config.getMinAndroidVersionCode()));
                config.setMinIosVersion(iosMapName.get(config.getMinIosVersionCode()));
            }
            if (list == null || list.size() == 0) {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无更多数据"));
@@ -121,10 +138,9 @@
        }
    }
    /**
     * 版本号信息
     *
     * @param callback
     * @param out
     */
fanli/src/main/java/com/yeshi/fanli/controller/admin/config/SystemClientParamsAdminController.java
@@ -2,7 +2,9 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
@@ -12,7 +14,11 @@
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
@@ -24,13 +30,18 @@
@RequestMapping("admin/new/api/v1/clientParams")
public class SystemClientParamsAdminController {
            
    @Resource
    private SystemClientParamsService systemClientParamsService;
    
    @Resource
    private AppVersionService appVersionService;
    @Resource
    private BusinessSystemService businessSystemService;
    /**
     * 后端查询-新后台
     *
     * @param callback
     * @param pageIndex
     * @param pageSize
@@ -39,8 +50,8 @@
     * @param out
     */
    @RequestMapping(value="query")
    public void query(String callback, Integer pageIndex, Integer pageSize, String key,
            Long systemId, PrintWriter out) {
    public void query(String callback, Integer pageIndex, Integer pageSize, String key, Long systemId,
            PrintWriter out) {
        if (pageIndex == null || pageIndex < 1) {
            pageIndex = 1;
@@ -50,6 +61,18 @@
            pageSize = Constant.PAGE_SIZE;
        }
        List<AppVersionInfo> versionList = appVersionService.getAppVersionInfoListByPlatform("android");
        Map<Integer, String> androidMapName = new HashMap<>();
        for (AppVersionInfo version : versionList)
            androidMapName.put(version.getVersionCode(), version.getVersion());
        versionList = appVersionService.getAppVersionInfoListByPlatform("ios");
        Map<Integer, String> iosMapName = new HashMap<>();
        for (AppVersionInfo version : versionList)
            iosMapName.put(version.getVersionCode(), version.getVersion());
        BusinessSystem businessSystem = businessSystemService.getById(systemId);
        try {
            List<SystemClientParams> list = systemClientParamsService.listQuery((pageIndex - 1) * pageSize, pageSize, 
@@ -58,6 +81,13 @@
            if (list == null || list.size() == 0) {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
                return;
            }
            for (SystemClientParams params : list) {
                if (businessSystem.getPlatform() == 1)
                    params.setVersion(androidMapName.get(params.getMinVersion()));
                else
                    params.setVersion(iosMapName.get(params.getMinVersion()));
            }
            
            long count = systemClientParamsService.countQuery(key, systemId);
@@ -79,6 +109,7 @@
    
    /**
     * 新增
     *
     * @param callback
     * @param special
     * @param out
@@ -90,14 +121,15 @@
        String name = systemClientParams.getName();
        String value = systemClientParams.getValue();
        
        if (StringUtil.isNullOrEmpty(key) || StringUtil.isNullOrEmpty(name)
                || StringUtil.isNullOrEmpty(value) || StringUtil.isNullOrEmpty(idArray)) {
        if (StringUtil.isNullOrEmpty(key) || StringUtil.isNullOrEmpty(name) || StringUtil.isNullOrEmpty(value)
                || StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("名称、key、value、系统不能为空"));
            return;
        }
        
        Gson gson = new Gson();
        List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType());
        List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
        }.getType());
        if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("系统不能为空"));
            return;
@@ -117,6 +149,7 @@
    /**
     * 修改
     *
     * @param callback
     * @param special
     * @param out
@@ -128,8 +161,7 @@
        String name = systemClientParams.getName();
        String value = systemClientParams.getValue();
        
        if (StringUtil.isNullOrEmpty(key) || StringUtil.isNullOrEmpty(name)
                || StringUtil.isNullOrEmpty(value)) {
        if (StringUtil.isNullOrEmpty(key) || StringUtil.isNullOrEmpty(name) || StringUtil.isNullOrEmpty(value)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("名称、key、value不能为空"));
            return;
        }
@@ -155,9 +187,9 @@
        }
    }
    
    /**
     * 删除
     *
     * @param callback
     * @param idArray
     * @param out
@@ -172,7 +204,8 @@
            }
            Gson gson = new Gson();
            List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType());
            List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {
            }.getType());
            if (list == null || list.size() == 0) {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -724,7 +724,8 @@
        int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
        
        List<Special> list = specialService.listByPlaceKey("special_channel_activity",platformCode, Integer.parseInt(acceptData.getVersion()));
        List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode,
                Integer.parseInt(acceptData.getVersion()));
        
        long time = System.currentTimeMillis();
        // 删除尚未启用的过期的
@@ -733,6 +734,11 @@
            if (special.getState() == 1L) {
                list.remove(i--);
            } else {
                if (special.getStartTime() != null && special.getEndTime() != null)
                    special.setTimeTask(true);
                else
                    special.setTimeTask(false);
                if (special.isTimeTask()) {
                    if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
                        list.remove(i--);
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ConfigMapper.java
@@ -33,11 +33,14 @@
    long countSearchByName(@Param("key") String key);
    /**
     * 根据关键词获取
     * 根据关键词提取
     * 
     * @param key
     * @param minAndroidVersion
     * @param maxAndroidVersion
     * @return
     */
    List<Config> listByKey(String key);
    List<Config> listByKey(@Param("key") String key, @Param("minAndroidVersion") Integer minAndroidVersion,
            @Param("minIosVersion") Integer minIosVersion);
}
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/SystemClientParamsMapper.java
@@ -9,16 +9,10 @@
public interface SystemClientParamsMapper extends BaseMapper<SystemClientParams>{
    
    /**
     *  根据系统id查询
     * @param systemId
     * @return
     */
    List<SystemClientParams> listBySystemId(@Param("systemId") Long systemId);
    List<SystemClientParams> listBySystemIdAndMinVersion(@Param("systemId") Long systemId,
            @Param("minVersion") Integer version);
    
    SystemClientParams getSystemClientParamsBySystemAndKey(@Param("systemId") Long systemId, @Param("key") String key);
    
    List<SystemClientParams> listQuery( @Param("start") long start,  @Param("count") int count,
            @Param("systemId") Long systemId, @Param("key") String key);
fanli/src/main/java/com/yeshi/fanli/entity/common/Config.java
@@ -2,43 +2,75 @@
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
//系统总配�?
@Entity
@Table(name = "`yeshi_ec_config`")
@org.yeshi.utils.mybatis.Table("yeshi_ec_config")
import org.yeshi.utils.mybatis.Column;
import org.yeshi.utils.mybatis.Table;
@Table("yeshi_ec_config")
public class Config implements Serializable{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    @org.yeshi.utils.mybatis.Column(name="id")
    private Long id;
    @Column(name = "`key`", length = 32)
    @org.yeshi.utils.mybatis.Column(name="key")
    @Column(name = "key")
    private String key;
    @Column(name = "`value`", length = 4096)
    @org.yeshi.utils.mybatis.Column(name="value")
    @Column(name = "value")
    private String value;
    @Column(name = "`name`", length = 1024)
    @org.yeshi.utils.mybatis.Column(name="name")
    @Column(name = "name")
    private String name;
    @Column(name = "`beizhu`", length = 1024)
    @org.yeshi.utils.mybatis.Column(name="beizhu")
    @Column(name = "beizhu")
    private String beizhu;
    @Column(name = "`createtime`", length = 16)
    @org.yeshi.utils.mybatis.Column(name="createtime")
    @Column(name = "createtime")
    private String createtime;
    @Column(name = "min_android_version")
    private Integer minAndroidVersionCode;// android最小版本
    @Column(name = "min_ios_version")
    private Integer minIosVersionCode;// ios最小版本
    //后台展现
    private String minAndroidVersion;
    private String minIosVersion;
    public String getMinAndroidVersion() {
        return minAndroidVersion;
    }
    public void setMinAndroidVersion(String minAndroidVersion) {
        this.minAndroidVersion = minAndroidVersion;
    }
    public String getMinIosVersion() {
        return minIosVersion;
    }
    public void setMinIosVersion(String minIosVersion) {
        this.minIosVersion = minIosVersion;
    }
    public Integer getMinAndroidVersionCode() {
        return minAndroidVersionCode;
    }
    public void setMinAndroidVersionCode(Integer minAndroidVersionCode) {
        this.minAndroidVersionCode = minAndroidVersionCode;
    }
    public Integer getMinIosVersionCode() {
        return minIosVersionCode;
    }
    public void setMinIosVersionCode(Integer minIosVersionCode) {
        this.minIosVersionCode = minIosVersionCode;
    }
    
    public Long getId() {
        return id;
fanli/src/main/java/com/yeshi/fanli/entity/system/SystemClientParams.java
@@ -20,7 +20,6 @@
     */
    private static final long serialVersionUID = 1L;
    
    @Column(name = "id")
    private Long id;
    
@@ -43,6 +42,27 @@
    @Column(name = "updatetime")
    private Long updatetime;
    
    @Column(name = "min_version")
    private Integer minVersion;
    private String version;
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
    public Integer getMinVersion() {
        return minVersion;
    }
    public void setMinVersion(Integer minVersion) {
        this.minVersion = minVersion;
    }
    public SystemClientParams() {
    }
fanli/src/main/java/com/yeshi/fanli/mapping/ConfigMapper.xml
@@ -9,52 +9,53 @@
        <result column="`name`" property="name" jdbcType="VARCHAR" />
        <result column="beizhu" property="beizhu" jdbcType="VARCHAR" />
        <result column="createtime" property="createtime" jdbcType="VARCHAR" />
        <result column="min_android_version" property="minAndroidVersionCode"
            jdbcType="INTEGER" />
        <result column="min_ios_version" property="minIosVersionCode"
            jdbcType="INTEGER" />
    </resultMap>
    <sql id="Base_Column_List">`id`,`key`,`value`,`name`,beizhu,createtime</sql>
    <sql id="Base_Column_List">`id`,`key`,`value`,`name`,beizhu,createtime,min_android_version,min_ios_version
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_config where id = #{id,jdbcType=BIGINT}
    </select>
    <select id="selectByKey" resultMap="BaseResultMap"
        parameterType="java.lang.String">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_config where `key` = #{0} limit 1
    </select>
    <select id="listAll" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_config
    </select>
    <select id="listSearchByName" resultMap="BaseResultMap"
        parameterType="java.lang.String">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_config where `name` like '%${key}%' limit #{start},#{count}
        from yeshi_ec_config where `name` like '%${key}%' limit
        #{start},#{count}
    </select>
    <select id="countSearchByName" resultType="java.lang.Long"
        parameterType="java.lang.String">
        select
        count(*)
        from yeshi_ec_config where `name` like
        '%${key}%'
    </select>
        parameterType="java.lang.String">select count(*) from yeshi_ec_config where `name` like
        '%${key}%'</select>
    <select id="listByKey" resultMap="BaseResultMap" parameterType="java.lang.String">
    <select id="listByKey" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_config where `key`=#{0}
        from yeshi_ec_config where `key`=#{key}
        <if test="minAndroidVersion!=null">
            and #{minAndroidVersion} >= min_android_version
            order by min_android_version desc
        </if>
        <if test="minIosVersion!=null">
            and #{minIosVersion} >= min_ios_version
            order by min_ios_version desc
        </if>
    </select>
@@ -65,8 +66,9 @@
    </delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.common.Config"
        useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_config
        (id,key,value,name,beizhu,createtime) values
        (#{id,jdbcType=BIGINT},#{key,jdbcType=VARCHAR},#{value,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{beizhu,jdbcType=VARCHAR},#{createtime,jdbcType=VARCHAR})
        (id,key,value,name,beizhu,createtime,min_android_version,min_ios_version)
        values
        (#{id,jdbcType=BIGINT},#{key,jdbcType=VARCHAR},#{value,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{beizhu,jdbcType=VARCHAR},#{createtime,jdbcType=VARCHAR},#{minAndroidVersionCode,jdbcType=INTEGER},#{minIosVersionCode,jdbcType=INTEGER})
    </insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.common.Config"
        useGeneratedKeys="true" keyProperty="id">
@@ -78,6 +80,8 @@
            <if test="name != null">`name`,</if>
            <if test="beizhu != null">beizhu,</if>
            <if test="createtime != null">createtime,</if>
            <if test="minAndroidVersionCode != null">min_android_version,</if>
            <if test="minIosVersionCode != null">min_ios_version,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -87,14 +91,17 @@
            <if test="name != null">#{name,jdbcType=VARCHAR},</if>
            <if test="beizhu != null">#{beizhu,jdbcType=VARCHAR},</if>
            <if test="createtime != null">#{createtime,jdbcType=VARCHAR},</if>
            <if test="minAndroidVersionCode != null">#{minAndroidVersionCode,jdbcType=INTEGER},</if>
            <if test="minIosVersionCode != null">#{minIosVersionCode,jdbcType=INTEGER}</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.common.Config">update
        yeshi_ec_config set `key` = #{key,jdbcType=VARCHAR},`value` =
        #{value,jdbcType=VARCHAR},`name` = #{name,jdbcType=VARCHAR},beizhu =
        #{beizhu,jdbcType=VARCHAR},createtime =
        #{createtime,jdbcType=VARCHAR}
        where id = #{id,jdbcType=BIGINT}
        #{beizhu,jdbcType=VARCHAR},createtime = #{createtime,jdbcType=VARCHAR}
        ,min_android_version =#{minAndroidVersionCode,jdbcType=INTEGER}
        ,min_ios_version =#{minIosVersionCode,jdbcType=INTEGER} where id =
        #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.common.Config">
        update yeshi_ec_config
@@ -104,6 +111,11 @@
            <if test="name != null">`name`=#{name,jdbcType=VARCHAR},</if>
            <if test="beizhu != null">beizhu=#{beizhu,jdbcType=VARCHAR},</if>
            <if test="createtime != null">createtime=#{createtime,jdbcType=VARCHAR},</if>
            <if test="minAndroidVersionCode !=null">min_android_version
                =#{minAndroidVersionCode,jdbcType=INTEGER},
            </if>
            <if test="minIosVersionCode !=null">min_ios_version =#{minIosVersionCode,jdbcType=INTEGER},
            </if>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
fanli/src/main/java/com/yeshi/fanli/mapping/SystemClientParamsMapper.xml
@@ -2,36 +2,44 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeshi.fanli.dao.mybatis.SystemClientParamsMapper">
  <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.system.SystemClientParams">
    <resultMap id="BaseResultMap"
        type="com.yeshi.fanli.entity.system.SystemClientParams">
    <id column="id" property="id" jdbcType="BIGINT"/>
    <result column="key" property="key" jdbcType="VARCHAR"/>
    <result column="value" property="value" jdbcType="VARCHAR"/>
    <result column="name" property="name" jdbcType="VARCHAR"/>
    <result column="updatetime" property="updatetime" jdbcType="BIGINT"/>
     <association property="system" column="systemid" javaType="com.yeshi.fanli.entity.system.BusinessSystem">
        <result column="min_version" property="minVersion" jdbcType="INTEGER" />
        <association property="system" column="systemid"
            javaType="com.yeshi.fanli.entity.system.BusinessSystem">
        <id column="systemid" property="id" jdbcType="BIGINT" />    
    </association>
    
  </resultMap>
  <sql id="Base_Column_List">id,`systemid`,`key`,`value`,`name`,updatetime</sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/>from yeshi_ec_system_clientparams where id = #{id,jdbcType=BIGINT}
    <sql id="Base_Column_List">id,`systemid`,`key`,`value`,`name`,updatetime,min_version
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_system_clientparams where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_system_clientparams where id = #{id,jdbcType=BIGINT}</delete>
  <insert id="insert" parameterType="com.yeshi.fanli.entity.system.SystemClientParams" useGeneratedKeys="true" keyProperty="id">
      insert into yeshi_ec_system_clientparams
          (id,`systemid`,`key`,`value`,`name`,updatetime)
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_system_clientparams where id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.system.SystemClientParams"
        useGeneratedKeys="true" keyProperty="id">insert into
        yeshi_ec_system_clientparams
        (id,`systemid`,`key`,`value`,`name`,updatetime,min_version)
          values 
          (#{id,jdbcType=BIGINT},
        #{system.id,jdbcType=BIGINT},
        #{key,jdbcType=VARCHAR},
        #{value,jdbcType=VARCHAR},
        (#{id,jdbcType=BIGINT}, #{system.id,jdbcType=BIGINT},
        #{key,jdbcType=VARCHAR}, #{value,jdbcType=VARCHAR},
        #{name,jdbcType=VARCHAR},
        #{updatetime,jdbcType=BIGINT})
        #{updatetime,jdbcType=BIGINT},#{minVersion,jdbcType=INTEGER})
  </insert>
  <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.system.SystemClientParams" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_system_clientparams
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.system.SystemClientParams"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_system_clientparams
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">id,</if>
      <if test="system != null">`systemid`,</if>
@@ -39,7 +47,9 @@
      <if test="value != null">`value`,</if>
      <if test="name != null">`name`,</if>
      <if test="updatetime != null">updatetime,</if>
    </trim>values
            <if test="minVersion != null">min_version,</if>
        </trim>
        values
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">#{id,jdbcType=BIGINT},</if>
      <if test="system != null">#{system.id,jdbcType=BIGINT},</if>
@@ -47,52 +57,62 @@
      <if test="value != null">#{value,jdbcType=VARCHAR},</if>
      <if test="name != null">#{name,jdbcType=VARCHAR},</if>
      <if test="updatetime != null">#{updatetime,jdbcType=BIGINT},</if>
            <if test="minVersion != null">#{minVersion,jdbcType=INTEGER}</if>
    </trim>
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.system.SystemClientParams">update yeshi_ec_system_clientparams set systemid = #{system.id,jdbcType=BIGINT},`key` = #{key,jdbcType=VARCHAR},`value` = #{value,jdbcType=VARCHAR},`name` = #{name,jdbcType=VARCHAR},updatetime = #{updatetime,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}</update>
  <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.system.SystemClientParams">update yeshi_ec_system_clientparams
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.system.SystemClientParams">update
        yeshi_ec_system_clientparams set systemid =
        #{system.id,jdbcType=BIGINT},`key` = #{key,jdbcType=VARCHAR},`value` =
        #{value,jdbcType=VARCHAR},`name` = #{name,jdbcType=VARCHAR},updatetime
        = #{updatetime,jdbcType=BIGINT} ,min_version
        =#{minVersion,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.system.SystemClientParams">
        update yeshi_ec_system_clientparams
    <set>
      <if test="system != null">`systemid`=#{system.id,jdbcType=BIGINT},</if>
      <if test="key != null">`key`=#{key,jdbcType=VARCHAR},</if>
      <if test="value != null">`value`=#{value,jdbcType=VARCHAR},</if>
      <if test="name != null">`name`=#{name,jdbcType=VARCHAR},</if>
      <if test="updatetime != null">updatetime=#{updatetime,jdbcType=BIGINT},</if>
    </set> where id = #{id,jdbcType=BIGINT}
            <if test="minVersion !=null">min_version =#{minVersion,jdbcType=INTEGER},</if>
        </set>
        where id = #{id,jdbcType=BIGINT}
  </update>
 
  <select id="listBySystemId" resultMap="BaseResultMap">
      SELECT * FROM yeshi_ec_system_clientparams cp
    WHERE cp.`systemid` = #{systemId}
  </select>
  <select id="getSystemClientParamsBySystemAndKey" resultMap="BaseResultMap">
      SELECT * FROM yeshi_ec_system_clientparams cp
    WHERE cp.`systemid` =  #{systemId}  AND cp.`key` = #{key}
    LIMIT 1
  </select>
  <select id="listQuery" resultMap="BaseResultMap">
     SELECT * FROM yeshi_ec_system_clientparams cp
    WHERE 1=1
        <if test="systemId != null">
            AND cp.`systemid` =  #{systemId}
    <select id="listBySystemIdAndMinVersion" resultMap="BaseResultMap">
        SELECT * FROM (
        SELECT * FROM
        yeshi_ec_system_clientparams cp WHERE
        cp.`systemid` =
        #{systemId}
        <if test="minVersion!=null">
            and #{minVersion}>=min_version
            order by min_version desc
        </if>
        )a group by a.key
    </select>
        
        <if test="key != null and key != '' ">
            AND (cp.`name` LIKE '%${key}%' or  cp.`key` LIKE  '%${key}%' )
    <select id="getSystemClientParamsBySystemAndKey" resultMap="BaseResultMap">SELECT
        * FROM yeshi_ec_system_clientparams cp WHERE cp.`systemid` =
        #{systemId} AND cp.`key` = #{key} LIMIT 1
    </select>
    <select id="listQuery" resultMap="BaseResultMap">
        SELECT * FROM yeshi_ec_system_clientparams cp WHERE 1=1
        <if test="systemId != null">AND cp.`systemid` = #{systemId}</if>
        <if test="key != null and key != '' ">AND (cp.`name` LIKE '%${key}%' or cp.`key` LIKE
            '%${key}%'
            )
        </if>
    LIMIT #{start},#{count}
  </select>
  <select id="countQuery" resultType="java.lang.Long">
     SELECT IFNULL(COUNT(cp.`id`),0)  FROM yeshi_ec_system_clientparams cp
    WHERE 1=1
        <if test="systemId != null">
            AND cp.`systemid` =  #{systemId}
        </if>
        <if test="key != null and key != '' ">
            AND (cp.`name` LIKE '%${key}%' or  cp.`key` LIKE  '%${key}%' )
        <if test="systemId != null">AND cp.`systemid` = #{systemId}</if>
        <if test="key != null and key != '' ">AND (cp.`name` LIKE '%${key}%' or cp.`key` LIKE
            '%${key}%'
            )
        </if>
  </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java
@@ -63,7 +63,24 @@
    @Cacheable(value = "config", key = "#p0+'Str'")
    public String get(String key) {
        List<Config> list = configMapper.listByKey(key);
        List<Config> list = configMapper.listByKey(key, null, null);
        if (list.size() == 0) {
            return null;
        }
        String value = list.get(0).getValue();
        return value;
    }
    @Cacheable(value = "config", key = "'getByVersion'+'-'+#key+'-'+#platform+'-'+#version ")
    public String getByVersion(String key, String platform, int version) {
        Integer minAndroidVersion = null;
        Integer minIosVersion = null;
        if ("android".equalsIgnoreCase(platform)) {
            minAndroidVersion = version;
        } else
            minIosVersion = version;
        List<Config> list = configMapper.listByKey(key, minAndroidVersion, minIosVersion);
        if (list.size() == 0) {
            return null;
        }
@@ -73,7 +90,7 @@
    @Cacheable(value = "config", key = "#p0")
    public Config getConfig(String key) {
        List<Config> list = configMapper.listByKey(key);
        List<Config> list = configMapper.listByKey(key, null, null);
        if (list.size() == 0) {
            return null;
        }
@@ -188,18 +205,16 @@
    @Override
    public void save(Config config) {
        List<Config> list = configMapper.listByKey(config.getKey());
        List<Config> list = configMapper.listByKey(config.getKey(), null, null);
        if (list == null || list.size() == 0) {
            configMapper.insertSelective(config);
        }
    }
    @Cacheable(value = "config", key = "'getSearchDiscoveryKeys'")
    @Override
    public String getSearchDiscoveryKeys() {
        List<Config> list = configMapper.listByKey("search_discovery_keys");
        List<Config> list = configMapper.listByKey("search_discovery_keys", null, null);
        if (list == null || list.size() == 0)
            return null;
        
@@ -214,9 +229,9 @@
        return value;
    }
    
    /**
     * 更新搜索发现词
     *
     * @param config
     */
    @Async
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SystemClientParamsServiceImpl.java
@@ -22,7 +22,8 @@
    
    @Cacheable(value = "clientParamCache", key = "#systemId+'-'+#version")
    public List<SystemClientParams> getSystemClientParamsBySystemId(long systemId, int version) {
        return systemClientParamsMapper.listBySystemId(systemId);
        return systemClientParamsMapper.listBySystemIdAndMinVersion(systemId,version);
    }
fanli/src/main/java/com/yeshi/fanli/service/inter/config/ConfigService.java
@@ -19,6 +19,8 @@
    void save(Config config);
    String get(String string);
    String getByVersion(String key,String platform,int version);
    Config getConfig(String key);