Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
ShopERP
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杜龙飞
ShopERP
Commits
f281839c
Commit
f281839c
authored
Sep 05, 2025
by
PC-20220610JUCQ\Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
<develop>:(Web 端)<无> ShopERP 项目 WebAPI 接口代码提交。
parent
661988fe
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
165 additions
and
15 deletions
+165
-15
CoreCms.Net.IServices/Order/ICoreCmsOrderServices.cs
+6
-0
CoreCms.Net.Model/CoreCms.Net.Model.csproj
+1
-1
CoreCms.Net.Model/Entities/Order/CoreCmsOrder.cs
+8
-2
CoreCms.Net.Model/ViewModels/DTO/OrderInfo/CreateOrderDto.cs
+28
-0
CoreCms.Net.Services/Cart/CoreCmsCartServices.cs
+36
-0
CoreCms.Net.Services/Order/CoreCmsOrderServices.cs
+72
-0
CoreCms.Net.Web.WebApi/Controllers/OrderController.cs
+12
-9
CoreCms.Net.Web.WebApi/Doc.xml
+2
-3
No files found.
CoreCms.Net.IServices/Order/ICoreCmsOrderServices.cs
View file @
f281839c
...
...
@@ -8,6 +8,7 @@ using CoreCms.Net.Model.ViewModels.Basics;
using
CoreCms.Net.Model.ViewModels.UI
;
using
CoreCms.Net.Model.ViewModels.DTO
;
using
SqlSugar
;
using
Microsoft.AspNetCore.Mvc
;
namespace
CoreCms.Net.IServices
{
...
...
@@ -16,6 +17,11 @@ namespace CoreCms.Net.IServices
/// </summary>
public
interface
ICoreCmsOrderServices
:
IBaseServices
<
CoreCmsOrder
>
{
Task
<
WebApiCallBack
>
CreateOrder
([
FromBody
]
CreateOrderDto
inputParam
);
/// <summary>
/// 查询团购秒杀下单数量
/// </summary>
...
...
CoreCms.Net.Model/CoreCms.Net.Model.csproj
View file @
f281839c
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
...
...
CoreCms.Net.Model/Entities/Order/CoreCmsOrder.cs
View file @
f281839c
...
...
@@ -28,8 +28,14 @@ namespace CoreCms.Net.Model.Entities
public
System
.
String
orderId
{
get
;
set
;
}
/// <summary>
/// 平台订单号
/// </summary>
public
System
.
String
platOrderID
{
get
;
set
;
}
/// <summary>
/// 商品总价
/// </summary>
...
...
CoreCms.Net.Model/ViewModels/DTO/OrderInfo/CreateOrderDto.cs
0 → 100644
View file @
f281839c
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
;
}
}
}
}
CoreCms.Net.Services/Cart/CoreCmsCartServices.cs
View file @
f281839c
...
...
@@ -19,6 +19,8 @@ using Microsoft.Extensions.Hosting;
using
Newtonsoft.Json
;
using
Newtonsoft.Json.Linq
;
using
SqlSugar
;
using
Microsoft.AspNetCore.Mvc
;
using
EnumsNET
;
namespace
CoreCms.Net.Services
...
...
@@ -79,6 +81,40 @@ namespace CoreCms.Net.Services
_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
设置购物车商品数量
====================================================
/// <summary>
/// 设置购物车商品数量
...
...
CoreCms.Net.Services/Order/CoreCmsOrderServices.cs
View file @
f281839c
...
...
@@ -26,6 +26,7 @@ using Microsoft.OpenApi.Validations;
using
Newtonsoft.Json
;
using
Newtonsoft.Json.Linq
;
using
SqlSugar
;
using
Microsoft.AspNetCore.Mvc
;
namespace
CoreCms.Net.Services
...
...
@@ -127,6 +128,75 @@ namespace CoreCms.Net.Services
_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
查询团购秒杀下单数量
/// <summary>
...
...
@@ -2384,6 +2454,8 @@ namespace CoreCms.Net.Services
return
jm
;
}
#
endregion
}
...
...
CoreCms.Net.Web.WebApi/Controllers/OrderController.cs
View file @
f281839c
...
...
@@ -28,12 +28,12 @@ namespace CoreCms.Net.Web.WebApi.Controllers
[
ApiController
]
public
class
OrderController
:
ControllerBase
{
private
readonly
ICoreOrderServices
_orderServices
;
private
readonly
ICore
Cms
OrderServices
_orderServices
;
/// <summary>
/// 构造函数
/// </summary>
public
OrderController
(
ICoreOrderServices
orderServices
)
public
OrderController
(
ICore
Cms
OrderServices
orderServices
)
{
_orderServices
=
orderServices
;
}
...
...
@@ -42,21 +42,25 @@ namespace CoreCms.Net.Web.WebApi.Controllers
/// <summary>
/// 创建订单
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
async
Task
<
WebApiCallBack
>
CreateOrder
([
FromBody
]
CreateOrder
entity
,
CancellationToken
cancellationToken
)
public
async
Task
<
WebApiCallBack
>
CreateOrder
([
FromBody
]
CreateOrder
Dto
inpuParam
)
{
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
.
msg
=
"平台订单号不能为空!"
;
return
jm
;
}
jm
=
await
_orderServices
.
CreateOrderAsync
(
entity
,
cancellationToken
);
return
jm
;
return
await
_orderServices
.
CreateOrder
(
inpuParam
);
}
#
endregion
...
...
@@ -77,9 +81,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
return
jm
;
}
var
ids
=
entity
.
id
.
Split
(
","
);
//jm = await _orderServices.CancelOrder(ids, _user.ID
);
jm
=
await
_orderServices
.
CancelOrder
(
ids
);
return
jm
;
}
#
endregion
...
...
CoreCms.Net.Web.WebApi/Doc.xml
View file @
f281839c
...
...
@@ -14,16 +14,15 @@
订单调用接口数据
</summary>
</member>
<member
name=
"M:CoreCms.Net.Web.WebApi.Controllers.OrderController.#ctor(CoreCms.Net.IServices.
Order.ICore
OrderServices)"
>
<member
name=
"M:CoreCms.Net.Web.WebApi.Controllers.OrderController.#ctor(CoreCms.Net.IServices.
ICoreCms
OrderServices)"
>
<summary>
构造函数
</summary>
</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.CreateOrder
Dto
)"
>
<summary>
创建订单
</summary>
<returns></returns>
</member>
<member
name=
"M:CoreCms.Net.Web.WebApi.Controllers.OrderController.CancelOrder(CoreCms.Net.Model.FromBody.FMStringId)"
>
<summary>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment