Commit 9f1aa784 authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 21901bb2 99ed0faf
......@@ -5,51 +5,5 @@ using System.Text;
namespace Edu.Common.Enum.User
{
/// <summary>
/// 客户阶段
/// </summary>
public enum StuStageEnum
{
/// <summary>
/// 新客户
/// </summary>
[EnumField("新客户")]
NewStu = 1,
/// <summary>
/// 初步沟通
/// </summary>
[EnumField("初步沟通")]
PreliminaryCommunication = 2,
/// <summary>
/// 试听
/// </summary>
[EnumField("试听")]
Audition = 3,
/// <summary>
/// 成交
/// </summary>
[EnumField("成交")]
Clinch = 4,
/// <summary>
/// 多次成交
/// </summary>
[EnumField("多次成交")]
MultipleClinch = 5,
/// <summary>
/// 已输单
/// </summary>
[EnumField("已输单")]
OutputOrder = 6,
/// <summary>
/// 无效
/// </summary>
[EnumField("无效")]
InvalidStu = 7,
}
}
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.System
{
/// <summary>
/// 客户阶段实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Stage
{
/// <summary>
/// 主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 阶段名称
/// </summary>
public string StageName { get; set; }
/// <summary>
/// 阶段序号
/// </summary>
public int No { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public DateStateEnum Status { get; set;}
}
}
......@@ -180,7 +180,7 @@ namespace Edu.Model.Entity.User
/// <summary>
/// 客户阶段(见枚举)
/// </summary>
public StuStageEnum StuStage { get; set; }
public int StuStage { get; set; }
/// <summary>
/// 收客渠道
......
using Edu.Model.Entity.System;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.System
{
public class RB_Stage_ViewModel:RB_Stage
{
/// <summary>
/// 子类数量
/// </summary>
public int ChildCount { get; set; }
}
}
......@@ -214,5 +214,10 @@ namespace Edu.Model.ViewModel.User
/// 来源人名称
/// </summary>
public string StuSourceIdName { get; set; }
/// <summary>
/// 客户阶段名称
/// </summary>
public string StuStageName { get; set; }
}
}
\ No newline at end of file
......@@ -1071,58 +1071,58 @@ namespace Edu.Module.Course
#region 更新客人阶段
if (item.IsRenewGuest == 1 && item.StuStage == Common.Enum.User.StuStageEnum.Clinch)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.MultipleClinch}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof (RB_Student_ViewModel.StuId),
FiledValue = item.StuId,
OperatorEnum =OperatorEnum.Equal
}
};
studentRepository.Update(keyValues, wheres);
student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
{
LogId = 0,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
CreateType = 1,
Group_Id = userInfo.Group_Id,
LogContent = "首次续课,客户阶段由'" + (Common.Enum.User.StuStageEnum.Clinch.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.MultipleClinch.ToName()) +"'",
LogTitle = "客户阶段变更",
LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
StuId = item.StuId
});
}
else if (item.StuStage < Common.Enum.User.StuStageEnum.Clinch)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.Clinch}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof (RB_Student_ViewModel.StuId),
FiledValue = item.StuId,
OperatorEnum =OperatorEnum.Equal
}
};
studentRepository.Update(keyValues, wheres);
student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
{
LogId = 0,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
CreateType = 1,
Group_Id = userInfo.Group_Id,
LogContent = "首次生成订单,客户阶段由'" + (item.StuStage.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.Clinch.ToName()) + "'",
LogTitle = "客户阶段变更",
LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
StuId = item.StuId
});
}
//if (item.IsRenewGuest == 1 && item.StuStage == Common.Enum.User.StuStageEnum.Clinch)
//{
// Dictionary<string, object> keyValues = new Dictionary<string, object>() {
// { nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.MultipleClinch}
// };
// List<WhereHelper> wheres = new List<WhereHelper>() {
// new WhereHelper(){
// FiledName = nameof (RB_Student_ViewModel.StuId),
// FiledValue = item.StuId,
// OperatorEnum =OperatorEnum.Equal
// }
// };
// studentRepository.Update(keyValues, wheres);
// student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
// {
// LogId = 0,
// CreateBy = userInfo.Id,
// CreateTime = DateTime.Now,
// CreateType = 1,
// Group_Id = userInfo.Group_Id,
// LogContent = "首次续课,客户阶段由'" + (Common.Enum.User.StuStageEnum.Clinch.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.MultipleClinch.ToName()) +"'",
// LogTitle = "客户阶段变更",
// LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
// StuId = item.StuId
// });
//}
//else if (item.StuStage < Common.Enum.User.StuStageEnum.Clinch)
//{
// Dictionary<string, object> keyValues = new Dictionary<string, object>() {
// { nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.Clinch}
// };
// List<WhereHelper> wheres = new List<WhereHelper>() {
// new WhereHelper(){
// FiledName = nameof (RB_Student_ViewModel.StuId),
// FiledValue = item.StuId,
// OperatorEnum =OperatorEnum.Equal
// }
// };
// studentRepository.Update(keyValues, wheres);
// student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
// {
// LogId = 0,
// CreateBy = userInfo.Id,
// CreateTime = DateTime.Now,
// CreateType = 1,
// Group_Id = userInfo.Group_Id,
// LogContent = "首次生成订单,客户阶段由'" + (item.StuStage.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.Clinch.ToName()) + "'",
// LogTitle = "客户阶段变更",
// LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
// StuId = item.StuId
// });
//}
#endregion
}
}
......@@ -2449,7 +2449,7 @@ namespace Edu.Module.Course
UpdateBy = dmodel.CreateBy,
UpdateTime = DateTime.Now,
CustomerId = ordermodel.CustomerId,
StuStage = Common.Enum.User.StuStageEnum.NewStu,
StuStage = 1,
CreateType = Common.Enum.User.StuCreateTypeEnum.EmployeeInput
};
studentRepository.SetStudentRepository(stuModel);
......
......@@ -5,6 +5,7 @@ using Edu.Model.CacheModel;
using Edu.Model.ViewModel.Customer;
using Edu.Repository.Customer;
using Edu.Repository.Log;
using Edu.Repository.System;
using Edu.Repository.User;
using System;
using System.Collections.Generic;
......@@ -39,6 +40,11 @@ namespace Edu.Module.Customer
/// </summary>
private readonly RB_User_ChangeLogRepository changeLogRepository = new RB_User_ChangeLogRepository();
/// <summary>
/// 客户阶段仓储层对象
/// </summary>
private readonly RB_StageRepository stageRepository = new RB_StageRepository();
/// <summary>
/// 获取客户分页列表..
......@@ -330,14 +336,18 @@ namespace Edu.Module.Customer
{
List<object> RList = new List<object>();
var list = studentRepository.GetCustomerStuStageStatistics(customerId, group_Id);
var elist = EnumHelper.EnumToList(typeof(Common.Enum.User.StuStageEnum));
var elist = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
{
Group_Id = group_Id
});
elist = elist.OrderBy(x => x.Id).ToList();
foreach (var item in elist) {
int Num = list.Where(x => x.StuStage == (Common.Enum.User.StuStageEnum)item.Id).FirstOrDefault()?.OrderCount ?? 0;
foreach (var item in elist)
{
int Num = list.Where(x => x.StuStage == item.Id).FirstOrDefault()?.OrderCount ?? 0;
RList.Add(new
{
StuStage = item.Id,
StuStageName = item.Name,
StuStageName = item.StageName,
StuNum = Num
});
}
......
......@@ -9,6 +9,8 @@ using VT.FW.DB;
using System.Linq;
using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
using Edu.Repository.System;
using Edu.Model.Entity.System;
namespace Edu.Module.Customer
{
......@@ -62,6 +64,11 @@ namespace Edu.Module.Customer
/// </summary>
private readonly RB_Student_AssistRepository student_AssistRepository = new RB_Student_AssistRepository();
/// <summary>
/// 客户阶段仓储层对象
/// </summary>
private readonly RB_StageRepository stageRepository = new RB_StageRepository();
#region 学员约访
......@@ -230,7 +237,8 @@ namespace Edu.Module.Customer
flag = newId > 0;
logTitle = "新增跟进";
logContent = model.Remark;
if (flag) {
if (flag)
{
//获取学生信息
//var smodel = studentRepository.GetEntity(model.StuId);
//if (smodel != null && smodel.StuStage == Common.Enum.User.StuStageEnum.NewStu)
......@@ -422,7 +430,8 @@ namespace Edu.Module.Customer
flag = newId > 0;
logTitle = "新增到访";
logContent = model.Remark;
if (flag) {
if (flag)
{
//获取学生信息
//var smodel = studentRepository.GetEntity(model.StuId);
//if (smodel != null && smodel.StuStage == Common.Enum.User.StuStageEnum.NewStu)
......@@ -464,7 +473,7 @@ namespace Edu.Module.Customer
/// <param name="Id"></param>
/// <param name="OperateId"></param>
/// <returns></returns>
public bool SetStudentVisitFeedbackModule(string Feedback, int Id, int OperateId,int IsVisit)
public bool SetStudentVisitFeedbackModule(string Feedback, int Id, int OperateId, int IsVisit)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
......@@ -476,11 +485,11 @@ namespace Edu.Module.Customer
string logContent = "";
if (oldModel.Feedback != Feedback)
{
logContent += string.Format("反馈信息:由【{0}】=>【{1}】", oldModel.Feedback, Feedback);
logContent += string.Format("反馈信息:由【{0}】=>【{1}】", oldModel.Feedback, Feedback);
}
if (oldModel.IsVisit != IsVisit)
{
logContent += string.Format("到访状态:由【{0}】=>【{1}】", oldModel.IsVisitStr, (IsVisit==1?"已到访":"未到访"));
logContent += string.Format("到访状态:由【{0}】=>【{1}】", oldModel.IsVisitStr, (IsVisit == 1 ? "已到访" : "未到访"));
}
bool flag = student_VisitRepository.Update(fileds, new WhereHelper(nameof(RB_Student_Visit_Extend.Id), Id));
student_LogRepository.AddStuLogRepository(oldModel.StuId, Common.Enum.Log.StudentLogTypeEnum.Visit, logTitle, logContent, OperateId);
......@@ -560,7 +569,7 @@ namespace Edu.Module.Customer
/// <param name="StuId"></param>
/// <param name="AssistList"></param>
/// <returns></returns>
public bool SetStudentAssistModule(int StuId, RB_Student_Assist_Extend model,int Uid)
public bool SetStudentAssistModule(int StuId, RB_Student_Assist_Extend model, int Uid)
{
bool flag = true;
string logTitle = "协助人员";
......@@ -589,9 +598,9 @@ namespace Edu.Module.Customer
}
if (oldModel.AssistType != model.AssistType)
{
logContent += string.Format("修改协同类型:【0】=>【{1}】", oldModel.AssistType.ToName(),model.AssistType.ToName());
logContent += string.Format("修改协同类型:【0】=>【{1}】", oldModel.AssistType.ToName(), model.AssistType.ToName());
}
flag= student_AssistRepository.Update(fileds, new WhereHelper(nameof(RB_Student_Assist_Extend.Id), model.Id));
flag = student_AssistRepository.Update(fileds, new WhereHelper(nameof(RB_Student_Assist_Extend.Id), model.Id));
}
else
{
......@@ -600,7 +609,7 @@ namespace Edu.Module.Customer
model.Id = newId;
flag = newId > 0;
}
student_LogRepository.AddStuLogRepository(StuId, Common.Enum.Log.StudentLogTypeEnum.BasicInfo, logTitle, logContent, Uid);
return flag;
}
......@@ -640,7 +649,7 @@ namespace Edu.Module.Customer
/// <returns></returns>
public List<RB_Student_Assist_Extend> GeStudentAssistListModule(int StuId)
{
var list= student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
var list = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
StuId = StuId
});
......@@ -656,5 +665,60 @@ namespace Edu.Module.Customer
}
return list;
}
/// <summary>
/// 获取客户阶段列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stage> GetStageListModule(RB_Stage query)
{
var list = stageRepository.GetStageListRepostory(query);
return list;
}
/// <summary>
/// 新增修改客户阶段
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStageModule(RB_Stage model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Stage.No),model.No },
{nameof(RB_Stage.StageName),model.StageName },
{nameof(RB_Stage.UpdateBy),model.UpdateBy },
{nameof(RB_Stage.UpdateTime),model.UpdateTime },
};
flag = stageRepository.Update(fileds, new WhereHelper(nameof(RB_Stage.Id), model.Id));
}
else
{
var newId = stageRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 删除客户阶段
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemodeStageModule(int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Stage.Status),(int)DateStateEnum.Delete },
};
bool flag = stageRepository.Update(fileds, new WhereHelper(nameof(RB_Stage.Id), Id));
return flag;
}
}
}
......@@ -5,6 +5,7 @@ using System.Text;
using Edu.AOP.CustomerAttribute;
using Edu.Model.Entity.App;
using Edu.Repository.App;
using Edu.Repository.System;
namespace Edu.Module.System
{
......@@ -23,6 +24,8 @@ namespace Edu.Module.System
/// </summary>
private readonly RB_HomePage_LableRepository homeLableRepository = new RB_HomePage_LableRepository();
private readonly RB_StageRepository stageRepository= new RB_StageRepository();
#region 首页banner图片列表
/// <summary>
/// 获取学生app首页banner列表
......@@ -98,5 +101,32 @@ namespace Edu.Module.System
return flag;
}
#endregion
#region 客户阶段
/// <summary>
/// 获取客户阶段以及数量
/// </summary>
/// <param name="gid"></param>
/// <param name="id"></param>
/// <returns></returns>
public Object GetPeersCustomerStageCount(int gid,int id)
{
var list = stageRepository.GetPeersCustomerStageCount(gid,id);
if (list != null && list.Count > 0)
{
var result = list.Select(x => new
{
x.Id,
x.StageName,
x.ChildCount
});
return result;
}
return list;
}
#endregion
}
}
......@@ -75,6 +75,11 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_Visitor_ReserveRepository visitor_ReserveRepository = new RB_Visitor_ReserveRepository();
/// <summary>
/// 客户阶段仓储层对象
/// </summary>
private readonly RB_StageRepository stageRepository = new RB_StageRepository();
/// <summary>
/// 获取学生列表
/// </summary>
......@@ -95,9 +100,15 @@ namespace Edu.Module.User
/// <returns></returns>
public List<RB_Student_ViewModel> GetStudentPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Student_ViewModel query)
{
var list = studentRepository.GetStudentPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
//客户阶段列表
var stageList = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
{
Group_Id = list[0].Group_Id
});
string stuIds = string.Join(",", list.Select(qitem => qitem.StuId));
//学员跟进
var followList= followRepository.GetStudentFollowListRepository(new Model.ViewModel.Customer.RB_Student_Follow_Extend()
......@@ -211,6 +222,8 @@ namespace Edu.Module.User
{
item.StuSourceIdName = customerList?.FirstOrDefault(qitem => qitem.CustomerId == item.StuSourceId)?.CustomerName ?? "";
}
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
}
}
return list;
......@@ -323,6 +336,7 @@ namespace Edu.Module.User
StuId = extModel.StuId
});
extModel.AssistList = assistList;
extModel.StuStageName = stageRepository.GetEntity(extModel.StuStage)?.StageName ?? "";
}
return extModel;
}
......
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System;
using Edu.Common.Enum;
using Edu.Model.Entity.System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.System
{
/// <summary>
/// 客户阶段仓储层
/// </summary>
public class RB_StageRepository:BaseRepository<RB_Stage>
{
/// <summary>
/// 查找指定同业下,各阶段客户数量
/// </summary>
/// <param name="gid"></param>
/// <param name="id"></param>
/// <returns></returns>
public List<RB_Stage_ViewModel> GetPeersCustomerStageCount(int gid, int id)
{
string sql = "select Id,StageName,`No`,(select Count(0) from rb_Student where CustomerId=@id and StuStage=a.Id) as ChildCount from rb_stage a where Group_Id=@gid order by `No`";
DynamicParameters parameters = new DynamicParameters();
parameters.Add("gid", gid);
parameters.Add("id", id);
return Get<RB_Stage_ViewModel>(sql, parameters).ToList();
}
/// <summary>
/// 获取客户阶段列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Stage> GetStageListRepostory(RB_Stage query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Stage AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stage.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Stage.Group_Id), query.Group_Id);
}
}
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Stage.No));
return Get<RB_Stage>(builder.ToString()).ToList();
}
}
}
......@@ -2,6 +2,7 @@
using Edu.Common.Plugin;
using Edu.Model.ViewModel.User;
using Edu.Repository.Customer;
using Edu.Repository.System;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -31,6 +32,11 @@ namespace Edu.Repository.User
/// </summary>
private readonly RB_Student_AssistRepository student_AssistRepository = new RB_Student_AssistRepository();
/// <summary>
/// 客户阶段仓储层对象
/// </summary>
private readonly RB_StageRepository stageRepository = new RB_StageRepository();
/// <summary>
/// 获取学生列表
/// </summary>
......@@ -296,7 +302,9 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
}
if (oldModel.StuStage != model.StuStage)
{
logContent += string.Format("客户阶段:由【{0}】=>【{1}】,", oldModel.StuStage.ToName(), model.StuStage.ToName());
var oldName = stageRepository.GetEntity(oldModel.StuStage)?.StageName ?? "";
var newName = stageRepository.GetEntity(model.StuStage)?.StageName ?? "";
logContent += string.Format("客户阶段:由【{0}】=>【{1}】,", oldName, newName);
}
if (oldModel.StuSource != model.StuSource)
{
......@@ -310,6 +318,14 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
{
logContent += string.Format("地三方平台名称:由【{0}】=>【{1}】,", oldModel.PlatformName, model.PlatformName);
}
if (oldModel.CreateType != model.CreateType)
{
logContent += string.Format("客人来源:由【{0}】=>【{1}】,", oldModel.CreateType.ToName(), model.CreateType.ToName());
}
if (oldModel.StuSourceId != model.StuSourceId)
{
logContent += string.Format("来源人:由【{0}】=>【{1}】,", oldModel.StuSourceId, model.StuSourceId);
}
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Student_ViewModel.StuName),model.StuName.Trim() },
......@@ -334,6 +350,7 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
{nameof(RB_Student_ViewModel.StuStage),model.StuStage },
{nameof(RB_Student_ViewModel.StuChannel),model.StuChannel },
{nameof(RB_Student_ViewModel.PlatformName),model.PlatformName },
{nameof(RB_Student_ViewModel.CreateType),model.CreateType },
{nameof(RB_Student_ViewModel.StuSourceId),model.StuSourceId}
};
flag = base.Update(fileds, new WhereHelper(nameof(RB_Student_ViewModel.StuId), model.StuId));
......@@ -343,7 +360,7 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
{
if (model.StuStage <= 0)
{
model.StuStage = Common.Enum.User.StuStageEnum.NewStu;
model.StuStage = 1;
}
var newId = base.Insert(model);
model.StuId = newId;
......
......@@ -281,5 +281,7 @@ namespace Edu.WebApi.Controllers.APP
#endregion
}
}
......@@ -5,6 +5,7 @@ using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Sell;
using Edu.Module.Course;
using Edu.Module.Customer;
using Edu.Module.System;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
......@@ -35,11 +36,16 @@ namespace Edu.WebApi.Controllers.B2BApp
/// </summary>
private readonly ClassModule classModule = new ClassModule();
/// <summary>
/// 客户返佣和幸福存折处理类对象
/// </summary>
private readonly CustomerBalanceDetailModule customerBalanceDetailModule = new CustomerBalanceDetailModule();
private readonly AppHomePageModule appHomePageModule = new AppHomePageModule();
/// <summary>
/// 同行获取学员订单分页列表
/// </summary>
......@@ -119,5 +125,15 @@ namespace Edu.WebApi.Controllers.B2BApp
var obj = classModule.AppCustomerGetClassPlan(StuId);
return ApiResult.Success(data: obj);
}
#region 获取客户阶段
public Object GetPeersCustomerStageCount()
{
var result = appHomePageModule.GetPeersCustomerStageCount(base.AppletCustomerInfo.GroupId, base.AppletCustomerInfo.CustomerId);
return ApiResult.Success(data: result,message:"OK");
}
#endregion
}
}
......@@ -2,6 +2,7 @@
using Edu.Common.API;
using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.User;
using Edu.Module.Customer;
......@@ -479,5 +480,78 @@ namespace Edu.WebApi.Controllers.Customer
}
return ApiResult.Success(data: list);
}
/// <summary>
/// 获取客户阶段列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStageList()
{
var query = new RB_Stage()
{
Group_Id = base.UserInfo.Group_Id
};
var list = customerStudentModule.GetStageListModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 获取客户阶段下拉列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStageDropdownList()
{
var query = new RB_Stage()
{
Group_Id = base.UserInfo.Group_Id
};
var list = customerStudentModule.GetStageListModule(query);
return ApiResult.Success(data: list.Select(qitem => new { Id = qitem.Id, Name = qitem.StageName }));
}
/// <summary>
/// 新增修改客户阶段
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetStage()
{
var model = new RB_Stage()
{
Id = base.ParmJObj.GetInt("Id"),
StageName=base.ParmJObj.GetStringValue("StageName"),
No=base.ParmJObj.GetInt("No"),
};
if (model.No <= 0)
{
return ApiResult.Failed(message: "请填写排序编号!");
}
if (string.IsNullOrEmpty(model.StageName))
{
return ApiResult.Failed(message: "请填写阶段名称!");
}
model.CreateBy = base.UserInfo.Id;
model.UpdateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.UpdateTime = DateTime.Now;
model.Group_Id = base.UserInfo.Group_Id;
model.Status = Common.Enum.DateStateEnum.Normal;
bool flag = customerStudentModule.SetStageModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号删除客户阶段
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveStage()
{
var Id = base.ParmJObj.GetInt("Id");
bool flag = customerStudentModule.RemodeStageModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
}
}
......@@ -666,7 +666,7 @@ namespace Edu.WebApi.Controllers.User
CreateBy = base.ParmJObj.GetInt("CreateBy"),
IsQueryMyStu = base.ParmJObj.GetInt("IsQueryMyStu"),
CustomerId = base.ParmJObj.GetInt("CustomerId"),
StuStage = (StuStageEnum)base.ParmJObj.GetInt("StuStage"),
StuStage = base.ParmJObj.GetInt("StuStage"),
StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"),
};
......@@ -704,7 +704,7 @@ namespace Edu.WebApi.Controllers.User
StuSexStr = item.StuSex == 0 ? "男" : "女",
StuBirth = Common.ConvertHelper.FormatDate(item.StuBirth),
item.StuStage,
StuStageName = item.StuStage.ToName(),
item.StuStageName,
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.CreateByName,
item.CreateType,
......@@ -784,15 +784,13 @@ namespace Edu.WebApi.Controllers.User
StuContractMobile = base.ParmJObj.GetStringValue("StuContractMobile"),
StuIDCard = base.ParmJObj.GetStringValue("StuIDCard"),
StuIDCardAddress = base.ParmJObj.GetStringValue("StuIDCardAddress"),
StuStage = (StuStageEnum)base.ParmJObj.GetInt("StuStage"),
StuStage = base.ParmJObj.GetInt("StuStage"),
StuChannel = (StuChannelEnum)base.ParmJObj.GetInt("StuChannel"),
PlatformName = base.ParmJObj.GetStringValue("PlatformName"),
CreateType=(StuCreateTypeEnum)base.ParmJObj.GetInt("CreateType"),
StuSourceId=base.ParmJObj.GetInt("StuSourceId"),
};
if (extModel.StuId == 0)
{
extModel.CreateType = StuCreateTypeEnum.EmployeeInput;
}
if (string.IsNullOrEmpty(extModel.StuTel))
{
return ApiResult.Failed("请填写手机号码!");
......@@ -894,12 +892,12 @@ namespace Edu.WebApi.Controllers.User
StuContractMobile = base.ParmJObj.GetStringValue("StuContractMobile"),
StuIDCard = base.ParmJObj.GetStringValue("StuIDCard"),
StuIDCardAddress = base.ParmJObj.GetStringValue("StuIDCardAddress"),
StuStage = (StuStageEnum)base.ParmJObj.GetInt("StuStage"),
StuStage =base.ParmJObj.GetInt("StuStage"),
};
extModel.CreateType = StuCreateTypeEnum.CustomerInput;
if (extModel.StuId == 0)
{
extModel.StuStage = StuStageEnum.NewStu;
extModel.StuStage =1;
}
extModel.Status = DateStateEnum.Normal;
extModel.StuStatus = 1;
......@@ -945,6 +943,7 @@ namespace Edu.WebApi.Controllers.User
{
KeyWords = base.ParmJObj.GetStringValue("KeyWords"),
StuId = base.ParmJObj.GetInt("StuId"),
StuStage =base.ParmJObj.GetInt("StuStage")
};
var customer = base.AppletCustomerInfo;
query.Group_Id = customer.GroupId;
......@@ -1024,7 +1023,7 @@ namespace Edu.WebApi.Controllers.User
extModel.CreateType,
CreateTypeStr = extModel.CreateType.ToName(),
extModel.StuStage,
StuStageName = extModel.StuStage.ToName(),
extModel.StuStageName,
extModel.CreateBy,
extModel.StuChannel,
StuChannelName = extModel.StuChannel.ToName(),
......@@ -1064,18 +1063,6 @@ namespace Edu.WebApi.Controllers.User
return ApiResult.Success(data: list);
}
/// <summary>
/// 获取客户状态列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStuStageList()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(StuStageEnum));
return ApiResult.Success(data: list);
}
/// <summary>
/// 更新学生状态
/// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment