Browse Source

代码冲突合并

develop-lawyerExampaper
liujiaqiang 2 years ago
parent
commit
65be370197
  1. 53
      24Hour/Controllers/LoginController.cs
  2. 89
      24Hour/Controllers/system/SystemControllerController.cs
  3. 6
      24Hour/Program.cs
  4. 57
      24Hour/WechatMessagerClient.cs

53
24Hour/Controllers/LoginController.cs

@ -35,12 +35,14 @@ namespace _24Hour.Controllers
private readonly SqlSugarClient _db;//数据库 private readonly SqlSugarClient _db;//数据库
private readonly WriteSysLog _logs;//操作日志 private readonly WriteSysLog _logs;//操作日志
private readonly ILogger<LoginController> _logger;//日志 private readonly ILogger<LoginController> _logger;//日志
private readonly WechatMessagerClient wechatMessagerClient;
Result ret = new Result(); Result ret = new Result();
public LoginController(ILogger<LoginController> logger, SqlSugarClient db, IConfiguration configuration) public LoginController(ILogger<LoginController> logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient)
{ {
_logger = logger; _logger = logger;
_db = db; _db = db;
_configuration = configuration; _configuration = configuration;
this.wechatMessagerClient = _wechatMessagerClient;
} }
[HttpPost] [HttpPost]
@ -317,7 +319,7 @@ namespace _24Hour.Controllers
var opendata = await GetOpenId(code); var opendata = await GetOpenId(code);
if (opendata.IsSucceed == true) if (opendata.IsSucceed == true)
{ {
return WeChatLogin(opendata.result); return await WeChatLogin(opendata.result);
} }
else else
{ {
@ -351,6 +353,18 @@ namespace _24Hour.Controllers
// return ret; // return ret;
//} //}
//else //else
if (date.identity == "律师" && date.audit == 1)
{
ret.IsSucceed = false;
ret.Message = $"用户信息审核未通过,原因:{date.describe},请重新注册!";
return ret;
}
else if (date.identity == "律师" && date.audit == 2)
{
ret.IsSucceed = false;
ret.Message = "用户信息审核中!";
return ret;
}
if (date.usertype == 0 && date.becurrent == 1) if (date.usertype == 0 && date.becurrent == 1)
{ {
ret.IsSucceed = false; ret.IsSucceed = false;
@ -388,7 +402,8 @@ namespace _24Hour.Controllers
identity = date.identity, identity = date.identity,
usertype = date.usertype, usertype = date.usertype,
unitCode = date.unitCode, unitCode = date.unitCode,
token = tokenString token = tokenString,
openId = date.wechatId
}; };
#endregion #endregion
ret.IsSucceed = true; ret.IsSucceed = true;
@ -396,7 +411,7 @@ namespace _24Hour.Controllers
else else
{ {
ret.IsSucceed = false; ret.IsSucceed = false;
ret.Message = "΢ÐÅδÊÚȨ£¡"; ret.Message = "微信未授权,请先注册账号!";
} }
return ret; return ret;
} }
@ -412,6 +427,12 @@ namespace _24Hour.Controllers
{ {
try try
{ {
if (string.IsNullOrEmpty(UserModel.wechatId) && await _db.Queryable<App_Sys_UserModel>().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0))
{
ret.IsSucceed = false;
ret.Message = "当前微信已与其他账号绑定";
return ret;
}
var data = await _db.Queryable<App_Sys_UserModel>().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync(); var data = await _db.Queryable<App_Sys_UserModel>().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync();
if (UserModel.identity == "律师") if (UserModel.identity == "律师")
@ -620,29 +641,7 @@ namespace _24Hour.Controllers
/// <param name="code"></param> /// <param name="code"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("getOpenid")] [HttpGet("getOpenid")]
public async Task<Result> GetOpenId(string code) public Task<Result> GetOpenId(string code) => wechatMessagerClient.GetOpenId(code);
{
var opendata = HttpHelper.Get($"https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secid}&js_code={code}&grant_type=authorization_code");
var data = JsonConvert.DeserializeAnonymousType(opendata, new
{
openid=default(string),
session_key = default(string),
unionid = default(string),
errcode = default(int),
errmsg = default(string),
});
if (data.errcode==0)
{
ret.IsSucceed = true;
ret.result = data.openid;
}
else
{
ret.IsSucceed = false;
ret.Message = data.errmsg;
}
return ret;
}
} }

89
24Hour/Controllers/system/SystemControllerController.cs

@ -1,4 +1,5 @@
using com.sun.xml.@internal.ws.api.model; using com.sun.org.apache.bcel.@internal.generic;
using com.sun.xml.@internal.ws.api.model;
using Elight.Entity; using Elight.Entity;
using Elight.Entity.SystemModel; using Elight.Entity.SystemModel;
using Elight.Logic; using Elight.Logic;
@ -28,13 +29,15 @@ namespace _24Hour.Controllers.system
private readonly WriteSysLog _logs;//操作日志 private readonly WriteSysLog _logs;//操作日志
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户
private readonly ILogger<LoginController> _logger;//日志 private readonly ILogger<LoginController> _logger;//日志
private readonly WechatMessagerClient wechatMessagerClient;
Result result = new Result(); Result result = new Result();
public SystemControllerController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user) public SystemControllerController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user, WechatMessagerClient _wechatMessagerClient)
{ {
_logger = logger; _logger = logger;
_db = db; _db = db;
_logs = logs; _logs = logs;
_userdata = user.Userdata(); _userdata = user.Userdata();
this.wechatMessagerClient = _wechatMessagerClient;
} }
#endregion #endregion
#region 用户管理 #region 用户管理
@ -274,6 +277,88 @@ namespace _24Hour.Controllers.system
return result; return result;
} }
[HttpGet]
[Route("UserUnbindWechat")]
public async Task<Result> UserUnbindWechat()
{
try
{
var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id == _userdata.Id && x.IsDeleted == 0).FirstAsync();
if (model != null)
{
model.wechatId = string.Empty;
}
_db.BeginTran();
var num = await _db.Updateable(model).UpdateColumns(it => new { it.wechatId }).ExecuteCommandAsync();
//var num = await _db.Updateable(UserModel).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
result.IsSucceed = true;
result.result = "";
}
}
catch (System.Exception ex)
{
_db.RollbackTran();
result.IsSucceed = false;
result.Message = ex.Message;
}
_logs.WriteSysLogadd("用户管理", "修改人员信息", result, _db);
return result;
}
/// <summary>
/// 用户绑定微信openid
/// </summary>
/// <param name="openid"></param>
/// <returns></returns>
[HttpGet]
[Route("UserBindWechat")]
public async Task<Result> UserBindWechat(string code)
{
try
{
var getopenid = await wechatMessagerClient.GetOpenId(code);
if (getopenid.IsSucceed == false)
{
return getopenid;
}
string openid = getopenid.result;
if (await _db.Queryable<App_Sys_UserModel>().AnyAsync(x => x.wechatId == openid && x.IsDeleted == 0))
{
result.IsSucceed = false;
result.Message = "当前微信已与其他账号绑定";
return result;
}
var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id == _userdata.Id && x.IsDeleted == 0).FirstAsync();
if (model != null)
{
model.wechatId = getopenid.result;
}
_db.BeginTran();
var num = await _db.Updateable(model).UpdateColumns(it => new { it.wechatId }).ExecuteCommandAsync();
//var num = await _db.Updateable(UserModel).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
result.IsSucceed = true;
result.result = getopenid.result;
}
}
catch (System.Exception ex)
{
_db.RollbackTran();
result.IsSucceed = false;
result.Message = ex.Message;
}
_logs.WriteSysLogadd("用户管理", "修改人员信息", result, _db);
return result;
}
/// <summary> /// <summary>
/// 删除用户 /// 删除用户
/// </summary> /// </summary>

6
24Hour/Program.cs

@ -165,6 +165,12 @@ builder.Services.AddAuthentication(options =>
}).AddScheme<AuthenticationSchemeOptions, ResponseAuthenticationHandler>(nameof(ResponseAuthenticationHandler), o => { }); }).AddScheme<AuthenticationSchemeOptions, ResponseAuthenticationHandler>(nameof(ResponseAuthenticationHandler), o => { });
builder.Services.AddHttpClient<WechatMessagerClient>(opt =>
{
opt.BaseAddress = new Uri("https://api.weixin.qq.com/sns");
});
//builder.Services.AddAuthorization(); //builder.Services.AddAuthorization();
builder.Services.AddHttpContextAccessor(); builder.Services.AddHttpContextAccessor();
builder.Services.AddScoped<WebSocketController>(); builder.Services.AddScoped<WebSocketController>();

57
24Hour/WechatMessagerClient.cs

@ -0,0 +1,57 @@
using com.sun.org.apache.bcel.@internal.generic;
using com.sun.xml.@internal.xsom;
using Elight.Utility;
using Elight.Utility.Code;
using Newtonsoft.Json;
namespace _24Hour
{
public class WechatMessagerClient
{
private readonly HttpClient httpCliet;
public WechatMessagerClient(HttpClient _httpCliet)
{
this.httpCliet = _httpCliet;
httpCliet.DefaultRequestHeaders.Add("Accept", "application/json");
httpCliet.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample");
httpCliet.DefaultRequestHeaders.ConnectionClose = true;
}
/// <summary>
/// 小程序AppID
/// </summary>
private const string appid = "wx48108a0c98a3dab0";
/// <summary>
/// 小程序secretID
/// </summary>
private const string secid = "e752e4fba67526eca21313a18c96a58f";
public async Task<Result> GetOpenId(string code)
{
var ret = new Result();
var reponse = await httpCliet.GetAsync($"/sns/jscode2session?appid={appid}&secret={secid}&js_code={code}&grant_type=authorization_code");
var opendata = await reponse.EnsureSuccessStatusCode().Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeAnonymousType(opendata, new
{
openid = default(string),
session_key = default(string),
unionid = default(string),
errcode = default(int),
errmsg = default(string),
});
if (data.errcode == 0)
{
ret.IsSucceed = true;
ret.result = data.openid;
}
else
{
ret.IsSucceed = false;
ret.Message = data.errmsg;
}
return ret;
}
}
}
Loading…
Cancel
Save