Commit 34de3990 authored by 吴春's avatar 吴春

线下服务卡包

parent f6f17693
using VT.FW.DB;
using Mall.Common.Enum.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.Reserve
{
/// <summary>
/// 预约-卡包实体表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Reserve_CardBag
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public int Status { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
public string Name { get; set; }
public string CardBagIco { get; set; }
/// <summary>
/// 领取方式设置1-领劵中心
/// </summary>
public int PickupCenter { get; set; }
/// <summary>
/// 店铺id
/// </summary>
public int SmallShopId { get; set; }
/// <summary>
/// 卡号
/// </summary>
public string CardNo { get; set; }
/// <summary>
/// 关联门店
/// </summary>
public string StoreIds { get; set; }
/// <summary>
/// 是否赞羊使用0-否,1-是
/// </summary>
public int IsZanYangUse { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Describe { get; set; }
/// <summary>
/// 有效期开始时间
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 有效期结束时间
/// </summary>
public DateTime? EndDate { get; set; }
}
}
using VT.FW.DB;
using Mall.Common.Enum.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.Reserve
{
/// <summary>
/// 预约-会员卡包实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Reserve_MemberCardBag
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 用户id
/// </summary>
public int? UserId { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description
{
get;
set;
}
/// <summary>
/// 领取时间
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// 商户号id
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public string Remarks { get; set; }
/// <summary>
/// 优惠券id
/// </summary>
public int CouponId { get; set; }
/// <summary>
/// 使用状态 0-未使用,1:已使用,2:已作废
/// </summary>
public int UseState { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
/// <summary>
/// 领取方式0-自行领取(领劵中心领取),1-分享,2-购买并付款,3-新人领取,4-新人购买并付款
/// </summary>
public new int GetType { get; set; }
/// <summary>
/// 删除
/// </summary>
public int Status { get; set; }
/// <summary>
/// 优惠券名称
/// </summary>
public string Name { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Reserve;
using Mall.Model.Entity.User;
using VT.FW.DB;
namespace Mall.Model.Extend.Reserve
{
/// <summary>
/// 预约-卡包扩展表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Reserve_CardBag_Extend : RB_Reserve_CardBag
{
/// <summary>
/// 0-未领取 >0已领取
/// </summary>
public int MemberNum { get; set; }
/// <summary>
/// 优惠卷ids
/// </summary>
public string CouponIds { get; set; }
/// <summary>
/// 门店列表
/// </summary>
public List<RB_Stores_Extend> StoresList { get; set; }
/// <summary>
/// 发放优惠券的时候会员ids
/// </summary>
public string UserIds { get; set; }
/// <summary>
/// 发放优惠券的时候会员id
/// </summary>
public int UserId { get; set; }
public int UseState { get; set; }
public int StoreId { get; set; }
public int MemberCouponId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Reserve;
namespace Mall.Model.Extend.Reserve
{
public class RB_Reserve_MemberCardBag_Extend: RB_Reserve_MemberCardBag
{
public string CouponIco { get; set; }
/// <summary>
/// 优惠卷ids
/// </summary>
public string CouponIds { get; set; }
/// <summary>
/// 用户优惠券id
/// </summary>
public string Ids { get; set; }
/// <summary>
/// 线下服务门店id
/// </summary>
public int StoreId { get; set; }
}
}
...@@ -244,15 +244,15 @@ namespace Mall.Module.Reserve ...@@ -244,15 +244,15 @@ namespace Mall.Module.Reserve
/// <summary> /// <summary>
/// 套餐卡信息列表 订单数和商品数还未关联 /// 套餐卡信息列表 订单数和商品数还未关联
/// </summary> /// </summary>
/// <param name="pageIndex">页码</param> /// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param> /// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param> /// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param> /// <param name="query">查询条件</param>
/// <returns></returns> /// <returns></returns>
public List<RB_Reserve_ServicePersonal_Extend> GetMinServicePersonalList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_ServicePersonal_Extend query) public List<RB_Reserve_ServicePersonal_Extend> GetMinServicePersonalList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_ServicePersonal_Extend query)
{ {
var list = servicePersonalRepository.GetMinServicePersonalList(pageIndex, pageSize, out rowCount, query); var list = servicePersonalRepository.GetMinServicePersonalList(pageIndex, pageSize, out rowCount, query);
//if (list != null && list.Any()) //if (list != null && list.Any())
...@@ -320,7 +320,7 @@ namespace Mall.Module.Reserve ...@@ -320,7 +320,7 @@ namespace Mall.Module.Reserve
/// <returns></returns> /// <returns></returns>
public List<RB_Reserve_ServicePersonal_Extend> GetAchievementsList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_ServicePersonal_Extend query) public List<RB_Reserve_ServicePersonal_Extend> GetAchievementsList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_ServicePersonal_Extend query)
{ {
return servicePersonalRepository.GetAchievementsList(pageIndex,pageSize,out rowCount, query); return servicePersonalRepository.GetAchievementsList(pageIndex, pageSize, out rowCount, query);
} }
...@@ -524,6 +524,18 @@ namespace Mall.Module.Reserve ...@@ -524,6 +524,18 @@ namespace Mall.Module.Reserve
} }
#endregion #endregion
#region 卡包
/// <summary>
/// 卡包信息
/// </summary>
private readonly RB_Reserve_CardBagRepository reserveCardBagRepository = new RB_Reserve_CardBagRepository();
/// <summary>
/// 会员卡包信息
/// </summary>
private readonly RB_Reserve_MemberCardBagRepository reserveMemberCardBagRepository = new RB_Reserve_MemberCardBagRepository();
#endregion
...@@ -1304,5 +1316,251 @@ namespace Mall.Module.Reserve ...@@ -1304,5 +1316,251 @@ namespace Mall.Module.Reserve
#endregion #endregion
#region 卡包
/// <summary>
/// 卡包信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetCardBagPageList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_CardBag_Extend query)
{
return reserveCardBagRepository.GetCardBagPageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
///卡包信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetCardBagList(RB_Reserve_CardBag_Extend query, bool IsSelectDel = false)
{
var list = reserveCardBagRepository.GetCardBagList(query, IsSelectDel);
return list;
}
/// <summary>
/// 卡包信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetAllCardBagList(RB_Reserve_CardBag_Extend query)
{
return reserveCardBagRepository.GetCardBagList(query);
}
/// <summary>
/// 新增/修改卡包
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateCardBag(RB_Reserve_CardBag_Extend model)
{
try
{
if (model.ID == 0)
{
return reserveCardBagRepository.Insert(model) > 0;
}
else
{
return reserveCardBagRepository.Update(model);
}
}
catch (Exception ex)
{
LogHelper.Write(ex, "AddOrUpdateCardBag");
return false;
}
}
/// <summary>
/// 删除卡包
/// </summary>
/// <param name="gradeId"></param>
/// <param name="uid"></param>
/// <returns></returns>
public bool DelCardBag(int id, int uid, int mallBaseId)
{
bool flag;
try
{
Dictionary<string, object> cols1 = new Dictionary<string, object>()
{
{ nameof(RB_Reserve_CardBag.Status),1},
{ nameof(RB_Reserve_CardBag.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.ID),
FiledValue=id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.TenantId),
FiledValue=Convert.ToInt32(uid),
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.MallBaseId),
FiledValue=Convert.ToInt32(mallBaseId),
OperatorEnum=OperatorEnum.Equal
}
};
flag = reserveCardBagRepository.Update(cols1, wheres1);
}
catch (Exception ex)
{
LogHelper.Write(ex, "DelCardBag");
return false;
}
return flag;
}
/// <summary>
/// 领劵中心
/// </summary>
/// <param name="gradeId"></param>
/// <param name="uid"></param>
/// <returns></returns>
public bool UpdateCardBagPickupType(int id, int uid, int mallBaseId)
{
try
{
var model = reserveCardBagRepository.GetEntity(id);
Dictionary<string, object> cols1 = new Dictionary<string, object>()
{
{ nameof(RB_Reserve_CardBag.PickupCenter),model.PickupCenter==0?1:0},
{ nameof(RB_Reserve_CardBag.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.ID),
FiledValue=id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.TenantId),
FiledValue=Convert.ToInt32(uid),
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.MallBaseId),
FiledValue=Convert.ToInt32(mallBaseId),
OperatorEnum=OperatorEnum.Equal
}
};
return reserveCardBagRepository.Update(cols1, wheres1);
}
catch (Exception ex)
{
LogHelper.Write(ex, "UpdateCardBagPickupType");
return false;
}
}
#endregion
#region 网课小程序个人中心-卡包中心
/// <summary>
/// 领劵中心卡券
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetAllCardBagList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_CardBag_Extend query)
{
var list = reserveCardBagRepository.GetAllCardBagList(pageIndex, pageSize, out rowCount, query);
return list;
}
/// <summary>
/// 会员套餐卡
/// </summary>
/// <returns></returns>
public List<RB_Reserve_MemberCardBag_Extend> GetMemberCarBagList(RB_Reserve_MemberCardBag_Extend query)
{
return reserveMemberCardBagRepository.GetList(query);
}
/// <summary>
/// 发放套餐卡
/// </summary>
/// <param name="list"></param>
/// <param name="model"></param>
/// <returns></returns>
public bool GrantCardBag(List<RB_Reserve_MemberCardBag_Extend> list, RB_Reserve_CardBag_Extend model)
{
var trans = reserveMemberCardBagRepository.DbTransaction;
bool flag;
try
{
flag = reserveMemberCardBagRepository.InsertBatch(list, trans);
if (model != null && flag)
{
Dictionary<string, object> cols1 = new Dictionary<string, object>()
{
{ nameof(RB_Reserve_Coupon.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.ID),
FiledValue=model.ID,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.TenantId),
FiledValue=model.TenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Reserve_CardBag.MallBaseId),
FiledValue=model.MallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
flag = reserveCardBagRepository.Update(cols1, wheres1, trans);
}
reserveMemberCardBagRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "GrantCardBag");
reserveMemberCardBagRepository.DBSession.Rollback("GrantCardBag");
return false;
}
return flag;
}
/// <summary>
/// 我的套餐卡
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetMemberCardBagList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_CardBag_Extend query)
{
var list = reserveCardBagRepository.GetMemberCardBagList(pageIndex, pageSize, out rowCount, query);
return list;
}
#endregion
} }
} }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Model.Entity.Reserve;
using Mall.Model.Extend.Reserve;
namespace Mall.Repository.Reserve
{
public class RB_Reserve_CardBagRepository : BaseRepository<RB_Reserve_CardBag>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Reserve_CardBag); } }
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetCardBagPageList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_CardBag_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as SmallShopName FROM {TableName} as A LEFT JOIN rb_smallshops_info as b on a.SmallShopId=b.Id WHERE a.{nameof(RB_Reserve_CardBag_Extend.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_CardBag_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_CardBag_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND a.{nameof(RB_Reserve_CardBag_Extend.Name)} like '%{query.Name}%'");
}
}
builder.Append($" order by a.{nameof(RB_Reserve_CardBag_Extend.ID)} desc");
return GetPage<RB_Reserve_CardBag_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetCardBagList(RB_Reserve_CardBag_Extend query, bool IsSelectDel = false)
{
StringBuilder builder = new StringBuilder();
if (IsSelectDel)
{
builder.Append($" SELECT * FROM {TableName} WHERE 1=1 ");
}
else
{
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Reserve_CardBag_Extend.Status)}=0 ");
}
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_Reserve_CardBag_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Reserve_CardBag_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Reserve_CardBag_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_Reserve_CardBag_Extend.Name)} like '%{query.Name}%'");
}
if (!string.IsNullOrEmpty(query.CouponIds))
{
builder.Append($" AND {nameof(RB_Reserve_CardBag_Extend.ID)} in({query.CouponIds})");
}
if (query.StoreId > 0)
{
builder.Append($" AND ( FIND_IN_SET('{query.StoreId}', {nameof(RB_Reserve_CardBag_Extend.StoreIds)}) or FIND_IN_SET('0', {nameof(RB_Reserve_CardBag_Extend.StoreIds)} )) ");
}
else if (query.StoreId != -1)
{
builder.Append($" AND FIND_IN_SET('0', {nameof(RB_Reserve_CardBag_Extend.StoreIds)})");
}
}
return Get<RB_Reserve_CardBag_Extend>(builder.ToString()).ToList();
}
#region 小程序个人中心-领劵中心
/// <summary>
/// 领劵中心优惠券
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetAllCardBagList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_CardBag_Extend query)
{
string where = " where a.`Status`=0 and a.PickupCenter=1 and a.EndDate>NOW()";
string userWhere = "";//分类
if (query != null)
{
if (query.TenantId > 0)
{
where += $" AND a.{nameof(RB_Reserve_CardBag_Extend.TenantId)}={query.TenantId}";
userWhere += $" AND {nameof(RB_Reserve_CardBag_Extend.TenantId)}={query.TenantId}";
}
if (query.MallBaseId > 0)
{
where += $" AND a.{nameof(RB_Reserve_CardBag_Extend.MallBaseId)}={query.MallBaseId}";
userWhere += $" AND {nameof(RB_Reserve_CardBag_Extend.MallBaseId)}={query.MallBaseId}";
}
if (query.UserId > 0)
{
userWhere += $" AND {nameof(RB_Reserve_CardBag_Extend.UserId)}={query.UserId}";
}
if (query.SmallShopId > 0)
{
where += $" AND ( a.{nameof(RB_Reserve_CardBag_Extend.SmallShopId)}={query.SmallShopId} or ( a.{nameof(RB_Reserve_CardBag_Extend.SmallShopId)}=0 and a.{nameof(RB_Reserve_CardBag_Extend.IsZanYangUse)}=0))";
}
else
{
where += $" AND a.{nameof(RB_Reserve_CardBag_Extend.SmallShopId)}=0";
}
if (query.StoreId > 0)
{
where += $" AND ( FIND_IN_SET('{query.StoreId}', a.{nameof(RB_Reserve_CardBag_Extend.StoreIds)}) or FIND_IN_SET('0', a.{nameof(RB_Reserve_CardBag_Extend.StoreIds)} )) ";
}
else
{
where += $" AND FIND_IN_SET('0', a.{nameof(RB_Reserve_CardBag_Extend.StoreIds)})";
}
}
string sql = @$"
SELECT a.ID,a.`Name`,a.`Describe`,a.StartDate,a.EndDate,a.CardBagIco,a.CardNo,c.MemberNum from rb_reserve_cardbag as a
LEFT JOIN (SELECT CouponId,COUNT(*) as MemberNum from RB_Reserve_MemberCardBag where `Status`=0 {userWhere} GROUP BY CouponId) as c
on a.ID=c.CouponId {where}";
return GetPage<RB_Reserve_CardBag_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 领劵中心优惠券
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Reserve_CardBag_Extend> GetMemberCardBagList(int pageIndex, int pageSize, out long rowCount, RB_Reserve_CardBag_Extend query)
{
string where = " where a.`Status`=0 and b.Status=0 ";
if (query != null)
{
if (query.TenantId > 0)
{
where += $" AND a.{nameof(RB_Reserve_MemberCardBag.TenantId)}={query.TenantId}";
where += $" AND b.{nameof(RB_Reserve_CardBag_Extend.TenantId)}={query.TenantId}";
}
if (query.MallBaseId > 0)
{
where += $" AND a.{nameof(RB_Reserve_MemberCardBag.MallBaseId)}={query.MallBaseId}";
where += $" AND b.{nameof(RB_Reserve_CardBag_Extend.MallBaseId)}={query.MallBaseId}";
}
if (query.UserId > 0)
{
where += $" AND a.{nameof(RB_Reserve_MemberCardBag.UserId)}={query.UserId}";
}
if (query.StartDate.HasValue)
{
where += $" AND a.{nameof(RB_Reserve_MemberCardBag.CreateDate)}>='{query.StartDate.Value:yyyy-MM-dd HH:mm:ss}'";
}
if (query.EndDate.HasValue)
{
where += $" AND a.{nameof(RB_Reserve_MemberCardBag.CreateDate)}<='{query.EndDate.Value:yyyy-MM-dd HH:mm:ss}'";
}
//if (query.UseState == 0)
//{
// where += $" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.UseState)}={query.UseState} AND a.{nameof(RB_Reserve_MemberCardBag_Extend.EndDate)}> NOW()";
//}
//else if (query.UseState == 1)
//{
// where += $" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.UseState)}={query.UseState}";
//}
//else if (query.UseState == 2)
//{
// where += $" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.EndDate)}<NOW() AND a.{nameof(RB_Reserve_MemberCardBag_Extend.UseState)}=0";
//}
}
string sql = @$" SELECT a.ID as MemberCouponId,a.StartDate,a.EndDate,b.ID,b.`Name`,b.`Describe`,b.CardBagIco,b.CardNo,a.CreateDate from RB_Reserve_MemberCardBag as a LEFT JOIN {TableName} as b
on a.CouponId=b.ID {where} ";
return GetPage<RB_Reserve_CardBag_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Model.Entity.Reserve;
using Mall.Model.Extend.Reserve;
namespace Mall.Repository.Reserve
{
/// <summary>
///
/// </summary>
public class RB_Reserve_MemberCardBagRepository:BaseRepository<RB_Reserve_MemberCardBag>
{
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Reserve_MemberCardBag); } }
/// <summary>
/// 会员卡包
/// </summary>
/// <returns></returns>
public List<RB_Reserve_MemberCardBag_Extend> GetList(RB_Reserve_MemberCardBag_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" and a.`Status`=0 ");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.UserId > 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.UserId)}={query.UserId}");
}
if (query.CouponId > 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.CouponId)}={query.CouponId}");
}
if (!string.IsNullOrEmpty(query.CouponIds))
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.CouponId)} in ({query.CouponIds})");
}
if (!string.IsNullOrEmpty(query.Ids))
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.Id)} in ({query.Ids})");
}
if (query.UseState >= 0)
{
builder.Append($" AND a.{nameof(RB_Reserve_MemberCardBag_Extend.UseState)}={query.UseState}");
}
}
string sql = @$" select * FROM {TableName} AS a where 1=1 {builder.ToString()} ";
return Get<RB_Reserve_MemberCardBag_Extend>(sql).ToList();
}
}
}
...@@ -69,7 +69,7 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -69,7 +69,7 @@ namespace Mall.WebApi.Controllers.Reserve
CurrentPosition = position, CurrentPosition = position,
Id = storeId, Id = storeId,
MallBaseId = parms.MallBaseId, MallBaseId = parms.MallBaseId,
OrderByType=3 OrderByType = 3
}, isFirst: true)?.FirstOrDefault(); }, isFirst: true)?.FirstOrDefault();
var consumptionObj = new object(); var consumptionObj = new object();
if (userInfo != null && userInfo.UserId > 0) if (userInfo != null && userInfo.UserId > 0)
...@@ -187,6 +187,17 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -187,6 +187,17 @@ namespace Mall.WebApi.Controllers.Reserve
}; };
} }
} }
//查看门店是否有商品信息
long totalNum = 0;
RB_Goods_Extend goodsModel = new RB_Goods_Extend();
goodsModel.TeacherId = parms.TenantId;
goodsModel.MallBaseId = parms.MallBaseId;
goodsModel.GoodsStatus = 1;
goodsModel.GoodsClassify = 3;
goodsModel.StoresIds = storeModel.Id.ToString();
var goodsList = offlineGoodsModule.GetServicePersonalGoodsList(1, 1, out totalNum, goodsModel, 3);
object result = new object result = new
{ {
storeInfo = new storeInfo = new
...@@ -202,7 +213,8 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -202,7 +213,8 @@ namespace Mall.WebApi.Controllers.Reserve
storeIntro = storeModel?.Intro, storeIntro = storeModel?.Intro,
storeProject = storeModel?.ServiceProject, storeProject = storeModel?.ServiceProject,
storeServiceTime = serviceTime, storeServiceTime = serviceTime,
consumptionObj consumptionObj,
IsHaveGoods = totalNum,
}, },
}; };
return ApiResult.Success(data: result); return ApiResult.Success(data: result);
...@@ -351,7 +363,7 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -351,7 +363,7 @@ namespace Mall.WebApi.Controllers.Reserve
oldLogisticsModel.LableNameList, oldLogisticsModel.LableNameList,
oldLogisticsModel.StoreAddress, oldLogisticsModel.StoreAddress,
oldLogisticsModel.StoreName, oldLogisticsModel.StoreName,
goodsList = goodsList.Select(x => new { x.Name, x.SellingPrice, x.DepositMoney, x.CoverImage, x.SubName, x.GoodsBuyNum,x.Id }) goodsList = goodsList.Select(x => new { x.Name, x.SellingPrice, x.DepositMoney, x.CoverImage, x.SubName, x.GoodsBuyNum, x.Id })
}; };
...@@ -482,7 +494,7 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -482,7 +494,7 @@ namespace Mall.WebApi.Controllers.Reserve
} }
else else
{ {
var oldLogisticsModel = reserveModule.GetDiscountCouponList(new RB_Reserve_Coupon_Extend {StoreId= query.StoreId, TenantId = query.TenantId, MallBaseId = query.MallBaseId, ID = query.CouponId }).FirstOrDefault(); var oldLogisticsModel = reserveModule.GetDiscountCouponList(new RB_Reserve_Coupon_Extend { StoreId = query.StoreId, TenantId = query.TenantId, MallBaseId = query.MallBaseId, ID = query.CouponId }).FirstOrDefault();
var allMemberInfo = UserModule.GetMemberUserInfo(userInfo.UserId); var allMemberInfo = UserModule.GetMemberUserInfo(userInfo.UserId);
if (oldLogisticsModel == null || oldLogisticsModel.ID == 0) if (oldLogisticsModel == null || oldLogisticsModel.ID == 0)
...@@ -1004,8 +1016,227 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -1004,8 +1016,227 @@ namespace Mall.WebApi.Controllers.Reserve
#endregion #endregion
#region 卡包
/// <summary>
/// 套餐卡领劵中心
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAllCardBagList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Reserve_CardBag_Extend demodel = JsonConvert.DeserializeObject<RB_Reserve_CardBag_Extend>(req.msg.ToString());
demodel.UserId = userInfo.UserId;
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.SmallShopId = userInfo.UserSmallShopId;
var list = reserveModule.GetAllCardBagList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Name,
x.Describe,
x.CardBagIco,
x.MemberNum,
x.CardNo,
CouponId = x.ID,
StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
IsReceive = x.MemberNum > 0 ? 1 : 0,
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取套餐卡详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetReserveCardBagDetail()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_Reserve_CardBag_Extend>(req.msg.ToString());
query.TenantId = userInfo.TenantId;
query.MallBaseId = userInfo.MallBaseId;
var oldLogisticsModel = reserveModule.GetCardBagList(query).FirstOrDefault();
if (oldLogisticsModel == null)
{
return ApiResult.Failed("卡包信息不存在");
}
else
{
oldLogisticsModel.StoresList = new List<RB_Stores_Extend>();
//查询所属门店
if (string.IsNullOrWhiteSpace(oldLogisticsModel.StoreIds) || oldLogisticsModel.StoreIds == "0")
{
oldLogisticsModel.StoresList = contentModule.GetStoresListModule(new RB_Stores_Extend()
{
MallBaseId = userInfo.MallBaseId,
TenantId = userInfo.TenantId
});
}
else
{
oldLogisticsModel.StoresList = contentModule.GetStoresListModule(new RB_Stores_Extend()
{
MallBaseId = userInfo.MallBaseId,
TenantId = userInfo.TenantId,
QIds = oldLogisticsModel.StoreIds
});
}
//判断当前人是否领取了改优惠券
//判断套餐卡是否已领取
var receiveList = reserveModule.GetMemberCarBagList(new RB_Reserve_MemberCardBag_Extend
{
CouponId = oldLogisticsModel.ID,
MallBaseId = userInfo.MallBaseId,
TenantId = userInfo.TenantId,
UserId = userInfo.UserId
});
if (receiveList != null && receiveList.Any())
{
oldLogisticsModel.MemberNum = receiveList.Count();
}
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 领取卡券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GrantCardBag()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_Reserve_MemberCardBag_Extend>(RequestParm.msg.ToString());
query.TenantId = userInfo.TenantId;
query.MallBaseId = userInfo.MallBaseId;
query.UserId = userInfo.UserId;
if (query == null)
{
return ApiResult.Failed("请传入卡券信息");
}
else
{
var oldLogisticsModel = reserveModule.GetCardBagList(new RB_Reserve_CardBag_Extend { StoreId = query.StoreId, TenantId = query.TenantId, MallBaseId = query.MallBaseId, ID = query.CouponId }).FirstOrDefault();
var allMemberInfo = UserModule.GetMemberUserInfo(userInfo.UserId);
if (oldLogisticsModel == null || oldLogisticsModel.ID == 0)
{
return ApiResult.Failed("卡券信息不存在,请核实后再操作");
}
if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
{
return ApiResult.Failed("卡券时间已过期");
}
if (!string.IsNullOrWhiteSpace(oldLogisticsModel.StoreIds))
{
if (oldLogisticsModel.StoreIds != "0")
{
bool isGrantCoupon = false;
foreach (var item in oldLogisticsModel.StoreIds.Split(","))
{
if (Convert.ToInt32(item) > 0)
{
if (Convert.ToInt32(item) == query.StoreId)
{
isGrantCoupon = true;
}
}
}
if (!isGrantCoupon)
{
return ApiResult.Failed("领取卡券不属于当前门店");
}
}
}
//判断套餐卡是否已领取
var receiveList = reserveModule.GetMemberCarBagList(query);
if (receiveList != null && receiveList.Any())
{
return ApiResult.Failed("您已领取卡券");
}
RB_Reserve_MemberCardBag_Extend memberCoupon = new RB_Reserve_MemberCardBag_Extend();
memberCoupon.Id = 0;
memberCoupon.UserId = userInfo.UserId;
memberCoupon.Description = oldLogisticsModel.Describe;
memberCoupon.CreateDate = System.DateTime.Now;
memberCoupon.TenantId = userInfo.TenantId;
memberCoupon.MallBaseId = userInfo.MallBaseId;
memberCoupon.Remarks = "";
memberCoupon.CouponId = oldLogisticsModel.ID;
memberCoupon.Name = oldLogisticsModel.Name;
memberCoupon.StartDate = oldLogisticsModel.StartDate;
memberCoupon.EndDate = oldLogisticsModel.EndDate;
var memberList = new List<RB_Reserve_MemberCardBag_Extend>();
memberList.Add(memberCoupon);
bool result = reserveModule.GrantCardBag(memberList, oldLogisticsModel);
if (result)
{
return ApiResult.Success("卡券信息领取成功");
}
else
{
return ApiResult.Failed("卡券信息领取成功");
}
}
}
/// <summary>
/// 我的套餐卡
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberCardBagList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Reserve_CardBag_Extend demodel = JsonConvert.DeserializeObject<RB_Reserve_CardBag_Extend>(req.msg.ToString());
demodel.UserId = userInfo.UserId;
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var list = reserveModule.GetMemberCardBagList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Name,
x.Describe,
x.ID,
x.CardBagIco,
x.MemberCouponId,
x.CardNo,
IsOver = x.EndDate.Value > System.DateTime.Now ? 0 : 1,
StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:ss:mm") : "",
});
return ApiResult.Success("", pagelist);
}
#endregion
#endregion #endregion
} }
} }
...@@ -1054,7 +1054,6 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -1054,7 +1054,6 @@ namespace Mall.WebApi.Controllers.Reserve
} }
#endregion #endregion
#region 服务人员绩效统计 #region 服务人员绩效统计
/// <summary> /// <summary>
/// 获取服务人员列表 /// 获取服务人员列表
...@@ -1084,5 +1083,168 @@ namespace Mall.WebApi.Controllers.Reserve ...@@ -1084,5 +1083,168 @@ namespace Mall.WebApi.Controllers.Reserve
return ApiResult.Success("", pagelist); return ApiResult.Success("", pagelist);
} }
#endregion #endregion
#region 卡包
[HttpPost]
public ApiResult GetCardBagPageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_Reserve_CardBag_Extend demodel = JsonConvert.DeserializeObject<RB_Reserve_CardBag_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = reserveModule.GetCardBagPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ID,
x.Name,
x.CardNo,
x.CardBagIco,
StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
CreateDate = x.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.PickupCenter,
x.SmallShopId,
x.IsZanYangUse
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCardBagDetail()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Reserve_CardBag_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
query.StoreId = -1;
var oldLogisticsModel = reserveModule.GetCardBagList(query).FirstOrDefault();
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_Reserve_CardBag_Extend();
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 保存卡包
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult AddOrUpdateCardBag()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Reserve_CardBag_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
if (query == null)
{
return ApiResult.Failed("请传入卡包信息");
}
else
{
if (string.IsNullOrWhiteSpace(query.Name))
{
return ApiResult.Failed("请输入卡包名称");
}
if (!query.StartDate.HasValue || !query.EndDate.HasValue)
{
return ApiResult.Failed("开始日期或结束日期必填");
}
if (query.StartDate > query.EndDate)
{
return ApiResult.Failed("开始日期必须小于结束日期");
}
if (string.IsNullOrWhiteSpace(query.Describe))
{
return ApiResult.Failed("请输入套餐卡描述");
}
if (query.ID == 0)
{
query.CreateDate = System.DateTime.Now;
}
if (query.ID == 0)
{
Random R = new Random();
int Rstr = R.Next(111, 999);
query.CardNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
}
query.UpdateDate = System.DateTime.Now;
bool result = reserveModule.AddOrUpdateCardBag(query);
if (result)
{
return ApiResult.Success("卡包信息保存成功");
}
else
{
return ApiResult.Failed("卡包信息保存失败");
}
}
}
/// <summary>
/// 删除卡包
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelCardBag()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int Id = parmsJob.GetInt("Id", 0);
if (Id <= 0)
{
return ApiResult.Failed("请传递参数");
}
bool flag = reserveModule.DelCardBag(Id, UserInfo.TenantId, parms.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 加入领劵中心
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult UpdateCardBagPickupType()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int Id = parmsJob.GetInt("Id", 0);
if (Id <= 0)
{
return ApiResult.Failed("请传递参数");
}
bool flag = reserveModule.UpdateCardBagPickupType(Id, UserInfo.TenantId, parms.MallBaseId);
if (flag)
{
return ApiResult.Success("操作成功");
}
else
{
return ApiResult.Failed("操作失败");
}
}
#endregion
} }
} }
\ No newline at end of file
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