using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WX.CRM.Common; using WX.CRM.IBLL.Wx; using WX.CRM.Model.DTO; using Newtonsoft.Json; using WX.CRM.Common.Employee; using System.Web.UI; using System.Web.UI.WebControls; using WX.CRM.IBLL.Util; using WX.CRM.BLL.Base; namespace WX.CRM.BLL.Wx { public class WX_DealCustomer_BL: IWX_DealCustomer { public string baseApi = System.Configuration.ConfigurationManager.AppSettings["dealbaseapi"]; //"http://bd-markting.soft.dn8188.com"; public IList GetDealCustomerList(DealCustomerDto dto, Pager pager) { IList reslut=new List(); var url = $"{baseApi}/customer/deal/list"; string reqdata = boundQueryString("", pager); reqdata = boundQueryString(reqdata, dto); var req = Utility.GetData(url, reqdata,Encoding.UTF8,1000*30); var reqModel = JsonConvert.DeserializeObject>(req); if (reqModel.code == 0) { reslut = reqModel.data.listData ?? new List(); pager.totalRows = reqModel.data.total; } foreach (var item in reslut) { if (item.is_overdate == 10) { item.overdateName = "过期"; } else if (item.is_overdate == 20) { item.overdateName = "在期"; } switch (item.amount_type_id) { case 0: item.amount_type = "未知"; break; case 1: item.amount_type = "10万以下"; break; case 2: item.amount_type = "10-20万"; break; case 3: item.amount_type = "20-30万"; break; } } return reslut; } public DealCustomerStat GetDealCustomerStat(DealCustomerDto dto) { var url = $"{baseApi}/customer/deal/stat"; string reqdata = ""; reqdata = boundQueryString(reqdata, dto); var req = Utility.GetData(url, reqdata, Encoding.UTF8); var reqModel = JsonConvert.DeserializeObject>(req); if (reqModel.code == 0) { return reqModel.data; } else { DealCustomerStat res = new DealCustomerStat(); return res; } } private string boundQueryString(string queryString, Pager pager) { queryString = boundParamItem(queryString, "currentPage", pager.page.ToString()); queryString = boundParamItem(queryString, "pageSize", pager.rows.ToString()); return queryString; } private string boundQueryString(string queryString, DealCustomerDto dto) { queryString = boundParamItem(queryString, "umid", dto.umid); queryString = boundParamItem(queryString, "resid", dto.resid); queryString = boundParamItem(queryString, "cnname", dto.cnname); queryString = boundParamItem(queryString, "amount_type_id", dto.amount_type_id); queryString = boundParamItem(queryString, "is_overdate", dto.is_overdate); queryString = boundParamItem(queryString, "subproductids", dto.subproductids); queryString = boundParamItem(queryString, "arrivalpay_from", dto.arrivalpay_from); queryString = boundParamItem(queryString, "arrivalpay_to", dto.arrivalpay_to); queryString = boundParamItem(queryString, "arrivalpay_deptids", dto.arrivalpay_deptids); queryString = boundParamItem(queryString, "arrivaltotal_from", dto.arrivaltotal_from); queryString = boundParamItem(queryString, "arrivaltotal_to", dto.arrivaltotal_to); queryString = boundParamItem(queryString, "order_share_deptids", dto.order_share_deptids); queryString = boundParamItem(queryString, "order_share_groupids", dto.order_share_groupids); queryString = boundParamItem(queryString, "order_share_eids", dto.order_share_eids); queryString = boundParamItem(queryString, "follow_deptids", dto.follow_deptids); queryString = boundParamItem(queryString, "follow_groupids", dto.follow_groupids); queryString = boundParamItem(queryString, "follow_eids", dto.follow_eids); queryString = boundParamItem(queryString, "follow_type", dto.follow_type); queryString = boundParamItem(queryString, "follow_date_from", dto.follow_date_from); queryString = boundParamItem(queryString, "follow_date_to", dto.follow_date_to); queryString = boundParamItem(queryString, "exclude_moduleids", dto.exclude_moduleids); queryString = boundParamItem(queryString, "moduleids", dto.moduleids); return queryString; } private string boundParamItem(string url,string key, string val) { if (url.Contains("?")) { return $"{url}&{key}={val}"; } else { return $"{url}?{key}={val}"; } } } }