<develop>:(Web 端)<无> ShopERP 项目 WebAPI 接口代码提交。

parent 661988fe
...@@ -8,6 +8,7 @@ using CoreCms.Net.Model.ViewModels.Basics; ...@@ -8,6 +8,7 @@ using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Model.ViewModels.DTO; using CoreCms.Net.Model.ViewModels.DTO;
using SqlSugar; using SqlSugar;
using Microsoft.AspNetCore.Mvc;
namespace CoreCms.Net.IServices namespace CoreCms.Net.IServices
{ {
...@@ -16,6 +17,11 @@ namespace CoreCms.Net.IServices ...@@ -16,6 +17,11 @@ namespace CoreCms.Net.IServices
/// </summary> /// </summary>
public interface ICoreCmsOrderServices : IBaseServices<CoreCmsOrder> public interface ICoreCmsOrderServices : IBaseServices<CoreCmsOrder>
{ {
Task<WebApiCallBack> CreateOrder([FromBody] CreateOrderDto inputParam);
/// <summary> /// <summary>
/// 查询团购秒杀下单数量 /// 查询团购秒杀下单数量
/// </summary> /// </summary>
......
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
......
...@@ -28,8 +28,14 @@ namespace CoreCms.Net.Model.Entities ...@@ -28,8 +28,14 @@ namespace CoreCms.Net.Model.Entities
public System.String orderId { get; set; } public System.String orderId { get; set; }
/// <summary>
/// 平台订单号
/// </summary>
public System.String platOrderID { get; set; }
/// <summary> /// <summary>
/// 商品总价 /// 商品总价
/// </summary> /// </summary>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreCms.Net.Model.ViewModels.DTO
{
public class CreateOrderDto
{
public int UserId { get; set; }
/// <summary>
/// 平台订单号
/// </summary>
public string platOrderID { get; set; }
public List<OrderItemDto> Items { get; set; }
public class OrderItemDto
{
public int GoodsId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
}
}
}
...@@ -19,6 +19,8 @@ using Microsoft.Extensions.Hosting; ...@@ -19,6 +19,8 @@ using Microsoft.Extensions.Hosting;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using SqlSugar; using SqlSugar;
using Microsoft.AspNetCore.Mvc;
using EnumsNET;
namespace CoreCms.Net.Services namespace CoreCms.Net.Services
...@@ -79,6 +81,40 @@ namespace CoreCms.Net.Services ...@@ -79,6 +81,40 @@ namespace CoreCms.Net.Services
_pinTuanRecordServices = pinTuanRecordServices; _pinTuanRecordServices = pinTuanRecordServices;
} }
/// <summary>
/// 创建订单
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<WebApiCallBack> CreateOrder([FromBody] CreateOrderDto input)
{
var jm = new WebApiCallBack();
using var container = _serviceProvider.CreateScope();
var orderServices = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
var productsServices = container.ServiceProvider.GetService<ICoreCmsProductsServices>();
var goodsServices = container.ServiceProvider.GetService<ICoreCmsGoodsServices>();
//获取数据
if (input.Items.Count <= 0)
{
jm.msg = "请选择货品";
return jm;
}
if (input.Items.Sum(a => a.Quantity) <= 0)
{
jm.msg = "请选择货品";
return jm;
}
return jm;
}
#region 设置购物车商品数量==================================================== #region 设置购物车商品数量====================================================
/// <summary> /// <summary>
/// 设置购物车商品数量 /// 设置购物车商品数量
......
...@@ -26,6 +26,7 @@ using Microsoft.OpenApi.Validations; ...@@ -26,6 +26,7 @@ using Microsoft.OpenApi.Validations;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using SqlSugar; using SqlSugar;
using Microsoft.AspNetCore.Mvc;
namespace CoreCms.Net.Services namespace CoreCms.Net.Services
...@@ -127,6 +128,75 @@ namespace CoreCms.Net.Services ...@@ -127,6 +128,75 @@ namespace CoreCms.Net.Services
_redisOperationRepository = redisOperationRepository; _redisOperationRepository = redisOperationRepository;
} }
#region 创建订单
/// <summary>
/// 创建订单
/// </summary>
/// <param name="inputParam"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<WebApiCallBack> CreateOrder([FromBody] CreateOrderDto inputParam)
{
var jm = new WebApiCallBack();
jm.status = false;
jm.data = inputParam.platOrderID;
var result=_dal.QueryByClause(a=>a.platOrderID==inputParam.platOrderID);
if (result != null)
{
jm.msg = "订单号已经存在!";
return jm;
}
string orderId = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.订单编号);
var orderMain = new CoreCmsOrder
{
orderId = orderId,
platOrderID = inputParam.platOrderID,
userId = inputParam.UserId,
createTime = DateTime.Now,
status = 0, // 待付款
payStatus = 0, // 未支付
shipStatus = 0, // 未发货
goodsAmount = inputParam.Items.Sum(i => i.Price * i.Quantity),
orderAmount = inputParam.Items.Sum(i => i.Price * i.Quantity)
};
var orderItems = inputParam.Items.Select(item => new CoreCmsOrderItem
{
orderId = orderId,
goodsId = item.GoodsId,
name = item.Name,
price = item.Price,
nums = item.Quantity,
imageUrl="/"
}).ToList();
try
{
await _dal.InsertAsync(orderMain);
await _orderItemServices.InsertAsync(orderItems);
jm.status = true;
}
catch
{
jm.status = false;
jm.msg = GlobalErrorCodeVars.Code10000;
}
jm.msg = GlobalConstVars.CreateSuccess;
return jm;
}
#endregion
#region 查询团购秒杀下单数量 #region 查询团购秒杀下单数量
/// <summary> /// <summary>
...@@ -2384,6 +2454,8 @@ namespace CoreCms.Net.Services ...@@ -2384,6 +2454,8 @@ namespace CoreCms.Net.Services
return jm; return jm;
} }
#endregion #endregion
} }
......
...@@ -28,12 +28,12 @@ namespace CoreCms.Net.Web.WebApi.Controllers ...@@ -28,12 +28,12 @@ namespace CoreCms.Net.Web.WebApi.Controllers
[ApiController] [ApiController]
public class OrderController : ControllerBase public class OrderController : ControllerBase
{ {
private readonly ICoreOrderServices _orderServices; private readonly ICoreCmsOrderServices _orderServices;
/// <summary> /// <summary>
/// 构造函数 /// 构造函数
/// </summary> /// </summary>
public OrderController(ICoreOrderServices orderServices) public OrderController(ICoreCmsOrderServices orderServices)
{ {
_orderServices = orderServices; _orderServices = orderServices;
} }
...@@ -42,21 +42,25 @@ namespace CoreCms.Net.Web.WebApi.Controllers ...@@ -42,21 +42,25 @@ namespace CoreCms.Net.Web.WebApi.Controllers
/// <summary> /// <summary>
/// 创建订单 /// 创建订单
/// </summary> /// </summary>
/// <returns></returns>
[HttpPost] [HttpPost]
public async Task<WebApiCallBack> CreateOrder([FromBody] CreateOrder entity, CancellationToken cancellationToken) public async Task<WebApiCallBack> CreateOrder([FromBody] CreateOrderDto inpuParam)
{ {
var jm = new WebApiCallBack(); var jm = new WebApiCallBack();
if (string.IsNullOrEmpty(entity.platOrderID)) if (inpuParam == null)
{
jm.data = 10000;
jm.msg = "参数不能为空!";
return jm;
}
if (string.IsNullOrEmpty(inpuParam.platOrderID))
{ {
jm.data = 10000; jm.data = 10000;
jm.msg = "平台订单号不能为空!"; jm.msg = "平台订单号不能为空!";
return jm; return jm;
} }
jm = await _orderServices.CreateOrderAsync(entity, cancellationToken); return await _orderServices.CreateOrder(inpuParam);
return jm;
} }
#endregion #endregion
...@@ -77,9 +81,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers ...@@ -77,9 +81,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
return jm; return jm;
} }
var ids = entity.id.Split(","); var ids = entity.id.Split(",");
//jm = await _orderServices.CancelOrder(ids, _user.ID); jm = await _orderServices.CancelOrder(ids);
return jm; return jm;
} }
#endregion #endregion
......
...@@ -14,16 +14,15 @@ ...@@ -14,16 +14,15 @@
订单调用接口数据 订单调用接口数据
</summary> </summary>
</member> </member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.OrderController.#ctor(CoreCms.Net.IServices.Order.ICoreOrderServices)"> <member name="M:CoreCms.Net.Web.WebApi.Controllers.OrderController.#ctor(CoreCms.Net.IServices.ICoreCmsOrderServices)">
<summary> <summary>
构造函数 构造函数
</summary> </summary>
</member> </member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.OrderController.CreateOrder(CoreCms.Net.Model.ViewModels.DTO.CreateOrder,System.Threading.CancellationToken)"> <member name="M:CoreCms.Net.Web.WebApi.Controllers.OrderController.CreateOrder(CoreCms.Net.Model.ViewModels.DTO.CreateOrderDto)">
<summary> <summary>
创建订单 创建订单
</summary> </summary>
<returns></returns>
</member> </member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.OrderController.CancelOrder(CoreCms.Net.Model.FromBody.FMStringId)"> <member name="M:CoreCms.Net.Web.WebApi.Controllers.OrderController.CancelOrder(CoreCms.Net.Model.FromBody.FMStringId)">
<summary> <summary>
......
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