Commit 04888c9e authored by liudong1993's avatar liudong1993

1

parents 19d6016f 75792329
using Edu.Common.Enum.Course;
using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Contract;
......@@ -324,5 +325,15 @@ namespace Edu.Model.ViewModel.Sell
/// 业绩应发提成
/// </summary>
public decimal YFCommission { get; set; }
/// 客户来源见枚举(学生)
/// </summary>
public StuCreateTypeEnum CreateType { get; set; }
/// <summary>
/// 来源名称
/// </summary>
public string StuSourceIdName { get; set; }
}
}
\ No newline at end of file
......@@ -364,5 +364,15 @@ namespace Edu.Model.ViewModel.User
/// 查询时间类型(1-本周,2-上周,3-本月,4-上月)
/// </summary>
public int QTimeType { get; set; }
/// <summary>
///查询订单编号【查询使用】
/// </summary>
public string QOrderIds { get; set; }
/// <summary>
/// 订单编号
/// </summary>
public int OrderId { get; set; }
}
}
\ No newline at end of file
using Edu.AOP.CustomerAttribute;
using Edu.Cache.User;
using Edu.Common;
using Edu.Common.API;
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Sale;
......@@ -10,7 +9,6 @@ using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.CacheModel;
using Edu.Model.Entity.Contract;
using Edu.Model.Entity.Course;
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Contract;
using Edu.Model.ViewModel.Course;
......@@ -26,7 +24,6 @@ using Edu.Model.ViewModel.User;
using Edu.Repository.Contract;
using Edu.Repository.Course;
using Edu.Repository.Customer;
using Edu.Repository.EduTask;
using Edu.Repository.Finance;
using Edu.Repository.Grade;
using Edu.Repository.Log;
......@@ -3243,6 +3240,9 @@ namespace Edu.Module.Course
if (orderList.Any())
{
string orderIds = string.Join(",", orderList.Select(x => x.OrderId));
//学员信息
List<RB_Student_ViewModel> stuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { QOrderIds = orderIds },isQueryCreateType:true);
List<int> idList = new List<int>();
List<RB_Order_ViewModel> sourceTargetList = new List<RB_Order_ViewModel>();
var sourceOrderIdList = Common.ConvertHelper.StringToList(string.Join(",", orderList.Select(x => x.SourceOrderId)));
......@@ -3337,6 +3337,9 @@ namespace Edu.Module.Course
item.CommissionMoney = achievementList.Sum(x => x.GiveOutMoney);
item.YFCommission = achievementList.Sum(x => x.PushMoney);
}
var tempStu = stuList?.FirstOrDefault(qitem => qitem.OrderId == item.OrderId);
item.CreateType = tempStu?.CreateType ?? StuCreateTypeEnum.EmployeeInput;
item.StuSourceIdName = tempStu?.StuSourceIdName ?? "";
}
}
return orderList;
......
......@@ -285,13 +285,13 @@ ORDER BY {orderBy}
SELECT o.*,c.ClassName,c.ClassNo,c.School_Id as ClassSchoolId,t.TeacherName,t.TeacherIcon,IFNULL(course.CourseName,'') AS CourseName
,C.OpenTime,course.CourseSubject,IFNULL(csubject.SubjectName,'') AS CourseSubjectName,IFNULL(school.SName,'') AS SchoolName
,IFNULL(c.ClassStatus,0) AS ClassStatus,IFNULL(course.CoverImg,'') AS CourseImg,IFNULL(course.B2BBackground,'') AS B2BBackground
,IFNULL(course.B2BIcon,'') AS B2BIcon,cu.CustomerName,cu.ContactNumber as CustomerTel,c.ClassScrollType
,IFNULL(course.B2BIcon,'') AS B2BIcon,cu.CustomerName,cu.ContactNumber as CustomerTel,c.ClassScrollType
FROM RB_Order o LEFT JOIN rb_class c on o.ClassId = c.ClassId
LEFT JOIN rb_teacher t on c.Teacher_Id = t.TId
LEFT JOIN rb_course AS course ON (o.CourseId=course.CourseId AND o.CourseId>0 AND o.OrderType=1)
LEFT JOIN rb_course_subject AS csubject ON course.CourseSubject=csubject.Id
LEFT JOIN rb_school AS school ON c.School_Id=school.SId
left join rb_customer cu on cu.CustomerId = o.CustomerId
LEFT JOIN rb_customer cu on cu.CustomerId = o.CustomerId
WHERE {where} ORDER BY {orderBy}
";
return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
......
using Edu.Common.Enum;
using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.Entity.User;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.User;
using Edu.Repository.Customer;
using Edu.Repository.System;
......@@ -63,16 +65,30 @@ namespace Edu.Repository.User
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_ViewModel> GetStudentListRepository(RB_Student_ViewModel query)
public List<RB_Student_ViewModel> GetStudentListRepository(RB_Student_ViewModel query,bool isQueryCreateType=false)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
if (isQueryCreateType && !string.IsNullOrEmpty(query.QOrderIds))
{
builder.AppendFormat(@"
SELECT t.*,g.GroupName,s.SName,stuog.OrderId
FROM rb_student AS t LEFT JOIN rb_group AS g ON t.Group_Id=g.GId
LEFT JOIN rb_school AS s ON t.School_Id=s.SId
LEFT JOIN rb_student_orderguest AS stuog ON t.StuId=stuog.Student_Id
WHERE 1=1
");
}
else
{
builder.AppendFormat(@"
SELECT t.*,g.GroupName,s.SName
FROM rb_student AS t LEFT JOIN rb_group AS g ON t.Group_Id=g.GId
LEFT JOIN rb_school AS s ON t.School_Id=s.SId
WHERE 1=1
");
}
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
{
......@@ -122,8 +138,72 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.CreateBy), query.CreateBy);
}
//根据订单编号查询学员
if (!string.IsNullOrEmpty(query.QOrderIds))
{
builder.AppendFormat(" AND stuog.OrderId IN({0}) ", query.QOrderIds);
}
}
return Get<RB_Student_ViewModel>(builder.ToString(), parameters).ToList();
var stuList = Get<RB_Student_ViewModel>(builder.ToString(), parameters).ToList();
if (isQueryCreateType)
{
//转介人列表
List<RB_Student_ViewModel> transStudentList = new List<RB_Student_ViewModel>();
//同业录入列表
List<RB_Customer_Extend> customerList = new List<RB_Customer_Extend>();
//内部介绍人
List<RB_Account_ViewModel> accountList = new List<RB_Account_ViewModel>();
if (stuList != null && stuList.Count > 0)
{
List<int> customerIdList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Where(qitem => qitem.CreateType == StuCreateTypeEnum.CustomerInput).Select(qitem => qitem.StuSourceId)));
if (customerIdList != null && customerIdList.Count > 0)
{
customerList = customerRepository.GetCustomerListRepository(new RB_Customer_Extend()
{
CustomerIds = string.Join(",", customerIdList)
});
}
List<int> transIdList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Where(qitem => qitem.CreateType == StuCreateTypeEnum.TransIntroduction).Select(qitem => qitem.StuSourceId)));
if (transIdList != null && transIdList.Count > 0)
{
transStudentList = GetStudentListRepository(new RB_Student_ViewModel()
{
StuIds = string.Join(",", transIdList)
});
}
List<int> empIdList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Where(qitem => qitem.CreateType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.StuSourceId)));
if (empIdList != null && empIdList.Count > 0)
{
accountList = accountRepository.GetAccountListExtRepository(new RB_Account_ViewModel() { QIds = string.Join(",", empIdList) });
}
foreach (var item in stuList)
{
if (item.CreateType == StuCreateTypeEnum.InternalIntroduction)
{
item.StuSourceIdName = accountList?.FirstOrDefault(qitem => qitem.Id == item.StuSourceId)?.AccountName ?? "";
}
else if (item.CreateType == StuCreateTypeEnum.CustomerInput)
{
var tempCustomer = customerList?.FirstOrDefault(qitem => qitem.CustomerId == item.StuSourceId);
var tempStr = (tempCustomer?.CustomerName ?? "");
if ((tempCustomer?.EnterpriseName ?? "") != "")
{
tempStr += "(" + (tempCustomer?.EnterpriseName ?? "") + ")";
}
item.StuSourceIdName = tempStr ;
}
else if (item.CreateType == StuCreateTypeEnum.TransIntroduction)
{
item.StuSourceIdName = transStudentList?.FirstOrDefault(qitem => qitem.StuId == item.StuSourceId)?.StuName ?? "";
}
}
}
}
return stuList;
}
/// <summary>
......
......@@ -108,6 +108,9 @@ namespace Edu.WebApi.Controllers.B2BApp
item.OrderId,
TotalHours=gModel?.TotalHours??0,
CompleteHours=gModel?.CompleteHours??0,
item.CreateType,
CreateTypeName= item.CreateType.ToName(),
item.StuSourceIdName,
});
}
pageModel.PageData = result;
......
......@@ -351,6 +351,7 @@ namespace Edu.WebApi.Controllers.Course
IsQPrice = base.ParmJObj.GetInt("IsQPrice", 0),
CourseSubject=base.ParmJObj.GetInt("CourseSubject"),
};
query.Saleplat = "1,2,3,4";
query.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_Id;
var list = courseModule.GetCourseListModule(query);
......
......@@ -1510,7 +1510,10 @@ namespace Edu.WebApi.Controllers.Course
z.ContractNo,
z.GuestId,
z.Status
})
}),
x.CreateType,
CreateTypeName = x.CreateType.ToName(),
x.StuSourceIdName,
})
};
pageModel.PageData = obj;
......@@ -1704,7 +1707,10 @@ namespace Edu.WebApi.Controllers.Course
z.ContractNo,
z.GuestId,
z.Status,
})
}),
x.CreateType,
CreateTypeName = x.CreateType.ToName(),
x.StuSourceIdName,
})
};
pageModel.PageData = obj;
......
......@@ -340,6 +340,90 @@ namespace Edu.WebApi.Controllers.LearningGarden
}
return list;
}
/// <summary>
/// 获取成功发布列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
static List<WeChatLearningGardenItem> GetFreePublishList(int pageIndex, int pageSize)
{
string tokenKey = Cache.CacheKey.DATA_WeChatAccountToken + Common.Config.WeChatAccountAppId;
string token = Cache.WeChat.WeChatReidsCache2.GetToken(tokenKey);
if (Common.Config.IsLocal == 1)
{
token = "53_yZLlrwCr1CVh5TjyS1FkarF5M15NfYEmMFvtJKVA0C_R5tzOE20CZlFvWOWQRoezFQDweQPwkcenlISyEXoFkOpljNvyt-0_uXvtqQW41T7HfJnFGUWBGNIDkUQuFkKQWTpdXvdZhbWWeE_kMTTcAEAPWW";
}
if (string.IsNullOrEmpty(token))
{
token = Common.Plugin.WeChatHelper.GetAccessToken(Common.Config.WeChatAccountAppId, Common.Config.WeChatAccountAppSecret);
Cache.WeChat.WeChatReidsCache2.Set(tokenKey, token);
}
string newImaApi = "https://api.weixin.qq.com/cgi-bin/freepublish/batchget?access_token=" + token;
List<WeChatLearningGardenItem> list = new List<WeChatLearningGardenItem>();
var resultInfo = new
{
count = pageSize,
offset = (pageIndex - 1) * pageSize,
no_content = pageSize
};
string jsonData = HttpHelper.HttpPost(newImaApi, JsonHelper.Serialize(resultInfo), "");
if (jsonData != null && !string.IsNullOrEmpty(jsonData))
{
Common.Plugin.LogHelper.WriteInfo("GetVoiceData: " + jsonData);
JObject jObj = JObject.Parse(jsonData);
var item = jObj.GetStringValue("item");
if (!string.IsNullOrEmpty(item))
{
JArray jArray = JArray.Parse(item);
if (jArray != null && jArray.Count > 0)
{
foreach (var jItem in jArray)
{
JObject sObj = JObject.Parse(jItem.ToString());
JObject dObj = JObject.Parse(sObj.GetStringValue("content"));
var newsItem = new List<WeChatLearningGardenNewsItem>();
JArray subArray = JArray.Parse(dObj.GetStringValue("news_item"));
if (subArray != null && subArray.Count > 0)
{
foreach (var sItem in subArray)
{
var contentObj = JObject.Parse(sItem.ToString());
newsItem.Add(new WeChatLearningGardenNewsItem()
{
title = contentObj.GetStringValue("title"),
author = contentObj.GetStringValue("author"),
digest = contentObj.GetStringValue("digest"),
content = contentObj.GetStringValue("content"),
show_cover_pic = contentObj.GetInt("show_cover_pic"),
url = contentObj.GetStringValue("url"),
thumb_url = contentObj.GetStringValue("thumb_url"),
});
}
}
var content = new WeChatLearningGardenContent()
{
news_item = newsItem,
create_time = dObj.GetLong("create_time"),
update_time = dObj.GetLong("update_time"),
};
WeChatLearningGardenItem model = new WeChatLearningGardenItem()
{
media_id = sObj.GetStringValue("article_id"),
update_time = sObj.GetStringValue("update_time"),
content = content
};
list.Add(model);
}
}
}
}
return list;
}
#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