package com.unis.sxzcl.ui.notice;

import android.widget.TextView;

import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.module.LoadMoreModule;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.unis.model.bean.notice.NoticeBean;
import com.unis.sxzcl.R;

import org.jetbrains.annotations.NotNull;


/**
 * 通知列表Adapter
 * 创建人: mQ
 * 时间: 2020/11/24 11:28
 */
public class NoticeListAdapter extends BaseQuickAdapter<NoticeBean, BaseViewHolder>
        implements LoadMoreModule {

    private ReadCallback mReadCallback;

    public NoticeListAdapter() {
        super(R.layout.item_list_notice);
    }

    @Override
    protected void convert(@NotNull BaseViewHolder holder, NoticeBean item) {
        TextView tvType = holder.getView(R.id.tv_type);
        TextView tvTitle = holder.getView(R.id.tv_title);
        TextView tvContent = holder.getView(R.id.tv_content);

        tvType.setText("待办");
        tvTitle.setText(item.getContent());
        StringBuilder sb = new StringBuilder();
        if (item.getWarehouse() != null) {
            sb.append("仓号: ")
                    .append(item.getWarehouse())
                    .append("\n");
        }
        if (item.getApplyName() != null) {
            sb.append("申请人: ")
                    .append(item.getApplyName())
                    .append("\n");
        }
        if (item.getApplyDept() != null) {
            sb.append("申请部门: ")
                    .append(item.getApplyDept())
                    .append("\n");
        }
        if (item.getOrgName() != null) {
            sb.append("公司: ")
                    .append(item.getOrgName())
                    .append("\n");
        }
        tvContent.setText(sb.toString());


//        switch (item.type) {
//            case NoticeType.AUDIT:
//                tvType.setText("审批");
//                tvTitle.setText("您的机械通风申请审批已通过，请知晓");
//                tvContent.setVisibility(View.VISIBLE);
//                tvContent.setText("仓号: 1号仓\n申请人: 王全德\n申请部门: 仓储部\n公司: xxx公司");
//                break;
//            case NoticeType.TODO:
//                tvType.setText("待办");
//                tvTitle.setText("保管员每周粮情检查，倒计时1天，去检查粮情！");
//                tvContent.setVisibility(View.VISIBLE);
//                tvContent.setText("仓号: 1号仓\n公司: xxx公司");
//                break;
//            case NoticeType.SYSTEM:
//                tvType.setText("系统");
//                tvTitle.setText("亲爱的用户，您好！欢迎使用中储粮标准化管理云平台！为了更好的为您服务，请先阅读《标准化管理云平台操作手册》，如在使用过程中有任何疑问，请及时在QQ管理群提问。QQ:322930404");
//                tvContent.setVisibility(View.INVISIBLE);
//                break;
//        }

        //已读状态
        TextView tvRead = holder.getView(R.id.tv_read);
        if (item.getReadStatus() != null && item.getReadStatus()) {
            tvRead.setText("已读");
            tvRead.setEnabled(false);
        } else {
            tvRead.setText("标记已读");
            tvRead.setEnabled(true);
        }
        tvRead.setTag(item);
        tvRead.setOnClickListener(v -> {
            if (mReadCallback != null) {
                mReadCallback.onReadListener((NoticeBean) v.getTag());
            }
        });
    }

    public void setReadCallback(ReadCallback readCallback) {
        mReadCallback = readCallback;
    }

    public interface ReadCallback {
        void onReadListener(NoticeBean item);
    }
}
