예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public string setSinaWbShare()
        {
            string content  = string.Empty;
            var    respData = new setSinaWbShareRespData();

            try
            {
                string reqContent = Request["ReqContent"];

                Loggers.Debug(new DebugLogInfo()
                {
                    Message = string.Format("setSinaWbShare: {0}", reqContent)
                });

                //解析请求字符串
                var reqObj = reqContent.DeserializeJSONTo <setSinaWbShareReqData>();
                reqObj = reqObj == null ? new setSinaWbShareReqData() : reqObj;
                if (reqObj.special == null)
                {
                    reqObj.special = new setSinaWbShareReqSpecialData();
                }
                if (reqObj.special == null)
                {
                    respData.code        = "2201";
                    respData.description = "特殊参数不能为空";
                    return(respData.ToJSON().ToString());
                }

                if (reqObj.special.resultUrl == null || reqObj.special.resultUrl.Equals(""))
                {
                    respData.code        = "2201";
                    respData.description = "返回地址不能为空";
                    return(respData.ToJSON().ToString());
                }

                //判断客户ID是否传递
                if (!string.IsNullOrEmpty(reqObj.common.customerId))
                {
                    customerId = reqObj.common.customerId;
                }
                var loggingSessionInfo = Default.GetBSLoggingSession(customerId, "1");

                #region
                VipExpandSinaWbBLL    server = new VipExpandSinaWbBLL(loggingSessionInfo);
                VipExpandSinaWbEntity info   = server.GetByID(reqObj.common.userId);
                if (info == null || info.AccessToken == null)
                {
                    respData.code        = "103";
                    respData.description = "不存在对应的token";
                    return(respData.ToJSON().ToString());
                }

                Sina = new Client(new OAuth(ConfigurationManager.AppSettings["AppKey"]
                                            , ConfigurationManager.AppSettings["AppSecret"]
                                            , info.AccessToken
                                            , null));
                string imageUrl = reqObj.special.imageUrl;
                string Text     = reqObj.special.text;
                if ((imageUrl == null || imageUrl.Equals("")) && (Text == null || Text.Equals("")))
                {
                    respData.code        = "103";
                    respData.description = "分享信息为空";
                    return(respData.ToJSON().ToString());
                }
                VipWeiboShareLogBLL    logServer = new VipWeiboShareLogBLL(loggingSessionInfo);
                VipWeiboShareLogEntity logInfo   = new VipWeiboShareLogEntity();
                logInfo.LogId       = BaseService.NewGuidPub();
                logInfo.AccessToken = info.AccessToken;
                logInfo.VipId       = info.VipId;
                logInfo.ImageUrl    = imageUrl;
                logInfo.Text        = Text;
                logInfo.ShareType   = "Sina";
                if (imageUrl == null || imageUrl.Equals(""))
                {
                    try
                    {
                        dynamic result = Sina.API.Dynamic.Statuses.Update(Text); //分享微博文本
                        logInfo.IsSuccess = 1;
                    }
                    catch (Exception ex1) {
                        logInfo.IsSuccess = 0;
                        if (ex1.ToString().Length > 200)
                        {
                            logInfo.FailureResason = ex1.ToString().Substring(0, 199);
                        }
                        else
                        {
                            logInfo.FailureResason = ex1.ToString();
                        }
                        respData.code        = "103";
                        respData.description = ex1.ToString();
                    }
                }
                else
                {
                    JIT.CPOS.BS.BLL.WX.CommonBLL serverBLL = new BS.BLL.WX.CommonBLL();
                    string urlx = serverBLL.DownloadFile(imageUrl);
                    try
                    {
                        dynamic r = Sina.API.Dynamic.Statuses.Upload(Text, byteImage(urlx));    //分享微博内容
                        logInfo.IsSuccess = 1;
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.ToString());
                        logInfo.IsSuccess = 0;
                        if (ex.ToString().Length > 200)
                        {
                            logInfo.FailureResason = ex.ToString().Substring(0, 199);
                        }
                        else
                        {
                            logInfo.FailureResason = ex.ToString();
                        }
                        respData.code        = "103";
                        respData.description = ex.ToString();
                    }
                }
                logServer.Create(logInfo);
                #endregion
            }
            catch (Exception ex)
            {
                respData.code        = "103";
                respData.description = "数据库操作错误";
                respData.exception   = ex.ToString();
            }
            content = respData.ToJSON();
            return(content);
        }
예제 #2
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(VipWeiboShareLogEntity pEntity, IDbTransaction pTran)
 {
     Update(pEntity, true, pTran);
 }
예제 #3
0
 public void Update(VipWeiboShareLogEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField, pTran);
 }
예제 #4
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(VipWeiboShareLogEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
예제 #5
0
 /// <summary>
 /// 在事务内创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Create(VipWeiboShareLogEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Create(pEntity, pTran);
 }
예제 #6
0
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <VipWeiboShareLogEntity> PagedQueryByEntity(VipWeiboShareLogEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex));
 }
예제 #7
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public VipWeiboShareLogEntity[] QueryByEntity(VipWeiboShareLogEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
예제 #8
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(VipWeiboShareLogEntity pEntity)
 {
     _currentDAO.Delete(pEntity);
 }
예제 #9
0
 public void Update(VipWeiboShareLogEntity pEntity, bool pIsUpdateNullField)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField);
 }
예제 #10
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Update(VipWeiboShareLogEntity pEntity)
 {
     Update(pEntity, true);
 }