ChannelBean.java 7.9 KB
package com.wd.foundation.bean.response;

import android.text.TextUtils;

import java.io.Serializable;

/**
 * 首页底部导航栏单个数据<BR>
 *
 * @author liyubing
 * @version [V1.0.0, 2022/7/13]
 * @since V1.0.0
 */
public class ChannelBean implements Serializable {

    /**
     *  频道关联页面id
     */
    private String pageId;

    /**
     *  频道名称
     */
    private String name;

    /**
     *  频道id
     */
    private String channelId;

    /**
     *  频道样式;1-沉浸式;2-信息流
     */
    private String channelStyle;

    /**
     * 频道类型:1:主频道 2:地方频道,3:关注频道
     */
    private int channelType;


    /**
     * 频道按钮图片样式--未选中
     */
    private String iconUrl;

    /**
     * 频道按钮图片样式--选中
     */
    private String iconCUrl;

    private String iconUrlSize;
    /**
     * 首页设置根据这个排序20230828
     * */
    public int num;

    /**
     * 下划线颜色-选中
     */
    private String underlineCColor;

    /**
     * 头条标识 0:否, 1:是;【是否头条=是的频道,固定排序在第一位,且不可移出/移动】
     */
    private int headlinesOn;

    /**
     * 允许移动 0:否, 1:是;【位置属性】
     */
    private int movePermitted;
    /**
     * 允许删除 0:否, 1:是;【撤销属性】
     */
    private int delPermitted;
    /**
     *  允许设置为默认首页 0:否, 1:是;【首页设置频道】
     */
    private int defaultPermitted;


    // 国殇 true:开启;false:关闭
    private boolean grayFlag;
    /**
     *  //	string 必须 是否首页设置;0否,1是
     * */
    public String homeChannel;
    /**
     * //	string 必须 是否我的频道;0否,1是
     * */
    public String myChannel;
    /**
     * //	string 必须 是否更多频道;0否,1是
     * */
    public String moreChannel;
    /**
     * //	string 必须 是否地方频道;0否,1是
     * */
    public String localChannel;


    //本地字段 频道字体颜色-未选中
    private String fontColor;

    // 本地字段 频道字体颜色-选中
    private String fontCColor;

    private String fontMiddleColor;

    // 本地字段 是否要显示下划线
    private boolean showLine = true;
    public String[] sameIds;
    /**
     * 是否时间线 1 推荐, 2时间线
     */
    public int channelStrategy;

    public String getPageId() {
        return pageId;
    }

    public void setPageId(String pageId) {
        this.pageId = pageId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getFontColor() {
        return fontColor;
    }

    public void setFontColor(String fontColor) {
        this.fontColor = fontColor;
    }

    public String getFontCColor() {
        return fontCColor;
    }

    public void setFontCColor(String fontCColor) {
        this.fontCColor = fontCColor;
    }

    public int getChannelType() {
        return channelType;
    }

    public void setChannelType(int channelType) {
        this.channelType = channelType;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public String getChannelStyle() {
        return channelStyle;
    }

    public void setChannelStyle(String channelStyle) {
        this.channelStyle = channelStyle;
    }

    public String getIconUrl() {
        return iconUrl;
    }

    public void setIconUrl(String iconUrl) {
        this.iconUrl = iconUrl;
    }

    public String getIconCUrl() {
        return iconCUrl;
    }

    public void setIconCUrl(String iconCUrl) {
        this.iconCUrl = iconCUrl;
    }

    public String getUnderlineCColor() {
        return underlineCColor;
    }

    public String getFontMiddleColor() {
        return fontMiddleColor;
    }

    public void setFontMiddleColor(String fontMiddleColor) {
        this.fontMiddleColor = fontMiddleColor;
    }

    public void setUnderlineCColor(String underlineCColor) {
        this.underlineCColor = underlineCColor;
    }

    public int getHeadlinesOn() {
        return headlinesOn;
    }

    public void setHeadlinesOn(int headlinesOn) {
        this.headlinesOn = headlinesOn;
    }

    public int getMovePermitted() {
        return movePermitted;
    }

    public void setMovePermitted(int movePermitted) {
        this.movePermitted = movePermitted;
    }

    public int getDelPermitted() {
        return delPermitted;
    }

    public void setDelPermitted(int delPermitted) {
        this.delPermitted = delPermitted;
    }

    public int getDefaultPermitted() {
        return defaultPermitted;
    }

    public void setDefaultPermitted(int defaultPermitted) {
        this.defaultPermitted = defaultPermitted;
    }

    public String getIconUrlSize() {
        return iconUrlSize;
    }

    public void setIconUrlSize(String iconUrlSize) {
        this.iconUrlSize = iconUrlSize;
    }

    public boolean isGrayFlag() {
        return grayFlag;
    }

    public void setGrayFlag(boolean grayFlag) {
        this.grayFlag = grayFlag;
    }

    public boolean isImmersePage() {
        return "1".equals(channelStyle);
    }

    public boolean isShowLine() {
        return showLine;
    }

    public void setShowLine(boolean showLine) {
        this.showLine = showLine;
    }

    public int getChannelStrategy() {
        return channelStrategy;
    }

    public void setChannelStrategy(int channelStrategy) {
        this.channelStrategy = channelStrategy;
    }

    /**
     *  关注频道页面
     * @return
     */
    public boolean isFollowChannelPage(){
        return 3 == channelType;
    }

    /**
     * 同步新数据
     * */
    public void updateData(ChannelBean channelBean){
        //设置接口字段数据
        pageId = channelBean.pageId;
        name = channelBean.name;
        channelStyle = channelBean.channelStyle;
        channelType = channelBean.channelType;
        channelStrategy = channelBean.channelStrategy;
        fontColor = channelBean.fontColor;
        fontCColor = channelBean.fontCColor;
        iconUrl = channelBean.iconUrl;
        iconCUrl = channelBean.iconCUrl;
        underlineCColor = channelBean.underlineCColor;
        headlinesOn = channelBean.headlinesOn;
        movePermitted = channelBean.movePermitted;
        delPermitted = channelBean.delPermitted;
        defaultPermitted = channelBean.defaultPermitted;
        grayFlag = channelBean.grayFlag;
    }

    /**
     *   是特殊频道
     * @return true:特殊频道,跳转到指定页面
     */
    public boolean isSpecialChannel(){
        return "3".equals(channelStyle);
    }

    /**
     * 获取图片宽高数组
     *
     * @return
     */
    public int[] getImageWHArray() {
        String coverSize = getIconUrlSize();
        if ( !TextUtils.isEmpty(coverSize)) {
            String[] widthHeigh = coverSize.split("\\*");
            if (2 == widthHeigh.length) {
                try {
                    int width = Integer.parseInt(widthHeigh[0]);
                    int heigth = Integer.parseInt(widthHeigh[1]);

                    int[] imageArray = new int[2];
                    imageArray[0] = width;
                    imageArray[1] = heigth;
                    return imageArray;
                } catch (NumberFormatException e) {
                    e.printStackTrace();
                }
            }
        }

        return null;
    }




    /**
     * 依据宽度比,计算新的高度
     *
     * @param height
     * @return
     */
    public int getCalWithByH(float height) {

        int[] whArray = getImageWHArray();
        if (whArray != null) {
            int w = whArray[0];
            int h = whArray[1];
            float calH = height * w / h;
            return (int) calH;
        } else {
            return 0;
        }
    }
}