Commit 2bb35f89 authored by 黄奎's avatar 黄奎

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

parents 1a92329a 3dcefd72
...@@ -102,5 +102,11 @@ namespace Edu.Model.Entity.Customer ...@@ -102,5 +102,11 @@ namespace Edu.Model.Entity.Customer
/// </summary> /// </summary>
public int Year { get; set; } public int Year { get; set; }
/// <summary>
/// 用户类型 0-客户,1-内部员工
/// </summary>
public int UserType { get; set; }
} }
} }
...@@ -79,5 +79,10 @@ namespace Edu.Model.ViewModel.Sell ...@@ -79,5 +79,10 @@ namespace Edu.Model.ViewModel.Sell
/// 同行编号 /// 同行编号
/// </summary> /// </summary>
public int CategoryId { get; set; } public int CategoryId { get; set; }
/// <summary>
/// 员工id
/// </summary>
public int EnterID { get; set; }
} }
} }
...@@ -96,7 +96,7 @@ namespace Edu.Module.Course ...@@ -96,7 +96,7 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_FinanceRepository financeRepository = new RB_FinanceRepository(); private readonly RB_FinanceRepository financeRepository = new RB_FinanceRepository();
private readonly RB_Customer_RemitRepository customer_RemitRepository = new RB_Customer_RemitRepository();
#region 首页返佣 #region 首页返佣
/// <summary> /// <summary>
/// 获取首页返佣同级 /// 获取首页返佣同级
...@@ -153,7 +153,7 @@ namespace Edu.Module.Course ...@@ -153,7 +153,7 @@ namespace Edu.Module.Course
{ {
//分成三个部门 内部人员 同行 学员 //分成三个部门 内部人员 同行 学员
//查询用户 部门 校区 //查询用户 部门 校区
string userIds = string.Join(",", list.Where(x=>x.OrderSourceType== Common.Enum.User.StuCreateTypeEnum.EmployeeInput || x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.InternalIntroduction).Select(x => x.OrderSourceId).Distinct()); string userIds = string.Join(",", list.Where(x => x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.EmployeeInput || x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.InternalIntroduction).Select(x => x.OrderSourceId).Distinct());
string customerIds = string.Join(",", list.Where(x => x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.CustomerInput).Select(x => x.OrderSourceId).Distinct()); string customerIds = string.Join(",", list.Where(x => x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.CustomerInput).Select(x => x.OrderSourceId).Distinct());
string stuIds = string.Join(",", list.Where(x => x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.TransIntroduction).Select(x => x.OrderSourceId).Distinct()); string stuIds = string.Join(",", list.Where(x => x.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.TransIntroduction).Select(x => x.OrderSourceId).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.SchoolId).Distinct()); string schoolIds = string.Join(",", list.Select(x => x.SchoolId).Distinct());
...@@ -169,7 +169,8 @@ namespace Edu.Module.Course ...@@ -169,7 +169,8 @@ namespace Edu.Module.Course
clist = customerRepository.GetCustomerListRepository(new RB_Customer_Extend() { Group_Id = dmodel.GroupId, CustomerIds = customerIds }); clist = customerRepository.GetCustomerListRepository(new RB_Customer_Extend() { Group_Id = dmodel.GroupId, CustomerIds = customerIds });
} }
List<RB_Student_ViewModel> stulist = new List<RB_Student_ViewModel>(); List<RB_Student_ViewModel> stulist = new List<RB_Student_ViewModel>();
if (!string.IsNullOrEmpty(stuIds)) { if (!string.IsNullOrEmpty(stuIds))
{
stulist = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { Group_Id = dmodel.GroupId, StuIds = stuIds }); stulist = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { Group_Id = dmodel.GroupId, StuIds = stuIds });
} }
...@@ -270,7 +271,7 @@ namespace Edu.Module.Course ...@@ -270,7 +271,7 @@ namespace Edu.Module.Course
/// <param name="commissionType"></param> /// <param name="commissionType"></param>
/// <param name="userInfo"></param> /// <param name="userInfo"></param>
/// <returns></returns> /// <returns></returns>
public object GetCustomerCommissionStat(int orderSourceType, int orderSourceId,int CategoryId, int commissionType, UserInfo userInfo) public object GetCustomerCommissionStat(int orderSourceType, int orderSourceId, int CategoryId, int commissionType, UserInfo userInfo)
{ {
var model = user_ReturnComissionRepository.GetCustomerCommissionStat(userInfo.Group_Id, orderSourceType, orderSourceId, CategoryId, commissionType); var model = user_ReturnComissionRepository.GetCustomerCommissionStat(userInfo.Group_Id, orderSourceType, orderSourceId, CategoryId, commissionType);
return new return new
...@@ -290,7 +291,7 @@ namespace Edu.Module.Course ...@@ -290,7 +291,7 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
/// <param name="CustomerId"></param> /// <param name="CustomerId"></param>
/// <returns></returns> /// <returns></returns>
public bool UdateReturnMoneyModule(object FinanceIds,int Id) public bool UdateReturnMoneyModule(object FinanceIds, int Id)
{ {
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
{ {
...@@ -300,5 +301,61 @@ namespace Edu.Module.Course ...@@ -300,5 +301,61 @@ namespace Edu.Module.Course
return flag; return flag;
} }
#endregion #endregion
#region 员工提现申请获取提现金额校验
/// <summary>
/// 获取首页返佣同级
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public RB_User_ReturnComission_ViewModel GetWithdrawal(UserInfo userInfo)
{
var model = user_ReturnComissionRepository.GetCenterCommissionStatistics(userInfo.Group_Id, userInfo.Id);
return model;
}
/// <summary>
/// 获取用户返佣列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Order_ReturnComission_ViewModel> GetCommissionEnterList(RB_Order_ReturnComission_ViewModel demodel)
{
return order_ReturnComissionRepository.GetCommissionEnterList(demodel);
}
/// <summary>
/// 获取首页返佣同级
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool SetWithdrawalInfo(RB_Customer_Remit_Extend model, decimal afterRemit)
{
bool flag = false;
//更新提现表数据
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_User_ReturnComission_ViewModel.CanCashOutMoney),0 },
{nameof(RB_User_ReturnComission_ViewModel.CashOutMoney),afterRemit},
};
flag = user_ReturnComissionRepository.Update(fileds, new WhereHelper(nameof(RB_User_ReturnComission_ViewModel.Id), model.CustomerId));
//新增提现申请
if (flag)
{
flag = customer_RemitRepository.Insert(model);
if (flag)
{
}
}
return flag;
}
#endregion
} }
} }
...@@ -13,7 +13,7 @@ using VT.FW.DB.Dapper; ...@@ -13,7 +13,7 @@ using VT.FW.DB.Dapper;
namespace Edu.Repository.Sell namespace Edu.Repository.Sell
{ {
public class RB_Order_ReturnComissionRepository:BaseRepository<RB_Order_ReturnComission> public class RB_Order_ReturnComissionRepository : BaseRepository<RB_Order_ReturnComission>
{ {
/// <summary> /// <summary>
/// 员工处理类对象 /// 员工处理类对象
...@@ -36,7 +36,7 @@ namespace Edu.Repository.Sell ...@@ -36,7 +36,7 @@ namespace Edu.Repository.Sell
/// <param name="orderid"></param> /// <param name="orderid"></param>
/// <param name="stuid"></param> /// <param name="stuid"></param>
/// <returns></returns> /// <returns></returns>
public RB_Order_ReturnComission_ViewModel GetModelByOrderIdStuId(int orderid,int stuid) public RB_Order_ReturnComission_ViewModel GetModelByOrderIdStuId(int orderid, int stuid)
{ {
var sql = "select * from RB_Order_ReturnComission where OrderId=@oid and StuId=@sid"; var sql = "select * from RB_Order_ReturnComission where OrderId=@oid and StuId=@sid";
...@@ -53,7 +53,7 @@ namespace Edu.Repository.Sell ...@@ -53,7 +53,7 @@ namespace Edu.Repository.Sell
/// <param name="groupId"></param> /// <param name="groupId"></param>
/// <param name="type"></param> /// <param name="type"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Order_ReturnComission_ViewModel> GetListBySetBatch(int groupId,int type) public List<RB_Order_ReturnComission_ViewModel> GetListBySetBatch(int groupId, int type)
{ {
var sql = "select a.* from rb_order_returncomission a left join rb_student_orderguest b on a.OrderId=b.OrderId and a.StuId=b.Student_Id left join rb_order_guest c on b.GuestId=c.Id where (c.CompleteHours/c.TotalHours)>=(a.CommissionReValue/100) and a.`Status`=0 and c.CreateTime<date_add(curdate(),interval -day(curdate())+1 day) and a.GroupId=@gid and a.CommissionType=@type"; var sql = "select a.* from rb_order_returncomission a left join rb_student_orderguest b on a.OrderId=b.OrderId and a.StuId=b.Student_Id left join rb_order_guest c on b.GuestId=c.Id where (c.CompleteHours/c.TotalHours)>=(a.CommissionReValue/100) and a.`Status`=0 and c.CreateTime<date_add(curdate(),interval -day(curdate())+1 day) and a.GroupId=@gid and a.CommissionType=@type";
...@@ -70,7 +70,7 @@ namespace Edu.Repository.Sell ...@@ -70,7 +70,7 @@ namespace Edu.Repository.Sell
/// <param name="batchId"></param> /// <param name="batchId"></param>
/// <param name="ids"></param> /// <param name="ids"></param>
/// <returns></returns> /// <returns></returns>
public bool UpdateModelByBatch(int batchId,string ids) public bool UpdateModelByBatch(int batchId, string ids)
{ {
var sql = $"update rb_order_returncomission set Status=1,BatchId={batchId} where Id in({ids})"; var sql = $"update rb_order_returncomission set Status=1,BatchId={batchId} where Id in({ids})";
...@@ -311,14 +311,14 @@ WHERE 1=1 ...@@ -311,14 +311,14 @@ WHERE 1=1
{ {
if (query.OrderId > 0) if (query.OrderId > 0)
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Order_ReturnComission_ViewModel.OrderId),query.OrderId); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Order_ReturnComission_ViewModel.OrderId), query.OrderId);
} }
if (!string.IsNullOrEmpty(query.QOrderIds)) if (!string.IsNullOrEmpty(query.QOrderIds))
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Order_ReturnComission_ViewModel.OrderId), query.QOrderIds); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Order_ReturnComission_ViewModel.OrderId), query.QOrderIds);
} }
} }
var list= Get<RB_Order_ReturnComission_ViewModel>(builder.ToString()).ToList(); var list = Get<RB_Order_ReturnComission_ViewModel>(builder.ToString()).ToList();
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
var employeeIds = string.Join(",", list.Where(qitem => qitem.OrderSourceType == StuCreateTypeEnum.EmployeeInput || qitem.OrderSourceType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.OrderSourceId)); var employeeIds = string.Join(",", list.Where(qitem => qitem.OrderSourceType == StuCreateTypeEnum.EmployeeInput || qitem.OrderSourceType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.OrderSourceId));
...@@ -329,18 +329,18 @@ WHERE 1=1 ...@@ -329,18 +329,18 @@ WHERE 1=1
List<RB_Student_ViewModel> stuList = new List<RB_Student_ViewModel>(); List<RB_Student_ViewModel> stuList = new List<RB_Student_ViewModel>();
if (!string.IsNullOrEmpty(employeeIds)) if (!string.IsNullOrEmpty(employeeIds))
{ {
empList= accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = employeeIds }); empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = employeeIds });
} }
if (!string.IsNullOrEmpty(customerIds)) if (!string.IsNullOrEmpty(customerIds))
{ {
customerList= customerRepository.GetCustomerListRepository(new RB_Customer_Extend() customerList = customerRepository.GetCustomerListRepository(new RB_Customer_Extend()
{ {
CustomerIds = customerIds CustomerIds = customerIds
}); });
} }
if (!string.IsNullOrEmpty(stuIds)) if (!string.IsNullOrEmpty(stuIds))
{ {
stuList= studentRepository.GetStudentListRepository(new RB_Student_ViewModel() stuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
{ {
StuIds = stuIds StuIds = stuIds
}); });
...@@ -379,5 +379,71 @@ WHERE 1=1 ...@@ -379,5 +379,71 @@ WHERE 1=1
} }
return list; return list;
} }
/// <summary>
/// 获取用户返佣列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Order_ReturnComission_ViewModel> GetCommissionEnterList(RB_Order_ReturnComission_ViewModel demodel)
{
string where = $@" 1=1";
if (demodel.GroupId > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.GroupId)} ={demodel.GroupId}";
}
if (demodel.SchoolId >= 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.SchoolId)} ={demodel.SchoolId}";
}
if (demodel.BatchId > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.BatchId)} ={demodel.BatchId}";
}
if (demodel.CommissionType > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.CommissionType)} ={demodel.CommissionType}";
}
if (demodel.EnterID > 0)
{
where += $@" and b.EnterID ={demodel.EnterID}";
}
if (demodel.Status > -2)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.Status)} ={demodel.Status}";
}
if (demodel.OrderId > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.UnionCashOutId > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.UnionCashOutId)} ={demodel.UnionCashOutId}";
}
if (demodel.OrderSourceType > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.OrderSourceType)} ={(int)demodel.OrderSourceType}";
}
if (demodel.OrderSourceId > 0)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.OrderSourceId)} ={demodel.OrderSourceId}";
}
if (demodel.Q_SelectNormal == 1)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.Status)} in(0,1,2)";
}
else if (demodel.Q_SelectNormal == 2)
{
where += $@" and r.{nameof(RB_Order_ReturnComission_ViewModel.Status)} in(1,2)";
}
string sql = $@" SELECT r.* from rb_order_returncomission as r LEFT JOIN rb_order as b on r.OrderId=b.OrderId where {where} ";
return Get<RB_Order_ReturnComission_ViewModel>(sql).ToList();
}
} }
} }
...@@ -7,6 +7,7 @@ using Edu.Common.API; ...@@ -7,6 +7,7 @@ using Edu.Common.API;
using Edu.Common.Enum.Course; using Edu.Common.Enum.Course;
using Edu.Common.Plugin; using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.Finance; using Edu.Model.ViewModel.Finance;
using Edu.Model.ViewModel.Log; using Edu.Model.ViewModel.Log;
using Edu.Model.ViewModel.Sell; using Edu.Model.ViewModel.Sell;
...@@ -33,7 +34,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -33,7 +34,10 @@ namespace Edu.WebApi.Controllers.Course
/// 财务配置 /// 财务配置
/// </summary> /// </summary>
private readonly EducationContractModule educationContractModule = new EducationContractModule(); private readonly EducationContractModule educationContractModule = new EducationContractModule();
/// <summary>
/// 提现
/// </summary>
private readonly Module.Customer.CustomerRemitModule customerRemitModule = new Module.Customer.CustomerRemitModule();
#region 获取首页返佣 #region 获取首页返佣
/// <summary> /// <summary>
...@@ -41,7 +45,8 @@ namespace Edu.WebApi.Controllers.Course ...@@ -41,7 +45,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetCenterCommissionStatistics() { public ApiResult GetCenterCommissionStatistics()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
var Robj = customerCommissionModule.GetCenterCommissionStatistics(userInfo); var Robj = customerCommissionModule.GetCenterCommissionStatistics(userInfo);
...@@ -73,7 +78,12 @@ namespace Edu.WebApi.Controllers.Course ...@@ -73,7 +78,12 @@ namespace Edu.WebApi.Controllers.Course
x.CreateBy, x.CreateBy,
CreateByName = UserReidsCache.GetUserLoginInfo(x.CreateBy)?.AccountName ?? "", CreateByName = UserReidsCache.GetUserLoginInfo(x.CreateBy)?.AccountName ?? "",
CreateDate = x.CreateDate.ToString("yyyy-MM-dd"), CreateDate = x.CreateDate.ToString("yyyy-MM-dd"),
x.CommissionType x.CommissionType,
x.TotalCustomer,
x.TotalEmployee,
x.TotalInternal,
x.TotalTrans,
x.FinanceIds
}); });
return ApiResult.Success("", pageModel); return ApiResult.Success("", pageModel);
...@@ -272,14 +282,15 @@ namespace Edu.WebApi.Controllers.Course ...@@ -272,14 +282,15 @@ namespace Edu.WebApi.Controllers.Course
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetCustomerCommissionStat() { public ApiResult GetCustomerCommissionStat()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(base.RequestParm.Msg.ToString()); JObject parms = JObject.Parse(base.RequestParm.Msg.ToString());
int OrderSourceType = parms.GetInt("OrderSourceType", 1);//来源 int OrderSourceType = parms.GetInt("OrderSourceType", 1);//来源
int OrderSourceId = parms.GetInt("OrderSourceId", 0);//来源对应ID (内部 同行联系人 学生) int OrderSourceId = parms.GetInt("OrderSourceId", 0);//来源对应ID (内部 同行联系人 学生)
int CategoryId = parms.GetInt("CategoryId",0);//同行编号 int CategoryId = parms.GetInt("CategoryId", 0);//同行编号
int CommissionType = parms.GetInt("CommissionType", 0);//类型 int CommissionType = parms.GetInt("CommissionType", 0);//类型
if (OrderSourceType <= 0 || (OrderSourceId <= 0&& CategoryId<=0) || CommissionType <= 0) if (OrderSourceType <= 0 || (OrderSourceId <= 0 && CategoryId <= 0) || CommissionType <= 0)
{ {
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -424,5 +435,43 @@ namespace Edu.WebApi.Controllers.Course ...@@ -424,5 +435,43 @@ namespace Edu.WebApi.Controllers.Course
} }
#endregion #endregion
#region 员工申请提现
public ApiResult SetWithdrawal()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(base.RequestParm.Msg.ToString());
RB_Customer_Remit_Extend dmodel = JsonHelper.DeserializeObject<RB_Customer_Remit_Extend>(RequestParm.Msg.ToString());
if (dmodel.BankAccountId == 0)
{
return ApiResult.Failed("请选择提现账户");
}
dmodel.CustomerId = userInfo.Id;
dmodel.Type = 1;
var model = customerCommissionModule.GetWithdrawal(userInfo);
if (model == null || model.CanCashOutMoney <= 0)
{
return ApiResult.Failed("暂无提现金额");
}
decimal afterRemit = model.CashOutMoney + model.CanCashOutMoney;
dmodel.AppliedMoney = model.CanCashOutMoney;
dmodel.AuditStatus = 1;
dmodel.GroupId = userInfo.Group_Id;
dmodel.CreateDate = System.DateTime.Now;
dmodel.UserType = 1;
var restlt = customerCommissionModule.SetWithdrawalInfo(dmodel, afterRemit);
return ApiResult.Success("提现申请成功");
}
#endregion
} }
} }
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