Browse Source

代码冲突合并

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

85
24Hour/Controllers/LoginController.cs

@ -34,13 +34,15 @@ namespace _24Hour.Controllers
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
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]
@ -315,9 +317,9 @@ namespace _24Hour.Controllers
public async Task<Result> WeChatLoginByCode(string code) public async Task<Result> WeChatLoginByCode(string code)
{ {
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
{ {
@ -337,20 +339,32 @@ namespace _24Hour.Controllers
{ {
var date = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.isdeactivate == 0 && q.wechatId == openId).FirstAsync(); var date = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.isdeactivate == 0 && q.wechatId == openId).FirstAsync();
if (date != null) if (date != null)
{ {
//if (date.usertype == 1 && date.audit == null) //if (date.usertype == 1 && date.audit == null)
//{ //{
// ret.IsSucceed = false; // ret.IsSucceed = false;
// ret.Message = "账号审核中!"; // ret.Message = "账号审核中!";
// return ret; // return ret;
//} //}
//else if (date.usertype == 1 && date.audit == 1) //else if (date.usertype == 1 && date.audit == 1)
//{ //{
// ret.IsSucceed = false; // ret.IsSucceed = false;
// ret.Message = $"账号审核未通过,原因:{date.describe}!"; // ret.Message = $"账号审核未通过,原因:{date.describe}!";
// 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;
}
} }

129
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 用户管理
@ -61,7 +64,7 @@ namespace _24Hour.Controllers.system
[Route("QueryUserlist")] [Route("QueryUserlist")]
public async Task<Result> QueryUserlist() public async Task<Result> QueryUserlist()
{ {
var Unitlist = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.isdeactivate == 0 && q.usertype == 0 && q.unitCode == _userdata.unitCode && q.phone != "admin"&& q.usertype == 0).ToListAsync(); var Unitlist = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.isdeactivate == 0 && q.usertype == 0 && q.unitCode == _userdata.unitCode && q.phone != "admin" && q.usertype == 0).ToListAsync();
result.IsSucceed = true; result.IsSucceed = true;
result.result = Unitlist.OrderByDescending(q => q.createtime).ToList(); result.result = Unitlist.OrderByDescending(q => q.createtime).ToList();
return result; return result;
@ -85,7 +88,7 @@ namespace _24Hour.Controllers.system
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone)) .WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone))
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties)) .WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties))
.WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId)) .WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId))
.Where(q => q.IsDeleted == 0 &&q.phone!="admin" && q.usertype == 0) .Where(q => q.IsDeleted == 0 && q.phone != "admin" && q.usertype == 0)
.ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber); .ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber);
UserModel.RowsCount = totalNumber; UserModel.RowsCount = totalNumber;
list.ForEach(q => list.ForEach(q =>
@ -134,7 +137,7 @@ namespace _24Hour.Controllers.system
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone)) .WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone))
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties)) .WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties))
.WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId)) .WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId))
.WhereIF(UserModel.audit!=null, q => q.audit==UserModel.audit) .WhereIF(UserModel.audit != null, q => q.audit == UserModel.audit)
.Where(q => q.IsDeleted == 0 && q.usertype == 1).ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber); .Where(q => q.IsDeleted == 0 && q.usertype == 1).ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber);
UserModel.RowsCount = totalNumber; UserModel.RowsCount = totalNumber;
var data = new QueryResult<App_Sys_UserModel>(UserModel, list); var data = new QueryResult<App_Sys_UserModel>(UserModel, list);
@ -196,7 +199,7 @@ namespace _24Hour.Controllers.system
{ {
try try
{ {
var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id== UserModel.Id).FirstAsync(); var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id == UserModel.Id).FirstAsync();
if (model == null) if (model == null)
{ {
result.IsSucceed = false; result.IsSucceed = false;
@ -211,10 +214,10 @@ namespace _24Hour.Controllers.system
return result; return result;
} }
model.Password= newpass; model.Password = newpass;
_db.BeginTran(); _db.BeginTran();
var num = await _db.Updateable(model).UpdateColumns(it => new { it.Password }).ExecuteCommandAsync(); var num = await _db.Updateable(model).UpdateColumns(it => new { it.Password }).ExecuteCommandAsync();
_db.CommitTran(); _db.CommitTran();
if (num > 0) if (num > 0)
{ {
@ -243,16 +246,16 @@ namespace _24Hour.Controllers.system
{ {
try try
{ {
var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id== UserModel.Id).FirstAsync(); var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id == UserModel.Id).FirstAsync();
if (model != null) if (model != null)
{ {
model.unitCode=UserModel.unitCode; model.unitCode = UserModel.unitCode;
model.department=UserModel.department; model.department = UserModel.department;
model.name=UserModel.name; model.name = UserModel.name;
model.sex=UserModel.sex; model.sex = UserModel.sex;
model.duties=UserModel.duties; model.duties = UserModel.duties;
model.phone=UserModel.phone; model.phone = UserModel.phone;
model.cardId=UserModel.cardId; model.cardId = UserModel.cardId;
} }
_db.BeginTran(); _db.BeginTran();
var num = await _db.Updateable(model).UpdateColumns(it => new { it.unitCode, it.department, it.name, it.sex, it.duties, it.phone, it.cardId }).ExecuteCommandAsync(); var num = await _db.Updateable(model).UpdateColumns(it => new { it.unitCode, it.department, it.name, it.sex, it.duties, it.phone, it.cardId }).ExecuteCommandAsync();
@ -272,6 +275,88 @@ namespace _24Hour.Controllers.system
} }
_logs.WriteSysLogadd("用户管理", "修改人员信息", result, _db); _logs.WriteSysLogadd("用户管理", "修改人员信息", result, _db);
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>
@ -503,7 +588,7 @@ namespace _24Hour.Controllers.system
/// <returns>律师信息审核认证</returns> /// <returns>律师信息审核认证</returns>
[HttpGet] [HttpGet]
[Route("Examine")] [Route("Examine")]
public async Task<Result> Examine(string Id, int status,string describe) public async Task<Result> Examine(string Id, int status, string describe)
{ {
try try
{ {
@ -519,7 +604,7 @@ namespace _24Hour.Controllers.system
if (num > 0) if (num > 0)
{ {
result.IsSucceed = true; result.IsSucceed = true;
result.result = status==0?"认证通过":"认证不通过"; result.result = status == 0 ? "认证通过" : "认证不通过";
} }
} }
catch (System.Exception ex) catch (System.Exception ex)
@ -688,7 +773,7 @@ namespace _24Hour.Controllers.system
try try
{ {
//查询角色下的菜单 //查询角色下的菜单
var list = await _db.Queryable<App_Sys_RoleMenuModel>().Where(q => q.roleId== RoleMenudata.Id).ToListAsync(); var list = await _db.Queryable<App_Sys_RoleMenuModel>().Where(q => q.roleId == RoleMenudata.Id).ToListAsync();
_db.BeginTran(); _db.BeginTran();
//删除角色下的菜单 //删除角色下的菜单
await _db.Deleteable(list).ExecuteCommandAsync(); await _db.Deleteable(list).ExecuteCommandAsync();
@ -1073,7 +1158,7 @@ namespace _24Hour.Controllers.system
try try
{ {
//添加单位前判断单位编码是否重复 //添加单位前判断单位编码是否重复
var data = await _db.Queryable<App_Sys_DepartModel>().Where(q => q.departCode == Departdata.departCode && q.IsDelete==0).FirstAsync(); var data = await _db.Queryable<App_Sys_DepartModel>().Where(q => q.departCode == Departdata.departCode && q.IsDelete == 0).FirstAsync();
if (data != null) if (data != null)
{ {
@ -1115,7 +1200,7 @@ namespace _24Hour.Controllers.system
try try
{ {
//判断单位编码是否已存在 //判断单位编码是否已存在
var data = await _db.Queryable<App_Sys_DepartModel>().Where(q => q.departCode == Departdata.departCode && q.IsDelete==0).FirstAsync(); var data = await _db.Queryable<App_Sys_DepartModel>().Where(q => q.departCode == Departdata.departCode && q.IsDelete == 0).FirstAsync();
if (data != null) if (data != null)
{ {
@ -1189,7 +1274,7 @@ namespace _24Hour.Controllers.system
[Route("GetQueryMenulist")] [Route("GetQueryMenulist")]
public async Task<Result> GetQueryMenulist() public async Task<Result> GetQueryMenulist()
{ {
var list = await _db.Queryable<App_Sys_MenuModel>().Where(q => q.IsDelete == 0 || q.pid==null || q.pid == "").Select(q => new { q.Id, q.name }).ToListAsync(); var list = await _db.Queryable<App_Sys_MenuModel>().Where(q => q.IsDelete == 0 || q.pid == null || q.pid == "").Select(q => new { q.Id, q.name }).ToListAsync();
result.IsSucceed = true; result.IsSucceed = true;
result.result = list; result.result = list;
return result; return result;

10
24Hour/Program.cs

@ -19,9 +19,9 @@ using System.Runtime.InteropServices;
using AutoMapper; using AutoMapper;
using System.Reflection; using System.Reflection;
using Elight.Entity; using Elight.Entity;
#region builder #region builder
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
var Configuration = builder.Configuration; var Configuration = builder.Configuration;
@ -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