yujian
2019-09-03 3d50552f1910a5d30cc5bb322f0f7984bce51624
专题加入版本信息
7个文件已修改
1023 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/SpecialMapper.java 218 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/Special.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/SpecialMapper.xml 685 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java
@@ -121,17 +121,15 @@
        }
    }
    /**
     * 查询列表 - 新后台
     *
     * 版本号信息
     * @param callback
     * @param key
     *            查询词 名称
     * @param pageIndex
     * @param out
     */
    @RequestMapping(value = "getVersionList")
    public void getVersionList(String callback, String key, Integer pageIndex, PrintWriter out) {
    public void getVersionList(String callback, PrintWriter out) {
        try {
            AppVersionInfo appVersionInfo = new AppVersionInfo();
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -2556,23 +2556,12 @@
     */
    @RequestMapping(value = "getSpecialActivities")
    public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) {
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
                acceptData.getPackages());
        if (system == null) {
            out.print(JsonUtil.loadFalseResult(1, "系统不存在"));
            return;
        }
        try {
            int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
            List<Special> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "special_activities",
                    platformCode, Integer.parseInt(acceptData.getVersion()));
            List<Special> list = new ArrayList<Special>();
            // 专题活动
            String specialCard = "special_activities";
            List<Special> listSpecial = specialService.listPageBySystemAndCard(0, Integer.MAX_VALUE, specialCard,
                    system.getId());
            if (listSpecial != null) {
                list.addAll(listSpecial);
            }
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/SpecialMapper.java
@@ -1,105 +1,115 @@
package com.yeshi.fanli.dao.mybatis.homemodule;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.bus.homemodule.Special;
public interface SpecialMapper extends BaseMapper<Special>{
    int deleteBatchByPrimaryKey(List<Long> list);
    int deleteBatchByCardID(List<Long> list);
    /**
     * 批量查询id
     * @param list
     * @return
     */
    List<Special> queryByListPrimaryKey(List<Long> list);
    /**
     * 批量查询CardID
     * @param list
     * @return
     */
    List<Special> queryByListCardID(List<Long> list);
    /**
     * 查询需替换顺序数据
     * @param cardId
     * @param type
     * @param order
     * @return
     */
    Special getOrderByCardID(@Param("cardId") Long cardId, @Param("type") Integer type,
            @Param("order") Integer order, @Param("sex")Integer sex);
    /**
     * 后端查询列表
     * @param start
     * @param count
     * @param card
     * @param key
     * @param sex
     * @return
     */
    List<Special> listQueryByCard(@Param("start") long start, @Param("count") int count,
            @Param("cardId") Long card, @Param("key") String key, @Param("sex")Integer sex);
    long countlistQueryByCard(@Param("cardId") Long card, @Param("key") String key, @Param("sex")Integer sex);
    /**
     *   默认最大的排序值
     * @param card
     * @return
     */
    int getDefaultMaxOrder(@Param("cardId") Long cardId);
    /**
     *   默认最大的排序值
     * @param card
     * @return
     */
    int getManMaxOrder(@Param("cardId") Long cardId);
    /**
     *   默认最大的排序值
     * @param card
     * @return
     */
    int getWomanMaxOrder(@Param("cardId") Long cardId);
    /**
     * 根据标识、系统查询启用专题
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listBySystemAndCard(@Param("card") String card, @Param("systemId") Long systemId);
    /**
     * 根据标识、系统查询启用专题-分页
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listPageBySystemAndCard(@Param("start") long start, @Param("count") int count,
            @Param("card") String card, @Param("systemId") Long systemId);
    /**
     * 根据位置标识查询
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listByPlaceKey(@Param("placeKey") String placeKey, @Param("sex")Integer sex);
package com.yeshi.fanli.dao.mybatis.homemodule;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.bus.homemodule.Special;
public interface SpecialMapper extends BaseMapper<Special>{
    int deleteBatchByPrimaryKey(List<Long> list);
    int deleteBatchByCardID(List<Long> list);
    /**
     * 批量查询id
     * @param list
     * @return
     */
    List<Special> queryByListPrimaryKey(List<Long> list);
    /**
     * 批量查询CardID
     * @param list
     * @return
     */
    List<Special> queryByListCardID(List<Long> list);
    /**
     * 查询需替换顺序数据
     * @param cardId
     * @param type
     * @param order
     * @return
     */
    Special getOrderByCardID(@Param("cardId") Long cardId, @Param("type") Integer type,
            @Param("order") Integer order, @Param("sex")Integer sex);
    /**
     * 后端查询列表
     * @param start
     * @param count
     * @param card
     * @param key
     * @param sex
     * @return
     */
    List<Special> listQueryByCard(@Param("start") long start, @Param("count") int count,
            @Param("cardId") Long card, @Param("key") String key, @Param("sex")Integer sex);
    long countlistQueryByCard(@Param("cardId") Long card, @Param("key") String key, @Param("sex")Integer sex);
    /**
     *   默认最大的排序值
     * @param card
     * @return
     */
    int getDefaultMaxOrder(@Param("cardId") Long cardId);
    /**
     *   默认最大的排序值
     * @param card
     * @return
     */
    int getManMaxOrder(@Param("cardId") Long cardId);
    /**
     *   默认最大的排序值
     * @param card
     * @return
     */
    int getWomanMaxOrder(@Param("cardId") Long cardId);
    /**
     * 根据标识、系统查询启用专题
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listBySystemAndCard(@Param("card") String card, @Param("systemId") Long systemId);
    /**
     * 查询有效专题-版本区分
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listByVersion(@Param("start") long start, @Param("count") int count,
            @Param("card") String card, @Param("platform") Integer platform, @Param("versionCode") Integer versionCode);
    /**
     * 根据标识、系统查询启用专题-分页
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listPageBySystemAndCard(@Param("start") long start, @Param("count") int count,
            @Param("card") String card, @Param("systemId") Long systemId);
    /**
     * 根据位置标识查询
     * @param card
     * @param systemId
     * @return
     */
    List<Special> listByPlaceKey(@Param("placeKey") String placeKey, @Param("sex")Integer sex);
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/Special.java
@@ -111,6 +111,14 @@
    @Column(name = "b_remark")
    private String remark;
    
    // 平台:1-android 2-IOS
    @Column(name = "b_platform")
    private Integer platform;
    // 版本号
    @Column(name = "b_version_code")
    private Integer versionCode;
    // 创建时间
    @Column(name = "b_createtime")
    private Date createtime;
@@ -119,17 +127,21 @@
    @Column(name = "b_updatetime")
    private Date updatetime;
    
    // 是否弹框
    @Expose
    private boolean elastic;
    // 背景图片
    private String bottomPicture; 
    // 是否删除图片
    private Boolean delIcon;
    private Boolean delPicture;
    private Boolean delSubPicture;
    
    // 是否弹框
    @Expose
    private boolean elastic;
    // 限制最低版本
    private String version;
    
    public Long getId() {
@@ -324,5 +336,28 @@
    public void setOrderWoman(Integer orderWoman) {
        this.orderWoman = orderWoman;
    }
    public Integer getPlatform() {
        return platform;
    }
    public void setPlatform(Integer platform) {
        this.platform = platform;
    }
    public Integer getVersionCode() {
        return versionCode;
    }
    public void setVersionCode(Integer versionCode) {
        this.versionCode = versionCode;
    }
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/SpecialMapper.xml
@@ -1,333 +1,352 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeshi.fanli.dao.mybatis.homemodule.SpecialMapper">
    <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.homemodule.Special">
        <id column="b_id" property="id" jdbcType="BIGINT" />
        <result column="b_name" property="name" jdbcType="VARCHAR" />
        <result column="b_card" property="card" jdbcType="VARCHAR" />
        <result column="b_card_id" property="cardId" jdbcType="BIGINT" />
        <result column="b_main_picture" property="picture" jdbcType="VARCHAR" />
        <result column="b_icon" property="icon" jdbcType="VARCHAR" />
        <result column="b_sub_picture" property="subPicture" jdbcType="VARCHAR" />
        <result column="b_params" property="params" jdbcType="VARCHAR" />
        <result column="b_jump_login" property="jumpLogin" jdbcType="VARCHAR" />
        <result column="b_orderby" property="orderby" jdbcType="INTEGER" />
        <result column="b_order_man" property="orderMan" jdbcType="INTEGER" />
        <result column="b_order_woman" property="orderWoman" jdbcType="INTEGER" />
        <result column="b_state" property="state" jdbcType="BIGINT" />
        <result column="b_sex" property="sex" jdbcType="INTEGER" />
        <result column="b_show_type" property="showType" jdbcType="VARCHAR" />
        <result column="b_remark" property="remark" jdbcType="VARCHAR" />
        <result column="b_createtime" property="createtime" jdbcType="TIMESTAMP" />
        <result column="b_updatetime" property="updatetime" jdbcType="TIMESTAMP" />
        <!-- 背景图片 -->
        <result column="cd_bottom_picture" property="bottomPicture"
            jdbcType="VARCHAR" />
        <association property="jumpDetail" column="b_jumpid"
            select="com.yeshi.fanli.dao.mybatis.common.JumpDetailV2Mapper.selectByPrimaryKey">
        </association>
    </resultMap>
    <sql id="Base_Column_List">b_id,b_name,b_card,b_card_id,b_main_picture,b_icon,b_sub_picture,b_jumpid,b_params,b_jump_login,b_orderby,b_order_man,b_order_woman,b_state,b_sex,b_show_type,b_remark,b_createtime,b_updatetime</sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_special where b_id = #{id,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_special where b_id = #{id,jdbcType=BIGINT}</delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special"
        useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_special
        (b_id,b_name,b_card,b_card_id,b_main_picture,b_icon,b_sub_picture,b_jumpid,b_params,b_jump_login,b_orderby,b_order_man,b_order_woman,b_state,b_sex,b_show_type,b_remark,b_createtime,b_updatetime)
        values
        (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR},#{card,jdbcType=VARCHAR},#{cardId,jdbcType=BIGINT},#{picture,jdbcType=VARCHAR},#{icon,jdbcType=VARCHAR},#{subPicture,jdbcType=VARCHAR},#{jumpDetail.id,jdbcType=BIGINT},#{params,jdbcType=VARCHAR},#{jumpLogin,jdbcType=VARCHAR},#{orderby,jdbcType=INTEGER},#{orderMan,jdbcType=INTEGER},#{orderWoman,jdbcType=INTEGER},#{state,jdbcType=BIGINT},#{sex,jdbcType=INTEGER},#{showType,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{createtime,jdbcType=TIMESTAMP},#{updatetime,jdbcType=TIMESTAMP})</insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_special
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">b_id,</if>
            <if test="name != null">b_name,</if>
            <if test="card != null">b_card,</if>
            <if test="cardId != null">b_card_id,</if>
            <if test="picture != null">b_main_picture,</if>
            <if test="icon != null">b_icon,</if>
            <if test="subPicture != null">b_sub_picture,</if>
            <if test="jumpDetail != null">b_jumpid,</if>
            <if test="params != null">b_params,</if>
            <if test="jumpLogin != null">b_jump_login,</if>
            <if test="orderby != null">b_orderby,</if>
            <if test="orderMan != null">b_order_man,</if>
            <if test="orderWoman != null">b_order_woman,</if>
            <if test="state != null">b_state,</if>
            <if test="sex != null">b_sex,</if>
            <if test="showType != null">b_show_type,</if>
            <if test="remark != null">b_remark,</if>
            <if test="createtime != null">b_createtime,</if>
            <if test="updatetime != null">b_updatetime,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="name != null">#{name,jdbcType=VARCHAR},</if>
            <if test="card != null">#{card,jdbcType=VARCHAR},</if>
            <if test="cardId != null">#{cardId,jdbcType=BIGINT},</if>
            <if test="picture != null">#{picture,jdbcType=VARCHAR},</if>
            <if test="icon != null">#{icon,jdbcType=VARCHAR},</if>
            <if test="subPicture != null">#{subPicture,jdbcType=VARCHAR},</if>
            <if test="jumpDetail != null">#{jumpDetail.id,jdbcType=BIGINT},</if>
            <if test="params != null">#{params,jdbcType=VARCHAR},</if>
            <if test="jumpLogin != null">#{jumpLogin,jdbcType=VARCHAR},</if>
            <if test="orderby != null">#{orderby,jdbcType=INTEGER},</if>
            <if test="orderMan != null">#{orderMan,jdbcType=INTEGER},</if>
            <if test="orderWoman != null">#{orderWoman,jdbcType=INTEGER},</if>
            <if test="state != null">#{state,jdbcType=BIGINT},</if>
            <if test="sex != null">#{sex,jdbcType=INTEGER},</if>
            <if test="showType != null">#{showType,jdbcType=VARCHAR},</if>
            <if test="remark != null">#{remark,jdbcType=VARCHAR},</if>
            <if test="createtime != null">#{createtime,jdbcType=TIMESTAMP},</if>
            <if test="updatetime != null">#{updatetime,jdbcType=TIMESTAMP},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special">update
        yeshi_ec_special set b_name = #{name,jdbcType=VARCHAR},b_card =
        #{card,jdbcType=VARCHAR},b_card_id =
        #{cardId,jdbcType=BIGINT},b_main_picture =
        #{picture,jdbcType=VARCHAR},b_icon =
        #{icon,jdbcType=VARCHAR},b_sub_picture =
        #{subPicture,jdbcType=VARCHAR},b_jumpid =
        #{jumpDetail.id,jdbcType=BIGINT},b_params =
        #{params,jdbcType=VARCHAR},b_jump_login =
        #{jumpLogin,jdbcType=VARCHAR},b_orderby =
        #{orderby,jdbcType=INTEGER},b_order_man =
        #{orderMan,jdbcType=INTEGER},b_order_woman =
        #{orderWoman,jdbcType=INTEGER},b_state =
        #{state,jdbcType=BIGINT},b_show_type =
        #{showType,jdbcType=VARCHAR},b_remark =
        #{remark,jdbcType=VARCHAR},b_createtime =
        #{createtime,jdbcType=TIMESTAMP},b_updatetime =
        #{updatetime,jdbcType=TIMESTAMP},b_sex=#{sex,jdbcType=INTEGER} where
        b_id = #{id,jdbcType=BIGINT}</update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special">
        update yeshi_ec_special
        <set>
            <if test="name != null">b_name=#{name,jdbcType=VARCHAR},</if>
            <if test="card != null">b_card=#{card,jdbcType=VARCHAR},</if>
            <if test="cardId != null">b_card_id=#{cardId,jdbcType=BIGINT},</if>
            <if test="picture != null">b_main_picture=#{picture,jdbcType=VARCHAR},</if>
            <if test="icon != null">b_icon=#{icon,jdbcType=VARCHAR},</if>
            <if test="subPicture != null">b_sub_picture=#{subPicture,jdbcType=VARCHAR},</if>
            <if test="jumpDetail != null">b_jumpid=#{jumpDetail.id,jdbcType=BIGINT},</if>
            <if test="params != null">b_params=#{params,jdbcType=VARCHAR},</if>
            <if test="jumpLogin != null">b_jump_login=#{jumpLogin,jdbcType=VARCHAR},</if>
            <if test="orderby != null">b_orderby=#{orderby,jdbcType=INTEGER},</if>
            <if test="orderMan != null">b_order_man=#{orderMan,jdbcType=INTEGER},</if>
            <if test="orderWoman != null">b_order_woman=#{orderWoman,jdbcType=INTEGER},</if>
            <if test="state != null">b_state=#{state,jdbcType=BIGINT},</if>
            <if test="sex != null">b_sex=#{sex,jdbcType=INTEGER},</if>
            <if test="showType != null">b_show_type=#{showType,jdbcType=VARCHAR},</if>
            <if test="remark != null">b_remark=#{remark,jdbcType=VARCHAR},</if>
            <if test="createtime != null">b_createtime=#{createtime,jdbcType=TIMESTAMP},</if>
            <if test="updatetime != null">b_updatetime=#{updatetime,jdbcType=TIMESTAMP},</if>
        </set>
        where b_id = #{id,jdbcType=BIGINT}
    </update>
    <sql id="Sex_Screen">
        <!-- 通用版 -->
        <if test="sex == 0">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 0 OR sp.`b_sex` = 10
            OR sp.`b_sex` =
            20)
            ORDER BY sp.`b_orderby`
        </if>
        <!-- 女版 -->
        <if test="sex == 1">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 1 OR sp.`b_sex` = 10
            OR sp.`b_sex` =
            12)
            ORDER BY sp.`b_order_woman`
        </if>
        <!-- 男版 -->
        <if test="sex == 2">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 2 OR sp.`b_sex` = 20
            OR sp.`b_sex` =
            12)
            ORDER BY sp.`b_order_man`
        </if>
    </sql>
    <delete id="deleteBatchByPrimaryKey" parameterType="java.util.List">
        delete from yeshi_ec_special WHERE b_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </delete>
    <delete id="deleteBatchByCardID" parameterType="java.util.List">
        delete from yeshi_ec_special WHERE b_card_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </delete>
    <select id="queryByListPrimaryKey" parameterType="java.util.List"
        resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_special
        WHERE b_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </select>
    <select id="queryByListCardID" parameterType="java.util.List"
        resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_special
        WHERE b_card_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </select>
    <select id="listQueryByCard" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM `yeshi_ec_special` sp
        WHERE sp.`b_card_id` = #{cardId}
        <if test='key != null and key != ""'>
            AND sp.b_name like '%${key}%'
        </if>
        <include refid="Sex_Screen" />
        LIMIT ${start},${count}
    </select>
    <select id="countlistQueryByCard" resultType="java.lang.Long">
        SELECT IFNULL(count(b_id),0) FROM `yeshi_ec_special` sp
        WHERE
        sp.`b_card_id` = #{cardId}
        <if test='key != null and key != ""'>
            AND sp.b_name like '%${key}%'
        </if>
        <include refid="Sex_Screen" />
    </select>
    <select id="getDefaultMaxOrder" resultType="java.lang.Integer">
        SELECT
        IFNULL(MAX(pp.b_orderby),0) FROM yeshi_ec_special pp
        WHERE
        pp.`b_card_id` = #{cardId}
    </select>
    <select id="getManMaxOrder" resultType="java.lang.Integer">
        SELECT
        IFNULL(MAX(pp.b_order_man),0) FROM yeshi_ec_special pp
        WHERE
        pp.`b_card_id` = #{cardId}
    </select>
    <select id="getWomanMaxOrder" resultType="java.lang.Integer">
        SELECT
        IFNULL(MAX(pp.b_order_woman),0) FROM yeshi_ec_special pp
        WHERE
        pp.`b_card_id` = #{cardId}
    </select>
    <select id="getOrderByCardID" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_special sp
        WHERE sp.b_card_id = #{cardId}
        <!-- 通用版 -->
        <if test="sex == 0 or sex == 120">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 0 OR sp.`b_sex` = 10 OR
            sp.`b_sex` = 20)
            <if test="type == -1">
                <![CDATA[and sp.b_orderby < #{order}]]>
                order by sp.b_orderby desc
            </if>
            <if test="type == 1">
                <![CDATA[and sp.b_orderby > #{order} ]]>
                order by sp.b_orderby
            </if>
        </if>
        <!-- 女版 -->
        <if test="sex == 1">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 1 OR sp.`b_sex` = 10 OR
            sp.`b_sex` = 12)
            <if test="type == -1">
                <![CDATA[and sp.b_order_woman < #{order}]]>
                order by sp.b_order_woman desc
            </if>
            <if test="type == 1">
                <![CDATA[and sp.b_order_woman > #{order} ]]>
                order by sp.b_order_woman
            </if>
        </if>
        <!-- 男版 -->
        <if test="sex == 2">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 2 OR sp.`b_sex` = 20 OR
            sp.`b_sex` = 12)
            <if test="type == -1">
                <![CDATA[and sp.b_order_man < #{order}]]>
                order by sp.b_order_man desc
            </if>
            <if test="type == 1">
                <![CDATA[and sp.b_order_man > #{order} ]]>
                order by sp.b_order_man
            </if>
        </if>
        limit 1
    </select>
    <select id="listBySystemAndCard" resultMap="BaseResultMap">
        SELECT p.* FROM
        `yeshi_ec_special` p LEFT JOIN `yeshi_ec_special_card` c ON
        p.`b_card_id` = c.`cd_id`
        LEFT JOIN `yeshi_ec_super_special_card` s ON
        s.`sp_special_cid` = c.`cd_id`
        WHERE p.`b_state` = 0 AND c.`cd_state` =
        0
        AND c.`cd_card` = #{card} AND s.`sp_system_id` = #{systemId}
        ORDER BY
        p.`b_orderby`
    </select>
    <select id="listPageBySystemAndCard" resultMap="BaseResultMap">
        SELECT p.* FROM
        `yeshi_ec_special` p LEFT JOIN `yeshi_ec_special_card` c ON
        p.`b_card_id` = c.`cd_id`
        LEFT JOIN `yeshi_ec_super_special_card` s ON
        s.`sp_special_cid` = c.`cd_id`
        WHERE p.`b_state` = 0 AND c.`cd_state` =
        0 AND s.sp_id is not null
        AND c.`cd_card` = #{card} AND
        s.`sp_system_id` = #{systemId}
        ORDER BY
        p.`b_orderby`
        LIMIT
        ${start},${count}
    </select>
    <select id="listByPlaceKey" resultMap="BaseResultMap">
        SELECT sp.*,c.`cd_bottom_picture` FROM `yeshi_ec_special` sp
        RIGHT JOIN
        (SELECT c.* FROM yeshi_ec_special_card c
        LEFT JOIN
        `yeshi_ec_special_place` pc ON pc.`sp_id` = c.`cd_place_id`
        WHERE
        c.`cd_state` = 0
        AND IF(c.`cd_start_time` IS NULL,TRUE,
        c.`cd_start_time`<![CDATA[<=]]>NOW())
        AND IF(c.`cd_end_time` IS NULL,TRUE,c.`cd_end_time`<![CDATA[>=]]>NOW())
        AND pc.`sp_key` = #{placeKey}
        LIMIT 1)c ON sp.`b_card_id` = c.`cd_id`
        WHERE sp.`b_state` = 0
        <include refid="Sex_Screen" />
    </select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeshi.fanli.dao.mybatis.homemodule.SpecialMapper">
    <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.homemodule.Special">
        <id column="b_id" property="id" jdbcType="BIGINT" />
        <result column="b_name" property="name" jdbcType="VARCHAR" />
        <result column="b_card" property="card" jdbcType="VARCHAR" />
        <result column="b_card_id" property="cardId" jdbcType="BIGINT" />
        <result column="b_main_picture" property="picture" jdbcType="VARCHAR" />
        <result column="b_icon" property="icon" jdbcType="VARCHAR" />
        <result column="b_sub_picture" property="subPicture" jdbcType="VARCHAR" />
        <result column="b_params" property="params" jdbcType="VARCHAR" />
        <result column="b_jump_login" property="jumpLogin" jdbcType="VARCHAR" />
        <result column="b_orderby" property="orderby" jdbcType="INTEGER" />
        <result column="b_order_man" property="orderMan" jdbcType="INTEGER" />
        <result column="b_order_woman" property="orderWoman" jdbcType="INTEGER" />
        <result column="b_state" property="state" jdbcType="BIGINT" />
        <result column="b_sex" property="sex" jdbcType="INTEGER" />
        <result column="b_show_type" property="showType" jdbcType="VARCHAR" />
        <result column="b_remark" property="remark" jdbcType="VARCHAR" />
        <result column="b_platform" property="platform" jdbcType="INTEGER"/>
        <result column="b_version_code" property="versionCode" jdbcType="INTEGER"/>
        <result column="b_createtime" property="createtime" jdbcType="TIMESTAMP" />
        <result column="b_updatetime" property="updatetime" jdbcType="TIMESTAMP" />
        <!-- 背景图片 -->
        <result column="cd_bottom_picture" property="bottomPicture"
            jdbcType="VARCHAR" />
        <association property="jumpDetail" column="b_jumpid"
            select="com.yeshi.fanli.dao.mybatis.common.JumpDetailV2Mapper.selectByPrimaryKey">
        </association>
    </resultMap>
    <sql id="Base_Column_List">b_id,b_name,b_card,b_card_id,b_main_picture,b_icon,b_sub_picture,b_jumpid,b_params,b_jump_login,b_orderby,b_order_man,b_order_woman,b_state,b_sex,b_show_type,b_remark,b_platform,b_version_code,b_createtime,b_updatetime</sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_special where b_id = #{id,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_special where b_id = #{id,jdbcType=BIGINT}</delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special"
        useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_special
        (b_id,b_name,b_card,b_card_id,b_main_picture,b_icon,b_sub_picture,b_jumpid,b_params,b_jump_login,b_orderby,b_order_man,b_order_woman,b_state,b_sex,b_show_type,b_remark,b_platform,b_version_code,b_createtime,b_updatetime)
        values
        (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR},#{card,jdbcType=VARCHAR},#{cardId,jdbcType=BIGINT},#{picture,jdbcType=VARCHAR},#{icon,jdbcType=VARCHAR},#{subPicture,jdbcType=VARCHAR},#{jumpDetail.id,jdbcType=BIGINT},#{params,jdbcType=VARCHAR},#{jumpLogin,jdbcType=VARCHAR},#{orderby,jdbcType=INTEGER},#{orderMan,jdbcType=INTEGER},#{orderWoman,jdbcType=INTEGER},#{state,jdbcType=BIGINT},#{sex,jdbcType=INTEGER},#{showType,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{platform,jdbcType=INTEGER},#{versionCode,jdbcType=INTEGER},#{createtime,jdbcType=TIMESTAMP},#{updatetime,jdbcType=TIMESTAMP})</insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_special
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">b_id,</if>
            <if test="name != null">b_name,</if>
            <if test="card != null">b_card,</if>
            <if test="cardId != null">b_card_id,</if>
            <if test="picture != null">b_main_picture,</if>
            <if test="icon != null">b_icon,</if>
            <if test="subPicture != null">b_sub_picture,</if>
            <if test="jumpDetail != null">b_jumpid,</if>
            <if test="params != null">b_params,</if>
            <if test="jumpLogin != null">b_jump_login,</if>
            <if test="orderby != null">b_orderby,</if>
            <if test="orderMan != null">b_order_man,</if>
            <if test="orderWoman != null">b_order_woman,</if>
            <if test="state != null">b_state,</if>
            <if test="sex != null">b_sex,</if>
            <if test="showType != null">b_show_type,</if>
            <if test="remark != null">b_remark,</if>
            <if test="platform != null">b_platform,</if>
            <if test="versionCode != null">b_version_code,</if>
            <if test="createtime != null">b_createtime,</if>
            <if test="updatetime != null">b_updatetime,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="name != null">#{name,jdbcType=VARCHAR},</if>
            <if test="card != null">#{card,jdbcType=VARCHAR},</if>
            <if test="cardId != null">#{cardId,jdbcType=BIGINT},</if>
            <if test="picture != null">#{picture,jdbcType=VARCHAR},</if>
            <if test="icon != null">#{icon,jdbcType=VARCHAR},</if>
            <if test="subPicture != null">#{subPicture,jdbcType=VARCHAR},</if>
            <if test="jumpDetail != null">#{jumpDetail.id,jdbcType=BIGINT},</if>
            <if test="params != null">#{params,jdbcType=VARCHAR},</if>
            <if test="jumpLogin != null">#{jumpLogin,jdbcType=VARCHAR},</if>
            <if test="orderby != null">#{orderby,jdbcType=INTEGER},</if>
            <if test="orderMan != null">#{orderMan,jdbcType=INTEGER},</if>
            <if test="orderWoman != null">#{orderWoman,jdbcType=INTEGER},</if>
            <if test="state != null">#{state,jdbcType=BIGINT},</if>
            <if test="sex != null">#{sex,jdbcType=INTEGER},</if>
            <if test="showType != null">#{showType,jdbcType=VARCHAR},</if>
            <if test="remark != null">#{remark,jdbcType=VARCHAR},</if>
            <if test="platform != null">#{platform,jdbcType=INTEGER},</if>
            <if test="versionCode != null">#{versionCode,jdbcType=INTEGER},</if>
            <if test="createtime != null">#{createtime,jdbcType=TIMESTAMP},</if>
            <if test="updatetime != null">#{updatetime,jdbcType=TIMESTAMP},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special">update
        yeshi_ec_special set b_name = #{name,jdbcType=VARCHAR},b_card =
        #{card,jdbcType=VARCHAR},b_card_id =
        #{cardId,jdbcType=BIGINT},b_main_picture =
        #{picture,jdbcType=VARCHAR},b_icon =
        #{icon,jdbcType=VARCHAR},b_sub_picture =
        #{subPicture,jdbcType=VARCHAR},b_jumpid =
        #{jumpDetail.id,jdbcType=BIGINT},b_params =
        #{params,jdbcType=VARCHAR},b_jump_login =
        #{jumpLogin,jdbcType=VARCHAR},b_orderby =
        #{orderby,jdbcType=INTEGER},b_order_man =
        #{orderMan,jdbcType=INTEGER},b_order_woman =
        #{orderWoman,jdbcType=INTEGER},b_state =
        #{state,jdbcType=BIGINT},b_show_type =
        #{showType,jdbcType=VARCHAR},b_remark =
        #{remark,jdbcType=VARCHAR},b_platform = #{platform,jdbcType=INTEGER},b_version_code = #{versionCode,jdbcType=INTEGER},
        b_createtime =
        #{createtime,jdbcType=TIMESTAMP},b_updatetime =
        #{updatetime,jdbcType=TIMESTAMP},b_sex=#{sex,jdbcType=INTEGER} where
        b_id = #{id,jdbcType=BIGINT}</update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.homemodule.Special">
        update yeshi_ec_special
        <set>
            <if test="name != null">b_name=#{name,jdbcType=VARCHAR},</if>
            <if test="card != null">b_card=#{card,jdbcType=VARCHAR},</if>
            <if test="cardId != null">b_card_id=#{cardId,jdbcType=BIGINT},</if>
            <if test="picture != null">b_main_picture=#{picture,jdbcType=VARCHAR},</if>
            <if test="icon != null">b_icon=#{icon,jdbcType=VARCHAR},</if>
            <if test="subPicture != null">b_sub_picture=#{subPicture,jdbcType=VARCHAR},</if>
            <if test="jumpDetail != null">b_jumpid=#{jumpDetail.id,jdbcType=BIGINT},</if>
            <if test="params != null">b_params=#{params,jdbcType=VARCHAR},</if>
            <if test="jumpLogin != null">b_jump_login=#{jumpLogin,jdbcType=VARCHAR},</if>
            <if test="orderby != null">b_orderby=#{orderby,jdbcType=INTEGER},</if>
            <if test="orderMan != null">b_order_man=#{orderMan,jdbcType=INTEGER},</if>
            <if test="orderWoman != null">b_order_woman=#{orderWoman,jdbcType=INTEGER},</if>
            <if test="state != null">b_state=#{state,jdbcType=BIGINT},</if>
            <if test="sex != null">b_sex=#{sex,jdbcType=INTEGER},</if>
            <if test="showType != null">b_show_type=#{showType,jdbcType=VARCHAR},</if>
            <if test="remark != null">b_remark=#{remark,jdbcType=VARCHAR},</if>
            <if test="platform != null">b_platform=#{platform,jdbcType=INTEGER},</if>
              <if test="versionCode != null">b_version_code=#{versionCode,jdbcType=INTEGER},</if>
            <if test="createtime != null">b_createtime=#{createtime,jdbcType=TIMESTAMP},</if>
            <if test="updatetime != null">b_updatetime=#{updatetime,jdbcType=TIMESTAMP},</if>
        </set>
        where b_id = #{id,jdbcType=BIGINT}
    </update>
    <sql id="Sex_Screen">
        <!-- 通用版 -->
        <if test="sex == 0">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 0 OR sp.`b_sex` = 10
            OR sp.`b_sex` =
            20)
            ORDER BY sp.`b_orderby`
        </if>
        <!-- 女版 -->
        <if test="sex == 1">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 1 OR sp.`b_sex` = 10
            OR sp.`b_sex` =
            12)
            ORDER BY sp.`b_order_woman`
        </if>
        <!-- 男版 -->
        <if test="sex == 2">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 2 OR sp.`b_sex` = 20
            OR sp.`b_sex` =
            12)
            ORDER BY sp.`b_order_man`
        </if>
    </sql>
    <delete id="deleteBatchByPrimaryKey" parameterType="java.util.List">
        delete from yeshi_ec_special WHERE b_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </delete>
    <delete id="deleteBatchByCardID" parameterType="java.util.List">
        delete from yeshi_ec_special WHERE b_card_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </delete>
    <select id="queryByListPrimaryKey" parameterType="java.util.List"
        resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_special
        WHERE b_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </select>
    <select id="queryByListCardID" parameterType="java.util.List"
        resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_special
        WHERE b_card_id in
        <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
    </select>
    <select id="listQueryByCard" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM `yeshi_ec_special` sp
        WHERE sp.`b_card_id` = #{cardId}
        <if test='key != null and key != ""'>
            AND sp.b_name like '%${key}%'
        </if>
        <include refid="Sex_Screen" />
        LIMIT ${start},${count}
    </select>
    <select id="countlistQueryByCard" resultType="java.lang.Long">
        SELECT IFNULL(count(b_id),0) FROM `yeshi_ec_special` sp
        WHERE
        sp.`b_card_id` = #{cardId}
        <if test='key != null and key != ""'>
            AND sp.b_name like '%${key}%'
        </if>
        <include refid="Sex_Screen" />
    </select>
    <select id="getDefaultMaxOrder" resultType="java.lang.Integer">
        SELECT
        IFNULL(MAX(pp.b_orderby),0) FROM yeshi_ec_special pp
        WHERE
        pp.`b_card_id` = #{cardId}
    </select>
    <select id="getManMaxOrder" resultType="java.lang.Integer">
        SELECT
        IFNULL(MAX(pp.b_order_man),0) FROM yeshi_ec_special pp
        WHERE
        pp.`b_card_id` = #{cardId}
    </select>
    <select id="getWomanMaxOrder" resultType="java.lang.Integer">
        SELECT
        IFNULL(MAX(pp.b_order_woman),0) FROM yeshi_ec_special pp
        WHERE
        pp.`b_card_id` = #{cardId}
    </select>
    <select id="getOrderByCardID" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List" />
        FROM yeshi_ec_special sp
        WHERE sp.b_card_id = #{cardId}
        <!-- 通用版 -->
        <if test="sex == 0 or sex == 120">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 0 OR sp.`b_sex` = 10 OR
            sp.`b_sex` = 20)
            <if test="type == -1">
                <![CDATA[and sp.b_orderby < #{order}]]>
                order by sp.b_orderby desc
            </if>
            <if test="type == 1">
                <![CDATA[and sp.b_orderby > #{order} ]]>
                order by sp.b_orderby
            </if>
        </if>
        <!-- 女版 -->
        <if test="sex == 1">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 1 OR sp.`b_sex` = 10 OR
            sp.`b_sex` = 12)
            <if test="type == -1">
                <![CDATA[and sp.b_order_woman < #{order}]]>
                order by sp.b_order_woman desc
            </if>
            <if test="type == 1">
                <![CDATA[and sp.b_order_woman > #{order} ]]>
                order by sp.b_order_woman
            </if>
        </if>
        <!-- 男版 -->
        <if test="sex == 2">
            AND (sp.`b_sex`= 120 OR sp.`b_sex`= 2 OR sp.`b_sex` = 20 OR
            sp.`b_sex` = 12)
            <if test="type == -1">
                <![CDATA[and sp.b_order_man < #{order}]]>
                order by sp.b_order_man desc
            </if>
            <if test="type == 1">
                <![CDATA[and sp.b_order_man > #{order} ]]>
                order by sp.b_order_man
            </if>
        </if>
        limit 1
    </select>
    <select id="listBySystemAndCard" resultMap="BaseResultMap">
        SELECT p.* FROM
        `yeshi_ec_special` p LEFT JOIN `yeshi_ec_special_card` c ON
        p.`b_card_id` = c.`cd_id`
        LEFT JOIN `yeshi_ec_super_special_card` s ON
        s.`sp_special_cid` = c.`cd_id`
        WHERE p.`b_state` = 0 AND c.`cd_state` =
        0
        AND c.`cd_card` = #{card} AND s.`sp_system_id` = #{systemId}
        ORDER BY
        p.`b_orderby`
    </select>
    <select id="listByVersion" resultMap="BaseResultMap">
        SELECT p.* FROM`yeshi_ec_special` p
        LEFT JOIN `yeshi_ec_special_card` c ON p.`b_card_id` = c.`cd_id`
        WHERE p.`b_state` = 0 AND c.`cd_state` = 0 AND c.`cd_card` = #{card}
                 AND IF(p.`b_platform` IS NOT NULL, IF(#{versionCode} <![CDATA[>=]]> p.`b_version_code` AND p.`b_platform`=#{platform}, TRUE,FALSE), TRUE)
        ORDER BY p.`b_orderby`
        LIMIT ${start},${count}
    </select>
    <select id="listPageBySystemAndCard" resultMap="BaseResultMap">
        SELECT p.* FROM
        `yeshi_ec_special` p LEFT JOIN `yeshi_ec_special_card` c ON
        p.`b_card_id` = c.`cd_id`
        LEFT JOIN `yeshi_ec_super_special_card` s ON
        s.`sp_special_cid` = c.`cd_id`
        WHERE p.`b_state` = 0 AND c.`cd_state` =
        0 AND s.sp_id is not null
        AND c.`cd_card` = #{card} AND
        s.`sp_system_id` = #{systemId}
        ORDER BY
        p.`b_orderby`
        LIMIT
        ${start},${count}
    </select>
    <select id="listByPlaceKey" resultMap="BaseResultMap">
        SELECT sp.*,c.`cd_bottom_picture` FROM `yeshi_ec_special` sp
        RIGHT JOIN
        (SELECT c.* FROM yeshi_ec_special_card c
        LEFT JOIN
        `yeshi_ec_special_place` pc ON pc.`sp_id` = c.`cd_place_id`
        WHERE
        c.`cd_state` = 0
        AND IF(c.`cd_start_time` IS NULL,TRUE,
        c.`cd_start_time`<![CDATA[<=]]>NOW())
        AND IF(c.`cd_end_time` IS NULL,TRUE,c.`cd_end_time`<![CDATA[>=]]>NOW())
        AND pc.`sp_key` = #{placeKey}
        LIMIT 1)c ON sp.`b_card_id` = c.`cd_id`
        WHERE sp.`b_state` = 0
        <include refid="Sex_Screen" />
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
@@ -18,11 +18,13 @@
import com.yeshi.fanli.dao.mybatis.homemodule.SpecialMapper;
import com.yeshi.fanli.dto.common.CommonContentTypeEnum;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.Special;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.exception.homemodule.SpecialException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.homemodule.SpecialCardService;
import com.yeshi.fanli.service.inter.homemodule.SpecialPlaceService;
@@ -50,6 +52,10 @@
    @Resource
    private ConfigService configService;
    @Resource
    private AppVersionService appVersionService;
    @Override
    public Special selectByPrimaryKey(Long id) {
@@ -73,6 +79,26 @@
        Integer sex = record.getSex();
        if (sex == null) {
            throw new SpecialException(1, "性别不能为空");
        }
        String version = record.getVersion();
        Integer platformCode = record.getPlatform();
        if (!StringUtil.isNullOrEmpty(version) && platformCode != null) {
            String platform = "android";
            if (platformCode == 2)
                platform = "ios";
            AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, version);
            if (versionInfo == null)
                throw new SpecialException(1, "版本号信息缺失");
            record.setVersionCode(versionInfo.getVersionCode());
            record.setPlatform(platformCode);
        } else {
            if (!StringUtil.isNullOrEmpty(version))
                throw new SpecialException(1, "平台类型不能为空");
            if (platformCode != null)
                throw new SpecialException(1, "版本号不能为空");
        }
        String params = record.getParams();
@@ -366,6 +392,13 @@
    }
    @Override
    @Cacheable(value = "specialCache", key = "'listByVersion-'+#start+'-'+#count+'-'+#card+'-'+#platform+'-'+#versionCode")
    public List<Special> listByVersion(long start, int count, String card, Integer platform, Integer versionCode) {
        return specialMapper.listByVersion(start, count, card, platform, versionCode);
    }
    @Override
    @Cacheable(value = "specialCache", key = "'listCacheSpecialToIndex'+#acceptData.platform+'-'+#acceptData.version+'-'+#sex")
    public JSONObject listCacheSpecialToIndex(AcceptData acceptData, Integer sex) throws Exception {
fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SpecialService.java
@@ -96,4 +96,17 @@
     */
    public List<Special> listByPlaceKey(String placeKey);
    /**
     * 专题 版本区分
     * @param start
     * @param count
     * @param card
     * @param systemId
     * @param platform
     * @param versionCode
     * @return
     */
    public List<Special> listByVersion(long start, int count, String card, Integer platform, Integer versionCode);
}