Commit e94c7500 authored by 黄奎's avatar 黄奎

新增实体类

parent 37d43a91
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.Sale
{
/// <summary>
/// 销售状态
/// </summary>
public enum SaleStateEnum
{
/// <summary>
/// 待完善
/// </summary>
[EnumField("待完善")]
NoPerfect = 1,
/// <summary>
/// 上架审核中
/// </summary>
[EnumField("上架审核中")]
Audit = 2,
/// <summary>
/// 上架
/// </summary>
[EnumField("上架")]
Sell = 3,
/// <summary>
/// 审核失败
/// </summary>
[EnumField("审核失败")]
Fail = 4,
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Sale;
using System;
using VT.FW.DB;
......@@ -37,69 +38,24 @@ namespace Edu.Model.Entity.StudyAbroad
public string SupplierContract { get; set; }
/// <summary>
/// 佣金利润说明
/// 建议卖价
/// </summary>
public string CommissionProfits { get; set; }
public decimal SuggestPrice { get; set; }
/// <summary>
/// 卖价
/// 实际卖价
/// </summary>
public decimal SellPrice { get; set; }
/// <summary>
/// 直接成本价
/// </summary>
public decimal CostPrice { get; set; }
/// <summary>
/// 成本价包含内容
/// </summary>
public string CostInfo { get; set; }
/// <summary>
/// 同行返佣
/// </summary>
public decimal B2BCommission { get; set; }
/// <summary>
/// 同行返佣类型(0-价格,1-比例)
/// </summary>
public int B2BCommissionType { get; set; }
/// <summary>
/// 销售返佣
/// </summary>
public decimal SaleCommission { get; set; }
/// <summary>
/// 销售返佣类型(0-价格,1-比例)
/// </summary>
public int SaleCommissionType { get; set; }
/// <summary>
/// 校企报价
/// </summary>
public decimal OfferPrice { get; set; }
/// <summary>
/// 校企报价返佣类型(0-价格,1-比例)
/// </summary>
public int OfferCommissionType { get; set; }
/// <summary>
/// 校企返佣金额
/// </summary>
public decimal OfferCommission { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 销售状态(0-待完善,1-上架审核中,2-上架)
/// 销售状态(见枚举)
/// </summary>
public int SaleState { get; set; }
public SaleStateEnum SaleState { get; set; }
/// <summary>
/// 集团编号
......
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.StudyAbroad
{
/// <summary>
/// 留学就业优惠信息实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_StudyaBroad_Preferential
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 留学就业编号
/// </summary>
public int StudyabroadId { get; set; }
/// <summary>
/// 优惠条件
/// </summary>
public string PreferentialTerms { get; set; }
/// <summary>
/// 销售返佣类型(0-百分比,1-固定金额)
/// </summary>
public int SaleCommissionType { get; set; }
/// <summary>
/// 销售返佣
/// </summary>
public decimal SaleCommissionMoney { get; set; }
/// <summary>
/// 同行返佣类型(0-百分比,1-固定金额)
/// </summary>
public int B2BCommissionType { get; set; }
/// <summary>
/// 同行返佣
/// </summary>
public decimal B2BCommissionMoney { get; set; }
/// <summary>
/// 课程价格优惠类型(见枚举)
/// </summary>
public CoursePriceDiscountEnum PriceDiscountType { get; set; }
/// <summary>
/// 购买人数
/// </summary>
public int BuyNum { get; set; }
/// <summary>
/// 赠送人数
/// </summary>
public int SendNum { get; set; }
/// <summary>
/// 优惠价格类型(0-百分比,1-固定金额)
/// </summary>
public int PriceType { get; set; }
/// <summary>
/// 优惠金额
/// </summary>
public decimal PriceMoney { 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>
/// 学校Id
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 状态
/// </summary>
public DateStateEnum Status { get; set; }
}
}
......@@ -26,6 +26,26 @@ namespace Edu.Model.Entity.StudyAbroad
/// </summary>
public string Name { get; set; }
/// <summary>
/// 联系人
/// </summary>
public string LinkMan { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string LinkTel { get; set; }
/// <summary>
/// 地址
/// </summary>
public string LinkAddress { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 集团编号
/// </summary>
......
......@@ -10,6 +10,29 @@ namespace Edu.Model.ViewModel.StudyAbroad
/// </summary>
public class RB_StudyAbroad_ViewModel : RB_StudyAbroad
{
/// <summary>
/// 供应商名称
/// </summary>
public string SupplierName { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateByName { get; set; }
/// <summary>
/// 优惠信息
/// </summary>
public List<RB_StudyaBroad_Preferential_ViewModel> PreferentialList { get; set; }
/// <summary>
/// 是否查询优惠价格
/// </summary>
public int IsQPrice { get; set; }
}
}
using Edu.Model.Entity.StudyAbroad;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.StudyAbroad
{
/// <summary>
/// 留学就业优惠信息视图实体类
/// </summary>
public class RB_StudyaBroad_Preferential_ViewModel: RB_StudyaBroad_Preferential
{
/// <summary>
/// 留学就业编号【查询使用】
/// </summary>
public string QStudyabroadIds { get; set; }
}
}
......@@ -7,5 +7,15 @@ namespace Edu.Model.ViewModel.StudyAbroad
/// </summary>
public class RB_Supplier_ViewModel : RB_Supplier
{
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateByName { get; set; }
}
}
using Edu.Model.ViewModel.StudyAbroad;
using Edu.AOP.CustomerAttribute;
using Edu.Model.ViewModel.StudyAbroad;
using Edu.Repository.StudyAbroad;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB;
......@@ -17,6 +19,11 @@ namespace Edu.Module.StudyAbroad
/// </summary>
private readonly RB_StudyAbroadRepository studyAbroadRepository = new RB_StudyAbroadRepository();
/// <summary>
/// 留学就业优惠信息仓储层对象
/// </summary>
private readonly RB_StudyaBroad_PreferentialRepository studyaBroad_PreferentialRepository = new RB_StudyaBroad_PreferentialRepository();
/// <summary>
/// 获取留学就业分页列表
/// </summary>
......@@ -27,7 +34,24 @@ namespace Edu.Module.StudyAbroad
/// <returns></returns>
public List<RB_StudyAbroad_ViewModel> GetStudyAbroadPageModule(int pageIndex, int pageSize, out long rowsCount, RB_StudyAbroad_ViewModel query)
{
return studyAbroadRepository.GetStudyAbroadPageRepository(pageIndex, pageSize, out rowsCount, query);
var list= studyAbroadRepository.GetStudyAbroadPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
string ids = string.Join(",", list.Select(qitem => qitem.Id));
List<RB_StudyaBroad_Preferential_ViewModel> preferentialList = new List<RB_StudyaBroad_Preferential_ViewModel>();
if (query.IsQPrice == 1)
{
preferentialList= GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel()
{
QStudyabroadIds = ids
});
}
foreach (var item in list)
{
item.PreferentialList = preferentialList?.Where(qitem => qitem.StudyabroadId == item.Id)?.ToList() ?? new List<RB_StudyaBroad_Preferential_ViewModel>();
}
}
return list;
}
/// <summary>
......@@ -37,9 +61,37 @@ namespace Edu.Module.StudyAbroad
/// <returns></returns>
public List<RB_StudyAbroad_ViewModel> GetStudyAbroadListModule(RB_StudyAbroad_ViewModel query)
{
return studyAbroadRepository.GetStudyAbroadListRepository(query);
var list= studyAbroadRepository.GetStudyAbroadListRepository(query);
if (list != null && list.Count > 0)
{
string ids = string.Join(",", list.Select(qitem => qitem.Id));
List<RB_StudyaBroad_Preferential_ViewModel> preferentialList = new List<RB_StudyaBroad_Preferential_ViewModel>();
if (query.IsQPrice == 1)
{
preferentialList = GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel()
{
QStudyabroadIds = ids
});
}
foreach (var item in list)
{
item.PreferentialList = preferentialList?.Where(qitem => qitem.StudyabroadId == item.Id)?.ToList() ?? new List<RB_StudyaBroad_Preferential_ViewModel>();
}
}
return list;
}
/// <summary>
/// 获取留学就业优惠列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_StudyaBroad_Preferential_ViewModel> GetStudyaBroadPreferentialListModule(RB_StudyaBroad_Preferential_ViewModel query)
{
return studyaBroad_PreferentialRepository.GetStudyaBroadPreferentialListRepostory(query);
}
/// <summary>
/// 新增修改留学就业产品
/// </summary>
......@@ -54,6 +106,9 @@ namespace Edu.Module.StudyAbroad
{
{ nameof(RB_StudyAbroad_ViewModel.Type),model.Type},
{ nameof(RB_StudyAbroad_ViewModel.Name),model.Name.Trim()},
{ nameof(RB_StudyAbroad_ViewModel.SupplierId),model.SupplierId},
{ nameof(RB_StudyAbroad_ViewModel.SupplierContract),model.SupplierContract},
{ nameof(RB_StudyAbroad_ViewModel.Remark),model.Remark},
};
flag = studyAbroadRepository.Update(fileds, new WhereHelper(nameof(RB_StudyAbroad_ViewModel.Id), model.Id));
}
......@@ -66,14 +121,84 @@ namespace Edu.Module.StudyAbroad
return flag;
}
/// <summary>
/// 批量新增修改留学就业优惠信息
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
[TransactionCallHandler]
public virtual bool SetStudyAbroadPreferentialListModule(RB_StudyAbroad_ViewModel model, List<RB_StudyaBroad_Preferential_ViewModel> list)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_StudyAbroad_ViewModel.SuggestPrice),model.SuggestPrice },
{nameof(RB_StudyAbroad_ViewModel.SellPrice),model.SellPrice },
};
flag = studyAbroadRepository.Update(fileds, new WhereHelper(nameof(RB_StudyAbroad_ViewModel.Id), model.Id));
}
var oldList = GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel() { StudyabroadId=model.Id });
//原来没有优惠数据
if (oldList == null || (oldList != null && oldList.Count == 0))
{
foreach (var item in list)
{
flag = studyaBroad_PreferentialRepository.Insert(item) > 0;
}
}
//原来有优惠数据
else
{
if (list == null || (list != null && list.Count == 0))
{
flag = studyaBroad_PreferentialRepository.DeleteStudyaBroadPreferentialRepostory(model.Id);
}
else
{
//找出差异的数据
var deleteList = oldList.Where(qitem => !list.Any(oldItem => qitem.Id == oldItem.Id)).ToList();
foreach (var dItem in deleteList)
{
if (dItem.Id > 0)
{
flag = studyaBroad_PreferentialRepository.Delete(dItem.Id) > 0;
}
}
foreach (var priceItem in list)
{
if (priceItem.Id == 0)
{
flag = studyaBroad_PreferentialRepository.Insert(priceItem) > 0;
}
else
{
flag = studyaBroad_PreferentialRepository.Update(priceItem);
}
}
}
}
return flag;
}
/// <summary>
/// 根据编号获取留学就业产品信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_StudyAbroad_ViewModel GetStudyAbroadModule(object Id)
public RB_StudyAbroad_ViewModel GetStudyAbroadModule(object Id,int IsGetPrice=0)
{
return studyAbroadRepository.GetEntity<RB_StudyAbroad_ViewModel>(Id);
var model= studyAbroadRepository.GetEntity<RB_StudyAbroad_ViewModel>(Id);
if (model != null && IsGetPrice == 1)
{
model.PreferentialList = GetStudyaBroadPreferentialListModule(new RB_StudyaBroad_Preferential_ViewModel()
{
StudyabroadId = model.Id
});
}
return model;
}
/// <summary>
......
......@@ -52,6 +52,10 @@ namespace Edu.Module.StudyAbroad
{
{ nameof(RB_Supplier_ViewModel.Type),model.Type},
{ nameof(RB_Supplier_ViewModel.Name),model.Name.Trim()},
{ nameof(RB_Supplier_ViewModel.LinkMan),model.LinkMan},
{ nameof(RB_Supplier_ViewModel.LinkTel),model.LinkTel},
{ nameof(RB_Supplier_ViewModel.LinkAddress),model.LinkAddress},
{ nameof(RB_Supplier_ViewModel.Remark),model.Remark},
};
flag = supplierRepository.Update(fileds, new WhereHelper(nameof(RB_Supplier_ViewModel.Id), model.Id));
}
......
......@@ -28,8 +28,8 @@ namespace Edu.Repository.StudyAbroad
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_StudyAbroad AS A
SELECT A.*,IFNULL(B.`Name`,'') AS SupplierName
FROM RB_StudyAbroad AS A LEFT JOIN rb_supplier AS B ON A.SupplierId=B.Id
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1}", nameof(RB_StudyAbroad_ViewModel.Status), (int)DateStateEnum.Normal);
......
using Edu.Common.Enum;
using Edu.Model.Entity.StudyAbroad;
using Edu.Model.ViewModel.StudyAbroad;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.StudyAbroad
{
/// <summary>
/// 留学就业优惠信息仓储层
/// </summary>
public class RB_StudyaBroad_PreferentialRepository:BaseRepository<RB_StudyaBroad_Preferential>
{
/// <summary>
/// 获取留学就业优惠列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_StudyaBroad_Preferential_ViewModel> GetStudyaBroadPreferentialListRepostory(RB_StudyaBroad_Preferential_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_StudyaBroad_Preferential
WHERE 1=1 ");
builder.AppendFormat(" AND {0}={1} ", nameof(RB_StudyaBroad_Preferential_ViewModel.Status), (int)DateStateEnum.Normal);
if (query == null)
{
return new List<RB_StudyaBroad_Preferential_ViewModel>();
}
else
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_StudyaBroad_Preferential_ViewModel.Group_Id), query.Group_Id);
}
if (query.StudyabroadId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_StudyaBroad_Preferential_ViewModel.StudyabroadId), query.StudyabroadId);
}
if (!string.IsNullOrEmpty(query.QStudyabroadIds))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_StudyaBroad_Preferential_ViewModel.StudyabroadId), query.QStudyabroadIds);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_StudyaBroad_Preferential_ViewModel.Id), query.Id);
}
}
return Get<RB_StudyaBroad_Preferential_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 根据留学就业编号删除优惠信息
/// </summary>
/// <param name="StudyabroadId">留学就业编号</param>
/// <returns></returns>
public bool DeleteStudyaBroadPreferentialRepostory(int StudyabroadId)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(" DELETE FROM RB_StudyaBroad_Preferential WHERE StudyabroadId={0} ", StudyabroadId);
return base.Execute(builder.ToString()) > 0;
}
}
}
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