Commit 5a70d473 authored by 吴春's avatar 吴春

提交甲鹤问卷调查

parent 87ae4de3
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Common.Plugin;
namespace Mall.Common.Enum.MarketingCenter
{
public enum PrizeTypeEnum
{
/// <summary>
/// 站内
/// </summary>
[EnumField("站内")]
Station = 1,
/// <summary>
/// 站外
/// </summary>
[EnumField("站外")]
StationOut = 2
}
}
......@@ -6,7 +6,7 @@ using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
/// <summary>
/// 触发事件,1-分享,2-购买并付款,3-新人领券,4-新人购买并付款
/// 触发事件,1-分享,2-购买并付款,3-新人领券,5-新人购买并付款
/// </summary>
public enum TriggerTypeEnum
{
......@@ -29,7 +29,12 @@ namespace Mall.Common.Enum.MarketingCenter
/// 新人购买并付款
/// </summary>
[EnumField("新人购买并付款")]
NewMemerBuyAndPay = 4
NewMemerBuyAndPay = 4,
/// <summary>
/// 口令发放
/// </summary>
[EnumField("口令发放")]
Password = 5
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Common.Enum;
using Mall.Common.Enum.MarketingCenter;
using VT.FW.DB;
namespace Mall.Model.Entity.MarketingCenter
{
/// <summary>
/// 活动基础配置表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_ActivitySurvey
{ /// <summary>
/// 编号
/// </summary>
public int ID { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 活动开始时间
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 活动结束时间
/// </summary>
public DateTime? EndDate { get; set; }
/// <summary>
/// 份数
/// </summary>
public int SurveyNum { get; set; }
/// <summary>
/// 活动说明
/// </summary>
public string Description { get; set; }
/// <summary>
/// 奖品地址
/// </summary>
public string PrizeAddress { get; set; }
/// <summary>
/// 奖品类型
/// </summary>
public PrizeTypeEnum? PrizeType { get; set; }
/// <summary>
/// 删除
/// </summary>
public DateStateEnum State { get; set; }
/// <summary>
///
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
///
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateDate
{
get;
set;
}
}
}
......@@ -37,11 +37,14 @@ namespace Mall.Model.Entity.MarketingCenter
public DateTime? RegisterDate { get; set; }
/// <summary>
/// 触发事件,1-分享,2-购买并付款,3-新人领券
/// 触发事件,1-分享,2-购买并付款,3-新人领券,5-口令发放
/// </summary>
public TriggerTypeEnum TriggerType { get; set; }
/// <summary>
/// 口令
/// </summary>
public string KeyWord { get; set; }
/// <summary>
/// 优惠券id
/// </summary>
......
......@@ -19,14 +19,17 @@ namespace Mall.Model.Entity.MarketingCenter
public int ID { get; set; }
/// <summary>
/// 会员id
/// </summary>
public int? UserId { get; set; }
/// <summary>
/// 活动id
/// </summary>
public int ActivitySurveyId { get; set; }
/// <summary>
///
......@@ -58,7 +61,7 @@ namespace Mall.Model.Entity.MarketingCenter
public DateStateEnum State { get; set; }
}
}
......@@ -19,6 +19,12 @@ namespace Mall.Model.Entity.MarketingCenter
/// 编号
/// </summary>
public int ID { get; set; }
/// <summary>
/// 活动id
/// </summary>
public int ActivitySurveyId { get; set; }
/// <summary>
///意见调查类型
/// </summary>
......@@ -87,5 +93,10 @@ namespace Mall.Model.Entity.MarketingCenter
set;
}
/// <summary>
/// 是否必填0-不是,1-是
/// </summary>
public int IsRequired { get; set; }
}
}
......@@ -147,5 +147,10 @@ namespace Mall.Model.Entity.User
public string Name { get; set; }
/// <summary>
/// 口令 2020-12-31 add By:W
/// </summary>
public string KeyWord { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.MarketingCenter;
namespace Mall.Model.Extend.MarketingCenter
{
public class RB_ActivitySurvey_Extend : RB_ActivitySurvey
{
public List<Rb_Survey_Extend> SurveyList { get; set; }
}
}
......@@ -96,5 +96,10 @@ namespace Mall.Model.Extend.MarketingCenter
public DateTime? RegisterDate { get; set; }
/// <summary>
/// 针对口令红包,口令关键字
/// </summary>
public string KeyWord { get; set; }
}
}
......@@ -5,7 +5,7 @@ using Mall.Model.Entity.MarketingCenter;
namespace Mall.Model.Extend.MarketingCenter
{
public class Rb_GuestSurvey_Extend: Rb_GuestSurvey
public class Rb_GuestSurvey_Extend : Rb_GuestSurvey
{
/// <summary>
/// 选项详情
......@@ -26,11 +26,16 @@ namespace Mall.Model.Extend.MarketingCenter
/// </summary>
public int ScoreCount { get; set; }
public string StartDate { get; set; }
public string EndDate { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string NickName
public string AliasName
{
get;
set;
......@@ -40,11 +45,16 @@ namespace Mall.Model.Extend.MarketingCenter
/// 头像
/// </summary>
public string HeadPic
public string Photo
{
get;
set;
}
/// <summary>
/// 活动名称
/// </summary>
public string ActiveSurveyName { get; set; }
}
}
......@@ -11,5 +11,9 @@ namespace Mall.Model.Extend.MarketingCenter
/// 单选多选(多选和单选(1))
/// </summary>
public string IsCheck { get; set; }
public string SurveyIDs { get; set; }
}
}
......@@ -17,7 +17,10 @@ namespace Mall.Model.Extend.MarketingCenter
public string SurveyIDs { get; set; }
/// <summary>
/// 活动名称
/// </summary>
public string ActivitySurveyStr { get; set; }
......
......@@ -166,6 +166,18 @@ namespace Mall.Model.Extend.User
/// 实收金额
/// </summary>
public decimal Income { get; set; }
/// <summary>
/// 口令优惠券=5其他都等于0
/// </summary>
public int CounponPassword { get; set; }
/// <summary>
/// 口令
/// </summary>
public string KeyWord { get; set; }
}
......
......@@ -1460,7 +1460,7 @@ namespace Mall.Module.BaseSetUp
new WhereHelper(){ FiledName=nameof(RB_Video_Store.MallBaseId),FiledValue=model.MallBaseId, OperatorEnum=OperatorEnum.Equal },
new WhereHelper(){ FiledName=nameof(RB_Video_Store.ID),FiledValue=id, OperatorEnum=OperatorEnum.NotEqual },
};
storeRepository.Update(fileds, whereHelpers);
videoStoreRepository.Update(fileds, whereHelpers);
}
return result;
}
......
......@@ -889,7 +889,7 @@ namespace Mall.Module.MarketingCenter
}
//根据发放类型获取对应的优惠券信息
model.SmallShopId = memberUserModel.SmallShopId;
if (model.TriggerType == 4)
if (model.TriggerType == 4|| model.TriggerType==5)
{
model.RegisterDate = memberUserModel.CreateDate;
}
......@@ -898,7 +898,7 @@ namespace Mall.Module.MarketingCenter
{
bool isReceive = false;
//查询已发放的优惠券信息
var memberCouponList = memberCouponRepository.GetAutoMemberCouponPageList(new RB_Member_DiscountCoupon_Extend { UserId = model.UserId, GetType = model.TriggerType, TenantId = model.TenantId, MallBaseId = model.MallBaseId });
var memberCouponList = memberCouponRepository.GetAutoMemberCouponPageList(new RB_Member_DiscountCoupon_Extend { UserId = model.UserId, GetType = model.TriggerType,KeyWord= model.KeyWord, TenantId = model.TenantId, MallBaseId = model.MallBaseId });
foreach (var item in couponList.Where(x => x.TotalNum == -1 || x.TotalNum > 0))//判断当前优惠券是否已超过领取数
{
int membercouponCoun = memberCouponList.Where(x => x.CouponId == item.ID).Count();
......@@ -915,8 +915,8 @@ namespace Mall.Module.MarketingCenter
Status = 0,
CreateDate = System.DateTime.Now,
UserId = model.UserId,
Description = item.TriggerType == 1 ? "分享自动发放优惠券" : (item.TriggerType == 2 ? "购买并付款自动发放优惠券" :(item.TriggerType == 3 ? "新人领劵自动发放优惠券": "新人购买并付款自动发放优惠券")),
Remarks = item.TriggerType == 1 ? "分享" : (item.TriggerType == 2 ? "购买并付款" : (item.TriggerType == 3? "新人领劵": "新人购买并付款")),
Description = item.TriggerType == 1 ? "分享自动发放优惠券" : (item.TriggerType == 2 ? "购买并付款自动发放优惠券" : (item.TriggerType == 3 ? "新人领劵自动发放优惠券" : (item.TriggerType == 4 ? "新人购买并付款自动发放优惠券" : "口令发放"))),
Remarks = item.TriggerType == 1 ? "分享" : (item.TriggerType == 2 ? "购买并付款" : (item.TriggerType == 3 ? "新人领劵" : (item.TriggerType == 4 ? "新人购买并付款" : "口令发放"))),
UseState = 0,
CouponId = item.ID,
StartDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now : item.StartDate,
......
......@@ -11,22 +11,170 @@ using VT.FW.DB;
namespace Mall.Module.MarketingCenter
{
public class SurveyModule
public class SurveyModule
{
public readonly Rb_SurveyRepository surveyRepository = new Rb_SurveyRepository();
public readonly Rb_SurveyOptionsRepository surveyOptionsRepository = new Rb_SurveyOptionsRepository();
/// <summary>
/// 旅客调查信息
/// 会员调查信息
/// </summary>
private Rb_GuestSurveyRepository guestSurveyRepository = new Rb_GuestSurveyRepository();
private readonly Rb_GuestSurveyRepository guestSurveyRepository = new Rb_GuestSurveyRepository();
/// <summary>
/// 旅客调查选项信息
/// 会员调查选项信息
/// </summary>
private Rb_GuestSurveyDetailsRepository guestSurveyDetailsRepository = new Rb_GuestSurveyDetailsRepository();
private readonly Rb_GuestSurveyDetailsRepository guestSurveyDetailsRepository = new Rb_GuestSurveyDetailsRepository();
public readonly RB_ActivitySurveyRepository activitySurveyRepository = new RB_ActivitySurveyRepository();
#region 问卷调查活动管理
/// <summary>
/// 获取列表
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<RB_ActivitySurvey_Extend> GetActivitySurveyList(RB_ActivitySurvey_Extend where)
{
return activitySurveyRepository.GetList(where);
}
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="where"></param>
/// <returns></returns>
public List<RB_ActivitySurvey_Extend> GetActivitySurveyPageList(int pageIndex, int pageSize, out long rowsCount, RB_ActivitySurvey_Extend where)
{
return activitySurveyRepository.GetPageList(pageIndex, pageSize, out rowsCount, where);
}
/// <summary>
/// 新增问卷调查活动信息
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetActivitySurvey(RB_ActivitySurvey_Extend model)
{
try
{
if (model.ID > 0)
{
IDictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_ActivitySurvey.Title),model.Title},
{ nameof(RB_ActivitySurvey.StartDate),model.StartDate},
{ nameof(RB_ActivitySurvey.EndDate),model.EndDate},
{ nameof(RB_ActivitySurvey.SurveyNum),model.SurveyNum},
{ nameof(RB_ActivitySurvey.PrizeType),(int)model.PrizeType},
{ nameof(RB_ActivitySurvey.PrizeAddress),model.PrizeAddress},
{ nameof(RB_ActivitySurvey.Description),model.Description},
{ nameof(RB_ActivitySurvey.UpdateDate),model.UpdateDate},
};
List<WhereHelper> where = new List<WhereHelper>()
{
new WhereHelper ()
{
FiledName=nameof(RB_ActivitySurvey.ID),
FiledValue=model.ID,
OperatorEnum= OperatorEnum.Equal
}
};
return activitySurveyRepository.Update(fileds, where);
}
else
{
return activitySurveyRepository.Insert(model) > 0;
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetActivitySurvey");
return false;
}
}
/// <summary>
/// 删除问卷调查活动信息
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool DelActivitySurvey(RB_ActivitySurvey_Extend model)
{
bool flag = false;
var trans = activitySurveyRepository.DbTransaction;
try
{
if (model.ID > 0)
{
IDictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_ActivitySurvey.State),(int)Common.Enum.DateStateEnum.Delete},
};
List<WhereHelper> where = new List<WhereHelper>()
{
new WhereHelper ()
{
FiledName=nameof(RB_ActivitySurvey.ID),
FiledValue=model.ID,
OperatorEnum= OperatorEnum.Equal
}
};
flag = activitySurveyRepository.Update(fileds, where, trans);
if (model.SurveyList != null && model.SurveyList.Any())
{
IDictionary<string, object> filedsSurvey = new Dictionary<string, object>()
{
{ nameof(Rb_Survey.State),(int)Common.Enum.DateStateEnum.Delete},
};
List<WhereHelper> whereSurvey = new List<WhereHelper>()
{
new WhereHelper ()
{
FiledName=nameof(Rb_Survey.ActivitySurveyId),
FiledValue=model.ID,
OperatorEnum= OperatorEnum.Equal
}
};
flag = activitySurveyRepository.Update(filedsSurvey, whereSurvey, trans);
var surveyOptionsList = new List<Rb_SurveyOptions_Extend>();
foreach (var item in model.SurveyList)
{
surveyOptionsList.AddRange(item.SurveyOptionsList);
}
if (surveyOptionsList != null && surveyOptionsList.Any())
{
surveyOptionsList.ForEach(x => x.State = Common.Enum.DateStateEnum.Delete);
flag = surveyOptionsRepository.UpdateBatch(surveyOptionsList, trans);
}
}
}
activitySurveyRepository.DBSession.Commit();
return flag;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "DelActivitySurvey");
activitySurveyRepository.DBSession.Rollback("DelActivitySurvey");
return false;
}
}
#endregion
#region 意见调查基础信息
/// <summary>
/// 获取列表
......@@ -68,7 +216,7 @@ namespace Mall.Module.MarketingCenter
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<Rb_SurveyOptions_Extend> GetSurveyOptionsList(Rb_SurveyOptions where)
public List<Rb_SurveyOptions_Extend> GetSurveyOptionsList(Rb_SurveyOptions_Extend where)
{
return surveyOptionsRepository.GetList(where);
}
......@@ -87,8 +235,10 @@ namespace Mall.Module.MarketingCenter
{ nameof(Rb_Survey.Title),model.Title},
{ nameof(Rb_Survey.IsShow),model.IsShow},
{ nameof(Rb_Survey.Sort),model.Sort},
{ nameof(Rb_Survey.SurveyType),(int)model.SurveyType},
{ nameof(Rb_Survey.SurveyType),(int)model.SurveyType},
{ nameof(Rb_Survey.FormType),(int)model.FormType},
{ nameof(Rb_Survey.UpdateDate),model.UpdateDate},
{ nameof(Rb_Survey.IsRequired),model.IsRequired},
};
List<WhereHelper> where = new List<WhereHelper>()
{
......@@ -101,7 +251,7 @@ namespace Mall.Module.MarketingCenter
};
var flag = surveyRepository.Update(fileds, where, trans);
//查询之前的选项
var surveyOptionsList = surveyOptionsRepository.GetList(new Rb_SurveyOptions { SurveyID = surveyId });
var surveyOptionsList = surveyOptionsRepository.GetList(new Rb_SurveyOptions_Extend { SurveyID = surveyId });
//删除之前有现在没有的
List<string> surveyOptionsExcept = new List<string>();
if (surveyOptionsList != null && surveyOptionsList.Any() && model.SurveyOptionsList != null && model.SurveyOptionsList.Any())
......@@ -122,7 +272,7 @@ namespace Mall.Module.MarketingCenter
{
surveyId = surveyRepository.Insert(model, trans);
}
if (model.SurveyType != SurveyTypeEnum.Score && model.SurveyType !=SurveyTypeEnum.TheText)//新增选项
if (model.SurveyType != SurveyTypeEnum.Score && model.SurveyType != SurveyTypeEnum.TheText)//新增选项
{
foreach (var item in model.SurveyOptionsList)
{
......@@ -208,7 +358,7 @@ namespace Mall.Module.MarketingCenter
#endregion
#region 旅客意见信息
#region 会员意见信息
/// <summary>
/// 获取实体
......@@ -219,7 +369,7 @@ namespace Mall.Module.MarketingCenter
{
return guestSurveyRepository.GetEntity(id);
}
/// <summary>
/// 获取列表
/// </summary>
......@@ -292,7 +442,7 @@ namespace Mall.Module.MarketingCenter
}
}
guestSurveyRepository.DBSession.Commit();
return surveyId;
}
catch (Exception ex)
......@@ -340,7 +490,7 @@ namespace Mall.Module.MarketingCenter
}
}
/// <summary>
/// 获取列表
/// </summary>
......@@ -350,6 +500,20 @@ namespace Mall.Module.MarketingCenter
{
return guestSurveyRepository.GetList(where);
}
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <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)
{
return guestSurveyRepository.GetResultPageList(pageIndex, pageSize, out rowsCount, where);
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
namespace Mall.Repository.MarketingCenter
{
public class RB_ActivitySurveyRepository : BaseRepository<RB_ActivitySurvey>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_ActivitySurvey); } }
/// <summary>
/// 获取列表
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<RB_ActivitySurvey_Extend> GetList(RB_ActivitySurvey_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT * from RB_ActivitySurvey where state=0");
if (where != null)
{
if (where.TenantId > 0)
{
sb.AppendFormat(" and TenantId={0}", where.TenantId);
}
if (where.MallBaseId > 0)
{
sb.AppendFormat(" and MallBaseId={0}", where.MallBaseId);
}
if (where.ID > 0)
{
sb.AppendFormat(" and ID={0}", where.ID);
}
if (string.IsNullOrWhiteSpace(where.Title))
{
sb.AppendFormat(" and Title like'%{0}%'", where.Title);
}
if (where.PrizeType.HasValue && (int)where.PrizeType > 0)
{
sb.AppendFormat(" and PrizeType={0}", (int)where.PrizeType);
}
}
return Get<RB_ActivitySurvey_Extend>(sb.ToString()).ToList();
}
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="where"></param>
/// <returns></returns>
public List<RB_ActivitySurvey_Extend> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_ActivitySurvey_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT * from RB_ActivitySurvey where state=0");
if (where != null)
{
if (where.TenantId > 0)
{
sb.AppendFormat(" and TenantId={0}", where.TenantId);
}
if (where.MallBaseId > 0)
{
sb.AppendFormat(" and MallBaseId={0}", where.MallBaseId);
}
if (where.PrizeType.HasValue && (int)where.PrizeType > 0)
{
sb.AppendFormat(" and PrizeType={0}", (int)where.PrizeType);
}
if (!string.IsNullOrWhiteSpace(where.Title))
{
sb.AppendFormat(" and Title like'%{0}%'", where.Title);
}
}
return GetPage<RB_ActivitySurvey_Extend>(pageIndex, pageSize, out rowsCount, sb.ToString()).ToList();
}
}
}
......@@ -332,11 +332,15 @@ on a.CouponId=b.ID {where} ";
if (query.TriggerType > 0)
{
builder.Append($" AND b.{nameof(RB_DiscountCoupon_Extend.TriggerType)}={query.TriggerType}");
if (query.TriggerType == 4 && query.RegisterDate.HasValue)
if ((query.TriggerType == 4 || query.TriggerType == 5) && query.RegisterDate.HasValue)
{
builder.Append($" AND DATE_FORMAT(b.{nameof(RB_DiscountCoupon_Extend.RegisterDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.RegisterDate}','%Y-%m-%d' )");
}
}
if (!string.IsNullOrWhiteSpace(query.KeyWord))
{
builder.Append($" AND b.{nameof(RB_DiscountCoupon_Extend.KeyWord)}= '{query.KeyWord}'");
}
if (query.UserId > 0)
{
userWhere += $"and c.UserId={query.UserId}";
......
......@@ -38,6 +38,10 @@ namespace Mall.Repository.MarketingCenter
{
sb.AppendFormat(" and UserId={0}", where.UserId);
}
if (where.ActivitySurveyId > 0)
{
sb.AppendFormat(" and ActivitySurveyId={0}", where.ActivitySurveyId);
}
}
return Get<Rb_GuestSurvey_Extend>(sb.ToString()).ToList();
}
......@@ -69,11 +73,17 @@ LEFT JOIN (SELECT GuestSurveyId , SUM(ScoreNum) as ScoreNum,COUNT(GuestSurveyId)
{
sb.AppendFormat(" and a.UserId={0}", where.UserId);
}
if (where.ActivitySurveyId > 0)
{
sb.AppendFormat(" and a.ActivitySurveyId={0}", where.ActivitySurveyId);
}
}
return Get<Rb_GuestSurvey_Extend>(sb.ToString()).ToList();
}
/// <summary>
/// 分页列表
/// </summary>
......@@ -82,10 +92,11 @@ 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> GetPageList(int pageIndex, int pageSize, out long rowsCount, Rb_GuestSurvey where)
public List<Rb_GuestSurvey_Extend> GetResultPageList(int pageIndex, int pageSize, out long rowsCount, Rb_GuestSurvey_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT * from Rb_GuestSurvey where 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
LEFT JOIN rb_activitysurvey as c on c.ID=a.ActivitySurveyId where a.state=0");
if (where != null)
{
if (where.MallBaseId > 0)
......@@ -100,6 +111,22 @@ LEFT JOIN (SELECT GuestSurveyId , SUM(ScoreNum) as ScoreNum,COUNT(GuestSurveyId)
{
sb.AppendFormat(" and a.UserId={0}", where.UserId);
}
if (where.ActivitySurveyId > 0)
{
sb.AppendFormat(" and a.ActivitySurveyId={0}", where.ActivitySurveyId);
}
if (!string.IsNullOrWhiteSpace(where.AliasName))
{
sb.AppendFormat(" and b.Name like'%{0}%' ", where.AliasName);
}
if (!string.IsNullOrWhiteSpace(where.StartDate))
{
sb.AppendFormat(" and DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )>=DATE_FORMAT('{0}','%Y-%m-%d' ) ", where.StartDate);
}
if (!string.IsNullOrWhiteSpace(where.EndDate))
{
sb.AppendFormat(" and DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )<= DATE_FORMAT('{0}','%Y-%m-%d' ) ", where.EndDate);
}
}
return GetPage<Rb_GuestSurvey_Extend>(pageIndex, pageSize, out rowsCount, sb.ToString()).ToList();
}
......
......@@ -19,7 +19,7 @@ namespace Mall.Repository.MarketingCenter
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<Rb_SurveyOptions_Extend> GetList(Rb_SurveyOptions where)
public List<Rb_SurveyOptions_Extend> GetList(Rb_SurveyOptions_Extend where)
{
StringBuilder sb = new StringBuilder();
sb.Append($@"SELECT * from Rb_SurveyOptions where state=0");
......@@ -29,6 +29,11 @@ namespace Mall.Repository.MarketingCenter
{
sb.AppendFormat(" and SurveyID={0}", where.SurveyID);
}
if (!string.IsNullOrWhiteSpace(where.SurveyIDs))
{
sb.AppendFormat(" and SurveyID in({0})", where.SurveyIDs);
}
}
sb.Append($" ORDER BY {nameof(Rb_SurveyOptions.Sort)} ASC");
return Get<Rb_SurveyOptions_Extend>(sb.ToString()).ToList();
......
......@@ -33,11 +33,15 @@ namespace Mall.Repository.MarketingCenter
{
sb.AppendFormat(" and MallBaseId={0}", where.MallBaseId);
}
if (where.ActivitySurveyId > 0)
{
sb.AppendFormat(" and ActivitySurveyId={0}", where.ActivitySurveyId);
}
if (where.IsShow > 0)
{
sb.AppendFormat(" and IsShow={0}", where.IsShow);
}
if (string.IsNullOrWhiteSpace(where.Title))
if (!string.IsNullOrWhiteSpace(where.Title))
{
sb.AppendFormat(" and Title like'%{0}%'", where.Title);
}
......@@ -71,7 +75,7 @@ namespace Mall.Repository.MarketingCenter
sb.Append($@"SELECT * from Rb_Survey where state=0");
if (where != null)
{
if (where.IsShow > 0)
if (where.IsShow > -1)
{
sb.AppendFormat(" and IsShow={0}", where.IsShow);
}
......@@ -79,6 +83,10 @@ namespace Mall.Repository.MarketingCenter
{
sb.AppendFormat(" and TenantId={0}", where.TenantId);
}
if (where.ActivitySurveyId > 0)
{
sb.AppendFormat(" and ActivitySurveyId={0}", where.ActivitySurveyId);
}
if (where.MallBaseId > 0)
{
sb.AppendFormat(" and MallBaseId={0}", where.MallBaseId);
......@@ -87,7 +95,7 @@ namespace Mall.Repository.MarketingCenter
{
sb.AppendFormat(" and SurveyType={0}", (int)where.SurveyType);
}
if (string.IsNullOrWhiteSpace(where.Title))
if (!string.IsNullOrWhiteSpace(where.Title))
{
sb.AppendFormat(" and Title like'%{0}%'", where.Title);
}
......
......@@ -476,6 +476,10 @@ LEFT JOIN rb_member_user as d on d.AliasName=a.UserId where a.UseState=1 {buil
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.MallBaseId)}={query.MallBaseId}";
}
if (!string.IsNullOrWhiteSpace(query.KeyWord))
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.KeyWord)}='{query.KeyWord}'";
}
if (query.UserId > 0)
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.UserId)}={query.UserId}";
......
......@@ -1066,11 +1066,42 @@ namespace Mall.WebApi.Controllers.Education
var req = RequestParm;
var userInfo = AppletUserInfo;
List<Rb_Survey_Extend> modelSurvey = JsonConvert.DeserializeObject<List<Rb_Survey_Extend>>(req.msg.ToString());
if (modelSurvey == null || !modelSurvey.Any())
{
return ApiResult.Failed("选项信息不能空");
}
Rb_GuestSurvey_Extend model = new Rb_GuestSurvey_Extend();
if ((modelSurvey.FirstOrDefault()?.ActivitySurveyId ?? 0) == 0)
{
return ApiResult.Failed("请选择活动对应的问卷信息");
}
var activeSurueyModel = surveyModule.GetActivitySurveyList(new RB_ActivitySurvey_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, ID = modelSurvey.FirstOrDefault()?.ActivitySurveyId ?? 0 }).FirstOrDefault();
if (activeSurueyModel == null || activeSurueyModel.ID == 0)
{
return ApiResult.Failed("请选择活动对应的问卷信息");
}
//先判断是否已添加
var GuestSurvey = surveyModule.GetGuestSurveyList(new Rb_GuestSurvey_Extend { UserId = userInfo.UserId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
if (GuestSurvey.Count > 0)
var GuestSurvey = surveyModule.GetGuestSurveyList(new Rb_GuestSurvey_Extend { ActivitySurveyId = modelSurvey.FirstOrDefault()?.ActivitySurveyId ?? 0, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
if (activeSurueyModel.StartDate.HasValue && activeSurueyModel.EndDate.HasValue)
{
if (activeSurueyModel.StartDate.Value > System.DateTime.Now)
{
return ApiResult.Failed("问卷调查活动还未开始");
}
if (activeSurueyModel.EndDate.Value < System.DateTime.Now)
{
return ApiResult.Failed("问卷调查活动已结束");
}
}
//if (activeSurueyModel.SurveyNum != -1 && activeSurueyModel.SurveyNum <= GuestSurvey.Count())
//{
// return ApiResult.Failed(activeSurueyModel.SurveyNum + "份问卷调查已填写完");
//}
if (GuestSurvey.Where(x => x.UserId == userInfo.UserId).Count() > 0)
{
return ApiResult.Failed("请勿重复参与问卷调查");
}
......@@ -1081,6 +1112,7 @@ namespace Mall.WebApi.Controllers.Education
model.CreateDate = System.DateTime.Now;
model.ID = 0;
model.State = DateStateEnum.Normal;
model.ActivitySurveyId = modelSurvey.FirstOrDefault()?.ActivitySurveyId ?? 0;
var scoreList = modelSurvey.Where(x => x.SurveyType == SurveyTypeEnum.Score);
if (scoreList != null && scoreList.Any())
{
......@@ -1102,22 +1134,25 @@ namespace Mall.WebApi.Controllers.Education
{
modelSurveyOptions.ScoreNum = 0;
var surveyDetailsList = item.SurveyOptionsList.Where(x => x.IsCheck == "1");
if (surveyDetailsList == null || !surveyDetailsList.Any())
if ((surveyDetailsList == null || !surveyDetailsList.Any()) && item.IsRequired == 1)
{
return ApiResult.Failed(item.Title + "您还未选择");
}
modelSurveyOptions.SurveyOptionIds = string.Join(",", surveyDetailsList.Select(x => x.ID));
modelSurveyOptions.SurveyOptionIds = (surveyDetailsList == null || !surveyDetailsList.Any()) ? "" : string.Join(",", surveyDetailsList.Select(x => x.ID));
}
else if (item.SurveyType == SurveyTypeEnum.Score)
{
if (item.IsRequired == 1 && item.ScoreNum == 0)
{
return ApiResult.Failed(item.Title + "您还未打分");
}
modelSurveyOptions.ScoreNum = item.ScoreNum;
}
else if (item.SurveyType == SurveyTypeEnum.TheRadio)
{
modelSurveyOptions.ScoreNum = 0;
var surveyDetailsList = item.SurveyOptionsList.Where(x => x.IsCheck == "1");
if (surveyDetailsList == null || !surveyDetailsList.Any())
if ((surveyDetailsList == null || !surveyDetailsList.Any()) && item.IsRequired == 1)
{
return ApiResult.Failed(item.Title + "您还未选择");
}
......@@ -1125,10 +1160,14 @@ namespace Mall.WebApi.Controllers.Education
{
return ApiResult.Failed(item.Title + "请勿多选");
}
modelSurveyOptions.SurveyOptionIds = string.Join(",", surveyDetailsList.Select(x => x.ID));
modelSurveyOptions.SurveyOptionIds = (surveyDetailsList == null || !surveyDetailsList.Any()) ? "" : string.Join(",", surveyDetailsList.Select(x => x.ID));
}
else
else if (item.SurveyType == SurveyTypeEnum.TheText)
{
if (item.IsRequired == 1 && string.IsNullOrWhiteSpace(item.TextContent))
{
return ApiResult.Failed(item.Title + "必填填写");
}
modelSurveyOptions.TextContent = item.TextContent;
modelSurveyOptions.ScoreNum = 0;
}
......@@ -1144,6 +1183,64 @@ namespace Mall.WebApi.Controllers.Education
else
return ApiResult.Failed("问卷调查提交失败");
}
/// <summary>
/// 获取会员调查问题列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResult GetSurveyShowList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
Rb_Survey_Extend model = JsonConvert.DeserializeObject<Rb_Survey_Extend>(req.msg.ToString());
var activeSurueyModel = surveyModule.GetActivitySurveyList(new RB_ActivitySurvey_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, ID = model.ActivitySurveyId }).FirstOrDefault();
if (activeSurueyModel == null || activeSurueyModel.ID == 0)
{
return ApiResult.Failed("问卷调查活动不存在");
}
//先判断是否已添加
var GuestSurvey = surveyModule.GetGuestSurveyList(new Rb_GuestSurvey_Extend { ActivitySurveyId = model.ActivitySurveyId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
int isEnd = 0;
if (activeSurueyModel.StartDate.HasValue && activeSurueyModel.EndDate.HasValue)
{
if (activeSurueyModel.StartDate.Value < System.DateTime.Now && activeSurueyModel.EndDate.Value > System.DateTime.Now)
{
isEnd = 1;
}
else if (activeSurueyModel.StartDate.Value > System.DateTime.Now)
{
isEnd = 0;
}
else if (activeSurueyModel.EndDate.Value < System.DateTime.Now)
{
isEnd = 2;
}
}
var list = surveyModule.GetAllList(model);
var result = new
{
isEnd,
activeSurueyModel.SurveyNum,
GuestSurveyNum = GuestSurvey.Count(),
Surplus = activeSurueyModel.SurveyNum - GuestSurvey.Count(),
StartDate = activeSurueyModel.StartDate.HasValue ? activeSurueyModel.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
EndDate = activeSurueyModel.EndDate.HasValue ? activeSurueyModel.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
activeSurueyModel.Title,
activeSurueyModel.Description,
activeSurueyModel.PrizeAddress,
activeSurueyModel.PrizeType,
activeSurueyModel.ID,
FillInNum = GuestSurvey.Where(x => x.UserId == userInfo.UserId).Count(),
BaseList = list.Where(x => x.FormType == FormTypeEnum.Base).OrderBy(x => x.Sort).Select(x => new { x.ID, x.IsRequired,x.ActivitySurveyId, SurveyType = (int)x.SurveyType, x.FormType, x.Title, x.Sort, SurveyTypeStr = EnumHelper.GetEnumName(x.SurveyType), FormTypeStr = EnumHelper.GetEnumName(x.FormType), x.SurveyOptionsList, ScoreNum = (x.SurveyType.HasValue&& x.SurveyType == SurveyTypeEnum.Score) ? 5 : 0, TextContent = "" }).ToList(),
SurveyList = list.Where(x => x.FormType == FormTypeEnum.Survey).OrderBy(x => x.Sort).Select(x => new { x.ID, x.IsRequired, x.ActivitySurveyId, SurveyType = (int)x.SurveyType, x.FormType, x.Title, x.Sort, SurveyTypeStr = EnumHelper.GetEnumName(x.SurveyType), FormTypeStr = EnumHelper.GetEnumName(x.FormType), x.SurveyOptionsList, ScoreNum = (x.SurveyType.HasValue && x.SurveyType == SurveyTypeEnum.Score) ? 5 : 0, TextContent = "" }).ToList()
};
return ApiResult.Success("", result);
}
#endregion
}
}
\ No newline at end of file
......@@ -510,5 +510,7 @@ namespace Mall.WebApi.Controllers.Education
return ApiResult.Success("", oldLogisticsModel);
}
#endregion
}
}
\ No newline at end of file
......@@ -867,6 +867,10 @@ namespace Mall.WebApi.Controllers.Education
{
query.LableName = JsonConvert.SerializeObject(query.LableNameList);
}
else
{
query.LableName = "";
}
bool result = educationModule.AddOrUpdateTeacher(query);
if (result)
{
......
......@@ -13,6 +13,7 @@ using Mall.Common.Plugin;
using Newtonsoft.Json.Linq;
using Mall.Model.Entity.MarketingCenter;
using Mall.Common.Enum.MarketingCenter;
using Microsoft.AspNetCore.Authorization;
namespace Mall.WebApi.Controllers.MarketingCenter
{
......@@ -27,9 +28,137 @@ namespace Mall.WebApi.Controllers.MarketingCenter
/// 处理类对象
/// </summary>
private SurveyModule module = new SurveyModule();
/// <summary>
/// 处理类对象
/// </summary>
private Module.User.UserModule userModule = new Module.User.UserModule();
#region 问卷活动调查
/// <summary>
/// 获取基础信息列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetActivitySurveyPageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_ActivitySurvey_Extend demodel = JsonConvert.DeserializeObject<RB_ActivitySurvey_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var data = module.GetActivitySurveyPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
var list = data.Select(x => new { x.ID, x.PrizeType, x.Title, StartDateStr = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", EndDateStr = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", PrizeTypeStr = EnumHelper.GetEnumName(x.PrizeType), x.PrizeAddress, x.Description, x.SurveyNum }).ToList();
pagelist.count = int.Parse(count.ToString());
pagelist.pageData = list;
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 通过id获取信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult GetActivitySurvey()
{
var parms = RequestParm;
JObject parm = JObject.Parse(parms.msg.ToString());
int ID = parm.GetInt("ID");
RB_ActivitySurvey_Extend model = module.GetActivitySurveyList(new RB_ActivitySurvey_Extend { ID = ID, MallBaseId = parms.MallBaseId, TenantId = UserInfo.TenantId }).FirstOrDefault();
if (model != null)
{
return ApiResult.Success("请求成功", new { model.ID, model.Title, StartDate = model.StartDate.HasValue ? model.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", EndDate = model.EndDate.HasValue ? model.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", model.SurveyNum, model.Description, model.PrizeAddress, model.PrizeType });
}
return ApiResult.Failed("活动信息不存在");
}
/// <summary>
/// 通过id获取信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult DelActivitySurvey()
{
var parms = RequestParm;
JObject parm = JObject.Parse(parms.msg.ToString());
int ID = parm.GetInt("ID");
RB_ActivitySurvey_Extend model = module.GetActivitySurveyList(new RB_ActivitySurvey_Extend { ID = ID, MallBaseId = parms.MallBaseId, TenantId = UserInfo.TenantId }).FirstOrDefault();
if (model != null)
{
if (model.State == Common.Enum.DateStateEnum.Delete)
{
return ApiResult.Failed("已删除请勿重复删除");
}
model.SurveyList = new List<Rb_Survey_Extend>();
model.SurveyList = module.GetSurveyList(new Rb_Survey_Extend { ActivitySurveyId = model.ID, MallBaseId = parms.MallBaseId, TenantId = UserInfo.TenantId });
var surveyOptionsList = new List<Rb_SurveyOptions_Extend>();
if (model.SurveyList != null && model.SurveyList.Any())
{
surveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions_Extend { SurveyIDs = string.Join(",", model.SurveyList.Select(x => x.ID)) });
}
foreach (var item in model.SurveyList)
{
item.SurveyOptionsList = new List<Rb_SurveyOptions_Extend>();
item.SurveyOptionsList = (surveyOptionsList != null && surveyOptionsList.Any()) ? surveyOptionsList.Where(x => x.SurveyID == item.ID).ToList() : new List<Rb_SurveyOptions_Extend>();
}
bool result = module.DelActivitySurvey(model);
return ApiResult.Success("删除成功");
}
return ApiResult.Failed("活动信息不存在");
}
/// <summary>
/// 添加修改调查信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult SetActivitySurvey()
{
var parms = RequestParm;
RB_ActivitySurvey_Extend model = JsonConvert.DeserializeObject<RB_ActivitySurvey_Extend>(parms.msg.ToString());
if (string.IsNullOrEmpty(model.Title))
{
return ApiResult.Failed("请填写名称");
}
if (model.SurveyNum == 0)
{
return ApiResult.Failed("问卷调查份数不能为0");
}
if (model.ID == 0)
{
model.TenantId = UserInfo.TenantId;
model.MallBaseId = parms.MallBaseId;
model.CreateDate = DateTime.Now;
}
model.UpdateDate = DateTime.Now;
model.State = Common.Enum.DateStateEnum.Normal;
bool flag = module.SetActivitySurvey(model);
if (flag)
return ApiResult.Success();
else
return ApiResult.Failed("请求失败");
}
/// <summary>
/// 获取活动奖品地址类型枚举列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult GetPrizeTypeEnumList()
{
var list = EnumHelper.GetEnumList(typeof(PrizeTypeEnum));
return ApiResult.Success("", list.Select(x => new { Id = x.Value, Name = x.Key }));
}
#endregion
#region 问卷调查
/// <summary>
/// 获取基础信息列表
......@@ -44,7 +173,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.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);
......@@ -67,11 +196,11 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
model.SurveyOptionsList = new List<Rb_SurveyOptions_Extend>();
model.SurveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions { SurveyID = model.ID });
model.SurveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions_Extend { SurveyID = model.ID });
return ApiResult.Success("请求成功", model);
return ApiResult.Success("请求成功", model);
}
return ApiResult.Failed("未找到此调查信息");
return ApiResult.Failed("未找到此调查信息");
}
/// <summary>
......@@ -90,16 +219,16 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
if (model.State == Common.Enum.DateStateEnum.Delete)
{
return ApiResult.Failed("已删除请勿重复删除");
return ApiResult.Failed("已删除请勿重复删除");
}
model.SurveyOptionsList = new List<Rb_SurveyOptions_Extend>();
model.SurveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions { SurveyID = model.ID });
model.SurveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions_Extend { SurveyID = model.ID });
bool result = module.DelSurvey(model);
return ApiResult.Success("删除成功");
return ApiResult.Success("删除成功");
}
return ApiResult.Failed("未找到此调查信息");
return ApiResult.Failed("未找到此调查信息");
}
/// <summary>
......@@ -120,7 +249,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
if (model.SurveyOptionsList == null || !model.SurveyOptionsList.Any())
{
return ApiResult.Failed("请填写选项");
return ApiResult.Failed("请填写选项");
}
else
{
......@@ -139,7 +268,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
if (flag)
return ApiResult.Success();
else
return ApiResult.Failed("请求失败");
return ApiResult.Failed("请求失败");
}
/// <summary>
......@@ -169,5 +298,110 @@ namespace Mall.WebApi.Controllers.MarketingCenter
#endregion
#region 问卷调查详情
/// <summary>
/// 通过id获取信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public ApiResult GetGuestSurveyDetails()
{
var parms = RequestParm;
JObject parm = JObject.Parse(parms.msg.ToString());
int SurveyID = parm.GetInt("SurveyID");
Rb_GuestSurvey_Extend model = module.GetGuestSurveyEntity(SurveyID).RefMapperTo<Rb_GuestSurvey_Extend>();
if (model != null)
{
model.SurveyOptionsList = new List<Rb_GuestSurveyDetails>();
model.SurveyOptionsList = module.GetGuestSurveyDetailsList(new Rb_GuestSurveyDetails { GuestSurveyId = SurveyID });
//调查问卷信息
var surverList = module.GetSurveyList(new Rb_Survey_Extend { SurveyIDs = string.Join(",", model.SurveyOptionsList.Select(x => x.SurveyId)), MallBaseId = parms.MallBaseId, TenantId = parms.MallBaseId });
var surveyOptionsList = module.GetSurveyOptionsList(new Rb_SurveyOptions_Extend { SurveyIDs = string.Join(",", model.SurveyOptionsList.Select(x => x.SurveyId)) });
foreach (var item in surverList)
{
item.CreateDate = model.CreateDate;
item.SurveyOptionsList = new List<Rb_SurveyOptions_Extend>();
item.SurveyOptionsList = surveyOptionsList.Where(x => x.SurveyID == item.ID).OrderBy(x => x.Sort).ToList();
item.SurveyOptionsList.ForEach(x => x.IsCheck = "0");
if (item.SurveyType == SurveyTypeEnum.MultiSelect || item.SurveyType == SurveyTypeEnum.TheRadio)
{
foreach (var surveyOptionsItem in item.SurveyOptionsList)
{
var surverOptionsIds = model.SurveyOptionsList.FirstOrDefault(x => x.SurveyId == item.ID);
if (surverOptionsIds != null && !string.IsNullOrWhiteSpace(surverOptionsIds.SurveyOptionIds))
{
foreach (var OptionId in surverOptionsIds.SurveyOptionIds.Split(','))
{
if (OptionId == surveyOptionsItem.ID.ToString())
{
surveyOptionsItem.IsCheck = "1";
}
}
}
item.TextContent = "";
item.ScoreNum = 0;
}
}
else if (item.SurveyType == SurveyTypeEnum.Score)
{
var surverOptionsIds = model.SurveyOptionsList.FirstOrDefault(x => x.SurveyId == item.ID);
item.ScoreNum = surverOptionsIds.ScoreNum;
item.TextContent = "";
}
else
{
var surverOptionsIds = model.SurveyOptionsList.FirstOrDefault(x => x.SurveyId == item.ID);
item.TextContent = surverOptionsIds.TextContent;
item.ScoreNum = 0;
}
}
var userModel = userModule.GetMemberUserInfo(model.UserId ?? 0);
if (userModel == null)
{
userModel = new Model.Extend.User.RB_Member_User_Extend();
}
var obj = 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 });
}
return ApiResult.Failed("未找到调查信息!");
}
#endregion
#region 问卷调查列表
/// <summary>
/// 获取基础信息列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetResultPageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
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();
pagelist.count = int.Parse(count.ToString());
pagelist.pageData = list;
return ApiResult.Success("", pagelist);
}
#endregion
}
}
......@@ -62,6 +62,8 @@ namespace Mall.WebApi.Controllers.User
SuperiorId = parms.GetInt("SuperiorId"),
SmallShopId = parms.GetInt("SmallShopId"),
UserPageType = (Common.Enum.Goods.GoodsPageTypeEnum)parms.GetInt("UserPageType", 0),
CounponPassword = parms.GetInt("CounponPassword", 3),
KeyWord = parms.GetStringValue("KeyWord"),
};
if (requestParm.TenantId <= 0)
{
......@@ -85,6 +87,8 @@ namespace Mall.WebApi.Controllers.User
Model.Extend.Education.RB_Education_Coupon_Extend educationCouponResult = new Model.Extend.Education.RB_Education_Coupon_Extend();
Model.Extend.Reserve.RB_Reserve_Coupon_Extend reserveCouponResult = new Model.Extend.Reserve.RB_Reserve_Coupon_Extend();
string couponName = string.Empty;
bool isGiveCoupon = false;
//验证是否新用户
if (!userModule.ValidateUserOpenId(demodel.OpenId, demodel.Source, requestParm.TenantId, requestParm.MallBaseId))
{
......@@ -154,9 +158,23 @@ namespace Mall.WebApi.Controllers.User
//自动发放新人优惠券 2020-08-04 Add By:W
couponResult = couponModule.AutoCoupon(new Model.Extend.MarketingCenter.RB_DiscountCoupon_Extend { UserId = UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 3 });
educationCouponResult = educationModule.AutoEducationCoupon(new Model.Extend.Education.RB_Education_Coupon_Extend { UserId = UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 3 });
reserveCouponResult= reserveModule.AutoEducationCoupon(new Model.Extend.Reserve.RB_Reserve_Coupon_Extend { UserId = UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 3 });
reserveCouponResult = reserveModule.AutoEducationCoupon(new Model.Extend.Reserve.RB_Reserve_Coupon_Extend { UserId = UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 3 });
if (couponResult != null && couponResult.ID > 0)
{
couponName = couponResult.Name;
isGiveCoupon = true;
}
//自动发放新人优惠券 2020-12-31 Add By:W
if (demodel.CounponPassword == 5 && !string.IsNullOrWhiteSpace(demodel.KeyWord))
{
couponResult = couponModule.AutoCoupon(new Model.Extend.MarketingCenter.RB_DiscountCoupon_Extend { UserId = UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 5, KeyWord = demodel.KeyWord });
if (couponResult != null && couponResult.ID > 0)
{
couponName = couponName + "," + couponResult.Name ;
isGiveCoupon = true;
}
}
#region 粉象返佣 自动注册分销商 普通会员等级
if ((basicsModel?.IsEnableFXGrade ?? 2) == 1)
{
......@@ -212,9 +230,9 @@ namespace Mall.WebApi.Controllers.User
UserPageType = mmodel.IsOpenSchool == 1 ? demodel.UserPageType : Common.Enum.Goods.GoodsPageTypeEnum.All
};
UserReidsCache.AppletUserInfoSet(UserModuleCacheKeyConfig.Applet_Login_Info + UserId, appletUserInfo, Config.JwtExpirTime);
if (couponResult != null && couponResult.ID > 0)
if (isGiveCoupon)
{
return ApiResult.CouponSuccess(ResultCode.Success, 1, "", couponResult.Name, appletUserInfo);
return ApiResult.CouponSuccess(ResultCode.Success, 1, "", couponName, appletUserInfo);
}
else
......@@ -240,6 +258,18 @@ namespace Mall.WebApi.Controllers.User
{
return ApiResult.Failed("账号已被冻结,请联系运营商");
}
//自动发放新人优惠券 2020-12-31 Add By:W
if (demodel.CounponPassword == 5 && !string.IsNullOrWhiteSpace(demodel.KeyWord))
{
couponResult = couponModule.AutoCoupon(new Model.Extend.MarketingCenter.RB_DiscountCoupon_Extend { UserId = umodel.Id, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 5, KeyWord = demodel.KeyWord });
if (couponResult != null && couponResult.ID > 0)
{
couponName = couponResult.Name;
isGiveCoupon = true;
}
}
TokenUserInfo userInfo = new TokenUserInfo { uid = umodel.Id.ToString(), requestFrom = ApiRequestFromEnum.MiniProgram };
#region JWT
IDateTimeProvider provider = new UtcDateTimeProvider();
......@@ -283,7 +313,17 @@ namespace Mall.WebApi.Controllers.User
UserPageType = mmodel.IsOpenSchool == 1 ? umodel.UserPageType : Common.Enum.Goods.GoodsPageTypeEnum.All
};
UserReidsCache.AppletUserInfoSet(UserModuleCacheKeyConfig.Applet_Login_Info + umodel.Id, appletUserInfo, Config.JwtExpirTime);
return ApiResult.CouponSuccess(ResultCode.Fail, 1, "", "", appletUserInfo);
if (isGiveCoupon)
{
return ApiResult.CouponSuccess(ResultCode.Success, 1, "", couponName, appletUserInfo);
}
else {
return ApiResult.CouponSuccess(ResultCode.Fail, 1, "", "", appletUserInfo);
}
// return ApiResult.CouponSuccess(ResultCode.Fail, 1, "", "", appletUserInfo);
//return ApiResult.Success("", appletUserInfo);
}
}
......@@ -343,7 +383,7 @@ namespace Mall.WebApi.Controllers.User
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResult GetGuestWeiXinMobile(object requestMsg)
public ApiResult GetGuestWeiXinMobile(object requestMsg)
{
var requestParm = JsonConvert.DeserializeObject<RequestParm>(requestMsg.ToString());
JObject parms = JObject.Parse(requestParm.msg.ToString());
......
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