@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.BLL.Content; @using ZoomLa.BLL.CreateJS; @using ZoomLa.BLL.Helper; @using ZoomLa.BLL.Other; @using ZoomLa.BLL.Shop; @using ZoomLa.BLL.User; @using ZoomLa.Common; @using ZoomLa.Components; @using ZoomLa.Extend; @using ZoomLa.Extend.WXAPP; @using ZoomLa.Model; @using ZoomLa.Model.Content; @using ZoomLa.Model.Shop; @using ZoomLa.Model.User @using ZoomLa.Safe; @using ZoomLa.SQLDAL; @using ZoomLa.SQLDAL.SQL; @using Newtonsoft.Json; @using Newtonsoft.Json.Linq; @using ZoomLa.AppCode.Verify; @model PageModel @functions{ public class PageModel : Page_Base { B_Payment payBll = new B_Payment(); B_Favorite favBll = new B_Favorite(); B_Node nodeBll = new B_Node(); B_Cart cartBll = new B_Cart(); B_CartPro cpBll = new B_CartPro(); B_OrderList orderBll = new B_OrderList(); B_Product proBll = new B_Product(); B_Content conBll = new B_Content(); B_Cash cashBll = new B_Cash(); B_User_Bank bankBll = new B_User_Bank(); B_CodeModel ubBll = new B_CodeModel("ZL_UserBase"); B_LiteUser liteBll = new B_LiteUser(); B_Pub pubBll = new B_Pub(); //------------------------------------------------------------ public string ApiKey = "ZLWXAPP137934j&21"; public string siteUrl = SiteConfig.SiteInfo.SiteUrl+"/"; public int AppId { get { return DataConvert.CLng(Req("appId"), 1); } } public string action { get { return Req("action"); } } public override int Mid { get { return DataConvert.CLng(Request.GetParam("id")); } } public int PubID { get { return DataConvert.CLng(Req("pubid")); } } M_LiteUser litemu = new M_LiteUser(); M_APIResult retMod = new M_APIResult(M_APIResult.Failed); public M_UserInfo _mu = null; public new M_UserInfo mu { get { if (litemu == null || litemu.userId < 1) { return new M_UserInfo(); } else if (_mu == null || _mu.UserID == 0) { _mu = buser.SelReturnModel(litemu.userId); } return _mu; } } private WXAPPAPI _api = null; private WXAPPAPI api { get { if (_api == null) { _api = WXAPPAPI.Code_Get(AppId); } return _api; } } //------------------------------------------------------------ public IActionResult OnGet() { return ActionDeal(); } public IActionResult OnPost() { return ActionDeal(); } public IActionResult OnPostUpload()//暂只允许上传图片 { throw new Exception("closed"); //context.Response.ContentType = "text/plain"; //context.Request.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); //context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); var file = Request.Form.Files["file"]; try { if (file == null || file.Length < 1) { throw new Exception("未指定需上传的文件"); } if (SafeSC.FileNameCheck(file.FileName)) { throw new Exception("不允许上传该后缀名的文件"); } string savePath = ZLHelper.GetUploadDir_System("wxapp", "images", "yyyyMMdd"); string filename = DateTime.Now.ToString("HHmmss") + function.GetRandomString(6, 2) + ".png"; retMod.retcode = M_APIResult.Success; retMod.result = SafeC.SaveFile(savePath, filename, file.OpenReadStream(), (int)file.Length); } catch (Exception ex) { retMod.retmsg = ex.Message; } return Content(retMod.ToString()); } //============================================================================================================ private IActionResult ActionDeal() { if (SiteConfig.SiteInfo.APIClose) {throw new Exception("close"); } litemu = liteBll.SelModelByOpenId(Req("openid")); M_Pub pubMod = pubBll.SelReturnModel(PubID); try { switch (action) { #region 项目 case "packet_index"://将首页信息打包 { Packet_Index model = new Packet_Index(); //修改为读取images字段 DataTable swiperDT = WXAppData.Content_Get(new Com_Filter() { skey_match = "首页_滑动门" }, "ZL_C_APIXX"); if (swiperDT.Rows.Count > 0) { model.swiper = DataConvert.CStr(swiperDT.Rows[0]["images"]); } //model.img1 = WXAppData.Content_Get(new Com_Filter() { skey_match = "首页_必抢尖货" }); //model.img2 = WXAppData.Content_Get(new Com_Filter() { skey_match = "首页_热销爆款推荐" }); //model.prolist = WXAppData.Product_Sel(1, 6, new Com_Filter() { }); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(model); } break; #endregion #region 节点 case "node_list"://分类节点信息(首页只显示第二级节点) { string ntype = Req("ntype"); DataTable dt = new DataTable(); switch (ntype) { case "product": dt = nodeBll.SelByPid(2, true); break; case "content": default: dt = nodeBll.Sel(); break; } dt = dt.DefaultView.ToTable(true, "NodeID", "NodeName"); retMod.result = JsonConvert.SerializeObject(dt); retMod.retcode = M_APIResult.Success; } break; #endregion #region 内容 case "content_list": { //支持pic:单图,pics:多图(三图预览) //专用修改,只允许上传一个节点ID,节点取第一个绑定的模型 int nid = DataConvert.CLng(Req("nid"));//要取哪个节点的数据 int elite = DataConvert.CLng(Req("elite"));//是否只抽推荐内容 int modelId = DataConvert.CLng(DataConvert.CStr(DBCenter.ExecuteScala("ZL_Node", "ContentModel", "NodeID=" + nid)).Split(',')[0]); string ids = Req("ids"); //---------------------- if (nid < 1) { throw new Exception("未指定节点"); } 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"; setting.fields += ",B.*";//以B.pic为准 setting.where = "A.Status=99 AND NodeID IN (" + nid + ")"; if (!string.IsNullOrEmpty(ids)) { SafeSC.CheckDataEx(ids); setting.where += " AND GeneralID IN (" + 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; DBCenter.SelPage(setting); //------------修改缩略图路径(统一使用Pic字段) if (setting.dt.Columns.Contains("pic")) { for (int i = 0; i < setting.dt.Rows.Count; i++) { DataRow dr = setting.dt.Rows[i]; dr["pic"] = WXAppData.H_ImageUrl(DataConvert.CStr(dr["pic"])); } } retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(setting.dt); retMod.page = new M_API_Page(setting); } break; case "content_add"://添加一篇内容 { //正文与附属内容 string content = Req("content"); string addon = Req("addon"); if (string.IsNullOrEmpty(content)) { throw new Exception("未指定内容"); } if (string.IsNullOrEmpty(addon)) { throw new Exception("未指定附表内容"); } M_CommonData conMod = JsonConvert.DeserializeObject(content); string tbname = DataConvert.CStr(DBCenter.ExecuteScala("ZL_Model", "TableName", "ModelID=" + conMod.ModelID)); conMod.Status = (int)ZLEnum.ConStatus.Recycle; conMod.CreateTime = DateTime.Now; conMod.UpDateTime = DateTime.Now; conMod.TableName = tbname; DataTable dt = JsonConvert.DeserializeObject("[" + addon + "]"); DataRow dr = dt.Rows[0]; //-------------------------- conMod.ItemID = DBCenter.Insert(tbname, BLLCommon.GetFields(dr), BLLCommon.GetParas(dr), BLLCommon.GetParameters(dr)); conMod.GeneralID = DBCenter.Insert(conMod); retMod.retcode = M_APIResult.Success; retMod.result = conMod.GeneralID.ToString(); } break; case "content_get"://单条内容获取,用于显示内容详情 { int id = DataConvert.CLng(Req("id")); DataTable dt = WXAppData.Content_Get(id); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(dt); } break; #endregion #region 商品 case "index_tops"://首页推荐滚动图与商品 { int nid = DataConvert.CLng(Req("nid")); DataTable dt = WXAppData.Product_Sel(1, 4, new Com_Filter() { pid = nid }); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(dt); } break; case "product_list"://根据节点等条件获取商品列表 { int nid = DataConvert.CLng(Req("nid")); int storeId = DataConvert.CLng(Req("storeId")); PageSetting setting = new PageSetting() { t1 = "ZL_Commodities", fields = "ID,Proname,Proinfo,LinPrice,Thumbnails" }; setting.cpage = CPage; setting.psize = PSize; if (nid > 1)//获取其和其下子节点的数据 { setting.where = "NodeID IN (" + WXAppData.H_GetNodeIDS(nid) + ")"; } else { setting.where = " 1=1 "; } setting.where += " AND Sales=1 "; if (storeId > 0) { setting.where += " AND UserShopID=" + storeId; } setting.order = "ID DESC"; DBCenter.SelPage(setting); for (int i = 0; i < setting.dt.Rows.Count; i++) { setting.dt.Rows[i]["Thumbnails"] = WXAppData.H_ImageUrl(DataConvert.CStr(setting.dt.Rows[i]["Thumbnails"])); } retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(setting.dt); retMod.page = new M_API_Page(setting); } break; case "product_get"://商品详情信息 { string fields = "A.ID,A.NodeID,A.ModelID,A.Proname,A.ProUnit,A.Procontent,A.Thumbnails,A.UserShopID"; fields += ",A.Stock,A.LinPrice,A.ShiPrice,A.AddUser,A.AddTime,A.AllClickNum,A.UserID,A.Addon"; fields += ",B.*"; DataTable dt = DBCenter.JoinQuery(fields, "ZL_Commodities", "ZL_P_Shop", "A.ItemID=B.ID", "A.ID=" + Mid, "", null, "A.ID"); if (dt.Rows.Count < 1) { throw new Exception("商品[" + Mid + "]不存在"); } DataRow dr = dt.Rows[0]; dr["Procontent"] = DataConvert.CStr(dr["Procontent"]).Replace("/UploadFiles/", siteUrl + "/UploadFiles/"); dr["Thumbnails"] = WXAppData.H_ImageUrl(DataConvert.CStr(dr["Thumbnails"])); if (DataConvert.CLng(dr["UserShopID"]) < 1) { dr["Addon"] = "自营商城"; } else { dr["Addon"] = DataConvert.CStr(DBCenter.ExecuteScala("ZL_CommonModel", "Title", "GeneralID=" + dr["UserShopID"])); } retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(dt); } break; case "store_get": { B_Store_Info stBll = new B_Store_Info(); M_Store_Info storeMod = stBll.SelReturnModel(Mid); storeMod.InfoDR = null; //storeMod.Hits++; //DBCenter.UpdateSQL(storeMod.TbName, "Hits=" + storeMod.Hits, "GeneralID=" + storeMod.ID); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(storeMod); } break; #endregion #region 互动 case "pub_add": { if (pubMod == null || string.IsNullOrEmpty(pubMod.PubTableName)) { throw new Exception("互动信息错误"); } string model = GetParam("model"); DataTable dt = JsonConvert.DeserializeObject("[" + GetParam("model") + "]"); Pub_ForDataColumn(pubMod, dt); DataRow dr = dt.Rows[0]; int id = DBCenter.Insert(pubMod.PubTableName, BLLCommon.GetFields(dr), BLLCommon.GetParas(dr), BLLCommon.GetParameters(dr)); retMod.retcode = M_APIResult.Success; } break; case "pub_edit": { string model = GetParam("model"); //修改对用户ID校验 //DataTable dt = JsonConvert.DeserializeObject(Mdata); //Pub_ForDataColumn(pubMod, dt); //DataRow dr = dt.Rows[0]; //List splist = new List(); //splist.AddRange(BLLCommon.GetParameters(dr)); //DBCenter.UpdateSQL(pubMod.PubTableName, BLLCommon.GetFieldAndPara(dr), "ID=" + Mid + " AND PubUserID=" + mu.UserID, splist); //retMod.retcode = M_APIResult.Success; } break; case "pub_del": { if (pubMod == null || string.IsNullOrEmpty(pubMod.PubTableName)) { throw new Exception("互动信息错误"); } DBCenter.DelByWhere(pubMod.PubTableName, "ID=" + Mid + " AND PubUserID=" + mu.UserID); retMod.retcode = M_APIResult.Success; } break; case "pub_list"://用于取出指定的互动列表,或单条的数据 { if (pubMod == null || string.IsNullOrEmpty(pubMod.PubTableName)) { throw new Exception("互动信息错误"); } string where = "1=1 "; where += " AND PubUserID=" + mu.UserID; if (Mid > 0) { where += " AND ID=" + Mid; } PageSetting setting = new PageSetting() { cpage = CPage, psize = PSize, t1 = pubMod.PubTableName, where = where, order = "ID DESC" }; DBCenter.SelPage(setting); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(setting.dt); retMod.page = new M_API_Page(setting); } break; case "pub_view"://仅用于列表展示 { //string where = "PubUserID=" + mu.UserID; //PageSetting setting = PageSetting.Single(1, 30, "ZL_Ex_PubView", "ID", where, "PubAddTime DESC", null, "*"); //setting.pageMethod = "row"; //DBCenter.SelPage(setting); //retMod.retcode = M_APIResult.Success; //retMod.result = JsonConvert.SerializeObject(setting.dt); //retMod.page = new M_API_Page(setting); } break; #endregion #region 会员 case "user_getlast"://用户获取本身的最新信息 { litemu = liteBll.SelReturnModel(litemu.userId); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(litemu); } break; case "user_list"://[extend] { int storeId = DataConvert.CLng(Req("storeId")); if (storeId < 1) { throw new Exception("未指定教练信息"); } DataTable dt = liteBll.Sel(new Com_Filter() { storeId = storeId }); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(dt); } break; case "user_info"://根据openid或者独有标识,获取会员信息 { //retMod.retcode = M_APIResult.Success; //retMod.result = JsonConvert.SerializeObject(new M_AJAXUser(mu)); } break; case "user_login_openid"://用户使用微信的openid登录,仅用于教练登录 { string code = DataConvert.CStr(Req("code")); string openid = GetOpenIdByCode(code, AppId); if (string.IsNullOrEmpty(openid)) { throw new Exception("用户授权失效"); } if (DBCenter.IsExist("ZL_User", "CompanyName='" + openid + "' AND GroupId>1")) { //已存在,直接返回 M_LiteUser liteMod = liteBll.SelModelByOpenId(openid); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(liteMod); } else { retMod.retmsg = "微信尚未关联用户"; } } break; case "user_sync"://根据openid,用户自动注册或登录 { //检测该微信用户是否已存在,新增或直接返回用户信息 string code = DataConvert.CStr(Req("code")); string openid = GetOpenIdByCode(code, AppId); if (string.IsNullOrEmpty(openid)) { throw new Exception("用户授权失效"); } if (DBCenter.IsExist("ZL_User", "CompanyName='" + openid + "'")) { //已存在,直接返回 M_LiteUser liteMod = liteBll.SelModelByOpenId(openid); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(liteMod); } else { //不存在则新建用户再返回 string uname = "wechat" + DateTime.Now.ToString("yyyyMMdd") + function.GetRandomString(6); M_UserInfo newmu = buser.NewUser(uname, function.GetRandomString(6), function.GetRandomEmail()); newmu.CompanyName = openid;//用于存储openid newmu.UserFace = Req("userFace"); newmu.TrueName = newmu.HoneyName = Req("honeyName"); newmu.GroupID = SiteConfig.SiteOption.WX_UserGroupID; newmu.ParentUserID = Req("puid"); newmu.UserID = buser.Add(newmu); M_Uinfo basemu = new M_Uinfo(); basemu.UserId = newmu.UserID; buser.AddBase(basemu); //----------------------------同步创建推广用二维码 //try//[notes] //{ // //不需要可禁 // //https://api.weixin.qq.com/wxa/getwxacode?access_token= // //https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token= // WXAPPAPI.PostReturnImgBuffer("https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + api.AccessToken, "{\"path\":\"pages/apps/shop/index?puid=" + newmu.UserID + "\"}", "/UploadFiles/wxacode/", newmu.UserID + ".jpg"); //} //catch (Exception ex) { ZLLog.L(ex.Message); } //----------------------------推广人增加积分 //if (DataConvert.CLng(newmu.ParentUserID) > 0)//[remove] //{ // //推广一级得10积分,二级得8积分,三级得5积分,一起就三级 // int puid = DataConvert.CLng(newmu.ParentUserID); // M_UserInfo pmu1 = new M_UserInfo(true), pmu2 = new M_UserInfo(true), pmu3 = new M_UserInfo(true); // pmu1 = buser.SelReturnModel(puid); // if (DataConvert.CLng(pmu1.ParentUserID) > 0) { pmu2 = buser.SelReturnModel(DataConvert.CLng(pmu1.ParentUserID)); } // if (DataConvert.CLng(pmu2.ParentUserID) > 0) { pmu3 = buser.SelReturnModel(DataConvert.CLng(pmu2.ParentUserID)); } // if (pmu1.UserID > 0) { buser.AddMoney(pmu1.UserID, 1, M_UserExpHis.SType.SIcon, "推广用户|一层|" + newmu.HoneyName); } // //if (pmu2.UserID > 0) { buser.AddMoney(pmu2.UserID, 8, M_UserExpHis.SType.Purse, "推广用户|二层|" + newmu.HoneyName); } // //if (pmu3.UserID > 0) { buser.AddMoney(pmu3.UserID, 5, M_UserExpHis.SType.Purse, "推广用户|三层|" + newmu.HoneyName); } //} //---------------------------- litemu = liteBll.SelReturnModel(newmu.UserID); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(litemu); } } break; case "user_code"://根据code更新绑定openid { int uid = DataConvert.CLng(Req("uid")); string code = DataConvert.CStr(Req("code")); if (uid < 1) { throw new Exception("未指定用户"); } //----------------- try { string openid = GetOpenIdByCode(code, AppId); DBCenter.UpdateSQL("ZL_User", "CompanyName=@openid", "UserID=" + uid, new List() { new SqlParameter("openid", openid) }); retMod.result = openid; retMod.retcode = M_APIResult.Success; } catch (Exception ex) { retMod.retmsg = "Conver err:" + ex.Message; } } break; case "user_register"://用户注册 { string name = Req("name"); string passwd = Req("passwd"); string email = Req("email"); int gid = DataConvert.CLng(Req("gid"), 1); if (string.IsNullOrEmpty(name)) { throw new Exception("用户名不能为空"); } else if (string.IsNullOrEmpty(passwd)) { throw new Exception("密码不能为空"); } else { M_UserInfo newmu = buser.NewUser(name, passwd, email); newmu.CompanyName = "";//用于存储openid newmu.UserFace = "/Images/userface/noface.png"; newmu.GroupID = gid; newmu.ParentUserID = "1";//推荐人暂默认为admin newmu.UserID = buser.Add(newmu); M_Uinfo basemu = new M_Uinfo(); basemu.UserId = newmu.UserID; buser.AddBase(basemu); DBCenter.UpdateSQL(basemu.TbName, "xy_km='未分配'", "userId=" + newmu.UserID); //---------------------------- litemu = liteBll.SelReturnModel(newmu.UserID); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(litemu); } } break; case "user_login_passwd"://通过用户名与密码登录 { string name = Req("name"); string passwd = Req("passwd"); if (string.IsNullOrEmpty(name)) { retMod.retmsg = "用户名不能为空"; } else if (string.IsNullOrEmpty(passwd)) { retMod.retmsg = "密码不能为空"; } else { litemu = liteBll.SelModelByPasswd(name, passwd); if (litemu == null) { retMod.retmsg = "用户名或密码错误"; } else { retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(litemu); } } } break; case "user_update"://更新用户信息 { M_UserInfo mu = buser.SelReturnModel(litemu.userId); M_Uinfo basemu = buser.GetUserBaseByuserid(litemu.userId); if (mu.IsNull) { throw new Exception("用户不存在"); } ////传递模型上来,进行修改,不需要修改的留为空值 M_LiteUser lite = JsonConvert.DeserializeObject(Req("mu")); //检测手机号或身份证号不可重复,允许为空 if (!string.IsNullOrEmpty(lite.mobile) && !lite.mobile.Equals(basemu.Mobile)) { List sp = new List() { new SqlParameter("mobile",lite.mobile)}; if (DBCenter.IsExist("ZL_UserBase", "mobile=@mobile", sp)) { throw new Exception("手机号已存在,请校验号码是否正确"); } } if (!string.IsNullOrEmpty(lite.idcard) && !lite.idcard.Equals(basemu.IDCard)) { List sp = new List() { new SqlParameter("idcard",lite.idcard)}; if (DBCenter.IsExist("ZL_UserBase", "idcard=@idcard", sp)) { throw new Exception("证件号已存在,请校验号码是否正确"); } } mu.HoneyName = lite.honeyName; mu.UserFace = lite.userFace; buser.UpdateByID(mu); basemu.Mobile = lite.mobile; basemu.CardType = lite.cardType; basemu.IDCard = lite.idcard; basemu.UserSex = lite.sex == "男" ? true : false; basemu.Address = lite.address; basemu.Bugle = lite.age; if (basemu.UserId == 0) { basemu.UserId = mu.UserID; buser.AddBase(basemu); } else { buser.UpdateBase(basemu); } //---------------- lite = liteBll.SelReturnModel(mu.UserID); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(lite); } break; case "user_updatepos"://仅用于更新理位置 { int uid = DataConvert.CLng(Req("uid")); string address = DataConvert.CStr(Req("address")); string pos = DataConvert.CStr(Req("pos"));//lat,lng if (uid < 1) { throw new Exception("未指定用户"); } List sp = new List() { new SqlParameter("address",address), new SqlParameter("pos",pos) }; DBCenter.UpdateSQL("ZL_UserBase", "address=@address,xy_pos=@pos", "UserID=" + uid, sp); retMod.retcode = M_APIResult.Success; } break; case "user_star_is"://用户是否已收藏,默认只用于内容 { int uid = DataConvert.CLng(Req("uid")); int gid = DataConvert.CLng(Req("gid")); int type = DataConvert.CLng(Req("type"), 1); if (uid < 1) { throw new Exception("未指定用户"); } if (gid < 1) { throw new Exception("未指定内容"); } string where = "owner=" + uid + " AND InfoID=" + gid + " AND FavoriType=" + type; bool result = DBCenter.IsExist("ZL_Favorite", where); retMod.retcode = M_APIResult.Success; retMod.result = result ? "1" : "0"; } break; case "user_star_add"://用户收藏功能 { int uid = DataConvert.CLng(Req("uid")); int gid = DataConvert.CLng(Req("gid")); int type = DataConvert.CLng(Req("type"), 1); if (uid < 1) { throw new Exception("未指定用户"); } if (gid < 1) { throw new Exception("未指定内容"); } M_Favorite favMod = new M_Favorite(); favMod.Owner = uid; favMod.InfoID = gid; favMod.Title = Req("title"); favMod.FavUrl = Req("url"); favMod.FavoriType = type; favBll.AddFavorite(favMod); retMod.retcode = M_APIResult.Success; } break; case "user_star_del": { int uid = DataConvert.CLng(Req("uid")); int gid = DataConvert.CLng(Req("gid")); int type = DataConvert.CLng(Req("type"), 1); if (uid < 1) { throw new Exception("未指定用户"); } if (gid < 1) { throw new Exception("未指定内容"); } favBll.U_Del(uid, gid, type); retMod.retcode = M_APIResult.Success; } break; case "user_star_list": { int uid = DataConvert.CLng(Req("uid")); if (uid < 1) { throw new Exception("未指定用户"); } string where = "owner=" + uid; DataTable dt = DBCenter.Sel("ZL_Favorite", where, "FavoriteID DESC"); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(dt); } break; case "user_point_list"://指定虚拟币日志 { int stype = DataConvert.CLng(Req("stype")); B_User_ExpHis hisBll = new B_User_ExpHis(); PageSetting setting = hisBll.SelPage(CPage, PSize, new Com_Filter() { type = stype.ToString(), uids = litemu.userId.ToString() }); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(setting.dt); retMod.page = new M_API_Page(setting); } break; case "user_cash_add"://积分提现 { //1积分兑1元,提现只能是100的倍数。 double min = 100; double money = DataConvert.CDouble(Req("money")); double money_fee = money * 0.0;//10% double money_wd = money - money_fee; //string passwd = ZoomLa.Common.StringHelper.MD5(Req("passwd")); if (money < 1) { throw new Exception("提现金额不正确"); } if (mu.Purse < money) { throw new Exception("用户余额不足"); } //if (!mu.UserPwd.Equals(passwd)) { throw new Exception("提现密码不正确"); } if (money < min) { throw new Exception("提现金额必须>=[" + min + "]"); } if ((money % min) != 0) { throw new Exception("提现金额必须为[" + min + "]的倍数"); } M_User_Bank bankMod = bankBll.SelReturnModel(DataConvert.CLng(Req("bankid"))); if (bankMod == null) { throw new Exception("提现账户信息不存在"); } //生成提现单据,等待后台审核 M_Cash cashMod = new M_Cash(); cashMod.UserID = mu.UserID; cashMod.money = money_wd; cashMod.WithDrawFee = money_fee; cashMod.YName = mu.UserName; cashMod.CardType = bankMod.CardType; cashMod.Account = bankMod.CardNum; cashMod.Bank = bankMod.BankName; cashMod.PeopleName = bankMod.PeopleName; //cashMod.Remark = Request.Form["Remark_T"]; buser.MinusVMoney(mu.UserID, money_wd, M_UserExpHis.SType.Purse, "申请提现"); if (money_fee > 0) { buser.MinusVMoney(mu.UserID, money_fee, M_UserExpHis.SType.Purse, "提现手续费"); } cashBll.insert(cashMod); retMod.retcode = M_APIResult.Success; } break; case "user_cash_list"://提现处理列表 { PageSetting setting = cashBll.SelPage(CPage, PSize, new Com_Filter() { uids = mu.UserID.ToString() }); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(setting.dt); retMod.page = new M_API_Page(setting); } break; case "user_bank_add": { M_User_Bank bankMod = bankBll.SelReturnModel(Mid); if (bankMod == null) { bankMod = new M_User_Bank(); } bankMod.CardType = Req("CardType"); bankMod.BankName = Req("BankName"); bankMod.PeopleName = Req("PeopleName"); bankMod.CardNum = Req("CardNum"); bankMod.Remark = Req("Remark"); bankMod.QRCode = Req("QRCode"); if (string.IsNullOrEmpty(bankMod.BankName)) { throw new Exception("银行名称不能为空"); ; } if (string.IsNullOrEmpty(bankMod.PeopleName)) { throw new Exception("用户名称不能为空"); } if (string.IsNullOrEmpty(bankMod.CardNum)) { throw new Exception("银行卡号不能为空"); } if (bankMod.ID > 0) { if (bankMod.UserID != mu.UserID) { throw new Exception("你无权修改该信息"); } bankBll.UpdateByID(bankMod); } else { bankMod.UserID = mu.UserID; bankBll.Insert(bankMod); } retMod.retcode = M_APIResult.Success; } break; case "user_bank_del": { bankBll.Del(Mid); retMod.retcode = M_APIResult.Success; } break; case "user_bank_list": { DataTable dt = bankBll.Sel(mu.UserID); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(dt); } break; case "user_bank_get": { M_User_Bank bankMod = bankBll.SelReturnModel(Mid); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(bankMod); } break; case "user_money_recharge"://用户余额充值 { M_LiteUser liteMod = liteBll.SelReturnModel(mu.UserID); double money = DataConvert.CDouble(Req("money")); if (money < 1) { throw new Exception("金额不正确"); } //生成充值支付订单,返回支付信息 M_OrderList orderMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Purse); orderMod.Balance_price = orderMod.Ordersamount = orderMod.Specifiedprice = money; orderMod.id = orderBll.insert(orderMod); M_Payment payMod = payBll.CreateByOrder(orderMod); payMod.PlatformInfo = AppId.ToString(); payMod.MoneyReal = payMod.MoneyPay; payMod.Remark = ""; payMod.PaymentID = payBll.Add(payMod); //[test] //payMod.MoneyReal = 0.01; retMod.retcode = M_APIResult.Success; retMod.result = api.CreatePayment(liteMod, payMod); } break; case "user_money_exchange": { double money = DataConvert.CDouble(Req("money")); //if (PlugConfig.Info.SIcon_Rate <= 0) { throw new Exception("未开启兑换功能"); } //if (money < 1) { throw new Exception("金额不正确"); } //if ((money % PlugConfig.Info.SIcon_Rate) != 0) { throw new Exception("金额倍数不正确"); } //if (mu.SilverCoin < money) { throw new Exception("没有足够的积分用于兑换"); } //buser.MinusVMoney(mu.UserID, money, M_UserExpHis.SType.SIcon, "积分兑换"); //buser.AddMoney(mu.UserID, (money / PlugConfig.Info.SIcon_Rate), M_UserExpHis.SType.Purse, "积分兑换"); retMod.retcode = M_APIResult.Success; } break; #endregion #region 功能与接口 case "mcode_send"://发送手机校验码 { string mobile = Req("uname"); string vcode = Req("vcode"); string key = Req("key"); M_Comp_Verify verify = new M_Comp_Verify() { sid = key, token = vcode }; if (!VerifyHelper.Check(verify)) { retMod.retmsg = "验证码不正确"; } else if (string.IsNullOrEmpty(mobile)) { retMod.retmsg = "手机号码不能为空"; } else if (buser.IsExist("ume", mobile)) { retMod.retmsg = "该手机号已被注册"; } else if (!RegexHelper.IsMobilPhone(mobile)) { retMod.retmsg = "手机号码格式不正确"; } else { //[test] retMod.retcode = M_APIResult.Success; //string err = ""; //if (SendCode(mobile, out err)) //{ // retMod.retcode = M_APIResult.Success; //} //else { retMod.retmsg = err; } } } break; case "config_get": { //加载配置文件 string result = ""; string type = Req("type"); //switch (type) //{ // case "money"://金钱相关全部配置 // result = JsonHelper.GetJson( // new string[] { "SIcon_Rate" }, // new string[] { PlugConfig.Info.SIcon_Rate.ToString() }); // break; //} retMod.retcode = M_APIResult.Success; retMod.result = result; } break; case "system"://加载系统信息 { string result = JsonHelper.GetJson(new string[] { "tip", "tipStr" }, new string[] { SiteConfig.SiteOption.WX_APP_Tip.ToString(), SiteConfig.SiteOption.WX_APP_TipStr }); retMod.retcode = M_APIResult.Success; retMod.result = result; } break; #endregion #region 购物车 case "cart_num"://[e] { //修改购物车数量 int id = DataConvert.CLng(Req("id")); int num = DataConvert.CLng(Req("num")); if (id < 1 || num < 1) { throw new Exception("参数不正确"); } M_Cart cartMod = cartBll.SelReturnModel(id); cartMod.Pronum = num; cartMod.AllMoney = cartMod.Pronum * Convert.ToDouble(cartMod.FarePrice); cartBll.UpdateByID(cartMod); retMod.retcode = M_APIResult.Success; } break; case "cart_add"://增加或减少购物车数量 { int proID = DataConvert.CLng(Req("proid")); int proNum = DataConvert.CLng(Req("pronum"), 1); string op = DataConvert.CStr(Req("op"));//+ - M_Product proMod = proBll.GetproductByid(proID); M_Cart cartMod = cartBll.SelModelByWhere(litemu.userId, proID); if (cartMod == null) { cartMod = new M_Cart(); cartMod.Cartid = litemu.userId.ToString(); cartMod.userid = litemu.userId; cartMod.Username = litemu.userName; cartMod.Pronum = 0; cartMod.ProID = proMod.ID; ; cartMod.Proname = proMod.Proname; cartMod.StoreID = proMod.UserShopID; } switch (op) { case "-": cartMod.Pronum -= proNum; break; default: cartMod.Pronum += proNum; break; } if (cartMod.Pronum < 1) { cartMod.Pronum = 1; } cartMod.FarePrice = proMod.LinPrice.ToString(); cartMod.AllMoney = cartMod.Pronum * proMod.LinPrice; if (cartMod.ID > 0) { cartBll.UpdateByID(cartMod); } else { cartBll.insert(cartMod); } retMod.retcode = M_APIResult.Success; } break; case "cart_del": { string ids = Req("ids"); if (string.IsNullOrEmpty(ids)) { ids = Req("id"); } cartBll.U_DelByIDS(ids, litemu.userId); retMod.retcode = M_APIResult.Success; } break; //case "cart_list"://单店版 // { // DataTable dt = SelByCartID(litemu.userId); // for (int i = 0; i < dt.Rows.Count; i++) // { // dt.Rows[i]["proimg"] = WXAppData.H_ImageUrl(DataConvert.CStr(dt.Rows[i]["proimg"])); // } // retMod.retcode = M_APIResult.Success; // retMod.addon = JsonHelper.GetJson(new string[] { "money_exp" }, new string[] { "8" }); // retMod.result = JsonConvert.SerializeObject(dt); // } // break; case "cart_list"://多店铺 { OrderCommon orderCom = new OrderCommon(); ZoomLaCMS.Models.Cart.VM_CartOrder vmMod = new ZoomLaCMS.Models.Cart.VM_CartOrder(); vmMod.CartDT = SelByCartID(new Com_Filter() { uids = litemu.userId.ToString() }); vmMod.StoreDT = SelStoreDT(vmMod.CartDT); retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(vmMod); } break; case "cart_order"://选定商品后,在该块计算运费,生成订单,指定地址,确定支付形式 { B_Shop_FareTlp fareBll = new B_Shop_FareTlp(); ZoomLaCMS.Models.Cart.VM_CartOrder vmMod = new ZoomLaCMS.Models.Cart.VM_CartOrder(); OrderCommon orderCom = new OrderCommon(); vmMod.CartDT = SelByCartID(new Com_Filter() { ids = Req("ids"), uids = mu.UserID.ToString() }); vmMod.StoreDT = SelStoreDT(vmMod.CartDT); //根据条件核算是否免邮 vmMod.StoreDT.Columns.Add(new DataColumn("fareDT", typeof(string))); for (int i = 0; i < vmMod.StoreDT.Rows.Count; i++) { DataTable fareDT =fareBll.Page_GetFareDT(vmMod.CartDT,DataConvert.CLng(vmMod.StoreDT.Rows[i]["ID"])); vmMod.StoreDT.Rows[i]["fareDT"] = Newtonsoft.Json.JsonConvert.SerializeObject(fareDT); } retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(vmMod); } break; #endregion #region 订单 case "order_get": { int id = DataConvert.CLng(Req("id")); M_OrderList orderMod = orderBll.SelReturnModel(id); if (orderMod == null) { throw new Exception("订单不存在"); } retMod.retcode = M_APIResult.Success; retMod.result = JsonConvert.SerializeObject(orderMod); } break; case "order_list": { string fast = Req("fast"); string where = "OrderStatus>=0 AND A.Aside=0 AND Userid=" + litemu.userId; switch (fast) { case "needpay": where += " AND A.PaymentStatus=0"; break; case "receive"://已支付,已发货或未发货 where += " AND A.PaymentStatus=1 AND A.StateLogistics IN (0,1)"; break; case "payed": where += " AND A.PaymentStatus=1"; break; default: break; } if (DataConvert.CLng(Req("id")) > 0) { where += " AND ID=" + Req("id"); } string fields = "A.*"; fields += ",(SELECT Title FROM ZL_CommonModel WHERE GeneralID=A.StoreID) AS storeName"; PageSetting setting = new PageSetting() { cpage = CPage, psize = PSize, t1 = "ZL_OrderInfo", where = where, order = "ID DESC", fields = fields }; DBCenter.SelPage(setting); //服务端处理状态,避免客户端解析 setting.dt.Columns.Add(new DataColumn("OrderStatusStr", typeof(string))); for (int i = 0; i < setting.dt.Rows.Count; i++) { DataRow dr = setting.dt.Rows[i]; dr["OrderStatusStr"] = OrderHelper.GetStatus(dr, OrderHelper.TypeEnum.Order); if (DataConvert.CLng(dr["StoreID"]) == 0) { dr["storeName"] = "自营商城"; } } retMod.retcode = M_APIResult.Success; retMod.page = new M_API_Page(setting); //--------附加上购物车数据 string ids = StrHelper.GetIDSFromDT(setting.dt, "ID"); if (!string.IsNullOrEmpty(ids)) { DataTable cartDT = DBCenter.SelWithField("ZL_CartProView", "CartId,ProID,AllMoney,Thumbnails,ProName,Pronum,ID", "ID IN (" + ids + ")"); retMod.addon = cartDT; } retMod.result = JsonConvert.SerializeObject(setting.dt); } break; case "order_del": { int id = DataConvert.CLng(Req("id")); DBCenter.UpdateSQL("ZL_OrderInfo", "OrderStatus=" + (int)M_OrderList.StatusEnum.CancelOrder, "ID=" + id); retMod.retcode = M_APIResult.Success; } break; case "order_comment_add"://添加评论 { B_Order_Share cmtBll = new B_Order_Share(); M_Order_Share cmtMod = JsonConvert.DeserializeObject(Req("model")); M_OrderList orderMod = orderBll.SelReturnModel(cmtMod.OrderID); if (orderMod == null) { throw new Exception("订单不存在"); } if (orderMod.IsCount) { throw new Exception("订单已被评论过"); } if (orderMod.Userid != cmtMod.UserID) { throw new Exception("无权评论该订单"); } orderMod.IsCount = true; orderBll.UpdateByID(orderMod); cmtBll.Insert(cmtMod); retMod.retcode = M_APIResult.Success; } break; #endregion #region 支付单 case "payment_cart"://购物车生成订单后支付 { //需要生成订单的购物车数据ID string cartIds = DataConvert.CStr(Req("cartIds")); M_UserInfo mu = buser.SelReturnModel(litemu.userId); M_LiteUser liteMod = liteBll.SelReturnModel(mu.UserID); DataTable cartDT = DBCenter.Sel("ZL_Cart", "ID IN (" + cartIds + ")"); //按店铺生成订单 DataTable storeDT = cartDT.DefaultView.ToTable(true, "StoreID"); List orderList = new List();//用于生成临时订单,统计计算(Disuse) M_OrderList orderMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Normal); //无收货地址此块可注释,根据项目需求来(小程序收货地址) // //{"errMsg":"chooseAddress:ok","userName":"张三","nationalCode":"510000","telNumber":"020-81167888","postalCode":"510000","provinceName":"广东省","cityName":"广州市","countyName":"海珠区","detailInfo":"新港中路397号"} JObject rece = JsonConvert.DeserializeObject(Req("rece")); orderMod.Receiver = DataConvert.CStr(rece["userName"]); orderMod.MobileNum = DataConvert.CStr(rece["telNumber"]); orderMod.Shengfen = rece["provinceName"] + " " + rece["cityName"] + " " + rece["countyName"]; orderMod.Jiedao = DataConvert.CStr(rece["detailInfo"]); orderMod.ZipCode = DataConvert.CStr(rece["postalCode"]); DataTable fareDT = JsonConvert.DeserializeObject(Req("fareDT"));//storeId,name,total string orderModJson = JsonConvert.SerializeObject(orderMod); foreach (DataRow storeDR in storeDT.Rows) { M_OrderList Odata = JsonConvert.DeserializeObject(orderModJson); Odata.OrderNo = B_OrderList.CreateOrderNo((M_OrderList.OrderEnum)Odata.Ordertype); Odata.StoreID = Convert.ToInt32(storeDR["StoreID"]); cartDT.DefaultView.RowFilter = "StoreID=" + Odata.StoreID; DataTable storeCartDT = cartDT.DefaultView.ToTable(); DataRow[] fareDR = fareDT.Select("storeId='" + Odata.StoreID + "'"); Odata.Balance_price = Convert.ToDouble(storeCartDT.Compute("SUM(AllMoney)", "")); if (fareDR.Length > 0) { Odata.Freight = DataConvert.CDouble(fareDR[0]["total"]);//运费计算 Odata.Freight_remark = DataConvert.CStr(fareDR[0]["name"]); } Odata.Ordersamount = Odata.Balance_price + Odata.Freight;//订单金额 Odata.Specifiedprice = Odata.Ordersamount; //订单金额; Odata.id = orderBll.insert(Odata); orderList.Add(Odata); } string orderIds = ""; foreach (var order in orderList) { orderIds += order.id + ","; } orderIds = orderIds.Trim(','); //生成支付单,处理优惠券,并进入付款步骤 M_Payment payMod = payBll.CreateByOrder(orderList); payMod.PlatformInfo = AppId.ToString(); payMod.PaymentID = payBll.Add(payMod); payMod.UsePoint = 0; payMod.UsePointArrive = 0; payMod.UseSicon = DataConvert.CDouble(Req("use_sicon")); payMod.UseSiconArrive = (payMod.UseSicon / 1); payMod.UsePurse = DataConvert.CDouble(Req("use_purse")); payMod.MoneyReal = payMod.MoneyPay = payMod.MoneyPay - payMod.UseSiconArrive - payMod.UsePointArrive - payMod.UsePurse - payMod.ArriveMoney; //订单流程完成,返回支付单相关信息 retMod.addon = JsonHelper.GetJson(new string[] { "orderIds", "paymentId", "cartIds" }, new string[] { orderIds, payMod.PaymentID.ToString(), cartIds }); if (payMod.MoneyReal == 0) { ZoomLa.Sns.B_Ex_Order.FinalPayment("余额与积分", 0, payMod); retMod.result = "{}"; } else { //[test] //payMod.MoneyReal = 0.01; retMod.result = api.CreatePayment(liteMod, payMod); } retMod.retcode = M_APIResult.Success; } break; case "payment_success": { //前端提示支付成功,减库存,购物车转移 string cartIds = Req("cartIds"); string orderIds = Req("orderIds"); SafeSC.CheckIDSEx(cartIds); SafeSC.CheckIDSEx(orderIds); DataTable cartDT = DBCenter.Sel("ZL_Cart", "ID IN (" + cartIds + ")"); DataTable orderDT = DBCenter.Sel("ZL_OrderInfo", "ID IN (" + orderIds + ") AND UserID=" + litemu.userId); foreach (DataRow orderDR in orderDT.Rows) { M_OrderList Odata = new M_OrderList().GetModelFromReader(orderDR); cartDT.DefaultView.RowFilter = "StoreID=" + Odata.StoreID; DataTable storeCartDT = cartDT.DefaultView.ToTable(); cpBll.CopyToCartPro(mu, storeCartDT, Odata.id); } cartBll.DelByids(cartIds); retMod.retcode = M_APIResult.Success; } break; case "payment_fail": { //前端提示支付失败,移除支付单与订单 int paymentId = DataConvert.CLng(Req("paymentId")); string orderIds = Req("orderIds"); SafeSC.CheckIDSEx(orderIds); DBCenter.DelByWhere("ZL_OrderInfo", "ID IN(" + orderIds + ") AND UserID=" + litemu.userId); DBCenter.DelByWhere(payBll.TbName, "PaymentId=" + paymentId + " AND UserID=" + litemu.userId); retMod.retcode = M_APIResult.Success; } break; #endregion default: retMod.retmsg = "[" + action + "]接口不存在"; break; } } catch (Exception ex) { ZLLog.L(ex.Message); retMod.retmsg = ex.Message; } return Content(retMod.ToString()); } //============================================================================================================ //首页使用 public class Packet_Index { public object swiper = "{}"; public DataTable img1 = new DataTable(); public DataTable img2 = new DataTable(); public DataTable prolist; } private string Req(string name) { return GetParam(name); } #region Tools //==========================================Logical private DataTable SelByCartID(Com_Filter filter) { string fields = "A.id,A.proid,A.pronum,A.storeid,A.AllMoney"; fields += ",B.proname,B.LinPrice as price,B.Thumbnails as proimg"; string where = "1=1 "; //SqlParameter[] sp = new SqlParameter[] { new SqlParameter("cartid", cartid) }; //if (uid > 0) { where = " (A.Cartid=@cartid OR A.UserID=" + uid + ")"; } else { where = " A.Cartid=@cartid"; } if (!string.IsNullOrEmpty(filter.uids)) { where += " AND A.UserID IN (" + filter.uids + ")"; } if (!string.IsNullOrEmpty(filter.ids)) { where += " AND A.ID IN (" + filter.ids + ")"; } where += " AND B.LinPrice IS NOT NULL"; //-------------------------------------- string sql = "SELECT " + fields + " FROM ZL_Cart A LEFT JOIN ZL_Commodities B ON A.ProID=B.ID WHERE " + where; //自营商品,店铺商品 DataTable dt = SqlHelper.ExecuteTable(sql, null); for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; dr["proimg"] = WXAppData.H_ImageUrl(DataConvert.CStr(dr["proimg"])); } return dt; } private DataTable SelStoreDT(DataTable cartDT) { OrderCommon orderCom = new OrderCommon(); DataTable storeDT = orderCom.SelStoreDT(cartDT); if (cartDT.Select("storeID=0").Length == 0) { storeDT.DefaultView.RowFilter = "ID>0"; storeDT = storeDT.DefaultView.ToTable(); } return storeDT; } #endregion /// /// 获取用户的openid /// *开发环境下也可获取到openid /// private string GetOpenIdByCode(string code, int appId) { M_WX_APPID appMod = new B_WX_APPID().SelReturnModel(appId); if (string.IsNullOrEmpty(code)) { throw new Exception("未指定code"); } string url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appMod.APPID + "&secret=" + appMod.Secret + "&js_code=" + code + "&grant_type=authorization_code"; string result = APIHelper.GetWebResult(url); if (!result.Contains("openid")) { throw new Exception("未获取到opneid:" + result + "," + code); } JObject json = JsonConvert.DeserializeObject(result); string openid = json["openid"].ToString(); return openid; } private void Pub_ForDataColumn(M_Pub pubMod, DataTable dt) { string[] fields = "PubAddTime,PubUserName,PubUserID,PubIP,Pubupid,Pubstart,PubTitle".Split(','); foreach (string field in fields) { if (!dt.Columns.Contains(field)) { dt.Columns.Add(new DataColumn(field, typeof(string))); } } DataRow dr = dt.Rows[0]; dr["PubAddTime"] = DateTime.Now; dr["PubUserName"] = litemu.userName; dr["PubUserID"] = litemu.userId; dr["PubIP"] = IPScaner.GetUserIP(HttpContext); dr["Pubupid"] = PubID; dr["Pubstart"] = pubMod.PubIsTrue == 1 ? 0 : 1;//是否审核 if (string.IsNullOrEmpty(DataConvert.CStr(dr["PubTitle"]))) { dr["PubTitle"] = pubMod.PubName; } } } } @{ Layout = null; }