public override void OnActionExecuting(ActionExecutingContext context) { var token = context.HttpContext.Request.Headers["token"]; var openid = context.HttpContext.Request.Headers["openid"]; if (string.IsNullOrWhiteSpace(token) || string.IsNullOrWhiteSpace(openid)) { context.HttpContext.Response.StatusCode = 401; context.HttpContext.Response.ContentType = "application/json"; //context.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject( // new { authenticated = false, tokenExpired = true } //)); context.Result = new ContentResult(); return; } var account = new DbsAccount().ByOpenId(openid, ValidityState.Enabled); if (account == null || string.IsNullOrWhiteSpace(account.Session_Key)) { context.HttpContext.Response.StatusCode = 401; context.HttpContext.Response.ContentType = "application/json"; context.Result = new EmptyResult(); return; } var basetoken = new WeChatService().GetToken(new WeChatRes(openid, account.Session_Key)); if (basetoken != token) { context.HttpContext.Response.StatusCode = 401; context.HttpContext.Response.ContentType = "application/json"; context.Result = new ContentResult(); return; } }
public IWsModel <ReqAccount, ResAccount> AccountSimple([FromBody] WsModel <ReqAccount, ResAccount> model) { if (model == null) { return(new WsModel <ReqAccount, ResAccount>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (string.IsNullOrWhiteSpace(model.Request.OpenId)) { return(model.Fail(ErrorCode.PARAM_NULL, "参数OpenId为空")); } // var wxlog= WxLogFactory.GetWxLogger(typeof(QueryAccountService)); //Account account = new DbsAccount().ById(model.Request.AccountId); Account account = new DbsAccount().ByOpenId(model.Request.OpenId, ValidityState.Enabled); if (account == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "用户不存在")); } LogDebug($"找到用户{account.Name}"); LogInfo($"找到用户{account.Name}"); LogError($"找到用户{account.Name}"); var res = new ResAccount(account); return(model.Ok(res)); }
public IWsModel <ReqAddAccount, ResAccount> UpdateAccount([FromBody] WsModel <ReqAddAccount, ResAccount> model) { if (model == null) { return(new WsModel <ReqAddAccount, ResAccount>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (string.IsNullOrWhiteSpace(model.Request.OpenId)) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } var retAccount = new DbsAccount().GetAccount(model.Request.OpenId); if (retAccount == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "数据不存在")); } if (AlterModel(ref retAccount, model.Request)) { var result = new DbaAccount().UpdateAccount(retAccount); if (result == 0) { return(model.Fail(ErrorCode.DB_SAVE_FAILED, "修改失败")); } } var ret = new ResAccount(retAccount); return(model.Ok(ret)); }
public IWsModel <ReqAddCorporation, ResCorporation> UpdateCorporation([FromBody] WsModel <ReqAddCorporation, ResCorporation> model) { if (model == null) { return(new WsModel <ReqAddCorporation, ResCorporation>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (string.IsNullOrWhiteSpace(model.Request.CorporationId)) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } var retCorporation = new DbsAccount().GetCorporationInfo(model.Request.CorporationId); if (retCorporation == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "数据不存在")); } if (AlterModel(ref retCorporation, model.Request)) { var result = new DbaAccount().UpdateCorporation(retCorporation); if (result == 0) { return(model.Fail(ErrorCode.DB_SAVE_FAILED, "修改失败")); } } var ret = new ResCorporation(retCorporation); return(model.Ok(ret)); }
public IWsModel <ReqAddCar, ResCarConciseInfo> AddCarInfo([FromBody] WsModel <ReqAddCar, ResCarConciseInfo> model) { if (model == null) { return(new WsModel <ReqAddCar, ResCarConciseInfo>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (!model.Request.Valid4Enum()) { return(model.Fail(ErrorCode.PARAM_INVALID, "枚举参数无效")); } if (!model.Request.Valid4AddCar()) { return(model.Fail(ErrorCode.PARAM_INVALID, "参数无效")); } var dbscar = new DBsCar(); if (dbscar.GetBrandSeriesDetail(model.Request.BrandId, ValidityState.Enabled) == null) { return(model.Fail(ErrorCode.PARAM_INVALID, "参数BrandId无效")); } if (dbscar.GetBrandSeriesDetail(model.Request.SeriesId, ValidityState.Enabled) == null) { return(model.Fail(ErrorCode.PARAM_INVALID, "参数SeriesId无效")); } var dbsaccount = new DbsAccount(); if (dbsaccount.ByOpenId(model.Request.AccountId, ValidityState.Enabled) == null) { return(model.Fail(ErrorCode.PARAM_INVALID, "参数AccountId无效")); } if (dbsaccount.GetCorporationInfo(model.Request.CorporationId, ValidityState.Enabled) == null) { return(model.Fail(ErrorCode.PARAM_INVALID, "参数CorporationId无效")); } var carDetail = new CarsDetails(model.Request.CarDrive, model.Request.CarEnergy, model.Request.CarGearbox, model.Request.CarSeat, model.Request.CarEmissionStandard, model.Request.Appearance, model.Request.Interior, model.Request.CarConfig, model.Request.CarLicenseTime, model.Request.CarAge, model.Request.Mileage, model.Request.Emission, model.Request.Images); var retDetail = new DBaCar().AddCarDetail(carDetail); if (retDetail == 0) { return(model.Fail(ErrorCode.DB_SAVE_FAILED, "添加失败")); } var carConcise = new CarsConcise(model.Request.AccountId, carDetail.Id, model.Request.CorporationId, model.Request.Name, model.Request.BrandId, model.Request.SeriesId, model.Request.GuidePrice, model.Request.SellingPrice, model.Request.BasePrice, ValidityState.Enabled, (carDetail.Images == null)?"":carDetail.Images[0], CarSell.Sale, model.Request.CarActivity); var retConcise = new DBaCar().AddCarConcise(carConcise); if (retConcise == 0) { return(model.Fail(ErrorCode.DB_SAVE_FAILED, "添加失败")); } var ret = new ResCarConciseInfo(carConcise, carDetail.CarLicenseTime, carDetail.Mileage); return(model.Ok(ret)); }
public IWsModel <ReqAccount, ResToken> Login([FromBody] WsModel <ReqAccount, ResToken> model) { if (model == null) { return(new WsModel <ReqAccount, ResToken>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request.Valid4Login()) { return(model.Fail(ErrorCode.PARAM_INVALID, "参数无效")); } var wechat = new WeChatService().GetOpenIdSeeeionKey(model.Request.Code); if (wechat == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "Code错误")); } var account = new DbsAccount().GetAccount(wechat.openid); if (account == null) { var addaccount = new Account(model.Request.WechatName, wechat.openid, wechat.session_key, model.Request.Sex, ValidityState.Enabled, Identity.Visitor, model.Request.Logo, DateTime.Now); var addret = new DbaAccount().AddAccount(addaccount); if (addret == 0) { return(model.Fail(ErrorCode.DB_SAVE_FAILED, "添加失败")); } else { var token = new WeChatService().GetToken(wechat); var ret = new ResToken(token, addaccount.OpenId); return(model.Ok(ret)); } } else { if (account.State != ValidityState.Enabled) { return(model.Fail(ErrorCode.USER_DISABLE, "账户不可用")); } var token = new WeChatService().GetToken(wechat); var ret = new ResToken(token, account.OpenId, account.Corporation); return(model.Ok(ret)); } }
public IWsModel <ReqAccount, ResCorporation> Corporation([FromBody] WsModel <ReqAccount, ResCorporation> model) { if (model == null) { return(new WsModel <ReqAccount, ResCorporation>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (string.IsNullOrWhiteSpace(model.Request.OpenId)) { return(model.Fail(ErrorCode.PARAM_NULL, "参数OpenId为空")); } var ret = new DbsAccount().GetCorporation(model.Request.OpenId, ValidityState.Enabled); if (ret == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "公司不存在")); } return(model.Ok(ret)); }
public IWsModel <ReqAccount, ResAccount> AccountInfo([FromBody] WsModel <ReqAccount, ResAccount> model) { if (model == null) { return(new WsModel <ReqAccount, ResAccount>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (string.IsNullOrWhiteSpace(model.Request.OpenId)) { return(model.Fail(ErrorCode.PARAM_NULL, "参数OpenId为空")); } var result = new DbsAccount().GetAccountInfo(model.Request.OpenId, ValidityState.Enabled); if (result == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "用户不存在")); } result.DescIdentity = result.Identity.GetIdentityDescription(); result.DescSex = result.Sex.GetGenderDescription(); return(model.Ok(result)); }
public IWsModel <ReqAddAccount, ResAccount> AddAccount([FromBody] WsModel <ReqAddAccount, ResAccount> model) { if (model == null) { return(new WsModel <ReqAddAccount, ResAccount>().Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (model.Request == null) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } if (!model.Request.Valid4AddAccount()) { return(model.Fail(ErrorCode.PARAM_NULL, "参数为空")); } var dbs = new DbsAccount(); if (dbs.GetAccount(model.Request.OpenId) != null) { return(model.Fail(ErrorCode.DB_EXISTED, "数据已存在")); } //验证公司是否存在 if (dbs.GetCorporationInfo(model.Request.Corporation, ValidityState.Enabled) == null) { return(model.Fail(ErrorCode.DB_NOTEXISTED, "公司不存在")); } var account = new Account(model.Request.Wechat, model.Request.WechatName, model.Request.OpenId, model.Request.Corporation, model.Request.Sex, model.Request.Email, model.Request.Phone, model.Request.Name, ValidityState.Disabled, Identity.Staff, model.Request.Logo, DateTime.Now); var result = new DbaAccount().AddAccount(account); if (result == 0) { return(model.Fail(ErrorCode.DB_SAVE_FAILED, "添加失败")); } var ret = new ResAccount(account); return(model.Ok(ret)); }
public override void OnActionExecuting(ActionExecutingContext context) { //获取context //var result = string.Empty; //var bo = context.HttpContext.Request.Body.CanRead; //context.HttpContext.Request.Body.Position = 0; //result = new StreamReader(context.HttpContext.Request.Body, UTF8Encoding.UTF8).ReadToEnd(); //获取header //var keys = context.HttpContext.Request.Headers.Keys; //var values = context.HttpContext.Request.Headers.Values; var openid = context.HttpContext.Request.Headers["openid"]; if (string.IsNullOrWhiteSpace(openid)) { context.HttpContext.Response.StatusCode = 403; context.HttpContext.Response.ContentType = "application/json"; //context.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject( // new { authenticated = false, tokenExpired = true } //)); context.Result = new ContentResult(); return; } var account = new DbsAccount().ByOpenId(openid, ValidityState.Enabled); //var bo = account.Identity & _needIdentity; if (account == null || account.Identity != _needIdentity) { if (account.Identity != Identity.admin) { context.HttpContext.Response.StatusCode = 403; context.HttpContext.Response.ContentType = "application/json"; context.Result = new EmptyResult(); return; } } }