@page @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Mvc @using System.Collections.Generic; @using System.Data; @using System.Data.SqlClient; @using ZoomLa.BLL; @using ZoomLa.BLL.API; @using ZoomLa.Common; @using ZoomLa.Model; @using ZoomLa.Safe; @using ZoomLa.SQLDAL; @using ZoomLa.SQLDAL.SQL; @using Newtonsoft.Json; @using Newtonsoft.Json.Linq; @using ZoomLa.AppCode.Verify; @using ZoomLa.Extend.WXAPP; @using ZoomLa.BLL.Content; @model PageModel @functions{ public class PageModel : Page_Base { public B_Node nodeBll = new B_Node(); public string action { get { return GetParam("action"); } } public override int Mid { get { return DataConvert.CLng(GetParam("id")); } } M_APIResult ret = new M_APIResult(); public IActionResult OnGet() { return ActionDeal(); } public IActionResult OnPost() { return ActionDeal(); } //============================================================================================================ private IActionResult ActionDeal() { if (SiteConfig.SiteInfo.APIClose) {throw new Exception("close"); } try { switch (action) { case "content_list": { Com_Filter filter = new Com_Filter() { ids = GetParam("ids"), nids = GetParam("nids"), storeId=DataConvert.CLng(GetParam("nid")) }; PageSetting setting = Content_List(filter); ret.retcode = M_APIResult.Success; ret.result = JsonConvert.SerializeObject(setting.dt); ret.page = new M_API_Page(setting); } break; case "content_get"://详情内容 { DataTable dt = Content_List(new Com_Filter() { ids = Req("id") }).dt; if (dt.Rows.Count < 1) { throw new Exception("内容不存在"); } ret.retcode = M_APIResult.Success; ret.result = JsonConvert.SerializeObject(dt); } break; case "node_list": { string ntype = Req("ntype"); int pid = DataConvert.CLng(GetParam("pid"), -100); int nid = DataConvert.CLng(GetParam("nid")); string where = "1=1 "; if (pid != -100) { where += " AND (ParentID=" + pid+" OR NodeID="+pid+")"; } if(nid>0) { where+=" AND NodeID="+nid; } switch (ntype) { case "product": where += " AND NodeListType=2"; break; case "store": where += " AND NodeListType=5"; break; case "all": break; default://内容节点 where += " AND NodeListType=1"; break; } //----------------------------------- DataTable dt = DBCenter.Sel("ZL_Node", where); dt = dt.DefaultView.ToTable(true, "NodeID", "NodeName"); ret.result = JsonConvert.SerializeObject(dt); ret.retcode = M_APIResult.Success; } break; case "node_get": { M_Node node = nodeBll.SelReturnModel(Mid); ret.result = JsonConvert.SerializeObject(node); } break; case "product_list": { } break; case "product_get": break; default: break; } } catch (Exception ex) { ret.retcode = M_APIResult.Success;ret.retmsg = ex.Message; } ret.callback = GetParam("callback"); return Content(ret.ToString()); } private string Req(string name) { return GetParam(name); } private PageSetting Content_List(Com_Filter filter) { //专用修改,只允许上传一个节点ID,节点取第一个绑定的模型 int elite = DataConvert.CLng(Req("elite"));//是否只抽推荐内容 int modelId = 0; if (filter.storeId > 0) { modelId = DataConvert.CLng(DataConvert.CStr(DBCenter.ExecuteScala("ZL_Node", "ContentModel", "NodeID=" + filter.storeId)).Split(',')[0]); } else if (DataConvert.CLng(filter.ids) > 0) { modelId = DataConvert.CLng(DBCenter.ExecuteScala("ZL_CommonModel", "ModelID", "GeneralID=" + DataConvert.CLng(filter.ids))); } //---------------------- if (modelId < 1) { throw new Exception("未绑定模型"); } PageSetting setting = new PageSetting() { cpage = CPage, psize = PSize }; setting.pk = "GeneralID"; setting.t1 = "ZL_CommonModel"; setting.on = "A.ItemID=B.ID"; setting.fields = "A.Title,A.GeneralID,A.CreateTime,A.Inputer,A.NodeID,A.ModelID"; setting.fields += ",B.*";//以B.pic为准 setting.where = "A.Status=99"; if (filter.storeId != -100) { setting.where += " AND NodeID IN (" + filter.storeId + ")"; } if (!string.IsNullOrEmpty(filter.ids)) { SafeSC.CheckDataEx(filter.ids); setting.where += " AND GeneralID IN (" + filter.ids + ")"; } if (elite > 0) { setting.where += " AND EliteLevel=1 "; } setting.order = "OrderID DESC,GeneralID DESC"; string tbName = DataConvert.CStr(DBCenter.ExecuteScala("ZL_Model", "TableName", "ModelID=" + modelId)); setting.t2 = tbName; //setting.debug = true; DBCenter.SelPage(setting); return setting; } } } @{ Layout = null; }