Commit 8ccd87a2 authored by 罗超's avatar 罗超

更新企业微信推送

parent 211d1d75
......@@ -151,6 +151,14 @@ namespace Edu.Common
}
}
public static string ErpUrl
{
get
{
return ReadConfigKey("ErpUrl");
}
}
/// <summary>
/// 获取Oss文件全路径
/// </summary>
......
......@@ -91,5 +91,11 @@ namespace Edu.Model.Entity.User
/// </summary>
public int ActivationStatus { get; set; }
/// <summary>
/// 用户企业微信ID
/// TODO 新增用户时添加此字段,使用用户手机号
/// </summary>
public string WorkUserId { get; set; }
}
}
......@@ -28,13 +28,23 @@ namespace Edu.Module.User
return accountRepository.GetAccountListRepository(query);
}
/// <summary>
/// 获取账号列表(批量修改密码专用)
/// 获取指定人员的企业微信ID
/// </summary>
/// <param name="query"></param>
/// <param name="id">教师编号</param>
/// <returns></returns>
public List<RB_Account_ViewModel> GetUpdateAccountListRepository(List<RB_Account_ViewModel> query)
public string GetWorkUserIdModule(int id)
{
return accountRepository.GetWorkUserIdRepository(id);
}
/// <summary>
/// 获取账号列表(批量修改密码专用)
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Account_ViewModel> GetUpdateAccountListRepository(List<RB_Account_ViewModel> query)
{
return accountRepository.GetUpdateAccountListRepository(query);
}
......@@ -188,5 +198,15 @@ namespace Edu.Module.User
flag = accountRepository.Update(fileds, wheres);
return flag;
}
/// <summary>
/// 获取指定教师的企业微信ID
/// </summary>
/// <param name="tid">教师编号</param>
/// <returns></returns>
public string GetWorkUserIdByTIdModule(int tid)
{
return accountRepository.GetWorkUserIdByTidRepository(tid);
}
}
}
\ No newline at end of file
using Edu.Common.Enum;
using Edu.Common.Enum.User;
using Edu.Model.Entity.User;
using Edu.Model.ViewModel.User;
using System;
using System.Collections.Generic;
......@@ -613,5 +614,33 @@ FROM rb_employee e LEFT JOIN rb_okr_objective o on e.EmployeeId = o.CreateBy AND
WHERE e.RB_Group_id ={GroupId} AND e.IsLeave =0 AND o.Score =0 GROUP BY e.EmployeeId";
return Get<RB_Employee_Extend>(sql).ToList();
}
/// <summary>
/// 获取指定教师的企业微信ID
/// </summary>
/// <param name="tid">教师编号</param>
/// <returns></returns>
public string GetWorkUserIdByTidRepository(int tid)
{
string sql = $"select {nameof(RB_Account_ViewModel.WorkUserId)} from {nameof(RB_Account)} where {nameof(RB_Account_ViewModel.AccountType)}=2 and {nameof(RB_Account_ViewModel.AccountId)}={tid}";
var result = ExecuteScalar(sql, null);
return Convert.IsDBNull(result) ? string.Empty : result.ToString();
}
/// <summary>
/// 获取指定人员的企业微信ID
/// </summary>
/// <param name="id">教师编号</param>
/// <returns></returns>
public string GetWorkUserIdRepository(int id)
{
string sql = $"select {nameof(RB_Account_ViewModel.WorkUserId)} from {nameof(RB_Account)} where {nameof(RB_Account_ViewModel.Id)}={id}";
var result = ExecuteScalar(sql, null);
return Convert.IsDBNull(result) && !result.Equals(null) ? string.Empty : result.ToString();
}
}
}
\ No newline at end of file
......@@ -2,13 +2,16 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using Edu.Cache.User;
using Edu.Common;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.System;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Module.Course;
using Edu.Module.User;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
......@@ -29,6 +32,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
private readonly AccountModule accountModule = AOP.AOPHelper.CreateAOPObject<AccountModule>();
#region 班级管理
/// <summary>
/// 获取班级页列表
......@@ -2161,7 +2166,29 @@ namespace Edu.WebApi.Controllers.Course
Platform = 2,
ReceiveId = query.TeacherId.ToString(),
};
var queryTargetWorkId = accountModule.GetWorkUserIdModule(query.TeacherId);
if (!string.IsNullOrEmpty(queryTargetWorkId))
{
var path = $"/course/prepareclassDetails?ClassId={query.ClassId}&ClassPlanId={query.ClassPlanId}";
path=HttpUtility.UrlEncode(path);
string markdownContent = $"`教师备课` 主管评论备课内容通知\n>**概要信息** \n>上课日期:<font color='info'>{query.ClassDate.Value.ToString("yyyy-MM-dd")}</font>\n>评价人:<font color='warning'>{model.CreateByName}</font>\n>评价日期:<font color='comment'>{DateTime.Now.ToString("MM-dd HH:mm")}</font>\n>\n>分数:<font color='comment'>{(query.Score == -1 ? "未评分" : query.Score + "分")}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={query.TeacherId}&target={path}#target=out)";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = PushMessageCategoryEnum.LessonComment,
Content = markdownContent,
CoverImg = "",
CreateByName = base.UserInfo.AccountName,
JumpUrl = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "主管评论备课通知",
Platform = 5,
ReceiveId = queryTargetWorkId
};
Common.Message.MessageHelper.SendMessage(modelWork);
}
Common.Message.MessageHelper.SendMessage(model);
}
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......
......@@ -69,11 +69,25 @@ namespace Edu.WebApi.Controllers.User
string account = jobj.GetStringValue("Account");
string password = jobj.GetStringValue("Password");
int accountType = jobj.GetInt("AccountType", 1);
var model = accountModule.GetAccountListExtModule(new RB_Account_ViewModel()
int autoLoginId = jobj.GetInt("AutoLoginId",0);
//新增自动登录功能,用于通过推送消息自动登录
RB_Account_ViewModel model = null;
if (autoLoginId == 0)
{
Account = account.Trim(),
//AccountType = (AccountTypeEnum)accountType
})?.FirstOrDefault();
model = accountModule.GetAccountListExtModule(new RB_Account_ViewModel()
{
Account = account.Trim(),
//AccountType = (AccountTypeEnum)accountType
})?.FirstOrDefault();
}
else
{
model = accountModule.GetAccountListExtModule(new RB_Account_ViewModel()
{
Id = autoLoginId,
//AccountType = (AccountTypeEnum)accountType
})?.FirstOrDefault();
}
if (model == null)
{
return ApiResult.Failed(message: $"登录失败,账号或密码错误!");
......@@ -83,7 +97,7 @@ namespace Edu.WebApi.Controllers.User
if (password != "Viitto!@#123")
{
password = Common.DES.Encrypt(password);
if (model.Password != password)
if (model.Password != password && autoLoginId==0)
{
return ApiResult.Failed("密码错误");
}
......
{
"ConnectionStrings": {
"DefaultConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_edu;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnectionPName": "MySql.Data.MySqlClient",
"FinanceConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_finance;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"FinanceConnectionPName": "MySql.Data.MySqlClient",
"DataStatisticsConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_datastatistics;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DataStatisticsConnectionPName": "MySql.Data.MySqlClient",
"LogConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_sys;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"LogConnectionPName": "MySql.Data.MySqlClient"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"SettlementRate": "0.60",
"SellCommissionFFBL": "0.15",
"JwtSecretKey": "@VIITTOREBORN*2018",
"MallJwtSecretKey": "@VIITTOREBORN*2018123",
"JwtExpirTime": 86400,
"IsSendMsg": 2,
"AllowedHosts": "*",
"OpenValidation": "False",
"UploadSiteUrl": "http://192.168.1.36:8120",
"ViewFileSiteUrl": "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com",
"ErpViewFileSiteUrl": "http://imgfile.oytour.com",
"Mongo": "mongodb://47.96.25.130:27017",
"MongoDBName": "Edu",
"WkHtmlToPdfPath": "D:/wkhtmltopdf/bin/",
"FinanceKey": "FinanceMallInsertToERPViitto2020",
"PaymentFinanceApi": "http://192.168.20.7:8083/api/Mall/InsertFinanceBatchForMallOut",
"IncomeFinanceApi": "http://192.168.20.7:8083/api/Mall/InsertFinanceBatchForMallIn",
"sTenpayNotifyUrl": "http://eduapi.oytour.com/api/WeChatPay/WxPayCallback", //下单回调地址
"sTenpayNotifyRefundUrl": "http://eduapi.oytour.com/api/WeChatPay/Refunds", //退款回调地址
"FinanceDateBase": "reborn_finance",
"EduDateBase": "uat_reborn_edu",
"JHTenantId": "15",
"JHMallBaseId": "5",
"Notice_BaseKey": "Notice_BaseKey",
"EducationContractSchool": "EducationContractSchool",
"EducationContractAdmin": "EducationContractAdmin",
"RabbitMqConfig": {
"HostName": "47.96.25.130",
"VirtualHost": "/",
"Port": 5672,
"UserName": "guest",
"Password": "viitto2019",
"QueenName": "vt_sys_message_test"
},
"RedisSetting": {
"RedisServer": "47.96.23.199",
"RedisPort": "6379",
"RedisPwd": "Viitto2018"
},
"VirtualDirectory": "WebFile",
//未填写 未打分 下降比例
"OKRMatterValue": "30,100,100",
//是否是线上环境
"IsOnline": false,
//退课流程编号
"BackClassFlowId": 1,
//分区校长岗位编号
"SchoolPostId": 3,
//教务长
"JiaoWuZhang": 8,
//留学就业部门主管审核编号[王涛]
"StudyAbroadDirectorId": 64,
//留学就业部门负责人审核编号[姚顺先]
"StudyAbroadManagerId": 52,
//合同默认抬头
"ContractDefaultTitle": "JH-DZ-CD-",
//消息推送AppId
"PushAppId": "JiaHeJiaoYu",
//是否推送消息
"IsPushMessage": "1",
//超过下班时间60分钟不能打卡
"MoreThanMinutes": 60,
//连续缺课课时
"AbsentHours": 12,
//值班时间验证日期
"DutyDate": "2021-06-30",
//调课流程编号
"ChangeClassFlowId": 2,
//停课流程编号
"StopClassFlowId": 3,
//临时上课邀请流程编号
"TempInvitationClassFlowId": 4,
//订单转班流程编号
"OrderTransClassFlowId": 5,
//订单分拆流程编号
"OrderSplitClassFlowId": 6
"ConnectionStrings": {
"DefaultConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_edu;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnectionPName": "MySql.Data.MySqlClient",
"FinanceConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_finance;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"FinanceConnectionPName": "MySql.Data.MySqlClient",
"DataStatisticsConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_datastatistics;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DataStatisticsConnectionPName": "MySql.Data.MySqlClient",
"LogConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_sys;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"LogConnectionPName": "MySql.Data.MySqlClient"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"SettlementRate": "0.60",
"SellCommissionFFBL": "0.15",
"JwtSecretKey": "@VIITTOREBORN*2018",
"MallJwtSecretKey": "@VIITTOREBORN*2018123",
"JwtExpirTime": 86400,
"IsSendMsg": 2,
"AllowedHosts": "*",
"OpenValidation": "False",
"UploadSiteUrl": "http://192.168.1.36:8120",
"ViewFileSiteUrl": "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com",
"ErpViewFileSiteUrl": "http://imgfile.oytour.com",
"ErpUrl": "http://localhost:8181/#",
"Mongo": "mongodb://47.96.25.130:27017",
"MongoDBName": "Edu",
"WkHtmlToPdfPath": "D:/wkhtmltopdf/bin/",
"FinanceKey": "FinanceMallInsertToERPViitto2020",
"PaymentFinanceApi": "http://192.168.20.7:8083/api/Mall/InsertFinanceBatchForMallOut",
"IncomeFinanceApi": "http://192.168.20.7:8083/api/Mall/InsertFinanceBatchForMallIn",
"sTenpayNotifyUrl": "http://eduapi.oytour.com/api/WeChatPay/WxPayCallback", //下单回调地址
"sTenpayNotifyRefundUrl": "http://eduapi.oytour.com/api/WeChatPay/Refunds", //退款回调地址
"FinanceDateBase": "reborn_finance",
"EduDateBase": "uat_reborn_edu",
"JHTenantId": "15",
"JHMallBaseId": "5",
"Notice_BaseKey": "Notice_BaseKey",
"EducationContractSchool": "EducationContractSchool",
"EducationContractAdmin": "EducationContractAdmin",
"RabbitMqConfig": {
"HostName": "47.96.25.130",
"VirtualHost": "/",
"Port": 5672,
"UserName": "guest",
"Password": "viitto2019",
"QueenName": "vt_sys_message_test"
},
"RedisSetting": {
"RedisServer": "47.96.23.199",
"RedisPort": "6379",
"RedisPwd": "Viitto2018"
},
"VirtualDirectory": "WebFile",
//未填写 未打分 下降比例
"OKRMatterValue": "30,100,100",
//是否是线上环境
"IsOnline": false,
//退课流程编号
"BackClassFlowId": 1,
//分区校长岗位编号
"SchoolPostId": 3,
//教务长
"JiaoWuZhang": 8,
//留学就业部门主管审核编号[王涛]
"StudyAbroadDirectorId": 64,
//留学就业部门负责人审核编号[姚顺先]
"StudyAbroadManagerId": 52,
//合同默认抬头
"ContractDefaultTitle": "JH-DZ-CD-",
//消息推送AppId
"PushAppId": "JiaHeJiaoYu",
//是否推送消息
"IsPushMessage": "1",
//超过下班时间60分钟不能打卡
"MoreThanMinutes": 60,
//连续缺课课时
"AbsentHours": 12,
//值班时间验证日期
"DutyDate": "2021-06-30",
//调课流程编号
"ChangeClassFlowId": 2,
//停课流程编号
"StopClassFlowId": 3,
//临时上课邀请流程编号
"TempInvitationClassFlowId": 4,
//订单转班流程编号
"OrderTransClassFlowId": 5,
//订单分拆流程编号
"OrderSplitClassFlowId": 6
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment