예제 #1
0
        public string GetPayType(int UserId)
        {
            int TypeId       = (int)Logic.KeyValueType.支付类型管理;
            var listKeyValue = MemcachHelper.Get <List <KeyValue> >(Constant.list_keyvalue_key + TypeId, DateTime.Now.AddDays(7), () =>
            {
                return(keyValueDao.GetQuery("typeid=@TypeId ", new { TypeId }, "order by Sort desc,CTime desc"));
            });
            Users user = usersDao.Single(UserId);

            Logic.VipType vip  = (Logic.VipType)user.VipType;
            JArray        list = new JArray();


            foreach (var item in listKeyValue)
            {
                JObject m = JObject.Parse(item.Value);

                JObject data    = new JObject();
                int     PayType = m["PayType"].ToInt();
                data["PayType"] = PayType;

                data["PayName"]  = m["PayName"].ToString();
                data["Quota"]    = m["Quota"].ToString();
                data["WithDraw"] = m["WithDraw"].ToString();
                data["Time"]     = m["Time"].ToString();
                data["Remark"]   = m["Remark"].ToString();

                decimal[] r = Constant.GetRate(PayType, vip);
                data["Fee"] = $"{r[0].perCent()}+{r[1].ToString("F1")}元/笔";
                list.Add(data);
            }
            return(ApiReturnStr.getApiDataList(list));
        }
예제 #2
0
 /// <summary>
 /// 修改密码
 /// </summary>
 /// <param name="forgetGuid"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public string UpdatePassword(int cid = 0, string forgetGuid = "", string password = "")
 {
     #region 验证
     if (forgetGuid.Length != 36)
     {
         return(ApiReturnStr.getError(-100, "验证令牌有误"));
     }
     if (password.Length != 32)
     {
         return(ApiReturnStr.getError(-100, "密码格式错误"));
     }
     string key = Constant.forget_token + forgetGuid;
     if (!MemcachHelper.Exists(key))
     {
         return(ApiReturnStr.getError(-100, "验证令牌过期,请重试!"));
     }
     JObject obj    = JObject.Parse(MemcachHelper.Get(key).ToString());
     string  mobile = obj["mobile"].ToString();
     Users   model  = userDao.Single(" mobile= @mobile ", new { mobile });
     if (model != null && model.UserId > 0)
     {
         model.Password = password;
         model.UTime    = DateTime.Now;
         var flag = userDao.Update(model);
         userEventDao.UserForget(cid, model.UserId, flag ? 1 : 0, Ip.GetClientIp(), key, password, TQuery.GetString("version")); //事件日志
         Logs.WriteLog(string.Format("Action:Forget,Cmd:UpdatePassword,UserId:{0},Mobile{1},forgetGuid:{2},State:{3}", model.UserId, mobile, forgetGuid, flag), "d:\\Log\\ITOrm", "ForgetUpdatePassword");
         MemcachHelper.Delete(key);                                                                                              //销毁令牌
         return(ApiReturnStr.getError(flag ? 0 : -100, flag ? "修改成功" : "修改失败"));
     }
     #endregion
     Logs.WriteLog(string.Format("Action:Forget,Cmd:UpdatePassword,Mobile{0},forgetGuid:{1},用户不存在", mobile, forgetGuid), "d:\\Log\\ITOrm", "ForgetUpdatePassword");
     return(ApiReturnStr.getError(-100, "用户不存在"));
 }
예제 #3
0
 public override void OnActionExecuting(ActionExecutingContext ctx)
 {
     if (Open)//总开关  打开
     {
         if (AysnSetting != Setting)
         {
             string result = "";
             //var jsoncList = new jsonCommModelList<object>
             //{
             //    backStatus = 3,
             //    msg = "",
             //};
             if (Setting)
             {
                 result = ApiReturnStr.getError(-3, "对不起,接口不接受同步请求");
                 //jsoncList.msg = "对不起,接口不接受同步请求";
             }
             else
             {
                 result = ApiReturnStr.getError(-3, "对不起,接口不接受异步请求");
                 //jsoncList.msg = "对不起,接口不接受异步请求";
             }
             string action   = ctx.ActionDescriptor.ControllerDescriptor.ControllerName + "/" + ctx.ActionDescriptor.ActionName;
             string userName = (ctx.HttpContext.Request["userName"] as string);
             string userid   = (ctx.HttpContext.Request["userid"] as string);
             Logs.WriteLog("userName="******"&action=" + action + "," + result + "&userid=" + userid, "d:\\Log\\Aysn", "Aysn");
             ctx.HttpContext.Response.Clear();
             //ctx.HttpContext.Response.Write(SerializerHelper.JsonSerializer<jsonCommModelList<object>>(jsoncList));
             ctx.HttpContext.Response.Write(result);
             ctx.HttpContext.Response.End();
             ctx.Result = new EmptyResult();
         }
     }
 }
예제 #4
0
        public string GetBankCardList(int pageIndex = 1, int pageSize = 10, int UserId = 0)
        {
            int total = 0;

            var listUbk = userBankCardDao.GetPaged(pageSize, pageIndex, out total, " UserId=@UserId and TypeId=1  ", new { UserId }, " order by ID desc ");



            JArray list = new JArray();

            if (listUbk != null && listUbk.Count > 0)
            {
                foreach (var item in listUbk)
                {
                    JObject obj = new JObject();
                    obj["ID"]                = item.ID;
                    obj["BankCard"]          = item.BankCard;
                    obj["Mobile"]            = item.Mobile;
                    obj["BankName"]          = item.BankName;
                    obj["BankCode"]          = item.BankCode;
                    obj["CVN2"]              = item.CVN2;
                    obj["ExpiresYear"]       = item.ExpiresYear;
                    obj["ExpiresMouth"]      = item.ExpiresMouth;
                    obj["OpeningBank"]       = item.OpeningBank;
                    obj["OpeningSerialBank"] = item.OpeningSerialBank;
                    obj["CTime"]             = item.CTime.ToString("yyyy-MM-dd HH:mm:ss");
                    obj["State"]             = item.State;
                    obj["ICON"]              = $"{Constant.StaticHost}upload/bank/80/{item.BankCode}.png";
                    list.Add(obj);
                }
            }
            return(ApiReturnStr.getApiDataListByPage(list, total, pageIndex, pageSize));
        }
예제 #5
0
        public string PayFeeTool(int UserId = 0, decimal Amount = 0M, int PayType = 0)
        {
            if (UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "用户ID不能为0"));
            }
            if (Amount < 500M)
            {
                return(ApiReturnStr.getError(-100, "支付金额不能小于500"));
            }
            ToolPay model = null;
            Users   user  = userDao.Single(UserId);

            Logic.VipType vip = (Logic.VipType)user.VipType;

            decimal[] r = Constant.GetRate(PayType, vip);
            model = new ToolPay(Amount, r[0], 0, r[1], 0, 0);

            JObject data = new JObject();

            data["Amount"]       = model.Amount.ToString("F2");
            data["Rate1"]        = model.Rate1.perCent();
            data["Rate2"]        = model.Rate2.ToString("F2");
            data["Rate3"]        = model.Rate3.ToString("F2");
            data["Rate4"]        = model.Rate4.ToString("F2");
            data["Rate5"]        = model.Rate5.ToString("F2");
            data["PayFee"]       = model.PayFee.ToString("F2");
            data["BasicFee"]     = model.BasicFee.ToString("F2");
            data["ExTargetFee"]  = model.ExTargetFee.ToString("F2");
            data["ActualAmount"] = model.ActualAmount.ToString("F2");
            return(ApiReturnStr.getApiData(data));
        }
예제 #6
0
파일: IPFilter.cs 프로젝트: chenmsg/sujin
        public static string VisitMode   = ConfigurationManager.AppSettings["VisitMode"];   // 黑名单Ip
        //
        // 摘要:
        //     在执行操作方法之前由 ASP.NET MVC 框架调用。
        //
        // 参数:
        //   ctx:
        //     筛选器上下文。
        public override void OnActionExecuting(ActionExecutingContext ctx)
        {
            IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();

            timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            IDictionary <string, object> param = ctx.ActionParameters;
            string jsoncallback = ctx.HttpContext.Request["jsoncallback"];

            // 验证黑白名单
            if (!limit())
            {
                string msg = ApiReturnStr.getError(-3, "权限不足,请联系管理员");
                //var jsoncList = new jsonCommModelList<object>
                //{
                //    backStatus = 3,
                //    msg = "权限不足,请联系管理员",
                //};

                ctx.HttpContext.Response.Clear();
                //ctx.HttpContext.Response.Write(jsoncallback + "" + JsonConvert.SerializeObject(jsoncList, timeFormat) + "");
                ctx.HttpContext.Response.Write(msg);
                ctx.HttpContext.Response.End();
                ctx.Result = new EmptyResult();
            }
        }
예제 #7
0
        /// <summary>
        /// 检测设备
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="UserId"></param>
        /// <param name="guid"></param>
        /// <returns></returns>
        public string CheckDevice(int cid = 0, int UserId = 0, string guid = "")
        {
            if (guid.Length != 36 && guid.Length != 0)
            {
                return(ApiReturnStr.getError(-100, "唯一标识错误"));
            }

            if (UserId == 0 || Constant.IsDebug)
            {
                return(ApiReturnStr.getError(0, $"UserId={UserId}或IsDebug={Constant.IsDebug}"));
            }

            if (MemcachHelper.Get(Constant.login_key + UserId) != null)
            {
                var uuidCach = MemcachHelper.Get(Constant.login_key + UserId).ToString();
                if (guid == uuidCach)
                {
                    return(ApiReturnStr.getError(0, "同设备"));
                }
                else
                {
                    return(ApiReturnStr.getError(-100, "您的账号已经在其它设备上登录,如果这不是您的操作,您的密码可能已经泄露,请及时处理"));
                }
            }
            else
            {
                return(ApiReturnStr.getError(0, "允许通行"));
            }
        }
예제 #8
0
        /// <summary>
        /// 检测邀请人
        /// </summary>
        /// <param name="mobile"></param>
        /// <returns></returns>
        public string CheckBaseUserIdByMobile(string mobile = "")
        {
            if (!ITOrm.Utility.StringHelper.TypeParse.IsMobile(mobile))
            {
                return(ApiReturnStr.getError(-100, "邀请人手机号格式验证失败"));
            }

            var model = userDao.Single(" mobile=@mobile ", new { mobile });

            if (model != null && model.UserId > 0 && model.IsRealState == 0)
            {
                return(ApiReturnStr.getError(-1, "该邀请人还未通过实名认证"));
            }
            if (model != null && model.UserId > 0)
            {
                JObject data = new JObject();
                data["mobile"]   = mobile;
                data["RealName"] = Util.GetHiddenString(model.RealName, 0, model.RealName.Length - 1);
                data["UserId"]   = model.UserId;
                return(ApiReturnStr.getApiData(data));
            }
            else
            {
                return(ApiReturnStr.getError(-1, "邀请码错误"));
            }
        }
예제 #9
0
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="UserId"></param>
        /// <param name="oldPwd"></param>
        /// <param name="newPwd"></param>
        /// <returns></returns>
        public string UpdatePassword(int cid = 0, int UserId = 0, string oldPwd = "", string newPwd = "")
        {
            Logs.WriteLog($"Action:User,Cmd:UpdatePassword,UserId:{UserId},oldPwd{oldPwd},newPwd:{oldPwd}", "d:\\Log\\ITOrm", "UserUpdatePassword");
            if (oldPwd.Length != 32 || newPwd.Length != 32 || UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "参数错误"));
            }

            Users model = userDao.Single(UserId);

            if (model == null || model.UserId < 0)
            {
                return(ApiReturnStr.getError(-100, "用户不存在"));
            }
            if (model.Password != oldPwd)
            {
                return(ApiReturnStr.getError(-100, "旧密码与原密码不一致"));
            }
            if (oldPwd == newPwd)
            {
                return(ApiReturnStr.getError(-100, "旧密码与新密码一致"));
            }
            model.Password = newPwd;
            model.UTime    = DateTime.Now;;
            bool flag = userDao.Update(model);

            userEventDao.UserUpdatePassword(cid, UserId, Ip.GetClientIp(), oldPwd, newPwd, flag ? 1 : 0, TQuery.GetString("version"));//事件日志
            Logs.WriteLog($"Action:User,Cmd:UpdatePassword,UserId:{UserId},oldPwd{oldPwd},newPwd:{newPwd},State:{flag}", "d:\\Log\\ITOrm", "UserUpdatePassword");
            return(ApiReturnStr.getError(flag ? 0 : -100, flag ? "修改成功" : "修改失败"));
        }
예제 #10
0
        /// <summary>
        /// 分享
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="UserId"></param>
        /// <param name="Soure"></param>
        /// <returns></returns>
        public string Share(int cid, int UserId, int Soure, string version)
        {
            string url = Constant.CurrentApiHost + "itapi/invite/reg?u=" + ITOrm.Utility.Encryption.AESEncrypter.AESEncrypt(UserId.ToString(), Constant.SystemAESKey);

            UserShare us = new UserShare();

            us.Title    = "速金派邀请您一起刷卡赚收益";
            us.ShareUrl = url;
            us.ImageUrl = Constant.StaticHost + "upload/icon/logo.png";
            us.Context  = "速金派,移动刷卡神器。价格低,秒到账,邀请好友享收益。";
            us.Platform = cid;
            us.Ip       = Ip.GetClientIp();
            us.Soure    = Soure;
            us.UserId   = UserId;
            int     num  = userShareDao.Insert(us);
            JObject data = new JObject();

            data["Title"]    = us.Title;
            data["ShareUrl"] = us.ShareUrl;
            data["ImageUrl"] = us.ImageUrl;
            data["Context"]  = us.Context;
            //用户事件
            userEventDao.UserEventInit(cid, UserId, Ip.GetClientIp(), num > 0 ? 1 : 0, "Profit", "Share", $"{{UserId:{UserId},Soure:{Soure},num:{num},version:{version}}}");


            return(ApiReturnStr.getApiData(data));
        }
예제 #11
0
        public string AccountRecord(int UserId, int pageIndex = 1, int pageSize = 10)
        {
            //Logs.WriteLog($"AccountRecord,UserId:{UserId},pageIndex{pageIndex},pageSize:{pageSize}", "d:\\Log\\", "AccountRecord");
            int totalCount = 0;
            //int TypeId = (int)Logic.AccountType.刷卡分润; 开通会员分润
            var    listAccountRecord = accountRecordDao.GetPaged(pageSize, pageIndex, out totalCount, "UserId=@UserId ", new { UserId }, "order by ID desc");
            JArray list = new JArray();

            if (listAccountRecord != null && listAccountRecord.Count > 0)
            {
                foreach (var item in listAccountRecord)
                {
                    JObject data = new JObject();
                    data["InOrOut"]    = item.InOrOut == 1 ? "+" : "-";
                    data["InOrOutNum"] = item.InOrOut;
                    data["Amount"]     = item.Amount.ToString("F2");
                    data["Available"]  = item.Available.ToString("F2");
                    data["Frozen"]     = item.Frozen.ToString("F2");
                    data["CTime"]      = item.CTime.ToString("yyyy-MM-dd HH:mm:ss");
                    data["TypeId"]     = item.TypeId;
                    data["Service"]    = ((Logic.AccountType)item.TypeId).ToString();
                    list.Add(data);
                }
            }
            return(ApiReturnStr.getApiDataListByPage(list, totalCount, pageIndex, pageSize));
        }
예제 #12
0
        /// <summary>
        /// 查询个人信息
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public string Single(int cid = 0, int UserId = 0)
        {
            if (UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "参数错误"));
            }

            JObject data = new JObject();
            var     user = userDao.Single(UserId);


            if (user == null || user.UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "用户不存在"));
            }
            data["Mobile"]          = user.Mobile;// ITOrm.Utility.StringHelper.Util.GetHiddenString(user.Mobile, 3, 4);
            data["IsRealState"]     = user.IsRealState;
            data["IsRealStateText"] = user.IsRealState == 0 ? "未认证" : "已认证";
            data["RealName"]        = user.RealName;
            data["IdCard"]          = Util.GetHiddenString(user.IdCard, 6, 4);
            data["VipType"]         = user.VipType;
            data["VipTypeTxt"]      = ((Logic.VipType)user.VipType).ToString();
            var version = TQuery.GetString("version");

            if (user.VipType == 1 && version == "1.0.0" && cid == 3)
            {
                data["VipType"] = 2;
            }
            data["AvatarImg"] = ITOrm.Utility.Const.Constant.StaticHost + userImageDao.GetUrl(user.AvatarImg);
            Logic.VipType vip = (Logic.VipType)user.VipType;
            decimal[]     r   = Constant.GetRate(0, vip);
            decimal[]     r2  = Constant.GetRate(1, vip);

            data["Rate1"]     = r[0].perCent();
            data["Rate3"]     = r[1].ToString("F1");
            data["NoneRate1"] = r2[0].perCent();
            data["NoneRate3"] = r2[1].ToString("F1");


            var ubk = userBankCardDao.Single(" UserId=@UserId and TypeId=0 and state=1  ", new { UserId });

            data["BankCard"] = "";
            data["BankName"] = "";
            data["BankCode"] = "";
            if (ubk != null)
            {
                data["BankCard"] = ubk.BankCard;
                data["BankName"] = ubk.BankName;
                data["BankCode"] = ubk.BankCode;
            }

            data["BaseUserName"] = "******";
            if (user.BaseUserId > 0)
            {
                var baseUser = userDao.Single(user.BaseUserId);
                data["BaseUserName"] = baseUser.RealName;
            }
            return(ApiReturnStr.getApiData(data));
        }
예제 #13
0
        public string OpenVipRule(int UserId)
        {
            JObject data = new JObject();
            JArray  list = new JArray();
            JObject vip1 = new JObject();

            vip1["Title"]         = "SVIP会员";
            vip1["CurrentPrice"]  = "199";
            vip1["OriginalPrice"] = "原价¥199";
            vip1["QRcode"]        = Constant.StaticHost + "upload/QRcode/199svip.png"; //199svip.png 99svip.png
            list.Add(vip1);
            JObject vip2 = new JObject();

            vip2["Title"]         = "VIP会员";
            vip2["CurrentPrice"]  = "99";
            vip2["OriginalPrice"] = "原价¥99";
            vip2["QRcode"]        = Constant.StaticHost + "upload/QRcode/99vip.png";//99vip.png  49vip.png
            list.Add(vip2);

            JObject vip3 = new JObject();

            vip3["Title"]         = "升级SVIP";
            vip3["CurrentPrice"]  = "129";
            vip3["OriginalPrice"] = "原价¥129";
            vip3["QRcode"]        = Constant.StaticHost + "upload/QRcode/u129svip.png";//u129svip  u69svip.png
            list.Add(vip3);

            data["listTitle"] = "微信扫码支付";
            data["list"]      = list;



            JArray list2 = new JArray();
            string str   = "1.超低费率;2.邀请好友超高返佣;3.单单分润";
            string str2  = "SVIP有积分0.45%,无积分0.39%\nVIP有积分0.50%,无积分0.44%;好友开通SVIP一次性最高返现79元;好友每次刷卡,即可享受高达0.1%的利润返现";

            string[] strs2 = str.Split(';');
            string[] strs3 = str2.Split(';');
            for (int i = 0; i < strs2.Length; i++)
            {
                JObject obj = new JObject();
                if (!string.IsNullOrEmpty(strs2[i]))
                {
                    obj["Title"] = strs2[i];
                }
                if (!string.IsNullOrEmpty(strs3[i]))
                {
                    obj["Context"] = strs3[i];
                }
                list2.Add(obj);
            }
            data["list2Title"]  = "VIP尊享权益";
            data["list2"]       = list2;
            data["DingjiDaili"] = "客户经理:18610122058\n客户经理:18506120807\n微信客服:SJpay-op";


            data["Tips"] = "选择您需要开通会员对应的二维码并使用微信支付,备注速金派已注册的账号,工作人员确认收款后立刻给您开通会员。您还可以将二维码保存在手机里面,方便支付。如有疑问请关注我们的微信公众号SJ派,联系在线客服";
            return(ApiReturnStr.getApiData(data));
        }
예제 #14
0
        public string BankCardSubmitActivateCode(int cid = 0, int UserId = 0, int BankID = 0, int ChannelType = 0, string Code = "")
        {
            //Thread.Sleep(3000);
            //return ApiReturnStr.getError(-100, "开通失败,测试终点");
            var result = MasgetDepository.TreatyConfirm(BankID, Code, cid, (Logic.ChannelType)ChannelType);

            userEventDao.BankCardSubmitActivateCode(cid, UserId, Ip.GetClientIp(), result.backState == 0 ? 1 : 0, TQuery.GetString("version"), BankID, ChannelType, Code);
            return(ApiReturnStr.getError(result.backState == 0 ? 0 : -100, result.message));
        }
예제 #15
0
        // GET: DeBug
        public string Version()
        {
            JObject dic = new JObject();

            //Dictionary<string, object> dic = new Dictionary<string, object>();
            dic.Add("Version", "1.0.0.1");
            dic.Add("VersionDate", "2016-7-7");
            return(ApiReturnStr.getApiData(dic));
        }
예제 #16
0
        public string GetIndexData(int cid = 0, int UserId = 0, string version = "")
        {
            var serverVersion = keyValueDao.GetAuditingVersion(cid);


            JObject data = new JObject();
            JArray  list = new JArray();
            JObject obj1 = new JObject();

            obj1["Title"]  = "邀请好友";
            obj1["icon"]   = Constant.StaticHost + "upload/btn/01.png";
            obj1["WapUrl"] = "QRcode";
            list.Add(obj1);

            JObject obj2 = new JObject();

            obj2["Title"]  = (cid == (int)Logic.Platform.iOS && version == serverVersion) ? "使用指南":"邀请收益";
            obj2["icon"]   = Constant.StaticHost + "upload/btn/02.png";
            obj2["WapUrl"] = (cid == (int)Logic.Platform.iOS && version == serverVersion) ? Constant.CurrentApiHost : "InviteIncome";
            list.Add(obj2);


            JObject obj3 = new JObject();

            obj3["Title"]  = "新手指引";
            obj3["icon"]   = Constant.StaticHost + "upload/btn/03.png";
            obj3["WapUrl"] = "https://mp.weixin.qq.com/s/wPYnEFtQZOuWYnERcsQfGQ";
            list.Add(obj3);


            JObject obj4 = new JObject();

            obj4["Title"]  = (cid == (int)Logic.Platform.iOS && version == serverVersion)?"火爆上线": "极速办卡";
            obj4["icon"]   = Constant.StaticHost + "upload/btn/04.png";
            obj4["WapUrl"] = (cid == (int)Logic.Platform.iOS && version == serverVersion) ?(Constant.CurrentApiHost + "HuoBao.html"): "http://www.51ley.com/front/card?uid=fc42c00a05784006aefe49dc0c12fa57&rm=1&time=1529568826349";
            list.Add(obj4);

            JObject obj5 = new JObject();

            obj5["Title"]  = "办卡攻略";
            obj5["icon"]   = Constant.StaticHost + "upload/btn/05.png";
            obj5["WapUrl"] = Constant.CurrentApiHost + "bankcard.html";
            list.Add(obj5);


            JObject obj6 = new JObject();

            obj6["Title"]  = "收款攻略";
            obj6["icon"]   = Constant.StaticHost + "upload/btn/06.png";
            obj6["WapUrl"] = Constant.CurrentApiHost + "Swipe.html";
            list.Add(obj6);

            data["btnList"] = list;

            return(ApiReturnStr.getApiData(data));
        }
예제 #17
0
    public override void OnException(ExceptionContext filterContext)
    {
        //记录错误日志
        Logs.WriteLog($"URL:{filterContext.HttpContext.Request.Url} 错误原因: {filterContext.Exception.Message}", "d:\\Log\\ITorm", "apiError");
        //返回错误信息
        string msg = ApiReturnStr.getError(500, filterContext.Exception.Message);

        filterContext.HttpContext.Response.Write(msg);
        filterContext.HttpContext.Response.End();
    }
예제 #18
0
        public string AppAuditingHide(int cid, string version, int UserId)
        {
            var serverVersion = keyValueDao.GetAuditingVersion(cid);

            if (cid == 3 && version == serverVersion)
            {
                return(ApiReturnStr.getError(0, "hidden"));
            }
            return(ApiReturnStr.getError(-100, "show"));
        }
예제 #19
0
        public string GetBankList()
        {
            JArray list = new JArray();

            foreach (var item in bankLists)
            {
                list.Add(item);
            }
            return(ApiReturnStr.getApiDataList(list));
        }
예제 #20
0
        public string UpImg(int cid = 0, int UserId = 0)
        {
            try
            {
                string base64 = TQuery.GetString("base64");

                byte[] bmpBytes = Convert.FromBase64String(base64);


                //base64 = "/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAAAAFESAAQAAAABAAAAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAZACMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDuKKWkr6A+JCilpKBiYoo4ooAfSU6kpAJS4opT0oGhtFLRQB//2Q==";
                if (base64.Length < 100)
                {
                    return(ApiReturnStr.getError(-100, "图片太小,不能作为照片上传。"));
                }
                var fileLength = Convert.ToInt32(base64.Length - (base64.Length / 8) * 2);//文件字节
                if (fileLength >= 1024 * 1024 / 2)
                {
                    return(ApiReturnStr.getError(-100, "上传图片大小不能大于512K。"));
                }
                string  url  = Constant.StaticHost + "Upload/UpImg";
                JObject data = new JObject();
                data["cid"]    = cid;
                data["UserId"] = UserId;
                data["dic"]    = "users";
                data["base64"] = base64;
                string json  = string.Empty;
                int    state = HttpHelper.HttpPostJson(url, data.ToString(), System.Text.Encoding.UTF8, out json);
                if (state == 200)
                {
                    reqApiModel <JObject> model = JsonConvert.DeserializeObject <reqApiModel <JObject> >(json);
                    if (model.backState == 0)
                    {
                        UserImage userImage = new UserImage();
                        userImage.CTime    = DateTime.Now;
                        userImage.FileName = model.Data["filename"].ToString();
                        userImage.Ip       = Ip.GetClientIp();
                        userImage.PlatForm = cid;
                        userImage.State    = 0;
                        userImage.Url      = model.Data["Url"].ToString();
                        userImage.UserId   = UserId;
                        int result = userImageDao.Insert(userImage);
                        model.Data["ID"] = result;
                        userEventDao.UserEventInit(cid, UserId, Ip.GetClientIp(), result > 0 ? 1 : 0, "Upload", "UpImg", $"{{ImgUrl:{model.Data["ImgUrl"]},version:{TQuery.GetString("version")}}}");
                        return(ApiReturnStr.getApiData(result > 0 ? 0 : -100, result > 0 ? "上传成功" : "上传失败", model.Data));
                    }
                }
                return(ApiReturnStr.getApiData(-100, $"上传失败:httpStatus:{state},message:{json}"));
            }
            catch (Exception ex)
            {
                Logs.WriteLog(string.Format("cmd=UpImg,cid:{0},UserId:{1},ip:{2},ex:{3}", cid, UserId, Ip.GetClientIp(), ex.Message), "d:\\Log\\Upload", "UpImg");

                return(ApiReturnStr.getError(-100, "上传图片失败,请稍后再试。"));
            }
        }
예제 #21
0
        public string QueryWithDrawList(int cid = 0, int UserId = 0, int pageIndex = 1, int pageSize = 10, int State = 0)
        {
            #region 验证参数
            if (UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "用户ID不能为0"));
            }
            if (pageIndex < 1)
            {
                return(ApiReturnStr.getError(-100, "页码不能小于1"));
            }
            if (pageSize < 1)
            {
                return(ApiReturnStr.getError(-100, "每页数量不能小于1"));
            }
            #endregion

            int    totalCount = 0;
            object param      = null;
            string where = "UserId=@UserId ";
            if (State != -200)
            {
                where += " and State=@State ";
                param  = new { UserId, State };
            }
            else
            {
                where += " and State<>0 ";
                param  = new { UserId };
            }
            var listpay = withDrawDao.GetPaged(pageSize, pageIndex, out totalCount, where, param, "order by CTime desc");

            JArray list = new JArray();
            if (listpay != null && listpay.Count > 0)
            {
                foreach (var item in listpay)
                {
                    JObject obj = new JObject();
                    obj["Amount"]             = item.Amount.ToString("F2");
                    obj["Receiver"]           = item.Receiver;
                    obj["Fee"]                = item.Fee.ToString("F2");
                    obj["BasicFee"]           = item.BasicFee.ToString("F2");
                    obj["ActualAmount"]       = item.ActualAmount.ToString("F2");
                    obj["ReceiverBankCardNo"] = Util.GetHiddenString(item.ReceiverBankCardNo, 6, 4);
                    obj["ReceiverBank"]       = item.ReceiverBank;
                    obj["CTime"]              = item.CTime.ToString("yyyy-MM-dd HH:mm:ss");
                    obj["HandleTime"]         = item.State != 0 ? item.HandleTime.ToString("yyyy-MM-dd HH:mm:ss") : "";
                    obj["State"]              = ((WithDrawState)item.State).ToString();
                    obj["Message"]            = item.State < 0 ? "" : item.Message;
                    list.Add(obj);
                }
            }
            return(ApiReturnStr.getApiDataListByPage(list, totalCount, pageIndex, pageSize));
        }
예제 #22
0
        public string sss()
        {
            string accountName = HttpUtility.UrlDecode(Request["accountName"]);
            string sss         = Request["sss"];

            byte[] bytes = null;
            using (var binaryReader = new BinaryReader(Request.Files["bankCardPhoto"].InputStream))
            {
                bytes = binaryReader.ReadBytes(Request.Files["bankCardPhoto"].ContentLength);
            }
            string b = System.Text.Encoding.Default.GetString(bytes);

            return(ApiReturnStr.getError(100, "开户成功"));
        }
예제 #23
0
        // GET: Upload
        public string UpImg()
        {
            int cid    = 1;
            int UserId = TQuery.GetInt("UserId");

            try
            {
                if (Request.Files.Count == 0)
                {
                    return("");
                }
                var files = Request.Files[0];


                byte[] content = new byte[files.InputStream.Length];
                files.InputStream.Read(content, 0, Convert.ToInt32(files.InputStream.Length));


                string base64 = Convert.ToBase64String(content.ToArray());;

                byte[] bmpBytes = Convert.FromBase64String(base64);
                //base64 = "/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAAAAFESAAQAAAABAAAAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAZACMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDuKKWkr6A+JCilpKBiYoo4ooAfSU6kpAJS4opT0oGhtFLRQB//2Q==";

                string  url  = Constant.StaticHost + "Upload/UpImg";
                JObject data = new JObject();
                data["cid"]    = cid;
                data["UserId"] = UserId;
                data["dic"]    = "banner";
                data["base64"] = base64;
                string json  = string.Empty;
                int    state = HttpHelper.HttpPostJson(url, data.ToString(), System.Text.Encoding.UTF8, out json);
                if (state == 200)
                {
                    reqApiModel <JObject> model = JsonConvert.DeserializeObject <reqApiModel <JObject> >(json);
                    UserImage             img   = new UserImage();
                    img.UserId   = UserId;
                    img.Url      = model.Data["Url"].ToString();
                    img.PlatForm = (int)ITOrm.Utility.Const.Logic.Platform.系统;
                    int ImgId = userImageDao.Insert(img);
                    model.Data["ImgId"] = ImgId;
                    return(ApiReturnStr.getApiData(model.backState, model.message, model.Data));
                }
                return(ApiReturnStr.getApiData(-100, $"上传失败:httpStatus:{state},message:{json}"));
            }
            catch (Exception ex)
            {
                return(ApiReturnStr.getError(-100, "上传图片失败,请稍后再试。err:" + ex.Message));
            }
        }
예제 #24
0
        public string AccountTotal(int UserId)
        {
            var     model = accountDao.Single("UserId=@UserId", new { UserId });
            JObject data  = new JObject();

            data["Total"]     = "0.00";
            data["Frozen"]    = "0.00";
            data["Available"] = "0.00";
            if (model != null && model.ID > 0)
            {
                data["Total"]     = model.Total.ToString("F2");
                data["Frozen"]    = model.Frozen.ToString("F2");
                data["Available"] = model.Available.ToString("F2");
            }
            return(ApiReturnStr.getApiData(data));
        }
예제 #25
0
        public string AvatarImg(int cid = 0, int UserId = 0, int ImgId = 0)
        {
            if (cid == 0 || UserId == 0 || ImgId == 0)
            {
                return(ApiReturnStr.getError(-100, "参数有误"));
            }
            var user = userDao.Single(UserId);

            user.AvatarImg = ImgId;
            user.UTime     = DateTime.Now;
            bool flag  = userDao.Update(user);
            bool flag2 = userImageDao.UpdateState(ImgId, 1);

            userEventDao.UserEventInit(cid, UserId, Ip.GetClientIp(), flag && flag2 ? 1 : 0, "Users", "AvatarImg", $"{{ImgId:{ImgId},flag:{flag},flag2:{flag2}}}");
            return(ApiReturnStr.getError(flag && flag2 ? 0 : -100, flag && flag2 ? "设置成功" : "设置失败"));
        }
예제 #26
0
        /// <summary>
        /// 验证短信验证码
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="regGuid"></param>
        /// <param name="mcode"></param>
        /// <returns></returns>
        public string ValidateMobileCode(string mobile = "", string forgetGuid = "", string mcode = "")
        {
            #region 验证
            if (!ITOrm.Utility.StringHelper.TypeParse.IsMobile(mobile))
            {
                return(ApiReturnStr.getError(-100, "手机号格式验证失败"));
            }
            if (forgetGuid.Length != 36)
            {
                return(ApiReturnStr.getError(-100, "短信令牌有误"));
            }
            if (mcode.Trim().Length != 6)
            {
                return(ApiReturnStr.getError(-100, "手机验证码错误"));
            }

            string mobileKey = ITOrm.Utility.Const.Constant.forget_mobile_code + forgetGuid;

            if (!ITOrm.Utility.Cache.MemcachHelper.Exists(mobileKey))
            {
                return(ApiReturnStr.getError(-100, "手机验证码已过期"));
            }
            JObject cacheMobileCode = JObject.Parse(ITOrm.Utility.Cache.MemcachHelper.Get(mobileKey).ToString());

            if (mobile != cacheMobileCode["mobile"].ToString())
            {
                return(ApiReturnStr.getError(-100, "当前手机号不是接收短信的手机号"));
            }

            if (mcode.Trim() != cacheMobileCode["code"].ToString())
            {
                return(ApiReturnStr.getError(-100, "手机验证码错误"));
            }



            #endregion

            JObject data = new JObject();
            string  guid = Util.GetGUID;
            data["forgetGuid"] = guid;
            data["mobile"]     = mobile;
            string key = Constant.forget_token + guid;
            MemcachHelper.Delete(mobileKey);//销毁手机短信验证码
            MemcachHelper.Set(key, data.ToString(), ITOrm.Utility.Const.Constant.token_expires);
            return(ApiReturnStr.getApiData(0, "验证成功", data));
        }
예제 #27
0
        /// <summary>
        /// 检查手机号是否重复
        /// </summary>
        /// <returns></returns>
        public string CheckMobile(string mobile = "")
        {
            if (!ITOrm.Utility.StringHelper.TypeParse.IsMobile(mobile))
            {
                return(ApiReturnStr.getError(-100, "手机号格式验证失败"));
            }
            var model = userDao.Single(" mobile=@mobile ", new { mobile });

            if (model != null && model.UserId > 0)
            {
                return(ApiReturnStr.getError(-100, "该手机号已注册"));
            }
            else
            {
                return(ApiReturnStr.getError(0, "用户不存在"));
            }
        }
예제 #28
0
        public string IncomeTotal(int UserId)
        {
            JObject total = MemcachHelper.Get <JObject>(Constant.income_total_key + UserId, DateTime.Now.AddMinutes(5), () =>
            {
                JObject data                = new JObject();
                decimal TotalIncome         = ITOrm.Utility.Helper.DapperHelper.ExecScalarSql <decimal>($" SELECT ISNULL(SUM(Amount),0) FROM dbo.AccountRecord WHERE UserId={UserId} AND TypeId IN(100,101,102,103,104) ");
                decimal LastMounthIncome    = ITOrm.Utility.Helper.DapperHelper.ExecScalarSql <decimal>($" SELECT ISNULL(SUM(Amount),0) FROM dbo.AccountRecord WHERE UserId={UserId} AND TypeId IN(100,101,102,103,104) and DATEDIFF(MONTH,CTime,GETDATE())=1 ");
                decimal CurrentMounthIncome = ITOrm.Utility.Helper.DapperHelper.ExecScalarSql <decimal>($" SELECT ISNULL(SUM(Amount),0) FROM dbo.AccountRecord WHERE UserId={UserId} AND TypeId IN(100,101,102,103,104) and DATEDIFF(MONTH,CTime,GETDATE())=0 ");
                data["TotalIncome"]         = TotalIncome.ToString("F2");
                data["LastMounthIncome"]    = LastMounthIncome.ToString("F2");
                data["CurrentMounthIncome"] = CurrentMounthIncome.ToString("F2");
                return(data);
            });

            total["LastMounthIncomeTip"] = "上月收益会扣除2元的手续费在每月的第一个工作日打款到您的结算卡中。";
            return(ApiReturnStr.getApiData(total));
        }
예제 #29
0
        //初始版 透传卡号
        public string ReceiveApi(int cid = 0, int UserId = 0, decimal Amount = 0m, string BankCard = "")
        {
            return(ApiReturnStr.getError(-100, "请使用最新版APP"));

            Logs.WriteLog($"ReceiveApi,cid:{cid},UserId:{UserId},Amount:{Amount},BankCard:{BankCard}", "d:\\Log\\Yeepay", "ReceiveApi");
            #region 参数验证
            if (UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "UserId参数错误"));
            }
            if (Amount < 100)
            {
                return(ApiReturnStr.getError(-100, "收款金额不能小于100元"));
            }
            if (string.IsNullOrEmpty(BankCard) || !(BankCard.Length > 13 && BankCard.Length < 21))
            {
                return(ApiReturnStr.getError(-100, "收款银行卡有误"));
            }
            var model = userDao.Single(UserId);
            if (model == null || model.UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "用户不存在"));
            }
            var yeepayUser = yeepayUserDao.Single(" UserId=@UserId ", new { UserId });
            if (yeepayUser == null || model.UserId <= 0)
            {
                return(ApiReturnStr.getError(-100, "未开通子商户功能"));
            }
            if (yeepayUser.RateState1 == 0 || yeepayUser.RateState3 == 0 || yeepayUser.RateState4 == 0 || yeepayUser.RateState5 == 0)
            {
                return(ApiReturnStr.getError(-100, "费率未设置"));
            }
            if (yeepayUser.IsAudit == 0)
            {
                return(ApiReturnStr.getError(-100, "子商户未审核通过"));
            }
            #endregion
            var result = YeepayDepository.ReceiveApi(UserId, Amount, cid, BankCard);
            if (result.backState == 0)
            {
                JObject data = new JObject();
                data["PayUrl"] = result.urlAES;
                return(ApiReturnStr.getApiData(data));
            }
            return(ApiReturnStr.getError(-100, result.message));
        }
예제 #30
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="mobile">手机号</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        public string Login(int cid = 0, string mobile = "", string password = "", string guid = "")
        {
            if (!TypeParse.IsMobile(mobile))
            {
                return(ApiReturnStr.getError(-100, "请输入正确的手机号"));
            }
            if (password.Length != 32)
            {
                return(ApiReturnStr.getError(-100, "密码格式不正确"));
            }
            if (guid.Length != 36)
            {
                return(ApiReturnStr.getError(-100, "唯一标识错误"));
            }
            var model = userDao.Single("mobile=@mobile ", new { mobile });

            if (model != null && model.UserId > 0 && model.State < 0)
            {
                return(ApiReturnStr.getError(-100, "您的账户被冻结,无法登录"));
            }
            if (model != null && model.UserId > 0)
            {
                var result = userEventDao.UserCheckLogin(model.UserId);//检查用户是否可以登录
                if (!result.backState)
                {
                    return(ApiReturnStr.getError(-100, result.msg));
                }
            }

            if (model != null && model.UserId > 0 && model.Password == password)
            {
                JObject data = new JObject();
                data["UserId"] = model.UserId;
                //记录登录状态
                ITOrm.Utility.Cache.MemcachHelper.Set(Constant.login_key + model.UserId, guid, DateTime.Now.AddYears(1));
                userEventDao.UserLogin(cid, mobile, password, Ip.GetClientIp(), model.UserId, 1, TQuery.GetString("version"), guid);//登录成功的日志
                return(ApiReturnStr.getApiData(0, "登录成功", data));
            }

            if (model != null && model.UserId > 0)
            {
                userEventDao.UserLogin(cid, mobile, password, Ip.GetClientIp(), model.UserId, 0, TQuery.GetString("version"), guid);//登录失败的日志
                return(ApiReturnStr.getError(-100, "用户名或密码错误(登录失败)"));
            }
            return(ApiReturnStr.getError(-100, "用户名或密码错误"));
        }