public CommonModule() : base("/User") { Get["/GetCity"] = x => { List <CityResDTO> list = DefutService.GetAdministrativeDivision(); return(ResponseJson(true, "OK", list)); }; Post["/SendTmps"] = x => { BCJ_TMP_DETAIL request = base.BindObject <BCJ_TMP_DETAIL>(); try { if (string.IsNullOrEmpty(request.Template_Code)) { return(ResponseJson(false, "模板ID不能是空")); } string resmsg = NetHelper.HttpRequest(AppConfig.BeautyChinaWebApp, "", "GET", 2000, Encoding.UTF8, "application/json"); TokeRes toke = JsonHelper.DeserializeObject <TokeRes>(resmsg); int str = _hmjMember.SendTmp(request, toke.Access_Token); if (str == -1) { return(ResponseJson(false, "没有该模板,请查看模板ID")); } return(ResponseJson(true, "OK")); } catch (Exception ex) { WriteLog("发送模板消息", ex); return(ResponseJsonError(false, error_message, ex)); } }; #region 微信卡券信息 Get["/CreateStore"] = CreateStore; Get["/CreateCoupon"] = CreateCoupon; //创建卡券 Get["/UpdateCoupon"] = UpdateCoupon; //修好卡券 Get["/ImportCoupon"] = ImportCoupon; //导入卡券 Get["/HXCoupon"] = HXCoupon; //核销卡券 Get["/SettingCouponHXType"] = SettingCouponHXType; //设置券核销方式 Get["/GetCardDetail"] = GetCardDetail; #endregion Post["/AddLog"] = AddLog; }
public JsonSMsg SendTmpMsg(BCJ_TMP_DETAIL request) { IBcjStoreService _bcjStore = ObjectFactory.GetInstance <IBcjStoreService>(); JsonSMsg msg = new JsonSMsg(); try { if (string.IsNullOrEmpty(request.Template_Code)) { msg.Status = 0; msg.Message = "模板ID不能是空"; return(msg); } BasePage bpage = new BasePage(); string access_token = bpage.MyToken(AppConfig.FWHOriginalID); int str = _bcjStore.SendTmp(request, access_token); if (str == -1) { msg.Status = 0; msg.Message = "没有该模板,请查看模板ID"; return(msg); } msg.Status = 1; msg.Message = "OK"; return(msg); } catch (Exception ex) { msg.Status = 0; msg.Message = ex.Message; return(msg); } }
/// <summary> /// 发送短信模板 /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult SendTmp(BCJ_TMP_DETAIL request) { JsonSMsg msg = new JsonSMsg(); try { if (string.IsNullOrEmpty(request.Template_Code)) { msg.Status = 0; msg.Message = "模板ID不能是空"; return(Json(msg)); } BasePage bpage = new BasePage(); string access_token = bpage.MyToken(AppConfig.FWHOriginalID); int str = _bcjStore.SendTmp(request, access_token); if (str == -1) { msg.Status = 0; msg.Message = "没有改模板,请查看模板ID"; return(Json(msg)); } msg.Status = 1; msg.Message = "OK"; return(Json(msg)); } catch (Exception ex) { msg.Status = 0; msg.Message = ex.Message; return(Json(msg)); } }
/// <summary> /// 得到配置键值对 /// </summary> /// <param name="request"></param> /// <param name="config"></param> /// <returns></returns> public static Dictionary <string, TemplateData> GetTmpPar(BCJ_TMP_DETAIL request, List <WX_TMP_CONFIG> config) { Dictionary <string, TemplateData> dic = new Dictionary <string, TemplateData>(); WX_TMP_CONFIG P_1 = config.Where(a => a.P_CODE == nameof(request.P_1)).FirstOrDefault(); WX_TMP_CONFIG P_2 = config.Where(a => a.P_CODE == nameof(request.P_2)).FirstOrDefault(); WX_TMP_CONFIG P_3 = config.Where(a => a.P_CODE == nameof(request.P_3)).FirstOrDefault(); WX_TMP_CONFIG P_4 = config.Where(a => a.P_CODE == nameof(request.P_4)).FirstOrDefault(); WX_TMP_CONFIG P_5 = config.Where(a => a.P_CODE == nameof(request.P_5)).FirstOrDefault(); WX_TMP_CONFIG P_6 = config.Where(a => a.P_CODE == nameof(request.P_6)).FirstOrDefault(); WX_TMP_CONFIG P_7 = config.Where(a => a.P_CODE == nameof(request.P_7)).FirstOrDefault(); if (request.Template_Code == "ZX7xJb7KkhUf1VMzYvsh6a-tsiGwomkIgXoZCbfKzis")//特殊处理 { if (P_1 != null) { dic.Add(P_1.P_NAME, new TemplateData() { Color = "#000000", Value = "" }); } if (P_2 != null) { dic.Add(P_2.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_1 }); } if (P_3 != null) { dic.Add(P_3.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_2 }); } if (P_4 != null) { dic.Add(P_4.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_3 }); } if (P_5 != null) { dic.Add(P_5.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_4 }); } if (P_6 != null) { dic.Add(P_6.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_5 }); } if (P_7 != null) { dic.Add(P_7.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_6 }); } } else { if (P_1 != null) { dic.Add(P_1.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_1 }); } if (P_2 != null) { dic.Add(P_2.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_2 }); } if (P_3 != null) { dic.Add(P_3.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_3 }); } if (P_4 != null) { dic.Add(P_4.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_4 }); } if (P_5 != null) { dic.Add(P_5.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_5 }); } if (P_6 != null) { dic.Add(P_6.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_6 }); } if (P_7 != null) { dic.Add(P_7.P_NAME, new TemplateData() { Color = "#000000", Value = request.P_7 }); } } return(dic); }
/// <summary> /// 发送模板消息 /// </summary> /// <param name="request"></param> /// <returns></returns> public int SendTmp(BCJ_TMP_DETAIL request, string access_token) { //得到配置文件 List <WX_TMP_CONFIG> config = _bcjstor.GetTmps(request.Template_Code); if (config == null || config.Count <= 0) { return(-1); } Dictionary <string, TemplateData> dic = CommonHelp.GetTmpPar(request, config); TemplateSend tmp = new TemplateSend() { Url = "", Template_Id = request.Template_Code, Touser = request.Contact_Information, Data = dic }; string tmpStr = JsonConvert.SerializeObject(tmp); bool issend = false; bool isselect = false; //如果是实时接口就调用发送模板 if (request.IsRealTime) { isselect = true; string resot = NetHelper.HttpRequest("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token, tmpStr, "POST", 2000, Encoding.UTF8, "application/json"); //如果发送成功 if (resot.Contains("ok")) { issend = true; } } //记录发送的 WX_TMP_HIS log = new WX_TMP_HIS() { DETAIL = tmpStr, OPENID = request.Contact_Information, CAMPAIGN_CODE = request.Campaign_Code, DATA_SOURCE = request.Data_source, CAMPAIGN_NAME = request.Campaign_Name, INVOKE_TIME = request.Invoke_Time, ISREAL_TIME = request.IsRealTime, IS_SEND = issend, LOYALTY_BRAND = request.Loyalty_Brand, SEND_TIME = request.Send_Time, VGROUP = request.Vgroup, SOURCE_SYSTEM = request.Data_source, TMP_ID = request.Template_Code, IS_SELECT = isselect }; long count = _bcjstor.Insert(log); return(1); }