public static WeChatImportCodesModel ImportCodes(WeChatCardResponse weChatCard, string pathToFolder, string pathToFolderOld) { WeChatImportCodesModel weChatImportCodes = new WeChatImportCodesModel(); weChatImportCodes.CardId = weChatCard.CardId; weChatImportCodes.Codes = new List <string>(); string[] files = Directory.GetFiles(pathToFolder, "*.txt", SearchOption.TopDirectoryOnly); foreach (string file in files) { using StreamReader sr = new StreamReader(file); string content = sr.ReadToEnd(); var codes = content.Replace(Environment.NewLine, ",").Replace("\"", "").Split(','). Select(tag => tag.Trim()). Where(tag => !string.IsNullOrEmpty(tag)).ToList(); weChatImportCodes.Codes.AddRange(codes); string date = $"{DateTime.Now.Year}_{DateTime.Now.Month}_{DateTime.Now.Day}_-_{DateTime.Now.Hour}_{DateTime.Now.Minute}"; File.Copy(file, $"{pathToFolderOld}/Old_{date}_{Path.GetFileName(file)}", false); } foreach (string file in files) { File.Delete(file); } return(weChatImportCodes); }
private void ImportCodes(WeChatTokenResponse weChatToken, WeChatCardResponse weChatCard) { WeChatImportCodesModel weChatImportCodes = WeChatImportCodesFactory.ImportCodes(weChatCard, PATH_TO_FOLDER, PATH_TO_FOLDER_OLD); int quantity = 100; for (int i = 0; i < weChatImportCodes.Codes.Count; i += quantity) { var codes = weChatImportCodes.Codes.Skip(i).Take(quantity).ToList(); WeChatImportCodesModel receiveImportCodes = WeChatImportCodesFactory.ReceiveImportCodes(weChatCard, codes); WeChatImportCodesResponse importedCodesResponse = ReceiveImportCodeRequest(weChatToken, weChatCard, receiveImportCodes); if (importedCodesResponse.SuccessCodes.Count > 0) { Console.WriteLine("SuccessCodes Missing"); } if (importedCodesResponse.FailCodes.Count > 0) { Console.WriteLine("FailCodes Missing"); } //System.IO.File.WriteAllLines($"{PATH_TO_FOLDER_IMPORTED}\\Imported_From_{i}_{GetFormattedDate()}", importedCodesResponse.SuccessCodes, Encoding.UTF8); //ReceiveVerifyingCodeRequest(weChatToken, weChatCard, importedCodesResponse); //CallModifyingInventoryIncrease(weChatToken, weChatCard, quantity); } //ReceiveGetCodeDepositCountRequest(weChatToken, weChatCard); }
public static WeChatImportCodesModel ReceiveImportCodes(WeChatCardResponse weChatCard, List <string> codes) { WeChatImportCodesModel weChatImportCodes = new WeChatImportCodesModel(); weChatImportCodes.CardId = weChatCard.CardId; weChatImportCodes.Codes = new List <string>(); weChatImportCodes.Codes.AddRange(codes); return(weChatImportCodes); }
/// <summary> /// [08] Receive Verifying Code Request /// </summary> /// <param name="weChatToken"></param> /// <param name="weChatCard"></param> /// <returns></returns> private WeChatImportCodesVerifyingCodeResponse ReceiveVerifyingCodeRequest(WeChatTokenResponse weChatToken, WeChatCardResponse weChatCard, WeChatImportCodesResponse importedCodesResponse) { try { WeChatImportCodesModel receiveImportCodes = WeChatImportCodesFactory.ReceiveImportCodes(weChatCard, importedCodesResponse.SuccessCodes); string url = "http://api.weixin.qq.com/card/code/checkcode?access_token=" + weChatToken.AccessToken; var jsonImportCodes = JsonConvert.SerializeObject(receiveImportCodes, WeChatConverter.Settings); var body = new StringContent(jsonImportCodes, Encoding.UTF8, "application/json"); var response = _httpClient.PostAsync(url, body).Result; var jsonString = response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <WeChatImportCodesVerifyingCodeResponse>(jsonString.Result)); } catch (Exception e) { throw new Exception($"Error on ReceiveGetCodeDepositCountRequest.", e); } }
private void VerifyCodes(WeChatTokenResponse weChatToken, WeChatCardResponse weChatCard) { WeChatImportCodesModel weChatImportCodes = WeChatImportCodesFactory.ImportCodes(weChatCard, PATH_TO_FOLDER, PATH_TO_FOLDER_OLD); int quantity = 100; for (int i = 0; i < weChatImportCodes.Codes.Count; i += quantity) { var codes = weChatImportCodes.Codes.Skip(i).Take(quantity).ToList(); WeChatImportCodesResponse importedCodesResponse = new WeChatImportCodesResponse(); importedCodesResponse.SuccessCodes = new List <string>(); importedCodesResponse.SuccessCodes.AddRange(codes); WeChatImportCodesVerifyingCodeResponse verify = ReceiveVerifyingCodeRequest(weChatToken, weChatCard, importedCodesResponse); if (verify.NotExistCodes.Count > 0) { Console.WriteLine("duplicated"); } } }