1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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.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.TypeValue==AllTypeConst.Note.GetHashCode() ? AllTypeConst.Topic.GetDescriptionOriginal() : AllTypeConst.Note.GetDescriptionOriginal();
- return result;
- }, splitOn: "Id,Title,Name,Name");
- }
- }
- }
|