using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Edu.Cache.User; using Edu.Common; using Edu.Common.API; using Edu.Common.Enum.Finance; using Edu.Common.Enum.WeChat; using Edu.Common.Plugin; using Edu.Model.Entity.WeChat; using Edu.Model.ViewModel.WeChat; using Edu.Module.QYWeChat; using Edu.Module.User; using Edu.ThirdCore.QYWinXin; using Edu.WebApi.Filter; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; namespace Edu.WebApi.Controllers.QYWeChat { /// /// 企业微信客户管理接口 /// [Route("api/[controller]/[action]")] [ApiExceptionFilter] [ApiController] [EnableCors("AllowCors")] public class QYCustomerController : BaseController { /// /// 企业微信客户处理对象 /// private readonly QYCustomerModule customerModule = new QYCustomerModule(); #region 客户字段 /// /// 获取客户字段列表 /// /// [HttpPost] public ApiResult GetCustomerFiledList() { var userInfo = base.UserInfo; var req = base.RequestParm; RB_WeChat_CustomerField_ViewModel demodel = JsonHelper.DeserializeObject(req.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; var list = customerModule.GetCustomerFieldList(demodel); return ApiResult.Success("", list.Select(x => new { x.Id, x.Type, TypeName = x.Type.ToName(), x.Name, x.Required, x.DeptId, x.DeptName, x.WordNum, x.InputType, x.Options, x.OptionsList, x.Digits, x.Sort, x.Enable, x.UpdateBy, x.IsSystem, x.IsDefault, x.IsLock, UpdateByName = Cache.User.UserReidsCache.GetUserLoginInfo(x.UpdateBy)?.AccountName??"", UpdateTime = x.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"), })); } /// /// 保存客户字段 /// /// [HttpPost] public ApiResult SetCustomerFiledInfo() { var userInfo = base.UserInfo; var req = base.RequestParm; RB_WeChat_CustomerField_ViewModel demodel = JsonHelper.DeserializeObject(req.Msg.ToString()); if (string.IsNullOrEmpty(demodel.Name)) { return ApiResult.ParamIsNull("请传递字段名称"); } if (demodel.OptionsList != null && demodel.OptionsList.Any()) { demodel.Options = JsonHelper.Serialize(demodel.OptionsList); } demodel.Group_Id = userInfo.Group_Id; demodel.Status = 0; demodel.CreateBy = userInfo.Id; demodel.CreateTime = DateTime.Now; demodel.UpdateBy = userInfo.Id; demodel.UpdateTime = DateTime.Now; demodel.IsSystem = 0; demodel.IsDefault = 0; demodel.IsLock = 0; string msg = customerModule.SetCustomerFiledInfo(demodel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 设置客户字段状态 /// /// [HttpPost] public ApiResult SetCustomerFiledState() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int Type = parms.GetInt("Type", 1);//类型 1启用 2是否必填 3删除 4排序 int FiledId = parms.GetInt("FiledId", 0);//字段id int SortFiledId = parms.GetInt("SortFiledId", 0); if (FiledId <= 0) { return ApiResult.ParamIsNull("请传递字段id"); } string msg = customerModule.SetCustomerFiledState(Type, FiledId, SortFiledId, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 获取客户子段类型枚举 /// /// [HttpPost] public ApiResult GetCustomerFieldTypeEnumList() { var list = EnumHelper.EnumToList(typeof(CustomerFieldTypeEnum)); return ApiResult.Success("", list); } /// /// 获取客户子段输入类型枚举 /// /// [HttpPost] public ApiResult GetCustomerFieldInputTypeEnumList() { var list = EnumHelper.EnumToList(typeof(CustomerFieldInputTypeEnum)); return ApiResult.Success("", list); } #endregion #region 客户阶段 /// /// 获取客户阶段列表 /// /// [HttpPost] public ApiResult GetCustomerStageList() { var userInfo = base.UserInfo; RB_WeChat_CustomerStage_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; var list = customerModule.GetCustomerStageList(demodel); return ApiResult.Success("", list.Select(x => new { x.Id, x.Type, x.Name, x.Sort, x.OptionsList, x.IsDefault })); } /// /// 新增修改客户阶段 /// /// [HttpPost] public ApiResult SetCustomerStageInfo() { var userInfo = base.UserInfo; List delist = JsonHelper.DeserializeObject>(base.RequestParm.Msg.ToString()); if (delist == null || !delist.Any()) { return ApiResult.ParamIsNull("数据为空"); } foreach (var item in delist) { if (string.IsNullOrEmpty(item.Name)) { return ApiResult.ParamIsNull("请输入阶段名称"); } item.Options = ""; if (item.Type == 2) { if (item.OptionsList == null || !item.OptionsList.Any()) { return ApiResult.ParamIsNull("原因选项不能为空"); } item.Options = JsonHelper.Serialize(item.OptionsList); } } string msg = customerModule.SetCustomerStageInfo(delist, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 验证该阶段是否可以删除 /// /// [HttpPost] public ApiResult ValidataCustomerStageDel() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int StageId = parms.GetInt("StageId", 0); if (StageId <= 0) { return ApiResult.ParamIsNull(); } bool flag = customerModule.ValidataCustomerStageDel(StageId, userInfo.Group_Id); return ApiResult.Success("", new { UseState = flag }); } /// /// 验证该阶段原因选项是否可以删除 /// /// [HttpPost] public ApiResult ValidataCustomerCauseDel() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int CauseId = parms.GetInt("CauseId", 0); int Type = parms.GetInt("Type", 1);//类型 1输单 2无效 if (CauseId <= 0) { return ApiResult.ParamIsNull(); } bool flag = customerModule.ValidataCustomerCauseDel(CauseId, Type, userInfo.Group_Id); return ApiResult.Success("", new { UseState = flag }); } #region 客户阶段流程 /// /// 获取客户阶段流程 /// /// [HttpPost] public ApiResult GetCustomerStageFlowList() { var userInfo = base.UserInfo; RB_WeChat_CustomerStageFlow_ViewModel demdoel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demdoel.Group_Id = userInfo.Group_Id; var list = customerModule.GetCustomerStageFlowList(demdoel); return ApiResult.Success("", list.Select(x => new { x.Id, x.FlowName, x.DeptIds, x.EmpIds, x.DeptEmpList, x.UseStage, x.StageList, x.LoseCause, x.InvalidCause, x.IsDefault, x.Enable, UpdateByName = Cache.User.UserReidsCache.GetUserLoginInfo(x.UpdateBy)?.AccountName ?? "", UpdateTime = x.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"), })); } /// /// 获取客户阶段流程详情 /// /// [HttpPost] public ApiResult GetCustomerStageFlowInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int FlowId = parms.GetInt("FlowId", 0);//流程id if (FlowId <= 0) { return ApiResult.ParamIsNull(); } var model = customerModule.GetCustomerStageFlowInfo(FlowId); if (model == null || model.Group_Id != userInfo.Group_Id) { return ApiResult.Failed("流程不存在"); } return ApiResult.Success("", new { model.Id, model.FlowName, model.DeptIds, model.EmpIds, model.DeptEmpList, model.UseStage, model.LoseCause, model.InvalidCause, model.IsDefault, model.Enable, }); } /// /// 保存客户阶段流程 /// /// [HttpPost] public ApiResult SetCustomerStageFlowInfo() { var userInfo = base.UserInfo; RB_WeChat_CustomerStageFlow_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (string.IsNullOrEmpty(demodel.FlowName)) { return ApiResult.ParamIsNull("请输入流程名称"); } if (demodel.DeptEmpList == null || !demodel.DeptEmpList.Any()) { return ApiResult.ParamIsNull("请选择适用的部门/成员"); } demodel.DeptIds = "-1"; demodel.EmpIds = "-1"; if (demodel.DeptEmpList.Where(x => x.Type == 1).Any()) { demodel.DeptIds = string.Join(",", demodel.DeptEmpList.Where(x => x.Type == 1).Select(x => x.Id)); } if (demodel.DeptEmpList.Where(x => x.Type == 2).Any()) { demodel.EmpIds = string.Join(",", demodel.DeptEmpList.Where(x => x.Type == 2).Select(x => x.Id)); } if (string.IsNullOrEmpty(demodel.UseStage)) { return ApiResult.ParamIsNull("请选择适用阶段"); } demodel.LoseCause ??= ""; demodel.InvalidCause ??= ""; demodel.IsDefault = 2; demodel.Enable = 2; demodel.Status = 0; demodel.Group_Id = userInfo.Group_Id; demodel.CreateBy = userInfo.Id; demodel.CreateTime = DateTime.Now; demodel.UpdateBy = userInfo.Id; demodel.UpdateTime = DateTime.Now; string msg = customerModule.SetCustomerStageFlowInfo(demodel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 设置客户阶段流程状态 /// /// [HttpPost] public ApiResult SetCustomerStageFlowState() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int FlowId = parms.GetInt("FlowId", 0);//流程id int Type = parms.GetInt("Type", 1);//类型 1启用禁用 2删除 if (FlowId <= 0) { return ApiResult.ParamIsNull("请传递流程ID"); } string msg = customerModule.SetCustomerStageFlowState(FlowId, Type, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } #endregion #endregion #region 客户操作 /// /// 获取客户操作配置 /// /// [HttpPost] public ApiResult GetCustomerConfig() { var userInfo = base.UserInfo; var model = customerModule.GetCustomerConfig(userInfo.Group_Id); return ApiResult.Success("", new { model?.Id, model?.IsPublicAudit, model?.PublicGetDept, model?.AbandonType, model?.LableIds, model?.StageIds, model?.AbandonDept, model?.AbandonAudit, model?.AbandonReason, model?.ApplyForTeamDept, model?.AddTeamDept, model?.TransferCustomerDept, PublicGetDeptList = model?.PublicGetDeptList?.Select(x=>new { x.DeptId, x.DeptName }), AbandonDeptList = model?.AbandonDeptList?.Select(x => new { x.DeptId, x.DeptName }), ApplyForTeamDeptList = model?.ApplyForTeamDeptList?.Select(x => new { x.DeptId, x.DeptName }), AddTeamDeptList = model?.AddTeamDeptList?.Select(x => new { x.DeptId, x.DeptName }), TransferCustomerDeptList = model?.TransferCustomerDeptList?.Select(x => new { x.DeptId, x.DeptName }), model?.AbandonReasonList, model?.LableList, model?.StageList, model?.AbandonSelectType, model?.AbandonKHSelect, PublicGetEmpList = model?.PublicGetEmpList?.Select(x => new { x.Id, x.EmployeeName }), AbandonEmpList = model?.AbandonEmpList?.Select(x => new { x.Id, x.EmployeeName }), ApplyForTeamEmpList = model?.ApplyForTeamEmpList?.Select(x => new { x.Id, x.EmployeeName }), AddTeamEmpList = model?.AddTeamEmpList?.Select(x => new { x.Id, x.EmployeeName }), TransferCustomerEmpList = model?.TransferCustomerEmpList?.Select(x => new { x.Id, x.EmployeeName }) }); } /// /// 保存客户操作配置 /// /// [HttpPost] public ApiResult SetCustomerConfig() { var userInfo = base.UserInfo; RB_WeChat_CustomerConfig_ViewModel demdoel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (demdoel.AbandonType == 2) { if (demdoel.AbandonKHSelect == null || !demdoel.AbandonKHSelect.Any()) { return ApiResult.ParamIsNull("请选择部分客户筛选条件"); } demdoel.AbandonSelectValue = JsonHelper.Serialize(demdoel.AbandonKHSelect); } if (demdoel.AbandonReasonList != null && demdoel.AbandonReasonList.Any()) { demdoel.AbandonReason = JsonHelper.Serialize(demdoel.AbandonReasonList); } demdoel.Group_Id = userInfo.Group_Id; demdoel.Status = 0; demdoel.CreateBy = userInfo.Id; demdoel.CreateTime = DateTime.Now; demdoel.UpdateBy = userInfo.Id; demdoel.UpdateTime = DateTime.Now; string msg = customerModule.SetCustomerConfig(demdoel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(); } } /// /// 获取放弃进入公海原因 /// /// [HttpPost] public ApiResult GetCustomerConfigAbandonReason() { var userInfo = base.UserInfo; var list = customerModule.GetCustomerConfigAbandonReason(userInfo.Group_Id); return ApiResult.Success("", list); } #endregion #region 客户管理 /// /// 获取客户信息分页列表 /// /// [HttpPost] public ApiResult GetCustomerInfoPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; demodel.CustomerState = 1;//客户列表 var list = customerModule.GetCustomerInfoPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.EmpId, x.EmpName, x.WorkEmpId, x.WorkEmpName, x.ExternalUserId, x.CustomerName, x.WeChatName, x.WeChatPhoto, x.CorpName, x.CorpFullName, x.CustomerType, x.StageId, x.StageName, x.LableIds, LableList = x.LableList?.Select(z => new { z.Id, z.Name }), x.PersonLable, x.Source, x.CustomContent, x.CustomFiledList, x.FriendState, LastFollowUpTime = x.LastFollowUpTime.HasValue ? x.LastFollowUpTime.Value.ToString("yyyy-MM-dd HH:mm") : "", x.CheckInNum, CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm"), FriendTime = x.FriendTime.HasValue ? x.FriendTime.Value.ToString("yyyy-MM-dd HH:mm") : "" }); return ApiResult.Success("", pmodel); } /// /// 获取客户信息 /// /// [HttpPost] public ApiResult GetCustomerInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int CustomerId = parms.GetInt("CustomerId", 0);//客户Id if (CustomerId <= 0) { return ApiResult.ParamIsNull(); } var model = customerModule.GetCustomerInfo(CustomerId, userInfo); if (model == null || model.Group_Id != userInfo.Group_Id) { return ApiResult.Failed("客户不存在,请核实后再试"); } return ApiResult.Success("", new { model.Id, model.EmpId, model.EmpName, model.WorkEmpId, model.WorkEmpName, model.ExternalUserId, model.CustomerName, model.WeChatName, model.WeChatPhoto, model.CorpName, model.CorpFullName, model.CustomerType, model.StageId, model.StageName, model.LableIds, LableList = model.LableList?.Select(z => new { z.Id, z.Name }), model.PersonLable, model.Source, model.CustomContent, FiledDetailList = model.FiledDetailList.OrderBy(x=>x.Sort).Select(x=>new { x.Id, x.Type, TypeName = x.Type.ToName(), x.Name, x.Required, x.WordNum, x.InputType, x.Options, x.OptionsList, x.Digits, x.Sort, x.Value }), model.FriendState, LastFollowUpTime = model.LastFollowUpTime.HasValue ? model.LastFollowUpTime.Value.ToString("yyyy-MM-dd HH:mm") : "", model.CheckInNum, CreateTime = model.CreateTime.ToString("yyyy-MM-dd HH:mm"), FriendTime = model.FriendTime.HasValue ? model.FriendTime.Value.ToString("yyyy-MM-dd HH:mm") : "" }); } /// /// 修改客户信息 /// /// [HttpPost] public ApiResult SetCustomerInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int Type = parms.GetInt("Type", 0);//类型 1客户阶段 2自定义字段 3客户企业标签 int CustomId = parms.GetInt("CustomId", 0);//自定义字段ID int CustomerId = parms.GetInt("CustomerId", 0);//客户Id string Value = parms.GetStringValue("Value");//值 多选的话 英文逗号分隔 if (CustomerId <= 0) { return ApiResult.ParamIsNull("请传递客户ID"); } if (Type == 2 && CustomId <= 0) { return ApiResult.ParamIsNull("请传递自定义字段ID"); } string msg = customerModule.SetCustomerInfo(CustomerId, Type, CustomId, Value, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 获取客户旅程分页列表 /// /// [HttpPost] public ApiResult GetCustomerTripPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerTrip_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; var list = customerModule.GetCustomerTripPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.Type, TypeName = x.Type.ToName(), x.CustomerId, x.Description, x.Remark, x.ImageList, x.FileList, x.UpdateBy, x.UpdateByName, UpdateTime = x.UpdateTime.ToString("yyyy-MM-dd HH:mm") }); return ApiResult.Success("", pmodel); } /// /// 企业微信旅程类型枚举 /// /// [HttpPost] public ApiResult GetCustomerTripTypeEnumList() { var list = EnumHelper.EnumToList(typeof(CustomerTripTypeEnum)); return ApiResult.Success("", list); } /// /// 新增客户跟进记录 /// /// [HttpPost] public ApiResult SetCustomerTripFollowUpInfo() { var userInfo = base.UserInfo; RB_WeChat_CustomerTrip_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (demodel.CustomerId <= 0) { return ApiResult.ParamIsNull("请传递客户id"); } if (string.IsNullOrEmpty(demodel.Remark)) { return ApiResult.ParamIsNull("请输入跟进记录"); } if (demodel.ImageList != null && demodel.ImageList.Any()) { demodel.Images = JsonHelper.Serialize(demodel.ImageList); } if (demodel.FileList != null && demodel.FileList.Any()) { demodel.Files = JsonHelper.Serialize(demodel.FileList); } demodel.Type = CustomerTripTypeEnum.FollowUp; demodel.Description = "添加了跟进记录:"; demodel.Status = 0; demodel.Group_Id = userInfo.Group_Id; demodel.CreateBy = userInfo.Id; demodel.CreateTime = DateTime.Now; demodel.UpdateBy = userInfo.Id; demodel.UpdateTime = DateTime.Now; string msg = customerModule.SetCustomerTripFollowUpInfo(demodel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 删除客户旅程 /// /// [HttpPost] public ApiResult DelCustomerTripInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int TripId = parms.GetInt("TripId", 0);// if (TripId <= 0) { return ApiResult.ParamIsNull(); } string msg = customerModule.DelCustomerTripInfo(TripId, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 获取客户添加方式枚举 /// /// [HttpPost] public ApiResult GetCustomerAddWayEnumList() { var list = EnumHelper.EnumToList(typeof(CustomerAddWayEnum)); return ApiResult.Success("", list); } /// /// 初始化客户信息列表 /// /// [HttpPost] public ApiResult InitializeCustomerInfoList() { var userInfo = base.UserInfo; string msg = customerModule.InitializeCustomerInfoList(userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 批量设置客户标签 /// /// [HttpPost] public ApiResult SetCustomerLabelBatch() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); string CustomerIds = parms.GetStringValue("CustomerIds");//客户ids 英文逗号分隔 string LableIds = parms.GetStringValue("LableIds");//标签ids if (string.IsNullOrEmpty(CustomerIds)) { return ApiResult.ParamIsNull("请传递客户ID"); } if (string.IsNullOrEmpty(LableIds)) { return ApiResult.ParamIsNull("请传递标签ID"); } string msg = customerModule.SetCustomerLabelBatch(CustomerIds, LableIds, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 单客户标签设置 /// /// [HttpPost] public ApiResult SetCustomerLabelSingle() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int CustomerId = parms.GetInt("CustomerId", 0);//客户id string LableIds = parms.GetStringValue("LableIds");//标签ids if (CustomerId <= 0) { return ApiResult.ParamIsNull("请传递客户ID"); } if (string.IsNullOrEmpty(LableIds)) { return ApiResult.ParamIsNull("请传递标签ID"); } string msg = customerModule.SetCustomerLabelSingle(CustomerId, LableIds, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 客户转移(在职,离职 /// /// [HttpPost] public ApiResult SetCustomerTransfer() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); string CustomerIds = parms.GetStringValue("CustomerIds");//客户ids int EmpId = parms.GetInt("EmpId", 0);//转入销售的id if (string.IsNullOrEmpty(CustomerIds)) { return ApiResult.ParamIsNull("请传递客户ID"); } if (EmpId <= 0) { return ApiResult.ParamIsNull("请现在转移销售"); } string msg = customerModule.SetCustomerTransfer(CustomerIds, EmpId, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 客户放弃(放弃至公海) /// /// [HttpPost] public ApiResult SetCustomerAbandon() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); string CustomerIds = parms.GetStringValue("CustomerIds");//客户ids string Reason = parms.GetStringValue("Reason");//放弃原因 if (string.IsNullOrEmpty(CustomerIds)) { return ApiResult.ParamIsNull("请传递客户ID"); } if (string.IsNullOrEmpty(Reason)) { return ApiResult.ParamIsNull("请选择放弃原因"); } string msg = customerModule.SetCustomerAbandon(CustomerIds, Reason, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 删除客户 /// /// [HttpPost] public ApiResult DelCustomerInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); string CustomerIds = parms.GetStringValue("CustomerIds");//客户ids if (string.IsNullOrEmpty(CustomerIds)) { return ApiResult.ParamIsNull("请传递客户ID"); } string msg = customerModule.DelCustomerInfo(CustomerIds, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } //修改客户企业标签(批量处理) //批量转移 导出 #endregion #region 客户线索 #region 线索分配规则 /// /// 获取线索规则配置 /// /// [HttpPost] public ApiResult GetCustomerClueRuleConfig() { var userInfo = base.UserInfo; var model = customerModule.GetCustomerClueRule(userInfo.Group_Id); return ApiResult.Success("", new { model?.Id, model?.ClueType, model?.ClueAllotWay }); } /// /// 保存线索规则配置 /// /// [HttpPost] public ApiResult SetCustomerClueRuleConfig() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int ClueType = parms.GetInt("ClueType", 1);//线索类型 1手动分配 2自动分配 int ClueAllotWay = parms.GetInt("ClueAllotWay", 1);//线索手动分配方式 1依次轮流 2随机分配 if (ClueType <= 0) { return ApiResult.ParamIsNull(); } if (ClueAllotWay <= 0) { return ApiResult.ParamIsNull(); } string msg = customerModule.SetCustomerClueRuleConfig(ClueType, ClueAllotWay, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 获取客户线索规则列表 /// /// [HttpPost] public ApiResult GetCustomerClueRuleList() { var userInfo = base.UserInfo; var list = customerModule.GetCustomerClueRuleList(userInfo.Group_Id); return ApiResult.Success("", list.Select(x => new { x.Id, x.RuleSelectType, x.IsDefault, DeptList = x.DeptList.Select(z => new { z.DeptId, z.DeptName }), EmpList = x.EmpList.Select(z => new { z.Id, z.EmployeeName }), x.RuleAllotWay, x.Sort, x.ConditionList, x.ConditionStrList })); } /// /// 获取客户线索规则信息 /// /// [HttpPost] public ApiResult GetCustomerClueRuleInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int RuleId = parms.GetInt("RuleId", 0); if (RuleId <= 0) { return ApiResult.ParamIsNull("请传递规则ID"); } var model = customerModule.GetCustomerClueRuleInfo(RuleId, userInfo.Group_Id); return ApiResult.Success("", new { model.Id, model.RuleSelectType, model.IsDefault, DeptList = model.DeptList.Select(z => new { z.DeptId, z.DeptName }), EmpList = model.EmpList.Select(z => new { z.Id, z.EmployeeName }), model.RuleAllotWay, model.Sort, model.ConditionList, model.ConditionStrList }); } /// /// 新增修改线索规则 /// /// [HttpPost] public ApiResult SetCustomerClueRuleInfo() { var userInfo = base.UserInfo; RB_WeChat_CustomerClueRule_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (demodel.ConditionList == null || !demodel.ConditionList.Any()) { return ApiResult.ParamIsNull("请选择条件"); } if ((demodel.DeptList == null || !demodel.DeptList.Any()) && (demodel.EmpList == null || !demodel.EmpList.Any())) { return ApiResult.ParamIsNull("请选择适用部门/成员"); } demodel.RuleSelectValue = JsonHelper.Serialize(demodel.ConditionList); demodel.DeptIds = "-1"; demodel.EmpIds = "-1"; if (demodel.DeptList != null || demodel.DeptList.Any()) { demodel.DeptIds = string.Join(",", demodel.DeptList.Select(x => x.DeptId)); } if (demodel.EmpList != null || demodel.EmpList.Any()) { demodel.EmpIds = string.Join(",", demodel.EmpList.Select(x => x.Id)); } demodel.Group_Id = userInfo.Group_Id; demodel.Status = 0; demodel.CreateBy = userInfo.Id; demodel.CreateTime = DateTime.Now; demodel.UpdateBy = userInfo.Id; demodel.UpdateTime = DateTime.Now; demodel.IsDefault = 2; string msg = customerModule.SetCustomerClueRuleInfo(demodel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 设置线索规则状态 /// /// [HttpPost] public ApiResult SetCustomerClueRuleState() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int RuleId = parms.GetInt("RuleId", 0);//规则ID int Type = parms.GetInt("Type", 1);//类型 1移动规则 2删除 int TargetId = parms.GetInt("TargetId", 0);//移动至目标的后面 0 表示移动至第一个 if (RuleId <= 0) { return ApiResult.ParamIsNull("请传递规则Id"); } if (Type == 1 && TargetId <0) { return ApiResult.ParamIsNull("请传递目标ID"); } string msg = customerModule.SetCustomerClueRuleState(RuleId, Type, TargetId, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } #endregion #region 客户线索 /// /// 获取客户线索分页列表 /// /// [HttpPost] public ApiResult GetCustomerCluePageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; demodel.CustomerState = 2; var list = customerModule.GetCustomerInfoPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.EmpId, x.EmpName, x.WorkEmpId, x.WorkEmpName, x.ExternalUserId, x.CustomerName, x.WeChatName, x.WeChatPhoto, x.CorpName, x.CorpFullName, x.CustomerType, x.StageId, x.StageName, x.LableIds, LableList = x.LableList?.Select(z => new { z.Id, z.Name }), x.Source, x.CustomContent, x.CustomFiledList, x.FriendState, LastFollowUpTime = x.LastFollowUpTime.HasValue ? x.LastFollowUpTime.Value.ToString("yyyy-MM-dd HH:mm") : "", CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm") }); return ApiResult.Success("", pmodel); } /// /// 新增线索 /// /// [HttpPost] public ApiResult SetCustomerClueInfo() { var userInfo = base.UserInfo; RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (demodel.CustomFiledList == null || !demodel.CustomFiledList.Any()) { return ApiResult.ParamIsNull("请传递字段内容"); } #region 验证自定义字段 if (demodel.CustomFiledList.Where(x => x.Id <= 0).Any()) { return ApiResult.ParamIsNull("请传递客户字段ID"); } string xName = demodel.CustomFiledList.Where(x => x.Name == "姓名").FirstOrDefault()?.Value ?? ""; string mobile = demodel.CustomFiledList.Where(x => x.Name == "电话").FirstOrDefault()?.Value ?? ""; if (string.IsNullOrEmpty(xName)) { return ApiResult.ParamIsNull("请输入客人姓名"); } if (string.IsNullOrEmpty(mobile)) { return ApiResult.ParamIsNull("请输入客人电话"); } Dictionary CustomContentKV = new Dictionary(); foreach (var qitem in demodel.CustomFiledList) { CustomContentKV.Add("z" + qitem.Id, qitem.Value); } demodel.CustomContent = JsonHelper.Serialize(CustomContentKV); demodel.CustomerMobile = mobile; demodel.CustomerName = xName; #endregion #region 基本信息 demodel.Status = 0; demodel.Group_Id = userInfo.Group_Id; demodel.CreateBy = userInfo.Id; demodel.CreateTime = DateTime.Now; demodel.UpdateBy = userInfo.Id; demodel.UpdateTime = DateTime.Now; demodel.AddWay = CustomerAddWayEnum.Person; demodel.CustomerState = 2;//线索 demodel.ClueState = 1;//未处理 demodel.AllotState = 0;//分配状态 demodel.EmpId = 0; demodel.WorkEmpId = ""; demodel.WorkEmpName = ""; demodel.ExternalUserId = ""; demodel.CustomerType = 1;//微信用户 demodel.StageId = 0;//阶段 根据领用用户来判断 demodel.FriendState = 2; #endregion string msg = customerModule.SetCustomerClueInfo(demodel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 批量设置线索状态 /// /// [HttpPost] public ApiResult SetCustomerClueState() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); string CustomerIds = parms.GetStringValue("CustomerIds");//客户ids int Type = parms.GetInt("Type", 1);//类型 1有效线索 2无效线索 3待回访 4直接分配(员工ID) 5重置无效线索 string EmpIds = parms.GetStringValue("EmpIds");//分配员工 if (string.IsNullOrEmpty(CustomerIds)) { return ApiResult.ParamIsNull("请传递客户ids"); } if (Type == 4 && string.IsNullOrEmpty(EmpIds)) { return ApiResult.ParamIsNull("请传递分配员工"); } string msg = customerModule.SetCustomerClueState(CustomerIds, Type, EmpIds, userInfo); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.ParamIsNull(msg); } } /// /// 获取客户线索已转客户分页列表 /// /// [HttpPost] public ApiResult GetCustomerClueToPassPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; demodel.ClueState = 4;//已转客户 var list = customerModule.GetCustomerInfoPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.EmpId, x.EmpName, x.WorkEmpId, x.WorkEmpName, x.ExternalUserId, x.CustomerName, x.WeChatName, x.WeChatPhoto, x.CorpName, x.CorpFullName, x.CustomerType, x.StageId, x.StageName, x.LableIds, LableList = x.LableList?.Select(z => new { z.Id, z.Name }), x.Source, x.CustomContent, x.CustomFiledList, x.FriendState, TurnCustomerTime = x.TurnCustomerTime.HasValue ? x.TurnCustomerTime.Value.ToString("yyyy-MM-dd HH:mm") : "", CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm") }); return ApiResult.Success("", pmodel); } /// /// 获取客户线索导入文件 /// /// [HttpPost] public ApiResult GetCustomerClueExportFile() { var userInfo = base.UserInfo; string FliePath = customerModule.GetCustomerClueExportFile(userInfo); return ApiResult.Success("", new { Path = FliePath }); } #endregion #endregion #region 待分配客户 /// /// 获取客户待分配分页列表 /// /// [HttpPost] public ApiResult GetCustomerClueWaitDistributionPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; demodel.CustomerState = 2;//还是线索 demodel.ClueState = 4;//已转客户 demodel.AllotState = 1;//待分配 var list = customerModule.GetCustomerInfoPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.EmpId, x.EmpName, x.WorkEmpId, x.WorkEmpName, x.ExternalUserId, x.CustomerName, x.WeChatName, x.WeChatPhoto, x.CorpName, x.CorpFullName, x.CustomerType, x.StageId, x.StageName, x.LableIds, LableList = x.LableList?.Select(z => new { z.Id, z.Name }), x.Source, x.CustomContent, x.CustomFiledList, x.FriendState, LastFollowUpTime = x.LastFollowUpTime.HasValue ? x.LastFollowUpTime.Value.ToString("yyyy-MM-dd HH:mm") : "", CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm") }); return ApiResult.Success("", pmodel); } /// /// 获取客户已分配分页列表 /// /// [HttpPost] public ApiResult GetCustomerClueAssignedPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; demodel.ClueState = 4;//已转客户 demodel.AllotState = 2;//已分配 var list = customerModule.GetCustomerInfoPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.EmpId, x.EmpName, x.WorkEmpId, x.WorkEmpName, x.ExternalUserId, x.CustomerName, x.WeChatName, x.WeChatPhoto, x.CorpName, x.CorpFullName, x.CustomerType, x.StageId, x.StageName, x.LableIds, LableList = x.LableList?.Select(z => new { z.Id, z.Name }), x.Source, x.CustomContent, x.CustomFiledList, x.FriendState, AllotCustomerTime = x.AllotCustomerTime.HasValue ? x.AllotCustomerTime.Value.ToString("yyyy-MM-dd HH:mm") : "", CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm") }); return ApiResult.Success("", pmodel); } #endregion #region 公海 #region 客户库 /// /// 获取客户库 查重规则 /// /// [HttpPost] public ApiResult GetCustomerLibraryLookRepeat() { var userInfo = base.UserInfo; int lookRepeat = customerModule.GetCustomerLibraryLookRepeat(userInfo.Group_Id); return ApiResult.Success("", lookRepeat); } /// /// 设置客户库 查重规则 /// /// [HttpPost] public ApiResult SetCustomerLibraryLookRepeat() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int LookRepeat = parms.GetInt("LookRepeat", 1);//查重规则 if (LookRepeat <= 0) { return ApiResult.ParamIsNull(); } string msg = customerModule.SetCustomerLibraryLookRepeat(userInfo.Group_Id, LookRepeat); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } /// /// 获取客户库列表 /// /// [HttpPost] public ApiResult GetCustomerLibraryList() { var userInfo = base.UserInfo; var list = customerModule.GetCustomerLibraryList(userInfo.Group_Id); return ApiResult.Success("", list.OrderBy(x => x.IsDefault).ThenByDescending(x => x.Id).Select(x => new { x.Id, x.Name, x.IsDefault, x.IsAllowRepeat, DeptList = x.DeptList.Select(z => new { z.DeptId, z.DeptName }), EmpList = x.EmpList.Select(z => new { z.Id, z.EmployeeName }), x.RecyclingType, x.ConditionList, x.NotRecycleTimeList, x.RemindDay, x.RemindType, x.LimitDay, LimitList = x.LimitList.Select(z => new { z.IsDefault, z.LimitNum, z.LockNum, DeptList = z.DeptList.Select(y => new { y.DeptId, y.DeptName }), EmpList = z.EmpList.Select(y => new { y.Id, y.EmployeeName }) }), x.PrivateLibraryType, x.PrivateLibraryTypeStr, UpdateByName = Cache.User.UserReidsCache.GetUserLoginInfo(x.UpdateBy)?.AccountName ?? "", UpdateTime = x.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"), })); } /// /// 获取客户库详情 /// /// [HttpPost] public ApiResult GetCustomerLibraryInfo() { var userInfo = base.UserInfo; JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); int LibraryId = parms.GetInt("LibraryId", 0);//客户库ID if (LibraryId <= 0) { return ApiResult.ParamIsNull(); } var model = customerModule.GetCustomerLibraryInfo(LibraryId, userInfo.Group_Id); return ApiResult.Success("", new { model.Id, model.Name, model.IsDefault, model.IsAllowRepeat, DeptList = model.DeptList.Select(z => new { z.DeptId, z.DeptName }), EmpList = model.EmpList.Select(z => new { z.Id, z.EmployeeName }), model.RecyclingType, model.ConditionList, model.NotRecycleTimeList, model.RemindDay, model.RemindType, model.LimitDay, LimitList = model.LimitList.Select(z => new { z.IsDefault, z.LimitNum, z.LockNum, DeptList = z.DeptList.Select(y => new { y.DeptId, y.DeptName }), EmpList = z.EmpList.Select(y => new { y.Id, y.EmployeeName }) }), model.PrivateLibraryType }); } /// /// 新增修改客户库信息 /// /// [HttpPost] public ApiResult SetCustomerLibraryInfo() { var userInfo = base.UserInfo; RB_WeChat_CustomerLibrary_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (string.IsNullOrEmpty(demodel.Name)) { return ApiResult.ParamIsNull("请输入客户库名称"); } if (demodel.RecyclingType == 2) { if (demodel.ConditionList == null || !demodel.ConditionList.Any()) { return ApiResult.ParamIsNull("请传递条件列表"); } demodel.RecycleCondition = JsonHelper.Serialize(demodel.ConditionList); } if (demodel.IsDefault == 1) { demodel.DeptIds = ""; demodel.EmpIds = ""; } else { if ((demodel.DeptList == null || !demodel.DeptList.Any()) && (demodel.EmpList == null || !demodel.EmpList.Any())) { return ApiResult.ParamIsNull("请选择部门/员工"); } demodel.DeptIds = string.Join(",", demodel.DeptList.Select(x => x.DeptId)); demodel.EmpIds = string.Join(",", demodel.EmpList.Select(x => x.Id)); } demodel.PrivateLibraryLimit = ""; if (demodel.LimitList != null && demodel.LimitList.Any()) { foreach (var item in demodel.LimitList) { if (item.IsDefault == 1) { item.DeptIds = ""; item.EmpIds = ""; } else { if ((item.DeptList == null || !item.DeptList.Any()) && (item.EmpList == null || !item.EmpList.Any())) { return ApiResult.ParamIsNull("请选择部门/员工"); } item.DeptIds = string.Join(",", item.DeptList.Select(x => x.DeptId)); item.EmpIds = string.Join(",", item.EmpList.Select(x => x.Id)); } } demodel.PrivateLibraryLimit = JsonHelper.Serialize(demodel.LimitList); } demodel.NotRecycleTime = ""; if (demodel.NotRecycleTimeList != null && demodel.NotRecycleTimeList.Any()) { demodel.NotRecycleTime = JsonHelper.Serialize(demodel.NotRecycleTimeList); } demodel.Status = 0; demodel.Group_Id = userInfo.Group_Id; demodel.CreateBy = userInfo.Id; demodel.CreateTime = DateTime.Now; demodel.UpdateBy = userInfo.Id; demodel.UpdateTime = DateTime.Now; string msg = customerModule.SetCustomerLibraryInfo(demodel); if (msg == "") { return ApiResult.Success(); } else { return ApiResult.Failed(msg); } } #endregion /// /// 获取公海客户分页列表 /// /// [HttpPost] public ApiResult GetCustomerPublicPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; demodel.CustomerState = 3;//公海客户 //这里有个放弃的原因 放弃时间 前负责人 var list = customerModule.GetCustomerInfoPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.Select(x => new { x.Id, x.OldEmpId, x.OldEmpName, x.ExternalUserId, x.CustomerName, x.WeChatName, x.WeChatPhoto, x.CorpName, x.CorpFullName, x.CustomerType, x.StageId, x.StageName, x.LableIds, LableList = x.LableList?.Select(z => new { z.Id, z.Name }), x.Source, x.CustomContent, x.CustomFiledList, x.FriendState, x.AbandonReason, AbandonTime = x.AbandonTime.HasValue ? x.AbandonTime.Value.ToString("yyyy-MM-dd HH:mm") : "", LastFollowUpTime = x.LastFollowUpTime.HasValue ? x.LastFollowUpTime.Value.ToString("yyyy-MM-dd HH:mm") : "", CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm") }); return ApiResult.Success("", pmodel); } #endregion #region 重复跟进 /// /// 获取重复跟进客户分页列表 /// /// [HttpPost] public ApiResult GetCustomerRepeatToFollowUpPageList() { var userInfo = base.UserInfo; ResultPageModel pmodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); RB_WeChat_CustomerInfo_ViewModel demodel = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); demodel.Group_Id = userInfo.Group_Id; var list = customerModule.GetCustomerRepeatToFollowUpPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel); pmodel.Count = Convert.ToInt32(count); pmodel.PageData = list.GroupBy(x => x.ExternalUserId).Select(x => new { x.Key, x.FirstOrDefault()?.WeChatName, x.FirstOrDefault()?.WeChatPhoto, List = x.Select(z => new { z.Id, z.EmpId, z.EmpName, z.WorkEmpId, z.WorkEmpName, z.ExternalUserId, z.CustomerName, z.WeChatName, z.WeChatPhoto, z.CorpName, z.CorpFullName, z.CustomerType, z.StageId, z.StageName, z.LableIds, LableList = z.LableList?.Select(y => new { y.Id, y.Name }), z.PersonLable, z.Source, z.CustomContent, z.CustomFiledList, z.FriendState, LastFollowUpTime = z.LastFollowUpTime.HasValue ? z.LastFollowUpTime.Value.ToString("yyyy-MM-dd HH:mm") : "", z.CheckInNum, CreateTime = z.CreateTime.ToString("yyyy-MM-dd HH:mm"), FriendTime = z.FriendTime.HasValue ? z.FriendTime.Value.ToString("yyyy-MM-dd HH:mm") : "" }) }); return ApiResult.Success("", pmodel); } #endregion #region 自定义查询 [HttpPost] public ApiResult SaveCustomQuery() { RB_CustomQuery model = JsonHelper.DeserializeObject(base.RequestParm.Msg.ToString()); if (model != null) { if (string.IsNullOrEmpty(model.Name) || string.IsNullOrEmpty(model.SelectList) || string.IsNullOrEmpty(model.Code) || model.AddCondition == 0) { return ApiResult.Failed("参数信息不完整"); } else { model.CreateBy = base.UserInfo.AccountId; if (customerModule.SaveCustomQuery(model)) { return ApiResult.Success("保存成功"); } else { return ApiResult.Failed("保存失败,请联系技术管理员"); } } } else { return ApiResult.Failed("未获取到有效参数信息,请重新发起保存或刷新页面"); } } [HttpPost] public ApiResult DeleteCustomQuery() { int uid = base.UserInfo.AccountId; var parms = JObject.Parse(base.RequestParm.Msg.ToString()); int id = parms.GetInt("id", 0); if (id != 0 && customerModule.DeleteCustomQuery(id, uid)) { return ApiResult.Success("删除成功"); } else { return ApiResult.Failed("删除失败"); } } [HttpPost] public ApiResult GetUserCustomQuery() { int uid = base.UserInfo.AccountId; var parms = JObject.Parse(base.RequestParm.Msg.ToString()); var code = parms.GetStringValue("code"); if (!string.IsNullOrEmpty(code)) { var data = customerModule.GetUserCustomQuery(uid,code); return ApiResult.Success(message: "查询成功", data: data); } return ApiResult.Failed("缺失必要的参数"); } [HttpPost] public ApiResult GetCustomQueryById() { int uid = base.UserInfo.AccountId; var parms = JObject.Parse(base.RequestParm.Msg.ToString()); var id = parms.GetInt("id",0); if (id!=0) { var data = customerModule.GetCustomQueryById(id, uid); return ApiResult.Success(message: "查询成功", data: data); } return ApiResult.Failed("缺失必要的参数"); } #endregion } }