Commit 12a9f2e5 authored by 黄奎's avatar 黄奎

新增实体类

parent ab9d00cc
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Customer
{
/// <summary>
/// 同业客户任务实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Customer_Task
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 任务名称
/// </summary>
public string TaskName { get; set; }
/// <summary>
/// 任务数量
/// </summary>
public int TaskNum { get; set; }
/// <summary>
/// 任务奖品
/// </summary>
public string TaskKudo { get; set; }
/// <summary>
/// 任务开始时间
/// </summary>
public DateTime TaskStartTime { get; set; }
/// <summary>
/// 任务结束时间
/// </summary>
public DateTime TaskEndTime { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_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; }
/// <summary>
/// 删除状态(0-正常,1-禁用)
/// </summary>
public DateStateEnum Status { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Customer
{
/// <summary>
/// 同业客户任务详情实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Customer_TaskDetails
{
/// <summary>
/// 任务详情编号
/// </summary>
public int DetailId { get; set; }
/// <summary>
/// 任务编号
/// </summary>
public int TaskId { get; set; }
/// <summary>
/// 任务类型(1-课程)
/// </summary>
public int TaskType { get; set; }
/// <summary>
/// 目标编号
/// </summary>
public int TargetId { get; set; }
}
}
using Edu.Model.Entity.Customer;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Customer
{
/// <summary>
/// 同业客户任务详情扩展实体类
/// </summary>
public class RB_Customer_TaskDetails_Extend: RB_Customer_TaskDetails
{
/// <summary>
/// 任务编号【逗号分割】
/// </summary>
public string QTaskIds { get; set; }
}
}
using Edu.Model.Entity.Customer;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Customer
{
/// <summary>
/// 同业客户任务扩展实体类
/// </summary>
public class RB_Customer_Task_Extend : RB_Customer_Task
{
/// <summary>
/// 任务详情列表
/// </summary>
public List<RB_Customer_TaskDetails_Extend> DetailsList { get; set; }
}
}
using Edu.Model.ViewModel.Customer;
using Edu.Repository.Customer;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using VT.FW.DB;
using Edu.Common.Enum;
namespace Edu.Module.Customer
{
/// <summary>
/// 同行任务处理类
/// </summary>
public class CustomerTaskModule
{
/// <summary>
/// 任务仓储层对象
/// </summary>
private readonly RB_Customer_TaskRepository customer_TaskRepository = new RB_Customer_TaskRepository();
/// <summary>
/// 任务详情仓储层对象
/// </summary>
private readonly RB_Customer_TaskDetailsRepository detailsRepository = new RB_Customer_TaskDetailsRepository();
/// <summary>
/// 获取任务分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Customer_Task_Extend> GetCustomerTaskPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Customer_Task_Extend query)
{
var list = customer_TaskRepository.GetCustomerTaskPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
string Ids = string.Join(",", list.Select(qitem => qitem.Id));
var detailsList = new List<RB_Customer_TaskDetails_Extend>();
if (!string.IsNullOrEmpty(Ids))
{
detailsList = detailsRepository.GetCustomerTaskDetailsListRepository(new RB_Customer_TaskDetails_Extend()
{
QTaskIds = Ids
});
}
foreach (var item in list)
{
item.DetailsList = detailsList?.Where(qitem => qitem.TaskId == item.Id)?.ToList();
}
}
return list;
}
/// <summary>
/// 新增修改任务信息
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetCustomerTaskModule(RB_Customer_Task_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Customer_Task_Extend.TaskName),model.TaskName },
{nameof(RB_Customer_Task_Extend.TaskNum),model.TaskNum },
{nameof(RB_Customer_Task_Extend.TaskKudo),model.TaskKudo },
{nameof(RB_Customer_Task_Extend.TaskStartTime),model.TaskStartTime },
{nameof(RB_Customer_Task_Extend.TaskEndTime),model.TaskEndTime },
};
flag = customer_TaskRepository.Update(fileds, new WhereHelper(nameof(RB_Customer_Task_Extend.Id), model.Id));
}
else
{
var newId = customer_TaskRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
if (model.DetailsList != null && model.DetailsList.Count > 0)
{
var oldList = detailsRepository.GetCustomerTaskDetailsListRepository(new RB_Customer_TaskDetails_Extend() {
TaskId = model.Id
});
//以前没有任务详情信息【直接新增】
if (oldList == null || (oldList != null && oldList.Count == 0))
{
if (model.DetailsList != null && model.DetailsList.Count > 0)
{
foreach (var item in model.DetailsList)
{
item.TaskId = model.Id;
detailsRepository.Insert(item);
}
}
}
else
{
//现在没有任务详情了【直接删除以前的任务详情】
if (model.DetailsList == null || (model.DetailsList != null && model.DetailsList.Count == 0))
{
detailsRepository.DeleteByTaskIdRepository(model.Id);
}
//找出差异的数据
var deleteList = oldList.Where(qitem => !model.DetailsList.Any(oldItem => qitem.DetailId == oldItem.DetailId)).ToList();
foreach (var dItem in deleteList)
{
if (dItem.DetailId > 0)
{
detailsRepository.Delete(dItem.DetailId);
}
}
foreach (var item in model.DetailsList)
{
if (item.DetailId == 0)
{
detailsRepository.Insert(item);
}
else
{
detailsRepository.Update(item);
}
}
}
}
else
{
detailsRepository.DeleteByTaskIdRepository(model.Id);
}
return flag;
}
/// <summary>
/// 根据编号删除任务
/// </summary>
/// <param name="CustomerId"></param>
/// <returns></returns>
public bool RemoveCustomerTaskModule(object Id)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Customer_Task_Extend.Status),(int)DateStateEnum.Delete},
};
var flag = customer_TaskRepository.Update(fileds, new WhereHelper(nameof(RB_Customer_Task_Extend.Id), Id));
return flag;
}
/// <summary>
/// 根据客户编号获取任务实体类
/// </summary>
/// <param name="CustomerId"></param>
/// <returns></returns>
public RB_Customer_Task_Extend GetCustomerTaskModule(object Id)
{
var extModel = customer_TaskRepository.GetEntity<RB_Customer_Task_Extend>(Id);
if (extModel != null)
{
extModel.DetailsList = detailsRepository.GetCustomerTaskDetailsListRepository(new RB_Customer_TaskDetails_Extend()
{
TaskId = extModel.Id
});
}
return extModel;
}
}
}
using Edu.Model.Entity.Customer;
using Edu.Model.ViewModel.Customer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Customer
{
/// <summary>
/// 同业客户任务详情仓储层
/// </summary>
public class RB_Customer_TaskDetailsRepository : BaseRepository<RB_Customer_TaskDetails>
{
/// <summary>
/// 获取任务详情列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Customer_TaskDetails_Extend> GetCustomerTaskDetailsListRepository(RB_Customer_TaskDetails_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Customer_TaskDetails
WHERE 1=1
");
if (query != null)
{
if (query.TaskId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Customer_TaskDetails_Extend.TaskId), query.TaskId);
}
if (!string.IsNullOrEmpty(query.QTaskIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Customer_TaskDetails_Extend.TaskId), query.QTaskIds);
}
}
return Get<RB_Customer_TaskDetails_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根本任务编号删除任务详情
/// </summary>
/// <param name="TaskId"></param>
/// <returns></returns>
public bool DeleteByTaskIdRepository(int TaskId)
{
string sql = string.Format(" DELETE FROM RB_Customer_TaskDetails WHERE TaskId IN({0}) ", TaskId);
return base.Execute(sql) > 0;
}
}
}
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_Customer_TaskRepository : BaseRepository<RB_Customer_Task>
{
/// <summary>
/// 获取任务分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Customer_Task_Extend> GetCustomerTaskPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Customer_Task_Extend query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Customer_Task
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Task_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Task_Extend.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.TaskName))
{
builder.AppendFormat(" AND A.{0} LIKE @TaskName ", nameof(RB_Customer_Task_Extend.TaskName));
parameters.Add("TaskName", "%" + query.TaskName.Trim() + "%");
}
}
return GetPage<RB_Customer_Task_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).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