TG.WXCRM.V4/BLL/Wx/WX_DealCustomer_BL.cs

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}";
}
}
}
}