admin
2019-07-26 3703fef56f24c05ebf93e4ee1745392b7d571aaf
跳转参数通过版本区分
5个文件已修改
198 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/common/JumpDetailV2Mapper.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/common/JumpDetailV2.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/common/JumpDetailV2Mapper.xml 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/common/JumpDetailV2ServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/common/JumpDetailV2Service.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/common/JumpDetailV2Mapper.java
@@ -19,38 +19,56 @@
    int updateByPrimaryKeySelective(JumpDetailV2 record);
    int updateByPrimaryKey(JumpDetailV2 record);
    /**
     * 根据类型取值
     *
     * @param type
     * @return
     */
    List<JumpDetailV2> listByType(String type);
    /**
     * 所有方式
     *
     * @return
     */
    List<JumpDetailV2> listJump();
    List<JumpDetailV2> listJump();
    /**
     * 根据主键批量删除
     *
     * @param list
     * @return
     */
    int deleteBatchByPrimaryKey(List<Long> list);
    /**
     * 后端列表查询
     *
     * @param start
     * @param count
     * @param key
     * @return
     */
    List<JumpDetailV2> listQuery(@Param("start") long start, @Param("count") int count, @Param("key") String key);
    long countListQuery(@Param("key") String key);
    /**
     * 根据Android版本获取最近的跳转值
     * @param type
     * @param version
     * @return
     */
    JumpDetailV2 selectAndroidByTypeAndVersion(String type, int version);
    
    /**
     * 根据IOS版本获取最近的跳转值
     * @param type
     * @param version
     * @return
     */
    JumpDetailV2 selectIOSByTypeAndVersion(String type, int version);
}
fanli/src/main/java/com/yeshi/fanli/entity/common/JumpDetailV2.java
@@ -53,13 +53,32 @@
    @Column(name = "jp_type")
    @org.yeshi.utils.mybatis.Column(name = "jp_type")
    private String type;
    @Expose
    @Column(name = "jp_need_login")
    @org.yeshi.utils.mybatis.Column(name = "jp_need_login")
    private Boolean needLogin;
    @org.yeshi.utils.mybatis.Column(name = "jp_min_android_version")
    private Integer minAndroidAppVersion;// 最小Android版本
    @org.yeshi.utils.mybatis.Column(name = "jp_min_ios_version")
    private Integer minIOSAppVersion;// 最小ios版本
    public Integer getMinAndroidAppVersion() {
        return minAndroidAppVersion;
    }
    public void setMinAndroidAppVersion(Integer minAndroidAppVersion) {
        this.minAndroidAppVersion = minAndroidAppVersion;
    }
    public Integer getMinIOSAppVersion() {
        return minIOSAppVersion;
    }
    public void setMinIOSAppVersion(Integer minIOSAppVersion) {
        this.minIOSAppVersion = minIOSAppVersion;
    }
    public Boolean getNeedLogin() {
        return needLogin;
    }
@@ -70,12 +89,12 @@
    public JumpDetailV2() {
    }
    public JumpDetailV2(long id) {
        super();
        this.id = id;
    }
    public Long getId() {
        return id;
    }
fanli/src/main/java/com/yeshi/fanli/mapping/common/JumpDetailV2Mapper.xml
@@ -2,7 +2,6 @@
<!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.common.JumpDetailV2Mapper">
    <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.common.JumpDetailV2">
        <id column="jp_id" property="id" jdbcType="BIGINT" />
        <result column="jp_name" property="name" jdbcType="VARCHAR" />
@@ -10,29 +9,29 @@
        <result column="jp_controller" property="controller" jdbcType="VARCHAR" />
        <result column="jp_type" property="type" jdbcType="VARCHAR" />
        <result column="jp_need_login" property="needLogin" jdbcType="BOOLEAN" />
        <result column="jp_min_android_version" property="minAndroidAppVersion"
            jdbcType="INTEGER" />
        <result column="jp_min_ios_version" property="minIOSAppVersion"
            jdbcType="INTEGER" />
    </resultMap>
    <sql id="Base_Column_List">jp_id,jp_name,jp_activity,jp_controller,jp_type,jp_need_login
    <sql id="Base_Column_List">jp_id,jp_name,jp_activity,jp_controller,jp_type,jp_need_login,jp_min_android_version,jp_min_ios_version
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_action_jumpdetail_v2 where jp_id = #{id,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_action_jumpdetail_v2 where jp_id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.common.JumpDetailV2"
        useGeneratedKeys="true" keyProperty="id">insert into
        yeshi_ec_action_jumpdetail_v2
        (jp_id,jp_name,jp_activity,jp_controller,jp_type,jp_need_login) values
        (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR},#{activity,jdbcType=VARCHAR},#{controller,jdbcType=VARCHAR},#{type,jdbcType=VARCHAR},#{needLogin,jdbcType=BOOLEAN})
        (jp_id,jp_name,jp_activity,jp_controller,jp_type,jp_need_login,jp_min_android_version,jp_min_ios_version)
        values
        (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR},#{activity,jdbcType=VARCHAR},#{controller,jdbcType=VARCHAR},#{type,jdbcType=VARCHAR},#{needLogin,jdbcType=BOOLEAN},#{minAndroidAppVersion,jdbcType=INTEGER},#{minIOSAppVersion,jdbcType=INTEGER})
    </insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.common.JumpDetailV2"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_action_jumpdetail_v2
@@ -43,6 +42,8 @@
            <if test="controller != null">jp_controller,</if>
            <if test="type != null">jp_type,</if>
            <if test="needLogin != null">jp_need_login,</if>
            <if test="minAndroidAppVersion != null">jp_min_android_version,</if>
            <if test="minIOSAppVersion != null">jp_min_ios_version,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -52,18 +53,19 @@
            <if test="controller != null">#{controller,jdbcType=VARCHAR},</if>
            <if test="type != null">#{type,jdbcType=VARCHAR},</if>
            <if test="needLogin != null">#{jp_need_login,jdbcType=BOOLEAN},</if>
            <if test="minAndroidAppVersion != null">#{minAndroidAppVersion,jdbcType=INTEGER}</if>
            <if test="minIOSAppVersion != null">#{minIOSAppVersion,jdbcType=INTEGER}</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.common.JumpDetailV2">update
        yeshi_ec_action_jumpdetail_v2 set jp_name =
        #{name,jdbcType=VARCHAR},jp_activity =
        #{activity,jdbcType=VARCHAR},jp_controller =
        #{controller,jdbcType=VARCHAR},jp_type =
        #{type,jdbcType=VARCHAR},jp_need_login = #{needLogin,jdbcType=BOOLEAN}
        where jp_id = #{id,jdbcType=BIGINT}
    </update>
        ,jp_min_android_version =#{minAndroidAppVersion,jdbcType=INTEGER}
        ,jp_min_ios_version =#{minIOSAppVersion,jdbcType=INTEGER} where jp_id
        = #{id,jdbcType=BIGINT}</update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.common.JumpDetailV2">
        update yeshi_ec_action_jumpdetail_v2
        <set>
@@ -72,45 +74,52 @@
            <if test="controller != null">jp_controller=#{controller,jdbcType=VARCHAR},</if>
            <if test="type != null">jp_type=#{type,jdbcType=VARCHAR},</if>
            <if test="needLogin != null">jp_need_login=#{needLogin,jdbcType=BOOLEAN},</if>
            <if test="minAndroidAppVersion !=null">jp_min_android_version
                =#{minAndroidAppVersion,jdbcType=INTEGER},</if>
            <if test="minIOSAppVersion !=null">jp_min_ios_version =#{minIOSAppVersion,jdbcType=INTEGER},
            </if>
        </set>
        where jp_id = #{id,jdbcType=BIGINT}
    </update>
    <select id="listByType" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_action_jumpdetail_v2
        where jp_type =
        from yeshi_ec_action_jumpdetail_v2 where jp_type =
        #{type,jdbcType=VARCHAR}
    </select>
    <select id="listJump" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_action_jumpdetail_v2
    </select>
    <select id="listQuery" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_action_jumpdetail_v2
        WHERE 1=1
        <if test='key != null and key != ""'>
            AND (jp_name like '%${key}%')
        </if>
        ORDER BY jp_id
        LIMIT ${start},${count}
        FROM yeshi_ec_action_jumpdetail_v2 WHERE 1=1
        <if test="key != null and key != &quot;&quot;">AND (jp_name like '%${key}%')</if>
        ORDER BY jp_id LIMIT ${start},${count}
    </select>
    <select id="countListQuery" resultType="java.lang.Long">
        SELECT IFNULL(count(jp_id),0) FROM yeshi_ec_action_jumpdetail_v2
        WHERE
        SELECT IFNULL(count(jp_id),0) FROM yeshi_ec_action_jumpdetail_v2 WHERE
        1=1
        <if test='key != null and key != ""'>
            AND (jp_name like '%${key}%')
        </if>
        <if test="key != null and key != &quot;&quot;">AND (jp_name like '%${key}%')</if>
    </select>
    <select id="selectAndroidByTypeAndVersion" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_action_jumpdetail_v2  jv
        WHERE jv.`jp_type`=#{type} AND #{version}>=jv.`jp_min_android_version` ORDER BY  jv.`jp_min_android_version` DESC LIMIT 1
    </select>
    <select id="selectIOSByTypeAndVersion" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_action_jumpdetail_v2  jv
        WHERE jv.`jp_type`=#{type} AND #{version}>=jv.`jp_min_ios_version` ORDER BY  jv.`jp_min_ios_version` DESC LIMIT 1
    </select>
    <delete id="deleteBatchByPrimaryKey" parameterType="java.util.List">
        delete from yeshi_ec_action_jumpdetail_v2 WHERE jp_id in
        <foreach collection="list" item="item" open="(" close=")"
fanli/src/main/java/com/yeshi/fanli/service/impl/common/JumpDetailV2ServiceImpl.java
@@ -10,14 +10,14 @@
import com.yeshi.fanli.dao.mybatis.common.JumpDetailV2Mapper;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.util.Constant;
@Service
public class JumpDetailV2ServiceImpl implements JumpDetailV2Service {
    @Resource
    private JumpDetailV2Mapper jumpDetailV2Mapper;
    @Override
    public int deleteByPrimaryKey(Long id) {
        return jumpDetailV2Mapper.deleteByPrimaryKey(id);
@@ -37,7 +37,6 @@
    public JumpDetailV2 selectByPrimaryKey(Long id) {
        return jumpDetailV2Mapper.selectByPrimaryKey(id);
    }
    @Override
    public int updateByPrimaryKeySelective(JumpDetailV2 record) {
@@ -53,28 +52,37 @@
    public List<JumpDetailV2> listByType(String type) {
        return jumpDetailV2Mapper.listByType(type);
    }
    @Cacheable(value = "configCache", key = "'getByTypeCache-'+#type")
    @Override
    public JumpDetailV2 getByTypeCache(String type) {
        JumpDetailV2 jumpDetailV2 = null;
        List<JumpDetailV2> listByType = listByType(type);
        if (listByType !=null && listByType.size() > 0) {
        if (listByType != null && listByType.size() > 0) {
            jumpDetailV2 = listByType.get(0);
        } else {
            jumpDetailV2 = new JumpDetailV2();
        }
        return jumpDetailV2;
    }
    @Cacheable(value = "configCache", key = "'getByTypeCache-'+#type+'-'+#platform+'-'+version")
    @Override
    public JumpDetailV2 getByTypeCache(String type, int platform, int version) {
        if (platform == 1) {
            return jumpDetailV2Mapper.selectAndroidByTypeAndVersion(type, version);
        } else {
            return jumpDetailV2Mapper.selectIOSByTypeAndVersion(type, version);
        }
    }
    @Override
    public List<JumpDetailV2> listJump() {
        return this.jumpDetailV2Mapper.listJump();
        return jumpDetailV2Mapper.listJump();
    }
    @Override
@@ -91,5 +99,5 @@
    public long countListQuery(String key) {
        return jumpDetailV2Mapper.countListQuery(key);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/common/JumpDetailV2Service.java
@@ -5,7 +5,7 @@
import com.yeshi.fanli.entity.common.JumpDetailV2;
/**
 *  跳转详情
 * 跳转详情
 * 
 * @author Administrator
 *
@@ -26,6 +26,7 @@
    /**
     * 根据类型查询
     *
     * @param type
     * @return
     */
@@ -33,31 +34,46 @@
    /**
     * 根据类型取值
     * @param type 类型
     *
     * @param type
     *            类型
     * @return
     */
    public JumpDetailV2 getByTypeCache(String type);
    /**
     * 根据类型取值
     *
     * @param type
     *            类型
     * @param platform
     *            -平台 1:android 2:ios
     * @param version
     *            ios-build android-versionCode
     * @return
     */
    public JumpDetailV2 getByTypeCache(String type, int platform, int version);
    public List<JumpDetailV2> listJump();
    /**
     * 根据主键批量删除
     *
     * @param list
     * @return
     */
    int deleteBatchByPrimaryKey(List<Long> list);
    /**
     * 后端列表查询
     *
     * @param start
     * @param count
     * @param key
     * @return
     */
    List<JumpDetailV2> listQuery(long start, int count, String key);
    long countListQuery(String key);
}