Browse Source

代码冲突合并

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

55
24Hour/Controllers/LoginController.cs

@ -35,12 +35,14 @@ namespace _24Hour.Controllers
private readonly SqlSugarClient _db;//数据库
private readonly WriteSysLog _logs;//操作日志
private readonly ILogger<LoginController> _logger;//日志
private readonly WechatMessagerClient wechatMessagerClient;
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;
_db = db;
_configuration = configuration;
this.wechatMessagerClient = _wechatMessagerClient;
}
[HttpPost]
@ -315,9 +317,9 @@ namespace _24Hour.Controllers
public async Task<Result> WeChatLoginByCode(string code)
{
var opendata = await GetOpenId(code);
if (opendata.IsSucceed==true)
if (opendata.IsSucceed == true)
{
return WeChatLogin(opendata.result);
return await WeChatLogin(opendata.result);
}
else
{
@ -351,6 +353,18 @@ namespace _24Hour.Controllers
// return ret;
//}
//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)
{
ret.IsSucceed = false;
@ -388,7 +402,8 @@ namespace _24Hour.Controllers
identity = date.identity,
usertype = date.usertype,
unitCode = date.unitCode,
token = tokenString
token = tokenString,
openId = date.wechatId
};
#endregion
ret.IsSucceed = true;
@ -396,7 +411,7 @@ namespace _24Hour.Controllers
else
{
ret.IsSucceed = false;
ret.Message = "΢ÐÅδÊÚȨ£¡";
ret.Message = "微信未授权,请先注册账号!";
}
return ret;
}
@ -412,6 +427,12 @@ namespace _24Hour.Controllers
{
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();
if (UserModel.identity == "律师")
@ -620,29 +641,7 @@ namespace _24Hour.Controllers
/// <param name="code"></param>
/// <returns></returns>
[HttpGet("getOpenid")]
public async Task<Result> GetOpenId(string 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;
}
public Task<Result> GetOpenId(string code) => wechatMessagerClient.GetOpenId(code);
}

127
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.SystemModel;
using Elight.Logic;
@ -28,13 +29,15 @@ namespace _24Hour.Controllers.system
private readonly WriteSysLog _logs;//操作日志
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户
private readonly ILogger<LoginController> _logger;//日志
private readonly WechatMessagerClient wechatMessagerClient;
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;
_db = db;
_logs = logs;
_userdata = user.Userdata();
this.wechatMessagerClient = _wechatMessagerClient;
}
#endregion
#region 用户管理
@ -61,7 +64,7 @@ namespace _24Hour.Controllers.system
[Route("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.result = Unitlist.OrderByDescending(q => q.createtime).ToList();
return result;
@ -85,7 +88,7 @@ namespace _24Hour.Controllers.system
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone))
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties))
.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);
UserModel.RowsCount = totalNumber;
list.ForEach(q =>
@ -134,7 +137,7 @@ namespace _24Hour.Controllers.system
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone))
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties))
.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);
UserModel.RowsCount = totalNumber;
var data = new QueryResult<App_Sys_UserModel>(UserModel, list);
@ -196,7 +199,7 @@ namespace _24Hour.Controllers.system
{
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)
{
result.IsSucceed = false;
@ -211,7 +214,7 @@ namespace _24Hour.Controllers.system
return result;
}
model.Password= newpass;
model.Password = newpass;
_db.BeginTran();
var num = await _db.Updateable(model).UpdateColumns(it => new { it.Password }).ExecuteCommandAsync();
@ -243,16 +246,16 @@ namespace _24Hour.Controllers.system
{
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)
{
model.unitCode=UserModel.unitCode;
model.department=UserModel.department;
model.name=UserModel.name;
model.sex=UserModel.sex;
model.duties=UserModel.duties;
model.phone=UserModel.phone;
model.cardId=UserModel.cardId;
model.unitCode = UserModel.unitCode;
model.department = UserModel.department;
model.name = UserModel.name;
model.sex = UserModel.sex;
model.duties = UserModel.duties;
model.phone = UserModel.phone;
model.cardId = UserModel.cardId;
}
_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();
@ -274,6 +277,88 @@ namespace _24Hour.Controllers.system
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>
[HttpGet]
[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
{
@ -519,7 +604,7 @@ namespace _24Hour.Controllers.system
if (num > 0)
{
result.IsSucceed = true;
result.result = status==0?"认证通过":"认证不通过";
result.result = status == 0 ? "认证通过" : "认证不通过";
}
}
catch (System.Exception ex)
@ -688,7 +773,7 @@ namespace _24Hour.Controllers.system
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();
//删除角色下的菜单
await _db.Deleteable(list).ExecuteCommandAsync();
@ -1073,7 +1158,7 @@ namespace _24Hour.Controllers.system
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)
{
@ -1115,7 +1200,7 @@ namespace _24Hour.Controllers.system
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)
{
@ -1189,7 +1274,7 @@ namespace _24Hour.Controllers.system
[Route("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.result = list;
return result;

6
24Hour/Program.cs

@ -165,6 +165,12 @@ builder.Services.AddAuthentication(options =>
}).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.AddHttpContextAccessor();
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