Commit 22dcedbd authored by liudong1993's avatar liudong1993
parents 3163f6eb a90a895a
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MallBase
{
public enum ChargeModeEnum
{
/// <summary>
/// 按重计费
/// </summary>
[EnumField("按重计费")]
Weight = 1,
/// <summary>
/// 按件计费
/// </summary>
[EnumField("按件计费")]
Num = 2
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum PlatformTypeEnum
{
/// <summary>
/// 微信
/// </summary>
[EnumField("微信")]
WeChat = 1,
/// <summary>
/// 支付宝
/// </summary>
[EnumField("支付宝")]
Alipay = 2,
/// <summary>
/// 抖音/头条
/// </summary>
[EnumField("抖音/头条")]
TrillOrHeadline = 3,
/// <summary>
/// 百度
/// </summary>
[EnumField("百度")]
Baidu = 2,
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum RecordTypeEnum
{
/// <summary>
/// 收入
/// </summary>
[EnumField("+")]
Income = 1,
/// <summary>
/// 支出
/// </summary>
[EnumField("-")]
Expend = 2,
}
}
......@@ -38,7 +38,7 @@ namespace Mall.Model.Entity.BaseSetUp
/// <summary>
/// 计费方式
/// </summary>
public int ChargeMode { get; set; }
public ChargeModeEnum ChargeMode { get; set; }
public int Status { get; set; }
......
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.MarketingCenter
{
/// <summary>
/// 积分设置
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Integral_Settings
{
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; }
/// <summary>
/// 用户积分使用规则
/// </summary>
public string Explain { get; set; }
/// <summary>
/// 用户积分
/// </summary>
public int IntegralNum { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.MarketingCenter
{
/// <summary>
/// 充值设置
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Recharge_Settings
{
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; }
/// <summary>
/// 开启余额功能0-否,1-是
/// </summary>
public int IsOpenBalance { get; set; }
/// <summary>
/// 是否开放自定义金额,0-否,1-是
/// </summary>
public int IsExploitMoney { get; set; }
/// <summary>
/// 背景图片
/// </summary>
public string BackImg { get; set; }
/// <summary>
/// 广告图片
/// </summary>
public string AdvertisingImg { get; set; }
/// <summary>
/// 广告图片跳转链接
/// </summary>
public string AdvertisingLink { get; set; }
/// <summary>
/// 充值说明图标
/// </summary>
public string ExplainIco { get; set; }
/// <summary>
/// 充值说明
/// </summary>
public string Explain { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
......@@ -29,7 +30,7 @@ namespace Mall.Model.Entity.User
/// <summary>
/// 类型 1增加 2减少
/// </summary>
public int? Type
public RecordTypeEnum? Type
{
get;
set;
......@@ -82,5 +83,10 @@ namespace Mall.Model.Entity.User
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public string Remarks { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
......@@ -29,11 +30,18 @@ namespace Mall.Model.Entity.User
/// <summary>
/// 类型 1增加 2减少
/// </summary>
public int? Type
public RecordTypeEnum? Type
{
get;
set;
}
/// <summary>
/// 平台类型
/// </summary>
public PlatformTypeEnum? PlatformType { get; set; }
/// <summary>
/// 积分
/// </summary>
......@@ -82,5 +90,9 @@ namespace Mall.Model.Entity.User
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public string Remarks { get; set; }
}
}
......@@ -101,5 +101,10 @@ namespace Mall.Model.Entity.User
get;
set;
}
/// <summary>
/// 排序
/// </summary>
public int TagSort { get; set; }
}
}
......@@ -13,6 +13,19 @@ namespace Mall.Model.Extend.User
[DB(ConnectionName = "DefaultConnection")]
public class RB_Member_Balance_Extend : RB_Member_Balance
{
/// <summary>
/// 会员名称
/// </summary>
public string MemberName { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public string EndDate { get; set; }
}
}
......@@ -13,6 +13,19 @@ namespace Mall.Model.Extend.User
[DB(ConnectionName = "DefaultConnection")]
public class RB_Member_Integral_Extend : RB_Member_Integral
{
/// <summary>
/// 会员名称
/// </summary>
public string MemberName { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public string EndDate { get; set; }
}
}
......@@ -12,6 +12,9 @@ namespace Mall.Model.Extend.User
[DB(ConnectionName = "DefaultConnection")]
public class RB_Miniprogram_Bottomnav_Extend:Model.Entity.User.RB_Miniprogram_Bottomnav
{
/// <summary>
/// 标签是否激活状态【前端使用】
/// </summary>
public bool IsActive { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Query
{
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class Integral_Query
{
public int TenantId { get; set; }
public int MallBaseId { get; set; }
public int PlatformType { get; set; }
public string CreateDate { get; set; }
public string Income { get; set; }
public string Expend { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public string EndDate { get; set; }
}
}
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User;
using Mall.Model.Query;
using Mall.Repository.MarketingCenter;
using Mall.Repository.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Module.MarketingCenter
{
public class IntegralModule
{
private RB_Integral_SettingsRepository settingsRepository = new RB_Integral_SettingsRepository();
private RB_Member_IntegralRepository recordRepository = new RB_Member_IntegralRepository();
#region 积分设置
/// <summary>
/// 积分设置列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Integral_Settings> GetIntegralSettingsList(RB_Integral_Settings query)
{
return settingsRepository.GetIntegralSettingsList(query);
}
/// <summary>
/// 新增修改积分
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateIntegralSettings(RB_Integral_Settings model)
{
if (model.ID == 0)
{
return settingsRepository.Insert(model) > 0;
}
else
{
return settingsRepository.Update(model);
}
}
#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_Integral_Extend> GetRechargeRecordPageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Integral_Extend query)
{
return recordRepository.GetRechargeRecordPageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<Integral_Query> GetIntegraStatisticslList(int pageIndex, int pageSize, out long rowCount, Integral_Query query)
{
return recordRepository.GetIntegraStatisticslList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_Integral_Extend> GetTotalIntegral(RB_Member_Integral_Extend dmodel)
{
return recordRepository.GetList(dmodel);
}
#endregion
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Mall.Common\Mall.Common.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.csproj" />
<ProjectReference Include="..\Mall.Repository\Mall.Repository.csproj" />
</ItemGroup>
......
using Mall.Model.Extend.MarketingCenter;
using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User;
using Mall.Repository;
using Mall.Repository.MarketingCenter;
using Mall.Repository.User;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -11,7 +16,9 @@ namespace Mall.Module.MarketingCenter
private RB_Recharge_RulesRepository rulesRepository = new RB_Recharge_RulesRepository();
#region 充值信息
private RB_Member_BalanceRepository balanceRepository = new RB_Member_BalanceRepository();
private RB_Recharge_SettingsRepository settingsRepository = new RB_Recharge_SettingsRepository();
#region 充值规则信息
/// <summary>
/// 充值信息列表
/// </summary>
......@@ -49,7 +56,91 @@ namespace Mall.Module.MarketingCenter
}
}
/// <summary>
/// 删除充值方案
/// </summary>
/// <param name="gradeId"></param>
/// <param name="uid"></param>
/// <returns></returns>
public bool DelRechargeRules(int id, int uid, int mallBaseId)
{
try
{
Dictionary<string, object> cols = new Dictionary<string, object>()
{
{ nameof(RB_Recharge_Rules.Status),1},
{ nameof(RB_Recharge_Rules.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Recharge_Rules.ID),
FiledValue=id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Recharge_Rules.TenantId),
FiledValue=Convert.ToInt32(uid),
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Recharge_Rules.MallBaseId),
FiledValue=Convert.ToInt32(mallBaseId),
OperatorEnum=OperatorEnum.Equal
}
};
return rulesRepository.Update(cols, wheres1);
}
catch (Exception ex)
{
LogHelper.Write(ex, "DelRechargeRules");
return false;
}
}
#endregion
#region 充值设置
/// <summary>
/// 充值设置列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Recharge_Settings> GetRechargeSettingsList(RB_Recharge_Settings query)
{
return settingsRepository.GetRechargeSettingsList(query);
}
public bool AddOrUpdateRechargeSettings(RB_Recharge_Settings model)
{
if (model.ID == 0)
{
return settingsRepository.Insert(model) > 0;
}
else
{
return settingsRepository.Update(model);
}
}
#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_Balance_Extend> GetMemberBalancePageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Balance_Extend query)
{
return balanceRepository.GetMemberBalancePageList(pageIndex, pageSize, out rowCount, query);
}
#endregion
}
}
......@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using Mall.Model.Extend.User;
using Mall.Repository;
using System.Linq;
namespace Mall.Module.User
{
......@@ -187,14 +188,23 @@ namespace Mall.Module.User
/// 根据编号获取小程序信息
/// </summary>
/// <param name="MallBaseId">小程序Id</param>
/// <param name="isGetNav">是否获取顶部底部配置+底部标签导航(0-不获取,1-获取)</param>
/// <returns></returns>
public RB_MiniProgram_Extend GetMiniProgramModule(object MallBaseId)
public RB_MiniProgram_Extend GetMiniProgramModule(object MallBaseId,int isGetNav=0)
{
RB_MiniProgram_Extend extModel = programRepository.GetEntity<RB_MiniProgram_Extend>(MallBaseId);
if (extModel == null)
{
extModel = new RB_MiniProgram_Extend();
}
if (isGetNav == 1)
{
extModel.BottomTagList = bottomnavRepository.GetListRepository(new RB_Miniprogram_Bottomnav_Extend() { MallBaseId = extModel.MallBaseId });
if (extModel.BottomTagList != null && extModel.BottomTagList.Count > 0)
{
extModel.BottomTagList.FirstOrDefault().IsActive = true;
}
}
return extModel;
}
......@@ -248,7 +258,7 @@ namespace Mall.Module.User
{
{ nameof(RB_Miniprogram_Bottomnav_Extend.Status),1},
};
flag = programRepository.Update(fileds, new WhereHelper(nameof(RB_Miniprogram_Bottomnav_Extend.TagId), TagId));
flag = bottomnavRepository.Update(fileds, new WhereHelper(nameof(RB_Miniprogram_Bottomnav_Extend.TagId), TagId));
return flag;
}
}
......
......@@ -75,21 +75,25 @@ namespace Mall.Module.User
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetMemberUserPageList(int pageIndex, int pageSize, out long count, RB_Member_User_Extend dmodel) {
var list= member_UserRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any()) {
public List<RB_Member_User_Extend> GetMemberUserPageList(int pageIndex, int pageSize, out long count, RB_Member_User_Extend dmodel)
{
var list = member_UserRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any())
{
List<RB_Member_Grade_Extend> gradeList = new List<RB_Member_Grade_Extend>();
if (list.Where(x => x.MemberGrade > 0).Any())
{
var gradeIds = string.Join(",", list.Where(x => x.MemberGrade > 0).Select(x => x.MemberGrade ?? 0));
gradeList = member_GradeRepository.GetList(new RB_Member_Grade_Extend() { GradeIds = gradeIds, TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId });
}
foreach (var item in list) {
foreach (var item in list)
{
if (item.MemberGrade > 0)
{
item.MemberGradeName = gradeList.Where(x => x.Id == item.MemberGrade).FirstOrDefault()?.Name ?? "";
}
else {
else
{
item.MemberGradeName = "普通会员";
}
}
......@@ -159,9 +163,11 @@ namespace Mall.Module.User
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_Grade_Extend> GetMemberGradePageList(int pageIndex, int pageSize, out long count, RB_Member_Grade_Extend dmodel) {
public List<RB_Member_Grade_Extend> GetMemberGradePageList(int pageIndex, int pageSize, out long count, RB_Member_Grade_Extend dmodel)
{
var list = member_GradeRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any()) {
if (list.Any())
{
string Ids = string.Join(",", list.Select(x => x.Id));
var elist = member_EquityRepository.GetList(new RB_Member_Equity_Extend() { GradeIds = Ids, TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId });
......@@ -169,10 +175,12 @@ namespace Mall.Module.User
MaterialIds.AddRange(list.Select(x => x.Icon ?? 0).Distinct().ToList());
MaterialIds.AddRange(list.Select(x => x.BackgroundImage ?? 0).Distinct().ToList());
List<RB_Material_Info_Extend> mlist = new List<RB_Material_Info_Extend>();
if (MaterialIds.Any()) {
if (MaterialIds.Any())
{
mlist = material_InfoRepository.GetList(new RB_Material_Info_Extend() { MaterialIds = string.Join(",", MaterialIds), TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId });
}
foreach (var item in list) {
foreach (var item in list)
{
item.EquityList = elist.Where(x => x.GradeId == item.Id).ToList();
item.IconPath = mlist.Where(x => x.Id == item.Icon).FirstOrDefault()?.Path ?? "";
item.BackgroundImagePath = mlist.Where(x => x.Id == item.BackgroundImage).FirstOrDefault()?.Path ?? "";
......@@ -271,17 +279,20 @@ namespace Mall.Module.User
}
};
bool flag = member_GradeRepository.Update(files, wheres, trans);
if (flag) {
if (flag)
{
var elist = member_EquityRepository.GetList(new RB_Member_Equity_Extend() { GradeId = demodel.Id });
List<RB_Member_Equity_Extend> InsertList = new List<RB_Member_Equity_Extend>();
List<RB_Member_Equity_Extend> UpdateList = new List<RB_Member_Equity_Extend>();
List<RB_Member_Equity_Extend> DeleteList = new List<RB_Member_Equity_Extend>();
if (demodel.EquityList != null && demodel.EquityList.Any()) {
if (demodel.EquityList != null && demodel.EquityList.Any())
{
InsertList = demodel.EquityList.Where(x => x.Id == 0).ToList();
UpdateList = demodel.EquityList.Where(x => elist.Select(y => y.Id).Contains(x.Id)).ToList();
DeleteList = elist.Where(x => !demodel.EquityList.Select(y => y.Id).Contains(x.Id)).ToList();
}
foreach (var item in InsertList) {
foreach (var item in InsertList)
{
member_EquityRepository.Insert(new RB_Member_Equity()
{
Content = item.Content,
......@@ -296,7 +307,8 @@ namespace Mall.Module.User
UpdateDate = demodel.CreateDate
}, trans);
}
foreach (var item in UpdateList) {
foreach (var item in UpdateList)
{
Dictionary<string, object> cols = new Dictionary<string, object>() {
{ nameof(RB_Member_Equity.Content),item.Content},
{ nameof(RB_Member_Equity.Image),item.Image},
......@@ -312,7 +324,8 @@ namespace Mall.Module.User
};
member_EquityRepository.Update(cols, wheres1, trans);
}
foreach (var item in DeleteList) {
foreach (var item in DeleteList)
{
Dictionary<string, object> cols = new Dictionary<string, object>() {
{ nameof(RB_Member_Equity.Status),1},
{ nameof(RB_Member_Equity.UpdateDate),demodel.UpdateDate},
......@@ -435,15 +448,17 @@ namespace Mall.Module.User
public bool SetMemberIntegralInfo(RB_Member_Integral_Extend demodel)
{
var umodel = member_UserRepository.GetEntity(demodel.UserId);
int Integral;
if (demodel.Type == 1)
int Integral = 0;
if ((int)demodel.Type == 1)
{
Integral = (umodel.Integral ?? 0) + (demodel.Integral ?? 0);
}
else {
else
{
Integral = (umodel.Integral ?? 0) - (demodel.Integral ?? 0);
}
if (Integral < 0) {
if (Integral < 0)
{
Integral = 0;
}
Dictionary<string, object> keys = new Dictionary<string, object>() {
......@@ -486,7 +501,7 @@ namespace Mall.Module.User
{
var umodel = member_UserRepository.GetEntity(demodel.UserId);
decimal Balance;
if (demodel.Type == 1)
if ((int)demodel.Type == 1)
{
Balance = (umodel.Balance ?? 0) + (demodel.Balance ?? 0);
}
......@@ -583,7 +598,8 @@ namespace Mall.Module.User
public RB_Distributor_Basics_Extend GetDistributorBasicsInfo(int basicsId)
{
var model = distributor_BasicsRepository.GetEntity(basicsId).RefMapperTo<RB_Distributor_Basics_Extend>();
if (model == null) {
if (model == null)
{
return new RB_Distributor_Basics_Extend();
}
model.IndexImagePath = material_InfoRepository.GetEntity(model.IndexImage)?.Path ?? "";
......@@ -606,7 +622,8 @@ namespace Mall.Module.User
}
model.IndexImagePath = material_InfoRepository.GetEntity(model.IndexImage)?.Path ?? "";
model.BackgroundImagePath = material_InfoRepository.GetEntity(model.BackgroundImage)?.Path ?? "";
if (!string.IsNullOrEmpty(model.WithdrawWay)) {
if (!string.IsNullOrEmpty(model.WithdrawWay))
{
model.WithdrawWayList = JsonConvert.DeserializeObject<List<int>>(model.WithdrawWay);
}
return model;
......@@ -716,11 +733,13 @@ namespace Mall.Module.User
/// <returns></returns>
public List<RB_Distributor_Grade_Extend> GetDistributorGradePageList(int pageIndex, int pageSize, out long count, RB_Distributor_Grade_Extend demodel)
{
var list= distributor_GradeRepository.GetPageList(pageIndex, pageSize, out count, demodel);
var list = distributor_GradeRepository.GetPageList(pageIndex, pageSize, out count, demodel);
//获取分销商基础
var bmodel = GetDistributorBasicsInfo(demodel.TenantId.ToString(), demodel.MallBaseId);
if (bmodel != null) {
switch (bmodel.DistributorTier) {
if (bmodel != null)
{
switch (bmodel.DistributorTier)
{
case 0:
foreach (var item in list)
{
......@@ -801,7 +820,8 @@ namespace Mall.Module.User
}
};
bool flag = distributor_GradeRepository.Update(keyValues, whereHelpers);
if (flag) {
if (flag)
{
if (model.Enabled == 1 && demodel.Enabled == 2)
{
//由启用设置为停用 需更新该等级下的用户为默认等级
......@@ -810,7 +830,8 @@ namespace Mall.Module.User
}
return flag;
}
else {
else
{
return distributor_GradeRepository.Insert(demodel) > 0;
}
}
......@@ -836,16 +857,20 @@ namespace Mall.Module.User
public bool DelDistributorGradeInfo(int gradeId, string uid, int mallBaseId)
{
var gmodel = distributor_GradeRepository.GetEntity(gradeId);
if (gmodel == null) {
if (gmodel == null)
{
return false;
}
if (gmodel.TenantId != Convert.ToInt32(uid)) {
if (gmodel.TenantId != Convert.ToInt32(uid))
{
return false;
}
if (gmodel.MallBaseId != mallBaseId) {
if (gmodel.MallBaseId != mallBaseId)
{
return false;
}
if (gmodel.Enabled == 1) {
if (gmodel.Enabled == 1)
{
return false;
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -931,7 +956,8 @@ namespace Mall.Module.User
public List<RB_Distributor_Info_Extend> GetDistributorInfoPageList(int pageIndex, int pageSize, out long count, RB_Distributor_Info_Extend demodel)
{
var list = distributor_InfoRepository.GetPageList(pageIndex, pageSize, out count, demodel);
if (list.Any()) {
if (list.Any())
{
//查询分销商等级
string gradeIds = string.Join(",", list.Where(x => x.GradeId > 0).Select(x => x.GradeId ?? 0).Distinct());
List<RB_Distributor_Grade_Extend> GradeList = new List<RB_Distributor_Grade_Extend>();
......@@ -942,7 +968,8 @@ namespace Mall.Module.User
//查询推荐人列表
string tjrIds = string.Join(",", list.Where(x => x.SuperiorId > 0).Select(x => x.SuperiorId ?? 0).Distinct());
List<RB_Member_User_Extend> UserList = new List<RB_Member_User_Extend>();
if (!string.IsNullOrEmpty(tjrIds)) {
if (!string.IsNullOrEmpty(tjrIds))
{
UserList = member_UserRepository.GetList(new RB_Member_User_Extend() { UserIds = tjrIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
//根据基础配置层级查询下级数量 暂放弃
......@@ -953,7 +980,8 @@ namespace Mall.Module.User
List<RB_Member_User_Extend> UserNum2List = member_UserRepository.GetDistributorReferralsNum(uids, tier: 2, tenantId: demodel.TenantId, mallBaseId: demodel.MallBaseId);//直接查询三级
List<RB_Member_User_Extend> UserNum3List = member_UserRepository.GetDistributorReferralsNum(uids, tier: 3, tenantId: demodel.TenantId, mallBaseId: demodel.MallBaseId);//直接查询三级
foreach (var item in list) {
foreach (var item in list)
{
if (item.GradeId == 0)
{
item.GradeName = "默认等级";
......@@ -966,11 +994,13 @@ namespace Mall.Module.User
{
item.SuperiorName = "总店";
}
else if (item.SuperiorId > 0) {
else if (item.SuperiorId > 0)
{
item.SuperiorName = UserList.Where(x => x.Id == item.SuperiorId).FirstOrDefault()?.Name ?? "";
}
item.OneNum = 0;
if (UserNum1List.Any()) {
if (UserNum1List.Any())
{
item.OneNum = UserNum1List.Where(x => x.SuperiorId == item.UserId).FirstOrDefault()?.ReferralsNum ?? 0;
}
item.TwoNum = 0;
......@@ -1002,7 +1032,8 @@ namespace Mall.Module.User
demodel.GradeId ??= 0;
demodel.AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Auditing;
bool flag = distributor_InfoRepository.Insert(demodel) > 0;
if (flag) {
if (flag)
{
//更新手机号码
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_User.Moblie),demodel.Mobile}
......@@ -1069,7 +1100,7 @@ namespace Mall.Module.User
/// <param name="uid"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public string SetDistributorAudit(string userIds, int type, int newGradeId,string remark, string uid, int mallBaseId)
public string SetDistributorAudit(string userIds, int type, int newGradeId, string remark, string uid, int mallBaseId)
{
var trans = distributor_InfoRepository.DbTransaction;
try
......@@ -1215,7 +1246,8 @@ namespace Mall.Module.User
bool flag = distributor_InfoRepository.Update(keyValues, wheres, trans);
}
}
else if (type == 5) {
else if (type == 5)
{
var list = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserIds = userIds, TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId });
foreach (var item in list)
{
......@@ -1425,7 +1457,8 @@ namespace Mall.Module.User
};
distributor_RemitRepository.Update(keyValues, wheres);
}
else {
else
{
return "type有误,请核实后再试";
}
return "";
......@@ -1449,14 +1482,17 @@ namespace Mall.Module.User
public string SetDistributorRemitInfo(RB_Distributor_Remit_Extend demodel)
{
var dmodel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserId = demodel.UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }).FirstOrDefault();
if (dmodel == null || dmodel.AuditStatus != Common.Enum.User.DistributorAuditStatusEnum.Audited && dmodel.Status == 1) {
if (dmodel == null || dmodel.AuditStatus != Common.Enum.User.DistributorAuditStatusEnum.Audited && dmodel.Status == 1)
{
return "分销商不存在或者分销商未审核通过";
}
if ((dmodel.CommissionWithdrawal ?? 0) < demodel.AppliedMoney) {
if ((dmodel.CommissionWithdrawal ?? 0) < demodel.AppliedMoney)
{
return "分销商剩余可提现佣金金额不足";
}
bool flag = distributor_RemitRepository.Insert(demodel) > 0;
if (flag) {
if (flag)
{
//扣除分销可提现佣金
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Info.CommissionWithdrawal), (dmodel.CommissionWithdrawal ?? 0) - (demodel.AppliedMoney??0)}
......
using Mall.Model.Entity.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.MarketingCenter
{
/// <summary>
/// 积分设置
/// </summary>
public class RB_Integral_SettingsRepository : RepositoryBase<RB_Integral_Settings>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Integral_Settings); } }
/// <summary>
/// 积分设置列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Integral_Settings> GetIntegralSettingsList(RB_Integral_Settings query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Integral_Settings.Status)}=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_Integral_Settings.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Integral_Settings.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Integral_Settings.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_Integral_Settings>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.MarketingCenter
{
/// <summary>
/// 充值设置仓储层
/// </summary>
public class RB_Recharge_SettingsRepository : RepositoryBase<RB_Recharge_Settings>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Recharge_Settings); } }
/// <summary>
/// 充值设置列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Recharge_Settings> GetRechargeSettingsList(RB_Recharge_Settings query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Recharge_Settings.Status)}=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_Recharge_Settings.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Recharge_Settings.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Recharge_Settings.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_Recharge_Settings>(builder.ToString()).ToList();
}
}
}
......@@ -12,7 +12,11 @@ namespace Mall.Repository.User
/// </summary>
public class RB_Member_BalanceRepository : RepositoryBase<RB_Member_Balance>
{
public string MemberTableName { get { return nameof(RB_Member_User); } }
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Member_Balance); } }
/// <summary>
/// 分页列表
/// </summary>
......@@ -76,5 +80,48 @@ namespace Mall.Repository.User
string sql = $@"select * from RB_Member_Balance where {where} order by Id desc";
return Get<RB_Member_Balance_Extend>(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_Balance_Extend> GetMemberBalancePageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Balance_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as MemberName FROM {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId = b.Id WHERE 1=1 ");
if (query != null)
{
if (query.Id > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.Id)}={query.Id}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.MemberName))
{
builder.Append($" AND b.{nameof(RB_Member_Balance_Extend.MemberName)} like '%{query.MemberName}%'");
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Balance_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Balance_Extend.StartDate)}','%Y-%m-%d' )");
}
if (!string.IsNullOrWhiteSpace(query.EndDate))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Balance_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Balance_Extend.EndDate)}','%Y-%m-%d' )");
}
}
return GetPage<RB_Member_Balance_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
}
}
......@@ -4,6 +4,7 @@ using System.Text;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System.Linq;
using Mall.Model.Query;
namespace Mall.Repository.User
{
......@@ -12,7 +13,11 @@ namespace Mall.Repository.User
/// </summary>
public class RB_Member_IntegralRepository : RepositoryBase<RB_Member_Integral>
{
public string MemberTableName { get { return nameof(RB_Member_User); } }
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Member_Integral); } }
/// <summary>
/// 分页列表
/// </summary>
......@@ -24,19 +29,24 @@ namespace Mall.Repository.User
public List<RB_Member_Integral_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Integral_Extend dmodel)
{
string where = " 1=1 ";
if (dmodel.TenantId > 0) {
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Member_Integral.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0) {
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Member_Integral.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0) {
if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Member_Integral.Id)}={dmodel.Id}";
}
if (dmodel.Type > 0) {
if (dmodel.Type > 0)
{
where += $@" and {nameof(RB_Member_Integral.Type)}={dmodel.Type}";
}
if (dmodel.UserId > 0) {
if (dmodel.UserId > 0)
{
where += $@" and {nameof(RB_Member_Integral.UserId)}={dmodel.UserId}";
}
......@@ -68,6 +78,10 @@ namespace Mall.Repository.User
{
where += $@" and {nameof(RB_Member_Integral.Type)}={dmodel.Type}";
}
if (dmodel.PlatformType != null && (int)dmodel.PlatformType > 0)
{
where += $@" and {nameof(RB_Member_Integral.PlatformType)}={dmodel.PlatformType}";
}
if (dmodel.UserId > 0)
{
where += $@" and {nameof(RB_Member_Integral.UserId)}={dmodel.UserId}";
......@@ -76,5 +90,89 @@ namespace Mall.Repository.User
string sql = $@"select * from RB_Member_Integral where {where} order by Id desc";
return Get<RB_Member_Integral_Extend>(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_Integral_Extend> GetRechargeRecordPageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Integral_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as MemberName FROM {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId = b.Id WHERE 1=1 ");
if (query != null)
{
if (query.Id > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.Id)}={query.Id}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.MemberName))
{
builder.Append($" AND b.{nameof(RB_Member_Integral_Extend.MemberName)} like '%{query.MemberName}%'");
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.StartDate)}','%Y-%m-%d' )");
}
if (!string.IsNullOrWhiteSpace(query.EndDate))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.EndDate)}','%Y-%m-%d' )");
}
}
return GetPage<RB_Member_Integral_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<Integral_Query> GetIntegraStatisticslList(int pageIndex, int pageSize, out long rowCount, Integral_Query query)
{
StringBuilder builder = new StringBuilder();
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.PlatformType > 0)
{
builder.Append($" AND {nameof(RB_Member_Integral_Extend.PlatformType)}={query.PlatformType}");
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
builder.Append($" AND DATE_FORMAT({nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.StartDate)}','%Y-%m-%d' )");
}
if (!string.IsNullOrWhiteSpace(query.EndDate))
{
builder.Append($" AND DATE_FORMAT({nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.EndDate)}','%Y-%m-%d' )");
}
}
string sql = @$" SELECT CreateDate,SUM(Income) as Income, SUM(Expend) as Expend from (
select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, Integral as Income, 0 as Expend from rb_member_integral where Type = 1 {builder.ToString()}
union all
select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral as Expend from rb_member_integral where Type = 2 {builder.ToString()}
) as t GROUP BY CreateDate ";
return GetPage<Integral_Query>(pageIndex, pageSize, out rowCount, sql).ToList();
}
}
}
......@@ -19,7 +19,7 @@ namespace Mall.Repository.User
public List<RB_Miniprogram_Bottomnav_Extend> GetListRepository(RB_Miniprogram_Bottomnav_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(" SELECT * FROM RB_Miniprogram_Bottomnav WHERE 1=1 ");
builder.Append(" SELECT * FROM RB_Miniprogram_Bottomnav WHERE 1=1 AND Status=0 ");
if (query != null)
{
if (query.TenantId != null && query.TenantId > 0)
......@@ -31,37 +31,8 @@ namespace Mall.Repository.User
builder.AppendFormat(" AND MallBaseId={0} ", query.MallBaseId);
}
}
builder.Append(" ORDER BY TagSort ");
return Get<RB_Miniprogram_Bottomnav_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 获取小程序分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Miniprogram_Bottomnav_Extend> GetPageListRepository(int pageIndex, int pageSize, out long rowCount, RB_Miniprogram_Bottomnav_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(@"
SELECT A.*,B.Account,B.MobilePhone
FROM RB_Miniprogram_Bottomnav AS A LEFT JOIN RB_Tenant AS B ON A.TenantId=B.TenantId
WHERE 1=1 ");
if (query != null)
{
if (query.Status >= 0)
{
builder.AppendFormat(" AND A.Status={0} ", query.Status);
}
if (query.TenantId != null && query.TenantId > 0)
{
builder.AppendFormat(" AND A.TenantId={0} ", query.TenantId);
}
}
return GetPage<RB_Miniprogram_Bottomnav_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User;
using Mall.Model.Query;
using Mall.Module.MarketingCenter;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Mall.WebApi.Controllers.MarketingCenter
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class IntegralController : BaseController
{
private IntegralModule IntegralModule = new IntegralModule();
#region 积分设置
/// <summary>
/// 获取积分设置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetIntegralSettingsList()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Integral_Settings>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var oldLogisticsModel = IntegralModule.GetIntegralSettingsList(query).FirstOrDefault();
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_Integral_Settings();
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 保存积分设置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult AddOrUpdateIntegralSettings()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Integral_Settings>(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;
}
query.UpdateDate = System.DateTime.Now;
bool result = IntegralModule.AddOrUpdateIntegralSettings(query);
if (result)
{
return ApiResult.Success("积分设置保存成功");
}
else
{
return ApiResult.Failed("积分设置保存失败");
}
}
}
#endregion
#region 积分记录
/// <summary>
/// 充值方案列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetRechargeRulesPage()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_Member_Integral_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Integral_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetRechargeRecordPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
CreateDate = x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"),
x.MemberName,
x.Integral,
x.Description,
x.Remarks,
RecordTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.Type)
});
return ApiResult.Success("", pagelist);
}
#endregion
#region 数据统计- 积分收支
/// <summary>
/// 积分收支
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetIntegraStatisticslList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
Integral_Query demodel = JsonConvert.DeserializeObject<Integral_Query>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetIntegraStatisticslList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.CreateDate,
x.Income,
x.Expend
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 积分收支统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTotalIntegral()
{
var parms = RequestParm;
RB_Member_Integral_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Integral_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetTotalIntegral(demodel);
Integral_Query model = new Integral_Query();
if (list != null && list.Any())
{
model.Income = list.Where(x => x.Type == Common.Enum.MarketingCenter.RecordTypeEnum.Income).Sum(x => x.Integral ?? 0).ToString();
model.Expend = list.Where(x => x.Type == Common.Enum.MarketingCenter.RecordTypeEnum.Expend).Sum(x => x.Integral ?? 0).ToString();
}
return ApiResult.Success("", new { model.Income, model.Expend });
}
#endregion
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.BaseSetUp;
using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User;
using Mall.Module.MarketingCenter;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Mall.WebApi.Controllers.MarketingCenter
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class RechargeController : BaseController
{
private RechargeModule rechargeModule = new RechargeModule();
#region 充值规则设置
/// <summary>
/// 充值方案列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetRechargeRulesPage()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_Recharge_Rules_Extend demodel = JsonConvert.DeserializeObject<RB_Recharge_Rules_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = rechargeModule.GetRechargeRulesPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ID,
CreateDate = x.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
x.GiveIntegral,
x.GiveMoney,
x.Money,
x.Name
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取详情
/// </summary>
/// <returns></returns>
public ApiResult GetRechargeRules()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Recharge_Rules_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var oldLogisticsModel = rechargeModule.GetRechargeRulesList(query).FirstOrDefault();
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_Recharge_Rules_Extend();
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 保存充值方案
/// </summary>
/// <returns></returns>
public ApiResult AddOrUpdateRechargeRules()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Recharge_Rules_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.Money == 0)
{
return ApiResult.Failed("请输入充值金额");
}
if (query.ID == 0)
{
query.CreateDate = System.DateTime.Now;
}
query.UpdateDate = System.DateTime.Now;
bool result = rechargeModule.AddOrUpdateRechargeRules(query);
if (result)
{
return ApiResult.Success("充值方案保存成功");
}
else
{
return ApiResult.Failed("充值方案保存失败");
}
}
}
/// <summary>
/// 删除充值方案
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelRules()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int Id = parmsJob.GetInt("Id", 0);
if (Id <= 0)
{
return ApiResult.Failed("请传递参数");
}
bool flag = rechargeModule.DelRechargeRules(Id, UserInfo.TenantId, parms.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
#endregion
#region 充值设置
/// <summary>
/// 获取详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetRechargeSettingsList()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Recharge_Settings>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var oldLogisticsModel = rechargeModule.GetRechargeSettingsList(query).FirstOrDefault();
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_Recharge_Settings();
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 保存充值方案
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult AddOrUpdateRechargeSettings()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_Recharge_Settings>(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;
}
query.UpdateDate = System.DateTime.Now;
bool result = rechargeModule.AddOrUpdateRechargeSettings(query);
if (result)
{
return ApiResult.Success("充值设置保存成功");
}
else
{
return ApiResult.Failed("充值设置保存失败");
}
}
}
#endregion
#region 余额收支
/// <summary>
/// 余额收支列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberBalancePageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_Member_Balance_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Balance_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = rechargeModule.GetMemberBalancePageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
CreateDate = x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"),
x.MemberName,
Balance = x.Balance ?? 0,
x.Description,
x.Remarks,
RecordTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.Type)
});
return ApiResult.Success("", pagelist);
}
#endregion
}
}
\ No newline at end of file
......@@ -293,9 +293,8 @@ namespace Mall.WebApi.Controllers.User
var extModel = JsonConvert.DeserializeObject<RB_MiniProgram_Extend>(RequestParm.msg.ToString());
extModel.MallBaseId = RequestParm.MallBaseId;
extModel.TenantId = RequestParm.TenantId;
var flag = programModule.SetMiniProgramMallTagModule(extModel);
var flag = programModule.SetMiniProgramMallTagModule(extModel, isUpdateBasic: true);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
......@@ -318,7 +317,8 @@ namespace Mall.WebApi.Controllers.User
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var MallBaseId = parms.GetInt("MallBaseId", 0);
var extModel = programModule.GetMiniProgramModule(MallBaseId);
int isGetNav = parms.GetInt("isGetNav", 0);
var extModel = programModule.GetMiniProgramModule(MallBaseId,isGetNav:isGetNav);
return ApiResult.Success(data: extModel);
}
......
......@@ -396,7 +396,8 @@ namespace Mall.WebApi.Controllers.MallBase
}
var model = userModule.GetMemberGradeInfo(GradeId);
return ApiResult.Success("", new {
return ApiResult.Success("", new
{
model.Id,
model.Name,
model.Grade,
......@@ -572,7 +573,7 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.ParamIsNull("请传递用户id");
}
if (demodel.Type != 1 && demodel.Type != 2)
if ((int)demodel.Type != 1 && (int)demodel.Type != 2)
{
return ApiResult.ParamIsNull("请选择充值/扣除");
}
......@@ -586,6 +587,10 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
demodel.CreateDate = DateTime.Now;
if (demodel.PlatformType == null)
{
demodel.PlatformType = Common.Enum.MarketingCenter.PlatformTypeEnum.WeChat;
}
bool flag = userModule.SetMemberIntegralInfo(demodel);
if (flag)
{
......@@ -645,7 +650,7 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.ParamIsNull("请传递用户id");
}
if (demodel.Type != 1 && demodel.Type != 2)
if ((int)demodel.Type != 1 && (int)demodel.Type != 2)
{
return ApiResult.ParamIsNull("请选择充值/扣除");
}
......@@ -1144,7 +1149,8 @@ namespace Mall.WebApi.Controllers.MallBase
}
var model = userModule.GetDistributorGradeInfo(GradeId);
return ApiResult.Success("", new {
return ApiResult.Success("", new
{
model.Id,
model.Name,
model.Grade,
......@@ -1206,11 +1212,14 @@ namespace Mall.WebApi.Controllers.MallBase
}
}
var model = userModule.GetDistributorBasicsInfo(re.uid, re.MallBaseId);
if (model == null) {
if (model == null)
{
return ApiResult.ParamIsNull("请先配置分销商基础信息");
}
switch (model.DistributorTier) {
case 0: demodel.OneCommission = 0;
switch (model.DistributorTier)
{
case 0:
demodel.OneCommission = 0;
demodel.TwoCommission = 0;
demodel.ThreeCommission = 0;
break;
......@@ -1237,7 +1246,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -1283,11 +1293,13 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelDistributorGradeInfo() {
public ApiResult DelDistributorGradeInfo()
{
var re = RequestParm;
var parms = JObject.Parse(re.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0) {
if (GradeId <= 0)
{
return ApiResult.ParamIsNull("请传递等级id");
}
......@@ -1296,7 +1308,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -1412,17 +1425,22 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorInfo() {
public ApiResult SetDistributorInfo()
{
var req = RequestParm;
RB_Distributor_Info_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Info_Extend>(req.msg.ToString());
if ((demodel.UserId ?? 0) <= 0) {
if ((demodel.UserId ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递用户id");
}
if (demodel.IsFormSelfApplication == 1) {
if (string.IsNullOrEmpty(demodel.Name)) {
if (demodel.IsFormSelfApplication == 1)
{
if (string.IsNullOrEmpty(demodel.Name))
{
return ApiResult.ParamIsNull("请传递姓名");
}
if (string.IsNullOrEmpty(demodel.Mobile)) {
if (string.IsNullOrEmpty(demodel.Mobile))
{
return ApiResult.ParamIsNull("请传递手机号码");
}
}
......@@ -1434,7 +1452,8 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.Status = 0;
//验证用户是否已是分销商
string msg = userModule.ValidateDistributorInfo(demodel.UserId, demodel.TenantId, demodel.MallBaseId);
if (msg != "") {
if (msg != "")
{
return ApiResult.Failed(msg);
}
......@@ -1443,7 +1462,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -1453,18 +1473,22 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorAudit() {
public ApiResult SetDistributorAudit()
{
var re = RequestParm;
var parms = JObject.Parse(re.msg.ToString());
string UserIds = parms.GetStringValue("UserIds");
int Type = parms.GetInt("Type", 0);//1审核通过 2审核拒绝 3删除分销 4修改等级 5修改备注
int NewGradeId = parms.GetInt("NewGradeId", 0);
string Remark = parms.GetStringValue("Remark");
if (string.IsNullOrEmpty(UserIds)) {
if (string.IsNullOrEmpty(UserIds))
{
return ApiResult.ParamIsNull("请传递用户id");
}
if (Type == 4) {
if (NewGradeId <= 0) {
if (Type == 4)
{
if (NewGradeId <= 0)
{
return ApiResult.ParamIsNull("请传递分销商等级");
}
}
......@@ -1559,29 +1583,29 @@ namespace Mall.WebApi.Controllers.MallBase
case 1:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Source.GetEnumName()) { }); break;
case 2:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.UserId??0).ToString()) { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: (item.UserId ?? 0).ToString()) { }); break;
case 3:
datarow.ExcelRows.Add(new ExcelColumn(value: item.NickName??"") { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: item.NickName ?? "") { }); break;
case 4:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Name??"") { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: item.Name ?? "") { }); break;
case 5:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Mobile??"") { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: item.Mobile ?? "") { }); break;
case 6:
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")) { }); break;
case 7:
datarow.ExcelRows.Add(new ExcelColumn(value: item.AuditStatus.GetEnumName()) { }); break;
case 8:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.TotalCommission??0).ToString()) { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: (item.TotalCommission ?? 0).ToString()) { }); break;
case 9:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.CommissionWithdrawal??0).ToString()) { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: (item.CommissionWithdrawal ?? 0).ToString()) { }); break;
case 10:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.OrderNum ?? 0).ToString()) { }); break;
case 11:
datarow.ExcelRows.Add(new ExcelColumn(value: "一级:" + (item.OneNum ?? 0) + " 二级:" + (item.TwoNum ?? 0) + " 三级:" + (item.ThreeNum ?? 0)) { }); break;
case 12:
datarow.ExcelRows.Add(new ExcelColumn(value: item.SuperiorName??"") { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: item.SuperiorName ?? "") { }); break;
case 13:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Remark??"") { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: item.Remark ?? "") { }); break;
}
}
slist.Add(datarow);
......@@ -1672,21 +1696,26 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorRemitInfo() {
public ApiResult SetDistributorRemitInfo()
{
var req = RequestParm;
RB_Distributor_Remit_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Remit_Extend>(req.msg.ToString());
if ((demodel.UserId ?? 0) <= 0) {
if ((demodel.UserId ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递用户id");
}
if ((demodel.WithdrawalWay ?? 0) <= 0) {
if ((demodel.WithdrawalWay ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递提现方式");
}
if ((demodel.AppliedMoney ?? 0) <= 0) {
if ((demodel.AppliedMoney ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请输入提现金额");
}
var basmodel = userModule.GetDistributorBasicsInfo(req.uid, req.MallBaseId);
decimal fee = (demodel.AppliedMoney ?? 0) * (basmodel?.WithdrawFee ?? 0) / 100;
if (demodel.Fee != fee) {
if (demodel.Fee != fee)
{
return ApiResult.ParamIsNull("手续费计算有误,请刷新后再试");
}
......@@ -1697,7 +1726,7 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.RemitMoney ??= 0;
demodel.OrderNum = DateTime.Now.ToString("yyyyMMddHHmmssffff");
demodel.CreateDate = DateTime.Now;
string msg= userModule.SetDistributorRemitInfo(demodel);
string msg = userModule.SetDistributorRemitInfo(demodel);
if (msg == "")
{
return ApiResult.Success();
......@@ -1827,7 +1856,7 @@ namespace Mall.WebApi.Controllers.MallBase
case 5:
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")) { }); break;
case 6:
datarow.ExcelRows.Add(new ExcelColumn(value: item.BankName??"") { }); break;
datarow.ExcelRows.Add(new ExcelColumn(value: item.BankName ?? "") { }); break;
case 7:
datarow.ExcelRows.Add(new ExcelColumn(value: item.AccountNumber) { }); break;
case 8:
......
......@@ -15,6 +15,7 @@
<ProjectReference Include="..\Mall.DataHelper\Mall.DataHelper.csproj" />
<ProjectReference Include="..\Mall.Model\Mall.Model.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" />
<ProjectReference Include="..\Mall.Module.User\Mall.Module.User.csproj" />
<ProjectReference Include="..\Mall.ThirdCore\Mall.ThirdCore.csproj" />
......
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