Commit fe140dc2 authored by liudong1993's avatar liudong1993

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

parents 14fd1237 6cc0ea04
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Sale;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Sell
{
/// <summary>
/// 订单实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Order_Course
{
/// <summary>
/// 主键
/// </summary>
public int OrderIdCourse { get; set; }
/// <summary>
/// 订单编号
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 班级id
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 单价
/// </summary>
public decimal Class_Price { get; set; }
/// <summary>
/// 成交单价
/// </summary>
public decimal Unit_Price { get; set; }
/// <summary>
/// 教材费 2024-08-26 add by:w
/// </summary>
public decimal TextbookFee { get; set; }
/// <summary>
/// 课件费 2024-08-26 add by:w
/// </summary>
public decimal CoursewareFee { get; set; }
/// <summary>
/// 价格类型,1-基础价格,2-课时价格 2024-08-26 add by:w
/// </summary>
public int SellPriceType { get; set; }
/// <summary>
/// 总课时 2024-08-26 add by:W
/// </summary>
public decimal TotalClassHours { get; set; }
/// <summary>
/// 客人数量
/// </summary>
public int GuestNum { get; set; }
/// <summary>
/// 应收总额
/// </summary>
public decimal PreferPrice { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { 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>
/// 来源编号(OrderType=1,SourceId=0),(OrderType=2,SourceId=留学就业产品对应编号)
/// </summary>
public int SourceId { get; set; }
/// <summary>
/// 协助人员编号(协助老师编号)(RB_Account表Id字段)
/// </summary>
public int HelpEnterId { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 转介首次报名返佣比例
/// </summary>
public decimal TransIntroductceRatio { get; set; }
/// <summary>
/// 转介续费返佣比例
/// </summary>
public decimal TransIntroductceReNewRatio { get; set; }
/// <summary>
/// 內推首次报名返佣比例
/// </summary>
public decimal InnerRecommendRatio { get; set; }
/// <summary>
/// 內推续费返佣比例
/// </summary>
public decimal InnerRecommendReNewRatio { get; set; }
/// <summary>
/// 返佣类型(1比例返佣,2-固定金额返佣)
/// </summary>
public int CommissionReType { get; set; }
/// <summary>
/// 滚动开班所属校区
/// </summary>
public int ScrollSchoolId { get; set; }
/// <summary>
/// 留学订单返佣金额
/// </summary>
public decimal StudyBroadRebateMoney { get; set; }
}
}
......@@ -823,6 +823,156 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
}
/// <summary>
/// 新增订单 (批量) 2024-09-02 add by:W
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetNewClassOrderBatch()
{
var userInfo = base.UserInfo;
var OrderListStr = base.ParmJObj.GetStringValue("OrderList");
if (string.IsNullOrEmpty(OrderListStr))
{
return ApiResult.ParamIsNull("请传递表单数据");
}
List<object> OrderObjList = JsonHelper.DeserializeObject<List<object>>(OrderListStr);
List<RB_Order_ViewModel> deList = new List<RB_Order_ViewModel>();
foreach (var item in OrderObjList)
{
JObject parms = JObject.Parse(item.ToString());
RB_Order_ViewModel demodel = new RB_Order_ViewModel()
{
OrderId = parms.GetInt("OrderId"),
ClassId = parms.GetInt("ClassId"),
GuestNum = parms.GetInt("GuestNum"),
OrderSource = (OrderSourceEnum)parms.GetInt("OrderSource"),
OrderType = (OrderTypeEnum)parms.GetInt("OrderType"),
PreferPrice = parms.GetDecimal("PreferPrice"),
SaleRemark = parms.GetStringValue("SaleRemark"),
SourceId = parms.GetInt("SourceId"),
Unit_Price = parms.GetDecimal("Unit_Price"),
HelpEnterId = parms.GetInt("HelpEnterId"),
GeneralOccupation = parms.GetStringValue("GeneralOccupation"),
EduOccupation = parms.GetStringValue("EduOccupation"),
OrderNature = (OrderNatureEnum)parms.GetInt("OrderNature"),
OldPreferPrice = parms.GetDecimal("OldPreferPrice"),
CourseId = parms.GetInt("CourseId"),
StartClassHours = parms.GetInt("StartClassHours"),
EffectTime = parms.GetDateTime("EffectTime"),
UpOrderId = parms.GetInt("UpOrderId"),
VisitorReserveId = parms.GetInt("VisitorReserveId"),
JoinType = OrderJoinTypeEnum.Normal,
TargetJoinType = OrderJoinTypeEnum.Normal,
DiscountMoney = parms.GetDecimal("DiscountMoney"),
PerDiscountMoney = parms.GetDecimal("PerDiscountMoney"),
IsLessPrice = parms.GetInt("IsLessPrice"),
LessPrice = parms.GetDecimal("LessPrice"),
PerLessMoney = parms.GetDecimal("PerLessMoney"),
CustomerId = parms.GetInt("CustomerId"),
StuIds = parms.GetStringValue("StuIds"),
OrderIdentify = parms.GetInt("OrderIdentify"),
CourseConsultantId = parms.GetInt("CourseConsultantId"),
EnterID = parms.GetInt("EnterId"),
ScrollSchoolId = parms.GetInt("ScrollSchoolId"),
SellPriceType = parms.GetInt("Unit_PriceType", 1),
TotalClassHours = parms.GetInt("TotalClassHours"),
TextbookFee = parms.GetDecimal("TextbookFee"),
CoursewareFee = parms.GetDecimal("CoursewareFee"),
};
var IsInsertClass = parms.GetInt("IsChaBan");
if (IsInsertClass == 1)
{
demodel.JoinType = OrderJoinTypeEnum.InsertClass;
}
if (demodel.OrderType == OrderTypeEnum.CourseOrder && demodel.ClassId <= 0)
{
return ApiResult.ParamIsNull("请传递班级id");
}
if (demodel.GuestNum <= 0)
{
return ApiResult.ParamIsNull("请传递报名人数");
}
if (demodel.Unit_Price <= 0)
{
return ApiResult.ParamIsNull("成交单价不能小于0");
}
if (demodel.OrderSource <= 0)
{
return ApiResult.ParamIsNull("请选择客人来源");
}
if (demodel.OrderIdentify == 2 && string.IsNullOrEmpty(demodel.StuIds) && demodel.OrderId == 0)
{
return ApiResult.ParamIsNull("请传递选择客户");
}
if (demodel.OrderIdentify == 2 && !string.IsNullOrEmpty(demodel.StuIds))
{
//验证学生是否已有其他订单
var vlist = orderModule.ValidataStuOrder(demodel.StuIds, userInfo.Group_Id);
if (vlist.Any())
{
var vmodel = vlist.FirstOrDefault();
return ApiResult.Tip("学员" + vmodel.GuestName + "存在有效未付款订单" + vmodel.OrderId + ",请取消该订单后再试", vmodel.OrderId);
}
}
if (!string.IsNullOrEmpty(demodel.StuIds))
{
int gNum = JsonHelper.DeserializeObject<List<int>>("[" + demodel.StuIds + "]").Count();
if (demodel.GuestNum != gNum)
{
return ApiResult.ParamIsNull("客人数量不正确");
}
}
demodel.Group_Id = userInfo.Group_Id;
demodel.School_Id = userInfo.School_Id;
demodel.Dept_Id = userInfo.DeptId;
demodel.OrderForm = OrderFormEnum.Computer;
if (demodel.OrderType == OrderTypeEnum.CourseOrder && demodel.OrderIdentify != 2)
{
demodel.EnterID = userInfo.Id; //由前端传递了, 可能会不存在 (此字段为市场人员)
}
demodel.OrderState = OrderStateEnum.Normal;
demodel.TradeWay = TradeWayEnum.OnLine;
demodel.CreateBy = userInfo.Id;
demodel.CreateTime = DateTime.Now;
demodel.UpdateBy = userInfo.Id;
demodel.UpdateTime = DateTime.Now;
if (demodel.OrderType == OrderTypeEnum.CourseOrder)
{
if (demodel.JoinType == OrderJoinTypeEnum.Normal)
{
demodel.StartClassHours = 0;
}
else if (demodel.JoinType == OrderJoinTypeEnum.InsertClass)
{
if (demodel.CourseId <= 0)
{
return ApiResult.ParamIsNull(message: "请选择插班课程!");
}
}
}
else
{
return ApiResult.Failed("只能课程订单批量操作");
}
deList.Add(demodel);
}
if (!deList.Any())
{
return ApiResult.Failed("请传递订单信息");
}
var flag = orderModule.SetClassOrderModuleBatch(deList, userInfo, base.CheckUserActionAuth("Edit_Order"), out string message);
return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
}
/// <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