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

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

parents 1a92329a 3dcefd72
......@@ -5,102 +5,108 @@ using VT.FW.DB;
namespace Edu.Model.Entity.Customer
{
/// <summary>
/// 同业提现实体类
/// </summary>
[Serializable]
/// <summary>
/// 同业提现实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Customer_Remit
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 同业id
/// </summary>
public int CustomerId { get; set; }
/// <summary>
/// 类型 1佣金 2幸福存折
/// </summary>
public int Type { get; set; }
/// <summary>
/// 申请金额
/// </summary>
public decimal AppliedMoney { get; set; }
/// <summary>
/// 打款金额
/// </summary>
public decimal RemitMoney { get; set; }
/// <summary>
/// 审核状态 1申请中 2同意申请,待打款 3已打款 4拒绝
/// </summary>
public int AuditStatus { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public DateTime? AuditDate { get; set; }
/// <summary>
/// 打款时间
/// </summary>
public DateTime? RemitDate { get; set; }
/// <summary>
/// 驳回时间
/// </summary>
public DateTime? RejectDate { get; set; }
/// <summary>
/// 审核备注
/// </summary>
public string AuditRemark { get; set; }
/// <summary>
/// 打款备注
/// </summary>
public string RemitRemark { get; set; }
/// <summary>
/// 拒绝备注
/// </summary>
public string RejectRemark { get; set; }
/// <summary>
/// 集团ID
/// </summary>
public int GroupId { get; set; }
/// <summary>
/// CreateDate
/// </summary>
public DateTime CreateDate { get; set; }
/// <summary>
/// 提款账户Id
/// </summary>
public int BankAccountId { get; set; }
/// <summary>
/// 财务单据id
/// </summary>
public int FinanceId { get; set; }
/// <summary>
/// 关联的订单id
/// </summary>
public string ReOrderIds { get; set; }
/// <summary>
/// 幸福存折年份
/// </summary>
public int Year { get; set; }
}
public class RB_Customer_Remit
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 同业id
/// </summary>
public int CustomerId { get; set; }
/// <summary>
/// 类型 1佣金 2幸福存折
/// </summary>
public int Type { get; set; }
/// <summary>
/// 申请金额
/// </summary>
public decimal AppliedMoney { get; set; }
/// <summary>
/// 打款金额
/// </summary>
public decimal RemitMoney { get; set; }
/// <summary>
/// 审核状态 1申请中 2同意申请,待打款 3已打款 4拒绝
/// </summary>
public int AuditStatus { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public DateTime? AuditDate { get; set; }
/// <summary>
/// 打款时间
/// </summary>
public DateTime? RemitDate { get; set; }
/// <summary>
/// 驳回时间
/// </summary>
public DateTime? RejectDate { get; set; }
/// <summary>
/// 审核备注
/// </summary>
public string AuditRemark { get; set; }
/// <summary>
/// 打款备注
/// </summary>
public string RemitRemark { get; set; }
/// <summary>
/// 拒绝备注
/// </summary>
public string RejectRemark { get; set; }
/// <summary>
/// 集团ID
/// </summary>
public int GroupId { get; set; }
/// <summary>
/// CreateDate
/// </summary>
public DateTime CreateDate { get; set; }
/// <summary>
/// 提款账户Id
/// </summary>
public int BankAccountId { get; set; }
/// <summary>
/// 财务单据id
/// </summary>
public int FinanceId { get; set; }
/// <summary>
/// 关联的订单id
/// </summary>
public string ReOrderIds { get; set; }
/// <summary>
/// 幸福存折年份
/// </summary>
public int Year { get; set; }
/// <summary>
/// 用户类型 0-客户,1-内部员工
/// </summary>
public int UserType { get; set; }
}
}
......@@ -79,5 +79,10 @@ namespace Edu.Model.ViewModel.Sell
/// 同行编号
/// </summary>
public int CategoryId { get; set; }
/// <summary>
/// 员工id
/// </summary>
public int EnterID { get; set; }
}
}
......@@ -96,7 +96,7 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_FinanceRepository financeRepository = new RB_FinanceRepository();
private readonly RB_Customer_RemitRepository customer_RemitRepository = new RB_Customer_RemitRepository();
#region 首页返佣
/// <summary>
/// 获取首页返佣同级
......@@ -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 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());
......@@ -169,12 +169,13 @@ namespace Edu.Module.Course
clist = customerRepository.GetCustomerListRepository(new RB_Customer_Extend() { Group_Id = dmodel.GroupId, CustomerIds = customerIds });
}
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 });
}
foreach (var item in list)
{
{
item.SchoolName = slist.Where(x => x.SId == item.SchoolId).FirstOrDefault()?.SName ?? "";
if (item.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.EmployeeInput || item.OrderSourceType == Common.Enum.User.StuCreateTypeEnum.InternalIntroduction)
{
......@@ -270,7 +271,7 @@ namespace Edu.Module.Course
/// <param name="commissionType"></param>
/// <param name="userInfo"></param>
/// <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);
return new
......@@ -290,7 +291,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="CustomerId"></param>
/// <returns></returns>
public bool UdateReturnMoneyModule(object FinanceIds,int Id)
public bool UdateReturnMoneyModule(object FinanceIds, int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
......@@ -300,5 +301,61 @@ namespace Edu.Module.Course
return flag;
}
#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;
namespace Edu.Repository.Sell
{
public class RB_Order_ReturnComissionRepository:BaseRepository<RB_Order_ReturnComission>
public class RB_Order_ReturnComissionRepository : BaseRepository<RB_Order_ReturnComission>
{
/// <summary>
/// 员工处理类对象
......@@ -36,7 +36,7 @@ namespace Edu.Repository.Sell
/// <param name="orderid"></param>
/// <param name="stuid"></param>
/// <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";
......@@ -53,7 +53,7 @@ namespace Edu.Repository.Sell
/// <param name="groupId"></param>
/// <param name="type"></param>
/// <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";
......@@ -70,7 +70,7 @@ namespace Edu.Repository.Sell
/// <param name="batchId"></param>
/// <param name="ids"></param>
/// <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})";
......@@ -311,14 +311,14 @@ WHERE 1=1
{
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))
{
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)
{
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
List<RB_Student_ViewModel> stuList = new List<RB_Student_ViewModel>();
if (!string.IsNullOrEmpty(employeeIds))
{
empList= accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = employeeIds });
empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = employeeIds });
}
if (!string.IsNullOrEmpty(customerIds))
{
customerList= customerRepository.GetCustomerListRepository(new RB_Customer_Extend()
customerList = customerRepository.GetCustomerListRepository(new RB_Customer_Extend()
{
CustomerIds = customerIds
});
}
if (!string.IsNullOrEmpty(stuIds))
{
stuList= studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
stuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
{
StuIds = stuIds
});
......@@ -379,5 +379,71 @@ WHERE 1=1
}
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;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.Finance;
using Edu.Model.ViewModel.Log;
using Edu.Model.ViewModel.Sell;
......@@ -33,7 +34,10 @@ namespace Edu.WebApi.Controllers.Course
/// 财务配置
/// </summary>
private readonly EducationContractModule educationContractModule = new EducationContractModule();
/// <summary>
/// 提现
/// </summary>
private readonly Module.Customer.CustomerRemitModule customerRemitModule = new Module.Customer.CustomerRemitModule();
#region 获取首页返佣
/// <summary>
......@@ -41,7 +45,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCenterCommissionStatistics() {
public ApiResult GetCenterCommissionStatistics()
{
var userInfo = base.UserInfo;
var Robj = customerCommissionModule.GetCenterCommissionStatistics(userInfo);
......@@ -73,7 +78,12 @@ namespace Edu.WebApi.Controllers.Course
x.CreateBy,
CreateByName = UserReidsCache.GetUserLoginInfo(x.CreateBy)?.AccountName ?? "",
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);
......@@ -212,7 +222,7 @@ namespace Edu.WebApi.Controllers.Course
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: item.SchoolName){ },
new ExcelColumn(value: item.SchoolName){ },
new ExcelColumn(value: item.OrderSourceType.ToName()){ },
new ExcelColumn(value: item.UserName){ },
new ExcelColumn(value: item.ClassNo){ },
......@@ -242,7 +252,7 @@ namespace Edu.WebApi.Controllers.Course
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: TotalMoney.ToString("#0.00")){ },
new ExcelColumn(value: TotalMoney.ToString("#0.00")){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
......@@ -272,14 +282,15 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCustomerCommissionStat() {
public ApiResult GetCustomerCommissionStat()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(base.RequestParm.Msg.ToString());
int OrderSourceType = parms.GetInt("OrderSourceType", 1);//来源
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);//类型
if (OrderSourceType <= 0 || (OrderSourceId <= 0&& CategoryId<=0) || CommissionType <= 0)
if (OrderSourceType <= 0 || (OrderSourceId <= 0 && CategoryId <= 0) || CommissionType <= 0)
{
return ApiResult.ParamIsNull();
}
......@@ -424,5 +435,43 @@ namespace Edu.WebApi.Controllers.Course
}
#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