public void InityyForm(int appId) { EntSetting page = EntSettingBLL.SingleModel.GetModel($"aid={appId} and pages like '%\"def_name\":\"产品预约\"%'"); if (page == null) { page = EntSettingBLL.SingleModel.GetModel($"aid={appId}"); if (page == null) { page = new EntSetting(); string pagestr = "[{ \"skin\":1,\"name\":\"产品预约\",\"sel\":false,\"target\":\"_self\",\"coms\":[{\"type\":\"yyform\",\"name\":\"产品预约\",\"title\":\"\",\"items\":[],\"showname\":true,\"showphone\":true,\"showsex\":true,\"showage\":true,\"showremark\":true,\"showdress\":true,\"showmap\":false,\"showtime\":true,\"timecount\":10,\"timetype\":\"分钟\"}],\"selComIndex\":0,\"def_name\":\"产品预约\"}]"; page.pages = pagestr; page.aid = appId; EntSettingBLL.SingleModel.Add(page); } else { string pagestr = ",{ \"skin\":1,\"name\":\"产品预约\",\"sel\":true,\"target\":\"_self\",\"coms\":[{\"type\":\"yyform\",\"name\":\"产品预约\",\"title\":\"\",\"items\":[],\"showname\":true,\"showphone\":true,\"showsex\":true,\"showage\":true,\"showremark\":true,\"showdress\":true,\"showmap\":false,\"showtime\":true,\"timecount\":10,\"timetype\":\"分钟\"}],\"selComIndex\":0,\"def_name\":\"产品预约\"}]"; if (string.IsNullOrEmpty(page.pages)) { pagestr = "[{ \"skin\":1,\"name\":\"产品预约\",\"sel\":true,\"target\":\"_self\",\"coms\":[{\"type\":\"yyform\",\"name\":\"产品预约\",\"title\":\"\",\"items\":[],\"showname\":true,\"showphone\":true,\"showsex\":true,\"showage\":true,\"showremark\":true,\"showdress\":true,\"showmap\":false,\"showtime\":true,\"timecount\":10,\"timetype\":\"分钟\"}],\"selComIndex\":0,\"def_name\":\"产品预约\"}]"; page.pages = pagestr; } else { page.pages = page.pages.Substring(0, page.pages.Length - 1) + pagestr; } EntSettingBLL.SingleModel.Update(page); } } }
public ActionResult changeCanSaveMoenySetting(int appId, bool canSaveMoneyFunction) { if (dzaccount == null) { return(Json(new { isok = false, msg = "系统繁忙auth_null!" })); } XcxAppAccountRelation app = XcxAppAccountRelationBLL.SingleModel.GetModelByaccountidAndAppid(appId, dzaccount.Id.ToString()); if (app == null) { return(Json(new { isok = false, msg = "系统繁忙null!" })); } XcxTemplate _tempLate = XcxTemplateBLL.SingleModel.GetModel(app.TId); if (_tempLate == null) { return(Json(new { isok = false, msg = "系统繁忙tempLate_null!" })); } #region 专业版 版本控制 if (_tempLate.Type == (int)TmpType.小程序专业模板) { FunctionList functionList = new FunctionList(); int industr = app.VersionId; functionList = FunctionListBLL.SingleModel.GetModel($"TemplateType={_tempLate.Type} and VersionId={industr}"); if (functionList == null) { return(Json(new { isok = false, msg = "此功能未开启" })); } OperationMgr operationMgr = new OperationMgr(); if (!string.IsNullOrEmpty(functionList.OperationMgr)) { operationMgr = JsonConvert.DeserializeObject <OperationMgr>(functionList.OperationMgr); } if (operationMgr.SaveMoney == 1)//表示关闭了储值使用功能 { return(Json(new { isok = false, msg = "请升级更高版本才能使用此功能!" })); } } #endregion bool isSuccess = true; switch (_tempLate.Type) { case (int)TmpType.小程序电商模板: Store store = StoreBLL.SingleModel.GetModel($"appId={appId}"); if (store == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } StoreConfigModel newConfig = null; try { newConfig = JsonConvert.DeserializeObject <StoreConfigModel>(store.configJson); } catch (Exception) { newConfig = new StoreConfigModel(); } newConfig.canSaveMoneyFunction = canSaveMoneyFunction; store.configJson = JsonConvert.SerializeObject(newConfig); isSuccess = StoreBLL.SingleModel.Update(store, "configJson"); break; case (int)TmpType.小程序餐饮模板: Food food = FoodBLL.SingleModel.GetModel($"appId={appId}"); if (food == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } FoodConfigModel foodConfig = food.funJoinModel; foodConfig.canSaveMoneyFunction = canSaveMoneyFunction; food.configJson = JsonConvert.SerializeObject(foodConfig); isSuccess = FoodBLL.SingleModel.Update(food, "configJson"); break; case (int)TmpType.小程序专业模板: EntSetting ent = EntSettingBLL.SingleModel.GetModel($"aid={appId}"); if (ent == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } EntConfigModel entConfig = ent.funJoinModel; entConfig.canSaveMoneyFunction = canSaveMoneyFunction; ent.configJson = JsonConvert.SerializeObject(entConfig); isSuccess = EntSettingBLL.SingleModel.Update(ent, "configJson"); break; case (int)TmpType.小程序足浴模板: FootBath footbath = FootBathBLL.SingleModel.GetModel($"appId={appId}"); if (footbath == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } footbath.switchModel = JsonConvert.DeserializeObject <SwitchModel>(footbath.SwitchConfig); footbath.switchModel.canSaveMoneyFunction = canSaveMoneyFunction; footbath.SwitchConfig = JsonConvert.SerializeObject(footbath.switchModel); isSuccess = FootBathBLL.SingleModel.Update(footbath, "SwitchConfig"); break; case (int)TmpType.小程序多门店模板: FootBath multiStore = FootBathBLL.SingleModel.GetModel($"appId={appId} and HomeId = 0 "); if (multiStore == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } multiStore.switchModel = JsonConvert.DeserializeObject <SwitchModel>(multiStore.SwitchConfig) ?? new SwitchModel(); multiStore.switchModel.canSaveMoneyFunction = canSaveMoneyFunction; multiStore.SwitchConfig = JsonConvert.SerializeObject(multiStore.switchModel); isSuccess = FootBathBLL.SingleModel.Update(multiStore, "SwitchConfig"); break; case (int)TmpType.小未平台子模版: PlatStore platStore = PlatStoreBLL.SingleModel.GetPlatStore(app.Id, 2); if (platStore == null) { return(Json(new { isok = false, msg = "店铺不存在!" }, JsonRequestBehavior.AllowGet)); } PlatStoreSwitchModel switchModel = new PlatStoreSwitchModel(); if (!string.IsNullOrEmpty(platStore.SwitchConfig)) { switchModel = JsonConvert.DeserializeObject <PlatStoreSwitchModel>(platStore.SwitchConfig); } switchModel.SaveMoneyPay = canSaveMoneyFunction; platStore.SwitchConfig = JsonConvert.SerializeObject(switchModel); platStore.UpdateTime = DateTime.Now; isSuccess = PlatStoreBLL.SingleModel.Update(platStore, "UpdateTime,SwitchConfig"); break; } return(Json(new { isok = isSuccess, msg = isSuccess ? "修改成功" : "修改失败" })); }
public ActionResult MiniAppSaveMoneySetManager(int appId, int?projectType = null, int?pageType = null) { if (dzaccount == null) { return(Json(new { isok = false, msg = "系统繁忙auth_null!" }, JsonRequestBehavior.AllowGet)); } XcxAppAccountRelation app = XcxAppAccountRelationBLL.SingleModel.GetModelByaccountidAndAppid(appId, dzaccount.Id.ToString()); if (app == null) { return(Json(new { isok = false, msg = "系统繁忙null!" }, JsonRequestBehavior.AllowGet)); } XcxTemplate _tempLate = XcxTemplateBLL.SingleModel.GetModel(app.TId); if (_tempLate == null) { return(Json(new { isok = false, msg = "系统繁忙tempLate_null!" }, JsonRequestBehavior.AllowGet)); } int saveMoneySwtich = 0;//储值开关 int versionId = 0; if (_tempLate.Type == (int)TmpType.小程序专业模板) { FunctionList functionList = new FunctionList(); versionId = app.VersionId; functionList = FunctionListBLL.SingleModel.GetModel($"TemplateType={_tempLate.Type} and VersionId={versionId}"); if (functionList == null) { return(View("PageError", new Return_Msg() { Msg = "功能权限未设置!", code = "500" })); } if (!string.IsNullOrEmpty(functionList.ProductMgr)) { OperationMgr operationMgr = JsonConvert.DeserializeObject <OperationMgr>(functionList.OperationMgr); saveMoneySwtich = operationMgr.SaveMoney; } } string souceFrom = Context.GetRequest("SouceFrom", string.Empty); ViewBag.SouceFrom = souceFrom; ViewBag.saveMoneySwtich = saveMoneySwtich; ViewBag.versionId = versionId; bool canSaveMoneyFunction = true; switch (_tempLate.Type) { case (int)TmpType.小程序电商模板: Store store = StoreBLL.SingleModel.GetModel($"appId={appId}"); if (store == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } try { store.funJoinModel = JsonConvert.DeserializeObject <StoreConfigModel>(store.configJson); } catch (Exception) { store.funJoinModel = new StoreConfigModel(); } canSaveMoneyFunction = store.funJoinModel.canSaveMoneyFunction; break; case (int)TmpType.小程序餐饮模板: Food food = FoodBLL.SingleModel.GetModel($"appId={appId}"); if (food == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } canSaveMoneyFunction = food.funJoinModel.canSaveMoneyFunction; break; case (int)TmpType.小程序专业模板: EntSetting ent = EntSettingBLL.SingleModel.GetModel($"aid={appId}"); if (ent == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } canSaveMoneyFunction = ent.funJoinModel.canSaveMoneyFunction; break; case (int)TmpType.小程序足浴模板: FootBath footbath = FootBathBLL.SingleModel.GetModel($"appId={appId}"); if (footbath == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } footbath.switchModel = JsonConvert.DeserializeObject <SwitchModel>(footbath.SwitchConfig); canSaveMoneyFunction = footbath.switchModel.canSaveMoneyFunction; break; case (int)TmpType.小程序多门店模板: FootBath multiStore = FootBathBLL.SingleModel.GetModel($"appId={appId} and HomeId = 0 "); if (multiStore == null) { return(Json(new { isok = false, msg = "系统繁忙store_null!" }, JsonRequestBehavior.AllowGet)); } multiStore.switchModel = JsonConvert.DeserializeObject <SwitchModel>(multiStore.SwitchConfig) ?? new SwitchModel(); canSaveMoneyFunction = multiStore.switchModel.canSaveMoneyFunction; break; case (int)TmpType.小未平台子模版: PlatStore platStore = PlatStoreBLL.SingleModel.GetPlatStore(app.Id, 2); if (platStore == null) { return(Json(new { isok = false, msg = "店铺不存在!" }, JsonRequestBehavior.AllowGet)); } PlatStoreSwitchModel switchModel = new PlatStoreSwitchModel(); if (!string.IsNullOrEmpty(platStore.SwitchConfig)) { switchModel = Newtonsoft.Json.JsonConvert.DeserializeObject <PlatStoreSwitchModel>(platStore.SwitchConfig); } canSaveMoneyFunction = switchModel.SaveMoneyPay; break; } ViewBag.canSaveMoneyFuntion = canSaveMoneyFunction; ViewBag.appId = appId; if (projectType.HasValue) { ViewBag.typeId = projectType.Value; } if (pageType.HasValue) { ViewBag.typeId = pageType.Value; } return(View()); }
public CreateCardResult AddWxCoupons(Coupons coupons, XcxAppAccountRelation xcx, string accountId) { //默认专业版的 string center_app_brand_pass = "******"; //专业版 个人中心 string custom_app_brand_pass = "******"; //首页 专业版 string logo_url = string.Empty; string brand_name = string.Empty; string appOriginalId = string.Empty; CreateCardResult _createCardResult = new CreateCardResult(); XcxTemplate xcxTemplate = XcxTemplateBLL.SingleModel.GetModel($"id={xcx.TId}"); if (xcxTemplate == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "小程序模板不存在"; return(_createCardResult); } List <OpenAuthorizerConfig> listOpenAuthorizerConfig = OpenAuthorizerConfigBLL.SingleModel.GetListByaccoundidAndRid(accountId, xcx.Id, 4); if (listOpenAuthorizerConfig == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "请先绑定认证服务号才有生成卡券权限"; return(_createCardResult); } OpenAuthorizerConfig umodel = listOpenAuthorizerConfig[0]; switch (xcxTemplate.Type) { case (int)TmpType.小程序专业模板: EntSetting ent = EntSettingBLL.SingleModel.GetModel(coupons.appId); if (ent == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "该专业版信息找不到"; return(_createCardResult); } OpenAuthorizerConfig XUserList = OpenAuthorizerConfigBLL.SingleModel.GetModelByAppids(xcx.AppId); if (XUserList == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "请先授权给平台"; return(_createCardResult); } ConfParam imginfo = ConfParamBLL.SingleModel.GetModelByParamappid("logoimg", xcx.AppId); if (imginfo == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "请先到小程序管理配置底部Logo"; return(_createCardResult); } logo_url = imginfo.Value; brand_name = XUserList.nick_name; break; case (int)TmpType.小程序电商模板: center_app_brand_pass = "******"; //个人中心页面 Store store = StoreBLL.SingleModel.GetModelByAId(xcx.Id); if (store == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "电商版店铺不存在"; return(_createCardResult); } logo_url = store.logo; brand_name = store.name; break; case (int)TmpType.小程序餐饮模板: center_app_brand_pass = "******"; //个人中心页面 custom_app_brand_pass = "******"; //首页 Food miAppFood = FoodBLL.SingleModel.GetModel($"appId={xcx.Id}"); if (miAppFood == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "餐饮版店铺不存在"; return(_createCardResult); } logo_url = miAppFood.Logo; brand_name = miAppFood.FoodsName; break; case (int)TmpType.小程序足浴模板: case (int)TmpType.小程序多门店模板: int t = 0; if ((int)TmpType.小程序足浴模板 == xcxTemplate.Type) { center_app_brand_pass = "******"; //个人中心页面 custom_app_brand_pass = "******"; //首页 } else { center_app_brand_pass = "******"; //个人中心页面 t = 1; } FootBath storeModel = FootBathBLL.SingleModel.GetModel($"appId={xcx.Id}"); if (storeModel == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "找不到该足浴版"; return(_createCardResult); } brand_name = storeModel.StoreName; List <C_Attachment> LogoList = C_AttachmentBLL.SingleModel.GetListByCache(storeModel.Id, t == 0 ? (int)AttachmentItemType.小程序足浴版店铺logo : (int)AttachmentItemType.小程序多门店版门店logo); if (LogoList != null && LogoList.Count > 0) { logo_url = LogoList[0].filepath; } break; case (int)TmpType.小未平台子模版: center_app_brand_pass = "******"; //个人中心页面 custom_app_brand_pass = "******"; //首页 PlatStore platStore = PlatStoreBLL.SingleModel.GetPlatStore(xcx.Id, 2); if (platStore == null) { _createCardResult.errcode = 1; _createCardResult.errmsg = "平台版店铺不存在"; return(_createCardResult); } brand_name = platStore.Name; logo_url = platStore.StoreHeaderImg; break; } if (string.IsNullOrEmpty(logo_url) || string.IsNullOrEmpty(brand_name)) { _createCardResult.errcode = 1; _createCardResult.errmsg = "请先配置Logo以及名称"; return(_createCardResult); } //这里可能会出现token失效 个人发布的未授权给我们第三方平台的卡券会生成不了 string xcxapiurl = XcxApiBLL.SingleModel.GetOpenAuthodModel(umodel.user_name); string authorizer_access_token = CommondHelper.GetAuthorizer_Access_Token(xcxapiurl); string uploadImgResult = CommondHelper.WxUploadImg(authorizer_access_token, logo_url); if (!uploadImgResult.Contains("url")) { _createCardResult.errcode = 1; _createCardResult.errmsg = $"上传Logo到微信失败uploadImgResult={uploadImgResult}"; return(_createCardResult); } if (brand_name.Length >= 12) { brand_name = brand_name.Substring(0, 12); } WxUploadImgResult wxUploadImgResult = JsonConvert.DeserializeObject <WxUploadImgResult>(uploadImgResult); logo_url = wxUploadImgResult.url; base_info _base_info = new base_info(); _base_info.logo_url = logo_url; _base_info.code_type = "CODE_TYPE_TEXT"; _base_info.brand_name = brand_name; _base_info.title = coupons.CouponName.Length > 9 ? Utility.StringHelper.strSubstring(coupons.CouponName, 0, 8) : coupons.CouponName; _base_info.color = "Color010"; _base_info.center_title = "立即使用"; _base_info.center_app_brand_user_name = $"{appOriginalId}@app"; _base_info.center_app_brand_pass = center_app_brand_pass; _base_info.custom_url_name = "小程序"; _base_info.custom_app_brand_user_name = $"{appOriginalId}@app"; _base_info.custom_app_brand_pass = custom_app_brand_pass; _base_info.custom_url_sub_title = "点击进入"; _base_info.description = coupons.Desc.Length > 1024 ? Utility.StringHelper.strSubstring(coupons.Desc, 0, 1023) : coupons.Desc; _base_info.notice = "使用时向服务员出示此券"; _base_info.sku.quantity = coupons.CreateNum; if (coupons.LimitReceive > 0) { //大于0表示限制,0表示无限制 _base_info.get_limit = coupons.LimitReceive; } if (coupons.ValType == 0) { //表示固定日期 _base_info.date_info = new Firstdate_infoItem() { begin_timestamp = WxUtils.GetWeixinDateTime(coupons.StartUseTime), end_timestamp = WxUtils.GetWeixinDateTime(coupons.EndUseTime) }; } if (coupons.ValType == 2 || coupons.ValType == 1) { //fixed_begin_term=0表示领取后当天开始生效 1表示次日后开始生效 领取当日N天内有效 _base_info.date_info = new Seconddate_infoItem() { fixed_begin_term = coupons.ValType == 2?0:1, fixed_term = coupons.ValDay }; } string json = string.Empty; if (coupons.CouponWay == 0) { //表示是需要生成微信代金券 WxCashCoupons wxCashCoupons = new WxCashCoupons(); Cash cash = new Cash(); cash.base_info = _base_info;//基础字段信息 Use_condition use_condition = new Use_condition(); use_condition.accept_category = coupons.GoodsType == 0 ? "全部产品" : "部分产品"; if (coupons.LimitMoney > 0) { cash.least_cost = coupons.LimitMoney; //满减门槛 use_condition.least_cost = coupons.LimitMoney; } use_condition.can_use_with_other_discount = coupons.discountType == 0; cash.reduce_cost = coupons.Money; cash.advanced_info = new Advanced_info() { use_condition = use_condition }; wxCashCoupons.cash = cash; json = JsonConvert.SerializeObject(new { card = wxCashCoupons }); } else { //表示是需要生成微信折扣券 WxDiscountCoupons wxDiscountCoupons = new WxDiscountCoupons(); Discount discount = new Discount(); discount.base_info = _base_info; discount.discount = (int)(100 - coupons.Money * 0.1); wxDiscountCoupons.discount = discount; json = JsonConvert.SerializeObject(new { card = wxDiscountCoupons }); } string result = Utility.IO.Context.PostData($"https://api.weixin.qq.com/card/create?access_token={authorizer_access_token}", json); if (string.IsNullOrEmpty(result)) { return(_createCardResult); } _createCardResult = JsonConvert.DeserializeObject <CreateCardResult>(result); return(_createCardResult); }