Exemplo n.º 1
0
        private GetRepeatSubmitResponse RepeatSubmitResponseFactory(bx_lastinfo lastinfo, RepeatInfoFormatModel formatInfo)
        {
            var response = new GetRepeatSubmitResponse();

            if (lastinfo != null)
            {
                response.RepeatSubmitMessage = formatInfo.RepeatMsg;
                response.ForceExpireDate     = string.IsNullOrWhiteSpace(lastinfo.last_end_date)
                    ? string.Empty
                    : DateTime.Parse(lastinfo.last_end_date).ToString("yyyy-MM-dd HH:mm:ss");
                response.BusinessExpireDate = string.IsNullOrWhiteSpace(lastinfo.last_business_end_date)
                    ? string.Empty
                    : DateTime.Parse(lastinfo.last_business_end_date).ToString("yyyy-MM-dd HH:mm:ss");
                response.RepeatSubmitResult  = formatInfo.RepeatType;
                response.CompositeRepeatType = formatInfo.CompositeRepeatType;
                response.RepeatSubmitPerComp = formatInfo.RepeatPerCompany;
            }
            else
            {
                response.RepeatSubmitMessage = "没有重复投保";
                response.RepeatSubmitResult  = 0;
                response.ForceExpireDate     = string.Empty;
                response.BusinessExpireDate  = string.Empty;
                response.CompositeRepeatType = 0;
                response.RepeatSubmitPerComp = new Dictionary <int, int>();
            }

            return(response);
        }
Exemplo n.º 2
0
        public async Task <GetRepeatSubmitResponse> GetRepeatSubmitInfo(GetRepeatSubmitRequest request,
                                                                        IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response = new GetRepeatSubmitResponse();

            try
            {
                var privilegeResulst = _agentPrivilege.CanUse(request.Agent);
                if (!privilegeResulst.CheckResult)
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }
                if (!_validService.ValidateReqest(pairs, privilegeResulst.Model.SecretKey, request.SecCode))
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }

                //微信端逻辑 次级代理
                if (request.ChildAgent > 0)
                {
                    request.Agent = request.ChildAgent;
                }

                var queryAgent = request.Agent.ToString();
                var userinfo   =
                    _userInfoRepository.Search(
                        x =>
                        x.Agent == queryAgent && x.OpenId == request.CustKey &&
                        x.RenewalCarType == request.RenewalCarType && x.IsTest == 0 && x.LicenseNo == request.LicenseNo).FirstOrDefault();
                if (userinfo == null)
                {
                    response.Status = HttpStatusCode.NoContent;
                    return(response);
                }
                if (userinfo.IsSingleSubmit > 0 && userinfo.QuoteStatus == -1 && userinfo.UpdateTime.GetValueOrDefault().AddMinutes(5) > DateTime.Now)
                {
                    response.Status = HttpStatusCode.Conflict;
                    return(response);
                }

                string baojiaCacheKey =
                    CommonCacheKeyFactory.CreateKeyWithLicenseAndAgentAndCustKey(request.LicenseNo, request.Agent, request.CustKey + request.RenewalCarType);
                var lastinfo = await _getExpireDate.GetDate(baojiaCacheKey);

                var formatInfo = _repeatInfoFormat.FormatRepeatInfo(userinfo.IsSingleSubmit.GetValueOrDefault(), baojiaCacheKey);

                response = RepeatSubmitResponseFactory(lastinfo, formatInfo);
            }
            catch (Exception ex)
            {
                response.Status = HttpStatusCode.ExpectationFailed;
                _logError.Info("获取重复投保请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + ",请求对象信息:" + request.ToJson() + ";返回对象信息" + response.ToJson());
            }


            return(response);
        }
Exemplo n.º 3
0
        public static GetRepeatSubmitViewModel RepeatSubmitConvertToViewModel(this GetRepeatSubmitResponse response)
        {
            GetRepeatSubmitViewModel viewModel = new GetRepeatSubmitViewModel();

            viewModel.RepeatInfo = new GetRepeatSubmitInfo
            {
                BusinessExpireDate  = response.BusinessExpireDate,
                ForceExpireDate     = response.ForceExpireDate,
                RepeatSubmitMessage = response.RepeatSubmitMessage,
                RepeatSubmitResult  = response.RepeatSubmitResult,
                CompositeRepeatType = response.CompositeRepeatType,
                RepeatSubmitPerComp = response.RepeatSubmitPerComp
            };

            return(viewModel);
        }