111 lines
3.7 KiB
C#
111 lines
3.7 KiB
C#
using MyCode.Project.Domain.Message.Act.Common;
|
||
using MyCode.Project.Domain.Message.Common;
|
||
using MyCode.Project.Domain.Message.Request.Goods;
|
||
using MyCode.Project.Domain.Message.Response.Goods;
|
||
using MyCode.Project.Domain.Message.Response.Inventory;
|
||
using MyCode.Project.Infrastructure.Common;
|
||
using MyCode.Project.Infrastructure.Exceptions;
|
||
using MyCode.Project.Services;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Web.Http;
|
||
|
||
namespace MyCode.Project.WebApi.Areas.Wechat.Controllers
|
||
{
|
||
public class GoodsController : BaseWechatController
|
||
{
|
||
private IGoodsService _goodsService;
|
||
private IShopInventoryAmountService _shopInventoryAmountService;
|
||
private IOnlineGoodsService _onlineGoodsService;
|
||
|
||
/// <summary>
|
||
/// 初始化一个<see cref="GoodsController"/>类型的实例
|
||
/// </summary>
|
||
public GoodsController(IGoodsService goodsService,
|
||
IShopInventoryAmountService shopInventoryAmountService,
|
||
IOnlineGoodsService onlineGoodsService)
|
||
{
|
||
_goodsService = goodsService;
|
||
_shopInventoryAmountService = shopInventoryAmountService;
|
||
_onlineGoodsService = onlineGoodsService;
|
||
}
|
||
|
||
#region GetSellsPageList(销售商品列表)(已优化)
|
||
/// <summary>
|
||
/// 销售商品列表
|
||
/// </summary>
|
||
/// <param name="search">查询条件</param>
|
||
/// <returns></returns>
|
||
|
||
[HttpPost]
|
||
public PageResult<GoodsStockPageListResp> GetSellsPageList(PagedSearch<GoodsStockPageListQuery> search)
|
||
{
|
||
return this._goodsService.GetSellsPageList(search, this.CurrentLogin.MerchantId);
|
||
}
|
||
#endregion
|
||
|
||
#region GetBasDeptList(获取商品分类列表)
|
||
/// <summary>
|
||
/// 获取商品分类列表
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
|
||
[HttpGet]
|
||
public List<DeptListResp> GetBasDeptList()
|
||
{
|
||
return this._goodsService.GetBasDeptList();
|
||
}
|
||
#endregion
|
||
|
||
#region GetShopInventoryAmount(根据店铺id返回店铺的库存)
|
||
/// <summary>
|
||
/// 根据店铺id返回店铺的库存
|
||
/// </summary>
|
||
/// <param name="shopId"></param>
|
||
/// <returns></returns>
|
||
[HttpGet]
|
||
public ShopInventoryAmountResp GetShopInventoryAmount(Guid? shopId)
|
||
{
|
||
if (shopId == null) { throw new BaseException("店铺没传"); }
|
||
|
||
return _shopInventoryAmountService.GetShopInventoryAmount(shopId.Value);
|
||
}
|
||
#endregion
|
||
|
||
#region GetGoodsStock(得到商品库存信息)
|
||
/// <summary>
|
||
/// 得到商品库存信息
|
||
/// </summary>
|
||
/// <param name="shopId">店铺id</param>
|
||
/// <param name="key">搜索关键字</param>
|
||
/// <returns></returns>
|
||
[HttpPost]
|
||
public GoodsStockResp GetGoodsStock(GetGoodsStockRequest request)
|
||
{
|
||
return _onlineGoodsService.GetGoodsStock(request);
|
||
}
|
||
#endregion
|
||
|
||
#region GetGoodsStockList(得到商品库存信息)
|
||
/// <summary>
|
||
/// 得到商品库存信息,-1表示没有找到数据;0表示没有库存;其它则返回正常的列表
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost]
|
||
public dynamic GetGoodsStockList(GetGoodsStockRequest request)
|
||
{
|
||
var list = _onlineGoodsService.GetGoodsStockList(request);
|
||
|
||
//-1表示找不到
|
||
if (list == null || list.Count == 0) { return -1; }
|
||
|
||
list.RemoveAll(p => p.StockQty == 0);
|
||
|
||
if (list == null || list.Count == 0) { return 0; }
|
||
|
||
return list;
|
||
}
|
||
#endregion
|
||
}
|
||
}
|