public object AddRecord(PostRecord record) { if (record == null || string.IsNullOrEmpty(record.QuestionId) || string.IsNullOrEmpty(record.UserId)) { return(new ReturnResult <bool>(-2, "参数传入错误!")); } Record saveTemp = _QuestionService.GetRecord(record.QuestionId, record.UserId); bool isNew = false; if (saveTemp == null) { saveTemp = record.ToModel(); isNew = true; } switch (record.Type) { default: case 0: break; case 1: //点赞 if (!isNew && saveTemp.ispraise) { //此种情况,正常返回,后台不做处理 return(new ReturnResult <bool>(1, true, "此文已经赞过!")); } saveTemp.ispraise = true; break; case 2: //收藏 if (!isNew && saveTemp.iscollect) { return(new ReturnResult <bool>(1, true, "此文已经收藏过!")); } saveTemp.iscollect = true; break; case -1: //取消点赞 if (!isNew && !saveTemp.ispraise) { return(new ReturnResult <bool>(1, true, "此文未赞过!")); } saveTemp.ispraise = false; break; case -2: //取消收藏 if (!isNew && !saveTemp.iscollect) { return(new ReturnResult <bool>(1, true, "此文未收藏过!")); } saveTemp.iscollect = false; break; } ReturnResult <bool> res = new ReturnResult <bool>(); if (isNew) { res = _QuestionService.AddRecord(saveTemp); } else { res = _QuestionService.UpdateRecord(saveTemp); } if (res.code > 0) { switch (record.Type) { default: case 0: _QuestionService.UpdateReadCount(record.QuestionId); break; case 1: //点赞 _QuestionService.UpdatePraiseCount(record.QuestionId, 1); _IUsersService.UpdatePraiseCount(record.QuestionId, 1); break; case 2: //收藏 _QuestionService.UpdateCollectCount(record.UserId, 1); break; case -1: //取消点赞 _QuestionService.UpdatePraiseCount(record.QuestionId, -1); _IUsersService.UpdatePraiseCount(record.QuestionId, -1); break; case -2: //取消收藏 _QuestionService.UpdateCollectCount(record.UserId, -1); break; } } return(res); }