Beispiel #1
0
        /// <summary>
        /// 获取指定公司的信用分值与次数汇总信息
        /// </summary>
        /// <param name="companyId">公司编号</param>
        /// <returns></returns>
        public EyouSoft.Model.CreditSystemStructure.RateDetailTotal GetCollectsInfo(string companyId)
        {
            string cacheName = EyouSoft.CacheTag.Company.RateScore + companyId;

            EyouSoft.Model.CreditSystemStructure.RateDetailTotal info = (EyouSoft.Model.CreditSystemStructure.RateDetailTotal)EyouSoft.Cache.Facade.EyouSoftCache.GetCache(cacheName);
            if (info == null)  //缓存中不存在
            {
                info = idal.GetCollectsInfo(companyId, EyouSoft.BLL.CreditSystemStructure.RateConfig.CreateInstance().GetRateConfig().CertificateScore);
                if (info != null)
                {
                    EyouSoft.Cache.Facade.EyouSoftCache.Add(cacheName, info, DateTime.Now.AddDays((double)1));  //存入缓存
                }
            }

            return(info);
        }
Beispiel #2
0
        /// <summary>
        /// 获取指定公司的信用分值与次数汇总信息
        /// </summary>
        /// <param name="companyId">公司编号</param>
        /// <param name="certificateScore">1份证书所获得的分值</param>
        /// <returns></returns>
        public virtual EyouSoft.Model.CreditSystemStructure.RateDetailTotal GetCollectsInfo(string companyId, double certificateScore)
        {
            EyouSoft.Model.CreditSystemStructure.RateDetailTotal info = new EyouSoft.Model.CreditSystemStructure.RateDetailTotal();
            bool isRateCertificateCheck = false;   //诚信档案中的证书有无审核通过

            info.CompanyId = companyId;
            //注意:using里面的顺序是和GetSqlStringCommand中参数的sql语句顺序有关,因此不要随意修改每个sql语句之间的顺序
            DbCommand dc = this._databse.GetSqlStringCommand(SQL_RateScoreTotal_SELECT + SQL_RateCountTotal_SELECT + SQL_CompanyInfo_SELECT + SQL_CompanyAttachInfo_SELECT);

            this._databse.AddInParameter(dc, "COMPANYID", DbType.AnsiStringFixedLength, companyId);
            using (IDataReader rdr = DbHelper.ExecuteReader(dc, this._databse))
            {
                #region 分值信息
                while (rdr.Read())
                {
                    double scores    = Convert.ToDouble(rdr.GetInt32(rdr.GetOrdinal("ScorePoint")));
                    int    scoreType = rdr.GetInt32(rdr.GetOrdinal("ScoreType"));

                    switch (scoreType)
                    {
                    case 1:
                        //交易总分值
                        info.RateCreditDetail.BuyScore = scores;
                        break;

                    case 2:
                        //评价总分值
                        info.RateCreditDetail.JudgeScore = scores;
                        break;

                    case 3:
                        //服务品质总星星数
                        info.RateCreditDetail.ServiceQualityNum = scores;
                        break;

                    case 4:
                        //性价比总星星数
                        info.RateCreditDetail.PriceQualityNum = scores;
                        break;

                    case 5:
                        //旅游内容安排总星星数
                        info.RateCreditDetail.TravelPlanNum = scores;
                        break;

                    case 6:
                        //活跃总分值
                        info.ActiveScore = scores;
                        break;

                    case 7:
                        //推荐总分值
                        info.HoldUpScore = scores;
                        break;
                    }
                }
                #endregion 分值信息

                #region 次数信息
                while (rdr.Read())
                {
                    int times     = rdr.GetInt32(rdr.GetOrdinal("ScoreNumber"));
                    int timesType = rdr.GetInt32(rdr.GetOrdinal("ScoreType"));

                    switch (timesType)
                    {
                    case 1:
                        //交易总次数
                        info.RateCreditDetail.BuyCount = times;
                        break;

                    case 2:
                        //好评总次数
                        info.RateCreditDetail.GoodCount = times;
                        break;

                    case 3:
                        //中评总次数
                        info.RateCreditDetail.MiddleCount = times;
                        break;

                    case 4:
                        //差评总次数
                        info.RateCreditDetail.BadCount = times;
                        break;

                    case 5:
                        //活跃总次数
                        info.ActivityCount = times;
                        break;

                    case 6:
                        //推荐总次数
                        info.HoldUpCount = times;
                        break;
                    }
                }
                #endregion 次数信息

                #region 承诺书以及证书信息有无审核
                if (rdr.Read())
                {
                    info.IsHasPromises     = Convert.ToBoolean(rdr.GetString(rdr.GetOrdinal("IsCreditCheck")));
                    isRateCertificateCheck = Convert.ToBoolean(rdr.GetString(rdr.GetOrdinal("IsCertificateCheck")));
                }
                #endregion 承诺书信息

                #region 证书信息
                if (isRateCertificateCheck)
                {
                    while (rdr.Read())
                    {
                        //double scores = Convert.ToDouble(rdr.GetInt32(rdr.GetOrdinal("")));
                        double scores = certificateScore;
                        string cType  = rdr.GetString(rdr.GetOrdinal("FieldName"));
                        string cPath  = rdr.GetString(rdr.GetOrdinal("FieldValue"));

                        switch (cType)
                        {
                        case "LicenceImg":     //营业执照
                            info.RateCreditDetail.RateCertificate.ManageScore = scores;
                            info.RateCreditDetail.RateCertificate.ManageSrc   = cPath;
                            break;

                        case "BusinessCertImg":     //经营许可证
                            info.RateCreditDetail.RateCertificate.LicenceScore = scores;
                            info.RateCreditDetail.RateCertificate.LicenceSrc   = cPath;
                            break;

                        case "TaxRegImg":      //税务登录证
                            info.RateCreditDetail.RateCertificate.TaxScore = scores;
                            info.RateCreditDetail.RateCertificate.TaxSrc   = cPath;
                            break;
                        }
                    }
                }
                #endregion 证书信息

                //计算总的分值
                info.CreditScore = info.RateCreditDetail.BuyScore + info.RateCreditDetail.JudgeScore + info.RateCreditDetail.RateCertificate.TotalScore;
            }

            return(info);
        }