Commit d1bb566c authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/mall.oytour.com into sdzq-ld

parents 775e2488 55665ec6
......@@ -12,10 +12,26 @@ namespace Mall.Common.Enum.MarketingCenter
/// </summary>
[EnumField("用户信息")]
Base = 1,
/// <summary>
/// 问卷信息
/// </summary>
[EnumField("问卷信息")]
Survey = 2,
[EnumField("课程安排与设计")]
CourseArrangement = 3,
[EnumField("教师授课情形")]
TeachersSituation = 4,
[EnumField("助教老师")]
TeachingAssistant = 5,
[EnumField("学习环境")]
LearningEnvironment = 6,
[EnumField("意见及建议")]
Opinionandsuggestion = 7
}
}
......@@ -86,7 +86,7 @@ namespace Mall.Common
/// <returns></returns>
public static T ConvertTo<T>(object obj)
{
if (obj == null) return default(T);//返回默认值
if (obj == null) return default;//返回默认值
Type tp = typeof(T);
//泛型Nullable判断,取其中的类型
if (tp.IsGenericType)
......@@ -111,11 +111,11 @@ namespace Mall.Common
{
return (T)parameters[1];
}
return default(T);
return default;
}
catch
{
return default(T);
return default;
}
}
......@@ -264,7 +264,7 @@ namespace Mall.Common
}
/// <summary>
/// 格式化时间【yyyy-MM-dd】
/// 格式化时间【yyyy-MM-dd HH:mm
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
......
......@@ -18,9 +18,6 @@ namespace Mall.Model.Entity.MarketingCenter
/// </summary>
public int ID { get; set; }
/// <summary>
/// 会员id
/// </summary>
......@@ -32,23 +29,14 @@ namespace Mall.Model.Entity.MarketingCenter
public int ActivitySurveyId { get; set; }
/// <summary>
///
/// 小程序编号
/// </summary>
public int MallBaseId
{
get;
set;
}
public int MallBaseId { get; set; }
/// <summary>
///
/// 商户编号
/// </summary>
public int TenantId
{
get;
set;
}
public int TenantId { get; set; }
/// <summary>
/// 创建时间
......@@ -60,8 +48,9 @@ namespace Mall.Model.Entity.MarketingCenter
/// </summary>
public DateStateEnum State { get; set; }
/// <summary>
/// 用户类型(1-小程序用户,2-教育学员)
/// </summary>
public int UserType { get; set; }
}
}
......@@ -25,6 +25,7 @@ namespace Mall.Model.Entity.MarketingCenter
/// 活动id
/// </summary>
public int ActivitySurveyId { get; set; }
/// <summary>
///意见调查类型
/// </summary>
......
......@@ -5,7 +5,9 @@ using System.Text;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.Education;
using Mall.Model.Extend.MarketingCenter;
using Mall.Repository.Education;
using Mall.Repository.MarketingCenter;
using VT.FW.DB;
......@@ -30,6 +32,11 @@ namespace Mall.Module.MarketingCenter
public readonly RB_ActivitySurveyRepository activitySurveyRepository = new RB_ActivitySurveyRepository();
/// <summary>
/// 教育系统用户账号信息
/// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
#region 问卷调查活动管理
/// <summary>
/// 获取列表
......@@ -424,7 +431,7 @@ namespace Mall.Module.MarketingCenter
public int SetGuestSurvey(Rb_GuestSurvey_Extend model)
{
var trans = guestSurveyRepository.DbTransaction;
int surveyId = 0;
int surveyId;
try
{
......@@ -460,7 +467,7 @@ namespace Mall.Module.MarketingCenter
public bool SetBbatchGuestSurvey(List<Rb_GuestSurvey_Extend> list)
{
var trans = guestSurveyRepository.DbTransaction;
int surveyId = 0;
int surveyId;
try
{
foreach (var itemModel in list)
......@@ -496,9 +503,9 @@ namespace Mall.Module.MarketingCenter
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<Rb_GuestSurvey_Extend> GetGuestSurveyList(Rb_GuestSurvey_Extend where)
public List<Rb_GuestSurvey_Extend> GetGuestSurveyListModule(Rb_GuestSurvey_Extend where)
{
return guestSurveyRepository.GetList(where);
return guestSurveyRepository.GetGuestSurveyListRepository(where);
}
......@@ -510,9 +517,49 @@ namespace Mall.Module.MarketingCenter
/// <param name="rowsCount"></param>
/// <param name="where"></param>
/// <returns></returns>
public List<Rb_GuestSurvey_Extend> GetResultPageList(int pageIndex, int pageSize, out long rowsCount, Rb_GuestSurvey_Extend where)
public List<Rb_GuestSurvey_Extend> GetResultPageListModule(int pageIndex, int pageSize, out long rowsCount, Rb_GuestSurvey_Extend where)
{
return guestSurveyRepository.GetResultPageList(pageIndex, pageSize, out rowsCount, where);
var list= guestSurveyRepository.GetResultPageListRepository(pageIndex, pageSize, out rowsCount, where);
if (list != null && list.Count > 0)
{
string stuIds = string.Join(",", list.Where(qitem => qitem.UserType == 2).Select(qitem => qitem.UserId));
List<RB_Account_ViewModel> StuList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(stuIds))
{
StuList= accountRepository.GetStudentExt(new RB_Account_ViewModel()
{
QIds = stuIds
});
}
foreach (var item in list)
{
if (item.UserType == 2)
{
var tempModel = StuList?.FirstOrDefault(qitem => qitem.Id == item.UserId);
item.AliasName = tempModel?.AccountName ?? "";
item.Photo = tempModel?.UserIcon ?? "";
}
}
}
return list;
}
/// <summary>
/// 获取教育学员信息
/// </summary>
/// <param name="stuIds"></param>
/// <returns></returns>
public RB_Account_ViewModel GetEduStudentModule(string stuIds)
{
List<RB_Account_ViewModel> StuList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(stuIds))
{
StuList = accountRepository.GetStudentExt(new RB_Account_ViewModel()
{
QIds = stuIds
});
}
return StuList.FirstOrDefault();
}
#endregion
}
......
......@@ -7,7 +7,7 @@ using Mall.Model.Extend.MarketingCenter;
namespace Mall.Repository.MarketingCenter
{
public class Rb_GuestSurveyRepository:BaseRepository<Rb_GuestSurvey>
public class Rb_GuestSurveyRepository : BaseRepository<Rb_GuestSurvey>
{
/// <summary>
/// 表名称
......@@ -20,7 +20,7 @@ namespace Mall.Repository.MarketingCenter
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<Rb_GuestSurvey_Extend> GetList(Rb_GuestSurvey_Extend where)
public List<Rb_GuestSurvey_Extend> GetGuestSurveyListRepository(Rb_GuestSurvey_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT * from Rb_GuestSurvey where state=0");
......@@ -42,6 +42,10 @@ namespace Mall.Repository.MarketingCenter
{
sb.AppendFormat(" and ActivitySurveyId={0}", where.ActivitySurveyId);
}
if (where.UserType > 0)
{
sb.AppendFormat(" and UserType={0}", where.UserType);
}
}
return Get<Rb_GuestSurvey_Extend>(sb.ToString()).ToList();
}
......@@ -82,7 +86,7 @@ LEFT JOIN (SELECT GuestSurveyId , SUM(ScoreNum) as ScoreNum,COUNT(GuestSurveyId)
}
/// <summary>
/// 分页列表
......@@ -92,11 +96,14 @@ LEFT JOIN (SELECT GuestSurveyId , SUM(ScoreNum) as ScoreNum,COUNT(GuestSurveyId)
/// <param name="rowsCount"></param>
/// <param name="where"></param>
/// <returns></returns>
public List<Rb_GuestSurvey_Extend> GetResultPageList(int pageIndex, int pageSize, out long rowsCount, Rb_GuestSurvey_Extend where)
public List<Rb_GuestSurvey_Extend> GetResultPageListRepository(int pageIndex, int pageSize, out long rowsCount, Rb_GuestSurvey_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT a.*,b.Name as AliasName,b.Photo,c.Title as ActiveSurveyName from Rb_GuestSurvey as a LEFT JOIN rb_member_user as b on a.UserId=b.Id
LEFT JOIN rb_activitysurvey as c on c.ID=a.ActivitySurveyId where a.state=0");
sb.Append($@"
SELECT a.*,b.Name as AliasName,b.Photo,c.Title as ActiveSurveyName
FROM Rb_GuestSurvey as a LEFT JOIN rb_member_user as b on (a.UserId=b.Id AND A.UserType=1)
LEFT JOIN rb_activitysurvey as c on c.ID=a.ActivitySurveyId
WHERE a.state=0");
if (where != null)
{
if (where.MallBaseId > 0)
......@@ -128,6 +135,7 @@ LEFT JOIN rb_activitysurvey as c on c.ID=a.ActivitySurveyId where a.state=0");
sb.AppendFormat(" and DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )<= DATE_FORMAT('{0}','%Y-%m-%d' ) ", where.EndDate);
}
}
sb.AppendFormat(" ORDER BY A.{0} DESC ", nameof(Rb_GuestSurvey_Extend.ID));
return GetPage<Rb_GuestSurvey_Extend>(pageIndex, pageSize, out rowsCount, sb.ToString()).ToList();
}
......
......@@ -1027,7 +1027,7 @@ SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
//string payMemerNumWhere = $" and (OrderStatus in(2,3,4,6,5) or( {nameof(RB_Goods_Order.OrderStatus)}=7 and {nameof(RB_Goods_Order.PaymentTime)} is not NULL)) ";
string payMemerNumWhere = " and (OrderStatus in(2,3,4,5,6) or (OrderStatus=7 and PaymentTime is not NULL and CancelTime is not NULL and DATE_FORMAT(PaymentTime,'%Y-%m-%d' )<DATE_FORMAT(CancelTime,'%Y-%m-%d' ) ) ) ";
string orderTypeWhere = "";
string sql = "";
string sql;
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
......@@ -2136,7 +2136,7 @@ GROUP BY od.GoodsId,o.OrderId
/// <returns></returns>
public List<RB_Goods_Order_Extend> GetCanCancelOrderList(int cancelTime, int t, int m)
{
string sql = $@"SELECT OrderId,UserId,OrderNo,OrderSource,CouponsIds FROM rb_goods_order where TenantId ={t} and MallBaseId ={m} and `Status`=0 and OrderStatus =1 and DATE_ADD(CreateDate,INTERVAL {cancelTime} MINUTE) < '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
string sql = $@"SELECT OrderId,UserId,OrderNo,OrderSource,CouponsIds FROM rb_goods_order where TenantId ={t} and MallBaseId ={m} and `Status`=0 and OrderStatus =1 and DATE_ADD(CreateDate,INTERVAL {cancelTime} MINUTE) < '{Common.ConvertHelper.FormatTime(DateTime.Now)}'";
return Get<RB_Goods_Order_Extend>(sql).ToList();
}
......@@ -2149,7 +2149,7 @@ GROUP BY od.GoodsId,o.OrderId
/// <returns></returns>
public List<RB_Goods_Order_Extend> GetCanReceivingOrderList(int day, int t, int m)
{
string sql = $@"SELECT OrderId,UserId,OrderNo,OrderSource,CouponsIds FROM rb_goods_order where TenantId ={t} and MallBaseId ={m} and `Status`=0 and OrderStatus =3 and OrderClassify=0 and DATE_ADD(DeliveryTime,INTERVAL {day} DAY) < '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'";
string sql = $@"SELECT OrderId,UserId,OrderNo,OrderSource,CouponsIds FROM rb_goods_order where TenantId ={t} and MallBaseId ={m} and `Status`=0 and OrderStatus =3 and OrderClassify=0 and DATE_ADD(DeliveryTime,INTERVAL {day} DAY) < '{Common.ConvertHelper.FormatTime(DateTime.Now)}'";
return Get<RB_Goods_Order_Extend>(sql).ToList();
}
#endregion
......@@ -2385,7 +2385,7 @@ where {where} group by o.OrderId order by o.CreateDate desc";
string sql = $@"
SELECT o.* FROM rb_goods_order o
INNER JOIN rb_goods_orderdetail od on o.OrderId = od.OrderId
WHERE o.TenantId={tenantId} AND o.MallBaseId={mallBaseId} AND o.`Status`=0 AND o.Recycled=2 AND o.OrderStatus =4 AND o.OrderClassify =1 AND od.TripETime < '{DateTime.Now.ToString("yyyy-MM-dd")}'
WHERE o.TenantId={tenantId} AND o.MallBaseId={mallBaseId} AND o.`Status`=0 AND o.Recycled=2 AND o.OrderStatus =4 AND o.OrderClassify =1 AND od.TripETime < '{Common.ConvertHelper.FormatDate(DateTime.Now)}'
GROUP BY o.OrderId
";
return Get<RB_Goods_Order_Extend>(sql).ToList();
......@@ -2665,8 +2665,8 @@ WHERE {where} GROUP BY o.OrderId ORDER BY o.CreateDate DESC ";
public List<RB_Goods_Activity_Extend> GetGoodsNumForCategoryOrGoods(RB_Goods_Activity_Extend dmodel, int UserId, int AfterTime)
{
string where = @$"AND o.`Status` =0 AND o.Recycled=2 AND o.OrderStatus =5 and oa.ReOrderId is null
AND o.CreateDate >='{dmodel.StartTime.ToString("yyyy-MM-dd")}' AND o.CreateDate <='{dmodel.EndTime.ToString("yyyy-MM-dd HH:mm:ss")}'
AND o.ReceivingTime <='{DateTime.Now.AddDays(0 - AfterTime).ToString("yyyy-MM-dd HH:mm:ss")}'
AND o.CreateDate >='{Common.ConvertHelper.FormatDate(dmodel.StartTime)}' AND o.CreateDate <='{Common.ConvertHelper.FormatTime(dmodel.EndTime)}'
AND o.ReceivingTime <='{Common.ConvertHelper.FormatTime(DateTime.Now.AddDays(0 - AfterTime))}'
AND IFNULL(o.{(dmodel.ActiveObject == 1 ? "DistributorTree" : "UserTree")},'') <> '' ";
if (UserId > 0)
{
......@@ -2707,7 +2707,7 @@ GROUP BY od.Id ";
public List<RB_Goods_Activity_Extend> GetGoodsNumForCategoryOrGoods_V2(RB_Goods_Activity_Extend dmodel, int UserId, int AfterTime)
{
string where = @$"AND o.`Status` =0 AND o.Recycled=2 AND o.OrderStatus in(2,3,4,5,6) and oa.ReOrderId is null
AND o.CreateDate >='{dmodel.StartTime.ToString("yyyy-MM-dd")}' AND o.CreateDate <='{dmodel.EndTime.ToString("yyyy-MM-dd HH:mm:ss")}'
AND o.CreateDate >='{Common.ConvertHelper.FormatDate(dmodel.StartTime)}' AND o.CreateDate <='{Common.ConvertHelper.FormatTime(dmodel.EndTime)}'
AND IFNULL(o.{(dmodel.ActiveObject == 1 ? "DistributorTree" : "UserTree")},'') <> '' ";
if (UserId > 0)
{
......
......@@ -28,13 +28,15 @@ namespace Mall.WebApi.Controllers.MarketingCenter
/// <summary>
/// 处理类对象
/// </summary>
private SurveyModule module = new SurveyModule();
private readonly SurveyModule module = new SurveyModule();
/// <summary>
/// 处理类对象
/// </summary>
private Module.User.UserModule userModule = new Module.User.UserModule();
private readonly Module.User.UserModule userModule = new Module.User.UserModule();
#region 问卷活动调查
/// <summary>
/// 获取基础信息列表
/// </summary>
......@@ -160,6 +162,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
#endregion
#region 问卷调查
/// <summary>
/// 获取基础信息列表
......@@ -174,7 +177,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var data = module.GetPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
var list = data.Select(x => new { x.ID, x.SurveyType,x.IsRequired, x.FormType, x.Title, x.IsShow, x.Sort, SurveyTypeStr = EnumHelper.GetEnumName(x.SurveyType), FormTypeStr = EnumHelper.GetEnumName(x.FormType) }).ToList();
var list = data.Select(x => new { x.ID, x.SurveyType, x.IsRequired, x.FormType, x.Title, x.IsShow, x.Sort, SurveyTypeStr = EnumHelper.GetEnumName(x.SurveyType), FormTypeStr = EnumHelper.GetEnumName(x.FormType) }).ToList();
pagelist.count = int.Parse(count.ToString());
pagelist.pageData = list;
return ApiResult.Success("", pagelist);
......@@ -227,7 +230,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
model.SurveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions_Extend { SurveyID = model.ID });
bool result = module.DelSurvey(model);
return ApiResult.Success("删除成功");
return result ? ApiResult.Success("删除成功!") : ApiResult.Failed("删除失败!");
}
return ApiResult.Failed("未找到此调查信息");
}
......@@ -306,7 +309,8 @@ namespace Mall.WebApi.Controllers.MarketingCenter
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous] [RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
[AllowAnonymous]
[RateValve(Policy = Policy.Ip, Limit = 10, Duration = 60)]
public ApiResult GetGuestSurveyDetails()
{
var parms = RequestParm;
......@@ -360,19 +364,43 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
}
var userModel = userModule.GetMemberUserInfo(model.UserId ?? 0);
if (userModel == null)
var obj = new object();
if (model.UserType == 1)
{
var userModel = userModule.GetMemberUserInfo(model.UserId ?? 0);
if (userModel == null)
{
userModel = new Model.Extend.User.RB_Member_User_Extend();
}
obj = new
{
userModel.Name,
userModel.Photo,
CreateDateStr = model.CreateDate.HasValue ? model.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
};
}
else
{
userModel = new Model.Extend.User.RB_Member_User_Extend();
var studentModel = module.GetEduStudentModule(model.UserId.ToString());
obj = new
{
Name = studentModel?.AccountName ?? "",
Photo = studentModel?.UserIcon ?? "",
CreateDateStr = model.CreateDate.HasValue ? model.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
};
}
var obj = new
return ApiResult.Success("请求成功!", new
{
userModel.Name,
userModel.Photo,
CreateDateStr = model.CreateDate.HasValue ? model.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
};
return ApiResult.Success("请求成功!", new { surverList= surverList.Where(x=>x.FormType==FormTypeEnum.Survey), baseList = surverList.Where(x => x.FormType == FormTypeEnum.Base), obj });
surverList = surverList.Where(x => x.FormType == FormTypeEnum.Survey),
baseList = surverList.Where(x => x.FormType == FormTypeEnum.Base),
courseArrangementList = surverList.Where(x => x.FormType == FormTypeEnum.CourseArrangement),
teachersSituationList = surverList.Where(x => x.FormType == FormTypeEnum.TeachersSituation),
teachingAssistantList = surverList.Where(x => x.FormType == FormTypeEnum.TeachingAssistant),
learningEnvironmentList = surverList.Where(x => x.FormType == FormTypeEnum.LearningEnvironment),
opinionandsuggestionList = surverList.Where(x => x.FormType == FormTypeEnum.Opinionandsuggestion),
obj
});
}
return ApiResult.Failed("未找到调查信息!");
}
......@@ -392,17 +420,12 @@ namespace Mall.WebApi.Controllers.MarketingCenter
Rb_GuestSurvey_Extend demodel = JsonConvert.DeserializeObject<Rb_GuestSurvey_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var data = module.GetResultPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
var list = data.Select(x => new { x.ID, x.ActiveSurveyName, x.AliasName, CreateDateStr = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",x.Photo }).ToList();
var data = module.GetResultPageListModule(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
var list = data.Select(x => new { x.ID, x.ActiveSurveyName, x.AliasName, CreateDateStr = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", x.Photo }).ToList();
pagelist.count = int.Parse(count.ToString());
pagelist.pageData = list;
return ApiResult.Success("", pagelist);
}
#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