Commit 9814d904 authored by 吴春's avatar 吴春

提交代码

parent a7107ccc
......@@ -42,5 +42,10 @@ namespace Mall.Common.Enum.User
/// </summary>
[EnumField("ERP")]
ERP =6,
/// <summary>
/// 教育ERP
/// </summary>
[EnumField("教育ERP")]
EduERP = 7,
}
}
......@@ -77,11 +77,20 @@ namespace Mall.Model.Entity.Education
public decimal UnitPrice { get; set; }
/// <summary>
/// 支付金额
/// 应收金额
/// </summary>
public decimal Money { get; set; }
/// <summary>
/// 实收金额
/// </summary>
public decimal Income { get; set; }
/// <summary>
/// 手续费
/// </summary>
public decimal PlatformTax { get; set; }
/// <summary>
/// 备注
/// </summary>
......@@ -133,6 +142,12 @@ namespace Mall.Model.Entity.Education
/// </summary>
public string RefundOrderNo { get; set; }
/// <summary>
/// 实际退款金额
/// </summary>
public decimal RefundPrice { get; set; }
/// <summary>
/// 退款时间
/// </summary>
......@@ -155,7 +170,7 @@ namespace Mall.Model.Entity.Education
set;
}
public Common.Enum.Goods.OrderPayTypeEnum? PayWay {get;set;}
public Common.Enum.Goods.OrderPayTypeEnum? PayWay { get; set; }
/// <summary>
/// 订单号
/// </summary>
......@@ -178,5 +193,28 @@ namespace Mall.Model.Entity.Education
/// 是否需取消确认 1是 2否
/// </summary>
public int IsCancelConfirm { get; set; }
/// <summary>
/// 教育销售id
/// </summary>
public int EduUserId { get; set; }
/// <summary>
/// 教育学生id
/// </summary>
public int EduStudentId { get; set; }
/// <summary>
/// 用户id,所有的父级,英文逗号分隔
/// </summary>
public string UserTree { get; set; }
/// <summary>
/// 分销商id,所有的父级分销商,英文逗号分隔
/// </summary>
public string DistributorTree { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Mall.Model.Entity.Education
{
/// <summary>
/// 教育销售的基础信息
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Education_EduSell
{
/// <summary>
///
/// </summary>
public int Id { get; set; }
/// <summary>
/// 会员id
/// </summary>
public int UserId { get; set; }
/// <summary>
/// 销售id(对应教育那边的rb_account的id)
/// </summary>
public int EduSellId { get; set; }
/// <summary>
/// 商户号Id
/// </summary>
public int? TenantId
{
get;
set;
}
/// <summary>
/// 小程序Id
/// </summary>
public int? MallBaseId
{
get;
set;
}
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// 删除状态
/// </summary>
public int? Status
{
get;
set;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Mall.Model.Entity.Finance
{
/// <summary>
/// Rb_Workflow_AuditRelevance:实体类(属性说明自动提取数据库字段的描述信息)
/// </summary>
[Serializable]
[DB(ConnectionName = "FinanceConnection")]
public class Rb_Workflow_AuditRelevance
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 审批条件id
/// </summary>
public int? ConditionId
{
get;
set;
}
/// <summary>
/// 审核人类型 1主管(指定一级) 2 指定成员 3角色
/// </summary>
public int? AuditType
{
get;
set;
}
/// <summary>
/// 1依次审批(本环节内审批人依次审批) 2 会签(须所有审批人同意)3或签(一名审批人同意或拒绝即可)
/// </summary>
public int? AuditWay
{
get;
set;
}
/// <summary>
/// 存发起人或者岗位部门关联表id 发起人1 表示直属主管 2表示再上一级 依次类推
/// </summary>
public int? RoleOrInitiator
{
get;
set;
}
/// <summary>
/// 步骤(排序)
/// </summary>
public int? Sort
{
get;
set;
}
/// <summary>
/// AuditDescription
/// </summary>
public string AuditDescription
{
get;
set;
}
/// <summary>
/// 是否特殊节点0-常规1-出纳收款2-出纳付款
/// </summary>
public int? SpecialNode
{
get; set;
}
/// <summary>
/// 工作流id
/// </summary>
public int? WorkFlowId
{
get;
set;
}
/// <summary>
/// 1请假 2出差 3 外出 4 补卡
/// </summary>
public int? TemplateType
{
get;
set;
}
/// <summary>
/// 原审核id
/// </summary>
public int? OriginalAuditId
{
get;
set;
}
/// <summary>
/// 1未审核 2审核通过 3 不通过 4 驳回
/// </summary>
public int? Stauts
{
get;
set;
}
/// <summary>
/// 待审核人 1,2,3 以逗号分隔
/// </summary>
public string ToAuditId { get; set; }
/// <summary>
/// 已审核人 1,2,3 以逗号分割
/// </summary>
public string AuditedId { get; set; }
}
}
......@@ -60,5 +60,37 @@ namespace Mall.Model.Extend.Education
/// 活动地址
/// </summary>
public string LocationName { get; set; }
/// <summary>
/// 报名时间
/// </summary>
public string CreateStartTime { get; set; }
/// <summary>
/// 报名时间
/// </summary>
public string CreateEndTime { get; set; }
/// <summary>
/// 销售名称
/// </summary>
public string EduSellName { get; set; }
/// <summary>
/// 生日
/// </summary>
public string StuBirth { get; set; }
}
/// <summary>
/// 活动报名统计
/// </summary>
public class RB_Education_Consult_Statistics: RB_Education_Consult
{
public decimal DueInMoney { get; set; }
public int GuestNum { get; set; }
public int CancelNum { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Education;
namespace Mall.Model.Extend.Education
{
/// <summary>
/// 教育销售扩展表
/// </summary>
public class RB_Education_EduSell_Extend : RB_Education_EduSell
{
public Employee_ViewModel employeeModel { get; set; }
public string Ids { get; set; }
}
}
......@@ -122,6 +122,17 @@ namespace Mall.Model.Extend.Finance
/// 凭证实体
/// </summary>
public List<RB_Voucher_Extend> vorcherInos { get; set; }
/// <summary>
/// 财务单据颜色1-蓝色-已打单 2-平台出纳审核绿色- 3-银行出纳审核红色 4-通过
/// </summary>
public int? ColorType { get; set; }
/// <summary>
/// 财务单据名称
/// </summary>
public string StatusName { get; set; }
}
......
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Finance;
using VT.FW.DB;
namespace Mall.Model.Extend.Finance
{
/// <summary>
/// 审核步骤实体
/// </summary>
[Serializable]
[DB(ConnectionName = "FinanceConnection")]
public class Rb_Workflow_AuditRelevance_Extend : Rb_Workflow_AuditRelevance
{
/// <summary>
/// 指定员工ID列表
/// </summary>
public List<int> emList { get; set; }
/// <summary>
/// 待审核人名称
/// </summary>
public string ToAuditName { get; set; }
/// <summary>
/// 审核记录列表
/// </summary>
// public List<Rb_Workflow_Auditrecord_Extend> AuditRecordList { get; set; }
/// <summary>
/// 是否是下一步1-是0-否
/// </summary>
public int? NextStep
{
get;
set;
}
/// <summary>
/// 是否出纳审核1-是
/// </summary>
public int? CashierAudit
{
get; set;
}
/// <summary>
/// 财务审核常规流程列表
/// </summary>
public List<AuditInfo> AuditInfoList
{
get; set;
}
#region 财务审核步骤实体
/// <summary>
/// 审核人审核时间
/// </summary>
public class AuditInfo
{
/// <summary>
/// 审核记录ID
/// </summary>
public int? ID
{
get; set;
}
/// <summary>
/// 审核人
/// </summary>
public string AuditName
{
get; set;
}
/// <summary>
/// 审核时间
/// </summary>
public DateTime? AduitDate
{
get; set;
}
/// <summary>
/// 备注
/// </summary>
public string Remark
{
get; set;
}
/// <summary>
/// 审核状态
/// </summary>
public int? AuditStatus
{
get; set;
}
/// <summary>
/// 特殊节点
/// </summary>
public int? CashierAudit
{
get; set;
}
/// <summary>
/// 图片集合
/// </summary>
public List<string> Image { get; set; }
}
#endregion
}
}
......@@ -40,6 +40,10 @@ namespace Mall.Module.Education
/// </summary>
private readonly Repository.User.RB_Member_UserRepository member_UserRepository = new Repository.User.RB_Member_UserRepository();
/// <summary>
/// 分销商
/// </summary>
private readonly Repository.User.RB_Distributor_InfoRepository distributor_InfoRepository = new Repository.User.RB_Distributor_InfoRepository();
/// <summary>
/// 活动总结图片
......@@ -66,7 +70,10 @@ namespace Mall.Module.Education
/// 教育创建人
/// </summary>
private readonly RB_AccountRepository RB_AccountRepository = new RB_AccountRepository();
/// <summary>
/// 教育销售
/// </summary>
private readonly RB_Education_EduSellRepository education_EduSellRepository = new RB_Education_EduSellRepository();
/// <summary>
/// 财务单据
......@@ -515,6 +522,69 @@ namespace Mall.Module.Education
#region 活动报名
/// <summary>
/// 获取教育销售的基础信息
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Education_EduSell_Extend> GetEducationSellBaseInfo(RB_Education_EduSell_Extend query)
{
var list = education_EduSellRepository.GetEducationSellBaseInfo(query);
if (list != null && list.Any(x => x.EduSellId > 0))
{
string qIds = string.Join(",", list.Where(x => x.EduSellId > 0).Distinct().Select(x => x.EduSellId));
var employeeList = RB_AccountRepository.GetEmployeeListRepository(new Employee_ViewModel { QIds = qIds }).ToList();
if (employeeList != null && employeeList.Any())
{
foreach (var item in list)
{
item.employeeModel = new Employee_ViewModel();
item.employeeModel = employeeList.Where(x => x.Id == item.EduSellId).FirstOrDefault();
}
}
}
return list;
}
/// <summary>
/// 更新教育用户的基础信息
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetEduSellBaseInfo(RB_Education_EduSell_Extend model)
{
bool flag = false;
if (model.Id == 0)
{
flag = education_EduSellRepository.Insert(model) > 0;
}
else
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Education_EduSell_Extend.EduSellId),model.EduSellId },
};
flag = education_EduSellRepository.Update(fileds, new WhereHelper(nameof(RB_Education_EduSell_Extend.Id), model.Id));
}
return flag;
}
/// <summary>
/// 获取员工列表【管理者、讲师、助教】
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<Employee_ViewModel> GetEmployeeListModule(Employee_ViewModel query)
{
return RB_AccountRepository.GetEmployeeListRepository(query);
}
/// <summary>
/// 获取教育用户的基础信息
/// </summary>
......@@ -597,6 +667,16 @@ namespace Mall.Module.Education
return education_ConsultRepository.GetCommerceConsultListRepository(query);
}
/// <summary>
/// 获取报名实体
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public Model.Entity.Education.RB_Education_Consult GetConsultEntity(object id)
{
return education_ConsultRepository.GetEntity(id);
}
/// <summary>
/// 获取商会活动报名分页列表
/// </summary>
......@@ -612,6 +692,126 @@ namespace Mall.Module.Education
flist = financeRepository.GetListJH(new RB_Finance_Extend() { ReFinanceIds2 = orderIds });
if (flist != null && flist.Any())
{
var arlist = new Repository.Finance.Rb_Workflow_AuditRelevanceRepository().GetAuditRelevanceList(0, string.Join(",", flist.Select(x => x.FrID)));
foreach (var sitem in flist)
{
sitem.ColorType = 1;
if (sitem.Status == FinanceAuditStatus.Pass)
{
sitem.ColorType = 4;
}
else if (sitem.Status == FinanceAuditStatus.InReview || sitem.Status == FinanceAuditStatus.CTemporary)
{
if (sitem.Status == FinanceAuditStatus.CTemporary)
{
sitem.ColorType = 2;
}
else
{
var itemList = arlist.Where(x => x.WorkFlowId == sitem.FrID).ToList();
if (itemList != null && itemList.Count > 0)
{
var CasierList = itemList.Where(x => x.SpecialNode != 0).ToList();
if (CasierList.Count() == 1 && CasierList.Where(x => x.Stauts == 2).Count() == 1)
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 1 && CasierList.Where(x => x.Stauts == 2).Count() == CasierList.Count())
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 0 && itemList.Where(x => x.Stauts == 2).Count() == 0)
{
sitem.ColorType = 1;
}
}
else
{
sitem.ColorType = 1;
}
}
}
}
foreach (var item in list)
{
item.FinanceList = new List<RB_Finance_Extend>();
item.FinanceList = flist.Where(x => x.ReFinanceId2 == item.Id).ToList();
if (item.FinanceList == null || !item.FinanceList.Any())
{
item.FinanceList = new List<RB_Finance_Extend>();
}
}
}
}
return list;
}
/// <summary>
/// 获取用户的报名列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Education_Consult_Extend> GetCommerceConsultListRepository_V3(int pageIndex, int pageSize, out long rowsCount, RB_Education_Consult_Extend query)
{
var list = education_ConsultRepository.GetCommerceConsultListRepository_V3(pageIndex, pageSize, out rowsCount, query);
if (list.Any() && list.Any())
{
if (list.Any(x => x.EduUserId > 0))
{
string qIds = string.Join(",", list.Where(x => x.EduUserId > 0).Distinct().Select(x => x.EduUserId));
var employeeList = RB_AccountRepository.GetEmployeeListRepository(new Employee_ViewModel { QIds = qIds }).ToList();
list.ForEach(x => x.EduSellName = x.EduUserId > 0 ? employeeList.Where(y => y.Id == x.EduUserId).FirstOrDefault()?.EmployeeName : "");
}
List<RB_Finance_Extend> flist = new List<RB_Finance_Extend>();
string orderIds = string.Join(",", list.Select(x => x.Id));
flist = financeRepository.GetListJH(new RB_Finance_Extend() { ReFinanceIds2 = orderIds });
if (flist != null && flist.Any())
{
var arlist = new Repository.Finance.Rb_Workflow_AuditRelevanceRepository().GetAuditRelevanceList(0, string.Join(",", flist.Select(x => x.FrID)));
foreach (var sitem in flist)
{
sitem.StatusName = EnumHelper.GetEnumName(sitem.Status);
sitem.ColorType = 1;
if (sitem.Status == FinanceAuditStatus.Pass)
{
sitem.ColorType = 4;
}
else if (sitem.Status == FinanceAuditStatus.InReview || sitem.Status == FinanceAuditStatus.CTemporary)
{
if (sitem.Status == FinanceAuditStatus.CTemporary)
{
sitem.ColorType = 2;
}
else
{
var itemList = arlist.Where(x => x.WorkFlowId == sitem.FrID).ToList();
if (itemList != null && itemList.Count > 0)
{
var CasierList = itemList.Where(x => x.SpecialNode != 0).ToList();
if (CasierList.Count() == 1 && CasierList.Where(x => x.Stauts == 2).Count() == 1)
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 1 && CasierList.Where(x => x.Stauts == 2).Count() == CasierList.Count())
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 0 && itemList.Where(x => x.Stauts == 2).Count() == 0)
{
sitem.ColorType = 1;
}
}
else
{
sitem.ColorType = 1;
}
}
}
}
foreach (var item in list)
{
item.FinanceList = new List<RB_Finance_Extend>();
......@@ -625,6 +825,21 @@ namespace Mall.Module.Education
}
return list;
}
/// <summary>
/// 获取商会活动报名分页列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public RB_Education_Consult_Statistics GetCommerceConsultStatistics(RB_Education_Consult_Extend query)
{
var model = education_ConsultRepository.GetCommerceConsultStatistics(query);
return model;
}
/// <summary>
/// 获取用户的报名列表
/// </summary>
......@@ -656,98 +871,10 @@ namespace Mall.Module.Education
public int SetActivityEnrollInfo(RB_Education_Consult_Extend demodel, RB_Member_User_Extend umodel)
{
int flag = 0;
//var list = education_ConsultRepository.GetCommerceConsultListRepository(new RB_Education_Consult_Extend() { TenantId = demodel.TenantId, ActivityId = demodel.ActivityId, UserId = demodel.UserId });
//if (list.Any()) { return "已存在报名信息"; }
//var model = education_ActivityRepository.GetEntity(demodel.ActivityId);
//if (model == null || model.Status == Common.Enum.DateStateEnum.Delete) { return "活动不存在"; }
//if (model.SignStartTime >= DateTime.Now)
//{
// return "报名还未开始,无法报名";
//}
//if (model.SignEndTime <= DateTime.Now)
//{
// return "已过了报名时间,无法报名";
//}
//var bmodel = education_BaseInfoRepository.GetEducationBaseInfo(new RB_Education_BaseInfo_Extend() { TenantId = demodel.TenantId, UserId = demodel.UserId }).FirstOrDefault();
//// if (bmodel == null) { return "资料未认证,无法报名"; }
//if (model.Distinguish == 0)
//{
// if (bmodel == null || bmodel.Sex == 0)
// {
// return "您的性别保密,无法报名";
// }
// if (bmodel.Sex == 1)
// {
// int ManPeopleNum = education_ConsultRepository.GetActivityEnrollNum(demodel.Id, 1);
// if (model.ManNum <= ManPeopleNum) { return "已报满,无法报名"; }
// }
// else if (bmodel.Sex == 2)
// {
// int WoManPeopleNum = education_ConsultRepository.GetActivityEnrollNum(demodel.Id, 2);
// if (model.WoManNum <= WoManPeopleNum) { return "已报满,无法报名"; }
// }
// else
// {
// return "性别未维护,无法报名";
// }
//}
//else
//{
// int ManPeopleNum = education_ConsultRepository.GetActivityEnrollNum(demodel.Id, 0);
// if (model.ManNum <= ManPeopleNum) { return "已报满,无法报名"; }
//}
//if (model.AgeLimit == 0)
//{
// if (bmodel == null || string.IsNullOrWhiteSpace(bmodel.Birthday))
// {
// return "您未绑定学员信息无法获取到年龄,无法报名";
// }
// int Age = Convert.ToInt32(Common.Plugin.StringHelper.GetAge(bmodel.Birthday));
// if (model.StartAge > 0 && model.EndAge > 0)
// {
// if (Age < model.StartAge || Age > model.EndAge)
// {
// return $"年龄限制在{model.StartAge}-{model.EndAge}岁,无法报名";
// }
// }
// else if (model.StartAge > 0 && model.EndAge == 0)
// {
// if (Age < model.StartAge)
// {
// return $"年龄必须大于{model.StartAge}岁,无法报名";
// }
// }
// else if (model.StartAge == 0 && model.EndAge > 0)
// {
// if (Age > model.EndAge)
// {
// return $"年龄必须小于{model.EndAge}岁,无法报名";
// }
// }
//}
//demodel.Sex = bmodel.Sex;
//判断当前人的点数
if (demodel.PaymentWay == Common.Enum.Goods.OrderPaymentTypeEnum.PayPoint)
{
var trans = education_ConsultRepository.DbTransaction;
//var umodel = member_UserRepository.GetEntity(demodel.UserId);
//if (umodel == null || umodel.Id == 0)
//{
// return "用户信息不存在";
//}
//if (model.PointNum != demodel.TotalPoint)
//{
// if (umodel.PointNum < model.PointNum)
// {
// return "您的星星值不足,请充值后再试";
// }
//}
//demodel.OrderSource = umodel.Source;
//demodel.PaymentTime = System.DateTime.Now;
//demodel.OrderStatus = 1;
try
{
flag = education_ConsultRepository.Insert(demodel, trans);
......@@ -797,9 +924,101 @@ namespace Mall.Module.Education
{
flag = education_ConsultRepository.Insert(demodel);
}
else if (demodel.PaymentWay == Common.Enum.Goods.OrderPaymentTypeEnum.OfflinePay)
{
if (demodel.Id > 0)
{
flag = demodel.Id;
education_ConsultRepository.Update(demodel);
}
else
{
flag = education_ConsultRepository.Insert(demodel);
}
}
if (demodel.UserId > 0 && flag > 0)
{
//任务执行 订单记录当前用户的所有上级
System.Threading.Tasks.Task.Run(() => SaveOrderUserAllParent(demodel.UserId, flag));
}
return flag;
}
/// <summary>
/// 订单记录当前用户的所有上级
/// </summary>
/// <param name="UserId"></param>
/// <param name="OrderId"></param>
/// <returns></returns>
private bool SaveOrderUserAllParent(int UserId, int OrderId)
{
if (OrderId <= 0 || UserId <= 0)
{
return false;
}
try
{
string parentIds = member_UserRepository.GetMemberParentIdStr(UserId);
string distributorIds = "";
int eduUserId = 0;
if (!string.IsNullOrEmpty(parentIds))
{
//查询用户是否是分销商
var dlist = distributor_InfoRepository.GetListForSingle(new Model.Extend.User.RB_Distributor_Info_Extend() { UserIds = parentIds, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited });
List<int> pList = JsonHelper.DeserializeObject<List<int>>("[" + parentIds + "]");
foreach (var item in pList)
{
var dmodel = dlist.Where(x => x.UserId == item).FirstOrDefault();
if (dmodel != null)
{
distributorIds += item + ",";
}
}
if (!string.IsNullOrEmpty(distributorIds))
{
distributorIds = distributorIds[0..^1];
}
var userList = member_UserRepository.GetList(new RB_Member_User_Extend { UserIds = parentIds });
if (userList != null && userList.Any(x => x.SuperiorId == 0))
{
int userId = userList.Where(x => x.SuperiorId == 0).FirstOrDefault()?.Id ?? 0;
var eduSellModel = GetEducationSellBaseInfo(new RB_Education_EduSell_Extend { UserId = userId }).FirstOrDefault();
if (eduSellModel != null && eduSellModel.Id > 0)
{
eduUserId = eduSellModel.EduSellId;
}
}
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Education_Consult_Extend.UserTree),parentIds },
{ nameof(RB_Education_Consult_Extend.EduUserId),eduUserId },
{ nameof(RB_Education_Consult_Extend.DistributorTree),distributorIds }
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Education_Consult_Extend.Id),
FiledValue=OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = education_ConsultRepository.Update(keyValues, wheres);
return flag;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// 修改会员购买
/// </summary>
......@@ -826,11 +1045,14 @@ namespace Mall.Module.Education
{
return false;
}
decimal PlatformTax = (Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(Money)), 2, MidpointRounding.AwayFromZero));//手续费
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Education_Consult_Extend.PaymentTime),Time_End},
{ nameof(RB_Education_Consult_Extend.OrderStatus),1},
{ nameof(RB_Education_Consult_Extend.OrderNo),Out_Trade_No},
{ nameof(RB_Education_Consult_Extend.MerchantsNo),Transaction_Id}
{ nameof(RB_Education_Consult_Extend.MerchantsNo),Transaction_Id},
{ nameof(RB_Education_Consult_Extend.Income),(Math.Round((Money-PlatformTax),2,MidpointRounding.AwayFromZero))},
{ nameof(RB_Education_Consult_Extend.PlatformTax),PlatformTax}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper{
......@@ -852,7 +1074,7 @@ namespace Mall.Module.Education
var miniProgramModel = GetMiniProgramExtend(model.MallBaseId);
var userInfo = RB_AccountRepository.GetEmployeeListRepository(new Employee_ViewModel { Id = financeConfig.CreateBy, Group_Id = financeConfig.Group_Id }).ToList().FirstOrDefault();
var OriginalFee = Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(model.Money)), 2, MidpointRounding.AwayFromZero);//手续费
// var OriginalFee = Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(model.Money)), 2, MidpointRounding.AwayFromZero);//手续费
Model.Entity.Finance.RB_Online_Trade_Detail model1 = new Model.Entity.Finance.RB_Online_Trade_Detail();
#region 财务单据数据组装
var detailList = new List<object>
......@@ -879,7 +1101,7 @@ namespace Mall.Module.Education
OrderSource = 17,
Remark = System.DateTime.Now.ToString("yyyy年MM月dd日") + "自动生成财务单据",
detailList,
OriginalFee,
OriginalFee= PlatformTax,
CreateBy = userInfo.Id,
RemitterName = umodel.Name,
RB_Branch_Id = userInfo.School_Id,
......@@ -955,7 +1177,77 @@ namespace Mall.Module.Education
}
/// <summary>
///
/// </summary>
/// <param name="OrderId"></param>
/// <param name="Money"></param>
/// <param name="ActivityId"></param>
/// <returns></returns>
public bool UpdateActivityIncome(int OrderId, decimal Money, decimal PlatformTax)
{
//判断订单状态是否是待支付 2020-06-16 Add By:W
var model = education_ConsultRepository.GetEntity(OrderId);
if (model == null)
{
return false;
}
if (Money >= model.Money)
{
model.OrderStatus = 1;
}
// model.PlatformTax = model.PlatformTax + PlatformTax;
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Education_Consult_Extend.PaymentTime),System.DateTime.Now},
{ nameof(RB_Education_Consult_Extend.OrderStatus),model.OrderStatus},
{ nameof(RB_Education_Consult_Extend.Income),Money},
{ nameof(RB_Education_Consult_Extend.PlatformTax),PlatformTax}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Education_Consult_Extend.Id),
FiledValue=OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = education_ConsultRepository.Update(keyValues, wheres);//更新会员报名支付状态
return flag;
}
/// <summary>
///
/// </summary>
/// <param name="OrderId"></param>
/// <param name="Money"></param>
/// <param name="ActivityId"></param>
/// <returns></returns>
public bool UpdateActivityReturn(int OrderId, decimal Money)
{
//判断订单状态是否是待支付 2020-06-16 Add By:W
var model = education_ConsultRepository.GetEntity(OrderId);
if (model == null)
{
return false;
}
//model.RefundPrice = model.RefundPrice + Money;
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Education_Consult_Extend.RefundPrice),Money},
{ nameof(RB_Education_Consult_Extend.RefundTime),System.DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Education_Consult_Extend.Id),
FiledValue=OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = education_ConsultRepository.Update(keyValues, wheres);//更新会员报名支付状态
return flag;
}
/// <summary>
......@@ -965,7 +1257,7 @@ namespace Mall.Module.Education
/// <param name="applyForCancelStatus"></param>
/// <param name="rejectRemark"></param>
/// <returns></returns>
public bool SetCommerceConsultApplyCancel(int id, int applyForCancelStatus, string rejectRemark, string refundid)
public bool SetCommerceConsultApplyCancel(int id, int applyForCancelStatus, string rejectRemark, string refundid, decimal dPaid)
{
var model = education_ConsultRepository.GetEntity(id);
if (model == null || model.Status == Common.Enum.DateStateEnum.Delete) { return false; }
......@@ -990,6 +1282,7 @@ namespace Mall.Module.Education
{nameof(RB_Education_Consult_Extend.ApplyForCancelStatus),applyForCancelStatus },
{nameof(RB_Education_Consult_Extend.RejectRemark),rejectRemark },
{nameof(RB_Education_Consult_Extend.RefundOrderNo),refundid },
{nameof(RB_Education_Consult_Extend.RefundPrice),dPaid },
};
}
List<WhereHelper> list = new List<WhereHelper>()
......@@ -1169,7 +1462,7 @@ namespace Mall.Module.Education
/// <param name="Id"></param>
/// <param name="Status"></param>
/// <returns></returns>
public bool CancelCommerceConsultModule(int activityId, string cancelRemark, out int IsCancelConfirm, int userId, string refundid, RB_Education_Consult_Extend cmodel)
public bool CancelCommerceConsultModule(int activityId, string cancelRemark, out int IsCancelConfirm, int userId, string refundid, RB_Education_Consult_Extend cmodel, decimal dPaid)
{
bool flag;
// var cmodel = education_ConsultRepository.GetCommerceConsultListRepository(new RB_Education_Consult_Extend() { ActivityId = activityId, UserId = userId }).FirstOrDefault();
......@@ -1202,6 +1495,7 @@ namespace Mall.Module.Education
{nameof(RB_Education_Consult_Extend.Status),1 },
{nameof(RB_Education_Consult_Extend.RefundOrderNo),refundid },
{nameof(RB_Education_Consult_Extend.RefundTime),System.DateTime.Now },
{nameof(RB_Education_Consult_Extend.RefundPrice),dPaid},
};
}
List<WhereHelper> list = new List<WhereHelper>()
......@@ -1366,6 +1660,53 @@ namespace Mall.Module.Education
}
/// <summary>
/// 取消商会活动报名状态
/// </summary>
/// <param name="Id"></param>
/// <param name="Status"></param>
/// <returns></returns>
public bool CancelCommerceConsult(int activityId, string cancelRemark, out int IsCancelConfirm, RB_Education_Consult_Extend cmodel)
{
bool flag;
// var cmodel = education_ConsultRepository.GetCommerceConsultListRepository(new RB_Education_Consult_Extend() { ActivityId = activityId, UserId = userId }).FirstOrDefault();
IsCancelConfirm = cmodel.IsCancelConfirm;
if (cmodel == null || cmodel.Status == Common.Enum.DateStateEnum.Delete) { return true; }
if (cmodel.IsCancelConfirm == 1)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Education_Consult_Extend.IsApplyForCancel),1 },
{nameof(RB_Education_Consult_Extend.CancelRemark),cancelRemark },
};
List<WhereHelper> list = new List<WhereHelper>()
{
new WhereHelper(nameof(RB_Education_Consult_Extend.Id), cmodel.Id)
};
flag = education_ConsultRepository.Update(fileds, list);
}
else
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Education_Consult_Extend.Status),1 },
{nameof(RB_Education_Consult_Extend.RefundTime),System.DateTime.Now },
};
List<WhereHelper> list = new List<WhereHelper>()
{
new WhereHelper(nameof(RB_Education_Consult_Extend.ActivityId), activityId),
new WhereHelper(nameof(RB_Education_Consult_Extend.Id), cmodel.Id),
};
flag = education_ConsultRepository.Update(fileds, list);
}
return flag;
}
#endregion
......@@ -1381,6 +1722,17 @@ namespace Mall.Module.Education
}
/// <summary>
/// 获取学生列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student> GetStudentListByEnterID(RB_Student query, int EnterID)
{
return studentRepository.GetStudentListByEnterID(query, EnterID);
}
/// <summary>
......
......@@ -6004,7 +6004,7 @@ namespace Mall.Module.User
int IsNormalServer = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("IsNormalServer").Value);
if (IsNormalServer != 1)
{
token = "46__bXdCmXKR-3O68ayCYYCJd9KIYUFD-5IkiYJHlJb7ORV7PfpNPp7Csf9KcwMAU42oDaRFfj__NI_N8ZI3_-RqTMeDq9UM3pU1k7ceBAg1miucYcwtwj0UAMx1j_NWkwX3AoMeGdVhA9GWcXaKVTfABADOM";
token = "46_j34B0dYxaINcVzqoZB4dFegSrFwJt8n4qHSfi7nPOk6LjGWr7fTL2mVTsnip4h-vfaMypZ5a_0lZYJKv2BVsV9KPC9jQHhFVP59z_gJQssian0QqZF6YU8qMSqt-D5x-CpOeOV_kJ6qg9h6XJJUhAJABBM";
}
if (string.IsNullOrEmpty(token))
{
......@@ -6088,7 +6088,7 @@ namespace Mall.Module.User
int IsNormalServer = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("IsNormalServer").Value);
if (IsNormalServer != 1)
{
token = "46__bXdCmXKR-3O68ayCYYCJd9KIYUFD-5IkiYJHlJb7ORV7PfpNPp7Csf9KcwMAU42oDaRFfj__NI_N8ZI3_-RqTMeDq9UM3pU1k7ceBAg1miucYcwtwj0UAMx1j_NWkwX3AoMeGdVhA9GWcXaKVTfABADOM";
token = "46_j34B0dYxaINcVzqoZB4dFegSrFwJt8n4qHSfi7nPOk6LjGWr7fTL2mVTsnip4h-vfaMypZ5a_0lZYJKv2BVsV9KPC9jQHhFVP59z_gJQssian0QqZF6YU8qMSqt-D5x-CpOeOV_kJ6qg9h6XJJUhAJABBM";
}
if (string.IsNullOrEmpty(token))
{
......@@ -6135,7 +6135,7 @@ namespace Mall.Module.User
int IsNormalServer = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("IsNormalServer").Value);
if (IsNormalServer != 1)
{
token = "46__bXdCmXKR-3O68ayCYYCJd9KIYUFD-5IkiYJHlJb7ORV7PfpNPp7Csf9KcwMAU42oDaRFfj__NI_N8ZI3_-RqTMeDq9UM3pU1k7ceBAg1miucYcwtwj0UAMx1j_NWkwX3AoMeGdVhA9GWcXaKVTfABADOM";
token = "46_j34B0dYxaINcVzqoZB4dFegSrFwJt8n4qHSfi7nPOk6LjGWr7fTL2mVTsnip4h-vfaMypZ5a_0lZYJKv2BVsV9KPC9jQHhFVP59z_gJQssian0QqZF6YU8qMSqt-D5x-CpOeOV_kJ6qg9h6XJJUhAJABBM";
}
if (string.IsNullOrEmpty(token))
{
......
......@@ -135,7 +135,7 @@ namespace Mall.Repository.Education
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT ar.AccountRemark,A.Id,A.Account,A.AccountId,A.Group_Id,A.School_Id,A.EmployeeName,A.UserIcon,A.IDCard,A.Sex,A.Education,A.EntryTime,A.Address,A.BirthDate
SELECT ar.AccountRemark,A.Id,A.Account,A.AccountId,A.Group_Id,A.School_Id,A.`Password`,A.EmployeeName,A.UserIcon,A.IDCard,A.Sex,A.Education,A.EntryTime,A.Address,A.BirthDate
,A.LeaveStatus,A.LeaveTime,A.EmployeeTel,A.AccountType,A.Email,IFNULL(A.DirectSupervisor,0) AS DirectSupervisor
,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName
,IFNULL(d.DeptId,0) AS Dept_Id,IFNULL(d.DeptName,'') AS DeptName,IFNULL(p.PostId,0) AS Post_Id, IFNULL(p.PostName,'') AS PostName
......
......@@ -52,8 +52,19 @@ WHERE 1=1
}
if (query.OrderStatus > -1)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
if (query.OrderStatus == 1)
{
builder.AppendFormat(" AND ({0}=1 or {1}={2} ) ", nameof(RB_Education_Consult_Extend.OrderStatus), nameof(RB_Education_Consult_Extend.PaymentWay), (int)Common.Enum.Goods.OrderPaymentTypeEnum.OfflinePay);
}
else
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
}
}
//if (query.OrderStatus > -1)
//{
// builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
//}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.MallBaseId), query.MallBaseId);
......@@ -63,6 +74,10 @@ WHERE 1=1
builder.AppendFormat(" AND {0} LIKE @Name ", nameof(RB_Education_Consult_Extend.LinkMan));
parameters.Add("Name", "%" + query.LinkMan.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.LinkTel))
{
builder.AppendFormat(" AND {0} ='{1}' ", nameof(RB_Education_Consult_Extend.LinkTel), query.LinkTel.Trim());
}
if (query.ActivityId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.ActivityId), query.ActivityId);
......@@ -79,6 +94,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.UserId), query.UserId);
}
if (query.EduStudentId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.EduStudentId), query.EduStudentId);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_Consult_Extend.Id), query.Id);
......@@ -129,7 +148,14 @@ left join rb_education_activity b on a.ActivityId = b.Id where 1=1
}
if (query.OrderStatus > -1)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
if (query.OrderStatus == 1)
{
builder.AppendFormat(" AND (a.{0}=1 or a.{1}={2} ) ", nameof(RB_Education_Consult_Extend.OrderStatus), nameof(RB_Education_Consult_Extend.PaymentWay), (int)Common.Enum.Goods.OrderPaymentTypeEnum.OfflinePay);
}
else
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
}
}
if (query.MallBaseId > 0)
{
......@@ -140,10 +166,33 @@ left join rb_education_activity b on a.ActivityId = b.Id where 1=1
builder.AppendFormat(" AND a.{0} LIKE @Name ", nameof(RB_Education_Consult_Extend.LinkMan));
parameters.Add("Name", "%" + query.LinkMan.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.ActivityName))
{
builder.AppendFormat(" AND b.{0} LIKE '%{1}%' ", nameof(RB_Education_Activity_Extend.ActivityName), query.ActivityName.Trim());
}
if (query.ActivityId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.ActivityId), query.ActivityId);
}
if (!string.IsNullOrWhiteSpace(query.CreateStartTime))//报名时间
{
builder.AppendFormat($" and DATE_FORMAT(a.{ nameof(RB_Education_Consult_Extend.CreateTime)},'%Y-%m-%d' )>=DATE_FORMAT('{query.CreateStartTime}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrWhiteSpace(query.CreateEndTime))//报名时间
{
builder.AppendFormat($" and DATE_FORMAT(a.{nameof(RB_Education_Consult_Extend.CreateTime)},'%Y-%m-%d' )<= DATE_FORMAT('{query.CreateEndTime}','%Y-%m-%d' ) ");
}
if (query.StartTime.HasValue)//活动开始时间
{
builder.AppendFormat($" and DATE_FORMAT(b.{ nameof(RB_Education_Activity_Extend.StartTime)},'%Y-%m-%d' )>=DATE_FORMAT('{query.StartTime.Value.ToString("yyyy-MM-dd")}','%Y-%m-%d' ) ");
}
if (query.EndTime.HasValue)//活动开始时间
{
builder.AppendFormat($" and DATE_FORMAT(b.{nameof(RB_Education_Consult_Extend.StartTime)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndTime.Value.ToString("yyyy-MM-dd")}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrEmpty(query.QActivityIds))
{
builder.AppendFormat(" AND a.{0} IN({1}) ", nameof(RB_Education_Consult_Extend.ActivityId), query.QActivityIds);
......@@ -156,6 +205,10 @@ left join rb_education_activity b on a.ActivityId = b.Id where 1=1
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.UserId), query.UserId);
}
if (query.EduUserId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.EduUserId), query.EduUserId);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Id), query.Id);
......@@ -164,6 +217,239 @@ left join rb_education_activity b on a.ActivityId = b.Id where 1=1
return Get<RB_Education_Consult_Extend>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取用户的报名列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Education_Consult_Extend> GetCommerceConsultListRepository_V3(int pageIndex, int pageSize, out long rowsCount, RB_Education_Consult_Extend query)
{
DynamicParameters parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*,b.ActivityName,b.CoverImg,b.StartTime,b.EndTime,b.LocationName
FROM RB_Education_Consult a
left join rb_education_activity b on a.ActivityId = b.Id where 1=1
");
if (query == null)
{
rowsCount = 0;
return new List<RB_Education_Consult_Extend>();
}
else
{
if (query.EnrollState > 0)
{
if (query.EnrollState == 1)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Status), (int)DateStateEnum.Normal);
}
else if (query.EnrollState == 2)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Status), (int)DateStateEnum.Delete);
}
}
else
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Status), (int)DateStateEnum.Normal);
}
if (query.TenantId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.TenantId), query.TenantId);
}
if (query.OrderStatus > -1)
{
if (query.OrderStatus == 1)
{
builder.AppendFormat(" AND (a.{0}=1 or a.{1}={2} ) ", nameof(RB_Education_Consult_Extend.OrderStatus), nameof(RB_Education_Consult_Extend.PaymentWay), (int)Common.Enum.Goods.OrderPaymentTypeEnum.OfflinePay);
}
else
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
}
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.MallBaseId), query.MallBaseId);
}
if (!string.IsNullOrEmpty(query.LinkMan))
{
builder.AppendFormat(" AND a.{0} LIKE @Name ", nameof(RB_Education_Consult_Extend.LinkMan));
parameters.Add("Name", "%" + query.LinkMan.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.ActivityName))
{
builder.AppendFormat(" AND b.{0} LIKE '%{1}%' ", nameof(RB_Education_Activity_Extend.ActivityName), query.ActivityName.Trim());
}
if (query.ActivityId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.ActivityId), query.ActivityId);
}
if (!string.IsNullOrWhiteSpace(query.CreateStartTime))//报名时间
{
builder.AppendFormat($" and DATE_FORMAT(a.{ nameof(RB_Education_Consult_Extend.CreateTime)},'%Y-%m-%d' )>=DATE_FORMAT('{query.CreateStartTime}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrWhiteSpace(query.CreateEndTime))//报名时间
{
builder.AppendFormat($" and DATE_FORMAT(a.{nameof(RB_Education_Consult_Extend.CreateTime)},'%Y-%m-%d' )<= DATE_FORMAT('{query.CreateEndTime}','%Y-%m-%d' ) ");
}
if (query.StartTime.HasValue&&query.StartTime.Value.ToString("yyyy-MM-dd")!= "0001-01-01")//活动开始时间
{
builder.AppendFormat($" and DATE_FORMAT(b.{ nameof(RB_Education_Activity_Extend.StartTime)},'%Y-%m-%d' )>=DATE_FORMAT('{query.StartTime.Value.ToString("yyyy-MM-dd")}','%Y-%m-%d' ) ");
}
if (query.EndTime.HasValue && query.StartTime.Value.ToString("yyyy-MM-dd") != "0001-01-01")//活动开始时间
{
builder.AppendFormat($" and DATE_FORMAT(b.{nameof(RB_Education_Consult_Extend.StartTime)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndTime.Value.ToString("yyyy-MM-dd")}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrEmpty(query.QActivityIds))
{
builder.AppendFormat(" AND a.{0} IN({1}) ", nameof(RB_Education_Consult_Extend.ActivityId), query.QActivityIds);
}
if (!string.IsNullOrEmpty(query.QUserIds))
{
builder.AppendFormat(" AND a.{0} IN({1}) ", nameof(RB_Education_Consult_Extend.UserId), query.QUserIds);
}
if (query.UserId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.UserId), query.UserId);
}
if (query.EduUserId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.EduUserId), query.EduUserId);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Id), query.Id);
}
}
builder.AppendFormat(" order by a.Id desc");
return GetPage<RB_Education_Consult_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取商会活动报名分页列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public RB_Education_Consult_Statistics GetCommerceConsultStatistics(RB_Education_Consult_Extend query)
{
DynamicParameters parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
select SUM(CASE WHEN a.`Status` <> 1 THEN a.Money-a.RefundPrice ELSE 0 END) AS Money,
SUM(CASE WHEN a.`Status` <> 1 THEN (a.Income+a.PlatformTax) ELSE 0 END) AS Income,
SUM(CASE WHEN a.`Status` <> 1 THEN (a.Money-a.Income-a.PlatformTax-a.RefundPrice) ELSE 0 END) AS DueInMoney,
SUM(CASE WHEN a.`Status` <> 1 THEN 1 ELSE 0 END) AS GuestNum,
SUM(CASE WHEN a.Status = 1 THEN 1 ELSE 0 END) AS CancelNum
from rb_education_consult a
left join rb_education_activity b on a.ActivityId = b.Id where 1=1 ");
if (query == null)
{
return new RB_Education_Consult_Statistics();
}
else
{
if (query.EnrollState > 0)
{
if (query.EnrollState == 1)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Status), (int)DateStateEnum.Normal);
}
else if (query.EnrollState == 2)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Status), (int)DateStateEnum.Delete);
}
}
else
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Status), (int)DateStateEnum.Normal);
}
if (query.TenantId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.TenantId), query.TenantId);
}
if (query.OrderStatus > -1)
{
if (query.OrderStatus == 1)
{
builder.AppendFormat(" AND (a.{0}=1 or a.{1}={2} ) ", nameof(RB_Education_Consult_Extend.OrderStatus), nameof(RB_Education_Consult_Extend.PaymentWay), (int)Common.Enum.Goods.OrderPaymentTypeEnum.OfflinePay);
}
else
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.OrderStatus), query.OrderStatus);
}
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.MallBaseId), query.MallBaseId);
}
if (!string.IsNullOrEmpty(query.LinkMan))
{
builder.AppendFormat(" AND a.{0} LIKE @Name ", nameof(RB_Education_Consult_Extend.LinkMan));
parameters.Add("Name", "%" + query.LinkMan.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.ActivityName))
{
builder.AppendFormat(" AND b.{0} LIKE '%{1}%' ", nameof(RB_Education_Activity_Extend.ActivityName), query.ActivityName.Trim());
}
if (query.ActivityId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.ActivityId), query.ActivityId);
}
if (!string.IsNullOrWhiteSpace(query.CreateStartTime))//报名时间
{
builder.AppendFormat($" and DATE_FORMAT(a.{ nameof(RB_Education_Consult_Extend.CreateTime)},'%Y-%m-%d' )>=DATE_FORMAT('{query.CreateStartTime}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrWhiteSpace(query.CreateEndTime))//报名时间
{
builder.AppendFormat($" and DATE_FORMAT(a.{nameof(RB_Education_Consult_Extend.CreateTime)},'%Y-%m-%d' )<= DATE_FORMAT('{query.CreateEndTime}','%Y-%m-%d' ) ");
}
if (query.StartTime.HasValue && query.StartTime.Value.ToString("yyyy-MM-dd") != "0001-01-01")//活动开始时间
{
builder.AppendFormat($" and DATE_FORMAT(b.{ nameof(RB_Education_Activity_Extend.StartTime)},'%Y-%m-%d' )>=DATE_FORMAT('{query.StartTime.Value.ToString("yyyy-MM-dd")}','%Y-%m-%d' ) ");
}
if (query.EndTime.HasValue && query.StartTime.Value.ToString("yyyy-MM-dd") != "0001-01-01")//活动开始时间
{
builder.AppendFormat($" and DATE_FORMAT(b.{nameof(RB_Education_Consult_Extend.StartTime)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndTime.Value.ToString("yyyy-MM-dd")}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrEmpty(query.QActivityIds))
{
builder.AppendFormat(" AND a.{0} IN({1}) ", nameof(RB_Education_Consult_Extend.ActivityId), query.QActivityIds);
}
if (!string.IsNullOrEmpty(query.QUserIds))
{
builder.AppendFormat(" AND a.{0} IN({1}) ", nameof(RB_Education_Consult_Extend.UserId), query.QUserIds);
}
if (query.UserId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.UserId), query.UserId);
}
if (query.EduUserId > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.EduUserId), query.EduUserId);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Education_Consult_Extend.Id), query.Id);
}
}
return Get<RB_Education_Consult_Statistics>(builder.ToString(), parameters).ToList().FirstOrDefault();
}
/// <summary>
/// 获取用户的报名列表
/// </summary>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Common.Enum;
using Mall.Model.Entity.Education;
using Mall.Model.Extend.Education;
namespace Mall.Repository.Education
{
public class RB_Education_EduSellRepository : BaseRepository<RB_Education_EduSell>
{
/// <summary>
/// 获取教育销售的基础信息
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Education_EduSell_Extend> GetEducationSellBaseInfo(RB_Education_EduSell_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Education_EduSell
WHERE 1=1
");
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_EduSell_Extend.Status), (int)DateStateEnum.Normal);
if (query == null)
{
return new List<RB_Education_EduSell_Extend>();
}
else
{
if (query.TenantId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_EduSell_Extend.TenantId), query.TenantId);
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_EduSell_Extend.MallBaseId), query.MallBaseId);
}
if (query.UserId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_EduSell_Extend.UserId), query.UserId);
}
if (query.EduSellId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Education_EduSell_Extend.EduSellId), query.EduSellId);
}
if (!string.IsNullOrWhiteSpace(query.Ids))
{
builder.AppendFormat($@" AND { nameof(RB_Education_EduSell_Extend.UserId)} in ({query.Ids}) ");
}
}
return Get<RB_Education_EduSell_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -52,5 +52,62 @@ namespace Mall.Repository.Education
}
return Get<RB_Student>(builder.ToString()).ToList();
}
/// <summary>
/// 获取学生列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student> GetStudentListByEnterID(RB_Student query,int EnterID)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"SELECT t.* from rb_student as t LEFT JOIN RB_Student_OrderGuest as sog on t.StuId=sog.Student_Id
LEFT JOIN rb_order_guest as og on og.Id=sog.GuestId
LEFT JOIN rb_order as o on o.OrderId=og.OrderId WHERE 1=1 and o.OrderState<>3 and og.`Status`=0 and sog.`Status`=0");
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.Group_Id), query.Group_Id);
}
if (query.School_Id > -1)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.School_Id), query.School_Id);
}
if (!string.IsNullOrWhiteSpace(query.StuTel))
{
builder.AppendFormat(" AND t.{0}='{1}' ", nameof(RB_Student.StuTel), query.StuTel);
// parameters.Add("StuTel", "%" + query.StuTel.Trim() + "%");
}
if (query.ProviceId > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.ProviceId), query.ProviceId);
}
if (query.CityId > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.CityId), query.CityId);
}
if (query.AreaId > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.AreaId), query.AreaId);
}
if (query.StuId > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student.StuId), query.StuId);
}
if (EnterID > 0)
{
builder.AppendFormat(" AND o.EnterID={0} ", EnterID);
}
}
return Get<RB_Student>(builder.ToString()).ToList();
}
}
}
......@@ -207,9 +207,9 @@ where {where} order by FrID desc
{
where += string.Format(" AND A." + nameof(RB_Finance.OrderID) + " ={0}", model.OrderID);
}
if (model.ReFinanceId > 0)
if (model.ReFinanceId2 > 0)
{
where += string.Format(" AND A." + nameof(RB_Finance.ReFinanceId) + " ={0}", model.ReFinanceId);
where += string.Format(" AND A." + nameof(RB_Finance.ReFinanceId2) + " ={0}", model.ReFinanceId2);
}
if (!string.IsNullOrWhiteSpace(model.OrderIdStr))
{
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Model.Entity.Finance;
using Mall.Model.Extend.Finance;
namespace Mall.Repository.Finance
{
/// <summary>
/// 审核节点拷贝信息扩展表
/// </summary>
public class Rb_Workflow_AuditRelevanceRepository : BaseRepository<Rb_Workflow_AuditRelevance>
{
/// <summary>
/// 根据工作流id和模版类型获取所有审核流程
/// </summary>
/// <param name="WorkFlowId">工作流ID</param>
/// <param name="FrIdStr"></param>
/// <param name="status"></param>
/// <returns></returns>
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceList(int WorkFlowId, string FrIdStr = "", int? status = null)
{
string where = $@" where 1=1 ";
if (WorkFlowId > 0)
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.WorkFlowId) }={WorkFlowId}";
}
if (!string.IsNullOrWhiteSpace(FrIdStr))
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.WorkFlowId) } in({FrIdStr})";
}
if (status != null)
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.Stauts) }={(int)status}";
}
string sql = $@"SELECT ar.* from rb_workflow_auditrelevance ar {where} ORDER BY ar.Sort asc";
return Get<Rb_Workflow_AuditRelevance_Extend>(sql).ToList();
}
/// <summary>
/// 根据工作流ids获取所有审核流程
/// </summary>
/// <param name="FinanceIds"></param>
/// <returns></returns>
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceListForFIds(string FinanceIds)
{
string where = $@" where 1=1 and ar.{nameof(Rb_Workflow_AuditRelevance.Stauts)}=1";
if (!string.IsNullOrWhiteSpace(FinanceIds))
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.WorkFlowId) } in({FinanceIds})";
}
string sql = $@"SELECT ar.* from rb_workflow_auditrelevance ar {where} ORDER BY ar.Sort asc";
return Get<Rb_Workflow_AuditRelevance_Extend>(sql).ToList();
}
/// <summary>
/// 通过审核ID查询审核信息
/// </summary>
/// <param name="AuditIds"></param>
/// <param name="FinanceAuditType">财务节点类型枚举</param>
/// <returns></returns>
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceList(string AuditIds, int FinanceAuditType = 0)
{
string where = $@" where 1=1 ";
if (!string.IsNullOrEmpty(AuditIds))
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.Id) } in ({AuditIds})";
}
if (FinanceAuditType > 0)
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.SpecialNode) }= ({(int)FinanceAuditType})";
}
string sql = $@"SELECT ar.* from rb_workflow_auditrelevance ar {where} ORDER BY ar.Sort asc";
return Get<Rb_Workflow_AuditRelevance_Extend>(sql).ToList();
}
}
}
......@@ -610,7 +610,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
// couponModule.UpdateDepositBuy(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, PayType, dPaid, PayDate);
return ApiResult.Success("");
}
......@@ -921,6 +921,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
demodel.Status = 0;
demodel.IsCancelConfirm = model.IsCancelConfirm;
demodel.CreateTime = System.DateTime.Now;
demodel.EduStudentId = (bmodel != null && bmodel.Id > 0) ? bmodel.StudentId : 0;
var umodel = userModule.GetMemberUserInfo(demodel.UserId);
demodel.OrderSource = umodel.Source;
//判断当前人的点数
......
using System;
using System.Collections.Generic;
using System.Linq;
using Mall.CacheManager.User;
using Mall.Common;
using Mall.Common.API;
using Mall.Common.Enum;
using Mall.Common.Enum.Goods;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Plugin;
using Mall.Model.Entity.Education;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.Education;
using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.Product;
using Mall.Model.Extend.User;
using Mall.Module.Education;
using Mall.Module.User;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Mall.Common.Plugin;
using Mall.Common.Enum.User;
using Newtonsoft.Json.Linq;
using Mall.Model.Extend.Product;
using Mall.Model.Extend.MarketingCenter;
using Mall.Module.BaseSetUp;
using Mall.Common;
using Mall.CacheManager.User;
using Microsoft.AspNetCore.Authorization;
using Mall.Module.Education;
using Mall.Model.Extend.Education;
using Mall.Model.Entity.Education;
using Mall.Common.Enum;
using Mall.Common.Enum.MarketingCenter;
using Mall.Model.Entity.MarketingCenter;
using Microsoft.AspNetCore.Http;
using Mall.Common.Enum.Goods;
namespace Mall.WebApi.Controllers.Education
{
......@@ -1895,7 +1893,7 @@ namespace Mall.WebApi.Controllers.Education
if (model.ActivityTitleList != null && model.ActivityTitleList.Any())
{
var planList = activityModule.GetActivityPlanList(new RB_Education_ActivityPlan_Extend { ActivityId = model.Id, TenantId = model.TenantId, MallBaseId = model.MallBaseId });
if (planList!=null&& planList.Any())
if (planList != null && planList.Any())
{
planList.ForEach(x => x.TripPicList = !string.IsNullOrWhiteSpace(x.TripPic) ? JsonConvert.DeserializeObject<List<string>>(x.TripPic) : new List<string>());
foreach (var item in model.ActivityTitleList)
......@@ -1991,7 +1989,7 @@ namespace Mall.WebApi.Controllers.Education
string refundid = dic["refundid"];//微信退款单号
string outRefundNo = dic["outRefundNo"];//商户退款单号
flag = activityModule.CancelCommerceConsultModule(ActivityId, CancelRemark, out int IsCancelConfirm, userInfo.UserId, refundid, model);
flag = activityModule.CancelCommerceConsultModule(ActivityId, CancelRemark, out int IsCancelConfirm, userInfo.UserId, refundid, model, dPaid);
return flag ? ApiResult.Success("", IsCancelConfirm) : ApiResult.Failed();
}
else
......@@ -2001,7 +1999,7 @@ namespace Mall.WebApi.Controllers.Education
}
else
{
flag = activityModule.CancelCommerceConsultModule(ActivityId, CancelRemark, out int IsCancelConfirm, userInfo.UserId, "", model);
flag = activityModule.CancelCommerceConsultModule(ActivityId, CancelRemark, out int IsCancelConfirm, userInfo.UserId, "", model, 0);
return flag ? ApiResult.Success("", IsCancelConfirm) : ApiResult.Failed();
}
return ApiResult.Failed("报名取消失败,请联系客服");
......@@ -2209,5 +2207,97 @@ namespace Mall.WebApi.Controllers.Education
}
#endregion
#region 绑定销售
/// <summary>
/// 绑定甲鹤销售
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetBindEduSell()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
JObject jobj = JObject.Parse(req.msg.ToString());
string eduSellAccount = jobj.GetStringValue("EduSellAccount");
string password = jobj.GetStringValue("password");
if (string.IsNullOrWhiteSpace(eduSellAccount) || string.IsNullOrWhiteSpace(password))
{
return ApiResult.Failed("账户或密码不能为空");
}
var model = activityModule.GetEmployeeListModule(new Employee_ViewModel()
{
Account = eduSellAccount,
School_Id = -1
})?.FirstOrDefault();
if (model == null)
{
return ApiResult.Failed("该账号不存在");
}
password = Common.DES.Encrypt(password);
if (model.Password != password)
{
return ApiResult.Failed("密码错误");
}
//判断改手机号码是否绑定其他了用户了
var eduModel = activityModule.GetEducationSellBaseInfo(new RB_Education_EduSell_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, EduSellId = model.Id }).FirstOrDefault();
if (eduModel != null && eduModel.UserId != userInfo.UserId)
{
return ApiResult.Failed("账户已绑定其他用户");
}
// var eduModel = activityModule.GetEducationSellBaseInfo(new RB_Education_EduSell_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId }).FirstOrDefault();
if (eduModel == null || eduModel.Id == 0)
{
eduModel = new RB_Education_EduSell_Extend();
eduModel.Id = 0;
eduModel.TenantId = userInfo.TenantId;
eduModel.MallBaseId = userInfo.MallBaseId;
eduModel.CreateDate = System.DateTime.Now;
eduModel.Status = 0;
eduModel.UserId = userInfo.UserId;
}
eduModel.EduSellId = model.Id;
bool result = activityModule.SetEduSellBaseInfo(eduModel);
return result ? ApiResult.Success("销售信息绑定成功") : ApiResult.Failed("销售信息绑定失败");
}
/// <summary>
/// 获取用户绑定的甲鹤销售
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetBindEduSellInfo()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
var eduModel = activityModule.GetEducationSellBaseInfo(new RB_Education_EduSell_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, UserId = userInfo.UserId }).FirstOrDefault();
if (eduModel == null || eduModel.Id == 0)
{
eduModel = new RB_Education_EduSell_Extend();
}
return ApiResult.Success("", new
{
eduModel.Id,
EmpId = eduModel.employeeModel?.Id ?? 0,
EmployeeName = eduModel.employeeModel?.EmployeeName ?? "",
UserIcon = eduModel.employeeModel?.UserIcon ?? "",
PostName = eduModel.employeeModel?.PostName ?? "",
DeptName = eduModel.employeeModel?.DeptName ?? "",
});
}
#endregion
}
}
\ No newline at end of file
......@@ -19,6 +19,7 @@ using Mall.Model.Entity.Education;
using Mall.Common.Enum.User;
using Mall.Model.Extend.Finance;
using Mall.Common.Enum.Finance;
using Mall.Common;
namespace Mall.WebApi.Controllers.Education
{
......@@ -2219,6 +2220,7 @@ namespace Mall.WebApi.Controllers.Education
/// 获取商会活动报名分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCommerceConsultPage()
{
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
......@@ -2240,6 +2242,7 @@ namespace Mall.WebApi.Controllers.Education
/// 获取商会活动报名分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCommerceConsultAndFinancePage()
{
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
......@@ -2286,10 +2289,127 @@ namespace Mall.WebApi.Controllers.Education
/// <summary>
/// 获取商会活动报名分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetConsultOrderStatisticsPage()
{
ResultPageModel pageModel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
var query = new RB_Education_Consult_Extend()
{
ActivityId = jObj.GetInt("ActivityId", 0),
LinkMan = jObj.GetStringValue("LinkMan"),
EnrollState = jObj.GetInt("EnrollState", 0),
ActivityName = jObj.GetStringValue("ActivityName"),//活动id
EduUserId = jObj.GetInt("EduUserId", 0),//销售
CreateStartTime = jObj.GetStringValue("CreateStartTime"),//报名开始时间
CreateEndTime = jObj.GetStringValue("CreateEndTime"),//报名结束时间
StartTime = jObj.GetDateTime("StartTime"),//活动开始时间
EndTime = jObj.GetDateTime("EndTime"),//活动结束时间
Id = jObj.GetInt("Id", 0),//订单号
};
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
query.OrderStatus = 1;
var list = activityModule.GetCommerceConsultListRepository_V3(pageModel.pageIndex, pageModel.pageSize, out long rowsCount, query);
var model = activityModule.GetCommerceConsultStatistics(query);
if (model == null)
{
model = new RB_Education_Consult_Statistics();
}
var result = new
{
Statistics = model,
List = list.Select(x => new
{
x.Id,
x.UnitPrice,
x.Money,
x.Income,
x.RefundPrice,
PlatformTax = x.PlatformTax,//(x.PaymentWay == OrderPaymentTypeEnum.OnlinePayment ? ((x.Status == 0 && x.OrderStatus == 1) ? (Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(x.Money)), 2, MidpointRounding.AwayFromZero)) : 0) : x.PlatformTax),
x.ApplyForCancelStatus,
x.CancelRemark,
x.ActivityName,
DueInMoney = x.Money - x.Income - x.PlatformTax - x.RefundPrice,
Status = (int)x.Status,
x.LinkMan,
x.LinkTel,
x.UserId,
x.ActivityId,
x.EduStudentId,
x.Remark,
x.IsApplyForCancel,
PaymentWay = x.PaymentWay.HasValue ? (int)x.PaymentWay : 0,
PaymentWayName = x.PaymentWay.HasValue ? EnumHelper.GetEnumName(x.PaymentWay) : "",
x.OrderStatus,
x.EduSellName,
x.EduUserId,
PaymentTime = x.PaymentTime.HasValue ? x.PaymentTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
x.OrderNo,
RefundTime = x.RefundTime.HasValue ? x.RefundTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.LocationName,
EndTime = x.EndTime.HasValue ? x.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
StartTime = x.StartTime.HasValue ? x.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.CoverImg,
IncomeFinanceList = (x.FinanceList != null && x.FinanceList.Any()) ? x.FinanceList.Where(x => (x.Status == FinanceAuditStatus.InReview || x.Status == FinanceAuditStatus.Pass || x.Status == FinanceAuditStatus.CTemporary) && x.Type == WFTempLateClassEnum.IN && x.ReFinanceId2 > 0).ToList() : new List<Model.Extend.Finance.RB_Finance_Extend>(),
ExpendFinanceList = (x.FinanceList != null && x.FinanceList.Any()) ? x.FinanceList.Where(x => (x.Status == FinanceAuditStatus.InReview || x.Status == FinanceAuditStatus.Pass || x.Status == FinanceAuditStatus.CTemporary) && x.Type == WFTempLateClassEnum.OUT && x.ReFinanceId2 > 0).ToList() : new List<Model.Extend.Finance.RB_Finance_Extend>(),
})
};
pageModel.count = Convert.ToInt32(rowsCount);
pageModel.pageData = result;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取商会活动报名分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetConsultOrderStatistics()
{
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
var query = new RB_Education_Consult_Extend()
{
ActivityId = jObj.GetInt("ActivityId", 0),
LinkMan = jObj.GetStringValue("LinkMan"),
EnrollState = jObj.GetInt("EnrollState", 0),
ActivityName = jObj.GetStringValue("ActivityName"),//活动id
EduUserId = jObj.GetInt("EduUserId", 0),//销售
CreateStartTime = jObj.GetStringValue("CreateStartTime"),//报名开始时间
CreateEndTime = jObj.GetStringValue("CreateEndTime"),//报名结束时间
StartTime = jObj.GetDateTime("StartTime"),//活动开始时间
EndTime = jObj.GetDateTime("EndTime"),//活动结束时间
Id = jObj.GetInt("Id", 0),//订单号
};
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
query.OrderStatus = 1;
var model = activityModule.GetCommerceConsultStatistics(query);
if (model == null)
{
model = new RB_Education_Consult_Statistics();
}
return ApiResult.Success(data: model);
}
/// <summary>
/// 操作活动报名申请取消
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetCommerceConsultApplyCancel()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
......@@ -2335,7 +2455,7 @@ namespace Mall.WebApi.Controllers.Education
string refundid = dic["refundid"];//微信退款单号
string outRefundNo = dic["outRefundNo"];//商户退款单号
flag = activityModule.SetCommerceConsultApplyCancel(Id, ApplyForCancelStatus, RejectRemark, refundid);
flag = activityModule.SetCommerceConsultApplyCancel(Id, ApplyForCancelStatus, RejectRemark, refundid, dPaid);
}
else
{
......@@ -2344,19 +2464,265 @@ namespace Mall.WebApi.Controllers.Education
}
else
{
flag = activityModule.SetCommerceConsultApplyCancel(Id, ApplyForCancelStatus, RejectRemark, "");
flag = activityModule.SetCommerceConsultApplyCancel(Id, ApplyForCancelStatus, RejectRemark, "", 0);
}
}
else
{
flag = activityModule.SetCommerceConsultApplyCancel(Id, ApplyForCancelStatus, RejectRemark, "");
flag = activityModule.SetCommerceConsultApplyCancel(Id, ApplyForCancelStatus, RejectRemark, "", 0);
}
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 取消报名
/// </summary>
/// <returns></returns>
public ApiResult CancelCommerceConsult()
{
bool flag = false;
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
var ActivityId = jObj.GetInt("ActivityId");
var Id = jObj.GetInt("Id");
var EduUserId = jObj.GetInt("EduUserId");
string CancelRemark = jObj.GetStringValue("CancelRemark");
// var userInfo = AppletUserInfo;
var model = activityModule.GetCommerceConsultListRepository(new RB_Education_Consult_Extend { EduUserId = EduUserId, OrderStatus = -1, ActivityId = ActivityId, Id = Id }).FirstOrDefault();
if (model == null || model.Id == 0 || model.Status == Common.Enum.DateStateEnum.Delete)
{ return ApiResult.Failed("报名数据不存在"); }
var activotyModel = activityModule.GetActivityModule(ActivityId);
if (activotyModel.SignEndTime.HasValue && System.DateTime.Now > activotyModel.SignEndTime.Value)
{
return ApiResult.Failed("已过报名时间无法取消");
}
flag = activityModule.CancelCommerceConsult(ActivityId, CancelRemark, out int IsCancelConfirm, model);
return flag ? ApiResult.Success("", IsCancelConfirm) : ApiResult.Failed();
}
#region 赞羊教育活动报名
/// <summary>
/// 活动报名
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
[HttpPost]
public ApiResult SetActivityEnrollInfo()
{
var request = RequestParm;
Model.Extend.Education.RB_Education_Consult_Extend demodel = JsonConvert.DeserializeObject<Model.Extend.Education.RB_Education_Consult_Extend>(request.msg.ToString());
var model = activityModule.GetActivityModule(demodel.ActivityId);
List<RB_Education_Consult_Extend> list = new List<RB_Education_Consult_Extend>();
if (demodel.EduStudentId > 0)
{
list = activityModule.GetCommerceConsultListRepository(new Model.Extend.Education.RB_Education_Consult_Extend() { TenantId = model.TenantId, MallBaseId = model.MallBaseId, ActivityId = demodel.ActivityId, EnrollState = 1, EduStudentId = demodel.EduStudentId, OrderStatus = 1 });
if (list.Any()) { return ApiResult.Failed("已存在报名信息"); }
}
else
{
list = activityModule.GetCommerceConsultListRepository(new Model.Extend.Education.RB_Education_Consult_Extend() { TenantId = model.TenantId, MallBaseId = model.MallBaseId, ActivityId = demodel.ActivityId, EnrollState = 1, LinkTel = demodel.LinkTel, OrderStatus = 1 });
if (list.Any(x => x.Id != demodel.Id)) { return ApiResult.Failed("已存在报名信息"); }
}
if (model == null || model.Status == Common.Enum.DateStateEnum.Delete) { return ApiResult.Failed("活动不存在"); }
if (model.SignStartTime >= DateTime.Now)
{
return ApiResult.Failed("报名还未开始,无法报名");
}
if (model.SignEndTime <= DateTime.Now)
{
return ApiResult.Failed("已过了报名时间,无法报名");
}
if (model.Distinguish == 0)
{
if (demodel.Sex == 0)
{
return ApiResult.Failed("学生性别保密,无法报名");
}
if (demodel.Sex == 1)
{
int ManPeopleNum = activityModule.GetActivityEnrollNum(demodel.ActivityId, 1);
if (model.ManNum <= ManPeopleNum) { return ApiResult.Failed("已报满,无法报名"); }
}
else if (demodel.Sex == 2)
{
int WoManPeopleNum = activityModule.GetActivityEnrollNum(demodel.ActivityId, 2);
if (model.WoManNum <= WoManPeopleNum) { return ApiResult.Failed("已报满,无法报名"); }
}
else
{
return ApiResult.Failed("性别未维护,无法报名");
}
}
else
{
int ManPeopleNum = activityModule.GetActivityEnrollNum(demodel.ActivityId, 0);
if (model.ManNum <= ManPeopleNum) { return ApiResult.Failed("已报满,无法报名"); }
}
if (model.AgeLimit == 0)
{
if (string.IsNullOrWhiteSpace(demodel.StuBirth))
{
return ApiResult.Failed("您未绑定学员信息无法获取到年龄,无法报名");
}
int Age = Convert.ToInt32(Common.Plugin.StringHelper.GetAge(demodel.StuBirth));
if (model.StartAge > 0 && model.EndAge > 0)
{
if (Age < model.StartAge || Age > model.EndAge)
{
return ApiResult.Failed($"年龄限制在{model.StartAge}-{model.EndAge}岁,无法报名");
}
}
else if (model.StartAge > 0 && model.EndAge == 0)
{
if (Age < model.StartAge)
{
return ApiResult.Failed($"年龄必须大于{model.StartAge}岁,无法报名");
}
}
else if (model.StartAge == 0 && model.EndAge > 0)
{
if (Age > model.EndAge)
{
return ApiResult.Failed($"年龄必须小于{model.EndAge}岁,无法报名");
}
}
}
if (model.LnsideLimit == 1)
{
if (demodel.EduStudentId == 0)
{
return ApiResult.Failed("内部限制,请选择学员信息");
}
else
{
var bmodel = activityModule.GetStudentListByEnterID(new RB_Student { StuId = demodel.EduStudentId }, demodel.EduUserId).FirstOrDefault();
if (bmodel == null || bmodel.StuId == 0)
{
return ApiResult.Failed("学员信息不存在");
}
}
}
Random R = new Random();
int Rstr = R.Next(111, 999);
demodel.OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
demodel.UserId = 0;
demodel.Status = 0;
demodel.IsCancelConfirm = model.IsCancelConfirm;
if (demodel.Id == 0)
{
demodel.CreateTime = System.DateTime.Now;
}
else
{
var oldDemodel = activityModule.GetConsultEntity(demodel.Id);
demodel.CreateTime = oldDemodel.CreateTime;
}
if (model.IsFree == 1)
{
demodel.OrderStatus = 1;
demodel.PaymentTime = System.DateTime.Now;
}
else
{
if (model.Price != demodel.Money)
{
return ApiResult.Failed("支付金额不正确");
}
else if (demodel.Money == 0)
{
demodel.OrderStatus = 1;
demodel.PaymentTime = System.DateTime.Now;
}
else
{
demodel.OrderStatus = 0;
}
}
var umodel = new RB_Member_User_Extend();
demodel.OrderSource = UserSourceEnum.EduERP;
demodel.PaymentWay = OrderPaymentTypeEnum.OfflinePay;
int id = activityModule.SetActivityEnrollInfo(demodel, umodel);
if (id > 0)
{
return ApiResult.Success("报名成功");
}
else
{
return ApiResult.Failed("报名失败");
}
}
/// <summary>
/// 根据销售的id获取对应的学员信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetEduStudent()
{
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
int EduUserId = jObj.GetInt("EduUserId", 0);
var studentList = activityModule.GetStudentListByEnterID(new RB_Student { School_Id = -1 }, EduUserId).Distinct().ToList();
List<RB_Student> result = new List<RB_Student>();
foreach (var item in studentList)
{
if (!result.Any(x=>x.StuId==item.StuId))
{
result.Add(item);
}
}
return ApiResult.Success(data: result);
}
/// <summary>
/// 更新财务单据的应收与平台税金
/// </summary>
/// <returns></returns>
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
[HttpPost]
public ApiResult UpdateActivityIncome()
{
//int OrderId, decimal Money, int ActivityId
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
int OrderId = jObj.GetInt("OrderId", 0);
decimal Money = jObj.GetDecimal("Money");
decimal PlatformTax = jObj.GetDecimal("PlatformTax");
var studentList = activityModule.UpdateActivityIncome(OrderId, Money, PlatformTax);
return ApiResult.Success(data: studentList);
}
/// <summary>
/// 更新财务单据的应收与平台税金
/// </summary>
/// <returns></returns>
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
[HttpPost]
public ApiResult UpdateActivityReturn()
{
//int OrderId, decimal Money, int ActivityId
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
int OrderId = jObj.GetInt("OrderId", 0);
decimal Money = jObj.GetDecimal("Money");
var studentList = activityModule.UpdateActivityReturn(OrderId, Money);
return ApiResult.Success(data: studentList);
}
#endregion
#region 收支明细
......@@ -2372,31 +2738,16 @@ namespace Mall.WebApi.Controllers.Education
JObject parms = JObject.Parse(RequestParm.msg.ToString());
int Id = parms.GetInt("Id", 0);
int OrderId = parms.GetInt("OrderId", 0);
if (Id <= 0)
{
return ApiResult.ParamIsNull("");
}
RB_Finance_Extend model = new RB_Finance_Extend() { ReFinanceId = Id, OrderSource = 17, RB_Group_Id = 100000, FinanceType = 2 };
RB_Finance_Extend model = new RB_Finance_Extend() { ReFinanceId = Id, OrderSource = 17, RB_Group_Id = 100000, FinanceType = 2, ReFinanceId2 = OrderId };
var financeList = activityModule.GetFinanceInfoList(model).Where(t => (t.Status == FinanceAuditStatus.InReview || t.Status == FinanceAuditStatus.Pass || t.Status == FinanceAuditStatus.CTemporary)).ToList();
var query = new RB_Education_Consult_Extend()
{
ActivityId = Id,
LinkMan = parms.GetStringValue("LinkMan"),
EnrollState = parms.GetInt("EnrollState", 0),
};
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
query.OrderStatus = 1;
var orderList = activityModule.GetCommerceConsultListRepository_V2(query);
//收入
decimal IncomeReceive = 0;//应收
decimal IncomeActual = 0;//实收
......@@ -2460,6 +2811,7 @@ namespace Mall.WebApi.Controllers.Education
x.PayMoney,
x.ReFinanceId2,
x.ReFinanceId,
x.ColorType,
AirTotalMoney = x.AirTotalMoney ?? 0,
AirTotalPayMoney = x.AirTotalPayMoney ?? 0,
CostTypeList = x.CostTypeList.Distinct().ToList(),
......
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