Commit eabd135a authored by 吴春's avatar 吴春

提交代码

parent 1bcaceb8
......@@ -52,6 +52,11 @@ namespace Mall.Common.Enum.MiAi
/// </summary>
[EnumField("违规通知")]
ViolationNotice = 9,
/// <summary>
/// 关注会员
/// </summary>
[EnumField("关注会员")]
FollowMember = 10,
}
}
......@@ -18,6 +18,9 @@ namespace Mall.Model.Extend.Education
/// </summary>
public string TalkContent { get; set; }
public string Ids { get; set; }
#region 扩展字段
/// <summary>
/// 操作人
......
......@@ -21,6 +21,11 @@ namespace Mall.Module.Education
private readonly Rb_Education_DynamicMessageRepository messageRepository = new Rb_Education_DynamicMessageRepository();
private readonly Rb_Education_TalkRepository education_TalkRepository = new Rb_Education_TalkRepository();
/// <summary>
/// 消息
/// </summary>
private readonly Repository.Miai.RB_Miai_MessageRepository miai_MessageRepository = new Repository.Miai.RB_Miai_MessageRepository();
/// <summary>
/// 获取消息未读数
/// </summary>
......@@ -319,6 +324,22 @@ namespace Mall.Module.Education
MallBaseId = article.MallBaseId
};
messageRepository.Insert(message, trans);
//设置消息推送
miai_MessageRepository.Insert(new Model.Extend.Miai.RB_Miai_Message_Extend()
{
Id = 0,
Type = Common.Enum.MiAi.MessageTypeEnum.CircleLike,
UserId = article.CreateBy ?? 0,
SourceId = model.ArticleId,
Content = "又有新用户点赞了您的动态",
Status = 0,
TenantId = model.TenantId,
MallBaseId = model.MallBaseId,
CreateBy = model.UserId,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now
}, trans);
}
likeRepository.DBSession.Commit();
return true;
......@@ -419,6 +440,21 @@ namespace Mall.Module.Education
MallBaseId = article.MallBaseId
};
messageRepository.Insert(message);
//设置消息推送
miai_MessageRepository.Insert(new Model.Extend.Miai.RB_Miai_Message_Extend()
{
Id = 0,
Type = Common.Enum.MiAi.MessageTypeEnum.CircleReply,
UserId = article.CreateBy ?? 0,
SourceId = comment.ArticleId,
Content = Common.Plugin.StringHelper.FromUnicodeString( comment.Content),
Status = 0,
TenantId = comment.TenantId,
MallBaseId = comment.MallBaseId,
CreateBy = comment.UserId,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now
});
}
return true;
}
......@@ -502,12 +538,31 @@ namespace Mall.Module.Education
/// <summary>
/// 动态详情
/// 详情我的动态列表
/// </summary>
/// <param name="empId">员工id</param>
/// <param name="articleId">动态id</param>
/// <param name="groupId">集团id</param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">分页大小</param>
/// <param name="count">总条数</param>
/// <returns></returns>
public Rb_Education_Dynamic_Extend GetMiAiDynamicDetial(Rb_Education_Dynamic_Extend model)
public List<Rb_Education_Dynamic_Extend> GetMiAiAllDynamicList(Rb_Education_Dynamic_Extend model)
{
List<Rb_Education_Dynamic_Extend> articleList = new List<Rb_Education_Dynamic_Extend>();
articleList = articleRepository.GetMiAiAllDynamicList( model);
DecoratorDynameicArticle(articleList);
return articleList;
}
/// <summary>
/// 动态详情
/// </summary>
/// <param name="empId">员工id</param>
/// <param name="articleId">动态id</param>
/// <returns></returns>
public Rb_Education_Dynamic_Extend GetMiAiDynamicDetial(Rb_Education_Dynamic_Extend model)
{
return articleRepository.GetMiAiDynamicDetial(model);
}
......
......@@ -52,6 +52,10 @@ namespace Mall.Module.Education
private readonly RB_Education_CouponSelfMotionRepository selfMotionRepository = new RB_Education_CouponSelfMotionRepository();
/// <summary>
/// 消息
/// </summary>
private readonly Repository.Miai.RB_Miai_MessageRepository miai_MessageRepository = new Repository.Miai.RB_Miai_MessageRepository();
/// <summary>
/// 课程
/// </summary>
......@@ -3298,6 +3302,21 @@ namespace Mall.Module.Education
/// <returns></returns>
public bool SetEducationViolationLog(RB_Education_ViolationLog model)
{
//设置消息推送
miai_MessageRepository.Insert(new Model.Extend.Miai.RB_Miai_Message_Extend()
{
Id = 0,
Type = Common.Enum.MiAi.MessageTypeEnum.ViolationNotice,
UserId = model.UserId ?? 0,
SourceId =0,
Content = "您评论内容出现违规文字",
Status = 0,
TenantId = model.TenantId,
MallBaseId = model.MallBaseId,
CreateBy = model.UserId ?? 0,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now
});
return educationViolationLogRepository.Insert(model) > 0;
}
......
......@@ -86,11 +86,13 @@ namespace Mall.Module.Miai
public List<RB_Miai_Message_Extend> GetMiaiMessagePageList(int pageIndex, int pageSize, out long count, RB_Miai_Message_Extend demodel)
{
var list = miaiCommonModule.GetPageList(pageIndex, pageSize, out count, demodel);
if (list.Any()) {
if (list.Any())
{
//每种类型 额外返回数据
var activityList = list.Where(x => x.Type == Common.Enum.MiAi.MessageTypeEnum.SpellEnroll || x.Type == Common.Enum.MiAi.MessageTypeEnum.SpellEnrollCancel
|| x.Type == Common.Enum.MiAi.MessageTypeEnum.SpellComment || x.Type == Common.Enum.MiAi.MessageTypeEnum.SpellReply).ToList();
if (activityList.Any()) {
if (activityList.Any())
{
string ActivityIds = string.Join(",", activityList.Select(x => x.SourceId).Distinct());
var alist = miai_ActivityRepository.GetList(new RB_Miai_Activity_Extend() { TenantId = demodel.TenantId, ActivityIds = ActivityIds });
......@@ -105,7 +107,8 @@ namespace Mall.Module.Miai
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool DelMiaiMessageInfo(int Id) {
public bool DelMiaiMessageInfo(int Id)
{
return miaiCommonModule.DelMessage(Id);
}
......@@ -164,7 +167,8 @@ namespace Mall.Module.Miai
};
return miai_DatingRepository.Update(keyValues, wheres);
}
else {
else
{
return miai_DatingRepository.Insert(demodel) > 0;
}
}
......@@ -645,7 +649,8 @@ namespace Mall.Module.Miai
else
{
bool flag = miai_ActivityDiscussRepository.Insert(demodel) > 0;
if (flag) {
if (flag)
{
var model = miai_ActivityRepository.GetEntity(demodel.ActivityId);
if (model != null && model.UserId != demodel.UserId)
{
......@@ -822,11 +827,13 @@ namespace Mall.Module.Miai
int WoManPeopleNum = miai_ActivityEnrollRepository.GetActivityEnrollNum(demodel.Id, 2);
if (model.WoManNum <= WoManPeopleNum) { return "已报满,无法报名"; }
}
else {
else
{
return "性别未维护,无法报名";
}
bool flag = miai_ActivityEnrollRepository.Insert(demodel) > 0;
if (flag) {
if (flag)
{
if (model.UserId != demodel.UserId)
{
//设置消息推送
......@@ -880,7 +887,8 @@ namespace Mall.Module.Miai
};
bool flag = miai_ActivityEnrollRepository.Update(keyValues, wheres);
if (flag) {
if (flag)
{
if (amodel.UserId != model.UserId)
{
//设置消息推送
......@@ -1044,7 +1052,7 @@ namespace Mall.Module.Miai
/// <returns></returns>
public List<RB_MiAi_BaseInfo_Extend> GetFirstBaseInfoList(RB_MiAi_BaseInfo_Extend where)
{
return miai_BaseInfoRepository.GetFirstBaseInfoList( where);
return miai_BaseInfoRepository.GetFirstBaseInfoList(where);
}
......@@ -1062,26 +1070,31 @@ namespace Mall.Module.Miai
{
return miai_BaseInfoRepository.GetMatchingBaseInfoList(where, Top);
}
#endregion
#region 我的粉丝/我的关注
/// <summary>
/// 新增/修改我关注的会员配置
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateFollowMember(RB_MiAi_FollowMember model, RB_MiAi_BaseInfo_Extend baseInfo)
#endregion
#region 我的粉丝/我的关注
/// <summary>
/// 新增/修改我关注的会员配置
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateFollowMember(RB_MiAi_FollowMember model, RB_MiAi_BaseInfo_Extend baseInfo)
{
bool flag = false;
try
{
int Id = 0;
bool isFollowNum = false;
if (model.ID == 0)
{
flag = miai_FollowMemberRepository.Insert(model) > 0;
Id = miai_FollowMemberRepository.Insert(model);
flag = Id > 0;
baseInfo.FollowNum += 1;
isFollowNum = true;
}
else
{
Id = model.ID;
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Education_FollowTeacher.UpdateDate),System.DateTime.Now},
{ nameof(RB_Education_FollowTeacher.Status),model.Status}
......@@ -1100,6 +1113,7 @@ namespace Mall.Module.Miai
else
{
baseInfo.FollowNum += 1;
isFollowNum = true;
}
flag = miai_FollowMemberRepository.Update(keyValues, wheres);
}
......@@ -1117,6 +1131,25 @@ namespace Mall.Module.Miai
}
};
miai_BaseInfoRepository.Update(keyValues, wheres);
if (isFollowNum && Id > 0)
{
//设置消息推送
miaiCommonModule.SetMessage(new RB_Miai_Message_Extend()
{
Id = 0,
Type = Common.Enum.MiAi.MessageTypeEnum.FollowMember,
UserId = model.UserId,
SourceId = Id,
Content = "又有新用户偷偷关注你了您",
Status = 0,
TenantId = model.TenantId,
MallBaseId = model.MallBaseId,
CreateBy = model.CreateBy,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now
});
}
}
}
catch (Exception ex)
......
......@@ -359,6 +359,52 @@ LEFT JOIN rb_education_talk as talk on talk.id=t.tid and talk.`Status`= 0 where
/// <summary>
/// 详情我的动态列表
/// </summary>
/// <param name="empId">员工id</param>
/// <param name="groupId">集团id</param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">分页大小</param>
/// <param name="count">总条数</param>
/// <returns></returns>
public List<Rb_Education_Dynamic_Extend> GetMiAiAllDynamicList(Rb_Education_Dynamic_Extend model)
{
string where = " where a.`Status`=0 ";
if (model != null)
{
if (model.TenantId > 0)
{
where += $@" and a.TenantId = {model.TenantId} ";
}
if (model.MallBaseId > 0)
{
where += $@" and a.MallBaseId = {model.MallBaseId} ";
}
if (model.Id > 0)
{
where += $@" and a.Id = {model.Id} ";
}
if (model.CreateBy > 0)
{
where += $@" and a.CreateBy = {model.CreateBy} ";
}
if (!string.IsNullOrWhiteSpace(model.Ids))
{
where += $@" and a.Id in({model.Ids}) ";
}
}
string sql = $@"SELECT e.`Name` as CreateByName,e.Photo as CrearteByPhoto,a.TenantId,a.MallBaseId,a.CreateBy,a.id,a.UserTeacher,a.Content,a.Files,a.LatAndLong,a.Address,a.CreateTime,a.CoverPhoto,a.FileType,a.IsOpen,a.`Status`,a.TalkId as tid from
Rb_Education_Dynamic a
LEFT JOIN rb_member_user e on e.Id = a.CreateBy {where}";
return Get<Rb_Education_Dynamic_Extend>(sql).ToList();
}
/// <summary>
/// 动态详情
/// </summary>
......
......@@ -1614,6 +1614,8 @@ namespace Mall.WebApi.Controllers.Education
};
CacheManager.User.UserReidsCache.AppletUserInfoSet(CacheKey.UserModuleCacheKeyConfig.Applet_Blacklist_Info + uInfo.UserId, userInfo, Config.JwtExpirTime);
educationModule.UpdateUserBlacklist(userInfo.TenantId, userInfo.MallBaseId, userInfo.UserId);
}
educationModule.SetEducationViolationLog(new RB_Education_ViolationLog { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId, ViolationType = 2, CreateDate = System.DateTime.Now });
return ApiResult.Failed("评论存在违规内容,若多次发布违规内容将被拉黑");
......
......@@ -30,7 +30,11 @@ namespace Mall.WebApi.Controllers.MallBase
private readonly Module.Education.DynamicModule dynamicModule = new Module.Education.DynamicModule();
private readonly MiniProgramModule programModule = new MiniProgramModule();
private readonly MiniProgramMsgModule programMsgModule = new MiniProgramMsgModule();
private readonly Module.Education.EducationModule educationModule = new Module.Education.EducationModule();
/// <summary>
/// 通用方法
/// </summary>
private readonly MiaiCommonModule miaiCommonModule = new MiaiCommonModule();
#region 活动版块
/// <summary>
......@@ -617,10 +621,12 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelMiaiMessageInfo() {
public ApiResult DelMiaiMessageInfo()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
int MessageId = parms.GetInt("MessageId", 0);
if (MessageId <= 0) {
if (MessageId <= 0)
{
return ApiResult.Failed();
}
bool flag = miaiModule.DelMiaiMessageInfo(MessageId);
......@@ -659,7 +665,8 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
if (demodel.UserId <= 0) {
if (demodel.UserId <= 0)
{
return ApiResult.ParamIsNull();
}
var list = miaiModule.GetMiaiDatingPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
......@@ -786,6 +793,9 @@ namespace Mall.WebApi.Controllers.MallBase
var oldList = miaiModule.GetFollowMemberList(new RB_MiAi_FollowMember_Extend { Status = 0, UserId = userId, CreateBy = userInfo.UserId, MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId });
var oldOtherList = miaiModule.GetFollowMemberList(new RB_MiAi_FollowMember_Extend { Status = 0, UserId = userInfo.UserId, CreateBy = userId, MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId });
var oldUserInfo = miaiModule.GetMemberUserInfo(userId);
var oldBaseInfo = miaiModule.GetBaseInfoList(new RB_MiAi_BaseInfo_Extend { UserId = userId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
if (userId != userInfo.UserId)
{
if (oldList != null && oldList.Any() && oldOtherList != null && oldOtherList.Any())
......@@ -808,9 +818,25 @@ namespace Mall.WebApi.Controllers.MallBase
{
isFollow = 0;
}
//设置消息推送
miaiCommonModule.SetMessage(new RB_Miai_Message_Extend()
{
Id = 0,
Type = Common.Enum.MiAi.MessageTypeEnum.Look,
UserId = userId,
SourceId = userId,
Content = "用户访问了您的自画像",
Status = 0,
TenantId = oldUserInfo.TenantId,
MallBaseId = oldUserInfo.MallBaseId,
CreateBy = userInfo.UserId,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now
});
}
var oldUserInfo = miaiModule.GetMemberUserInfo(userId);
var oldBaseInfo = miaiModule.GetBaseInfoList(new RB_MiAi_BaseInfo_Extend { UserId = userId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
if (oldUserInfo != null && oldUserInfo.Id > 0)
......@@ -979,7 +1005,7 @@ namespace Mall.WebApi.Controllers.MallBase
/// <summary>
/// 关注老师
/// 关注会员
/// </summary>
/// <returns></returns>
[HttpPost]
......@@ -1096,6 +1122,47 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Failed("文字和文件不能同时为空");
}
#region 内容是否违规
if (!string.IsNullOrWhiteSpace(article.Content))
{
try
{ //获取订阅消息
var miniModel = programModule.GetMiniProgramModule(new Model.Extend.User.RB_MiniProgram_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
int violationNum = new MiniProgramMsgModule().CheckViolation(miniModel, article.Content);
if (violationNum == 0)
{
return ApiResult.Failed("发布内容检测失败,请稍后再试");
}
else if (violationNum == 1)
{
var violationLogList = educationModule.GetViolationLogList(new RB_Education_ViolationLog { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId });
if (violationLogList != null && violationLogList.Any() && (violationLogList.Count() + 1) >= miniModel.ViolationNum)
{
userInfo = new AppletUserInfo
{
MallBaseId = userInfo.MallBaseId,
UserId = userInfo.UserId,
TenantId = userInfo.TenantId,
Name = userInfo.Name,
SuperiorId = userInfo.SuperiorId,
Blacklist = 1
};
CacheManager.User.UserReidsCache.AppletUserInfoSet(CacheKey.UserModuleCacheKeyConfig.Applet_Blacklist_Info + userInfo.UserId, userInfo, Config.JwtExpirTime);
educationModule.UpdateUserBlacklist(userInfo.TenantId, userInfo.MallBaseId, userInfo.UserId);
}
educationModule.SetEducationViolationLog(new RB_Education_ViolationLog { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId, ViolationType = 1, CreateDate = System.DateTime.Now });
return ApiResult.Failed("发布内容存在违规信息,若多次发布违规内容将被拉黑");
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "InsertOrderPayInfo");
return ApiResult.Failed("发布内容检测失败,请稍后再试");
}
}
#endregion
article.CreateTime = DateTime.Now;
article.CreateBy = userInfo.UserId;
article.TenantId = userInfo.TenantId;
......
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