/// <summary> /// 添加商户模板 /// </summary> /// <param name="template"></param> /// <param name="isDefault"></param> /// <param name="templateId"></param> /// <returns></returns> public bool AddTemplate(ViewSiteTemplate template, bool isDefault, int templateId) { if (template.SiteID == 0) { return(this.FaildMessage("商户ID错误")); } if (string.IsNullOrEmpty(template.Name)) { return(this.FaildMessage("模板名称错误")); } Site site = this.GetSiteInfo(template.SiteID); if (site.GetTemplateID(template.Platform) == 0) { isDefault = true; } if (isDefault) { template.Domain = string.Empty; } template.ID = ViewAgent.Instance().CopySystemTemplate(template.SiteID, templateId); if (isDefault) { Expression <Func <Site, int> > field = template.Platform switch { PlatformSource.PC => t => t.PCTemplate, PlatformSource.H5 => t => t.H5Template, PlatformSource.APP => t => t.APPTemplate, _ => null }; this.WriteDB.Update(field, template.ID, t => t.ID == site.ID); SiteCaching.Instance().RemoveSiteInfo(site.ID); } template.Update(this.WriteDB, t => t.Name, t => t.Domain); return(true); }
/// <summary> /// 新建站点 /// </summary> public bool AddSite(Site site) { if (site.ID <= 0 || this.ReadDB.Exists <Site>(t => t.ID == site.ID)) { return(this.FaildMessage("编号已经存在")); } if (string.IsNullOrEmpty(site.Name)) { return(this.FaildMessage("请输入商户名")); } if (this.ReadDB.Exists <Site>(t => t.Name == site.Name)) { return(this.FaildMessage("商户名重复")); } site.Setting = new Site.SiteSetting() { Currencies = new[] { site.Currency }, Languages = new[] { site.Language } }; using (DbExecutor db = NewExecutor(IsolationLevel.ReadUncommitted)) { site.Add(db); // 复制PC模板到商户模板 if (site.PCTemplate != 0) { db.AddCallback(() => { site.PCTemplate = ViewAgent.Instance().CopySystemTemplate(site.ID, site.PCTemplate); }); } // 复制H5模板到商户模板 if (site.H5Template != 0) { db.AddCallback(() => { site.H5Template = ViewAgent.Instance().CopySystemTemplate(site.ID, site.H5Template); }); } // 复制APP模板到商户模板 if (site.APPTemplate != 0) { db.AddCallback(() => { site.APPTemplate = ViewAgent.Instance().CopySystemTemplate(site.ID, site.APPTemplate); }); } new SiteDetail() { SiteID = site.ID, AdminURL = this.CreateDefaultAdminUrl(db, site.Name) }.Add(db); this.CreateDefaultAdmin(db, site.ID); db.Commit(); } site.Update(this.WriteDB, t => t.PCTemplate, t => t.H5Template, t => t.APPTemplate); this.AccountInfo.Log(LogType.Site, $"新建商户{site.ID}"); return(true); }