Commit 48356c9f authored by liudong1993's avatar liudong1993

1

parent 7a1b53bb
......@@ -117,6 +117,10 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学生日志
/// </summary>
private readonly RB_Student_LogRepository student_LogRepository = new RB_Student_LogRepository();
/// <summary>
/// 同行
/// </summary>
private readonly RB_CustomerRepository customerRepository = new RB_CustomerRepository();
......@@ -437,7 +441,7 @@ namespace Edu.Module.Course
{
var customerModel = customerRepository.GetEntity(demodel.CustomerId);
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()
{
Id = 0,
......@@ -473,7 +477,7 @@ namespace Edu.Module.Course
{
var customerModel = customerRepository.GetEntity(demodel.CustomerId);
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()
{
Id = 0,
......@@ -535,7 +539,7 @@ namespace Edu.Module.Course
if (RenewNum > 0)
{
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()
{
Id = 0,
......@@ -557,7 +561,7 @@ namespace Edu.Module.Course
if (NormalNum > 0)
{
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()
{
Id = 0,
......@@ -639,8 +643,8 @@ namespace Edu.Module.Course
return flag;
}
}
//没有总经理修改订单权限
if (!isEditOrder)
//没有总经理修改订单权限 if (!isEditOrder)
if (true)
{
//if (demodel.Unit_Price < coursePrice)
//{
......@@ -651,7 +655,7 @@ namespace Edu.Module.Course
if (demodel.JoinType == OrderJoinTypeEnum.InsertClass)
{
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;
message = "应收总额不正确";
......@@ -664,7 +668,7 @@ namespace Edu.Module.Course
}
else
{
if (demodel.PreferPrice != (coursePrice * demodel.GuestNum - demodel.DiscountMoney))
if (demodel.PreferPrice != (coursePrice * demodel.GuestNum))
{
flag = false;
message = "应收总额不正确";
......@@ -934,7 +938,8 @@ namespace Edu.Module.Course
TotalHours = Convert.ToInt32(courseModel.ClassHours),
CompleteHours = 0,
MakeUpHours = 0,
StuIcon = ""
StuIcon = "",
RenewState = 1
};
SetOrderGuestInfo(guestModel, out string Nmessage);
}
......@@ -980,11 +985,13 @@ namespace Edu.Module.Course
StudyRemark = "",
CompleteHours = 0,
MakeUpHours = 0,
StuIcon = ""
StuIcon = "",
RenewState = 1
};
if (demodel.RenewOrderId > 0)
{
guestModel.TotalHours = Convert.ToInt32(courseModel.ClassHours);
guestModel.RenewState = 2;
}
else if (demodel.JoinType == OrderJoinTypeEnum.TransOrder)
{
......@@ -1045,6 +1052,62 @@ namespace Edu.Module.Course
RenewState = item.IsRenewGuest == 1 ? 2 : 1
};
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()) {
......@@ -2359,7 +2422,8 @@ namespace Edu.Module.Course
StuTel = dmodel.Mobile,
UpdateBy = dmodel.CreateBy,
UpdateTime = DateTime.Now,
CustomerId = ordermodel.CustomerId
CustomerId = ordermodel.CustomerId,
StuStage = Common.Enum.User.StuStageEnum.NewStu
};
studentRepository.SetStudentRepository(stuModel);
......
......@@ -8,6 +8,7 @@ using System.Text;
using VT.FW.DB;
using System.Linq;
using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
namespace Edu.Module.Customer
{
......@@ -31,6 +32,11 @@ namespace Edu.Module.Customer
/// </summary>
private readonly RB_Student_VisitRepository student_VisitRepository = new RB_Student_VisitRepository();
/// <summary>
/// 学生
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学员日志仓储层对象
/// </summary>
......@@ -224,6 +230,36 @@ namespace Edu.Module.Customer
flag = newId > 0;
logTitle = "新增跟进";
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);
return flag;
......@@ -386,6 +422,36 @@ namespace Edu.Module.Customer
flag = newId > 0;
logTitle = "新增到访";
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);
return flag;
......
......@@ -15,6 +15,9 @@ using Edu.Repository.User;
using Edu.Common.Message;
using Edu.Model.ViewModel.Grade;
using Edu.Repository.Grade;
using Edu.Repository.Customer;
using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
namespace Edu.Module.Duty
{
......@@ -38,6 +41,16 @@ namespace Edu.Module.Duty
/// </summary>
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>
......@@ -126,6 +139,36 @@ namespace Edu.Module.Duty
var newId = visitor_ReserveRepository.Insert(model);
model.Id = newId;
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;
}
......
......@@ -536,6 +536,7 @@ namespace Edu.WebApi.Controllers.Course
CustomerId = base.ParmJObj.GetInt("CustomerId"),
StuIds = base.ParmJObj.GetStringValue("StuIds"),
OrderIdentify = base.ParmJObj.GetInt("OrderIdentify"),
CourseConsultantId = base.ParmJObj.GetInt("CourseConsultantId"),
};
var IsInsertClass = base.ParmJObj.GetInt("IsChaBan");
if (IsInsertClass == 1)
......@@ -694,6 +695,9 @@ namespace Edu.WebApi.Controllers.Course
model.TargetJoinType,
model.SourceOrderId,
model.TargetOrderId,
model.CustomerId,
model.CourseConsultantId,
model.OrderIdentify
},
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