Commit 4f5fec1f authored by liudong1993's avatar liudong1993

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

parents 67b330b6 832de4f2
......@@ -40,10 +40,17 @@ namespace Edu.Common.Enum.Course
/// </summary>
[EnumField("工作")]
Work = 6,
/// <summary>
/// 移民
/// </summary>
[EnumField("移民")]
Immigrant = 7,
/// <summary>
/// 考级
/// </summary>
[EnumField("考级")]
ExamGrade = 8,
}
}
......@@ -51,5 +51,11 @@ namespace Edu.Common.Enum.User
/// </summary>
[EnumField("其他")]
Other = 7,
/// <summary>
/// 校园推广
/// </summary>
[EnumField("校园推广")]
SchoolPromote = 8,
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Bonus
{
/// <summary>
/// 员工人头奖励实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Personnel_Bonus
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型(1-市场人员,2-课程顾问)
/// </summary>
public int RewardType { get; set; }
/// <summary>
/// 年份
/// </summary>
public int YearNum { get; set; }
/// <summary>
/// 月份编号
/// </summary>
public int MonthNum { get; set; }
/// <summary>
/// 员工编号
/// </summary>
public int EmployeeId { get; set; }
/// <summary>
/// 当月订单人数
/// </summary>
public int CurGuestNum { get; set; }
/// <summary>
/// 当月奖励金额
/// </summary>
public decimal CurRewardMoney { get; set; }
/// <summary>
/// 当月订单金额
/// </summary>
public decimal CurOrderMoney { get; set; }
/// <summary>
/// 抵扣人数
/// </summary>
public int DeductionNum { get; set; }
/// <summary>
/// 抵扣金额
/// </summary>
public decimal DeductionMoney { 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>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 是否达成本月目标(1-是)
/// </summary>
public int IsReach { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Bonus
{
/// <summary>
/// 员工人头奖励详情实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Personnel_BonusDetail
{
/// <summary>
/// 奖励使用主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 奖励主表编号
/// </summary>
public int BonusId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Bonus
{
/// <summary>
/// 员工人头奖励抵扣详情实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Personnel_Deduction
{
/// <summary>
/// 奖励抵扣编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 奖励主表编号
/// </summary>
public int BonusId { get; set; }
/// <summary>
/// 订单人数
/// </summary>
public int OrderGuestNum { get; set; }
/// <summary>
/// 订单金额
/// </summary>
public decimal OrderMoney { get; set; }
}
}
......@@ -211,5 +211,11 @@ namespace Edu.Model.Entity.Customer
/// 同业类型 1企业 2学校
/// </summary>
public int CustomerType { get; set; }
/// <summary>
/// 微信号码
/// </summary>
public string WeChatNo { get; set; }
}
}
\ No newline at end of file
using Edu.Common.Enum;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Customer
{
/// <summary>
/// 企业信息实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Enterprise
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 企业名称
/// </summary>
public string EnterpriseName { get; set; }
/// <summary>
/// 删除状态(1-删除)
/// </summary>
public DateStateEnum Status { 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; }
}
}
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Sell
{
/// <summary>
/// 课程顾问、市场达标奖金配置实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Bonus_Plan
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 方案类型(1-市场,2-课程顾问)
/// </summary>
public int PlanType { get; set; }
/// <summary>
/// 方案名称
/// </summary>
public string PlanName { get; set; }
/// <summary>
/// 基本工资
/// </summary>
public decimal BasicSalary { get; set; }
/// <summary>
/// 开单奖金
/// </summary>
public decimal OpenBonus { get; set; }
/// <summary>
/// 工龄工资
/// </summary>
public decimal WorkAgeSalary { get; set; }
/// <summary>
/// 每5条线索奖金
/// </summary>
public decimal ClueNumSalary { get; set; }
/// <summary>
/// 销售人员
/// </summary>
public string SaleIds { get; set; }
/// <summary>
/// 适用课程
/// </summary>
public string UseCourseIds { get; set; }
/// <summary>
/// 不适用课程
/// </summary>
public string NotUseCourseIds { 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>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public DateStateEnum Status { get; set; }
}
}
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Sell
{
/// <summary>
/// 课程顾问、市场达标奖金配置阶梯实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Bouns_PlanDetail
{
/// <summary>
/// 主键编号
/// </summary>
public int DetailId { get; set; }
/// <summary>
/// 计划编号
/// </summary>
public int PlanId { get; set; }
/// <summary>
/// 开始人数
/// </summary>
public decimal StartNum { get; set; }
/// <summary>
/// 结束人数
/// </summary>
public decimal EndNum { get; set; }
/// <summary>
/// 奖励金额
/// </summary>
public decimal Money { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public DateStateEnum Status { get; set; }
}
}
......@@ -75,7 +75,7 @@ namespace Edu.Model.Entity.Sell
/// <summary>
/// 学习目的
/// </summary>
public GuestLearningGoalsEnum LearningGoals { get; set; }
public int LearningGoals { get; set; }
/// <summary>
/// 联系人
......
using Edu.Common.Enum;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.System
{
/// <summary>
/// 渠道实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Channel
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 渠道名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 删除状态(1-删除)
/// </summary>
public DateStateEnum Status { 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; }
}
}
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.System
{
/// <summary>
/// 学习目的实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_LearningGoals
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 学习目的名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 删除状态(1-删除)
/// </summary>
public DateStateEnum Status { 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; }
}
}
......@@ -135,7 +135,7 @@ namespace Edu.Model.Entity.User
/// <summary>
/// 学习目的
/// </summary>
public GuestLearningGoalsEnum StuPurpose { get; set; }
public int StuPurpose { get; set; }
/// <summary>
/// 客人来源
......@@ -185,7 +185,7 @@ namespace Edu.Model.Entity.User
/// <summary>
/// 收客渠道
/// </summary>
public StuChannelEnum StuChannel { get; set; }
public int StuChannel { get; set; }
/// <summary>
/// 第三方平台名称
......
using Edu.Model.Entity.Bonus;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Bonus
{
/// <summary>
/// 员工人头奖励详情扩展实体类
/// </summary>
public class RB_Personnel_BonusDetail_Extend : RB_Personnel_BonusDetail
{
/// <summary>
/// 奖励主表编号【查询使用】
/// </summary>
public string QBonusIds { get; set; }
}
}
using Edu.Model.Entity.Bonus;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Bonus
{
/// <summary>
/// 员工人头奖励扩展实体类
/// </summary>
public class RB_Personnel_Bonus_Extend : RB_Personnel_Bonus
{
}
}
using Edu.Model.Entity.Bonus;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Bonus
{
/// <summary>
/// 员工人头奖励抵扣详情扩展实体类
/// </summary>
public class RB_Personnel_Deduction_Extend: RB_Personnel_Deduction
{
/// <summary>
/// 奖励主表编号【查询使用】
/// </summary>
public string QBonusIds { get; set; }
}
}
\ No newline at end of file
using Edu.Model.Entity.Customer;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Customer
{
/// <summary>
/// 企业信息扩展实体类
/// </summary>
public class RB_Enterprise_Extend: RB_Enterprise
{
}
}
using Edu.Model.Entity.Sell;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Sell
{
/// <summary>
/// 课程顾问、市场达标奖金配置扩展实体类
/// </summary>
public class RB_Bonus_PlanExtend : RB_Bonus_Plan
{
/// <summary>
/// 配置详细列表实体类
/// </summary>
public List<RB_Bouns_PlanDetail_Extend> DetailList { get; set; }
/// <summary>
/// 类型字符串
/// </summary>
public string PlanTypeStr
{
get
{
string str = "";
if (this.PlanType == 1)
{
str = "市场";
}
else if (this.PlanType == 2)
{
str = "课程顾问";
}
return str;
}
}
}
}
using Edu.Model.Entity.Sell;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Sell
{
/// <summary>
/// 课程顾问、市场达标奖金配置阶梯扩展实体类
/// </summary>
public class RB_Bouns_PlanDetail_Extend : RB_Bouns_PlanDetail
{
/// <summary>
/// 计划编号【查询使用】
/// </summary>
public string QPlanIds { get; set; }
}
}
......@@ -268,5 +268,10 @@ namespace Edu.Model.ViewModel.Sell
/// 学员业务单据列表
/// </summary>
public List<RB_Education_Receipt_ViewModel> GuestEduReceiptList { get; set; }
/// <summary>
/// 学习目的
/// </summary>
public string LearningGoalsName { get; set; }
}
}
\ No newline at end of file
using Edu.Model.Entity.System;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.System
{
/// <summary>
/// 渠道扩展实体类
/// </summary>
public class RB_Channel_Extend : RB_Channel
{
/// <summary>
/// 渠道编号【查询使用】
/// </summary>
public string QChannelIds { get; set;}
}
}
using Edu.Model.Entity.System;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.System
{
/// <summary>
/// 学习目的扩展实体类
/// </summary>
public class RB_LearningGoals_Extend : RB_LearningGoals
{
/// <summary>
/// 学习目的编号【查询使用】
/// </summary>
public string QGoalIds { get; set; }
}
}
......@@ -239,5 +239,15 @@ namespace Edu.Model.ViewModel.User
/// 操作类型(1-ERP后台操作,2-App小程序操作)
/// </summary>
public int OperateType { get; set; }
/// <summary>
/// 渠道名称
/// </summary>
public string StuChannelName { get; set; }
/// <summary>
/// 学习目的名称
/// </summary>
public string StuPurposeName { get; set;}
}
}
\ No newline at end of file
using Edu.Model.ViewModel.Sell;
using Edu.Repository.Sell;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using VT.FW.DB;
using Edu.Common.Enum;
namespace Edu.Module.Course
{
/// <summary>
/// 获取课程顾问、市场达标奖金配置处理类
/// </summary>
public class BonusConfigModule
{
/// <summary>
/// 获取课程顾问、市场达标奖金配置仓储层
/// </summary>
private readonly RB_Bonus_PlanRepository bonus_PlanRepository = new RB_Bonus_PlanRepository();
/// <summary>
/// 获取课程顾问、市场达标奖金配置阶梯仓储层
/// </summary>
private readonly RB_Bouns_PlanDetailRepository bouns_PlanDetailRepository = new RB_Bouns_PlanDetailRepository();
/// <summary>
/// 获取课程顾问、市场达标奖金配置分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Bonus_PlanExtend> GetBounsPlanPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Bonus_PlanExtend query)
{
var list = bonus_PlanRepository.GetBounsPlanPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count>0)
{
string Ids = string.Join(",", list.Select(qitem => qitem.Id));
var detailsList = bouns_PlanDetailRepository.GetBounsPlanDetailListRepository(new RB_Bouns_PlanDetail_Extend()
{
QPlanIds = Ids
});
foreach (var item in list)
{
item.DetailList = detailsList?.Where(qitem => qitem.PlanId == item.Id)?.ToList();
}
}
return list;
}
/// <summary>
/// 新增修改课程顾问、市场达标奖金配置
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetBonusPlanModule(RB_Bonus_PlanExtend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Bonus_PlanExtend.PlanType),model.PlanType },
{nameof(RB_Bonus_PlanExtend.PlanName),model.PlanName },
{nameof(RB_Bonus_PlanExtend.BasicSalary),model.BasicSalary },
{nameof(RB_Bonus_PlanExtend.OpenBonus),model.OpenBonus },
{nameof(RB_Bonus_PlanExtend.WorkAgeSalary),model.WorkAgeSalary },
{nameof(RB_Bonus_PlanExtend.ClueNumSalary),model.ClueNumSalary },
{nameof(RB_Bonus_PlanExtend.SaleIds),model.SaleIds },
{nameof(RB_Bonus_PlanExtend.UseCourseIds),model.UseCourseIds },
{nameof(RB_Bonus_PlanExtend.NotUseCourseIds),model.NotUseCourseIds },
{nameof(RB_Bonus_PlanExtend.UpdateBy),model.UpdateBy },
{nameof(RB_Bonus_PlanExtend.UpdateTime),model.UpdateTime },
{nameof(RB_Bonus_PlanExtend.School_Id),model.School_Id },
};
flag = bonus_PlanRepository.Update(fileds, new WhereHelper(nameof(RB_Bonus_PlanExtend.Id), model.Id));
}
else
{
var newId = bonus_PlanRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
var oldList = bouns_PlanDetailRepository.GetBounsPlanDetailListRepository(new RB_Bouns_PlanDetail_Extend()
{
PlanId = model.Id
});
//以前没有阶梯人员信息【直接新增】
if (oldList == null || (oldList != null && oldList.Count == 0))
{
if (model.DetailList != null && model.DetailList.Count > 0)
{
foreach (var item in model.DetailList)
{
item.Status = DateStateEnum.Normal;
item.DetailId = 0;
item.PlanId = model.Id;
bouns_PlanDetailRepository.Insert(item);
}
}
}
else//以前有阶梯人员信息
{
//现在没有阶梯人员信息了【直接删除以前的阶梯人员】
if (model.DetailList == null || (model.DetailList != null && model.DetailList.Count == 0))
{
bouns_PlanDetailRepository.RemoveBounsPlanDetailByPlanIdRepository(model.Id);
}
//找出差异的数据
var deleteList = oldList.Where(qitem => !model.DetailList.Any(oldItem => qitem.DetailId == oldItem.DetailId)).ToList();
foreach (var dItem in deleteList)
{
if (dItem.DetailId > 0)
{
bouns_PlanDetailRepository.RemoveBounsPlanDetailByPlanIdRepository(dItem.PlanId, dItem.DetailId);
}
}
foreach (var priceItem in model.DetailList)
{
priceItem.PlanId = model.Id;
if (priceItem.DetailId == 0)
{
bouns_PlanDetailRepository.Insert(priceItem);
}
else
{
bouns_PlanDetailRepository.Update(priceItem);
}
}
}
return flag;
}
/// <summary>
/// 根据编号获取课程顾问、市场达标奖金配置
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Bonus_PlanExtend GetBonusPlanModule(int Id)
{
var extModel = bonus_PlanRepository.GetEntity<RB_Bonus_PlanExtend>(Id);
if (extModel != null)
{
extModel.DetailList = bouns_PlanDetailRepository.GetBounsPlanDetailListRepository(new RB_Bouns_PlanDetail_Extend()
{
PlanId = extModel.Id
});
}
return extModel;
}
/// <summary>
/// 根据编号删除课程顾问、市场达标奖金配置
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveBonusPlanModule(int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Bonus_PlanExtend.Status),(int)DateStateEnum.Delete }
};
bool flag = bonus_PlanRepository.Update(fileds, new WhereHelper(nameof(RB_Bonus_PlanExtend.Id), Id));
return flag;
}
}
}
......@@ -32,6 +32,7 @@ using Edu.Repository.Log;
using Edu.Repository.Reserve;
using Edu.Repository.Sell;
using Edu.Repository.StudyAbroad;
using Edu.Repository.System;
using Edu.Repository.User;
using Newtonsoft.Json.Linq;
using System;
......@@ -218,6 +219,11 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_Finance_ConfigRepository finance_ConfigRepository = new RB_Finance_ConfigRepository();
/// <summary>
/// 学习目的仓储层对象
/// </summary>
private readonly RB_LearningGoalsRepository learningGoalsRepository = new RB_LearningGoalsRepository();
#region 日语培训
/// <summary>
......@@ -963,7 +969,7 @@ namespace Edu.Module.Course
Basics = visitorModel?.LevelType,
Education = GuestEducationEnum.N2,
GuestSource = demodel.OrderSource,
LearningGoals = GuestLearningGoalsEnum.Love,
LearningGoals =0,
Contact = "",
ContactMobile = "",
Status = 0,
......@@ -1011,7 +1017,7 @@ namespace Edu.Module.Course
Basics = oldGuestModel?.Basics,
Education = oldGuestModel?.Education ?? GuestEducationEnum.N2,
GuestSource = demodel.OrderSource,
LearningGoals = oldGuestModel?.LearningGoals ?? GuestLearningGoalsEnum.Love,
LearningGoals = oldGuestModel?.LearningGoals ?? 0,
Contact = oldGuestModel?.Contact ?? "",
ContactMobile = oldGuestModel?.ContactMobile ?? "",
Status = 0,
......@@ -1073,7 +1079,7 @@ namespace Edu.Module.Course
Basics = "",
Education = item?.StuEducation ?? GuestEducationEnum.N2,
GuestSource = demodel.OrderSource,
LearningGoals = item?.StuPurpose ?? GuestLearningGoalsEnum.Love,
LearningGoals = item?.StuPurpose ?? 0,
Contact = item?.StuContract ?? "",
ContactMobile = item?.StuContractMobile ?? "",
Status = 0,
......@@ -2217,6 +2223,12 @@ namespace Edu.Module.Course
if (list != null && list.Count > 0)
{
string guestIds = string.Join(",", list.Select(qitem => qitem.Id));
string goalIds = string.Join(",", list.Select(qitem => qitem.LearningGoals));
var goalList= learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
{
QGoalIds=goalIds
});
//查询学员[停课,退课,转班,分拆,临课]业务单据
var guestEduReceiptList = education_ReceiptRepository.GetEducationReceiptListExtRepository(new EducationReceiptQuery()
{
......@@ -2256,6 +2268,7 @@ namespace Edu.Module.Course
{
item.TargetClassName = sourceTargetList?.Where(qitem => qitem.OrderId == item.TargetOrderId)?.FirstOrDefault()?.ClassName;
}
item.LearningGoalsName = goalList?.FirstOrDefault(qitem => qitem.Id == item.LearningGoals)?.Name ?? "";
}
}
return list;
......@@ -2334,7 +2347,9 @@ namespace Edu.Module.Course
if (gModel.LearningGoals != dmodel.LearningGoals)
{
LogContent += ",学习目的由【" + gModel.LearningGoals.ToName() + "】修改为【" + dmodel.LearningGoals.ToName() + "】";
string oldName = learningGoalsRepository.GetLearningGoalsExtEntityRepository(gModel.LearningGoals)?.Name ?? "";
string newName= learningGoalsRepository.GetLearningGoalsExtEntityRepository(dmodel.LearningGoals)?.Name ?? "";
LogContent += ",学习目的由【" + oldName + "】修改为【" + newName + "】";
}
gModel.LearningGoals = dmodel.LearningGoals;
......
......@@ -421,7 +421,7 @@ namespace Edu.Module.Course
Basics = "",
Education = item?.StuEducation ?? GuestEducationEnum.N2,
GuestSource = orderModel.OrderSource,
LearningGoals = item?.StuPurpose ?? GuestLearningGoalsEnum.Love,
LearningGoals = item?.StuPurpose ?? 0,
Contact = item?.StuContract ?? "",
ContactMobile = item?.StuContractMobile ?? "",
Status = 0,
......
......@@ -45,6 +45,11 @@ namespace Edu.Module.Customer
/// </summary>
private readonly RB_StageRepository stageRepository = new RB_StageRepository();
/// <summary>
/// 企业信息仓储层对象
/// </summary>
private readonly RB_EnterpriseRepository enterpriseRepository = new RB_EnterpriseRepository();
/// <summary>
/// 获取客户分页列表..
......@@ -92,6 +97,7 @@ namespace Edu.Module.Customer
{nameof(RB_Customer_Extend.EnterpriseName),model.EnterpriseName },
{nameof(RB_Customer_Extend.CustomerType),model.CustomerType },
{nameof(RB_Customer_Extend.UpdateTime),model.UpdateTime },
{nameof(RB_Customer_Extend.WeChatNo),model.WeChatNo },
};
flag = customerRepository.Update(fileds, new WhereHelper(nameof(RB_Customer_Extend.CustomerId), model.CustomerId));
if (flag) {
......@@ -363,5 +369,84 @@ namespace Edu.Module.Customer
{
return customerRepository.GetCustomerListRepository(query);
}
/// <summary>
/// 获取企业分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Enterprise_Extend> GetEnterprisePageModule(int pageIndex, int pageSize, out long rowsCount, RB_Enterprise_Extend query)
{
var list = enterpriseRepository.GetEnterprisePageRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
/// <summary>
/// 获取企业列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Enterprise_Extend> GetEnterpriseListModule(RB_Enterprise_Extend query)
{
var list = enterpriseRepository.GetEnterpriseListRepository(query);
return list;
}
/// <summary>
/// 新增修改企业信息
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetEnterpriseModule(RB_Enterprise_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Enterprise_Extend.EnterpriseName),model.EnterpriseName },
{nameof(RB_Enterprise_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Enterprise_Extend.UpdateTime),model.UpdateTime },
};
flag = enterpriseRepository.Update(fileds, new WhereHelper(nameof(RB_Enterprise_Extend.Id), model.Id));
}
else
{
var newId = enterpriseRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 根据编号获取企业信息实体类
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Enterprise_Extend GetEnterpriseModule(int Id)
{
var extModel = enterpriseRepository.GetEntity<RB_Enterprise_Extend>(Id);
return extModel;
}
/// <summary>
/// 根据编号删除企业信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveEnterpriseModule(int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Enterprise_Extend.Status),(int)DateStateEnum.Delete },
};
bool flag = enterpriseRepository.Update(fileds, new WhereHelper(nameof(RB_Enterprise_Extend.Id), Id));
return flag;
}
}
}
......@@ -11,6 +11,7 @@ using Edu.Model.ViewModel.User;
using Edu.Common.Plugin;
using Edu.Repository.System;
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System;
namespace Edu.Module.Customer
{
......@@ -34,11 +35,6 @@ 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>
......@@ -74,6 +70,16 @@ namespace Edu.Module.Customer
/// </summary>
private readonly RB_Student_TypeRepository student_TypeRepository = new RB_Student_TypeRepository();
/// <summary>
/// 学习目的仓储层对象
/// </summary>
private readonly RB_LearningGoalsRepository learningGoalsRepository = new RB_LearningGoalsRepository();
/// <summary>
/// 来源渠道仓储层对象
/// </summary>
private readonly RB_ChannelRepository channelRepository = new RB_ChannelRepository();
#region 学员约访
......@@ -804,5 +810,164 @@ namespace Edu.Module.Customer
bool flag = student_TypeRepository.Update(fileds, new WhereHelper(nameof(RB_Stage.Id), Id));
return flag;
}
/// <summary>
/// 获取学习目的分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_LearningGoals_Extend> GetLearningGoalsPageModule(int pageIndex, int pageSize, out long rowsCount, RB_LearningGoals_Extend query)
{
var list = learningGoalsRepository.GetLearningGoalsPageRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
/// <summary>
/// 获取学习目的列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_LearningGoals_Extend> GetLearningGoalsListModule(RB_LearningGoals_Extend query)
{
var list = learningGoalsRepository.GetLearningGoalsListRepository(query);
return list;
}
/// <summary>
/// 获取学习目的实体类
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_LearningGoals_Extend GetLearningGoalsExtEntityModule(int Id)
{
var extModel = learningGoalsRepository.GetLearningGoalsExtEntityRepository(Id);
return extModel;
}
/// <summary>
/// 新增修改学习目的
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetLearningGoalsModule(RB_LearningGoals_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_LearningGoals_Extend.Name),model.Name },
{nameof(RB_LearningGoals_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_LearningGoals_Extend.UpdateTime),model.UpdateTime },
};
flag = learningGoalsRepository.Update(fileds, new WhereHelper(nameof(RB_LearningGoals_Extend.Id), model.Id));
}
else
{
var newId = learningGoalsRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 删除学习目的
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveLearningGoalsModule(int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_LearningGoals_Extend.Status),(int)DateStateEnum.Delete },
};
bool flag = learningGoalsRepository.Update(fileds, new WhereHelper(nameof(RB_LearningGoals_Extend.Id), Id));
return flag;
}
/// <summary>
/// 获取渠道分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Channel_Extend> GetChannelPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Channel_Extend query)
{
var list = channelRepository.GetChannelPageRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
/// <summary>
/// 获取渠道列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Channel_Extend> GetChannelListModule(RB_Channel_Extend query)
{
var list = channelRepository.GetChannelListRepository(query);
return list;
}
/// <summary>
/// 获取学习目的实体类
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Channel_Extend GetChannelExtEntityModule(int Id)
{
var extModel = channelRepository.GetChannelExtEntityRepository(Id);
return extModel;
}
/// <summary>
/// 新增修改收客
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetChannelModule(RB_Channel_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Channel_Extend.Name),model.Name },
{nameof(RB_Channel_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Channel_Extend.UpdateTime),model.UpdateTime },
};
flag = channelRepository.Update(fileds, new WhereHelper(nameof(RB_Channel_Extend.Id), model.Id));
}
else
{
var newId = channelRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 删除收客渠道
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveChannelModule(int Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Channel_Extend.Status),(int)DateStateEnum.Delete},
};
var flag = channelRepository.Update(fileds, new WhereHelper(nameof(RB_Channel_Extend.Id), Id));
return flag;
}
}
}
......@@ -1681,7 +1681,7 @@ namespace Edu.Module.Duty
StuTel = item.Tel,
StuIcon ="",
StuSex = 0,
StuChannel = StuChannelEnum.PassBy
StuChannel = 0
};
if (extModel.StuId == 0)
{
......
......@@ -268,6 +268,7 @@ namespace Edu.Module.Duty
var UserInfo = UserReidsCache.GetUserLoginInfo(model.CreateBy);
var chooseDateTime = Convert.ToDateTime(Common.ConvertHelper.FormatDate(model.ClassDate) + " " + model.ClassTime);
var chooseEndTime = Convert.ToDateTime(Common.ConvertHelper.FormatDate(model.ClassDate) + " " + model.EndTime);
#region 教师验证
if (CheckClassTeacherModule(chooseDateTime, chooseEndTime, model, out string newMsg))
{
......@@ -283,6 +284,7 @@ namespace Edu.Module.Duty
return false;
}
#endregion
if (model.ReserveClassId > 0)
{
var oldModel = GetReserveClassModule(model.ReserveClassId);
......
using Edu.AOP.CustomerAttribute;
using Edu.Common.Enum;
using Edu.Common.Enum.System;
using Edu.Common.Enum.User;
using Edu.Model.CacheModel;
using Edu.Model.ViewModel.Customer;
......@@ -85,6 +86,16 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_Student_TypeRepository student_TypeRepository = new RB_Student_TypeRepository();
/// <summary>
/// 学习目的仓储层对象
/// </summary>
private readonly RB_LearningGoalsRepository learningGoalsRepository = new RB_LearningGoalsRepository();
/// <summary>
/// 渠道仓储层对象
/// </summary>
private readonly RB_ChannelRepository channelRepository = new RB_ChannelRepository();
/// <summary>
/// 获取学生列表
/// </summary>
......@@ -205,6 +216,20 @@ namespace Edu.Module.User
StuIds = string.Join(",", transIdList)
});
}
//学习目的
string goalIds = string.Join(",", list.Select(qitem => qitem.StuPurpose));
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
{
QGoalIds=goalIds
});
string channelIds = string.Join(",", list.Select(qitem => qitem.StuChannel));
var channelList = channelRepository.GetChannelListRepository(new Model.ViewModel.System.RB_Channel_Extend()
{
QChannelIds=channelIds
});
foreach (var item in list)
{
var tempOrderList = stuOrderList?.Where(qitem => qitem.Student_Id == item.StuId)?.ToList();
......@@ -241,6 +266,9 @@ namespace Edu.Module.User
}
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
item.StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == item.StuType)?.Name ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == item.StuPurpose)?.Name ?? "";
}
}
return list;
......@@ -380,6 +408,8 @@ namespace Edu.Module.User
extModel.AssistList = assistList;
extModel.StuStageName = stageRepository.GetEntity(extModel.StuStage)?.StageName ?? "";
extModel.StuTypeName = student_TypeRepository.GetEntity(extModel.StuType)?.Name ?? "";
extModel.StuPurposeName = learningGoalsRepository.GetLearningGoalsExtEntityRepository(extModel.StuPurpose)?.Name ?? "";
extModel.StuChannelName = channelRepository.GetChannelExtEntityRepository(extModel.StuChannel)?.Name ?? "";
}
return extModel;
}
......@@ -529,6 +559,47 @@ namespace Edu.Module.User
return studentRepository.GetStudentInfo(Student_Id, Group_Id);
}
/// <summary>
/// 推送消息
/// </summary>
/// <param name="model"></param>
public void PushMessageModule(RB_Student_ViewModel model)
{
var assistList = GetStuAssistListModule(model.StuId);
var customerModel = customerRepository.GetEntity(model.CustomerId);
string markdownContent = $"`同业查重通知` \n>**概要信息** \n>同业名称:{customerModel?.CustomerName ?? ""}({customerModel?.ContactNumber ?? ""})\n>学生名称:{model.StuName}\n>学生电话:{model.StuTel}\n>";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = PushMessageCategoryEnum.B2BCustomerStu,
Content = markdownContent,
CoverImg = "",
CreateByName = "系统",
JumpUrl = "",
WorkMsgType = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "同业查重通知",
Platform = 5,
};
if (model.CreateBy > 0)
{
var queryTargetWorkId = accountModule.GetWorkUserIdModule(model.CreateBy);
modelWork.ReceiveId = queryTargetWorkId;
Common.Message.MessageHelper.SendMessage(modelWork);
}
if (assistList != null && assistList.Count > 0)
{
foreach (var item in assistList)
{
var queryTargetWorkId = accountModule.GetWorkUserIdModule(item.AssistId);
modelWork.ReceiveId = queryTargetWorkId;
Common.Message.MessageHelper.SendMessage(modelWork);
}
}
}
#region 小程序用户
/// <summary>
......
using Edu.Model.Entity.Bonus;
using Edu.Model.ViewModel.Bonus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Bonus
{
/// <summary>
/// 员工人头奖励详情仓储层
/// </summary>
public class RB_Personnel_BonusDetailRepository : BaseRepository<RB_Personnel_BonusDetail>
{
/// <summary>
/// 获取员工人头奖励详情列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Personnel_BonusDetail_Extend> GetPersonnelBonusDetailListRepository(RB_Personnel_BonusDetail_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Personnel_BonusDetail AS A
WHERE 1=1
");
if (query != null)
{
if (query.BonusId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusDetail_Extend.BonusId), query.BonusId);
}
if (!string.IsNullOrEmpty(query.QBonusIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_BonusDetail_Extend.BonusId), query.QBonusIds);
}
}
return Get<RB_Personnel_BonusDetail_Extend>(builder.ToString()).ToList();
}
}
}
using Edu.Model.Entity.Bonus;
using Edu.Model.ViewModel.Bonus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Bonus
{
/// <summary>
/// 员工人头奖励仓储层
/// </summary>
public class RB_Personnel_BonusRepository : BaseRepository<RB_Personnel_Bonus>
{
/// <summary>
/// 获取员工人头奖励分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Personnel_Bonus_Extend> GetPersonnelBonusPageRepository(int pageIndex,int pageSize,out long rowsCount, RB_Personnel_Bonus_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Personnel_Bonus AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.Group_Id), query.Group_Id);
}
if (query.YearNum>0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.YearNum), query.YearNum);
}
if (query.MonthNum > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.MonthNum), query.MonthNum);
}
}
return GetPage<RB_Personnel_Bonus_Extend>(pageIndex,pageSize,out rowsCount,builder.ToString()).ToList();
}
}
}
using Edu.Model.Entity.Bonus;
using Edu.Model.ViewModel.Bonus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Bonus
{
/// <summary>
/// 员工人头奖励抵扣详情仓储层
/// </summary>
public class RB_Personnel_DeductionRepository : BaseRepository<RB_Personnel_Deduction>
{
/// <summary>
/// 获取员工人头奖励抵扣列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Personnel_Deduction_Extend> GetPersonnelBonusListRepository(RB_Personnel_Deduction_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Personnel_Deduction AS A
WHERE 1=1
");
if (query != null)
{
if (query.BonusId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Deduction_Extend.BonusId), query.BonusId);
}
if (!string.IsNullOrEmpty(query.QBonusIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Deduction_Extend.BonusId), query.QBonusIds);
}
}
return Get<RB_Personnel_Deduction_Extend>(builder.ToString()).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.Customer;
using Edu.Model.ViewModel.Customer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Customer
{
/// <summary>
/// 企业信息仓储层
/// </summary>
public class RB_EnterpriseRepository:BaseRepository<RB_Enterprise>
{
/// <summary>
/// 获取企业分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Enterprise_Extend> GetEnterprisePageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Enterprise_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Enterprise AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Enterprise_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Enterprise_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.EnterpriseName))
{
builder.AppendFormat(" AND A.{0} LIKE @EnterpriseName ", nameof(RB_Enterprise_Extend.EnterpriseName));
parameters.Add("EnterpriseName", "%" + query.EnterpriseName.Trim() + "%");
}
}
return GetPage<RB_Enterprise_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取企业列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Enterprise_Extend> GetEnterpriseListRepository( RB_Enterprise_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Enterprise AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Enterprise_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Enterprise_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.EnterpriseName))
{
builder.AppendFormat(" AND A.{0} LIKE @EnterpriseName ", nameof(RB_Enterprise_Extend.EnterpriseName));
parameters.Add("EnterpriseName", "%" + query.EnterpriseName.Trim() + "%");
}
}
return Get<RB_Enterprise_Extend>( builder.ToString(), parameters).ToList();
}
}
}
......@@ -92,12 +92,12 @@ SELECT A.*,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS Teacher
,Time.StartTime,time.EndTime,time.ClassTimeId
,TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',time.StartTime), CONCAT('2020-12-16',' ',time.EndTime)) AS ClassMinutes
,time.TimeHour,c.ClassName,IFNULL(course.CourseName,'') AS CourseName
FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
FROM RB_Class_Plan AS A INNER JOIN rb_class as c ON c.ClassId=A.ClassId
LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
LEFT JOIN rb_class_time AS time ON A.ClassPlanId=Time.ClassPlanId
LEFT JOIN rb_class as c ON c.ClassId=A.ClassId
LEFT JOIN rb_course AS course ON c.CouseId=course.CourseId
WHERE 1=1
WHERE 1=1 AND C.`Status`=0 AND C.ClassStatus<>3
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
......
using Edu.Common.Enum;
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Sell;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
namespace Edu.Repository.Sell
{
/// <summary>
/// 课程顾问、市场达标奖金配置仓储层
/// </summary>
public class RB_Bonus_PlanRepository : BaseRepository<RB_Bonus_Plan>
{
/// <summary>
/// 获取课程顾问、市场达标奖金配置分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Bonus_PlanExtend> GetBounsPlanPageRepository(int pageIndex,int pageSize,out long rowsCount,RB_Bonus_PlanExtend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Bonus_Plan AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bonus_PlanExtend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bonus_PlanExtend.Group_Id), query.Group_Id);
}
if (query.PlanType > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bonus_PlanExtend.PlanType), query.PlanType);
}
}
return GetPage<RB_Bonus_PlanExtend>(pageIndex,pageSize,out rowsCount,builder.ToString()).ToList();
}
/// <summary>
/// 获取课程顾问、市场达标奖金配置列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Bonus_PlanExtend> GetBounsPlanListRepository(RB_Bonus_PlanExtend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Bonus_Plan AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bonus_PlanExtend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bonus_PlanExtend.Group_Id), query.Group_Id);
}
if (query.PlanType > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bonus_PlanExtend.PlanType), query.PlanType);
}
}
return Get<RB_Bonus_PlanExtend>(builder.ToString()).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Sell;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Sell
{
/// <summary>
/// 课程顾问、市场达标奖金配置阶梯仓储层
/// </summary>
public class RB_Bouns_PlanDetailRepository : BaseRepository<RB_Bouns_PlanDetail>
{
/// <summary>
/// 获取课程顾问、市场达标奖金配置阶梯列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Bouns_PlanDetail_Extend> GetBounsPlanDetailListRepository(RB_Bouns_PlanDetail_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Bouns_PlanDetail AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bouns_PlanDetail_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.PlanId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Bouns_PlanDetail_Extend.PlanId), query.PlanId);
}
if (!string.IsNullOrEmpty(query.QPlanIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Bouns_PlanDetail_Extend.PlanId), query.QPlanIds);
}
}
return Get<RB_Bouns_PlanDetail_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据计划编号删除阶梯信息
/// </summary>
/// <param name="PlanId"></param>
/// <param name="DetailId"></param>
/// <returns></returns>
public bool RemoveBounsPlanDetailByPlanIdRepository(int PlanId,int DetailId=0)
{
string sql = string.Format(@" UPDATE RB_Bouns_PlanDetail SET Status=1 WHERE PlanId={0} ", PlanId);
if (DetailId > 0)
{
sql += string.Format(" AND DetailId={0} ", DetailId);
}
return base.Execute(sql) > 0;
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB.Dapper;
using System.Linq;
namespace Edu.Repository.System
{
/// <summary>
/// 渠道仓储层
/// </summary>
public class RB_ChannelRepository: BaseRepository <RB_Channel>
{
/// <summary>
/// 获取渠道分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Channel_Extend> GetChannelPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Channel_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Channel AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Channel_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Channel_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.Name))
{
builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_LearningGoals_Extend.Name));
parameters.Add("Name", "%" + query.Name.Trim() + "%");
}
}
return GetPage<RB_Channel_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取渠道列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Channel_Extend> GetChannelListRepository(RB_Channel_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Channel AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Channel_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Channel_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.Name))
{
builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_Channel_Extend.Name));
parameters.Add("Name", "%" + query.Name.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.QChannelIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Channel_Extend.Id), query.QChannelIds);
}
}
return Get<RB_Channel_Extend>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取学习目的实体类
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Channel_Extend GetChannelExtEntityRepository(int Id)
{
var extModel = base.GetEntity<RB_Channel_Extend>(Id);
return extModel;
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.System
{
/// <summary>
/// 学习目的仓储层
/// </summary>
public class RB_LearningGoalsRepository : BaseRepository<RB_LearningGoals>
{
/// <summary>
/// 获取学习目的分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_LearningGoals_Extend> GetLearningGoalsPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_LearningGoals_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_LearningGoals AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGoals_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGoals_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.Name))
{
builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_LearningGoals_Extend.Name));
parameters.Add("Name", "%" + query.Name.Trim() + "%");
}
}
return GetPage<RB_LearningGoals_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取学习目的列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_LearningGoals_Extend> GetLearningGoalsListRepository(RB_LearningGoals_Extend query)
{
StringBuilder builder = new StringBuilder();
var parameters = new DynamicParameters();
builder.AppendFormat(@"
SELECT A.*
FROM RB_LearningGoals AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGoals_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_LearningGoals_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.Name))
{
builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_LearningGoals_Extend.Name));
parameters.Add("Name", "%" + query.Name.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.QGoalIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_LearningGoals_Extend.Id), query.QGoalIds);
}
}
return Get<RB_LearningGoals_Extend>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取学习目的实体类
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_LearningGoals_Extend GetLearningGoalsExtEntityRepository(int Id)
{
var extModel = base.GetEntity<RB_LearningGoals_Extend>(Id);
return extModel;
}
}
}
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System;
using Edu.Common.Enum;
using Edu.Model.Entity.System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......
......@@ -427,6 +427,10 @@ FROM
where2.AppendFormat(" AND A.{0} LIKE @EmployeeName ", nameof(Employee_ViewModel.EmployeeName));
parameters.Add("EmployeeName", "%" + query.EmployeeName.Trim() + "%");
}
if (query.UserRole > 0)
{
where2.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.UserRole),(int)query.UserRole);
}
if (!string.IsNullOrEmpty(query.AccountTypeStr))
{
where2.AppendFormat(" AND A.{0} IN({1}) ", nameof(Employee_ViewModel.AccountType), query.AccountTypeStr);
......
......@@ -48,6 +48,16 @@ namespace Edu.Repository.User
/// </summary>
private readonly RB_Student_TypeRepository student_TypeRepository = new RB_Student_TypeRepository();
/// <summary>
/// 收客渠道仓储层对象
/// </summary>
private readonly RB_ChannelRepository channelRepository = new RB_ChannelRepository();
/// <summary>
/// 学习目的仓储层对象
/// </summary>
private readonly RB_LearningGoalsRepository learningGoalsRepository = new RB_LearningGoalsRepository();
/// <summary>
/// 获取学生列表
/// </summary>
......@@ -345,7 +355,9 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
}
if (oldModel.StuPurpose != model.StuPurpose)
{
logContent += string.Format("学习目的:由【{0}】=>【{1}】,", oldModel.StuPurpose.ToName(), model.StuPurpose.ToName());
string oldName = learningGoalsRepository.GetLearningGoalsExtEntityRepository(oldModel.StuPurpose)?.Name??"" ;
string newName = learningGoalsRepository.GetLearningGoalsExtEntityRepository(model.StuPurpose)?.Name ?? "";
logContent += string.Format("学习目的:由【{0}】=>【{1}】,", oldName, newName);
}
if (oldModel.StuProfession != model.StuProfession)
{
......@@ -363,7 +375,9 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState=1 an
}
if (oldModel.StuChannel != model.StuChannel)
{
logContent += string.Format("收客渠道:由【{0}】=>【{1}】,", oldModel.StuChannel.ToName(), model.StuChannel.ToName());
string oldName = channelRepository.GetChannelExtEntityRepository(oldModel.StuChannel)?.Name ?? "";
string newName= channelRepository.GetChannelExtEntityRepository(model.StuChannel)?.Name ?? "";
logContent += string.Format("收客渠道:由【{0}】=>【{1}】,", oldName, newName);
}
if (oldModel.PlatformName != model.PlatformName)
{
......
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Sell;
using Edu.Module.Course;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Edu.WebApi.Controllers.Bonus
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class BonusController : BaseController
{
/// <summary>
/// 获取课程顾问、市场达标奖金配置处理类对象
/// </summary>
private readonly BonusConfigModule bonusConfigModule = new BonusConfigModule();
/// <summary>
/// 获取课程顾问、市场达标奖金配置分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetBounsPlanPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Bonus_PlanExtend()
{
PlanName = base.ParmJObj.GetStringValue("PlanName"),
};
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
var list = bonusConfigModule.GetBounsPlanPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
result.Add(new
{
item.Id,
item.PlanName,
item.BasicSalary,
item.OpenBonus,
item.WorkAgeSalary,
item.ClueNumSalary,
item.SaleIds,
item.UseCourseIds,
item.NotUseCourseIds,
CreateByName,
item.PlanType,
item.PlanTypeStr,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
item.DetailList,
});
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 新增修改课程顾问、市场达标奖金配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetBounsPlan()
{
var query = new RB_Bonus_PlanExtend()
{
Id = base.ParmJObj.GetInt("Id"),
PlanType=base.ParmJObj.GetInt("PlanType"),
PlanName = base.ParmJObj.GetStringValue("PlanName"),
BasicSalary = base.ParmJObj.GetDecimal("BasicSalary"),
OpenBonus = base.ParmJObj.GetDecimal("OpenBonus"),
WorkAgeSalary = base.ParmJObj.GetDecimal("WorkAgeSalary"),
ClueNumSalary = base.ParmJObj.GetDecimal("ClueNumSalary"),
SaleIds = base.ParmJObj.GetStringValue("SaleIds"),
UseCourseIds = base.ParmJObj.GetStringValue("UseCourseIds"),
NotUseCourseIds = base.ParmJObj.GetStringValue("NotUseCourseIds"),
};
query.CreateBy = base.UserInfo.Id;
query.UpdateBy = base.UserInfo.Id;
query.CreateTime = DateTime.Now;
query.UpdateTime = DateTime.Now;
query.Group_Id = base.UserInfo.Group_Id;
query.Status = Common.Enum.DateStateEnum.Normal;
query.DetailList = new List<RB_Bouns_PlanDetail_Extend>();
string detailList = base.ParmJObj.GetStringValue("DetailList");
if (!string.IsNullOrEmpty(detailList))
{
JArray jarray = JArray.Parse(detailList);
if (jarray != null && jarray.Count > 0)
{
foreach (var jItem in jarray)
{
JObject jobj = JObject.Parse(jItem.ToString());
query.DetailList.Add(new RB_Bouns_PlanDetail_Extend()
{
DetailId = jobj.GetInt("DetailId"),
PlanId = jobj.GetInt("PlanId"),
StartNum = jobj.GetDecimal("StartNum"),
EndNum = jobj.GetDecimal("EndNum"),
Money = jobj.GetDecimal("Money"),
});
}
}
}
bool flag = bonusConfigModule.SetBonusPlanModule(query);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取课程顾问、市场达标奖金配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetBonusPlan()
{
var Id = base.ParmJObj.GetInt("Id");
var model = bonusConfigModule.GetBonusPlanModule(Id);
return ApiResult.Success(data: model);
}
/// <summary>
/// 根据编号删除课程顾问、市场达标奖金配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveBonusPlan()
{
var Id = base.ParmJObj.GetInt("Id");
var flag = bonusConfigModule.RemoveBonusPlanModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
}
}
......@@ -1201,6 +1201,7 @@ namespace Edu.WebApi.Controllers.Course
/// 获取课程优惠价格列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCoursePreferentialList()
{
var CourseId = base.ParmJObj.GetInt("CourseId", 0);
......@@ -1208,6 +1209,16 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: list.OrderBy(qitem => qitem.PriceDiscountType));
}
/// <summary>
/// 获取课程优惠价格列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCourseRebateSetList()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(CourseRebateSetEnum));
return ApiResult.Success(data: list);
}
/// <summary>
/// 批量设置课程优惠价格
......
......@@ -1123,7 +1123,7 @@ namespace Edu.WebApi.Controllers.Course
x.GuestSource,
GuestSourceName = x.GuestSource.ToName(),
x.LearningGoals,
LearningGoalsName = x.LearningGoals.ToName(),
x.LearningGoalsName,
x.Contact,
x.ContactMobile,
x.IDCard,
......@@ -1193,7 +1193,7 @@ namespace Edu.WebApi.Controllers.Course
Basics = base.ParmJObj.GetStringValue("Basics"),
Education = (GuestEducationEnum)base.ParmJObj.GetInt("Education"),
GuestSource = (OrderSourceEnum)base.ParmJObj.GetInt("GuestSource"),
LearningGoals = (GuestLearningGoalsEnum)base.ParmJObj.GetInt("LearningGoals"),
LearningGoals = base.ParmJObj.GetInt("LearningGoals"),
Contact = base.ParmJObj.GetStringValue("Contact"),
ContactMobile = base.ParmJObj.GetStringValue("ContactMobile"),
IDCard = base.ParmJObj.GetStringValue("IDCard"),
......
......@@ -44,7 +44,7 @@ namespace Edu.WebApi.Controllers.Customer
/// <returns></returns>
[HttpPost]
public ApiResult GetCustomerPage()
{
{
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Customer_Extend()
{
......@@ -54,7 +54,7 @@ namespace Edu.WebApi.Controllers.Customer
ContactNumber = base.ParmJObj.GetStringValue("ContactNumber"),
ApproveState = base.ParmJObj.GetInt("ApproveState"),
QCustomerState = base.ParmJObj.GetInt("QCustomerState"),
};
};
var list = customerModule.GetCustomerPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
......@@ -97,6 +97,7 @@ namespace Edu.WebApi.Controllers.Customer
Remark = base.ParmJObj.GetStringValue("Remark"),
EnterpriseName = base.ParmJObj.GetStringValue("EnterpriseName"),
CustomerType = base.ParmJObj.GetInt("CustomerType"),
WeChatNo = base.ParmJObj.GetStringValue("WeChatNo"),
};
if (string.IsNullOrEmpty(model.CustomerName))
{
......@@ -113,7 +114,7 @@ namespace Edu.WebApi.Controllers.Customer
model.Group_Id = base.UserInfo.Group_Id;
model.School_Id = base.UserInfo.School_Id;
model.ApproveState = 1;
model.ApproveId= base.UserInfo.Id;
model.ApproveId = base.UserInfo.Id;
model.ApproveTime = DateTime.Now;
var flag = customerModule.SetCustomerModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
......@@ -532,7 +533,9 @@ namespace Edu.WebApi.Controllers.Customer
x.ApproveStateStr,
x.CreateBy,
x.CreateByName,
x.CreateTimeStr
x.CreateTimeStr,
x.QQ,
x.WeChatNo,
});
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
......@@ -653,5 +656,116 @@ namespace Edu.WebApi.Controllers.Customer
var list = customerModule.GetCustomerListModule(query);
return ApiResult.Success(data: list);
}
#region 企业管理
/// <summary>
/// 获取企业分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetEnterprisePage()
{
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Enterprise_Extend()
{
Group_Id = base.UserInfo.Group_Id,
EnterpriseName = base.ParmJObj.GetStringValue("EnterpriseName")
};
query.CreateBy = userInfo.Id;
var list = customerModule.GetEnterprisePageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> result = new List<object>();
foreach (var item in list)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
result.Add(new
{
item.Id,
item.EnterpriseName,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
pageModel.PageData = result;
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取企业列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetEnterpriseList()
{
var userInfo = base.UserInfo;
var query = new RB_Enterprise_Extend()
{
Group_Id = base.UserInfo.Group_Id,
EnterpriseName = base.ParmJObj.GetStringValue("EnterpriseName")
};
query.CreateBy = userInfo.Id;
var list = customerModule.GetEnterpriseListModule(query);
List<object> result = new List<object>();
foreach (var item in list)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
result.Add(new
{
item.Id,
item.EnterpriseName,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
return ApiResult.Success(data: result);
}
/// <summary>
/// 新增修改企业
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetEnterprise()
{
var extModel = new RB_Enterprise_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
EnterpriseName = base.ParmJObj.GetStringValue("EnterpriseName")
};
extModel.Group_Id = base.UserInfo.Group_Id;
extModel.CreateBy = base.UserInfo.Id;
extModel.UpdateBy = base.UserInfo.Id;
extModel.CreateTime = DateTime.Now;
extModel.UpdateTime = DateTime.Now;
extModel.Status = Common.Enum.DateStateEnum.Normal;
bool flag = customerModule.SetEnterpriseModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取企业信息
/// </summary>
/// <returns></returns>
public ApiResult GetEnterprise()
{
var Id = base.ParmJObj.GetInt("Id");
var extModel = customerModule.GetEnterpriseModule(Id);
return ApiResult.Success(data: extModel);
}
/// <summary>
/// 根据编号删除企业信息
/// </summary>
/// <returns></returns>
public ApiResult RemoveEnterprise()
{
var Id = base.ParmJObj.GetInt("Id");
bool flag = customerModule.RemoveEnterpriseModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
}
}
......@@ -4,6 +4,7 @@ using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.System;
using Edu.Model.ViewModel.User;
using Edu.Module.Customer;
using Edu.WebApi.Filter;
......@@ -648,5 +649,215 @@ namespace Edu.WebApi.Controllers.Customer
bool flag = customerStudentModule.RemodeStudentTypeModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取学习目的分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetLearningGoalsPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_LearningGoals_Extend()
{
Name = base.ParmJObj.GetStringValue("Name"),
};
query.Group_Id = base.UserInfo.Group_Id;
var data = customerStudentModule.GetLearningGoalsPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> list = new List<object>();
foreach (var item in data)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
list.Add(new
{
item.Id,
item.Name,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取学习目的下拉列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetLearningGoalsList()
{
var query = new RB_LearningGoals_Extend()
{
Name = base.ParmJObj.GetStringValue("Name"),
};
query.Group_Id = base.UserInfo.Group_Id;
var data = customerStudentModule.GetLearningGoalsListModule(query);
List<object> list = new List<object>();
foreach (var item in data)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
list.Add(new
{
item.Id,
item.Name,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
return ApiResult.Success(data: list);
}
/// <summary>
/// 新增修改学习目的
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetLearningGoals()
{
var extModel = new RB_LearningGoals_Extend()
{
Id=base.ParmJObj.GetInt("Id"),
Name=base.ParmJObj.GetStringValue("Name"),
};
extModel.Group_Id = base.UserInfo.Group_Id;
extModel.CreateBy = base.UserInfo.Id;
extModel.CreateTime = DateTime.Now;
extModel.UpdateBy = base.UserInfo.Id;
extModel.UpdateTime = DateTime.Now;
extModel.Status = Common.Enum.DateStateEnum.Normal;
bool flag = customerStudentModule.SetLearningGoalsModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取学习目的详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetLearningGoals()
{
var Id = base.ParmJObj.GetInt("Id");
var model = customerStudentModule.GetLearningGoalsExtEntityModule(Id);
return ApiResult.Success(data: model);
}
/// <summary>
/// 根据编号删除学习目的详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveLearningGoals()
{
var Id = base.ParmJObj.GetInt("Id");
bool flag = customerStudentModule.RemoveLearningGoalsModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取渠道分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetChannelPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Channel_Extend()
{
Name = base.ParmJObj.GetStringValue("Name"),
};
query.Group_Id = base.UserInfo.Group_Id;
var data = customerStudentModule.GetChannelPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> list = new List<object>();
foreach (var item in data)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
list.Add(new
{
item.Id,
item.Name,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取渠道下拉列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetChannelList()
{
var query = new RB_Channel_Extend()
{
Name = base.ParmJObj.GetStringValue("Name"),
};
query.Group_Id = base.UserInfo.Group_Id;
var data = customerStudentModule.GetChannelListModule(query);
List<object> list = new List<object>();
foreach (var item in data)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
list.Add(new
{
item.Id,
item.Name,
CreateByName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
});
}
return ApiResult.Success(data: list);
}
/// <summary>
/// 新增修改渠道
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetChannel()
{
var extModel = new RB_Channel_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
Name = base.ParmJObj.GetStringValue("Name"),
};
extModel.Group_Id = base.UserInfo.Group_Id;
extModel.CreateBy = base.UserInfo.Id;
extModel.CreateTime = DateTime.Now;
extModel.UpdateBy = base.UserInfo.Id;
extModel.UpdateTime = DateTime.Now;
extModel.Status = Common.Enum.DateStateEnum.Normal;
bool flag = customerStudentModule.SetChannelModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取渠道详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetChannel()
{
var Id = base.ParmJObj.GetInt("Id");
var model = customerStudentModule.GetChannelExtEntityModule(Id);
return ApiResult.Success(data: model);
}
/// <summary>
/// 根据编号删除渠道详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveChannel()
{
var Id = base.ParmJObj.GetInt("Id");
bool flag = customerStudentModule.RemoveChannelModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
}
}
......@@ -7,6 +7,7 @@ using Edu.Cache.WeChat;
using Edu.Common.API;
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.System;
using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Customer;
......@@ -718,11 +719,12 @@ namespace Edu.WebApi.Controllers.User
item.StuStage,
item.StuStageName,
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.CreateBy,
item.CreateByName,
item.CreateType,
CreateTypeStr = item.CreateType.ToName(),
item.StuChannel,
StuChannelName = item.StuChannel.ToName(),
item.StuChannelName,
item.PlatformName,
item.CustomerId,
item.CustomerName,
......@@ -741,7 +743,7 @@ namespace Edu.WebApi.Controllers.User
item.StuEducation,
StuEducationName = item.StuEducation.ToName(),
item.StuPurpose,
StuPurposeName = item.StuPurpose.ToName(),
item.StuPurposeName,
item.VisitCount,
item.TrialLessonCount,
item.StuSourceId,
......@@ -808,7 +810,7 @@ namespace Edu.WebApi.Controllers.User
JapanBaseInfo = (GuestBasicsEnum)base.ParmJObj.GetInt("JapanBaseInfo"),
StuProfession = base.ParmJObj.GetStringValue("StuProfession"),
StuEducation = (GuestEducationEnum)base.ParmJObj.GetInt("StuEducation"),
StuPurpose = (GuestLearningGoalsEnum)base.ParmJObj.GetInt("StuPurpose"),
StuPurpose = base.ParmJObj.GetInt("StuPurpose"),
StuSource = (OrderSourceEnum)base.ParmJObj.GetInt("StuSource"),
StuAddress = base.ParmJObj.GetStringValue("StuAddress"),
StuContract = base.ParmJObj.GetStringValue("StuContract"),
......@@ -816,7 +818,7 @@ namespace Edu.WebApi.Controllers.User
StuIDCard = base.ParmJObj.GetStringValue("StuIDCard"),
StuIDCardAddress = base.ParmJObj.GetStringValue("StuIDCardAddress"),
StuStage = base.ParmJObj.GetInt("StuStage"),
StuChannel = (StuChannelEnum)base.ParmJObj.GetInt("StuChannel"),
StuChannel = base.ParmJObj.GetInt("StuChannel"),
PlatformName = base.ParmJObj.GetStringValue("PlatformName"),
CreateType = (StuCreateTypeEnum)base.ParmJObj.GetInt("CreateType"),
StuSourceId = base.ParmJObj.GetInt("StuSourceId"),
......@@ -902,7 +904,7 @@ namespace Edu.WebApi.Controllers.User
if (isB2B)
{
message = "此学员手机号已绑定同行!请重新录入!";
PushMessage(model);
studentModule.PushMessageModule(model);
}
else
{
......@@ -915,7 +917,7 @@ namespace Edu.WebApi.Controllers.User
if (isB2B)
{
message = "此学员手机号已绑定同行!请重新录入!";
PushMessage(model);
studentModule.PushMessageModule(model);
}
else
{
......@@ -937,7 +939,7 @@ namespace Edu.WebApi.Controllers.User
if (isB2B)
{
message = "此学员QQ已绑定同行!请重新录入!";
PushMessage(model);
studentModule.PushMessageModule(model);
}
else
{
......@@ -950,7 +952,7 @@ namespace Edu.WebApi.Controllers.User
if (isB2B)
{
message = "此学员QQ已绑定同行!请重新录入!";
PushMessage(model);
studentModule.PushMessageModule(model);
}
else
{
......@@ -972,7 +974,7 @@ namespace Edu.WebApi.Controllers.User
if (isB2B)
{
message = "此学员微信号已绑定同行!请重新录入!";
PushMessage(model);
studentModule.PushMessageModule(model);
}
else
{
......@@ -985,7 +987,7 @@ namespace Edu.WebApi.Controllers.User
if (isB2B)
{
message = "此学员微信号已绑定同行!请重新录入!";
PushMessage(model);
studentModule.PushMessageModule(model);
}
else
{
......@@ -997,42 +999,7 @@ namespace Edu.WebApi.Controllers.User
return !string.IsNullOrEmpty(message) ? ApiResult.Failed(message: message) : ApiResult.Success();
}
/// <summary>
/// 推送消息
/// </summary>
/// <param name="model"></param>
public void PushMessage(RB_Student_ViewModel model)
{
var assistList = studentModule.GetStuAssistListModule(model.StuId);
var customerModel = customerModule.GetCustomerModule(model.CustomerId);
string markdownContent = $"`同业添加学生查重通知` \n>**概要信息** \n>同业名称:{customerModel?.CustomerName ?? ""}({customerModel?.ContactNumber ?? ""})\n>学生名称:{model.StuName}\n>学生电话:{model.StuTel}\n>";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = Common.Enum.System.PushMessageCategoryEnum.B2BCustomerStu,
Content = markdownContent,
CoverImg = "",
CreateByName = "系统",
JumpUrl = "",
WorkMsgType = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "同业查询学生通知",
Platform = 5,
};
if (model.CreateBy > 0)
{
modelWork.ReceiveId = model.CreateBy.ToString();
Common.Message.MessageHelper.SendMessage(modelWork);
}
if (assistList != null && assistList.Count > 0)
{
foreach (var item in assistList)
{
modelWork.ReceiveId = item.AssistId.ToString();
Common.Message.MessageHelper.SendMessage(modelWork);
}
}
}
/// <summary>
/// 获取收客平台列表
......@@ -1076,7 +1043,7 @@ namespace Edu.WebApi.Controllers.User
JapanBaseInfo = (GuestBasicsEnum)base.ParmJObj.GetInt("JapanBaseInfo"),
StuProfession = base.ParmJObj.GetStringValue("StuProfession"),
StuEducation = (GuestEducationEnum)base.ParmJObj.GetInt("StuEducation"),
StuPurpose = (GuestLearningGoalsEnum)base.ParmJObj.GetInt("StuPurpose"),
StuPurpose = base.ParmJObj.GetInt("StuPurpose"),
StuSource = (OrderSourceEnum)base.ParmJObj.GetInt("StuSource"),
StuAddress = base.ParmJObj.GetStringValue("StuAddress"),
StuContract = base.ParmJObj.GetStringValue("StuContract"),
......@@ -1209,7 +1176,7 @@ namespace Edu.WebApi.Controllers.User
extModel.StuEducation,
StuEducationName = extModel.StuEducation.ToName(),
extModel.StuPurpose,
StuPurposeName = extModel.StuPurpose.ToName(),
extModel.StuPurposeName,
extModel.StuSource,
StuSourceName = extModel.StuSource.ToName(),
extModel.StuAddress,
......@@ -1226,7 +1193,7 @@ namespace Edu.WebApi.Controllers.User
extModel.StuStageName,
extModel.CreateBy,
extModel.StuChannel,
StuChannelName = extModel.StuChannel.ToName(),
extModel.StuChannelName,
extModel.PlatformName,
AssistList = extModel?.AssistList ?? new List<RB_Student_Assist_Extend>(),
extModel.StuSourceId,
......@@ -1268,7 +1235,7 @@ namespace Edu.WebApi.Controllers.User
if (customer != null)
{
Common.Plugin.LogHelper.Write("查重推送消息");
PushMessage(extModel);
studentModule.PushMessageModule(extModel);
}
}
return ApiResult.Success(data: extModel);
......@@ -2206,6 +2173,7 @@ namespace Edu.WebApi.Controllers.User
EmployeeName = base.ParmJObj.GetStringValue("EmployeeName"),//姓名
AccountTypeStr = base.ParmJObj.GetStringValue("AccountTypeStr"),//人员类型【逗号分割】
IsLeave = base.ParmJObj.GetInt("IsLeave"),
UserRole = (UserRoleEnum)base.ParmJObj.GetInt("UserRole"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = employeeModule.GetEmployeeListModule(query);
......
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