123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using Dapper;
- using Datory;
- using GxPress.Common.Tools;
- using GxPress.EnumConst;
- using GxPress.Request.Reply;
- using GxPress.Result.Reply;
- namespace GxPress.Service.Implement.Reply
- {
- /// <summary>
- /// 点赞
- /// </summary>
- public partial class ReplyService
- {
- /// <summary>
- /// 获取我收到的赞
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- public async Task<IEnumerable<ReplyResult>> GetPraiseAsync(ReplyRequest request)
- {
- var noteConstValue = AllTypeConst.Note.GetHashCode();
- string sqlStr = string.Empty;
- if (!string.IsNullOrEmpty(request.KeyWord))
- {
- sqlStr = $@" AND (
- b.Title LIKE '%{request.KeyWord}%'
- OR b.Content LIKE '%{request.KeyWord}%' or c.Name like '%{request.KeyWord}%')";
- }
- string sql = $@"
- SELECT
- a.Id,
- a.SourceId,
- a.TypeValue,
- b.Title,
- b.Content,
- c.Name,
- c.AvatarUrl,
- b.CreatedDate,
- a.UserId,
- b.IsTopic,
- d.Name
- FROM
- tede_analyze a
- INNER JOIN
- tede_note b ON a.SourceId = b.Id
- INNER JOIN
- tede_user c ON c.Id = a.UserId
- INNER JOIN
- tede_user d ON d.Id = b.UserId
- WHERE
- b.UserId = {request.UserId} AND a.TypeValue ={noteConstValue}
- AND b.IsDelete = 0 and a.AnalyzeType in(1,2) {sqlStr}
- ORDER BY a.CreatedDate DESC
- ";
- var database = new Database(DatabaseType.MySql, ConfigHelper.GetValue("Database:ConnectionString"));
- var connection = database.GetConnection();
- return await connection.QueryAsync<ReplyResult, Entity.Note.Note, Entity.User, Entity.User, ReplyResult>(sql,
- (result, note, user, userModel) =>
- {
- result.UserName = user != null ? user.Name : "";
- result.AvatarUrl = StringUtils.AddDomainMin(user.AvatarUrl);
- result.IsTopic = note.IsTop;
- result.Title = string.IsNullOrEmpty(note.Title) ? GetTitleText(note.Content) : note.Title;
- //result.Content = note.Content;
- result.CreatedDate = note.CreatedDate;
- result.Name = userModel.Name;
- result.Remark = result.IsTopic ? AllTypeConst.Topic.GetDescriptionOriginal() : AllTypeConst.Note.GetDescriptionOriginal();
- return result;
- }, splitOn: "Id,Title,Name,Name");
- }
- }
- }
|