/// <summary> /// 生成淘口令 /// </summary> /// <param name="loginToken">The login token.</param> /// <param name="userid">The userid.</param> /// <param name="taskid">The taskid.</param> /// <param name="templateText">文案</param> /// <param name="result">The result.</param> /// <returns>true if XXXX, false otherwise.</returns> public bool BuildTaskTpwd(string loginToken, int userid, int taskid, string templateText, string appkey, string appsecret, Action <weChatShareTextModel> result = null, bool append = false, bool isJoinImage = false) { var taskData = FindByUserTaskPlanInfo(taskid); if (taskData == null || taskData.ExecStatus != 0) { return(false); } if (string.IsNullOrEmpty(taskData.pidsText) || string.IsNullOrEmpty(taskData.goodsText)) { return(false); } List <UserPidTaskModel> lst = JsonConvert.DeserializeObject <List <UserPidTaskModel> >(taskData.pidsText); List <UserPidTaskModel> lst2 = JsonConvert.DeserializeObject <List <UserPidTaskModel> >(taskData.goodsText); List <int> ids = new List <int>(); //如果群数据和商品数据都为空时 if (lst == null || lst2 == null) { return(false); } lst2.ForEach(item => { if (!ids.Contains(item.id)) { ids.Add(item.id); } }); //获取商品数据 var goodslist = FindByUserGoodsList(ids); if (!append) { ids.Clear(); lst.ForEach(item => { if (!ids.Contains(item.id)) { ids.Add(item.id); } }); //获取微信群数据 var wechatlist = FindByUserWeChatGroup(userid, ids); //删除现有数据 dal.DeleteUserWechatShareText(userid, taskid); List <JoinGoodsList> joinLists = new List <JoinGoodsList>(); foreach (var group in wechatlist) { JoinGoodsList joinList = new JoinGoodsList(); //生成商品分享文本 BuildShareText(loginToken, userid, taskid, templateText, goodslist, group, appkey, appsecret, out joinList, result, isJoinImage); if (isJoinImage && joinList != null) { joinLists.Add(joinList); } } if (isJoinImage) { int flag = BuildJoinImage(loginToken, joinLists, taskData.title, Convert.ToInt32(taskData.id), goodslist.Count()); if (flag > 0) { DeleteUserTaskPlan(flag); } } UpdateUserTaskPlanIsTpwd(taskid); } else { var data = FindByUserWechatShareTextList(userid, taskid); if (data != null) { //获取商品数据 var goods = goodslist[0]; data.ForEach(item => { item.text += templateText; item.text = BuildShareText(item.text, goods); //修改内容 dal.UpdateUserShareText(item.id, item.text); result?.Invoke(item); }); } } return(true); }