119 lines
5.2 KiB
C#
119 lines
5.2 KiB
C#
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<DealCustomerItem> GetDealCustomerList(DealCustomerDto dto, Pager pager) {
|
|
IList<DealCustomerItem> reslut=new List<DealCustomerItem>();
|
|
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<ApiResult<DealCustomerPage>>(req);
|
|
if (reqModel.code == 0) {
|
|
reslut = reqModel.data.listData ?? new List<DealCustomerItem>();
|
|
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<ApiResult<DealCustomerStat>>(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}";
|
|
}
|
|
}
|
|
}
|
|
} |