Пример #1
0
 public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext context)
 {
     if (_isDebugLog)
     {
         var      Authorization = context.Request.Headers.Authorization == null ? string.Empty : context.Request.Headers.Authorization.ToString();
         JwtModel model         = JwtHelper.getToken(Authorization);
         if (model.status_code != 200)
         {
             context.Response = new HttpResponseMessage
             {
                 Content = new StringContent("{\"message\":\"" + model.message + "\",\"status_code\":" + model.status_code + "}",
                                             Encoding.GetEncoding("UTF-8"), "application/json"),
                 StatusCode = HttpStatusCode.Unauthorized
             };
             return;
         }
     }
     base.OnActionExecuting(context);
 }
Пример #2
0
        public ResponseMessageResult Get(int page, int pagesize, string code, int agentid, int businessid = 0)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.aa_business_balance
                           join b in db.fa_business_basic on a.businessid equals b.id
                           where (b.shortName.Contains(code) || string.IsNullOrEmpty(code)) &&
                           (b.agentid == agentid || agentid == 0) &&
                           (b.id == businessid || businessid == 0)
                           select new
                {
                    a.id,
                    a.businessid,
                    a.businesspasstype,
                    a.wechatbalance,
                    a.alipaybalance,
                    a.unionpaybalance,
                    a.totalbalance,
                    b.shortName
                };
                model.total = temp.Count();
                model.data  = temp.OrderByDescending(s => s.id).Skip((page - 1) * pagesize).Take(pagesize).ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #3
0
        public async Task <bool> ValidateTokens(string Bearer, string UserName)
        {
            JwtModel model = new JwtModel();

            string bear = JWT.Payload(Bearer);

            model = JsonConvert.DeserializeObject <JwtModel>(bear);
            string usuario   = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(model.sub));
            string userNam2e = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(UserName));

            if (usuario == userNam2e)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #4
0
        public ResponseMessageResult Getsy_admin()
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var sy_admin = from a in db.sy_admin
                               join b in db.sy_role on a.roleid equals b.roleid
                               where a.userid == jwtmodel.userid
                               select new
                {
                    a.userid,
                    a.usercode,
                    a.username,
                    a.roleid,
                    b.rolecode,
                    b.rolename,
                    a.status,
                    b.isadmin,
                    a.addtime,
                    a.adduser,
                    a.updatetime,
                    a.updateuser
                };
                if (sy_admin == null)
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
                else
                {
                    model.data        = sy_admin.FirstOrDefault();
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #5
0
        // GET: api/Admin 用户列表
        public ResponseMessageResult Getsy_routers(int page, int pagesize, string code)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.sy_routers
                           join b in db.sy_router on a.id equals b.id
                           where (a.name.Contains(code) || string.IsNullOrEmpty(code))
                           select new
                {
                    a.id,
                    a.name,
                    a.path,
                    a.sort,
                    a.component,
                    a.autoid,
                    a.meta,
                    a.hidden,
                    router_name = b.name
                };
                model.total = temp.Count();
                model.data  = temp.OrderByDescending(s => s.id).Skip((page - 1) * pagesize).Take(pagesize).ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
        public ResponseMessageResult Get()
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var sy_admin = from a in db.sh_business_appinfo
                               where a.id == jwtmodel.userid
                               select new
                {
                    a.id,
                    a.sh_appid,
                    a.sh_appsecret,
                    a.sh_storeid,
                    a.sh_storename,
                    a.sh_businessname,
                    a.sh_mobile,
                    a.sh_balance,
                    a.sh_commission,
                    a.sh_commratio,
                    a.agid,
                    a.status
                };
                if (sy_admin == null)
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
                else
                {
                    model.data        = sy_admin.FirstOrDefault();
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #7
0
        public ResponseMessageResult Postsy_merchant(sy_merchant sy_merchant)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var info = db.sy_merchant.Where(o => o.name == sy_merchant.name && sy_merchant.agid == o.agid).Count();
                if (info > 0)
                {
                    model.message     = "商户名称已经存在";
                    model.status_code = 401;
                }
                else
                {
                    var strDateTime = DateTime.Now.ToString("yyyyMMddHHmmssfff");
                    sy_merchant.appid     = strDateTime;
                    sy_merchant.appsecret = BaseHelper.Md5Hash(strDateTime + "buyunchina");
                    sy_merchant.agid      = jwtmodel.userid;
                    sy_merchant.addtime   = DateTime.Now;
                    sy_merchant.adduser   = jwtmodel.username;
                    sy_merchant.password  = BaseHelper.Md5Hash(sy_merchant.password);
                    db.sy_merchant.Add(sy_merchant);
                    try
                    {
                        db.SaveChanges();
                        model.message     = "新增成功";
                        model.status_code = 200;
                    }
                    catch (Exception ex)
                    {
                        model.message     = ex.Message;
                        model.status_code = 401;
                    }
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
        public async Task <JwtModel> SignWithJwt(Admin admin)
        {
            var tuple = await GetClaimsIdentity(admin);

            if (tuple == null)
            {
                return(null);
            }

            var identity        = tuple.Item1;
            var applicationUser = tuple.Item2;

            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, admin.Username),
                new Claim(JwtRegisteredClaimNames.Jti, await _jwtOptions.JtiGenerator()),
                new Claim(JwtRegisteredClaimNames.Iat, ToUnixEpochDate(_jwtOptions.IssuedAt).ToString(), ClaimValueTypes.Integer64),
                new Claim(JwtRegisteredClaimNames.NameId, applicationUser.Id.ToString()),
                new Claim(JwtRegisteredClaimNames.UniqueName, applicationUser.Id.ToString()),
                identity.FindFirst("LoggedSystemAdmin")
            };

            var jwt = new JwtSecurityToken(
                issuer: _jwtOptions.Issuer,
                audience: _jwtOptions.Audience,
                claims: claims,
                notBefore: _jwtOptions.NotBefore,
                expires: _jwtOptions.Expiration,
                signingCredentials: _jwtOptions.SigningCredentials);

            var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt);

            admin.Password = "";

            var response = new JwtModel()
            {
                Token     = encodedJwt,
                ExpiresIn = (int)_jwtOptions.ValidFor.TotalMinutes
            };

            return(response);
        }
Пример #9
0
        public string GenerateSecurityToken(JwtModel jwtModel)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(_configuration["JwtSettings:Secret"]);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(EClaimTypes.UserId, jwtModel.ApplicationUserId.ToString())
                }
                                             .Concat(jwtModel.UserRoles.Select(roleName => new Claim(ClaimTypes.Role, roleName)))),
                Expires            = DateTime.UtcNow.AddDays(int.Parse(_configuration["JwtSettings:ExpireDays"])),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Пример #10
0
        public ResponseMessageResult Getsy_agent()
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());
            var      sy_agent = from a in db.sy_agent
                                where a.id == jwtmodel.userid
                                select a;

            if (sy_agent == null)
            {
                model.message     = "暂无数据";
                model.status_code = 200;
            }
            else
            {
                model.data        = sy_agent.FirstOrDefault();
                model.message     = "查询成功";
                model.status_code = 200;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #11
0
        // GET: api/Admin 用户登录
        public ResponseMessageResult Getsy_admin(string code, string password)
        {
            var temp = from a in db.sy_admin
                       join b in db.sy_role on a.roleid equals b.roleid
                       select new
            {
                a.userid,
                a.usercode,
                a.username,
                a.roleid,
                b.rolecode,
                b.rolename,
                a.status,
                b.isadmin,
                a.password,
                a.addtime,
                a.adduser,
                a.updatetime,
                a.updateuser
            };

            password   = BaseHelper.Md5Hash(password);
            model.data = temp.Where(o => o.usercode == code && o.password == password && o.status == 1).FirstOrDefault();
            if (model.data != null)
            {
                JwtModel jwtmodel = new JwtModel();
                jwtmodel.userid   = model.data.userid;
                jwtmodel.usercode = model.data.usercode;
                jwtmodel.username = model.data.username;
                jwtmodel.isadmin  = model.data.isadmin;
                jwtmodel.rolecode = model.data.rolecode;
                JwtHelper.setToken(jwtmodel);
                return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)jwtmodel.status_code, jwtmodel)));
            }
            else
            {
                model.message     = "用户名或密码错误";
                model.status_code = 401;
                return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
            }
        }
Пример #12
0
 public ResponseMessageResult Get()
 {
     JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());
     var sy_merchant = from a in db.sy_merchant
                       select new { 
                         id=a.id.ToString(),
                         a.name,
                       };
     if (sy_merchant == null)
     {
         model.message = "暂无数据";
         model.status_code = 200;
     }
     else
     {
         model.data = sy_merchant.ToList();
         model.message = "查询成功";
         model.status_code = 200;
     }
     return new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model));
 }
Пример #13
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            JwtModel model = GetJwtSettings();

            services.AddAuthentication(options => {
                options.DefaultAuthenticateScheme = "JwtBearer";
                options.DefaultChallengeScheme    = "JwtBearer";
            })
            .AddJwtBearer("JwtBearer", jwtBearerOptions => {
                jwtBearerOptions.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(model.Key)),

                    ValidateIssuer = false,
                    ValidIssuer    = model.Issuer,

                    ValidateAudience = true,
                    ValidAudience    = model.Audience,

                    ValidateLifetime = true,
                    ClockSkew        = TimeSpan.FromMinutes(model.MinutesToExpiration)
                };
            });

            services.AddSingleton <JwtModel>(model);
            services.AddSingleton <MainDbUser>();


            RepositoryMapper repoMapper    = new RepositoryMapper();
            ServiceMapper    serviceMapper = new ServiceMapper();

            repoMapper.AddMappings(services);
            serviceMapper.AddMappings(services);


            services.AddSingleton <IConfiguration>(Configuration);
            services.AddCors();
            services.AddMvc();
        }
Пример #14
0
        public async Task <JwtModel> GetTokenForUser(LoginViewModel loginModel)
        {
            var authenticateResult = await Authenticate(loginModel);

            if (authenticateResult.UserValidated)
            {
                // Internal users can authenticate via email address but need correct login Id
                loginModel.Username = authenticateResult.LoginId;

                UserData userData = await UAMClientLibrary.GetUserData(loginModel.Username, true);

                JwtModel userJwt = CreateUser(userData);

                // 4. Map Username to get tblUsers.UserID (if 0)
                if (userJwt.UserId == 0)
                {
                    userJwt.UserId = await _userService.GetUserId(loginModel.Username, 0);

                    // If UserId == 0, invalid user????
                }

                // 5a. Add Claims
                Claim[] claims = _claimService.BuildClaims(userData);                          // Build Claims
                userJwt.Token = _tokenService.BuildJwtSecurityToken(userJwt, claims, _config); // Build JWT (including Claims)

                // 7. Save UserSession (needed for verification of token)
                //  tblUserSessions mySession = new tblUserSessions() { UserID = userJwt.UserId, SessionAttribute = userJwt.Token };
                // var sessionOkay = _sessionService.SaveSession(userJwt);



                return(userJwt);
            }
            else
            {
                return(new JwtModel()
                {
                });
            }
        }
        public async Task <ActionResult <JwtModel> > Login([FromBody] LoginModel model)
        {
            var loginRequest = new LoginOperationRequest
            {
                Email = model.Email, Password = model.Password
            };

            var authenticationResult = await _loginOperation.Execute(loginRequest);

            if (authenticationResult.IsAuthenticated)
            {
                var tokenModel = new JwtModel
                {
                    Token   = authenticationResult.Token,
                    Expires = authenticationResult.Expires
                };

                return(Ok(tokenModel));
            }

            return(Unauthorized());
        }
Пример #16
0
        public async Task AutheticateModelIsValid_TryAuthenticate_ReturnsUserAuthenticatedAndJwtToken()
        {
            var jwt = new JwtModel {
                AccessToken = "TOKEN_AUTHETICATED", ExpiresAt = DateTime.Now
            };
            var model = new CredentialsInputModel {
                Login = "******", Password = "******"
            };
            var userLogged = new UserLoggedOutputModel {
                JsonWebToken = jwt, Login = "******", Name = "Vinicius Santana"
            };

            mockUserRepository.Setup(x => x.GetUserWithCompany(It.IsAny <string>(), It.IsAny <CancellationToken>())).ReturnsAsync(user);
            mockJwtService.Setup(x => x.GenerateToken(It.IsAny <User>())).ReturnsAsync(jwt);
            mockMapper.Setup(x => x.Map <UserLoggedOutputModel>(It.IsAny <User>())).Returns(userLogged);

            var domain = GenerateUserService();

            var result = await domain.Authenticate(model, new CancellationToken());

            Assert.NotNull(result);
        }
        private async Task <string> GetAccessTokenAsync()
        {
            var generateJwtModel = new GenerateJwtModel
            {
                UserName = $"user-{Guid.NewGuid():N}",
                Password = $"password-{Guid.NewGuid():N}",
            };

            using HttpClient httpClient = CreateClient();
            HttpResponseMessage httpResponseMessage =
                await httpClient.PostAsJsonAsync("api/jwt", generateJwtModel).ConfigureAwait(false);

            if (!httpResponseMessage.IsSuccessStatusCode)
            {
                throw new CouldNotGetJwtException(httpResponseMessage);
            }

            JwtModel jwtModel =
                await httpResponseMessage.Content.ReadAsAsync <JwtModel>().ConfigureAwait(false);

            return(jwtModel.AccessToken);
        }
Пример #18
0
        public IActionResult refreshToken([FromBody] JwtModel model)
        {
            ClaimsPrincipal principal        = Jwt.GetClaimsWithToken(model.accesToken);
            var             UserRefreshToken = Jwt.getRefreshTokenInBd(principal.Identity.Name, con);

            if (UserRefreshToken != model.refreshToken)
            {
                HttpContext.Response.Headers.Add("refreshSave", UserRefreshToken);
                HttpContext.Response.Headers.Add("refresh", model.refreshToken);
                return(BadRequest());
            }

            string EnCodedJwt = new JwtSecurityTokenHandler().WriteToken(Jwt.GenerateToken(principal.Claims));

            string NewRefreshToken = Jwt.SaveRefreshToken(principal.Identity.Name, con);

            return(Ok(new
            {
                jwt = EnCodedJwt,
                Refresh = NewRefreshToken
            }));
        }
        private async Task <string> GetAccessTokenAsync()
        {
            var generateJwtModel = new GenerateJwtModel
            {
                UserName = $"user-{Guid.NewGuid():N}",
                Password = $"password-{Guid.NewGuid():N}",
            };

            using HttpClient httpClient = CreateClientWithLoggingCapabilities();
            HttpResponseMessage httpResponseMessage = await httpClient.PostAsync("api/jwt",
                                                                                 new StringContent(JsonConvert.SerializeObject(generateJwtModel), Encoding.UTF8, "application/json"));

            if (!httpResponseMessage.IsSuccessStatusCode)
            {
                throw new CouldNotGetJwtException(httpResponseMessage);
            }

            JwtModel jwtModel =
                JsonConvert.DeserializeObject <JwtModel>(await httpResponseMessage.Content.ReadAsStringAsync());

            return(jwtModel.AccessToken);
        }
        public ResponseMessageResult Postfa_business_basic(fa_business_basic fa_business_basic)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var info = db.fa_business_basic.Where(o => o.merchantName == fa_business_basic.merchantName && fa_business_basic.merchantid == o.merchantid).Count();
                if (info > 0)
                {
                    model.message     = "商户名称已经存在";
                    model.status_code = 401;
                }
                else
                {
                    fa_business_basic.addtime  = DateTime.Now;
                    fa_business_basic.adduser  = jwtmodel.username;
                    fa_business_basic.password = BaseHelper.Md5Hash(fa_business_basic.password);
                    db.fa_business_basic.Add(fa_business_basic);
                    try
                    {
                        db.SaveChanges();
                        model.message     = "新增成功";
                        model.status_code = 200;
                    }
                    catch (Exception ex)
                    {
                        model.message     = ex.Message;
                        model.status_code = 401;
                    }
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #21
0
        // GET: api/Role
        public ResponseMessageResult Getsy_role()
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.sy_role
                           select new
                {
                    a.rolename,
                    a.roleid,
                    a.rolecode,
                    a.isadmin,
                    a.addtime,
                    a.adduser,
                    a.updatetime,
                    a.updateuser
                };
                model.data = temp.ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #22
0
        public ResponseMessageResult Getfa_business_basic()
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.fa_business_basic
                           join b in db.fa_merchant_bank_card on a.appId equals b.merchantId
                           join c in db.sy_merchant on a.merchantid equals c.id
                           where c.id == jwtmodel.userid
                           select new
                {
                    b.id,
                    card_bankaccountNo = b.bankaccountNo,
                    a.appId
                };
                model.total = temp.Count();
                model.data  = temp.ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #23
0
        public IHttpActionResult Postsy_role(sy_role sy_role)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var info = db.sy_role.Where(o => o.rolecode == sy_role.rolecode).Count();
                if (info > 0)
                {
                    model.message     = "角色编码已经存在";
                    model.status_code = 401;
                }
                else
                {
                    sy_role.addtime = DateTime.Now;
                    sy_role.adduser = jwtmodel.username;
                    db.sy_role.Add(sy_role);
                    try
                    {
                        db.SaveChanges();
                        model.message     = "新增成功";
                        model.status_code = 200;
                    }
                    catch (Exception ex)
                    {
                        model.message     = ex.Message;
                        model.status_code = 401;
                    }
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
        // GET: api/Admin 用户登录
        public ResponseMessageResult Get(string code, string password)
        {
            var temp = from a in db.sh_business_appinfo select a;

            password   = BaseHelper.Md5Hash(password);
            model.data = temp.Where(o => o.sh_mobile == code && o.sh_password == password && o.status == true).FirstOrDefault();
            if (model.data != null)
            {
                JwtModel jwtmodel = new JwtModel();
                jwtmodel.userid   = model.data.id;
                jwtmodel.usercode = model.data.sh_mobile;
                jwtmodel.username = model.data.sh_businessname;
                jwtmodel.isadmin  = true;
                jwtmodel.rolecode = "admin";
                JwtHelper.setToken(jwtmodel);
                return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)jwtmodel.status_code, jwtmodel)));
            }
            else
            {
                model.message     = "用户名或密码错误";
                model.status_code = 401;
                return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
            }
        }
        public async Task <ActionResult> Login([FromBody] LoginDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.ValidationState));
            }
            JwtModel token = null;

            try
            {
                token = await _authRepo.Login(model);

                if (token == null)
                {
                    return(BadRequest(new { Error = "User does not Exist or Invalid Password" }));
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e.InnerException?.ToString() ?? e.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError, "Internal Server Error"));
            }
            return(Ok(token));
        }
Пример #26
0
        // GET: api/Admin 用户列表
        public ResponseMessageResult Getfa_open_payment(int page, int pagesize, string code)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.fa_open_payment
                           join b in db.fa_business_basic on a.merchantId equals b.appId
                           join c in db.sy_merchant on b.merchantid equals c.id
                           join d in db.sy_agent on c.agid equals d.id
                           where (a.merchantId.Contains(code) || string.IsNullOrEmpty(code))
                           select new
                {
                    a.id,
                    a.merchantId,
                    a.handleType,
                    a.cycleValue,
                    a.busiCode,
                    a.futureRateType,
                    a.futureRateValue,
                    a.futureMinAmount,
                    a.futureMaxAmount,
                    a.agencyId,
                    a.wechat_status,
                    a.wechat_rate,
                    a.alipay_status,
                    a.alipay_rate,
                    a.daipay_status,
                    a.daipay_rate,
                    a.qqpay_status,
                    a.qqpay_rate,
                    a.jdpay_status,
                    a.jdpay_rate,
                    a.unionpay_status,
                    a.unionpay_rate,
                    a.addtime,
                    a.adduser,
                    a.updatetime,
                    a.updateuser,
                    a.isaudit,
                    b.shortName,
                    merchantname = c.name,
                    agname       = d.name
                };
                model.total = temp.Count();
                model.data  = temp.OrderByDescending(s => s.id).Skip((page - 1) * pagesize).Take(pagesize).ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #27
0
        public ResponseMessageResult Putsy_agent(sy_agent sy_agent)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var count = db.sy_agent.Where(o => o.name == sy_agent.name && o.id != sy_agent.id).Count();
                if (count > 0)
                {
                    model.message     = "用户编码已经存在";
                    model.status_code = 401;
                }
                else
                {
                    var info = db.sy_agent.Find(sy_agent.id);
                    if (!string.IsNullOrEmpty(sy_agent.password))
                    {
                        info.password = BaseHelper.Md5Hash(sy_agent.password);
                    }
                    info.name                   = sy_agent.name;
                    info.ratio                  = sy_agent.ratio;
                    info.account_name           = sy_agent.account_name;
                    info.card_number            = sy_agent.card_number;
                    info.bank_accounts          = sy_agent.bank_accounts;
                    info.opening_address        = sy_agent.opening_address;
                    info.opening_point          = sy_agent.opening_point;
                    info.agency_level           = sy_agent.agency_level;
                    info.direct_identity        = sy_agent.direct_identity;
                    info.agent_rights           = sy_agent.agent_rights;
                    info.agency_amount          = sy_agent.agency_amount;
                    info.agency_expiration_date = sy_agent.agency_expiration_date;
                    info.user_status            = sy_agent.user_status;
                    info.remarks                = sy_agent.remarks;
                    info.corporate_name         = sy_agent.corporate_name;
                    info.province               = sy_agent.province;
                    info.city                   = sy_agent.city;
                    info.area                   = sy_agent.area;
                    info.industry_owned         = sy_agent.industry_owned;
                    info.main_business          = sy_agent.main_business;
                    info.company_number         = sy_agent.company_number;
                    info.annual_turnover        = sy_agent.annual_turnover;
                    info.contacts               = sy_agent.contacts;
                    info.contact_number         = sy_agent.contact_number;
                    info.mobile_phone           = sy_agent.mobile_phone;
                    info.qq_number              = sy_agent.qq_number;
                    info.mail_box               = sy_agent.mail_box;
                    info.proof_document         = sy_agent.proof_document;
                    info.company_logo           = sy_agent.company_logo;
                    info.is_alipay              = sy_agent.is_alipay;
                    info.is_jd                  = sy_agent.is_jd;
                    info.is_t0                  = sy_agent.is_t0;
                    info.updatetime             = DateTime.Now;
                    info.updateuser             = jwtmodel.username;
                    info.domain                 = sy_agent.domain;
                    info.bus_domain             = sy_agent.bus_domain;
                    //db.Entry(sy_agent).State = EntityState.Modified;
                    try
                    {
                        model.message     = "修改成功";
                        model.status_code = 200;
                        db.SaveChanges();
                    }
                    catch (DbUpdateConcurrencyException ex)
                    {
                        model.message     = ex.Message;
                        model.status_code = 401;
                    }
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #28
0
        public ResponseMessageResult Getsy_merchant(int page, int pagesize, string code)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.sy_merchant
                           join b in db.sy_agent on a.agid equals b.id
                           where (a.name.Contains(code) || string.IsNullOrEmpty(code)) &&
                           a.agid == jwtmodel.userid
                           select new
                {
                    a.id,
                    a.name,
                    a.agid,
                    a.user_status,
                    a.user_rights,
                    a.merchant_name,
                    a.province,
                    a.city,
                    a.area,
                    a.merchant_address,
                    a.contacts,
                    a.contact_information,
                    a.mail_box,
                    a.qq_number,
                    a.expiration_date,
                    a.enabletime,
                    a.disabletime,
                    a.payment_limit,
                    a.recharge_limit,
                    a.last_login_time,
                    a.addtime,
                    a.adduser,
                    a.appid,
                    a.appsecret,
                    agname = b.name,
                    a.comm_ratio,
                    a.company_logo,
                    a.domain
                };
                model.total = temp.Count();
                model.data  = temp.OrderByDescending(s => s.id).Skip((page - 1) * pagesize).Take(pagesize).ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #29
0
        public ResponseMessageResult Putfa_business_basic(fa_business_basic fa_business_basic)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var info = db.fa_business_basic.Find(fa_business_basic.id);
                if (!string.IsNullOrEmpty(fa_business_basic.password))
                {
                    info.password = BaseHelper.Md5Hash(fa_business_basic.password);
                }
                var db_content = ContextDB.Context();
                db_content.Execute("exec p_alipaydetail_add @0,@1", fa_business_basic.id, fa_business_basic.alipayaccount);
                info.isaudit          = fa_business_basic.isaudit;
                info.merchantid       = fa_business_basic.merchantid;
                info.merchantName     = fa_business_basic.merchantName;
                info.shortName        = fa_business_basic.shortName;
                info.handleType       = fa_business_basic.handleType;
                info.city             = fa_business_basic.city;
                info.merchantAddress  = fa_business_basic.merchantAddress;
                info.servicePhone     = fa_business_basic.servicePhone;
                info.orgCode          = fa_business_basic.orgCode;
                info.merchantType     = fa_business_basic.merchantType;
                info.category         = fa_business_basic.category;
                info.corpmanName      = fa_business_basic.corpmanName;
                info.corpmanId        = fa_business_basic.corpmanId;
                info.corpmanPhone     = fa_business_basic.corpmanPhone;
                info.corpmanMobile    = fa_business_basic.corpmanMobile;
                info.corpmanEmail     = fa_business_basic.corpmanEmail;
                info.bankCode         = fa_business_basic.bankCode;
                info.bankName         = fa_business_basic.bankName;
                info.bankaccountNo    = fa_business_basic.bankaccountNo;
                info.bankaccountName  = fa_business_basic.bankaccountName;
                info.autoCus          = fa_business_basic.autoCus;
                info.remark           = fa_business_basic.remark;
                info.licenseNo        = fa_business_basic.licenseNo;
                info.taxRegisterNo    = fa_business_basic.taxRegisterNo;
                info.appId            = fa_business_basic.appId;
                info.appSecret        = fa_business_basic.appSecret;
                info.status           = fa_business_basic.status;
                info.addrType         = fa_business_basic.addrType;
                info.contactType      = fa_business_basic.contactType;
                info.mcc              = fa_business_basic.mcc;
                info.licenseType      = fa_business_basic.licenseType;
                info.contactMan       = fa_business_basic.contactMan;
                info.telNo            = fa_business_basic.telNo;
                info.mobilePhone      = fa_business_basic.mobilePhone;
                info.email            = fa_business_basic.email;
                info.licenseBeginDate = fa_business_basic.licenseBeginDate;
                info.licenseEndDate   = fa_business_basic.licenseEndDate;
                info.licenseRange     = fa_business_basic.licenseRange;
                info.ratio            = fa_business_basic.ratio;
                info.minAmount        = fa_business_basic.minAmount;
                info.maxAmount        = fa_business_basic.maxAmount;
                info.disabletime      = fa_business_basic.disabletime;
                info.enabletime       = fa_business_basic.enabletime;
                info.updatetime       = DateTime.Now;
                info.updateuser       = jwtmodel.username;
                info.agentid          = fa_business_basic.agentid;
                info.depositratio     = fa_business_basic.depositratio;
                info.businesspasstype = fa_business_basic.businesspasstype;
                info.wechatratio      = fa_business_basic.wechatratio;
                info.alipayratio      = fa_business_basic.alipayratio;
                info.unionratio       = fa_business_basic.unionratio;
                info.alipayaccount    = fa_business_basic.alipayaccount;
                try
                {
                    model.message     = "修改成功";
                    model.status_code = 200;
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    model.message     = ex.Message;
                    model.status_code = 401;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }
Пример #30
0
        public ResponseMessageResult Getfa_business_basic(int page, int pagesize, string code, int merchantid)
        {
            JwtModel jwtmodel = JwtHelper.getToken(HttpContext.Current.Request.Headers.GetValues("Authorization").First().ToString());

            if (jwtmodel.isadmin)
            {
                var temp = from a in db.fa_business_basic
                           join b in db.sy_merchant on a.merchantid equals b.id
                           join c in db.sy_agent on a.agentid equals c.id
                           where (a.merchantName.Contains(code) || b.name.Contains(code) || c.name.Contains(code) || a.shortName.Contains(code) || string.IsNullOrEmpty(code)) &&
                           (a.merchantid == merchantid || merchantid <= 0)
                           select new
                {
                    a.balance,
                    a.id,
                    a.code,
                    a.password,
                    a.merchantid,
                    a.merchantName,
                    a.shortName,
                    a.handleType,
                    a.city,
                    a.merchantAddress,
                    a.servicePhone,
                    a.orgCode,
                    a.merchantType,
                    a.category,
                    a.corpmanName,
                    a.corpmanId,
                    a.corpmanPhone,
                    a.corpmanMobile,
                    a.corpmanEmail,
                    a.bankCode,
                    a.bankName,
                    a.bankaccountNo,
                    a.bankaccountName,
                    a.autoCus,
                    a.remark,
                    a.licenseNo,
                    a.taxRegisterNo,
                    a.appId,
                    a.appSecret,
                    a.status,
                    a.addtime,
                    a.adduser,
                    a.updatetime,
                    a.updateuser,
                    a.isaudit,
                    mername = b.name,
                    agname  = c.name,
                    a.addrType,
                    a.contactType,
                    a.mcc,
                    a.licenseType,
                    a.contactMan,
                    a.telNo,
                    a.mobilePhone,
                    a.email,
                    a.licenseBeginDate,
                    a.licenseEndDate,
                    a.licenseRange,
                    a.ratio,
                    a.minAmount,
                    a.maxAmount,
                    a.disabletime,
                    a.enabletime,
                    a.agentid,
                    a.depositratio,
                    c.bus_domain,
                    a.businesspasstype,
                    a.wechatratio,
                    a.alipayratio,
                    a.unionratio,
                    a.alipayaccount
                };
                model.total = temp.Count();
                model.data  = temp.OrderByDescending(s => s.id).Skip((page - 1) * pagesize).Take(pagesize).ToList();

                if (model.data.Count > 0)
                {
                    model.message     = "查询成功";
                    model.status_code = 200;
                }
                else
                {
                    model.message     = "暂无数据";
                    model.status_code = 200;
                }
            }
            else
            {
                model.message     = "用户权限不足";
                model.status_code = 401;
            }
            return(new ResponseMessageResult(Request.CreateResponse((HttpStatusCode)model.status_code, model)));
        }