const system=require("../../system");
const ServiceBase=require("../sve.base");
class ArticleService extends ServiceBase{
    constructor(){
        super(ServiceBase.getDaoName(ArticleService));
        this.newschannelDao=system.getObject("db.newschannelDao");
    }

    //获取频道列表
    async findChannel(obj){
        // const apps=await super.findAndCountAll(obj);
        var usageType = obj.usageType;
        if(usageType==null||usageType==""||usageType=="undefined"){
            return {code:-101,msg:"参数有误",data:null};
        }
        try {
            var sqlwhere = {
                where: {usageType:usageType},
                attributes: ["id", "code", "title", "bgimg", "isPubed", "usageType", "app_id"],
                order: [["orderNo", 'ASC']],
                raw: true
            };
            var list = await this.newschannelDao.model.findAll(sqlwhere);
            if (list == null || list.length == 0) {
                return {code:0,msg:"没有信息",data:null};
            }else {
                return {code:1,msg:"操作成功",data:list};
            }
        }catch (e) {
            return {code:-1,msg:"操作失败",data:null};
        }
    }

    //获取该频道所有列表
    async findAndCountAll2(obj){
        // const apps=await super.findAndCountAll(obj);
        var newschannel = obj.newschannel_id;
        var pageSize=obj.page_size;
        var currentPage=obj.current_page;
        if(newschannel==null||newschannel==""||newschannel=="undefined"){
            return {code:-101,msg:"参数有误",data:null};
        }
        if(pageSize==null||pageSize==""||pageSize=="undefined"){
            pageSize="";
        }
        if(currentPage==null||currentPage==""||currentPage=="undefined"){
            currentPage="";
        }
        try {
            var sqlwhere = {
                where: {newschannel_id:newschannel},
                attributes: ["id","code", "title", "listimg", "videourl", "desc", "mediaType", "usageType",
                    "test","newschannel_id", "app_id"],
                order: [["orderNo", 'ASC']],
                raw: true
            };
            if(pageSize!=""&&currentPage!=""){
                var tPageSize=Number(pageSize);
                var tCurrentPage=Number(currentPage);
                if(tCurrentPage<1){
                    tCurrentPage=1;
                }
                if(tPageSize>50){
                    tPageSize=50;
                }
                if(tPageSize<1){
                    tPageSize=1;
                }
                sqlwhere.limit=tPageSize;
                sqlwhere.offset= (tCurrentPage - 1) * tPageSize;
            }
            var list = await this.dao.model.findAll(sqlwhere);
            if (list == null || list.length == 0) {
                return {code:0,msg:"没有信息",data:null};
            }else {
                return {code:1,msg:"操作成功",data:list};
            }
        }catch (e) {
            return {code:-1,msg:"操作失败",data:null};
        }
        //  apps.forEach(a=>{
        //    if(a.content && a.content!=""){
        //       a.content=decodeURIComponent(a.content);
        //    }
        //  });
        // console.log("xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxx");
        // for(var arch of apps.rows){
        //   var c=arch.content.toString("utf-8") ;
        //   console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
        //   console.log(c);
        //   if(c && c!=""){
        //      arch.content=c;
        //   }
        // }
        //  return apps;
    }

    //获取详细信息
    async findArticle(obj){
        // const apps=await super.findAndCountAll(obj);
        var id = obj.id;
        if(id==null||id==""||id=="undefined"){
            return {code:-101,msg:"参数有误",data:null};
        }
        try {
            var sqlwhere = {
                where: {id:id},
                attributes: ["id","code", "title", "listimg", "videourl", "desc", "content", "mediaType", "usageType",
                    "test", "app_id"],
                order: [["created_at", 'desc']],
                raw: true
            };
            var list = await this.dao.model.findOne(sqlwhere);
            if (list == null || list.length == 0) {
                return {code:0,msg:"没有信息",data:null};
            }else {
                return {code:1,msg:"操作成功",data:list};
            }
        }catch (e) {
            return {code:-1,msg:"操作失败",data:null};
        }
    }

}
module.exports=ArticleService;