예제 #1
0
        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);
        }
예제 #2
0
        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)
                });
            }
        }