Esempio n. 1
0
 public ProfilSettings(CustomerHomePage customerHomePage, ICustomerService customerService, CustomerInfoResponse customer)
 {
     InitializeComponent();
     this.customerHomePage = customerHomePage;
     this.customerService  = customerService;
     this.customer         = customer;
 }
Esempio n. 2
0
        /// <summary>
        /// 上传头像
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExecuteResult <CustomerInfoResponse> UploadLogo(UploadLogoRequest request)
        {
            //直接替换掉以前的头像,使用新头像

            if (request.Files.Count == 0)
            {
                return(new ExecuteResult <CustomerInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError,
                    Message = "图像文件不能为空"
                });
            }

            if (request.Files.Count != 1)
            {
                return(new ExecuteResult <CustomerInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError,
                    Message = "您只能上传一张头像"
                });
            }
            if (!request.Type.HasValue ||
                request.Type.Value == Hangzhou.Contract.DTO.ThumnImageType.Logo)
            {
                var oldResource = _resourceService.Get(request.AuthUid, SourceType.CustomerPortrait);

                var resourceResult = _resourceService.Save(request.Files, request.AuthUid, 0, request.AuthUid,
                                                           SourceType.CustomerPortrait);

                if (resourceResult == null || resourceResult.Count == 0)
                {
                    Logger.Error(String.Format("保存用户LOGO资源文件异常,用户ID={0}", request.AuthUid));
                    return(new ExecuteResult <CustomerInfoResponse>(null)
                    {
                        StatusCode = StatusCode.InternalServerError, Message = "保存文件异常"
                    });
                }

                if (resourceResult.Count != 1)
                {
                    Logger.Warn(String.Format("用户上传头像为1张时,返回不止一个资源.用户Id={0},资源Id={1}", request.AuthUid, String.Join(",", resourceResult.Select(v => v.Id).ToArray())));
                }

                //删除旧resource
                foreach (var item in oldResource)
                {
                    _resourceService.Del(item.Id);
                }

                //update
                var userentity = _customerRepository.GetItem(request.AuthUid);
                userentity.Logo        = Path.Combine(resourceResult[0].Domain, resourceResult[0].Name);
                userentity.UpdatedDate = DateTime.Now;
                userentity.UpdatedUser = request.AuthUser.Id;
                _customerRepository.Update(userentity);
                return(GetUserInfo(new GetUserInfoRequest
                {
                    AuthUid = request.AuthUid,
                    AuthUser = null,
                    Method = null,
                    Token = null,
                    Client_Version = request.Client_Version
                }));
            }
            else
            {
                ResourceInfoResponse logoBG = null;
                using (var ts = new TransactionScope())
                {
                    var oldResource = _resourceService.Get(request.AuthUser.Id, SourceType.CustomerThumbBackground).FirstOrDefault();
                    if (oldResource != null)
                    {
                        _resourceService.Del(oldResource.Id);
                    }
                    var resourceResult = _resourceService.Save(request.Files, request.AuthUser.Id, 0, request.AuthUser.Id,
                                                               SourceType.CustomerThumbBackground);
                    if (resourceResult == null || resourceResult.Count == 0)
                    {
                        Logger.Error(String.Format("保存用户LOGO资源文件异常,用户ID={0}", request.AuthUser.Id));
                        return(new ExecuteResult <CustomerInfoResponse>(null)
                        {
                            StatusCode = StatusCode.InternalServerError, Message = "保存文件异常"
                        });
                    }
                    logoBG = new ResourceInfoResponse().FromEntity <ResourceInfoResponse>(resourceResult.First());
                    ts.Complete();
                }

                var response = new CustomerInfoResponse()
                {
                    BackgroundLogo_r = logoBG
                };
                return(new ExecuteResult <CustomerInfoResponse>(response));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 查询客户信息
        /// </summary>
        /// <param name="UserID">用户ID</param>
        /// <param name="Mobile">客户手机号</param>
        /// <param name="IDNumber">客户身份证号</param>
        /// <param name="Sign">校验码</param>
        /// <returns>响应结果</returns>
        public JsonResult QueryCustomerInfo(String UserID, String Mobile, String IDNumber, String Sign)
        {
            CustomerInfoResponse JsonResponse = new CustomerInfoResponse();

            if (Mobile == null)
            {
                Mobile = "";
            }
            if (IDNumber == null)
            {
                IDNumber = "";
            }

            //输入参数有效性检测
            if (String.IsNullOrEmpty(UserID))
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "UserID not provided.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            if (String.IsNullOrEmpty(Sign))
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "Sign not provided.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            if (String.IsNullOrEmpty(Mobile) && String.IsNullOrEmpty(IDNumber))
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "At least one of [Mobile] or [IDNumber] should be provided.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            if (!String.IsNullOrEmpty(IDNumber) && !IDCardValidation.CheckIDCard(IDNumber))
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "The value of [IDNumber] is not valid.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            if (!String.IsNullOrEmpty(Mobile) &&
                (Mobile.Length != 11 || Mobile[0] != '1'))
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "The value of [Mobile] is not valid.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //检出接口名称
            String InterfaceName = ConfigurationManager.AppSettings["LejuInterfaceName1"].ToString();

            DataSet ResultSet = new DataSet();
            //用户key,一个GUID
            String UserKey = "";
            //每周期(月)最大查询次数
            int MaxQueryTimes = 0;
            //用户帐号过期时间
            DateTime ExpiredTime;
            //用户记录ID
            int UserRecordID = 0;
            //本周期已经查询次数
            int CurrentTimes = 0;

            //获取用户信息记录
            try
            {
                ResultSet = new DbHelperSQLP(ConnStringCustomerInfo).Query(
                    "select [ID],[UserKey],[ExpiredTime],[MaxQueryTimes] from tb_interface_user " +
                    "where InterfaceName = @InterfaceName and UserID = @UserID and Status = 1 ",
                    new SqlParameter[] { new SqlParameter("@InterfaceName", InterfaceName), new SqlParameter("@UserID", UserID) });
            }
            catch (Exception)
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "Validation Service failed.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //解析用户信息
            try
            {
                UserKey       = ResultSet.Tables[0].Rows[0]["UserKey"].ToString();
                MaxQueryTimes = (int)ResultSet.Tables[0].Rows[0]["MaxQueryTimes"];
                ExpiredTime   = (DateTime)ResultSet.Tables[0].Rows[0]["ExpiredTime"];
                UserRecordID  = (int)ResultSet.Tables[0].Rows[0]["ID"];
            }
            catch (Exception)
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "Invalid user.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //用户过期检测
            if (DateTime.Now > ExpiredTime)
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "User account expired.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //获取查询历史信息
            try
            {
                //获取本月访问次数
                CurrentTimes = (int)(new DbHelperSQLP(ConnStringCustomerInfo).GetSingle(
                                         "select count(1) from tb_interface_query_log where [UserRecordID] = @UserRecordID " +
                                         "and QueryTime > DATENAME(YEAR,GETDATE())+'-'+DATENAME(MONTH,GETDATE())+'-01'",
                                         new SqlParameter[] { new SqlParameter("@UserRecordID", UserRecordID) }));
            }
            catch (Exception)
            {
                //次数查询失败时认为查询可用
                CurrentTimes = 0;
            }

            //本周期查询次数检测
            if (CurrentTimes >= MaxQueryTimes)
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "Query times exceeded.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //MD5校验
            String SignStr = UserKey;

            if (!String.IsNullOrEmpty(IDNumber))
            {
                SignStr += "&IDNumber=" + IDNumber;
            }
            if (!String.IsNullOrEmpty(Mobile))
            {
                SignStr += "&Mobile=" + Mobile;
            }
            if (GetMD5String(SignStr) != Sign)
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "Sign check failed.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //组装客户信息
            PersonTag Tag            = null;
            int       AssembleResult = AssembleCustomerInfo(Mobile, IDNumber, out Tag);

            if (AssembleResult != 0)
            {
                if (AssembleResult == -1)
                {
                    JsonResponse.Message = "DB service failed.";
                }

                if (AssembleResult == -2)
                {
                    JsonResponse.Message = "The value of [Mobile] and [IDNumber] don't match.";
                }

                if (AssembleResult == -3)
                {
                    JsonResponse.Message = "No relative records.";
                }

                JsonResponse.Result = "Failed";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //结果是否有有效数据 以存在五项属性和需求成交信息中的任意一项为有效标准
            if (String.IsNullOrWhiteSpace(Tag.ChildrenStatus) &&
                String.IsNullOrWhiteSpace(Tag.FamilyIncome) &&
                String.IsNullOrWhiteSpace(Tag.FamilyStatus) &&
                String.IsNullOrWhiteSpace(Tag.Interests) &&
                String.IsNullOrWhiteSpace(Tag.Profession) &&
                Tag.DemandInfos.Count == 0 &&
                Tag.TradeInfos.Count == 0)
            {
                JsonResponse.Result  = "Failed";
                JsonResponse.Message = "No available records.";
                return(Json(JsonResponse, JsonRequestBehavior.AllowGet));
            }

            //输出结果
            JsonResponse.Data   = Tag;
            JsonResponse.Result = "Succeeded";
            //本周期剩余查询次数
            JsonResponse.Message = (MaxQueryTimes - CurrentTimes - 1) + " queries available in this month.";
            JsonResult JR       = Json(JsonResponse, JsonRequestBehavior.AllowGet);
            String     JRString = JR.Data.ToJsonString();

            //记录查询历史
            String Parameters = Request.Url.ToString().Substring(Request.Url.ToString().IndexOf('?') + 1);

            try
            {
                new DbHelperSQLP(ConnStringCustomerInfo).ExecuteSql(
                    "INSERT INTO [tb_interface_query_log] ([UserRecordID],[UserID],[InterfaceName],[Parameters],[Response],[QueryTime]) " +
                    "values (@UserRecordID, @UserID, @InterfaceName, @Parameters, @Response, GetDate())",
                    new SqlParameter[] {
                    new SqlParameter("@UserRecordID", UserRecordID),
                    new SqlParameter("@UserID", UserID),
                    new SqlParameter("@InterfaceName", InterfaceName),
                    new SqlParameter("@Parameters", Parameters),
                    new SqlParameter("@Response", JRString)
                });
            }
            catch (Exception)
            {
            }

            return(JR);
        }
Esempio n. 4
0
 public PastOperations(CustomerHomePage customerHomePage, CustomerInfoResponse customer)
 {
     InitializeComponent();
     this.customerHomePage = customerHomePage;
     this.customer         = customer;
 }
Esempio n. 5
0
 public DiscoverProduct(CustomerHomePage customerHomePage, CustomerInfoResponse customer)
 {
     InitializeComponent();
     this.customerHomePage = customerHomePage;
     this.customer         = customer;
 }
Esempio n. 6
0
 public ShoppingList(CustomerInfoResponse cust)
 {
     InitializeComponent();
     this.cust = cust;
 }