diff --git a/24Hour/24Hour.csproj b/24Hour/24Hour.csproj
index 65591ab..52597c0 100644
--- a/24Hour/24Hour.csproj
+++ b/24Hour/24Hour.csproj
@@ -18,6 +18,7 @@
+
diff --git a/24Hour/Controllers/Common/CommonController.cs b/24Hour/Controllers/Common/CommonController.cs
index be227c0..c58a72b 100644
--- a/24Hour/Controllers/Common/CommonController.cs
+++ b/24Hour/Controllers/Common/CommonController.cs
@@ -38,10 +38,11 @@ namespace _24Hour.Controllers.Common
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户
private readonly List _Unitdata;//当前用户
private readonly ILogger _logger;//日志
+ private readonly WechatMessagerClient _wechatMessagerClient;
private readonly IMapper _mapper;
DateTime unixStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
Result result = new Result();
- public CommonController(IMapper mapper,ILogger logger, SqlSugarClient db, WriteSysLog logs, User user, WebSocketController SocketCon)
+ public CommonController(IMapper mapper, ILogger logger, SqlSugarClient db, WriteSysLog logs, User user, WebSocketController SocketCon, WechatMessagerClient wechatMessagerClient)
{
_logger = logger;
_db = db;
@@ -50,6 +51,7 @@ namespace _24Hour.Controllers.Common
_SocketCon = SocketCon;
_Unitdata = _db.Queryable().Where(q => q.IsDelete == 0).ToList();
_mapper = mapper;
+ _wechatMessagerClient = wechatMessagerClient;
}
#endregion
@@ -70,11 +72,11 @@ namespace _24Hour.Controllers.Common
var Unitlist = await _db.Queryable().ToListAsync();
//获取工作台信息
var Stagingdata = await _db.Queryable().Where(q => q.IsDelete == 0).ToArrayAsync();
- var Userdata = await _db.Queryable().Where(q => q.usertype == 0 ).ToArrayAsync();
+ var Userdata = await _db.Queryable().Where(q => q.usertype == 0).ToArrayAsync();
//获取律师服务预约记录
var Lawyerdata = await _db.Queryable()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
- .Where(q => q.IsDeleted == 0 &&q.unitCode==_userdata.unitCode).ToListAsync();
+ .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode).ToListAsync();
Lawyerdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
@@ -92,7 +94,7 @@ namespace _24Hour.Controllers.Common
ettime = "",
creationtime = q.creationtime,
username = q.createusername,
- unitCode= q.unitCode,
+ unitCode = q.unitCode,
unitName = Unitlist.FirstOrDefault(x => x.unitCode == q.unitCode)?.unitname,
handleId = q.receptionuser,
handleuser = q.receptionusername,
@@ -259,31 +261,31 @@ namespace _24Hour.Controllers.Common
//获取律师服务预约记录
var list = await _db.Queryable()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
- if (list.Count>0)
+ if (list.Count > 0)
{
var datalist = _mapper.Map, List>(list);
var unitdal = _Unitdata.Where(q => q.unitCode == datalist.FirstOrDefault()?.unitCode).FirstOrDefault();
- if (unitdal!= null)
+ if (unitdal != null)
{
datalist.FirstOrDefault().unitName = unitdal.unitname;
}
-
+
result.result = datalist.FirstOrDefault();
}
else
{
- result.result =null;
+ result.result = null;
}
break;
case 1:
//获取远程会见预约记录
var Remotedata = await _db.Queryable()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
- if (Remotedata.Count>0)
+ if (Remotedata.Count > 0)
{
var Remotedatalist = _mapper.Map, List>(Remotedata);
var unitdatote = _Unitdata.Where(q => q.unitCode == Remotedatalist.FirstOrDefault()?.unitCode).FirstOrDefault();
- if (unitdatote!= null)
+ if (unitdatote != null)
Remotedatalist.FirstOrDefault().unitName = unitdatote.unitname;
result.result = Remotedatalist.FirstOrDefault();
}
@@ -292,11 +294,11 @@ namespace _24Hour.Controllers.Common
//获取远程接待预约记录
var Receptiondata = await _db.Queryable()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
- if (Receptiondata.Count>0)
+ if (Receptiondata.Count > 0)
{
var Receptiondatalist = _mapper.Map, List>(Receptiondata);
var unitdatR = _Unitdata.Where(q => q.unitCode == Receptiondatalist.FirstOrDefault().unitCode).FirstOrDefault();
- if (unitdatR!= null)
+ if (unitdatR != null)
Receptiondatalist.FirstOrDefault().unitName = unitdatR.unitname;
result.result = Receptiondatalist.FirstOrDefault();
}
@@ -305,11 +307,11 @@ namespace _24Hour.Controllers.Common
//获取听证预约记录
var Hearingdata = await _db.Queryable()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
- if (Hearingdata.Count>0)
+ if (Hearingdata.Count > 0)
{
var Hearingdatalist = _mapper.Map, List>(Hearingdata);
var unitdata = _Unitdata.Where(q => q.unitCode == Hearingdatalist.FirstOrDefault().unitCode).FirstOrDefault();
- if (unitdata!= null)
+ if (unitdata != null)
Hearingdatalist.FirstOrDefault().unitName = unitdata.unitname;
result.result = Hearingdatalist.FirstOrDefault();
}
@@ -318,11 +320,11 @@ namespace _24Hour.Controllers.Common
//获取文书签收记录
var Documentdata = await _db.Queryable()
.Where(q => q.Id == Id).ToListAsync();
- if (Documentdata.Count>0)
+ if (Documentdata.Count > 0)
{
var Documentdatalist = _mapper.Map, List>(Documentdata);
var unitda = _Unitdata.Where(q => q.unitCode == Documentdatalist.FirstOrDefault().dwbm).FirstOrDefault();
- if (unitda!= null)
+ if (unitda != null)
Documentdatalist.FirstOrDefault().unitName = unitda.unitname;
result.result = Documentdatalist.FirstOrDefault();
}
@@ -331,7 +333,7 @@ namespace _24Hour.Controllers.Common
//获取云柜记录
var CloudCabinetdata = await _db.Queryable()
.Where(q => q.Id == Id).ToListAsync();
- if (CloudCabinetdata.Count>0)
+ if (CloudCabinetdata.Count > 0)
{
var CloudCabinetdatalist = _mapper.Map, List>(CloudCabinetdata);
var unitdat = _Unitdata.Where(q => q.unitCode == CloudCabinetdatalist.FirstOrDefault().dwbm).FirstOrDefault();
@@ -343,7 +345,7 @@ namespace _24Hour.Controllers.Common
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
- if (Confessiondata.Count>0)
+ if (Confessiondata.Count > 0)
result.result = Confessiondata.FirstOrDefault();
break;
}
@@ -634,7 +636,7 @@ namespace _24Hour.Controllers.Common
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser == _userdata.department)
- .WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id||x.operatorId ==null)
+ .WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
@@ -681,7 +683,7 @@ namespace _24Hour.Controllers.Common
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
- .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId==_userdata.department)
+ .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId)).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
@@ -727,7 +729,7 @@ namespace _24Hour.Controllers.Common
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
- .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId==_userdata.department)
+ .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department).ToArrayAsync();
@@ -774,7 +776,7 @@ namespace _24Hour.Controllers.Common
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
- .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser==_userdata.department)
+ .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser == _userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department).ToArrayAsync();
@@ -900,7 +902,7 @@ namespace _24Hour.Controllers.Common
//.WhereIF(Commondata.state != null && Commondata.state != 0, x => x.state == Commondata.state)
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
- .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId==_userdata.department)
+ .WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department).ToArrayAsync();
@@ -975,13 +977,13 @@ namespace _24Hour.Controllers.Common
if (string.IsNullOrEmpty(_userdata.department))
{
result.IsSucceed = true;
- result.result=list;
+ result.result = list;
return result;
}
//获取律师服务预约记录
- var Lawyerdata = await _db.Queryable().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser==_userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
- .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser) && q.state != 2 && q.state != 3).ToArrayAsync();
+ var Lawyerdata = await _db.Queryable().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
+ .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser) && q.state != 2 && q.state != 3).ToArrayAsync();
// .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department && q.state != 2 && q.state != 3).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
{
@@ -1020,7 +1022,7 @@ namespace _24Hour.Controllers.Common
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
- .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
@@ -1058,7 +1060,7 @@ namespace _24Hour.Controllers.Common
});
//获取远程接待预约记录
var Receptiondata = await _db.Queryable().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
- .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
// .Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department && q.state != 2 && q.state != 3).ToArrayAsync();
Receptiondata.ToList().ForEach(q =>
{
@@ -1097,7 +1099,7 @@ namespace _24Hour.Controllers.Common
});
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
- .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department && q.state != 2 && q.state != 3).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
@@ -1136,7 +1138,7 @@ namespace _24Hour.Controllers.Common
});
//获取听证服务预约记录
var Hearingdata = await _db.Queryable().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
- .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser) && q.state != 2 && q.state != 3).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser) && q.state != 2 && q.state != 3).ToArrayAsync();
// .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department && q.state != 2 && q.state != 3).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
@@ -1325,21 +1327,43 @@ namespace _24Hour.Controllers.Common
//}
Lawyerbol.FirstOrDefault().acceptancetime = dto.time;
Lawyerbol.FirstOrDefault().reason = dto.reason;
- Lawyerbol.FirstOrDefault().state = Convert.ToInt32(dto.state);
- Lawyerbol.FirstOrDefault().operatorId =newmodel.Id;
- Lawyerbol.FirstOrDefault().operatorName = newmodel.name;
+ Lawyerbol.FirstOrDefault().state = Convert.ToInt32(dto.state);
+ Lawyerbol.FirstOrDefault().operatorId = newmodel.Id;
+ Lawyerbol.FirstOrDefault().operatorName = newmodel.name;
}
else
{
Lawyerbol.FirstOrDefault().receptionuser = dto.userId;
Lawyerbol.FirstOrDefault().receptionusername = dto.username;
}
+ var userdata = await _db.Queryable()
+ .Where(q => q.Id == Lawyerbol.FirstOrDefault().createuserId).ToArrayAsync();
_db.BeginTran();
var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).UpdateColumns(it => new { it.receptionuser, it.receptionusername, it.acceptancetime, it.reason, it.state, it.operatorId, it.operatorName }).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
- _SocketCon.system(dto.userId);
+ var Lawyerboldata = Lawyerbol.FirstOrDefault();
+ //获取单位信息
+ var unitname = _Unitdata.FirstOrDefault(q => q.unitCode == Lawyerboldata.unitCode)?.unitname;
+ await _SocketCon.system(dto.userId);
+ if (dto.Type == 1)
+ {
+ if (Convert.ToInt32(dto.state) == 1)
+ {
+ //判单预约人是否有微信openId
+ if (!string.IsNullOrEmpty(userdata.FirstOrDefault()?.wechatId))
+ //发送晨成功订阅号消息
+ _wechatMessagerClient.wxts(userdata.FirstOrDefault()?.wechatId, Lawyerboldata?.operatorName, unitname, Lawyerboldata?.receptiontime, Lawyerboldata?.objectstr +"-"+ Lawyerboldata?.matter, Lawyerboldata?.reason);
+ }
+ else
+ {
+ //判单预约人是否有微信openId
+ if (!string.IsNullOrEmpty(userdata.FirstOrDefault()?.wechatId))
+ //发送拒绝订阅号消息
+ _wechatMessagerClient.sbwxts(userdata.FirstOrDefault()?.wechatId, Lawyerboldata?.operatorName, unitname, Lawyerboldata?.receptiontime, Lawyerboldata?.matter);
+ }
+ }
result.IsSucceed = true;
result.result = "修改成功";
}
@@ -1360,8 +1384,8 @@ namespace _24Hour.Controllers.Common
RemoteModelbol.FirstOrDefault().acceptancetime = dto.time;
RemoteModelbol.FirstOrDefault().reason = dto.reason;
RemoteModelbol.FirstOrDefault().state = Convert.ToInt32(dto.state);
- RemoteModelbol.FirstOrDefault().operatorId =newmodel.Id;
- RemoteModelbol.FirstOrDefault().operatorName = newmodel.name;
+ RemoteModelbol.FirstOrDefault().operatorId = newmodel.Id;
+ RemoteModelbol.FirstOrDefault().operatorName = newmodel.name;
}
else
{
@@ -1394,8 +1418,8 @@ namespace _24Hour.Controllers.Common
Receptiondata.FirstOrDefault().acceptancetime = dto.time;
Receptiondata.FirstOrDefault().reason = dto.reason;
Receptiondata.FirstOrDefault().state = Convert.ToInt32(dto.state);
- Receptiondata.FirstOrDefault().operatorId =newmodel.Id;
- Receptiondata.FirstOrDefault().operatorName = newmodel.name;
+ Receptiondata.FirstOrDefault().operatorId = newmodel.Id;
+ Receptiondata.FirstOrDefault().operatorName = newmodel.name;
}
else
{
@@ -1426,9 +1450,9 @@ namespace _24Hour.Controllers.Common
//}
Confessiondata.FirstOrDefault().acceptancetime = dto.time;
Confessiondata.FirstOrDefault().reason = dto.reason;
- Confessiondata.FirstOrDefault().state =Convert.ToInt32(dto.state);
- Confessiondata.FirstOrDefault().operatorId =newmodel.Id;
- Confessiondata.FirstOrDefault().operatorName = newmodel.name;
+ Confessiondata.FirstOrDefault().state = Convert.ToInt32(dto.state);
+ Confessiondata.FirstOrDefault().operatorId = newmodel.Id;
+ Confessiondata.FirstOrDefault().operatorName = newmodel.name;
}
else
{
@@ -1461,8 +1485,8 @@ namespace _24Hour.Controllers.Common
Hearingdata.FirstOrDefault().acceptancetime = dto.time;
Hearingdata.FirstOrDefault().reason = dto.reason;
Hearingdata.FirstOrDefault().state = Convert.ToInt32(dto.state);
- Hearingdata.FirstOrDefault().operatorId =newmodel.Id;
- Hearingdata.FirstOrDefault().operatorName = newmodel.name;
+ Hearingdata.FirstOrDefault().operatorId = newmodel.Id;
+ Hearingdata.FirstOrDefault().operatorName = newmodel.name;
}
else
{
@@ -2154,7 +2178,7 @@ namespace _24Hour.Controllers.Common
{
type = 0,
Id = q.Id,
- operatorId=q.operatorId,
+ operatorId = q.operatorId,
operatorName = userda?.name,
daId = da?.Id,
title = da?.title,
@@ -2275,7 +2299,7 @@ namespace _24Hour.Controllers.Common
});
//获取听证预约记录
var Hearingdata = await _db.Queryable()
- .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode&&q.acceptancetime!=null && q.operatorId != null).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId != null).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
@@ -2339,7 +2363,7 @@ namespace _24Hour.Controllers.Common
var Userdata = await _db.Queryable().Where(q => q.usertype == 0).ToArrayAsync();
//获取律师服务预约记录
var Lawyerdata = await _db.Queryable()
- .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null &&q.operatorId== Commondata.Id).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
@@ -2370,7 +2394,7 @@ namespace _24Hour.Controllers.Common
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable()
- .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
@@ -2403,7 +2427,7 @@ namespace _24Hour.Controllers.Common
});
//获取远程接待预约记录
var Receptiondata = await _db.Queryable()
- .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
+ .Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Receptiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
@@ -2522,7 +2546,7 @@ namespace _24Hour.Controllers.Common
}
}
result.IsSucceed = true;
- result.result =new { GroupBy,satseGroupBy};
+ result.result = new { GroupBy, satseGroupBy };
}
catch (System.Exception ex)
diff --git a/24Hour/Controllers/Common/WebSocketController.cs b/24Hour/Controllers/Common/WebSocketController.cs
index 8f706b5..8bc02d9 100644
--- a/24Hour/Controllers/Common/WebSocketController.cs
+++ b/24Hour/Controllers/Common/WebSocketController.cs
@@ -28,17 +28,19 @@ namespace _24Hour.Controllers.Common
private readonly ILogger _logger;//日志
private readonly IConfiguration _configuration;
private static object obj = new object();
+ private readonly WechatMessagerClient _wechatMessagerClient;
Result result = new Result();
private static Dictionary CONNECT_POOL = new Dictionary();//用户连接池
private static Dictionary meeting_pool = new Dictionary();//会议连接池
private static Dictionary userzx = new Dictionary();//检察官在线池
//private static Dictionary> MESSAGE_POOL = new Dictionary>();//离线消息池
- public WebSocketController(ILogger logger, SqlSugarClient db, User userdata, IConfiguration configuration)
+ public WebSocketController(ILogger logger, SqlSugarClient db, User userdata, WechatMessagerClient wechatMessagerClient, IConfiguration configuration)
{
_logger = logger;
_db = db;
_userdata = userdata.Userdata();
_configuration = configuration;
+ _wechatMessagerClient = wechatMessagerClient;
}
[HttpGet("/ws")]
public async Task WebSocketServer()
@@ -543,6 +545,26 @@ namespace _24Hour.Controllers.Common
}
return true;
}
+
+ /////
+ ///// 微信推送
+ /////
+ /////
+ /////
+ //[HttpGet]
+ //[Route("wxts")]
+ //public async Task wxts()
+ //{
+ // try
+ // {
+ // _wechatMessagerClient.wxts();
+ // }
+ // catch (Exception)
+ // {
+ // }
+ // return true;
+ //}
+
}
///
diff --git a/24Hour/WechatMessagerClient.cs b/24Hour/WechatMessagerClient.cs
index 092837f..849f89f 100644
--- a/24Hour/WechatMessagerClient.cs
+++ b/24Hour/WechatMessagerClient.cs
@@ -2,31 +2,47 @@
using com.sun.xml.@internal.xsom;
using Elight.Utility;
using Elight.Utility.Code;
+using Elight.Utility.Extensions;
+using java.lang.annotation;
+using Microsoft.IdentityModel.Logging;
using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System.Runtime.Caching;
namespace _24Hour
{
-
+
public class WechatMessagerClient
{
private readonly HttpClient httpCliet;
- public WechatMessagerClient(HttpClient _httpCliet)
+ // 实例化MemoryCache对象
+ MemoryCache cache = MemoryCache.Default;
+ private readonly IConfiguration _configuration;
+ ///
+ /// 小程序AppID
+ ///
+ private string appid = "wx48108a0c98a3dab0";
+ ///
+ /// 小程序AppID
+ ///
+ private string secret = "wx48108a0c98a3dab0";
+ ///
+ /// 小程序secretID
+ ///
+ private string secid = "e752e4fba67526eca21313a18c96a58f";
+ public WechatMessagerClient(HttpClient _httpCliet, IConfiguration configuration)
{
this.httpCliet = _httpCliet;
httpCliet.DefaultRequestHeaders.Add("Accept", "application/json");
httpCliet.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample");
httpCliet.DefaultRequestHeaders.ConnectionClose = true;
- }
+ _configuration = configuration;
- ///
- /// 小程序AppID
- ///
- private const string appid = "wx48108a0c98a3dab0";
- ///
- /// 小程序secretID
- ///
- private const string secid = "e752e4fba67526eca21313a18c96a58f";
+ appid = $"{configuration.GetSection("Wechat:appid").Value}";
+ secret = $"{configuration.GetSection("Wechat:secret").Value}";
+ secid = $"{configuration.GetSection("Wechat:secid").Value}";
+ }
public async Task GetOpenId(string code)
{
var ret = new Result();
@@ -53,5 +69,142 @@ namespace _24Hour
return ret;
}
+ ///
+ /// 律师预约微信消息提醒,成功
+ ///
+ ///
+ public bool wxts(string? useropenId, string? name, string? unit, DateTime? datetime, string? matter,string? attention)
+ {
+ try
+ {
+ var token = "";
+
+ // 获取缓存
+ token = cache.Get("token")?.ToString();
+
+ if (string.IsNullOrEmpty(token))
+ {
+ string geturl = $"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}";
+ var re1 = HttpHelper.Get(geturl);
+ if (re1.Jsonstr("errcode") == null)
+ {
+ token = re1.Jsonstr("access_token");
+
+ // 移除缓存
+ cache.Remove("token");
+ // 添加缓存
+ cache.Add("token", token, new CacheItemPolicy { AbsoluteExpiration = DateTime.Now.AddMinutes(120) });
+ }
+ }
+ string url = $"https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=";//发送地址
+ try
+ {
+ object msg = null;
+ string posturl = $"{url}{token}";//发送地址
+ var thing4 = matter;
+ var thing5 = attention;
+ if (matter.Length>20)
+ thing4 = matter.Substring(0, 17)+"...";
+ if (attention.Length>20)
+ thing5 = attention.Substring(0, 17)+"...";
+ msg = new
+ {
+ touser = useropenId,
+ template_id = "mRfzPnc_3JuV9cPhjKrRL3jX1C_JJoBGYtqEnbfadRM",
+ page= "pages/selfService/reception/reception",
+ miniprogram_state= $"{_configuration.GetSection("Wechat:miniprogram_state").Value}",
+ lang ="zh_CN",
+ data = new
+ {
+ //name1 = new { value = $"{name}"},//
+ thing2 = new { value = $"{unit}"},//
+ date3 = new { value = $"{datetime:yyyy年MM月dd日 HH:mm}"},//
+ thing4 = new { value = $"{thing4}"},//
+ thing5 = new { value = $"{thing5}", color = "#173177" },//
+ },
+ };
+ var re = HttpHelper.Post(posturl, msg);
+ if (re.Jsonstr("errcode") == "0")
+ return true;
+ return false;
+ }
+ catch (Exception ex)
+ {
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ }
+ return false;
+ }
+
+
+ ///
+ /// 律师预约微信消息提醒,失败
+ ///
+ ///
+ public bool sbwxts(string? useropenId,string? name,string? unit,DateTime? datetime,string? matter)
+ {
+ try
+ {
+ var token = "";
+
+ // 获取缓存
+ var tokenss = cache.Get("token");
+
+ if (string.IsNullOrEmpty(token))
+ {
+ string geturl = $"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx48108a0c98a3dab0&secret=e752e4fba67526eca21313a18c96a58f";
+ var re1 = HttpHelper.Get(geturl);
+ if (re1.Jsonstr("errcode") == null)
+ {
+ token = re1.Jsonstr("access_token");
+
+ // 移除缓存
+ cache.Remove("token");
+ // 添加缓存
+ cache.Add("token", token, new CacheItemPolicy { AbsoluteExpiration = DateTime.Now.AddMinutes(120) });
+ }
+ }
+ string url = $"https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=";//发送地址
+ try
+ {
+ object msg = null;
+ string posturl = $"{url}{token}";//发送地址
+ var thing4 = matter;
+ if (matter.Length > 20)
+ thing4 = matter.Substring(0, 17) + "...";
+ msg = new
+ {
+ touser = useropenId,
+ template_id = "sPbZd6ro14L4uCR_TyDlB4g-sR20zzqcvb-c6QkV3U4",
+ page = "pages/selfService/reception/reception",
+ miniprogram_state = $"{_configuration.GetSection("Wechat:miniprogram_state").Value}",
+ lang = "zh_CN",
+ data = new
+ {
+ thing1 = new { value = $"{name}" },//访问人
+ thing2 = new { value = $"{unit}" },//访问单位
+ time3 = new { value = $"{datetime:yyyy年MM月dd日 HH:mm}" },//预约时间
+ thing4 = new { value = $"{thing4}" },//事由
+ },
+ };
+ var re = HttpHelper.Post(posturl, msg);
+ if (re.Jsonstr("errcode") == "0")
+ return true;
+ return false;
+ }
+ catch (Exception ex)
+ {
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ }
+ return false;
+ }
+
}
}
diff --git a/24Hour/appsettings.json b/24Hour/appsettings.json
index c196759..010af95 100644
--- a/24Hour/appsettings.json
+++ b/24Hour/appsettings.json
@@ -44,5 +44,11 @@
"Videoaddress": {
"rtmp": "rtmp://192.168.0.24:1935/live/",
"rtsp": "rtsp://192.168.0.24:8554/live/"
+ },
+ "Wechat": {
+ "appid": "wx48108a0c98a3dab0",
+ "secret": "e752e4fba67526eca21313a18c96a58f",
+ "secid": "e752e4fba67526eca21313a18c96a58f",
+ "miniprogram_state": "trial"
}
}
diff --git a/Elight.Utility/Extensions/StringExtension.cs b/Elight.Utility/Extensions/StringExtension.cs
index c08fab3..cf9d417 100644
--- a/Elight.Utility/Extensions/StringExtension.cs
+++ b/Elight.Utility/Extensions/StringExtension.cs
@@ -1,4 +1,5 @@
-using System;
+using Newtonsoft.Json.Linq;
+using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
@@ -61,6 +62,15 @@ namespace Elight.Utility.Extensions
string str = string.Concat(s.First().ToString().ToLower(), s.AsSpan(1));
return str;
}
+ public static string Jsonstr(this string str, string key)
+ {
+ JObject esult = JObject.Parse(str);
+ if (esult != null && esult[key] != null)
+ {
+ return $"{esult[key]}";
+ }
+ return null;
+ }
///
/// 首字母转大写