Commit def90011 authored by 黄奎's avatar 黄奎

新增首页

parent 4b9b6294
......@@ -62,5 +62,10 @@ namespace Mall.Common.API
/// 员工编号【员工登录时使用】
/// </summary>
public int EmpId { get; set; }
/// <summary>
/// 小程序Id
/// </summary>
public string MiniAppId { get; set; }
}
}
......@@ -13,6 +13,11 @@ namespace Mall.Model.Extend.MarketingCenter
[DB(ConnectionName = "DefaultConnection")]
public class RB_Miniprogram_Template_Extend : Model.Entity.MarketingCenter.RB_Miniprogram_Template
{
/// <summary>
/// 自定义模板编号【查询使用】
/// </summary>
public string QIds { get; set; }
/// <summary>
/// 创建时间字符串
/// </summary>
......
......@@ -43,10 +43,29 @@ namespace Mall.Module.MarketingCenter
/// 小程序模板列表
/// </summary>
/// <param name="query">查询条件</param>
/// <param name="IsAnalyzePlus">是否解析插件</param>
/// <returns></returns>
public List<RB_Miniprogram_Template_Extend> GetMiniprogramTemplateListModule(RB_Miniprogram_Template_Extend query)
public List<RB_Miniprogram_Template_Extend> GetMiniprogramTemplateListModule(RB_Miniprogram_Template_Extend query,bool IsAnalyzePlus=false)
{
return miniprogram_TemplateRepository.GetMiniprogramTemplateListRepository(query);
var list= miniprogram_TemplateRepository.GetMiniprogramTemplateListRepository(query);
if (IsAnalyzePlus)
{
foreach (var item in list)
{
if (item.TemplateData != null && !string.IsNullOrEmpty(item.TemplateData))
{
item.ComponentDataList = JsonHelper.DeserializeObject<List<ComponentItem>>(item.TemplateData);
if (item.ComponentDataList != null && item.ComponentDataList.Count > 0)
{
foreach (var subItem in item.ComponentDataList)
{
AnalyzePlusModule(subItem);
}
}
}
}
}
return list;
}
/// <summary>
......@@ -95,48 +114,57 @@ namespace Mall.Module.MarketingCenter
{
foreach (var item in extModel.ComponentDataList)
{
switch (item.Id)
{
case "search": item.data = JsonHelper.DeserializeObject<searchItem>(item.data.ToString()); break;
case "nav": item.data = JsonHelper.DeserializeObject<navItem>(item.data.ToString()); break;
case "banner": item.data = JsonHelper.DeserializeObject<bannerItem>(item.data.ToString()); break;
case "notice": item.data = JsonHelper.DeserializeObject<noticeItem>(item.data.ToString()); break;
//专题
case "topic": item.data = JsonHelper.DeserializeObject<topicItem>(item.data.ToString()); break;
case "link": item.data = JsonHelper.DeserializeObject<linkItem>(item.data.ToString()); break;
case "rubik": item.data = JsonHelper.DeserializeObject<rubikItem>(item.data.ToString()); break;
case "video": item.data = JsonHelper.DeserializeObject<videoItem>(item.data.ToString()); break;
case "goods": item.data = JsonHelper.DeserializeObject<goodsItem>(item.data.ToString()); break;
case "store": item.data = JsonHelper.DeserializeObject<storeItem>(item.data.ToString()); break;
case "copyright": item.data = JsonHelper.DeserializeObject<copyrightItem>(item.data.ToString()); break;
case "check-in": item.data = JsonHelper.DeserializeObject<checkinItem>(item.data.ToString()); break;
case "user-info": item.data = JsonHelper.DeserializeObject<userinfoItem>(item.data.ToString()); break;
case "user-order": item.data = JsonHelper.DeserializeObject<userorderItem>(item.data.ToString()); break;
case "map": item.data = JsonHelper.DeserializeObject<mapItem>(item.data.ToString()); break;
case "mp-link": item.data = JsonHelper.DeserializeObject<mplinkItem>(item.data.ToString()); break;
case "image-text": item.data = JsonHelper.DeserializeObject<imagetextItem>(item.data.ToString()); break;
case "coupon": item.data = JsonHelper.DeserializeObject<couponItem>(item.data.ToString()); break;
case "timer": item.data = JsonHelper.DeserializeObject<timerItem>(item.data.ToString()); break;
case "pintuan": item.data = JsonHelper.DeserializeObject<pintuanItem>(item.data.ToString()); break;
case "booking": item.data = JsonHelper.DeserializeObject<bookingItem>(item.data.ToString()); break;
case "bargain": item.data = JsonHelper.DeserializeObject<bargainItem>(item.data.ToString()); break;
case "integral-mall": item.data = JsonHelper.DeserializeObject<integralmallItem>(item.data.ToString()); break;
case "lottery": item.data = JsonHelper.DeserializeObject<lotteryItem>(item.data.ToString()); break;
case "advance": item.data = JsonHelper.DeserializeObject<advanceItem>(item.data.ToString()); break;
case "vip-card": item.data = JsonHelper.DeserializeObject<vipcardItem>(item.data.ToString()); break;
case "live" :item.data = JsonHelper.DeserializeObject<liveItem>(item.data.ToString()); break;
case "empty": item.data = JsonHelper.DeserializeObject<emptyItem>(item.data.ToString()); break;
case "ad": item.data = JsonHelper.DeserializeObject<adItem>(item.data.ToString()); break;
case "modal": item.data = JsonHelper.DeserializeObject<modalItem>(item.data.ToString()); break;
case "quick-nav": item.data = JsonHelper.DeserializeObject<quicknavItem>(item.data.ToString()); break;
}
AnalyzePlusModule(item);
}
}
}
return extModel;
}
/// <summary>
/// 解析插件
/// </summary>
/// <param name="item"></param>
public void AnalyzePlusModule(ComponentItem item)
{
switch (item.Id)
{
case "search": item.data = JsonHelper.DeserializeObject<searchItem>(item.data.ToString()); break;
case "nav": item.data = JsonHelper.DeserializeObject<navItem>(item.data.ToString()); break;
case "banner": item.data = JsonHelper.DeserializeObject<bannerItem>(item.data.ToString()); break;
case "notice": item.data = JsonHelper.DeserializeObject<noticeItem>(item.data.ToString()); break;
//专题
case "topic": item.data = JsonHelper.DeserializeObject<topicItem>(item.data.ToString()); break;
case "link": item.data = JsonHelper.DeserializeObject<linkItem>(item.data.ToString()); break;
case "rubik": item.data = JsonHelper.DeserializeObject<rubikItem>(item.data.ToString()); break;
case "video": item.data = JsonHelper.DeserializeObject<videoItem>(item.data.ToString()); break;
case "goods": item.data = JsonHelper.DeserializeObject<goodsItem>(item.data.ToString()); break;
case "store": item.data = JsonHelper.DeserializeObject<storeItem>(item.data.ToString()); break;
case "copyright": item.data = JsonHelper.DeserializeObject<copyrightItem>(item.data.ToString()); break;
case "check-in": item.data = JsonHelper.DeserializeObject<checkinItem>(item.data.ToString()); break;
case "user-info": item.data = JsonHelper.DeserializeObject<userinfoItem>(item.data.ToString()); break;
case "user-order": item.data = JsonHelper.DeserializeObject<userorderItem>(item.data.ToString()); break;
case "map": item.data = JsonHelper.DeserializeObject<mapItem>(item.data.ToString()); break;
case "mp-link": item.data = JsonHelper.DeserializeObject<mplinkItem>(item.data.ToString()); break;
case "image-text": item.data = JsonHelper.DeserializeObject<imagetextItem>(item.data.ToString()); break;
case "coupon": item.data = JsonHelper.DeserializeObject<couponItem>(item.data.ToString()); break;
case "timer": item.data = JsonHelper.DeserializeObject<timerItem>(item.data.ToString()); break;
case "pintuan": item.data = JsonHelper.DeserializeObject<pintuanItem>(item.data.ToString()); break;
case "booking": item.data = JsonHelper.DeserializeObject<bookingItem>(item.data.ToString()); break;
case "bargain": item.data = JsonHelper.DeserializeObject<bargainItem>(item.data.ToString()); break;
case "integral-mall": item.data = JsonHelper.DeserializeObject<integralmallItem>(item.data.ToString()); break;
case "lottery": item.data = JsonHelper.DeserializeObject<lotteryItem>(item.data.ToString()); break;
case "advance": item.data = JsonHelper.DeserializeObject<advanceItem>(item.data.ToString()); break;
case "vip-card": item.data = JsonHelper.DeserializeObject<vipcardItem>(item.data.ToString()); break;
case "live": item.data = JsonHelper.DeserializeObject<liveItem>(item.data.ToString()); break;
case "empty": item.data = JsonHelper.DeserializeObject<emptyItem>(item.data.ToString()); break;
case "ad": item.data = JsonHelper.DeserializeObject<adItem>(item.data.ToString()); break;
case "modal": item.data = JsonHelper.DeserializeObject<modalItem>(item.data.ToString()); break;
case "quick-nav": item.data = JsonHelper.DeserializeObject<quicknavItem>(item.data.ToString()); break;
}
}
/// <summary>
/// 删除小程序模板
/// </summary>
......
......@@ -253,6 +253,7 @@ namespace Mall.Module.User
return programRepository.GetPageListRepository(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 判断用户是否存在
......@@ -403,9 +404,9 @@ namespace Mall.Module.User
/// <param name="isGetUserCenterMenu">是否获取用户中心菜单</param>
/// <param name="isGetHomeData">是否获取首页配置数据</param>
/// <returns></returns>
public RB_MiniProgram_Extend GetMiniProgramModule(object MallBaseId, int isGetNav = 0, bool isGetUserCenterMenu = false,bool isGetHomeData=false)
public RB_MiniProgram_Extend GetMiniProgramModule(RB_MiniProgram_Extend query, int isGetNav = 0, bool isGetUserCenterMenu = false,bool isGetHomeData=false)
{
RB_MiniProgram_Extend extModel = programRepository.GetEntity<RB_MiniProgram_Extend>(MallBaseId);
RB_MiniProgram_Extend extModel = programRepository.GetMiniProgramRepository(query);
if (extModel == null)
{
extModel = new RB_MiniProgram_Extend();
......
......@@ -66,6 +66,10 @@ namespace Mall.Repository.MarketingCenter
{
builder.Append($" AND {nameof(RB_Miniprogram_Template_Extend.TemplateName)} like '%{query.TemplateName.Trim()}%'");
}
if (query.QIds != null && !string.IsNullOrEmpty(query.QIds.Trim()))
{
builder.AppendFormat(" AND {0} IN({1}) ",nameof(RB_Miniprogram_Template_Extend.Id), query.QIds);
}
}
return Get<RB_Miniprogram_Template_Extend>(builder.ToString()).ToList();
}
......
......@@ -36,6 +36,32 @@ namespace Mall.Repository.User
return Get<RB_MiniProgram_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据查询条件获取小程序实体
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public RB_MiniProgram_Extend GetMiniProgramRepository(RB_MiniProgram_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(" SELECT * FROM RB_MiniProgram WHERE 1=1 ");
if (query != null)
{
if (query.TenantId != null && query.TenantId > 0)
{
builder.AppendFormat(" AND TenantId={0} ", query.TenantId);
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND MallBaseId={0} ", query.MallBaseId);
}
if (query.MiniAppId != null && !string.IsNullOrEmpty(query.MiniAppId))
{
builder.AppendFormat(" AND MiniAppId='{0}' ", query.MiniAppId);
}
}
return Get<RB_MiniProgram_Extend>(builder.ToString()).FirstOrDefault();
}
/// <summary>
/// 获取小程序分页列表
......
......@@ -126,7 +126,7 @@ namespace Mall.WebApi.Controllers.User
string secret = Config.JwtSecretKey;
string token = encoder.Encode(payload, secret);
#endregion
var mmodel = programModule.GetMiniProgramModule(demodel.MallBaseId);
var mmodel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId= demodel.MallBaseId });
AppletUserInfo appletUserInfo = new AppletUserInfo()
{
MallBaseId = demodel.MallBaseId,
......@@ -172,7 +172,7 @@ namespace Mall.WebApi.Controllers.User
string secret = Config.JwtSecretKey;
string token = encoder.Encode(payload, secret);
#endregion
var mmodel = programModule.GetMiniProgramModule(umodel.MallBaseId);
var mmodel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() {MallBaseId= umodel.MallBaseId });
AppletUserInfo appletUserInfo = new AppletUserInfo()
{
MallBaseId = umodel.MallBaseId,
......
......@@ -389,7 +389,7 @@ namespace Mall.WebApi.Controllers.User
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var MallBaseId = parms.GetInt("MallBaseId", 0);
int isGetNav = parms.GetInt("isGetNav", 0);
var extModel = programModule.GetMiniProgramModule(MallBaseId, isGetNav: isGetNav);
var extModel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId= MallBaseId }, isGetNav: isGetNav);
return ApiResult.Success(data: extModel);
}
......@@ -428,7 +428,7 @@ namespace Mall.WebApi.Controllers.User
/// <returns></returns>
public ApiResult GetMiniProgramMallIndex()
{
var data = programModule.GetMiniProgramModule(RequestParm.MallBaseId, isGetHomeData: true);
var data = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId= RequestParm.MallBaseId }, isGetHomeData: true);
List<object> resultList = new List<object>();
List<object> normalList = new List<object>();
......
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