123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- using JLHHJSvr.BLL;
- using JLHHJSvr.Com.Model;
- using JLHHJSvr.LJException;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace JLHHJSvr.Helper
- {
- internal class ERPHelper : HelperBase
- {
- private JObject BuildLoginRequest()
- {
- return new JObject
- {
- { "token", GlobalVar.ERP_TOKEN },
- { "account", GlobalVar.ERP_ACCOUNT_NAME },
- { "userid", GlobalVar.ERP_ACCOUNT_USERNAME },
- { "password", GlobalVar.ERP_ACCOUNT_PASSWORD },
- { "clientType", 30 }
- };
- }
- protected void Login()
- {
- var request = BuildLoginRequest();
- try
- {
- var result = DoExecute("Login", request);
- var token = result.GetValue("token").ToObject<string>();
- if (!string.IsNullOrEmpty(token))
- {
- GlobalVar.ERP_TOKEN = token;
- }
- }
- catch (Exception ex)
- {
- throw new LJCommonException($"ERP登录失败: {ex.Message}");
- }
- }
- public void CheckLogin()
- {
- if(string.IsNullOrEmpty(GlobalVar.ERP_TOKEN))
- {
- Login();
- }
- }
- public List<T> GetERPList<T>(string apiMethod, JObject parameters)
- {
- CheckLogin();
- // 根据 API 方法的返回结果名称来提取相应的数据
- var apiDict = new Dictionary<string, string>()
- {
- {"GetL1Mtrldef","mtrldefList" },
- {"GetSCWorkgroupList","scworkgroupList" },
- {"GetL1Mtrltype","mtrltypeList" },
- };
- var request = new JObject();
- request.Add("token", GlobalVar.ERP_TOKEN);
- if (parameters != null)
- {
- foreach (var param in parameters)
- {
- request.Add(param.Key,param.Value);
- }
- }
- var result = DoExecute(apiMethod, request);
- if (!apiDict.TryGetValue(apiMethod, out var listName))
- {
- throw new ArgumentException("Unsupported API method", nameof(apiMethod));
- }
- return result.GetValue(listName).ToObject<List<T>>();
- }
- public List<erp_mtrldef> GetErpMtrlDefList(JObject parameters)
- {
- return GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
- }
- public List<erp_sc_workgroup> GetERPWrkGrpList(JObject parameters)
- {
- return GetERPList<erp_sc_workgroup>("GetSCWorkgroupList", parameters);
- }
- public List<u_mtrltype> GetERPMtrlTypeList(JObject parameters)
- {
- return GetERPList<u_mtrltype>("GetL1Mtrltype", parameters);
- }
- }
- }
|