public ND.PolicyUploadService.DtoModel.SearchPolicyResponse SearchPolicy(SearchPolicyRequest request) { SearchPolicyResponse rep = new SearchPolicyResponse(); PolicySyncRecLib syncLib = new PolicySyncRecLib(); UpLoadRecordLib recLib = new UpLoadRecordLib(); PolicyRecord policyRec = new PolicyRecord(); //if (!request.IsUpload)//如果只是查询走初始值 //{ // policyRec = new PolicyRecord // { // LastPolicyId = 0, // LastUpdateTime =Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 0:00:00") // }; //} //else//上传的话读取最新一次更新的记录 //{ // // if(!request.IsRealTimeUpload)//是否实时更新到去哪儿,不是 // // { // policyRec = recLib.GetLastUploadRecored(request.pType, request.UType);//查询最新一次更新的记录 // //} // //else//是,实时更新到去哪儿 // //{ // // IRealTimeUpload realTimeUpload = new DefaultRealTimeUpload(); // // SearchRealTimeUploadResponse realTimeRep= realTimeUpload.SearchRealTimeUploadRecord(new DtoModel.RealTimeUpload.SearchRealTimeUploadRequest() { LockPerson=request.OperName,Purchaser =request.pType}); // // if(realTimeRep.ErrCode == PolicyService.Enums.ResultType.Failed) // // { // // return new SearchPolicyResponse { lstPolicies = new List<Policies>(), LastPolicyRecord = new PolicyRecord(), TotalCount = 0 }; // // } // // policyRec = realTimeRep.PolicyRec; // //} //} string selectSql = ""; int totalCount = 0; int pageSize = request.PageSize <= 0 ? 100:request.PageSize; List <Policies> lstAddPolicies = syncLib.LoadPolicy(policyRec, request.CommisionMoney, request.CommsionPoint, pageSize, request.SqlWhere, ref selectSql, ref totalCount, request.UType, request.IsSearchTotalCount, request.IsUpload);//获取要上传的政策 rep.lstPolicies = lstAddPolicies; rep.TotalCount = totalCount; rep.LastPolicyRecord = policyRec; return(rep); }
public static List <PolicySyncRec> SynchronizePolicy(List <Policies> _list) { List <PolicySyncRec> errList = new List <PolicySyncRec>(); bool flag = true; string[] arryPolicyId91e = _list.Select(o => o.PartnerPolicyId).ToArray(); PolicySyncRecLib syncRecLib = new PolicySyncRecLib(); // List<string> existIdList =syncRecLib.ExistPartenerIdList(arryPolicyId91e); syncRecLib.BatchDelPolicy(arryPolicyId91e);//先批量置为无效,然后从新添加一条 List <PolicySyncRec> list = MapperHelper.GetEntityList <List <Policies>, List <PolicySyncRec> >(_list); List <PolicyDetail> listDetail = MapperHelper.GetEntityList <List <Policies>, List <PolicyDetail> >(_list); foreach (var item in list) { item.PartnerId = (int)SupplierType._19E; item.PartnerName = SupplierType._19E.ToString(); PolicyDetail policyDeatil = listDetail.FirstOrDefault(x => x.PolicyId == item.Id); //if (existIdList.Contains(item.PartnerPolicyId)) //{ // flag = syncRecLib.Update(item, policyDeatil);//更新 // if(!flag) // { // errList.Add(item); // } //} //else //{ flag = syncRecLib.Add(item, policyDeatil); //添加 if (!flag) { errList.Add(item); } //} } return(errList); }
public EmptyResponse UpdateNotify(UpdateNotifyRequest request) { try { UpLoadRecordLib recLib = new UpLoadRecordLib(); UploadPolicyRecordLib recPolicyLib = new UploadPolicyRecordLib(); PolicySyncRecLib syncLib = new PolicySyncRecLib(); request.UpdateStatusId = request.UpdateStatusId.Replace("\"", "").Replace("\\", ""); UpLoadRecord rec = recLib.GetModel(int.Parse(request.UpdateStatusId)); if (rec == null) { return(new EmptyResponse { ErrCode = PolicyService.Enums.ResultType.Failed, ErrMsg = "未找到此上传的记录!" }); } if (rec.OperName.ToLower() == "system") { if ((SuccessStatus)request.NotifyResult == SuccessStatus.Success) { recPolicyLib.BlukyUpdatePolicy(rec.Id.ToString(), true); recLib.Delete(rec.Id);//删除 } else { recPolicyLib.BlukyUpdatePolicy(rec.Id.ToString(), false); recLib.Delete(rec.Id);//删除 } return(new EmptyResponse { ErrCode = PolicyService.Enums.ResultType.Sucess }); } PurchaserType Purchaser = (PurchaserType)Enum.Parse(typeof(PurchaserType), rec.PurchaserType); UploadType uType = (UploadType)Enum.Parse(typeof(UploadType), rec.UploadType); #region 1.保存文件记录 if (request.IsSucess) { string timeAndId = Convert.ToDateTime(rec.LastUpdateTime).ToString("yyyy-MM-dd HH:mm:ss.fff") + "|" + rec.LastPolicyId.ToString(); // CoreHelper.CreateFile(System.Configuration.ConfigurationManager.AppSettings["NotifyErrLogPath"] + "\\" + System.Guid.NewGuid() + ".txt", "读取最后记录"+timeAndId);//创建文件 // File.WriteAllText("e://1.txt", timeAndId); string name = uType == UploadType.FullUpload ? rec.PurchaserType + "\\" + rec.PurchaserType + "FullPolicyRecLog" : rec.PurchaserType + "\\" + rec.PurchaserType + "IncrementPolicyRecLog"; CoreHelper.SaveLastUpTimeAndId(timeAndId, name); // CoreHelper.CreateFile(System.Configuration.ConfigurationManager.AppSettings["NotifyErrLogPath"] + "\\" + System.Guid.NewGuid() + ".txt", "保存最后记录成功");//创建文件 } #endregion #region 2.更新表中记录 rec.ResponseParams = request.ResponseParams; rec.NotifyResult = (int)request.NotifyResult; rec.FailedCount = request.NotifyResult == SuccessStatus.Failed ? rec.FailedCount + 1 : rec.FailedCount; rec.CompleteTime = DateTime.Now; rec.LastUpdateTime = DateTime.Now.ToString("yyyy-MM-dd") + " 0:00:00"; rec.LastPolicyId = "0"; bool r = recLib.Update(rec); if (!r) { return(new EmptyResponse { ErrCode = PolicyService.Enums.ResultType.Failed, ErrMsg = "更新记录失败!" }); } bool flag = false; if (request.NotifyResult == SuccessStatus.Failed || request.NotifyResult == SuccessStatus.Other) { flag = false; } else { flag = true; } recPolicyLib.BlukyUpdatePolicy(rec.Id.ToString(), flag); #endregion #region 3.批量更新已经上传完成的政策 if (request.IsSucess) { string selectSql = ""; int totalCount = 0; List <UploadPolicyRecord> lstUploadIds = recPolicyLib.GetModelList(" UId='" + rec.Id + "'"); List <string> lstAddPolicies = new List <string>(); lstUploadIds.ForEach(x => { lstAddPolicies.Add(x.PolicyId); }); //List<string> lstAddPolicies = rec.Remark.Split(',').ToList(); if (lstAddPolicies.Count > 0) { bool r2 = syncLib.BlukyUpdatePolicyUploaded(lstAddPolicies); if (!r) { return(new EmptyResponse { ErrCode = PolicyService.Enums.ResultType.Failed, ErrMsg = "批量把政策置为已上传失败!" }); } } } #endregion return(new EmptyResponse { ErrCode = PolicyService.Enums.ResultType.Sucess }); } catch (Exception ex) { return(new EmptyResponse { ErrCode = PolicyService.Enums.ResultType.Failed, ErrMsg = JsonConvert.SerializeObject(ex) }); } }