Commit 85b7290a authored by liudong1993's avatar liudong1993
parents eb1f7678 e6f22bc0
using Mall.CacheManager.DataStatistic;
using Mall.Common.Plugin.Redis;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.CacheManager.AppletWeChat
{
public class WeiXinReidsCache
{
static RedisHelper redis = new RedisHelper(DataStatistic.DataConstant.REDIS_DB2, DataStatistic.DataConstant.DATA_WeiXinToken);
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="value"></param>
public static void Set(string cacheKey, string value)
{
try
{
TimeSpan ts = DateTime.Now.AddSeconds(7000) - DateTime.Now;
redis.StringSet(cacheKey, value, ts);
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "DATA_LXYWeiXinToken");
}
}
/// <summary>
/// 获取缓存
/// </summary>
/// <returns></returns>
public static string Get(string Key)
{
string cacheKey = DataConstant.DATA_WeiXinToken + Key;
try
{
Object obj = redis.Get(cacheKey);
if (obj != null)
{
return obj.ToString();
}
}
catch (Exception ex)
{
//再获取一次缓存
try
{
System.Threading.Thread.Sleep(500);
Object obj = redis.Get(cacheKey);
if (obj != null)
{
return obj.ToString();
}
}
catch (Exception ex2)
{
Common.Plugin.LogHelper.Write(ex2, "DATA_WeiXinToken2");
}
Common.Plugin.LogHelper.Write(ex, "DATA_WeiXinToken");
}
return "";
}
}
}
......@@ -17,6 +17,9 @@ namespace Mall.CacheManager.DataStatistic
/// </summary>
public static readonly int REDIS_DB2 = 2;
/// <summary>
/// 微信小程序token
/// </summary>
public static readonly string DATA_WeiXinToken = "DATA_WeiXinToken_";
}
}
......@@ -26,5 +26,10 @@ namespace Mall.CacheKey
{
get { return "Applet_Login_Info_"; }
}
public static string DATA_WeiXinToken
{
get { return "DATA_WeiXinToken"; }
}
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
/// <summary>
/// 触发事件,1-分享,2-购买并付款,3-新人领券
/// </summary>
public enum TriggerTypeEnum
{
/// <summary>
/// 分享
/// </summary>
[EnumField("分享")]
Share = 1,
/// <summary>
/// 购买并付款
/// </summary>
[EnumField("购买并付款")]
BuyAndPay = 2,
/// <summary>
/// 新人领券
/// </summary>
[EnumField("新人领券")]
NewMemer = 3
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Plugin
{
public class WeiXinHelper
{
}
/// <summary>
/// 获取用心信息帮助类
/// </summary>
public class GetUsersHelper
{
/// <summary>
/// 获取链接返回数据
/// </summary>
/// <param name="Url">链接</param>
/// <param name="type">请求类型</param>
/// <returns></returns>
public string GetUrltoHtml(string Url, string type)
{
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp = wReq.GetResponse();
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream, Encoding.GetEncoding(type)))
{
return reader.ReadToEnd();
}
}
catch (System.Exception ex)
{
return ex.Message;
}
}
}
#region 实体类
/// <summary>
/// 微信小程序验证返回结果
/// </summary>
public class result
{
/// <summary>
/// openid
/// </summary>
public string openid { get; set; }
/// <summary>
/// session_key
/// </summary>
public string session_key { get; set; }
/// <summary>
/// 错误状态码
/// </summary>
public string errcode { get; set; }
/// <summary>
/// 错误提示信息
/// </summary>
public string errmsg { get; set; }
}
#endregion
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.AppletWeChat
{
/// <summary>
/// 微信小程序基础配置
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_AppletWeChat
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
/// <summary>
/// 小程序AppId
/// </summary>
public string AppId { get; set; }
/// <summary>
/// 小程序appSecret
/// </summary>
public string AppSecret { get; set; }
/// <summary>
/// 微信支付商户号
/// </summary>
public string BusinessNO { get; set; }
/// <summary>
/// 微信支付Api密钥
/// </summary>
public string ApiSecret { get; set; }
/// <summary>
/// 微信支付apiclient_cert.pem
/// </summary>
public string ApiclientCert { get; set; }
/// <summary>
/// 微信支付apiclient_key.pem
/// </summary>
public string Apiclientkey { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.AppletWeChat
{
/// <summary>
/// 微信小程序消息通知模板
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_AppletWechat_MsgEmplate
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
/// <summary>
/// 下单成功提醒
/// </summary>
public string OrderSucceed { get; set; }
/// <summary>
/// 订单取消通知
/// </summary>
public string OrderCancel { get; set; }
/// <summary>
/// 订单发货通知
/// </summary>
public string OrderDeliver { get; set; }
/// <summary>
/// 退款通知
/// </summary>
public string OrderRefund { get; set; }
/// <summary>
/// 活动状态通知
/// </summary>
public string ActivityState { get; set; }
/// <summary>
/// 审核结果通知
/// </summary>
public string AuditResult { get; set; }
/// <summary>
/// 提现成功通知
/// </summary>
public string WithdrawSucceed { get; set; }
/// <summary>
/// 提现审核失败通知
/// </summary>
public string WithdrawFail { get; set; }
/// <summary>
/// 会员等级变更通知
/// </summary>
public string MemberLevel { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -33,7 +34,7 @@ namespace Mall.Model.Entity.MarketingCenter
/// <summary>
/// 触发事件,1-分享,2-购买并付款,3-新人领券
/// </summary>
public int TriggerType { get; set; }
public TriggerTypeEnum TriggerType { get; set; }
/// <summary>
......
......@@ -99,5 +99,9 @@ namespace Mall.Model.Entity.User
public DateTime? EndDate { get; set; }
/// <summary>
/// 领取方式0-自行领取(领劵中心领取),1-分享,2-购买并付款,3-新人领取
/// </summary>
public int GetType { get; set; }
}
}
......@@ -358,5 +358,12 @@ namespace Mall.Model.Entity.User
}
#endregion
#region 获取可跳转小程序
/// <summary>
/// 获取可跳转小程序
/// </summary>
public string JumpAppId { get; set; }
#endregion
}
}
......@@ -16,7 +16,7 @@ namespace Mall.Model.Extend.MarketingCenter
/// <summary>
/// 会员名称
/// </summary>
public string Name { get; set; }
public string AliasName { get; set; }
/// <summary>
/// 会员头像
......
......@@ -15,5 +15,10 @@ namespace Mall.Model.Extend.MarketingCenter
{
public List<RB_Coupon_SelfMotionMember_Extend> UserList { get; set; }
/// <summary>
/// 优惠券名字
/// </summary>
public string DiscountCouponName { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Enum.User;
using Mall.Model.Entity.User;
using System;
......@@ -14,6 +15,43 @@ namespace Mall.Model.Extend.User
[DB(ConnectionName = "DefaultConnection")]
public class RB_Member_DiscountCoupon_Extend : RB_Member_DiscountCoupon
{
public int PlatformType { get; set; }
public int PlatformType { get; set; }
/// <summary>
/// 下单时间
/// </summary>
public DateTime? OrderCreateDate { get; set; }
/// <summary>
/// 优惠券名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 优惠方式
/// </summary>
public CouponTypeEnum CouponType { get; set; }
/// <summary>
/// 最低消费金额
/// </summary>
public decimal MinConsumePrice { get; set; }
/// <summary>
/// 会员昵称
/// </summary>
public string AliasName { get; set; }
/// <summary>
/// 下单开始时间
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 下单结束时间
/// </summary>
public DateTime? EndDate { get; set; }
}
}
......@@ -85,5 +85,11 @@ namespace Mall.Model.Extend.User
/// 小程序用户中心【自定义】菜单列表
/// </summary>
public List<RB_MiniProgram_UserCenterMenu_Extend> SelfMenuList { get; set; }
/// <summary>
/// 获取可跳转小程序
/// </summary>
public string[] JumpAppIdList { get; set; }
}
}
......@@ -10,6 +10,8 @@
<ItemGroup>
<Folder Include="CacheEntity\" />
<Folder Include="Entity\AppletWeChat\" />
<Folder Include="Extend\AppletWeChat\" />
</ItemGroup>
<ItemGroup>
......
using Mall.Model.Entity.AppletWeChat;
using Mall.CacheManager.AppletWeChat;
using Mall.Common.Plugin;
using Mall.Model.Entity.AppletWeChat;
using Mall.Model.Extend.AppletWeChat;
using Mall.Repository;
using Mall.Repository.AppletWeChat;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Module.AppletWeChat
......@@ -11,67 +18,6 @@ namespace Mall.Module.AppletWeChat
private RB_AppletWeChatRepository appletWeChatRepository = new RB_AppletWeChatRepository();
private RB_AppletWechat_MsgEmplateRepository msgEmplateRepository = new RB_AppletWechat_MsgEmplateRepository();
#region 微信小程序基础配置
/// <summary>
/// 获取微信基础配置
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_AppletWeChat> GetAppletWeChatList(RB_AppletWeChat query)
{
return appletWeChatRepository.GetAppletWeChatList(query);
}
/// <summary>
/// 新增微信小程序配置
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateAppletWeChat(RB_AppletWeChat model)
{
if (model.ID == 0)
{
return appletWeChatRepository.Insert(model) > 0;
}
else
{
return appletWeChatRepository.Update(model);
}
}
#endregion
#region 微信小程序消息模板
/// <summary>
/// 获取微信小程序消息配置
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_AppletWechat_MsgEmplate> GetMsgEmplateList(RB_AppletWechat_MsgEmplate query)
{
return msgEmplateRepository.GetMsgEmplateList(query);
}
/// <summary>
/// 新增/修改微信小程序消息配置
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateMsgEmplate(RB_AppletWechat_MsgEmplate model)
{
if (model.ID == 0)
{
return msgEmplateRepository.Insert(model) > 0;
}
else
{
return msgEmplateRepository.Update(model);
}
}
#endregion
}
}
......@@ -5,6 +5,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Mall.CacheManager\Mall.CacheManager.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
<ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" />
</ItemGroup>
......
......@@ -6,6 +6,8 @@ using Mall.Model.Extend.User;
using Mall.Model.Query;
using Mall.Repository;
using Mall.Repository.MarketingCenter;
using MySqlX.XDevAPI.Relational;
using Org.BouncyCastle.Crypto.Tls;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -146,6 +148,19 @@ namespace Mall.Module.MarketingCenter
}
/// <summary>
/// 优惠券信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Extend> GetAllDiscountCouponList(RB_DiscountCoupon_Extend query)
{
return discountCouponRepository.GetDiscountCouponList(query);
}
/// <summary>
/// 新增/修改优惠券
/// </summary>
......@@ -273,7 +288,7 @@ namespace Mall.Module.MarketingCenter
OperatorEnum=OperatorEnum.Equal
}
};
productRepository.Update(cols, wheres);
productRepository.Update(cols, wheres);
discountCouponRepository.DBSession.Commit();
......@@ -411,9 +426,24 @@ namespace Mall.Module.MarketingCenter
/// <returns></returns>
public List<RB_Coupon_SelfMotion_Extend> GettRepositoryList(RB_Coupon_SelfMotion_Extend query)
{
return selfMotionRepository.GettRepositoryList(query);
var list = selfMotionRepository.GettRepositoryList(query);
return list;
}
/// <summary>
/// 获取发放优惠券的人员信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Coupon_SelfMotionMember_Extend> GetSelfMotionMemberList(RB_Coupon_SelfMotionMember_Extend query)
{
return selfMotionMemberRepository.GetListRepository(query);
}
/// <summary>
/// 新增/修改自动发放优惠券
/// </summary>
......@@ -444,23 +474,36 @@ namespace Mall.Module.MarketingCenter
{
id = model.ID;
flag = selfMotionRepository.Update(model, trans);
var listProduct = selfMotionMemberRepository.GetListRepository(new RB_Coupon_SelfMotionMember_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, SelfMotionId = id });
if (listProduct != null && listProduct.Any())
{
foreach (var item in model.UserList)
{
IDictionary<string, object> fileds = new Dictionary<string, object>()
// var listProduct = selfMotionMemberRepository.GetListRepository(new RB_Coupon_SelfMotionMember_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, SelfMotionId = id });
//if (listProduct != null && listProduct.Any())
//{
// foreach (var item in model.UserList)
// {
// IDictionary<string, object> fileds = new Dictionary<string, object>()
// {
// { nameof(RB_Coupon_SelfMotionMember.Status),1},
// { nameof(RB_Coupon_SelfMotionMember.UpdateDate),model.UpdateDate},
// };
// IList<WhereHelper> whereHelpers = new List<WhereHelper>()
// {
// new WhereHelper (){ FiledName=nameof(RB_Coupon_SelfMotionMember.ID),FiledValue=item.ID,OperatorEnum=OperatorEnum.Equal}
// };
// flag = selfMotionMemberRepository.Update(fileds, whereHelpers, trans);
// }
//}
IDictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Coupon_SelfMotionMember.Status),1},
{ nameof(RB_Coupon_SelfMotionMember.UpdateDate),model.UpdateDate},
};
IList<WhereHelper> whereHelpers = new List<WhereHelper>()
IList<WhereHelper> whereHelpers = new List<WhereHelper>()
{
new WhereHelper (){ FiledName=nameof(RB_Coupon_SelfMotionMember.ID),FiledValue=item.ID,OperatorEnum=OperatorEnum.Equal}
new WhereHelper (){ FiledName=nameof(RB_Coupon_SelfMotionMember.SelfMotionId),FiledValue=model.ID,OperatorEnum=OperatorEnum.Equal},
new WhereHelper (){ FiledName=nameof(RB_Coupon_SelfMotionMember.MallBaseId),FiledValue=model.MallBaseId,OperatorEnum=OperatorEnum.Equal},
new WhereHelper (){ FiledName=nameof(RB_Coupon_SelfMotionMember.TenantId),FiledValue=model.TenantId,OperatorEnum=OperatorEnum.Equal}
};
flag = productRepository.Update(fileds, whereHelpers, trans);
}
}
selfMotionMemberRepository.Update(fileds, whereHelpers, trans);
if (model.UserList != null && model.UserList.Any())
{
......@@ -541,7 +584,7 @@ namespace Mall.Module.MarketingCenter
OperatorEnum=OperatorEnum.Equal
}
};
flag = selfMotionMemberRepository.Update(cols, wheres);
selfMotionMemberRepository.Update(cols, wheres);
selfMotionRepository.DBSession.Commit();
......@@ -559,6 +602,22 @@ namespace Mall.Module.MarketingCenter
#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_Member_DiscountCoupon_Extend> GetUseCouponList(int pageIndex, int pageSize, out long rowCount, RB_Member_DiscountCoupon_Extend query)
{
return memberCouponRepository.GetUseCouponList(pageIndex, pageSize, out rowCount, query);
}
#endregion
#region 优惠券发放统计
......
......@@ -5,6 +5,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Mall.CacheManager\Mall.CacheManager.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
<ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" />
</ItemGroup>
......
This diff is collapsed.
......@@ -184,7 +184,7 @@ namespace Mall.Module.User
},
};
return member_UserRepository.Exists(wheres);
}
}
/// <summary>
/// 获取列表
......@@ -215,7 +215,34 @@ namespace Mall.Module.User
}
}
return list;
}
}
/// <summary>
///根据昵称ID手机号码 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetListByPhoneOrAliasName(RB_Member_User_Extend dmodel)
{
return member_UserRepository.GetListByPhoneOrAliasName(dmodel);
}
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetPageListByKey(int pageIndex, int pageSize, out long rowCount, RB_Member_User_Extend dmodel)
{
return member_UserRepository.GetPageListByKey(pageIndex, pageSize, out rowCount, dmodel);
}
/// <summary>
/// 获取等级分页列表
......@@ -1585,7 +1612,8 @@ namespace Mall.Module.User
public List<RB_Member_ShippingAddress_Extend> GetUserShippingAddressPageList(int pageIndex, int pageSize, out long count, RB_Member_ShippingAddress_Extend demodel)
{
var list = member_ShippingAddressRepository.GetPageList(pageIndex, pageSize, out count, demodel);
if (list.Any()) {
if (list.Any())
{
string areaIds1 = string.Join(",", list.Select(x => x.Province ?? 0).Distinct());
string areaIds2 = string.Join(",", list.Select(x => x.City ?? 0).Distinct());
string areaIds3 = string.Join(",", list.Select(x => x.District ?? 0).Distinct());
......@@ -1701,7 +1729,8 @@ namespace Mall.Module.User
};
return member_ShippingAddressRepository.Update(keyValues, wheres);
}
else {
else
{
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Member_ShippingAddress.TenantId),
......@@ -1719,7 +1748,8 @@ namespace Mall.Module.User
OperatorEnum=OperatorEnum.Equal
},
};
if (!member_ShippingAddressRepository.Exists(wheres)) {
if (!member_ShippingAddressRepository.Exists(wheres))
{
demodel.IsDefault = 1;
}
return member_ShippingAddressRepository.Insert(demodel) > 0;
......@@ -1736,7 +1766,8 @@ namespace Mall.Module.User
{
var addmodel = member_ShippingAddressRepository.GetEntity(addressId);
int oldId = 0;
if (addmodel.IsDefault != 1) {
if (addmodel.IsDefault != 1)
{
var defmodel = member_ShippingAddressRepository.GetList(new RB_Member_ShippingAddress_Extend() { UserId = userId, IsDefault = 1 }).FirstOrDefault();
oldId = defmodel.Id;
}
......@@ -1757,7 +1788,8 @@ namespace Mall.Module.User
}
};
bool flag = member_ShippingAddressRepository.Update(keyValues, wheres);
if (flag) {
if (flag)
{
//获取当前默认
if (addmodel.IsDefault != 1 && oldId > 0)
{
......@@ -1856,7 +1888,8 @@ namespace Mall.Module.User
if (list.Any())
{
//取消收藏
foreach (var item in list) {
foreach (var item in list)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_Collection.Status),1},
{ nameof(RB_Member_Collection.UpdateDate),DateTime.Now}
......@@ -1871,7 +1904,8 @@ namespace Mall.Module.User
flag = member_CollectionRepository.Update(keyValues, wheres);
}
}
else {
else
{
//新增收藏
flag = member_CollectionRepository.Insert(new RB_Member_Collection()
{
......
using Mall.Model.Entity.AppletWeChat;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.AppletWeChat
{
/// <summary>
/// 微信小程序基础配置
/// </summary>
public class RB_AppletWeChatRepository : RepositoryBase<RB_AppletWeChat>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_AppletWeChat); } }
/// <summary>
/// 获取微信基础配置
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_AppletWeChat> GetAppletWeChatList(RB_AppletWeChat query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE 1=1 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_AppletWeChat.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_AppletWeChat.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_AppletWeChat.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_AppletWeChat>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.AppletWeChat;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.AppletWeChat
{
/// <summary>
/// 微信小程序消息模板仓储层
/// </summary>
public class RB_AppletWechat_MsgEmplateRepository : RepositoryBase<RB_AppletWechat_MsgEmplate>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_AppletWechat_MsgEmplate); } }
/// <summary>
/// 获取微信小程序消息模板
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_AppletWechat_MsgEmplate> GetMsgEmplateList(RB_AppletWechat_MsgEmplate query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE 1=1 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_AppletWechat_MsgEmplate.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_AppletWechat_MsgEmplate.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_AppletWechat_MsgEmplate.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_AppletWechat_MsgEmplate>(builder.ToString()).ToList();
}
}
}
......@@ -21,4 +21,8 @@
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="AppletWeChat\" />
</ItemGroup>
</Project>
......@@ -20,14 +20,14 @@ namespace Mall.Repository.MarketingCenter
public string UserTableName { get { return nameof(RB_Member_User); } }
/// <summary>
/// 获取物流地区列表
/// 获取发放优惠券的人员信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Coupon_SelfMotionMember_Extend> GetListRepository(RB_Coupon_SelfMotionMember_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(@$" SELECT a.*,b.`Name`,b.Photo as GrandpaID FROM {TableName} as a
builder.Append(@$" SELECT a.*,b.`AliasName`,b.Photo as GrandpaID FROM {TableName} as a
LEFT JOIN {UserTableName} as b on a.UserId = b.ID WHERE a.{nameof(RB_Coupon_SelfMotionMember_Extend.Status)}=0");
if (query != null)
{
......
......@@ -16,6 +16,11 @@ namespace Mall.Repository.MarketingCenter
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Coupon_SelfMotion); } }
/// <summary>
/// 表名称
/// </summary>
public string discountCouponTableName { get { return nameof(RB_DiscountCoupon); } }
/// <summary>
/// 自动发放优惠券规则列表
/// </summary>
......@@ -27,21 +32,22 @@ namespace Mall.Repository.MarketingCenter
public List<RB_Coupon_SelfMotion_Extend> GetSelfMotionPageLis(int pageIndex, int pageSize, out long rowCount, RB_Coupon_SelfMotion_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Coupon_SelfMotion_Extend.Status)}=0");
builder.Append(@$" SELECT a.*,b.`Name` as DiscountCouponName from {TableName} as a LEFT JOIN {discountCouponTableName} as b
on a.DiscountCouponId = b.ID WHERE a.{nameof(RB_Coupon_SelfMotion_Extend.Status)}=0");
if (query != null)
{
// where += $@" and {nameof(RB_Customer_InfoCreate.CustomerId)}={dmodel.CustomerId}";
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_SelfMotion_Extend.TenantId)}={query.TenantId}");
builder.Append($" AND a.{nameof(RB_Coupon_SelfMotion_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_SelfMotion_Extend.MallBaseId)}={query.MallBaseId}");
builder.Append($" AND a.{nameof(RB_Coupon_SelfMotion_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.DiscountCouponId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_SelfMotion_Extend.DiscountCouponId)}={query.DiscountCouponId}");
builder.Append($" AND a.{nameof(RB_Coupon_SelfMotion_Extend.DiscountCouponId)}={query.DiscountCouponId}");
}
}
return GetPage<RB_Coupon_SelfMotion_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
......@@ -69,6 +75,10 @@ namespace Mall.Repository.MarketingCenter
{
builder.Append($" AND {nameof(RB_Coupon_SelfMotion_Extend.TenantId)}={query.TenantId}");
}
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_Coupon_SelfMotion_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_SelfMotion_Extend.MallBaseId)}={query.MallBaseId}");
......
......@@ -420,6 +420,7 @@ SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
public List<RB_Goods_Order_Extend> GetWeeklyOrder(DataStatistics_Query dmodel)
{
string where = $" where 1=1 and a.OrderStatus in(2,3,4,6,5)";
string orderTypeWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
......@@ -432,6 +433,10 @@ SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
{
where += $@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if (dmodel.OrderType > 0)
{
orderTypeWhere += $@" and {nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
}
if (!string.IsNullOrWhiteSpace(dmodel.StartDate))
{
where += $" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
......@@ -440,7 +445,7 @@ SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
{
where += $" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
}
string sql = $@" select a.*,b.GoodsTotalNum from rb_goods_order as a LEFT JOIN (SELECT OrderId,COUNT(*) as GoodsTotalNum from rb_goods_orderdetail GROUP BY OrderId)as b
string sql = $@" select a.*,b.GoodsTotalNum from rb_goods_order as a LEFT JOIN (SELECT OrderId,COUNT(*) as GoodsTotalNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b
on a.OrderId=b.OrderId {where}";
return Get<RB_Goods_Order_Extend>(sql).ToList();
}
......@@ -522,6 +527,7 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
{
string where = $" where 1=1 ";
string payMemerNumWhere = "";
string orderTypeWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
......@@ -537,7 +543,10 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
where += $@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if (dmodel.OrderType > 0)
{
orderTypeWhere += $@" and {nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
}
//if (dmodel.OrderType > 0)
//{
// where += $@" and a.{nameof(RB_Goods_Order.or)}={(int)dmodel.OrderType}";
......@@ -584,7 +593,7 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
string sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,
(SELECT COUNT(UserId) from rb_goods_order where DATE_FORMAT(CreateDate,'%Y-%m-%d' )=t.CreateDate {payMemerNumWhere} GROUP BY UserId) as PayMemerNum
from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId from rb_goods_order as a
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
as t GROUP BY t.CreateDate desc";
return GetPage<DataStatistics_Query>(pageIndex, pageSize, out count, sql).ToList();
}
......@@ -601,6 +610,7 @@ as t GROUP BY t.CreateDate desc";
{
string where = $" where 1=1 ";
string payMemerNumWhere = "";
string orderTypeWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
......@@ -616,6 +626,11 @@ as t GROUP BY t.CreateDate desc";
where += $@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
payMemerNumWhere += $@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if (dmodel.OrderType > 0)
{
orderTypeWhere += $@" and {nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
}
if (dmodel.OrderStatus > 0)
{
if (dmodel.OrderStatus == 1)
......@@ -656,7 +671,7 @@ as t GROUP BY t.CreateDate desc";
string sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,
(SELECT COUNT(UserId) from rb_goods_order where DATE_FORMAT(CreateDate,'%Y-%m-%d' )=t.CreateDate {payMemerNumWhere} GROUP BY UserId) as PayMemerNum
from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId from rb_goods_order as a
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId {where})
as t GROUP BY t.CreateDate desc";
return Get<DataStatistics_Query>(sql).ToList();
}
......
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Entity.Product;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using Mall.Model.Query;
......@@ -24,6 +25,12 @@ namespace Mall.Repository.User
/// </summary>
public string DiscountCouponTableName { get { return nameof(RB_DiscountCoupon); } }
/// <summary>
/// 表名称
/// </summary>
public string OrderTableName { get { return nameof(RB_Goods_Order); } }
/// <summary>
/// 会员优惠券
/// </summary>
......@@ -244,6 +251,48 @@ LEFT JOIN {DiscountCouponTableName} as c on c.ID=a.CouponId where a.EndDate<NO
return Get<MemberCoupon_Query>(sql).ToList();
}
/// <summary>
/// 使用记录
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DiscountCoupon_Extend> GetUseCouponList(int pageIndex, int pageSize, out long rowCount, RB_Member_DiscountCoupon_Extend query)
{
StringBuilder builder = new StringBuilder();
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_DiscountCoupon_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_DiscountCoupon_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.StartDate.HasValue)
{
builder.Append($" AND DATE_FORMAT(b.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{query.StartDate}','%Y-%m-%d' )");
}
if (query.EndDate.HasValue)
{
builder.Append($" AND DATE_FORMAT(b.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndDate}','%Y-%m-%d' )");
}
if (!string.IsNullOrWhiteSpace(query.AliasName))
{
builder.Append($" AND (d.{nameof(RB_Member_User.AliasName)} like '%{query.AliasName}%' or b.{nameof(RB_Goods_Order.OrderId)} like '%{query.AliasName}%')");
}
}
string sql = @$" SELECT a.*,b.CreateDate as OrderCreateDate,c.`Name`,c.MinConsumePrice,c.CouponType,d.AliasName from rb_member_discountcoupon as a
LEFT JOIN rb_goods_order as b on a.OrderId=b.OrderId
LEFT JOIN rb_discountcoupon as c on c.ID=a.CouponId
LEFT JOIN rb_member_user as d on d.AliasName=a.UserId where a.UseState=1 {builder.ToString()}";
return GetPage<RB_Member_DiscountCoupon_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
}
}
......@@ -108,6 +108,111 @@ select * from RB_Member_User where {where} order by CreateDate desc
return Get<RB_Member_User_Extend>(sql).ToList();
}
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetPageListByKey(int pageIndex, int pageSize, out long rowCount, RB_Member_User_Extend dmodel)
{
string where = " 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Member_User.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Member_User.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Member_User.Id)}={dmodel.Id}";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and {nameof(RB_Member_User.Name)} like '%{dmodel.Name}%'";
}
if (!string.IsNullOrEmpty(dmodel.AliasName))
{
where += $@" and ({nameof(RB_Member_User.AliasName)} like '%{dmodel.AliasName}%' or {nameof(RB_Member_User.Id)} like '%{dmodel.Id}%')";
}
if (dmodel.Source > 0)
{
where += $@" and {nameof(RB_Member_User.Source)} ={(int)dmodel.Source}";
}
if (!string.IsNullOrEmpty(dmodel.Moblie))
{
where += $@" and {nameof(RB_Member_User.Moblie)} like '%{dmodel.Moblie}%'";
}
if (dmodel.MemberGrade > 0)
{
where += $@" and {nameof(RB_Member_User.MemberGrade)}={dmodel.MemberGrade}";
}
if (dmodel.SuperiorId > 0)
{
where += $@" and {nameof(RB_Member_User.SuperiorId)}={dmodel.SuperiorId}";
}
string sql = $@"
select * from RB_Member_User where {where} order by CreateDate desc
";
return GetPage<RB_Member_User_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetListByPhoneOrAliasName(RB_Member_User_Extend dmodel)
{
string where = " 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Member_User.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Member_User.MallBaseId)}={dmodel.MallBaseId}";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and {nameof(RB_Member_User.Name)} like '%{dmodel.Name}%'";
}
if (!string.IsNullOrEmpty(dmodel.AliasName))
{
where += $@" and ({nameof(RB_Member_User.AliasName)} like '%{dmodel.AliasName}%' or {nameof(RB_Member_User.Moblie)} like '%{dmodel.Moblie}%' or {nameof(RB_Member_User.Id)} like '%{dmodel.Id}%')";
}
if (dmodel.Source > 0)
{
where += $@" and {nameof(RB_Member_User.Source)} ={(int)dmodel.Source}";
}
if (!string.IsNullOrEmpty(dmodel.Moblie))
{
where += $@" and ";
}
if (dmodel.MemberGrade > 0)
{
where += $@" and {nameof(RB_Member_User.MemberGrade)}={dmodel.MemberGrade}";
}
if (dmodel.SuperiorId > 0)
{
where += $@" and {nameof(RB_Member_User.SuperiorId)}={dmodel.SuperiorId}";
}
if (!string.IsNullOrEmpty(dmodel.UserIds))
{
where += $@" and {nameof(RB_Member_User.Id)} in({dmodel.UserIds})";
}
string sql = $@"
select * from RB_Member_User where {where} order by CreateDate desc
";
return Get<RB_Member_User_Extend>(sql).ToList();
}
/// <summary>
/// 获取下拉列表
/// </summary>
......
......@@ -28,6 +28,10 @@ namespace Mall.Repository.User
{
builder.AppendFormat(" AND TenantId={0} ", query.TenantId);
}
if ( query.MallBaseId > 0)
{
builder.AppendFormat(" AND MallBaseId={0} ", query.MallBaseId);
}
}
return Get<RB_MiniProgram_Extend>(builder.ToString()).ToList();
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Mall.Module.AppletWeChat;
using Mall.Model.Entity.AppletWeChat;
namespace Mall.WebApi.Controllers.AppletWeChat
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class AppletWeChatController : BaseController
{
private AppletWeChatModule appletWeChatModule = new AppletWeChatModule();
#region 微信小程序基础配置
/// <summary>
/// 新增/修改微信小程序基础配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult AddOrUpdateAppletWeChat()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_AppletWeChat>(RequestParm.msg.ToString());
query.MallBaseId = parms.MallBaseId;
if (query == null)
{
return ApiResult.Failed("请传入操作的小程序配置");
}
else
{
if (string.IsNullOrWhiteSpace(query.AppId))
{
return ApiResult.Failed("请输入小程序AppId");
}
if (string.IsNullOrWhiteSpace(query.AppSecret))
{
return ApiResult.Failed("请输入小程序appSecret");
}
if (string.IsNullOrWhiteSpace(query.BusinessNO))
{
return ApiResult.Failed("请输入微信支付商户号");
}
if (string.IsNullOrWhiteSpace(query.ApiSecret))
{
return ApiResult.Failed("请输入微信支付Api密钥");
}
query.TenantId = UserInfo.TenantId;
bool result = appletWeChatModule.AddOrUpdateAppletWeChat(query);
if (result)
{
return ApiResult.Success("基础信息保存成功");
}
else
{
return ApiResult.Failed("基础信息保存失败");
}
}
}
/// <summary>
/// 获取微信小程序基础信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppletWeChatInfo()
{
var parms = RequestParm;
var query = new RB_AppletWeChat();
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = appletWeChatModule.GetAppletWeChatList(query).FirstOrDefault();
if (model == null)
{
model = new RB_AppletWeChat();
}
return ApiResult.Success("获取成功", model);
}
#endregion
#region 微信小程序消息模板
/// <summary>
/// 新增/修改微信小程序消息模板
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult AddOrUpdateMsgEmplate()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_AppletWechat_MsgEmplate>(RequestParm.msg.ToString());
query.MallBaseId = parms.MallBaseId;
if (query == null)
{
return ApiResult.Failed("请传入消息通知信息");
}
else
{
query.TenantId = UserInfo.TenantId;
bool result = appletWeChatModule.AddOrUpdateMsgEmplate(query);
if (result)
{
return ApiResult.Success("消息通知配置保存成功");
}
else
{
return ApiResult.Failed("消息通知配置保存失败");
}
}
}
/// <summary>
/// 获取微信小程序消息模板信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMsgEmplateInfo()
{
var parms = RequestParm;
var query = new RB_AppletWechat_MsgEmplate();
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = appletWeChatModule.GetMsgEmplateList(query).FirstOrDefault();
if (model == null)
{
model = new RB_AppletWechat_MsgEmplate();
}
return ApiResult.Success("获取成功", model);
}
#endregion
}
}
\ No newline at end of file
......@@ -4,8 +4,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Model.Entity.AppletWeChat;
using Mall.Module.AppletWeChat;
using Mall.Model.Extend.User;
using Mall.Module.User;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
......@@ -20,7 +20,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
public class PublishController : BaseController
{
private AppletWeChatModule appletWeChatModule = new AppletWeChatModule();
private MiniProgramModule appletWeChatModule = new MiniProgramModule();
string projectUrl = Mall.Common.Config.ProjectUrl;
string developerKitsPort = Mall.Common.Config.DeveloperKitsPort;
......@@ -33,10 +33,10 @@ namespace Mall.WebApi.Controllers.AppletWeChat
public ApiResult GetLoginAppletWeChat()
{
var parms = RequestParm;
var query = new RB_AppletWeChat();
var query = new RB_MiniProgram_Extend();
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = appletWeChatModule.GetAppletWeChatList(query).FirstOrDefault();
var model = appletWeChatModule.GetTenantListModule(query).FirstOrDefault();
if (model == null)
{
return ApiResult.Failed("您还未配置微信小程序基础信息");
......@@ -44,7 +44,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
try
{
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/login?qr-format=base64&project=&appid={model.AppId}&ext-appid=";
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/login?qr-format=base64&project=&appid={model.MiniAppId}&ext-appid=";
string result = Mall.Common.Plugin.HttpHelper.HttpGet(URL, Encoding.UTF8, "");
JObject parmsJob = JObject.Parse(result);
string imgUrl = parmsJob.GetValue("qrcode").ToString();
......@@ -97,10 +97,10 @@ namespace Mall.WebApi.Controllers.AppletWeChat
public ApiResult GetPuploadAppletWeChat()
{
var parms = RequestParm;
var query = new RB_AppletWeChat();
var query = new RB_MiniProgram_Extend();
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = appletWeChatModule.GetAppletWeChatList(query).FirstOrDefault();
var model = appletWeChatModule.GetTenantListModule(query).FirstOrDefault();
if (model == null)
{
return ApiResult.Failed("您还未配置微信小程序基础信息");
......@@ -108,7 +108,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
try
{
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/upload?project={Mall.Common.Plugin.StringHelper.UrlEncode(projectUrl)}&version=v1.0.0&desc=微信开发者工具HTTP上传&appid={model.AppId}";
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/upload?project={Mall.Common.Plugin.StringHelper.UrlEncode(projectUrl)}&version=v1.0.0&desc=微信开发者工具HTTP上传&appid={model.MiniAppId}";
string result = Mall.Common.Plugin.HttpHelper.HttpGet(URL, Encoding.UTF8, "");
JObject parmsJob = JObject.Parse(result);
if (parmsJob.ContainsKey("code"))
......@@ -122,7 +122,5 @@ namespace Mall.WebApi.Controllers.AppletWeChat
return ApiResult.Failed("上传失败");
}
}
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Plugin;
using Mall.Model.Entity.User;
using Mall.Model.Extend.MarketingCenter;
......@@ -199,7 +200,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.IndateType,
x.IndateDay,
EndDate=x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.TotalNum,
ResidueNum = x.TotalNum - x.ReceiveNum,
x.PickupCenter
......@@ -384,7 +385,10 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
return ApiResult.Failed("优惠券信息不存在,请核实后再操作");
}
if (string.IsNullOrWhiteSpace(query.UserIds))
{
return ApiResult.Failed("请选择发放对象");
}
List<RB_Member_DiscountCoupon> list = new List<RB_Member_DiscountCoupon>();
for (int i = 0; i < query.GrantNum; i++)
{
......@@ -435,6 +439,167 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
/// <summary>
/// 获取详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAllDiscountCouponList()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_DiscountCoupon_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var oldLogisticsModel = IntegralModule.GetAllDiscountCouponList(query);
return ApiResult.Success("", oldLogisticsModel);
}
#endregion
#region 自动发放优惠券
/// <summary>
/// 自动发放优惠券列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSelfMotionPageLis()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_Coupon_SelfMotion_Extend demodel = JsonConvert.DeserializeObject<RB_Coupon_SelfMotion_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetSelfMotionPageLis(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ID,
x.GrantNum,
x.DiscountCouponName,
TriggerTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.TriggerType)
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取自动发放优惠券详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GettRepositoryList()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Coupon_SelfMotion_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var oldLogisticsModel = IntegralModule.GettRepositoryList(query).FirstOrDefault();
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_Coupon_SelfMotion_Extend();
}
else
{
if (oldLogisticsModel.IsAll == 1)
{
oldLogisticsModel.UserList = new List<RB_Coupon_SelfMotionMember_Extend>();
oldLogisticsModel.UserList = IntegralModule.GetSelfMotionMemberList(new RB_Coupon_SelfMotionMember_Extend { TenantId = oldLogisticsModel.TenantId, MallBaseId = oldLogisticsModel.MallBaseId, SelfMotionId = oldLogisticsModel.ID });
}
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 保存自动发放优惠券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult AddOrUpdateSelfMotion()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Coupon_SelfMotion_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
if (query == null)
{
return ApiResult.Failed("请传入自动发放优惠券信息");
}
else
{
if (query.ID == 0)
{
query.CreateDate = System.DateTime.Now;
}
if (query.IsAll == 1 && (query.UserList == null || !query.UserList.Any()))
{
return ApiResult.Failed("请选择领取人信息");
}
query.UpdateDate = System.DateTime.Now;
bool result = IntegralModule.AddOrUpdateSelfMotion(query);
if (result)
{
return ApiResult.Success("自动发放优惠券保存成功");
}
else
{
return ApiResult.Failed("自动发放优惠券保存失败");
}
}
}
/// <summary>
/// 删除自动发放优惠券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelDiscountSelfMotion()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int Id = parmsJob.GetInt("Id", 0);
if (Id <= 0)
{
return ApiResult.Failed("请传递参数");
}
bool flag = IntegralModule.DelDiscountSelfMotion(Id, UserInfo.TenantId, parms.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 获取触发事件枚举
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTriggerTypeEnumList()
{
var list = EnumHelper.GetEnumList(typeof(TriggerTypeEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
#endregion
#region 发放统计
......@@ -550,5 +715,35 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
#endregion
#region 使用记录
/// <summary>
/// 使用记录
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUseCouponList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_Member_DiscountCoupon_Extend demodel = JsonConvert.DeserializeObject<RB_Member_DiscountCoupon_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetUseCouponList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.OrderCreateDate,
x.OrderId,
x.Name,
x.AliasName,
x.MinConsumePrice,
CouponTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.CouponType),
x.UseState
});
return ApiResult.Success("", pagelist);
}
#endregion
}
}
\ No newline at end of file
......@@ -62,7 +62,7 @@ namespace Mall.WebApi.Controllers.User
/// </summary>
private Module.User.PlugInModule plugInModule = new Module.User.PlugInModule();
#region 商户信息
/// <summary>
......@@ -369,7 +369,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(MallBaseId, isGetNav: isGetNav);
return ApiResult.Success(data: extModel);
}
......@@ -402,6 +402,67 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Success(data: pageModel);
}
#region 设置可跳转小程序
/// <summary>
/// 设置可跳转小程序
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult UpdateJumpAppId()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_MiniProgram_Extend>(RequestParm.msg.ToString());
query.MallBaseId = parms.MallBaseId;
query.TenantId = UserInfo.TenantId;
if (query.JumpAppIdList != null && query.JumpAppIdList.Any())
{
query.JumpAppId = JsonConvert.SerializeObject(query.JumpAppIdList);
}
else
{
query.JumpAppId = "";
}
bool result = programModule.UpdateJumpAppId(query);
if (result)
{
return ApiResult.Success("可跳转小程序设置成功");
}
else
{
return ApiResult.Failed("可跳转小程序设置失败");
}
}
/// <summary>
/// 根据小程序编号获取小程序信息
/// </summary>
/// <returns></returns>
public ApiResult GetMiniJumpAppId()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_MiniProgram_Extend>(RequestParm.msg.ToString());
query.MallBaseId = parms.MallBaseId;
query.TenantId = UserInfo.TenantId;
var extModel = programModule.GetTenantListModule(query).FirstOrDefault();
if (!string.IsNullOrWhiteSpace(extModel.JumpAppId))
{
extModel.JumpAppIdList = JsonConvert.DeserializeObject<List<string>>(extModel.JumpAppId).ToArray();
}
else
{
extModel.JumpAppIdList = new string[1];
extModel.JumpAppIdList[0] = extModel.MiniAppId;
}
return ApiResult.Success(data: extModel);
}
#endregion
#endregion
#region 菜单信息
......@@ -807,7 +868,7 @@ namespace Mall.WebApi.Controllers.User
var extModel = JsonConvert.DeserializeObject<RB_MiniProgram_Extend>(RequestParm.msg.ToString());
extModel.TenantId = RequestParm.TenantId;
extModel.MallBaseId = RequestParm.MallBaseId;
var result = programModule.GetMiniProgramModule(extModel,isGetUserCenterMenu:true);
var result = programModule.GetMiniProgramModule(extModel, isGetUserCenterMenu: true);
return ApiResult.Success(data: result);
}
......@@ -831,9 +892,9 @@ namespace Mall.WebApi.Controllers.User
public ApiResult GetPlugInList()
{
var extModel = JsonConvert.DeserializeObject<RB_PlugIn_Extend>(RequestParm.msg.ToString());
var list = plugInModule.GetPlugInListModule(extModel);
var distinctList = list.GroupBy(qitem => new { qitem.PlugType ,qitem.GroupName}).Select(qitem => new { qitem.Key.PlugType,qitem.Key.GroupName});
var distinctList = list.GroupBy(qitem => new { qitem.PlugType, qitem.GroupName }).Select(qitem => new { qitem.Key.PlugType, qitem.Key.GroupName });
List<object> resultList = new List<object>();
foreach (var item in distinctList)
{
......@@ -846,5 +907,11 @@ namespace Mall.WebApi.Controllers.User
}
return ApiResult.Success(data: resultList);
}
}
}
\ No newline at end of file
......@@ -1891,6 +1891,60 @@ namespace Mall.WebApi.Controllers.User
#endregion
#region 数据统计-分销排行
/// <summary>
/// 获取用户下拉列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetListByPhoneOrAliasName()
{
var parms = RequestParm;
RB_Member_User_Extend demodel = JsonConvert.DeserializeObject<RB_Member_User_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetListByPhoneOrAliasName(demodel);
var result = list.Select(x => new
{
x.Id,
x.AliasName,
x.Moblie,
x.Photo
});
return ApiResult.Success("", result);
}
/// <summary>
/// 获取用户列表-自动发放优惠券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPageListByKey()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Member_User_Extend demodel = JsonConvert.DeserializeObject<RB_Member_User_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetPageListByKey(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.AliasName,
x.Name,
x.Source,
x.Photo
});
return ApiResult.Success("", pagelist);
}
[HttpPost]
public ApiResult GetRankingListPage()
{
......
......@@ -14,7 +14,6 @@
<ProjectReference Include="..\Mall.Common\Mall.Common.csproj" />
<ProjectReference Include="..\Mall.DataHelper\Mall.DataHelper.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
<ProjectReference Include="..\Mall.Module.AppletWeChat\Mall.Module.AppletWeChat.csproj" />
<ProjectReference Include="..\Mall.Module.BaseSetUp\Mall.Module.BaseSetUp.csproj" />
<ProjectReference Include="..\Mall.Module.MarketingCenter\Mall.Module.MarketingCenter.csproj" />
<ProjectReference Include="..\Mall.Module.Product\Mall.Module.Product.csproj" />
......
......@@ -37,8 +37,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mall.Module.Product", "Mall
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mall.Module.MarketingCenter", "Mall.Module.MarketingCenter\Mall.Module.MarketingCenter.csproj", "{339DE5B1-FA62-4B3D-80D4-0C50398D2848}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mall.Module.AppletWeChat", "Mall.Module.AppletWeChat\Mall.Module.AppletWeChat.csproj", "{FAC1610E-069C-4E3D-8B65-EFF375F15342}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -97,10 +95,6 @@ Global
{339DE5B1-FA62-4B3D-80D4-0C50398D2848}.Debug|Any CPU.Build.0 = Debug|Any CPU
{339DE5B1-FA62-4B3D-80D4-0C50398D2848}.Release|Any CPU.ActiveCfg = Release|Any CPU
{339DE5B1-FA62-4B3D-80D4-0C50398D2848}.Release|Any CPU.Build.0 = Release|Any CPU
{FAC1610E-069C-4E3D-8B65-EFF375F15342}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FAC1610E-069C-4E3D-8B65-EFF375F15342}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FAC1610E-069C-4E3D-8B65-EFF375F15342}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FAC1610E-069C-4E3D-8B65-EFF375F15342}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -118,7 +112,6 @@ Global
{9C400D7F-2BE2-40E7-B179-498097AA00AB} = {034DEA5B-083C-46EC-9D3F-C8273C59C218}
{D0386A52-CAFD-40B3-A515-9A9241189FBA} = {034DEA5B-083C-46EC-9D3F-C8273C59C218}
{339DE5B1-FA62-4B3D-80D4-0C50398D2848} = {034DEA5B-083C-46EC-9D3F-C8273C59C218}
{FAC1610E-069C-4E3D-8B65-EFF375F15342} = {034DEA5B-083C-46EC-9D3F-C8273C59C218}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {450F460D-A6AE-4FE3-948A-34E5FB8DBD7C}
......
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