Commit 2e1eea62 authored by 黄奎's avatar 黄奎

统计修改

parent 1a955160
......@@ -408,5 +408,10 @@ namespace Mall.Model.Entity.User
/// 授权数据
/// </summary>
public string AuthData { get; set; }
/// <summary>
/// 是否回收
/// </summary>
public int Is_Recycle { get; set; }
}
}
......@@ -12,6 +12,15 @@ namespace Mall.Model.Extend.User
[DB(ConnectionName = "DefaultConnection")]
public class RB_MiniProgram_Extend : Model.Entity.User.RB_MiniProgram
{
/// <summary>
/// 用户数量
/// </summary>
public int UserNum { get; set; }
/// <summary>
/// 订单数量
/// </summary>
public int OrderNum { get; set; }
/// <summary>
/// 账号
......
......@@ -517,6 +517,40 @@ namespace Mall.Module.User
return flag;
}
/// <summary>
/// 更新小程序状态
/// </summary>
/// <param name="MallBaseId">小程序Id</param>
/// <param name="Status">小程序状态</param>
/// <returns></returns>
public bool SetMiniProgramStatusModule(object MallBaseId, int Status)
{
bool flag = false;
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_MiniProgram_Extend.Status),Status},
};
flag = programRepository.Update(fileds, new WhereHelper(nameof(RB_MiniProgram_Extend.MallBaseId), MallBaseId));
return flag;
}
/// <summary>
/// 更新小程序回收状态
/// </summary>
/// <param name="MallBaseId">小程序Id</param>
/// <param name="Is_Recycle">小程序回收状态</param>
/// <returns></returns>
public bool SetMiniProgramRecycleModule(object MallBaseId, int Is_Recycle)
{
bool flag = false;
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_MiniProgram_Extend.Is_Recycle),Is_Recycle},
};
flag = programRepository.Update(fileds, new WhereHelper(nameof(RB_MiniProgram_Extend.MallBaseId), MallBaseId));
return flag;
}
/// <summary>
/// 修改小程序商城风格信息
/// </summary>
......@@ -1900,6 +1934,16 @@ namespace Mall.Module.User
#region 首页统计
/// <summary>
/// 获取商城的总订单和总用户
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public MallIndexStatistics GetMallUserAndOrderModule(StatisticsQuery query)
{
return mallStatisticsRepository.GetMallUserAndOrderRepository(query);
}
/// <summary>
/// 订单数量、商品、用户统计
/// </summary>
......
......@@ -15,6 +15,46 @@ namespace Mall.Repository.User
/// </summary>
public class MallStatisticsRepository : RepositoryBase<MallIndexStatistics>
{
/// <summary>
/// 获取商城的总订单和总用户
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public MallIndexStatistics GetMallUserAndOrderRepository(StatisticsQuery query)
{
MallIndexStatistics model = new MallIndexStatistics();
//总订单数
StringBuilder orderNum = new StringBuilder();
orderNum.AppendFormat("SELECT COUNT(1) AS OrderCount FROM rb_goods_order WHERE OrderStatus <> 7 ");
orderNum.AppendFormat(" AND {0}={1} ", nameof(RB_Goods_Order_Extend.TenantId), query.TenantId);
orderNum.AppendFormat(" AND {0}={1} ", nameof(RB_Goods_Order_Extend.MallBaseId), query.MallBaseId);
var orderTotal = ExecuteScalar(orderNum.ToString());
if (orderTotal != null && Convert.ToInt32(orderTotal) > 0)
{
model.TotalOrderNum = Convert.ToInt32(orderTotal);
}
//总小程序用户
StringBuilder user = new StringBuilder();
user.AppendFormat(" SELECT COUNT(1) FROM rb_member_user WHERE 1=1 ");
user.AppendFormat(" AND {0}={1} ", nameof(RB_Member_User_Extend.TenantId), query.TenantId);
user.AppendFormat(" AND {0}={1} ", nameof(RB_Member_User_Extend.MallBaseId), query.MallBaseId);
var userTotal = ExecuteScalar(user.ToString());
if (userTotal != null && Convert.ToInt32(userTotal) > 0)
{
model.UserTotalNum += Convert.ToInt32(userTotal);
}
//总后台账号
StringBuilder employee = new StringBuilder();
employee.AppendFormat(" SELECT COUNT(1) FROM rb_employee WHERE 1=1 ");
employee.AppendFormat(" AND {0}={1} ", nameof(RB_Employee_Extend.TenantId), query.TenantId);
employee.AppendFormat(" AND {0}={1} ", nameof(RB_Employee_Extend.MallBaseId), query.MallBaseId);
var employeeTotal = ExecuteScalar(employee.ToString());
if (employeeTotal != null && Convert.ToInt32(employeeTotal) > 0)
{
model.UserTotalNum += Convert.ToInt32(employeeTotal);
}
return model;
}
/// <summary>
/// 订单数量、商品、用户统计
......@@ -114,6 +154,8 @@ WHERE 1=1 AND A.ReOrderStatus IN(2,3,4) ");
return model;
}
/// <summary>
/// 销售情况统计
/// </summary>
......
......@@ -2129,7 +2129,7 @@ namespace Mall.WebApi.Controllers.MallBase
//是否删除
is_delete = miniProgram.Status,
//是否回收
is_recycle = 0,
is_recycle = miniProgram.Is_Recycle,
//是否禁用
is_disable = miniProgram.Status
},
......
......@@ -309,7 +309,20 @@ namespace Mall.WebApi.Controllers.User
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var MallBaseId = parms.GetInt("MallBaseId", 0);
int Status = parms.GetInt("Status");
var flag = programModule.SetMiniProgramModule(MallBaseId, Status);
var flag = programModule.SetMiniProgramStatusModule(MallBaseId, Status);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 更新小程序回收状态
/// </summary>
/// <returns></returns>
public ApiResult SetMiniProgramRecycle()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var MallBaseId = parms.GetInt("MallBaseId", 0);
int Is_Recycle = parms.GetInt("Is_Recycle");
var flag = programModule.SetMiniProgramRecycleModule(MallBaseId, Is_Recycle);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......@@ -437,6 +450,19 @@ namespace Mall.WebApi.Controllers.User
ResultPageModel pageModel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
var query = JsonConvert.DeserializeObject<RB_MiniProgram_Extend>(RequestParm.msg.ToString());
var list = programModule.GetMiniProgramPageListModule(pageModel.pageIndex, pageModel.pageSize, out long rowsCount, query);
if (list != null && list.Count > 0)
{
foreach (var item in list)
{
var tempModel = programModule.GetMallUserAndOrderModule(new StatisticsQuery()
{
MallBaseId = item.MallBaseId,
TenantId = Convert.ToInt32(item.TenantId),
});
item.UserNum = tempModel?.UserTotalNum ?? 0;
item.OrderNum = tempModel?.TotalOrderNum ?? 0;
}
}
pageModel.count = Convert.ToInt32(rowsCount);
pageModel.pageData = list;
return ApiResult.Success(data: pageModel);
......
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