/// <summary>
        /// 电商平台选择
        /// 作者:姚栋
        /// 日期:20180625
        /// </summary>
        /// <param name="login_name">当前用户登录名</param>
        /// <param name="currency_code">币种编码</param>
        /// <param name="electricity_supplier_name">电商名称</param>
        /// <param name="electricity_supplier_ad">电商简称</param>
        /// <param name="electricity_supplier_code">电商编码</param>
        /// <param name="available_balance_begin">可用余额(范围-开始)</param>
        /// <param name="available_balance_end">可用余额(范围-结束)</param>
        /// <param name="project_code">项目编码</param>
        /// <param name="project_name">项目名称</param>
        public OutOnlieModel GetOnLineMallList(string login_name, Pagination pagination, string currency_code = "CNY",
                                               string electricity_supplier_name = null,
                                               string electricity_supplier_ad   = null,
                                               string electricity_supplier_code = null,
                                               decimal?available_balance_begin  = 0,
                                               decimal?available_balance_end    = 0,
                                               string project_code = null,
                                               string project_name = null)
        {
            //验证登录用户是否存在
            var userModel = userBll.CheckLogin(login_name);

            if (userModel == null)
            {
                throw new Exception("当前用户信息不存在!");
            }
            OutOnlieModel result = new OutOnlieModel();
            StringBuilder strSql = new StringBuilder();

            strSql.Append(@"
                          select epr.EcommerceID	 as electricity_supplier_id,
                        er.EcommerceName as electricity_supplier_name,		
                        er.EcommerceCode as electricity_supplier_code,
                        epr.EcommerceGroupID as electricity_supplier_ab_id,
                        ergroup.EcommerceGroupName	 as electricity_supplier_ad,			
                        CONVERT(DECIMAL(18,2),ActualControlTotalAmount)	 as available_balance,
                        ProjectID as project_id,
                        ProjectID as projectid,
                        ProjectCode as project_code,
                        ProjecName		 as project_name,	
                        'CNY'		as currency_code	
                        from dbo.T_EcommerceProjectRelation epr
                        inner join T_Ecommerce er on 
                        epr.EcommerceID=er.EcommerceID
                        inner join t_ecommercegroup ergroup on
                        ergroup.EcommerceGroupID=epr.EcommerceGroupID
                        where epr.ApprovalState=@ApprovalState and epr.istrunk=1");
            var parameter = new List <DbParameter>();

            if (!string.IsNullOrEmpty(electricity_supplier_name))
            {
                strSql.AppendLine(" and er.EcommerceName like @EcommerceName ");
                parameter.Add(DbParameters.CreateDbParameter("@EcommerceName", "%" + electricity_supplier_name + "%"));
            }
            if (!string.IsNullOrEmpty(electricity_supplier_ad))
            {
                strSql.AppendLine(" and ergroup.EcommerceGroupName like @EcommerceGroupName");
                parameter.Add(DbParameters.CreateDbParameter("@EcommerceGroupName", "%" + electricity_supplier_ad + "%"));
            }
            if (!string.IsNullOrEmpty(electricity_supplier_code))
            {
                strSql.AppendLine(" and er.EcommerceCode like @EcommerceCode");
                parameter.Add(DbParameters.CreateDbParameter("@EcommerceCode", "%" + electricity_supplier_code + "%"));
            }
            if (!string.IsNullOrEmpty(project_code))
            {
                strSql.AppendLine(" and epr.ProjectCode like @ProjectCode");
                parameter.Add(DbParameters.CreateDbParameter("@ProjectCode", "%" + project_code + "%"));
            }
            if (!string.IsNullOrEmpty(project_name))
            {
                strSql.AppendLine(" and epr.ProjectName like @ProjectName");
                parameter.Add(DbParameters.CreateDbParameter("@ProjectName", "%" + project_name + "%"));
            }
            if (available_balance_begin > 0)
            {
                strSql.AppendLine(" and epr.ActualControlTotalAmount >=@ActualControlTotalAmountBegin ");
                parameter.Add(DbParameters.CreateDbParameter("@ActualControlTotalAmountBegin", available_balance_begin));
            }
            if (available_balance_end > 0)
            {
                strSql.AppendLine(" and epr.ActualControlTotalAmount <=@ActualControlTotalAmountEnd ");
                parameter.Add(DbParameters.CreateDbParameter("@ActualControlTotalAmountEnd", available_balance_end));
            }
            parameter.Add(DbParameters.CreateDbParameter("@ApprovalState", (int)ApproveStatus.approved));
            var plist = this.BaseRepository().FindList <OutOnineMall>(strSql.ToString(), parameter.ToArray()).ToList();

            //var plist = new AuthorizeService<OutOnineMall>().FindList(strSql.ToString(), parameter.ToArray(),
            //      AuthorizeUserTypeEnum.LoginCode, SystemTypeEnum.WebApi, login_name, pagination);
            result.datalist = plist;
            result.pageInfo = new pageInfo()
            {
                total   = pagination.total,
                page    = pagination.page,
                records = pagination.records,
                rows    = pagination.rows,
            };
            return(result);
        }
Exemplo n.º 2
0
        public async Task <Resp <OutOnlieModel> > GetSelect(
            string login_name, string currency_code, int rows, int page)
        {
            string     errMsg     = string.Empty;
            int        reqState   = 1;
            Pagination pagination = new Pagination()
            {
                page = page,
                rows = rows,
                sidx = "project_code",
                sord = "asc"
            };
            var           electricity_supplier_name = RequestApi["electricity_supplier_name"];
            var           electricity_supplier_ad   = RequestApi["electricity_supplier_ad"];
            var           electricity_supplier_code = RequestApi["electricity_supplier_code"];
            var           available_balance_begin   = RequestApi["available_balance_begin"] == null ? 0 : Convert.ToDecimal(RequestApi["available_balance_begin"]);
            var           available_balance_end     = RequestApi["available_balance_end"] == null ? 0 : Convert.ToDecimal(RequestApi["available_balance_end"]);
            var           project_code = RequestApi["project_code"];
            var           project_name = RequestApi["project_name"];
            OutOnlieModel result       = new OutOnlieModel();

            try
            {
                if (string.IsNullOrEmpty(login_name))
                {
                    reqState = 0;
                    errMsg   = "登录信息缺失";
                    return(Resp.BusinessError <OutOnlieModel>(errMsg, result));
                }
                await Task.Run(() =>
                {
                    result = ecommerceProjectBll.GetOnLineMallList(login_name, pagination, currency_code,
                                                                   electricity_supplier_name,
                                                                   electricity_supplier_ad,
                                                                   electricity_supplier_code,
                                                                   available_balance_begin,
                                                                   available_balance_end,
                                                                   project_code,
                                                                   project_name);
                });

                return(Resp.Success(result));
            }
            catch (Exception ex)
            {
                return(Resp.BusinessError <OutOnlieModel>(ex.Message, result));
            }
            finally
            {
                string ResponseContent = reqState == 0 ? Resp.BusinessError <OutOnlieModel>(errMsg, result).ToJson()
              : Resp.Success(result).ToJson();
                LogBLL.WriteLogInterface("login_name:" + login_name
                                         + "   currency_code:" + currency_code
                                         + "   rows:" + rows
                                         + "   page:" + page
                                         + "   electricity_supplier_name:" + electricity_supplier_name
                                         + "   electricity_supplier_ad:" + electricity_supplier_ad
                                         + "   electricity_supplier_code:" + electricity_supplier_code
                                         + "   available_balance_begin:" + available_balance_begin
                                         + "   available_balance_end:" + available_balance_end
                                         + "   project_code:" + project_code
                                         + "   project_name:" + project_name,
                                         ResponseContent, "电商平台选择",
                                         reqState, "共享平台", "电商资金", errMsg);
            }
        }