Esempio n. 1
0
        /// <summary>
        /// 收藏/取消收藏目标
        /// </summary>
        /// <param name="targetGuid">目标guid</param>
        /// <param name="userGuid">用户guid</param>
        /// <param name="targetType">目标类型</param>
        /// <param name="collectionState">收藏状态:收藏/取消收藏</param>
        /// <returns></returns>
        public bool CollectTarget(string targetGuid, string userGuid, string targetType, out string collectionState, string platformType = "")
        {
            TargetCollectResponseDto result = CollectTargetResult(targetGuid, userGuid, targetType, platformType);

            collectionState = result.collectionState.GetDescription();
            return(result.result);
        }
        public IActionResult CollectDoctor(string doctorGuid)
        {
            var collectionBiz = new CollectionBiz();
            TargetCollectResponseDto result = collectionBiz.CollectTargetResult(doctorGuid, UserID, "doctor");

            if (result.result)
            {
                new ConsumerActionBiz().CollectDoctorToGetScore(UserID, doctorGuid, result.collectionState, result.first);
            }
            return(result.result ? Success($"{result.collectionState.GetDescription()}操作成功!") : Failed(ErrorCode.DataBaseError, $"{result.collectionState.GetDescription()}操作失败!"));
        }
Esempio n. 3
0
        /// <summary>
        /// 收藏/取消收藏目标
        /// </summary>
        /// <param name="targetGuid">目标guid</param>
        /// <param name="userGuid">用户guid</param>
        /// <param name="targetType">目标类型</param>
        /// <param name="collectionState">收藏状态:收藏/取消收藏</param>
        /// <param name="platformType"></param>
        /// <returns></returns>
        public TargetCollectResponseDto CollectTargetResult(string targetGuid, string userGuid, string targetType, string platformType = "")
        {
            TargetCollectResponseDto result = new TargetCollectResponseDto();
            var tmpModel = GetOneModelByUserId(userGuid, targetGuid);

            //如果以前没有收藏过,则为第一次收藏
            result.first = tmpModel == null;
            if (tmpModel != null)
            {
                //老数据为成功状态时,返回取消
                if (tmpModel.Enable)
                {
                    result.collectionState = CollectionStateEnum.Cancel;
                }
                else
                {
                    result.collectionState = CollectionStateEnum.Establish;
                }
                tmpModel.Enable          = !tmpModel.Enable;
                tmpModel.LastUpdatedDate = DateTime.Now;
                tmpModel.LastUpdatedBy   = userGuid;
                result.result            = tmpModel.Update() == 1;
            }
            else
            {
                result.collectionState = CollectionStateEnum.Establish;
                CollectionModel model = new CollectionModel
                {
                    CollectionGuid = Guid.NewGuid().ToString("N"),
                    UserGuid       = userGuid,
                    TargetGuid     = targetGuid,
                    TargetType     = targetType,
                    CreatedBy      = userGuid,
                    LastUpdatedBy  = userGuid
                };
                if (!string.IsNullOrWhiteSpace(platformType))
                {
                    model.PlatformType = platformType;
                }
                result.result = !string.IsNullOrEmpty(model.Insert());
            }
            #region 更新hot表收藏量
            if (result.result)
            {
                UpdateCollectTotal(targetGuid, result.collectionState == CollectionStateEnum.Establish);
            }
            #endregion
            return(result);
        }