Commit 48356c9f authored by liudong1993's avatar liudong1993

1

parent 7a1b53bb
...@@ -117,6 +117,10 @@ namespace Edu.Module.Course ...@@ -117,6 +117,10 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository(); private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary> /// <summary>
/// 学生日志
/// </summary>
private readonly RB_Student_LogRepository student_LogRepository = new RB_Student_LogRepository();
/// <summary>
/// 同行 /// 同行
/// </summary> /// </summary>
private readonly RB_CustomerRepository customerRepository = new RB_CustomerRepository(); private readonly RB_CustomerRepository customerRepository = new RB_CustomerRepository();
...@@ -437,7 +441,7 @@ namespace Edu.Module.Course ...@@ -437,7 +441,7 @@ namespace Edu.Module.Course
{ {
var customerModel = customerRepository.GetEntity(demodel.CustomerId); var customerModel = customerRepository.GetEntity(demodel.CustomerId);
string Description = "续费返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CReNewRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) + "%"; string Description = "续费返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CReNewRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) + "%";
decimal RenewCommission = Math.Round(courseModel.SellPrice * (courseModel.B2CReNewRatio / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) / 100) * demodel.GuestNum, 2, MidpointRounding.AwayFromZero); decimal RenewCommission = Math.Round(courseModel.SellPrice * ((100-courseModel.B2CReNewRatio) / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) / 100) * demodel.GuestNum, 2, MidpointRounding.AwayFromZero);
BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel() BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel()
{ {
Id = 0, Id = 0,
...@@ -473,7 +477,7 @@ namespace Edu.Module.Course ...@@ -473,7 +477,7 @@ namespace Edu.Module.Course
{ {
var customerModel = customerRepository.GetEntity(demodel.CustomerId); var customerModel = customerRepository.GetEntity(demodel.CustomerId);
string Description = "首次返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) + "%"; string Description = "首次返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) + "%";
decimal NormalCommission = Math.Round(courseModel.SellPrice * (courseModel.B2CRatio / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) / 100) * demodel.GuestNum, 2, MidpointRounding.AwayFromZero); decimal NormalCommission = Math.Round(courseModel.SellPrice * ((100-courseModel.B2CRatio) / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) / 100) * demodel.GuestNum, 2, MidpointRounding.AwayFromZero);
BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel() BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel()
{ {
Id = 0, Id = 0,
...@@ -535,7 +539,7 @@ namespace Edu.Module.Course ...@@ -535,7 +539,7 @@ namespace Edu.Module.Course
if (RenewNum > 0) if (RenewNum > 0)
{ {
string Description = "续费返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CReNewRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) + "%"; string Description = "续费返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CReNewRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) + "%";
RenewCommission = Math.Round(courseModel.SellPrice * (courseModel.B2CReNewRatio / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) / 100) * RenewNum, 2, MidpointRounding.AwayFromZero); RenewCommission = Math.Round(courseModel.SellPrice * ((100-courseModel.B2CReNewRatio) / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolReNewRatio : courseModel.B2BReNewRatio) / 100) * RenewNum, 2, MidpointRounding.AwayFromZero);
BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel() BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel()
{ {
Id = 0, Id = 0,
...@@ -557,7 +561,7 @@ namespace Edu.Module.Course ...@@ -557,7 +561,7 @@ namespace Edu.Module.Course
if (NormalNum > 0) if (NormalNum > 0)
{ {
string Description = "首次返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) + "%"; string Description = "首次返佣;课程售价:" + courseModel.SellPrice + ";优惠比例:" + courseModel.B2CRatio + "%;返佣比例:" + (customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) + "%";
NormalCommission = Math.Round(courseModel.SellPrice * (courseModel.B2CRatio / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) / 100) * NormalNum, 2, MidpointRounding.AwayFromZero); NormalCommission = Math.Round(courseModel.SellPrice * ((100-courseModel.B2CRatio) / 100) * ((customerModel.CustomerType == 2 ? courseModel.SchoolRebateRatio : courseModel.B2BRebateRatio) / 100) * NormalNum, 2, MidpointRounding.AwayFromZero);
BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel() BalanceList.Add(new RB_Customer_BalanceDetail_ViewModel()
{ {
Id = 0, Id = 0,
...@@ -639,8 +643,8 @@ namespace Edu.Module.Course ...@@ -639,8 +643,8 @@ namespace Edu.Module.Course
return flag; return flag;
} }
} }
//没有总经理修改订单权限 //没有总经理修改订单权限 if (!isEditOrder)
if (!isEditOrder) if (true)
{ {
//if (demodel.Unit_Price < coursePrice) //if (demodel.Unit_Price < coursePrice)
//{ //{
...@@ -651,7 +655,7 @@ namespace Edu.Module.Course ...@@ -651,7 +655,7 @@ namespace Edu.Module.Course
if (demodel.JoinType == OrderJoinTypeEnum.InsertClass) if (demodel.JoinType == OrderJoinTypeEnum.InsertClass)
{ {
var newPreferPrice = Math.Round(coursePrice / courseModel.ClassHours * (courseModel.ClassHours - demodel.StartClassHours) * demodel.GuestNum, 2); var newPreferPrice = Math.Round(coursePrice / courseModel.ClassHours * (courseModel.ClassHours - demodel.StartClassHours) * demodel.GuestNum, 2);
if (demodel.PreferPrice != (newPreferPrice - demodel.DiscountMoney)) if (demodel.PreferPrice != newPreferPrice)
{ {
flag = false; flag = false;
message = "应收总额不正确"; message = "应收总额不正确";
...@@ -664,7 +668,7 @@ namespace Edu.Module.Course ...@@ -664,7 +668,7 @@ namespace Edu.Module.Course
} }
else else
{ {
if (demodel.PreferPrice != (coursePrice * demodel.GuestNum - demodel.DiscountMoney)) if (demodel.PreferPrice != (coursePrice * demodel.GuestNum))
{ {
flag = false; flag = false;
message = "应收总额不正确"; message = "应收总额不正确";
...@@ -934,7 +938,8 @@ namespace Edu.Module.Course ...@@ -934,7 +938,8 @@ namespace Edu.Module.Course
TotalHours = Convert.ToInt32(courseModel.ClassHours), TotalHours = Convert.ToInt32(courseModel.ClassHours),
CompleteHours = 0, CompleteHours = 0,
MakeUpHours = 0, MakeUpHours = 0,
StuIcon = "" StuIcon = "",
RenewState = 1
}; };
SetOrderGuestInfo(guestModel, out string Nmessage); SetOrderGuestInfo(guestModel, out string Nmessage);
} }
...@@ -980,11 +985,13 @@ namespace Edu.Module.Course ...@@ -980,11 +985,13 @@ namespace Edu.Module.Course
StudyRemark = "", StudyRemark = "",
CompleteHours = 0, CompleteHours = 0,
MakeUpHours = 0, MakeUpHours = 0,
StuIcon = "" StuIcon = "",
RenewState = 1
}; };
if (demodel.RenewOrderId > 0) if (demodel.RenewOrderId > 0)
{ {
guestModel.TotalHours = Convert.ToInt32(courseModel.ClassHours); guestModel.TotalHours = Convert.ToInt32(courseModel.ClassHours);
guestModel.RenewState = 2;
} }
else if (demodel.JoinType == OrderJoinTypeEnum.TransOrder) else if (demodel.JoinType == OrderJoinTypeEnum.TransOrder)
{ {
...@@ -1045,6 +1052,62 @@ namespace Edu.Module.Course ...@@ -1045,6 +1052,62 @@ namespace Edu.Module.Course
RenewState = item.IsRenewGuest == 1 ? 2 : 1 RenewState = item.IsRenewGuest == 1 ? 2 : 1
}; };
SetOrderGuestInfo(guestModel, out string Nmessage); SetOrderGuestInfo(guestModel, out string Nmessage);
#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
});
}
#endregion
} }
//返佣幸福存折 //返佣幸福存折
if (demodel.CustomerId > 0 && BalanceList.Any()) { if (demodel.CustomerId > 0 && BalanceList.Any()) {
...@@ -2359,7 +2422,8 @@ namespace Edu.Module.Course ...@@ -2359,7 +2422,8 @@ namespace Edu.Module.Course
StuTel = dmodel.Mobile, StuTel = dmodel.Mobile,
UpdateBy = dmodel.CreateBy, UpdateBy = dmodel.CreateBy,
UpdateTime = DateTime.Now, UpdateTime = DateTime.Now,
CustomerId = ordermodel.CustomerId CustomerId = ordermodel.CustomerId,
StuStage = Common.Enum.User.StuStageEnum.NewStu
}; };
studentRepository.SetStudentRepository(stuModel); studentRepository.SetStudentRepository(stuModel);
......
...@@ -8,6 +8,7 @@ using System.Text; ...@@ -8,6 +8,7 @@ using System.Text;
using VT.FW.DB; using VT.FW.DB;
using System.Linq; using System.Linq;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
namespace Edu.Module.Customer namespace Edu.Module.Customer
{ {
...@@ -31,6 +32,11 @@ namespace Edu.Module.Customer ...@@ -31,6 +32,11 @@ namespace Edu.Module.Customer
/// </summary> /// </summary>
private readonly RB_Student_VisitRepository student_VisitRepository = new RB_Student_VisitRepository(); private readonly RB_Student_VisitRepository student_VisitRepository = new RB_Student_VisitRepository();
/// <summary>
/// 学生
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary> /// <summary>
/// 学员日志仓储层对象 /// 学员日志仓储层对象
/// </summary> /// </summary>
...@@ -224,6 +230,36 @@ namespace Edu.Module.Customer ...@@ -224,6 +230,36 @@ namespace Edu.Module.Customer
flag = newId > 0; flag = newId > 0;
logTitle = "新增跟进"; logTitle = "新增跟进";
logContent = model.Remark; logContent = model.Remark;
if (flag) {
//获取学生信息
var smodel = studentRepository.GetEntity(model.StuId);
if (smodel != null && smodel.StuStage == Common.Enum.User.StuStageEnum.NewStu)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.PreliminaryCommunication}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof (RB_Student_ViewModel.StuId),
FiledValue = model.StuId,
OperatorEnum =OperatorEnum.Equal
}
};
studentRepository.Update(keyValues, wheres);
student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
{
LogId = 0,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now,
CreateType = 1,
Group_Id = model.Group_Id,
LogContent = "首次跟进,客户阶段由'" + (Common.Enum.User.StuStageEnum.NewStu.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.PreliminaryCommunication.ToName()) + "'",
LogTitle = "客户阶段变更",
LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
StuId = model.StuId
});
}
}
} }
student_LogRepository.AddStuLogRepository(model.StuId, Common.Enum.Log.StudentLogTypeEnum.Follow, logTitle, logContent, model.CreateBy); student_LogRepository.AddStuLogRepository(model.StuId, Common.Enum.Log.StudentLogTypeEnum.Follow, logTitle, logContent, model.CreateBy);
return flag; return flag;
...@@ -386,6 +422,36 @@ namespace Edu.Module.Customer ...@@ -386,6 +422,36 @@ namespace Edu.Module.Customer
flag = newId > 0; flag = newId > 0;
logTitle = "新增到访"; logTitle = "新增到访";
logContent = model.Remark; logContent = model.Remark;
if (flag) {
//获取学生信息
var smodel = studentRepository.GetEntity(model.StuId);
if (smodel != null && smodel.StuStage == Common.Enum.User.StuStageEnum.NewStu)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.PreliminaryCommunication}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof (RB_Student_ViewModel.StuId),
FiledValue = model.StuId,
OperatorEnum =OperatorEnum.Equal
}
};
studentRepository.Update(keyValues, wheres);
student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
{
LogId = 0,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now,
CreateType = 1,
Group_Id = model.Group_Id,
LogContent = "首次拜访,客户阶段由'" + (Common.Enum.User.StuStageEnum.NewStu.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.PreliminaryCommunication.ToName()) + "'",
LogTitle = "客户阶段变更",
LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
StuId = model.StuId
});
}
}
} }
student_LogRepository.AddStuLogRepository(model.StuId, Common.Enum.Log.StudentLogTypeEnum.Visit, logTitle, logContent, model.CreateBy); student_LogRepository.AddStuLogRepository(model.StuId, Common.Enum.Log.StudentLogTypeEnum.Visit, logTitle, logContent, model.CreateBy);
return flag; return flag;
......
...@@ -15,6 +15,9 @@ using Edu.Repository.User; ...@@ -15,6 +15,9 @@ using Edu.Repository.User;
using Edu.Common.Message; using Edu.Common.Message;
using Edu.Model.ViewModel.Grade; using Edu.Model.ViewModel.Grade;
using Edu.Repository.Grade; using Edu.Repository.Grade;
using Edu.Repository.Customer;
using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
namespace Edu.Module.Duty namespace Edu.Module.Duty
{ {
...@@ -38,6 +41,16 @@ namespace Edu.Module.Duty ...@@ -38,6 +41,16 @@ namespace Edu.Module.Duty
/// </summary> /// </summary>
private readonly RB_Class_PlanRepository class_PlanRepository = new RB_Class_PlanRepository(); private readonly RB_Class_PlanRepository class_PlanRepository = new RB_Class_PlanRepository();
/// <summary>
/// 学生
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学员日志仓储层对象
/// </summary>
private readonly RB_Student_LogRepository student_LogRepository = new RB_Student_LogRepository();
/// <summary> /// <summary>
/// 账号管理仓储层对象 /// 账号管理仓储层对象
/// </summary> /// </summary>
...@@ -126,6 +139,36 @@ namespace Edu.Module.Duty ...@@ -126,6 +139,36 @@ namespace Edu.Module.Duty
var newId = visitor_ReserveRepository.Insert(model); var newId = visitor_ReserveRepository.Insert(model);
model.Id = newId; model.Id = newId;
flag = newId > 0; flag = newId > 0;
if (flag) {
//获取学生信息
var smodel = studentRepository.GetEntity(model.Visitor_Id);
if (smodel != null && smodel.StuStage <= Common.Enum.User.StuStageEnum.PreliminaryCommunication)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.StuStage), Common.Enum.User.StuStageEnum.Audition}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof (RB_Student_ViewModel.StuId),
FiledValue = model.Visitor_Id,
OperatorEnum =OperatorEnum.Equal
}
};
studentRepository.Update(keyValues, wheres);
student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
{
LogId = 0,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now,
CreateType = 1,
Group_Id = model.Group_Id,
LogContent = "首次试听,客户阶段由'" + (smodel.StuStage.ToName()) + "'自动转换为'" + (Common.Enum.User.StuStageEnum.Audition.ToName()) + "'",
LogTitle = "客户阶段变更",
LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
StuId = model.Visitor_Id
});
}
}
} }
return flag; return flag;
} }
......
...@@ -536,6 +536,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -536,6 +536,7 @@ namespace Edu.WebApi.Controllers.Course
CustomerId = base.ParmJObj.GetInt("CustomerId"), CustomerId = base.ParmJObj.GetInt("CustomerId"),
StuIds = base.ParmJObj.GetStringValue("StuIds"), StuIds = base.ParmJObj.GetStringValue("StuIds"),
OrderIdentify = base.ParmJObj.GetInt("OrderIdentify"), OrderIdentify = base.ParmJObj.GetInt("OrderIdentify"),
CourseConsultantId = base.ParmJObj.GetInt("CourseConsultantId"),
}; };
var IsInsertClass = base.ParmJObj.GetInt("IsChaBan"); var IsInsertClass = base.ParmJObj.GetInt("IsChaBan");
if (IsInsertClass == 1) if (IsInsertClass == 1)
...@@ -694,6 +695,9 @@ namespace Edu.WebApi.Controllers.Course ...@@ -694,6 +695,9 @@ namespace Edu.WebApi.Controllers.Course
model.TargetJoinType, model.TargetJoinType,
model.SourceOrderId, model.SourceOrderId,
model.TargetOrderId, model.TargetOrderId,
model.CustomerId,
model.CourseConsultantId,
model.OrderIdentify
}, },
StepPriceList = list.Select(x => new StepPriceList = list.Select(x => new
{ {
......
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