Dockerfile

This commit is contained in:
2026-03-18 10:18:03 +08:00
parent 5c5dbc7420
commit b65f3439f3
189 changed files with 19027 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
package controller
import (
dto "assets/model/dto/asset"
service "assets/service/asset"
"context"
"gitea.com/red-future/common/beans"
)
type asset struct{}
// Asset 资产控制器
var Asset = new(asset)
// init 初始化表单配置
func init() {
}
// CreateAsset 创建资产
func (c *asset) CreateAsset(ctx context.Context, req *dto.CreateAssetReq) (res *dto.CreateAssetRes, err error) {
return service.Asset.Create(ctx, req)
}
// ListAsset 获取资产列表
func (c *asset) ListAsset(ctx context.Context, req *dto.ListAssetReq) (res *dto.ListAssetRes, err error) {
return service.Asset.List(ctx, req)
}
// GetAsset 获取资产详情
func (c *asset) GetAsset(ctx context.Context, req *dto.GetAssetReq) (res *dto.GetAssetRes, err error) {
return service.Asset.GetOne(ctx, req)
}
// GetAssetAndSuk 获取资产详情
func (c *asset) GetAssetAndSuk(ctx context.Context, req *dto.GetAssetAndSkuReq) (res *dto.GetAssetAndSkuRes, err error) {
return service.Asset.GetAssetAndSku(ctx, req)
}
// UpdateAsset 更新资产
func (c *asset) UpdateAsset(ctx context.Context, req *dto.UpdateAssetReq) (res *beans.ResponseEmpty, err error) {
err = service.Asset.Update(ctx, req)
return
}
// UpdateAssetStatus 更新资产状态
func (c *asset) UpdateAssetStatus(ctx context.Context, req *dto.UpdateAssetStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.Asset.UpdateStatus(ctx, req)
return
}
// DeleteAsset 删除资产
func (c *asset) DeleteAsset(ctx context.Context, req *dto.DeleteAssetReq) (res *beans.ResponseEmpty, err error) {
err = service.Asset.Delete(ctx, req)
return
}

View File

@@ -0,0 +1,45 @@
package controller
import (
dto "assets/model/dto/asset"
service "assets/service/asset"
"context"
"gitea.com/red-future/common/beans"
)
type assetSku struct{}
// AssetSku 资产SKU控制器
var AssetSku = new(assetSku)
// init 初始化表单配置
func init() {
}
// CreateAssetSku 创建SKU
func (c *assetSku) CreateAssetSku(ctx context.Context, req *dto.CreateAssetSkuReq) (res *dto.CreateAssetSkuRes, err error) {
return service.AssetSku.CreateAssetSku(ctx, req)
}
// UpdateAssetSku 更新SKU
func (c *assetSku) UpdateAssetSku(ctx context.Context, req *dto.UpdateAssetSkuReq) (res *beans.ResponseEmpty, err error) {
err = service.AssetSku.UpdateAssetSku(ctx, req)
return
}
// DeleteAssetSku 删除SKU
func (c *assetSku) DeleteAssetSku(ctx context.Context, req *dto.DeleteAssetSkuReq) (res *beans.ResponseEmpty, err error) {
err = service.AssetSku.DeleteAssetSku(ctx, req)
return
}
// GetAssetSku 获取SKU详情
func (c *assetSku) GetAssetSku(ctx context.Context, req *dto.GetAssetSkuReq) (res *dto.GetAssetSkuRes, err error) {
return service.AssetSku.GetAssetSku(ctx, req)
}
// ListAssetSkus 获取SKU列表
func (c *assetSku) ListAssetSkus(ctx context.Context, req *dto.ListAssetSkuReq) (res *dto.ListAssetSkuRes, err error) {
return service.AssetSku.ListAssetSkus(ctx, req)
}

View File

@@ -0,0 +1,56 @@
package controller
import (
dto "assets/model/dto/asset"
service "assets/service/asset"
"context"
"gitea.com/red-future/common/beans"
)
type category struct{}
// Category 分类控制器
var Category = new(category)
// init 初始化表单配置
func init() {
}
// GetCategory 获取分类详情
func (c *category) GetCategory(ctx context.Context, req *dto.GetCategoryReq) (res *dto.GetCategoryRes, err error) {
return service.Category.GetOne(ctx, req)
}
// ListCategory 获取分类列表
func (c *category) ListCategory(ctx context.Context, req *dto.ListCategoryReq) (res *dto.ListCategoryRes, err error) {
return service.Category.List(ctx, req)
}
// GetCategoryTree 获取分类树
func (c *category) GetCategoryTree(ctx context.Context, req *dto.GetCategoryTreeReq) (res *dto.GetCategoryTreeRes, err error) {
return service.Category.GetTree(ctx, req)
}
// CreateCategory 创建分类
func (c *category) CreateCategory(ctx context.Context, req *dto.CreateCategoryReq) (res *dto.CreateCategoryRes, err error) {
return service.Category.Create(ctx, req)
}
// UpdateCategory 更新分类
func (c *category) UpdateCategory(ctx context.Context, req *dto.UpdateCategoryReq) (res *beans.ResponseEmpty, err error) {
err = service.Category.Update(ctx, req)
return
}
// UpdateCategoryStatus 更新分类状态
func (c *category) UpdateCategoryStatus(ctx context.Context, req *dto.UpdateCategoryStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.Category.UpdateStatus(ctx, req)
return
}
// DeleteCategory 删除分类
func (c *category) DeleteCategory(ctx context.Context, req *dto.DeleteCategoryReq) (res *beans.ResponseEmpty, err error) {
err = service.Category.Delete(ctx, req)
return
}

View File

@@ -0,0 +1,116 @@
package controller
import (
dto "assets/model/dto/asset"
service "assets/service/asset"
"context"
"gitea.com/red-future/common/beans"
)
type privateCategory struct{}
// PrivateCategory 私域分类控制器
var PrivateCategory = new(privateCategory)
// CreatePrivateCategory 创建私域分类
// @Summary 创建私域分类
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Param body body asset.CreatePrivateCategoryReq true "创建私域分类请求"
// @Success 200 {object} asset.CreatePrivateCategoryRes
// @Router /privateCategory/createPrivateCategory [post]
func (c *privateCategory) CreatePrivateCategory(ctx context.Context, req *dto.CreatePrivateCategoryReq) (res *dto.CreatePrivateCategoryRes, err error) {
return service.PrivateCategory.CreatePrivateCategory(ctx, req)
}
// BatchCreatePrivateCategory 批量创建私域分类
// @Summary 批量创建私域分类
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Param body body asset.BatchCreatePrivateCategoryReq true "批量创建私域分类请求"
// @Success 200 {object} asset.BatchCreatePrivateCategoryRes
// @Router /privateCategory/batchCreatePrivateCategory [post]
func (c *privateCategory) BatchCreatePrivateCategory(ctx context.Context, req *dto.BatchCreatePrivateCategoryReq) (res *dto.BatchCreatePrivateCategoryRes, err error) {
return service.PrivateCategory.BatchCreatePrivateCategory(ctx, req)
}
// UpdatePrivateCategory 更新私域分类
// @Summary 更新私域分类
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Param body body asset.UpdatePrivateCategoryReq true "更新私域分类请求"
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateCategory/updatePrivateCategory [put]
func (c *privateCategory) UpdatePrivateCategory(ctx context.Context, req *dto.UpdatePrivateCategoryReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateCategory.UpdatePrivateCategory(ctx, req)
return
}
// DeletePrivateCategory 删除私域分类
// @Summary 删除私域分类
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Param id query string true "私域分类ID"
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateCategory/deletePrivateCategory [delete]
func (c *privateCategory) DeletePrivateCategory(ctx context.Context, req *dto.DeletePrivateCategoryReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateCategory.DeletePrivateCategory(ctx, req.ID)
return
}
// GetPrivateCategory 获取私域分类详情
// @Summary 获取私域分类详情
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Param id query string true "私域分类ID"
// @Success 200 {object} asset.GetPrivateCategoryRes
// @Router /privateCategory/getPrivateCategory [get]
func (c *privateCategory) GetPrivateCategory(ctx context.Context, req *dto.GetPrivateCategoryReq) (res *dto.GetPrivateCategoryRes, err error) {
return service.PrivateCategory.GetPrivateCategory(ctx, req.ID)
}
// ListPrivateCategory 获取私域分类列表
// @Summary 获取私域分类列表
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Param name query string false "分类名称"
// @Param parentId query string false "父分类ID"
// @Param level query int false "分类层级"
// @Param isLeafNode query bool false "是否叶子节点"
// @Param pageNum query int false "页码" default(1)
// @Param pageSize query int false "每页大小" default(10)
// @Success 200 {object} asset.ListPrivateCategoryRes
// @Router /privateCategory/listPrivateCategory [get]
func (c *privateCategory) ListPrivateCategory(ctx context.Context, req *dto.ListPrivateCategoryReq) (res *dto.ListPrivateCategoryRes, err error) {
return service.PrivateCategory.ListPrivateCategory(ctx, req)
}
// GetPrivateCategoryTree 获取私域分类树
// @Summary 获取私域分类树
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Success 200 {object} asset.GetPrivateCategoryTreeRes
// @Router /privateCategory/getPrivateCategoryTree [get]
func (c *privateCategory) GetPrivateCategoryTree(ctx context.Context, req *dto.GetPrivateCategoryTreeReq) (res *dto.GetPrivateCategoryTreeRes, err error) {
return service.PrivateCategory.GetPrivateCategoryTree(ctx)
}
// GenerateTestData 生成测试数据
// @Summary 生成测试数据
// @Tags 私域分类管理
// @Accept json
// @Produce json
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateCategory/generateTestData [post]
func (c *privateCategory) GenerateTestData(ctx context.Context, req *dto.GeneratePrivateCategoryTestDataReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateCategory.GenerateTestData(ctx)
return
}

View File

@@ -0,0 +1,118 @@
package controller
import (
dto "assets/model/dto/asset"
service "assets/service/asset"
"context"
"gitea.com/red-future/common/beans"
)
type privateSku struct{}
// PrivateSku 私域SKU控制器
var PrivateSku = new(privateSku)
// CreatePrivateSku 创建私域SKU
// @Summary 创建私域SKU
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param body body asset.CreatePrivateSkuReq true "创建私域SKU请求"
// @Success 200 {object} asset.CreatePrivateSkuRes
// @Router /privateSku/createPrivateSku [post]
func (c *privateSku) CreatePrivateSku(ctx context.Context, req *dto.CreatePrivateSkuReq) (res *dto.CreatePrivateSkuRes, err error) {
return service.PrivateSku.CreatePrivateSku(ctx, req)
}
// BatchCreatePrivateSku 批量创建私域SKU
// @Summary 批量创建私域SKU
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param body body asset.BatchCreatePrivateSkuReq true "批量创建私域SKU请求"
// @Success 200 {object} asset.BatchCreatePrivateSkuRes
// @Router /privateSku/batchCreatePrivateSku [post]
func (c *privateSku) BatchCreatePrivateSku(ctx context.Context, req *dto.BatchCreatePrivateSkuReq) (res *dto.BatchCreatePrivateSkuRes, err error) {
return service.PrivateSku.BatchCreatePrivateSku(ctx, req)
}
// UpdatePrivateSku 更新私域SKU
// @Summary 更新私域SKU
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param body body asset.UpdatePrivateSkuReq true "更新私域SKU请求"
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateSku/updatePrivateSku [put]
func (c *privateSku) UpdatePrivateSku(ctx context.Context, req *dto.UpdatePrivateSkuReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateSku.UpdatePrivateSku(ctx, req)
return
}
// DeletePrivateSku 删除私域SKU
// @Summary 删除私域SKU
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param id query string true "私域SKU ID"
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateSku/deletePrivateSku [delete]
func (c *privateSku) DeletePrivateSku(ctx context.Context, req *dto.DeletePrivateSkuReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateSku.DeletePrivateSku(ctx, req.ID)
return
}
// GetPrivateSku 获取私域SKU详情
// @Summary 获取私域SKU详情
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param id query string true "私域SKU ID"
// @Success 200 {object} asset.GetPrivateSkuRes
// @Router /privateSku/getPrivateSku [get]
func (c *privateSku) GetPrivateSku(ctx context.Context, req *dto.GetPrivateSkuReq) (res *dto.GetPrivateSkuRes, err error) {
return service.PrivateSku.GetPrivateSku(ctx, req.ID)
}
// ListPrivateSku 获取私域SKU列表
// @Summary 获取私域SKU列表
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param skuName query string false "SKU名称"
// @Param privateCategoryPath query string false "分类路径"
// @Param minPrice query int false "最低价格"
// @Param maxPrice query int false "最高价格"
// @Param pageNum query int false "页码" default(1)
// @Param pageSize query int false "每页大小" default(10)
// @Success 200 {object} asset.ListPrivateSkuRes
// @Router /privateSku/listPrivateSku [get]
func (c *privateSku) ListPrivateSku(ctx context.Context, req *dto.ListPrivateSkuReq) (res *dto.ListPrivateSkuRes, err error) {
return service.PrivateSku.ListPrivateSku(ctx, req)
}
// UpdatePrivateSkuStock 更新私域SKU库存
// @Summary 更新私域SKU库存
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Param body body asset.UpdatePrivateSkuStockReq true "更新库存请求"
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateSku/updatePrivateSkuStock [put]
func (c *privateSku) UpdatePrivateSkuStock(ctx context.Context, req *dto.UpdatePrivateSkuStockReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateSku.UpdatePrivateSkuStock(ctx, req.ID, req.StockChange)
return
}
// GenerateTestData 生成测试数据
// @Summary 生成测试数据
// @Tags 私域SKU管理
// @Accept json
// @Produce json
// @Success 200 {object} beans.ResponseEmpty
// @Router /privateSku/generateTestData [post]
func (c *privateSku) GenerateTestData(ctx context.Context, req *dto.GeneratePrivateSkuTestDataReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateSku.GenerateTestData(ctx)
return
}

View File

@@ -0,0 +1,31 @@
package controller
import (
"assets/model/dto/enum"
"assets/service/enum"
"context"
)
type enum struct{}
// Enum 枚举控制器
var Enum = new(enum)
// init 初始化表单配置
func init() {
}
// GetAssetType 获取资产类型
func (c *enum) GetAssetType(ctx context.Context, req *dto.GetAssetTypeReq) (res *dto.GetAssetTypeRes, err error) {
return service.Enum.GetAssetType(ctx, req)
}
// GetCategoryAttrType 获取分类属性类型
func (c *enum) GetCategoryAttrType(ctx context.Context, req *dto.GetCategoryAttrTypeReq) (res *dto.GetCategoryAttrTypeRes, err error) {
return service.Enum.GetCategoryAttrType(ctx, req)
}
// GetSpecsUnit 获取规格单位
func (c *enum) GetSpecsUnit(ctx context.Context, req *dto.GetSpecsUnitReq) (res *dto.GetSpecsUnitRes, err error) {
return service.Enum.GetSpecsUnit(ctx, req)
}

View File

@@ -0,0 +1,26 @@
package controller
import (
dto "assets/model/dto/procurement"
service "assets/service/procurement"
"context"
)
type purchaseInbound struct{}
var PurchaseInbound = new(purchaseInbound)
func init() {
}
func (c *purchaseInbound) CreatePurchaseInbound(ctx context.Context, req *dto.CreatePurchaseInboundReq) (res *dto.CreatePurchaseInboundRes, err error) {
return service.PurchaseInbound.Create(ctx, req)
}
func (c *purchaseInbound) GetPurchaseInbound(ctx context.Context, req *dto.GetPurchaseInboundReq) (res *dto.GetPurchaseInboundRes, err error) {
return service.PurchaseInbound.GetOne(ctx, req)
}
func (c *purchaseInbound) ListPurchaseInbounds(ctx context.Context, req *dto.ListPurchaseInboundReq) (res *dto.ListPurchaseInboundRes, err error) {
return service.PurchaseInbound.List(ctx, req)
}

View File

@@ -0,0 +1,106 @@
package controller
import (
dto "assets/model/dto/procurement"
service "assets/service/procurement"
"context"
"gitea.com/red-future/common/beans"
)
type purchaseOrder struct{}
// PurchaseOrder 采购订单控制器
var PurchaseOrder = new(purchaseOrder)
// CreatePurchaseOrder 创建采购订单
// @Summary 创建采购订单
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Param body body procurement.CreatePurchaseOrderReq true "创建采购订单请求"
// @Success 200 {object} procurement.CreatePurchaseOrderRes
// @Router /purchaseOrder/createPurchaseOrder [post]
func (c *purchaseOrder) CreatePurchaseOrder(ctx context.Context, req *dto.CreatePurchaseOrderReq) (res *dto.CreatePurchaseOrderRes, err error) {
return service.PurchaseOrder.CreatePurchaseOrder(ctx, req)
}
// BatchCreatePurchaseOrders 批量创建采购订单
// @Summary 批量创建采购订单
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Param body body procurement.BatchCreatePurchaseOrdersReq true "批量创建采购订单请求"
// @Success 200 {object} procurement.BatchCreatePurchaseOrdersRes
// @Router /purchaseOrder/batchCreatePurchaseOrders [post]
func (c *purchaseOrder) BatchCreatePurchaseOrders(ctx context.Context, req *dto.BatchCreatePurchaseOrdersReq) (res *dto.BatchCreatePurchaseOrdersRes, err error) {
return service.PurchaseOrder.BatchCreatePurchaseOrders(ctx, req)
}
// UpdatePurchaseOrder 更新采购订单
// @Summary 更新采购订单
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Param body body procurement.UpdatePurchaseOrderReq true "更新采购订单请求"
// @Success 200 {object} beans.ResponseEmpty
// @Router /purchaseOrder/updatePurchaseOrder [put]
func (c *purchaseOrder) UpdatePurchaseOrder(ctx context.Context, req *dto.UpdatePurchaseOrderReq) (res *beans.ResponseEmpty, err error) {
err = service.PurchaseOrder.UpdatePurchaseOrder(ctx, req)
return
}
// DeletePurchaseOrder 删除采购订单
// @Summary 删除采购订单
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Param id query string true "采购订单ID"
// @Success 200 {object} beans.ResponseEmpty
// @Router /purchaseOrder/deletePurchaseOrder [delete]
func (c *purchaseOrder) DeletePurchaseOrder(ctx context.Context, req *dto.DeletePurchaseOrderReq) (res *beans.ResponseEmpty, err error) {
err = service.PurchaseOrder.DeletePurchaseOrder(ctx, req.ID)
return
}
// GetPurchaseOrder 获取采购订单详情
// @Summary 获取采购订单详情
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Param id query string true "采购订单ID"
// @Success 200 {object} procurement.GetPurchaseOrderRes
// @Router /purchaseOrder/getPurchaseOrder [get]
func (c *purchaseOrder) GetPurchaseOrder(ctx context.Context, req *dto.GetPurchaseOrderReq) (res *dto.GetPurchaseOrderRes, err error) {
return service.PurchaseOrder.GetPurchaseOrder(ctx, req.ID)
}
// ListPurchaseOrders 获取采购订单列表
// @Summary 获取采购订单列表
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Param orderNo query string false "订单编号"
// @Param title query string false "订单标题"
// @Param buyerId query string false "采购方ID"
// @Param orderType query string false "订单类型"
// @Param status query int false "订单状态"
// @Param pageNum query int false "页码" default(1)
// @Param pageSize query int false "每页大小" default(10)
// @Success 200 {object} procurement.ListPurchaseOrdersRes
// @Router /purchaseOrder/listPurchaseOrders [get]
func (c *purchaseOrder) ListPurchaseOrders(ctx context.Context, req *dto.ListPurchaseOrdersReq) (res *dto.ListPurchaseOrdersRes, err error) {
return service.PurchaseOrder.ListPurchaseOrders(ctx, req)
}
// GenerateTestData 生成测试数据
// @Summary 生成测试数据
// @Tags 采购订单管理
// @Accept json
// @Produce json
// @Success 200 {object} beans.ResponseEmpty
// @Router /purchaseOrder/generateTestData [post]
func (c *purchaseOrder) GenerateTestData(ctx context.Context, req *dto.GeneratePurchaseOrderTestDataReq) (res *beans.ResponseEmpty, err error) {
err = service.PurchaseOrder.GenerateTestData(ctx)
return
}

View File

@@ -0,0 +1,106 @@
package controller
import (
dto "assets/model/dto/procurement"
service "assets/service/procurement"
"context"
"gitea.com/red-future/common/beans"
)
type purchaseOrderItem struct{}
// PurchaseOrderItem 采购订单明细控制器
var PurchaseOrderItem = new(purchaseOrderItem)
// CreatePurchaseOrderItem 创建采购订单明细
// @Summary 创建采购订单明细
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Param body body procurement.CreatePurchaseOrderItemReq true "创建采购订单明细请求"
// @Success 200 {object} procurement.CreatePurchaseOrderItemRes
// @Router /purchaseOrderItem/createPurchaseOrderItem [post]
func (c *purchaseOrderItem) CreatePurchaseOrderItem(ctx context.Context, req *dto.CreatePurchaseOrderItemReq) (res *dto.CreatePurchaseOrderItemRes, err error) {
return service.PurchaseOrderItem.CreatePurchaseOrderItem(ctx, req)
}
// BatchCreatePurchaseOrderItems 批量创建采购订单明细
// @Summary 批量创建采购订单明细
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Param body body procurement.BatchCreatePurchaseOrderItemsReq true "批量创建采购订单明细请求"
// @Success 200 {object} procurement.BatchCreatePurchaseOrderItemsRes
// @Router /purchaseOrderItem/batchCreatePurchaseOrderItems [post]
func (c *purchaseOrderItem) BatchCreatePurchaseOrderItems(ctx context.Context, req *dto.BatchCreatePurchaseOrderItemsReq) (res *dto.BatchCreatePurchaseOrderItemsRes, err error) {
return service.PurchaseOrderItem.BatchCreatePurchaseOrderItems(ctx, req)
}
// UpdatePurchaseOrderItem 更新采购订单明细
// @Summary 更新采购订单明细
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Param body body procurement.UpdatePurchaseOrderItemReq true "更新采购订单明细请求"
// @Success 200 {object} beans.ResponseEmpty
// @Router /purchaseOrderItem/updatePurchaseOrderItem [put]
func (c *purchaseOrderItem) UpdatePurchaseOrderItem(ctx context.Context, req *dto.UpdatePurchaseOrderItemReq) (res *beans.ResponseEmpty, err error) {
err = service.PurchaseOrderItem.UpdatePurchaseOrderItem(ctx, req)
return
}
// DeletePurchaseOrderItem 删除采购订单明细
// @Summary 删除采购订单明细
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Param id query string true "采购订单明细ID"
// @Success 200 {object} beans.ResponseEmpty
// @Router /purchaseOrderItem/deletePurchaseOrderItem [delete]
func (c *purchaseOrderItem) DeletePurchaseOrderItem(ctx context.Context, req *dto.DeletePurchaseOrderItemReq) (res *beans.ResponseEmpty, err error) {
err = service.PurchaseOrderItem.DeletePurchaseOrderItem(ctx, req.ID)
return
}
// GetPurchaseOrderItem 获取采购订单明细详情
// @Summary 获取采购订单明细详情
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Param id query string true "采购订单明细ID"
// @Success 200 {object} procurement.GetPurchaseOrderItemRes
// @Router /purchaseOrderItem/getPurchaseOrderItem [get]
func (c *purchaseOrderItem) GetPurchaseOrderItem(ctx context.Context, req *dto.GetPurchaseOrderItemReq) (res *dto.GetPurchaseOrderItemRes, err error) {
return service.PurchaseOrderItem.GetPurchaseOrderItem(ctx, req.ID)
}
// ListPurchaseOrderItems 获取采购订单明细列表
// @Summary 获取采购订单明细列表
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Param orderId query string false "订单ID"
// @Param assetId query string false "资产ID"
// @Param assetSkuId query string false "资产SKU ID"
// @Param productName query string false "商品名称"
// @Param brand query string false "品牌"
// @Param pageNum query int false "页码" default(1)
// @Param pageSize query int false "每页大小" default(10)
// @Success 200 {object} procurement.ListPurchaseOrderItemsRes
// @Router /purchaseOrderItem/listPurchaseOrderItems [get]
func (c *purchaseOrderItem) ListPurchaseOrderItems(ctx context.Context, req *dto.ListPurchaseOrderItemsReq) (res *dto.ListPurchaseOrderItemsRes, err error) {
return service.PurchaseOrderItem.ListPurchaseOrderItems(ctx, req)
}
// GenerateTestData 生成测试数据
// @Summary 生成测试数据
// @Tags 采购订单明细管理
// @Accept json
// @Produce json
// @Success 200 {object} beans.ResponseEmpty
// @Router /purchaseOrderItem/generateTestData [post]
func (c *purchaseOrderItem) GenerateTestData(ctx context.Context, req *dto.GeneratePurchaseOrderItemTestDataReq) (res *beans.ResponseEmpty, err error) {
err = service.PurchaseOrderItem.GenerateTestData(ctx)
return
}

View File

@@ -0,0 +1,121 @@
package controller
import (
dto "assets/model/dto/procurement"
service "assets/service/procurement"
"context"
"gitea.com/red-future/common/beans"
)
type supplier struct{}
// Supplier 供应商控制器
var Supplier = new(supplier)
// CreateSupplier 创建供应商
// @Summary 创建供应商
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Param body body procurement.CreateSupplierReq true "创建供应商请求"
// @Success 200 {object} procurement.CreateSupplierRes
// @Router /supplier/createSupplier [post]
func (c *supplier) CreateSupplier(ctx context.Context, req *dto.CreateSupplierReq) (res *dto.CreateSupplierRes, err error) {
return service.Supplier.CreateSupplier(ctx, req)
}
// BatchCreateSuppliers 批量创建供应商
// @Summary 批量创建供应商
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Param body body procurement.BatchCreateSuppliersReq true "批量创建供应商请求"
// @Success 200 {object} procurement.BatchCreateSuppliersRes
// @Router /supplier/batchCreateSuppliers [post]
func (c *supplier) BatchCreateSuppliers(ctx context.Context, req *dto.BatchCreateSuppliersReq) (res *dto.BatchCreateSuppliersRes, err error) {
return service.Supplier.BatchCreateSuppliers(ctx, req)
}
// UpdateSupplier 更新供应商
// @Summary 更新供应商
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Param body body procurement.UpdateSupplierReq true "更新供应商请求"
// @Success 200 {object} beans.ResponseEmpty
// @Router /supplier/updateSupplier [put]
func (c *supplier) UpdateSupplier(ctx context.Context, req *dto.UpdateSupplierReq) (res *beans.ResponseEmpty, err error) {
err = service.Supplier.UpdateSupplier(ctx, req)
return
}
// DeleteSupplier 删除供应商
// @Summary 删除供应商
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Param id query string true "供应商ID"
// @Success 200 {object} beans.ResponseEmpty
// @Router /supplier/deleteSupplier [delete]
func (c *supplier) DeleteSupplier(ctx context.Context, req *dto.DeleteSupplierReq) (res *beans.ResponseEmpty, err error) {
err = service.Supplier.DeleteSupplier(ctx, req.ID)
return
}
// GetSupplier 获取供应商详情
// @Summary 获取供应商详情
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Param id query string true "供应商ID"
// @Success 200 {object} procurement.GetSupplierRes
// @Router /supplier/getSupplier [get]
func (c *supplier) GetSupplier(ctx context.Context, req *dto.GetSupplierReq) (res *dto.GetSupplierRes, err error) {
return service.Supplier.GetSupplier(ctx, req.ID)
}
// ListSuppliers 获取供应商列表
// @Summary 获取供应商列表
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Param name query string false "供应商名称"
// @Param code query string false "供应商编码"
// @Param status query int false "供应商状态"
// @Param pageNum query int false "页码" default(1)
// @Param pageSize query int false "每页大小" default(10)
// @Success 200 {object} procurement.ListSuppliersRes
// @Router /supplier/listSuppliers [get]
func (c *supplier) ListSuppliers(ctx context.Context, req *dto.ListSuppliersReq) (res *dto.ListSuppliersRes, err error) {
return service.Supplier.ListSuppliers(ctx, req)
}
// GetSupplierOptions 获取供应商选项
// @Summary 获取供应商选项(用于下拉选择)
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Success 200 {object} procurement.GetSupplierOptionsRes
// @Router /supplier/getSupplierOptions [get]
func (c *supplier) GetSupplierOptions(ctx context.Context, req *dto.GetSupplierOptionsReq) (res *dto.GetSupplierOptionsRes, err error) {
list, err := service.Supplier.GetSupplierOptions(ctx)
if err != nil {
return nil, err
}
return &dto.GetSupplierOptionsRes{
List: list,
}, nil
}
// GenerateTestData 生成测试数据
// @Summary 生成测试数据
// @Tags 供应商管理
// @Accept json
// @Produce json
// @Success 200 {object} beans.ResponseEmpty
// @Router /supplier/generateTestData [post]
func (c *supplier) GenerateTestData(ctx context.Context, req *dto.GenerateSupplierTestDataReq) (res *beans.ResponseEmpty, err error) {
err = service.Supplier.GenerateTestData(ctx)
return
}

View File

@@ -0,0 +1,39 @@
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type inventoryCountAdjustHistory struct{}
var InventoryCountAdjustHistory = new(inventoryCountAdjustHistory)
func init() {}
// CreateInventoryCountAdjustHistory 创建盘点调整历史记录
func (c *inventoryCountAdjustHistory) CreateInventoryCountAdjustHistory(ctx context.Context, req *dto.CreateInventoryCountAdjustHistoryReq) (res *dto.CreateInventoryCountAdjustHistoryRes, err error) {
res, err = service.InventoryCountAdjustHistory.Create(ctx, req)
return
}
// GetInventoryCountAdjustHistory 获取盘点调整历史记录详情
func (c *inventoryCountAdjustHistory) GetInventoryCountAdjustHistory(ctx context.Context, req *dto.GetInventoryCountAdjustHistoryReq) (res *dto.GetInventoryCountAdjustHistoryRes, err error) {
res, err = service.InventoryCountAdjustHistory.GetOne(ctx, req)
return
}
// DeleteInventoryCountAdjustHistory 删除盘点调整历史记录
func (c *inventoryCountAdjustHistory) DeleteInventoryCountAdjustHistory(ctx context.Context, req *dto.DeleteInventoryCountAdjustHistoryReq) (res *beans.ResponseEmpty, err error) {
err = service.InventoryCountAdjustHistory.Delete(ctx, req)
return
}
// ListInventoryCountAdjustHistories 分页查询盘点调整历史列表
func (c *inventoryCountAdjustHistory) ListInventoryCountAdjustHistories(ctx context.Context, req *dto.ListInventoryCountAdjustHistoryReq) (res *dto.ListInventoryCountAdjustHistoryRes, err error) {
res, err = service.InventoryCountAdjustHistory.List(ctx, req)
return
}

View File

@@ -0,0 +1,76 @@
// 盘点任务控制器
// 职责盘点任务CRUD、完成/取消、导出模板、导入Excel
// 调用服务service.InventoryCount
// 注意ImportInventoryCount从multipart form读取文件Update/Delete返回*beans.ResponseEmpty
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"fmt"
"io"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
type inventoryCount struct{}
var InventoryCount = new(inventoryCount)
func init() {
}
func (c *inventoryCount) CreateInventoryCount(ctx context.Context, req *dto.CreateInventoryCountReq) (res *dto.CreateInventoryCountRes, err error) {
g.Log().Debugf(ctx, "[CreateInventoryCount] req: %+v", req)
return service.InventoryCount.Create(ctx, req)
}
func (c *inventoryCount) UpdateInventoryCount(ctx context.Context, req *dto.UpdateInventoryCountReq) (res *beans.ResponseEmpty, err error) {
err = service.InventoryCount.Update(ctx, req)
return
}
func (c *inventoryCount) DeleteInventoryCount(ctx context.Context, req *dto.DeleteInventoryCountReq) (res *beans.ResponseEmpty, err error) {
err = service.InventoryCount.Delete(ctx, req)
return
}
func (c *inventoryCount) GetInventoryCount(ctx context.Context, req *dto.GetInventoryCountReq) (res *dto.GetInventoryCountRes, err error) {
return service.InventoryCount.GetOne(ctx, req)
}
func (c *inventoryCount) ListInventoryCounts(ctx context.Context, req *dto.ListInventoryCountReq) (res *dto.ListInventoryCountRes, err error) {
return service.InventoryCount.List(ctx, req)
}
func (c *inventoryCount) CompleteInventoryCount(ctx context.Context, req *dto.CompleteInventoryCountReq) (res *dto.CompleteInventoryCountRes, err error) {
return service.InventoryCount.Complete(ctx, req)
}
func (c *inventoryCount) CancelInventoryCount(ctx context.Context, req *dto.CancelInventoryCountReq) (res *dto.CancelInventoryCountRes, err error) {
return service.InventoryCount.Cancel(ctx, req)
}
func (c *inventoryCount) ExportInventoryCountTemplate(ctx context.Context, req *dto.ExportInventoryCountTemplateReq) (res *dto.ExportInventoryCountTemplateRes, err error) {
return service.InventoryCount.ExportTemplate(ctx, req)
}
// ImportInventoryCount 上传盘点Excel
// 从multipart form读取文件数据并调用Service层解析导入
func (c *inventoryCount) ImportInventoryCount(ctx context.Context, req *dto.ImportInventoryCountReq) (res *dto.ImportInventoryCountRes, err error) {
r := g.RequestFromCtx(ctx)
file, _, err := r.Request.FormFile("file")
if err != nil {
return nil, fmt.Errorf("读取上传文件失败: %v", err)
}
defer file.Close()
fileData, err := io.ReadAll(file)
if err != nil {
return nil, fmt.Errorf("读取文件内容失败: %v", err)
}
return service.InventoryCount.ImportInventoryCount(ctx, req, fileData)
}

View File

@@ -0,0 +1,47 @@
// 盘点明细控制器
// 职责盘点明细CRUD、相似商品查询
// 调用服务service.InventoryCountDetail
// 注意Update/Delete返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type inventoryCountDetail struct{}
var InventoryCountDetail = new(inventoryCountDetail)
func init() {
}
func (c *inventoryCountDetail) CreateInventoryCountDetail(ctx context.Context, req *dto.CreateInventoryCountDetailReq) (res *dto.CreateInventoryCountDetailRes, err error) {
return service.InventoryCountDetail.Create(ctx, req)
}
func (c *inventoryCountDetail) UpdateInventoryCountDetail(ctx context.Context, req *dto.UpdateInventoryCountDetailReq) (res *beans.ResponseEmpty, err error) {
err = service.InventoryCountDetail.Update(ctx, req)
return
}
func (c *inventoryCountDetail) DeleteInventoryCountDetail(ctx context.Context, req *dto.DeleteInventoryCountDetailReq) (res *beans.ResponseEmpty, err error) {
err = service.InventoryCountDetail.Delete(ctx, req)
return
}
func (c *inventoryCountDetail) GetInventoryCountDetail(ctx context.Context, req *dto.GetInventoryCountDetailReq) (res *dto.GetInventoryCountDetailRes, err error) {
return service.InventoryCountDetail.GetOne(ctx, req)
}
func (c *inventoryCountDetail) ListInventoryCountDetails(ctx context.Context, req *dto.ListInventoryCountDetailReq) (res *dto.ListInventoryCountDetailRes, err error) {
return service.InventoryCountDetail.List(ctx, req)
}
// SearchSimilarAssets 查询相似商品
func (c *inventoryCountDetail) SearchSimilarAssets(ctx context.Context, req *dto.SearchSimilarAssetsReq) (res *dto.SearchSimilarAssetsRes, err error) {
return service.InventoryCountDetail.SearchSimilarAssets(ctx, req)
}

View File

@@ -0,0 +1,26 @@
// 库存预警控制器
// 职责:预警查询接口(无Create/Update/Delete由系统自动生成)
// 调用服务service.InventoryWarning
// 注意:只读接口,无写操作
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
)
type inventoryWarning struct{}
var InventoryWarning = new(inventoryWarning)
func init() {
}
func (c *inventoryWarning) GetInventoryWarning(ctx context.Context, req *dto.GetInventoryWarningReq) (res *dto.GetInventoryWarningRes, err error) {
return service.InventoryWarning.GetOne(ctx, req)
}
func (c *inventoryWarning) ListInventoryWarnings(ctx context.Context, req *dto.ListInventoryWarningReq) (res *dto.ListInventoryWarningRes, err error) {
return service.InventoryWarning.List(ctx, req)
}

View File

@@ -0,0 +1,33 @@
// 库存预警历史控制器
// 职责:预警历史查询、删除(无Create/Update由系统自动归档)
// 调用服务service.InventoryWarningHistory
// 注意Delete返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type inventoryWarningHistory struct{}
var InventoryWarningHistory = new(inventoryWarningHistory)
func init() {
}
func (c *inventoryWarningHistory) GetInventoryWarningHistory(ctx context.Context, req *dto.GetInventoryWarningHistoryReq) (res *dto.GetInventoryWarningHistoryRes, err error) {
return service.InventoryWarningHistory.GetOne(ctx, req)
}
func (c *inventoryWarningHistory) ListInventoryWarningHistories(ctx context.Context, req *dto.ListInventoryWarningHistoryReq) (res *dto.ListInventoryWarningHistoryRes, err error) {
return service.InventoryWarningHistory.List(ctx, req)
}
func (c *inventoryWarningHistory) DeleteInventoryWarningHistory(ctx context.Context, req *dto.DeleteInventoryWarningHistoryReq) (res *beans.ResponseEmpty, err error) {
err = service.InventoryWarningHistory.Delete(ctx, req)
return
}

View File

@@ -0,0 +1,47 @@
// 库位控制器
// 职责库位CRUD接口、状态更新接口
// 调用服务service.Location
// 注意Update/Delete/UpdateStatus返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type location struct{}
var Location = new(location)
func init() {
}
func (c *location) CreateLocation(ctx context.Context, req *dto.CreateLocationReq) (res *dto.CreateLocationRes, err error) {
return service.Location.Create(ctx, req)
}
func (c *location) UpdateLocation(ctx context.Context, req *dto.UpdateLocationReq) (res *beans.ResponseEmpty, err error) {
err = service.Location.Update(ctx, req)
return
}
func (c *location) DeleteLocation(ctx context.Context, req *dto.DeleteLocationReq) (res *beans.ResponseEmpty, err error) {
err = service.Location.Delete(ctx, req)
return
}
func (c *location) UpdateLocationStatus(ctx context.Context, req *dto.UpdateLocationStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.Location.UpdateStatus(ctx, req)
return
}
func (c *location) GetLocation(ctx context.Context, req *dto.GetLocationReq) (res *dto.GetLocationRes, err error) {
return service.Location.GetOne(ctx, req)
}
func (c *location) ListLocations(ctx context.Context, req *dto.ListLocationReq) (res *dto.ListLocationRes, err error) {
return service.Location.List(ctx, req)
}

View File

@@ -0,0 +1,57 @@
// 实物库存批次控制器
// 职责CRUD接口、移库(MoveStock)、调拨(TransferStock)、出库(Outbound)
// 调用服务service.PrivateStock
// 注意Update/Delete/MoveStock/TransferStock/Outbound返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type privateStockController struct{}
var PrivateStock = new(privateStockController)
func init() {
}
func (c *privateStockController) CreatePrivateStock(ctx context.Context, req *dto.CreatePrivateStockReq) (res *dto.CreatePrivateStockRes, err error) {
return service.PrivateStock.Create(ctx, req)
}
func (c *privateStockController) UpdatePrivateStock(ctx context.Context, req *dto.UpdatePrivateStockReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateStock.Update(ctx, req)
return
}
func (c *privateStockController) DeletePrivateStock(ctx context.Context, req *dto.DeletePrivateStockReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateStock.Delete(ctx, req)
return
}
func (c *privateStockController) GetPrivateStock(ctx context.Context, req *dto.GetPrivateStockReq) (res *dto.GetPrivateStockRes, err error) {
return service.PrivateStock.GetOne(ctx, req)
}
func (c *privateStockController) ListPrivateStocks(ctx context.Context, req *dto.ListPrivateStockReq) (res *dto.ListPrivateStockRes, err error) {
return service.PrivateStock.List(ctx, req)
}
func (c *privateStockController) MoveStock(ctx context.Context, req *dto.MoveStockReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateStock.MoveStock(ctx, req)
return
}
func (c *privateStockController) TransferStock(ctx context.Context, req *dto.TransferStockReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateStock.TransferStock(ctx, req)
return
}
func (c *privateStockController) OutboundPrivateStock(ctx context.Context, req *dto.OutboundPrivateStockReq) (res *beans.ResponseEmpty, err error) {
err = service.PrivateStock.Outbound(ctx, req)
return
}

View File

@@ -0,0 +1,42 @@
// 批次库存控制器(逻辑库存)
// 职责批次CRUD接口
// 调用服务service.StockBatch
// 注意Update/Delete返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type stockBatchController struct{}
var StockBatch = new(stockBatchController)
func init() {
}
func (c *stockBatchController) CreateBatch(ctx context.Context, req *dto.CreateBatchReq) (res *dto.CreateBatchRes, err error) {
return service.StockBatch.Create(ctx, req)
}
func (c *stockBatchController) UpdateBatch(ctx context.Context, req *dto.UpdateBatchReq) (res *beans.ResponseEmpty, err error) {
err = service.StockBatch.Update(ctx, req)
return
}
func (c *stockBatchController) DeleteBatch(ctx context.Context, req *dto.DeleteBatchReq) (res *beans.ResponseEmpty, err error) {
err = service.StockBatch.Delete(ctx, req)
return
}
func (c *stockBatchController) GetBatch(ctx context.Context, req *dto.GetBatchReq) (res *dto.GetBatchRes, err error) {
return service.StockBatch.GetOne(ctx, req)
}
func (c *stockBatchController) ListBatches(ctx context.Context, req *dto.ListBatchReq) (res *dto.ListBatchRes, err error) {
return service.StockBatch.List(ctx, req)
}

View File

@@ -0,0 +1,27 @@
// 库存明细控制器(逻辑库存)
// 职责:库存明细查询接口(无Create/Update/Delete由StockManage管理)
// 调用服务service.StockDetails
// 注意:只读接口,无写操作
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
)
type stockDetails struct{}
// StockDetails 库存控制器
var StockDetails = new(stockDetails)
func init() {
}
func (c *stockDetails) GetStockDetails(ctx context.Context, req *dto.GetStockDetailsReq) (res *dto.GetStockDetailsRes, err error) {
return service.StockDetails.GetOne(ctx, req)
}
func (c *stockDetails) ListStockDetails(ctx context.Context, req *dto.ListStockDetailsReq) (res *dto.ListStockDetailsRes, err error) {
return service.StockDetails.List(ctx, req)
}

View File

@@ -0,0 +1,31 @@
// 库存管理控制器(Stock公共库存)
// 职责:获取库存操作表单字段、入库/出库操作(StockOperation)
// 调用服务service.StockManage
// 注意StockOperation返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type stockManage struct{}
// StockManage 库存控制器
var StockManage = new(stockManage)
func init() {
}
// GetStockFormFields 获取库存操作表单字段
func (c *stockManage) GetStockFormFields(ctx context.Context, req *dto.GetStockFormFieldsReq) (res *dto.GetStockFormFieldsRes, err error) {
return service.StockManage.GetStockFormFields(ctx, req)
}
func (c *stockManage) StockOperation(ctx context.Context, req *dto.StockOperationReq) (res *beans.ResponseEmpty, err error) {
err = service.StockManage.StockOperation(ctx, req)
return
}

View File

@@ -0,0 +1,41 @@
// 单位换算控制器
// 职责单位换算规则CRUD接口
// 调用服务service.UnitConversion
// 注意Update/Delete返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type unitConversionController struct{}
var UnitConversion = new(unitConversionController)
func init() {}
// Create 创建单位换算规则
func (c *unitConversionController) Create(ctx context.Context, req *dto.CreateUnitConversionReq) (res *dto.CreateUnitConversionRes, err error) {
return service.UnitConversion.Create(ctx, req)
}
// Update 更新单位换算规则
func (c *unitConversionController) Update(ctx context.Context, req *dto.UpdateUnitConversionReq) (res *beans.ResponseEmpty, err error) {
err = service.UnitConversion.Update(ctx, req)
return
}
// Delete 删除单位换算规则
func (c *unitConversionController) Delete(ctx context.Context, req *dto.DeleteUnitConversionReq) (res *beans.ResponseEmpty, err error) {
err = service.UnitConversion.Delete(ctx, req)
return
}
// List 查询单位换算列表
func (c *unitConversionController) List(ctx context.Context, req *dto.ListUnitConversionReq) (res *dto.ListUnitConversionRes, err error) {
return service.UnitConversion.List(ctx, req)
}

View File

@@ -0,0 +1,47 @@
// 仓库控制器
// 职责仓库CRUD接口、状态更新接口
// 调用服务service.Warehouse
// 注意Update/Delete/UpdateStatus返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type warehouse struct{}
var Warehouse = new(warehouse)
func init() {
}
func (c *warehouse) CreateWarehouse(ctx context.Context, req *dto.CreateWarehouseReq) (res *dto.CreateWarehouseRes, err error) {
return service.Warehouse.Create(ctx, req)
}
func (c *warehouse) UpdateWarehouse(ctx context.Context, req *dto.UpdateWarehouseReq) (res *beans.ResponseEmpty, err error) {
err = service.Warehouse.Update(ctx, req)
return
}
func (c *warehouse) DeleteWarehouse(ctx context.Context, req *dto.DeleteWarehouseReq) (res *beans.ResponseEmpty, err error) {
err = service.Warehouse.Delete(ctx, req)
return
}
func (c *warehouse) UpdateWarehouseStatus(ctx context.Context, req *dto.UpdateWarehouseStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.Warehouse.UpdateStatus(ctx, req)
return
}
func (c *warehouse) GetWarehouse(ctx context.Context, req *dto.GetWarehouseReq) (res *dto.GetWarehouseRes, err error) {
return service.Warehouse.GetOne(ctx, req)
}
func (c *warehouse) ListWarehouses(ctx context.Context, req *dto.ListWarehouseReq) (res *dto.ListWarehouseRes, err error) {
return service.Warehouse.List(ctx, req)
}

View File

@@ -0,0 +1,47 @@
// 库区控制器
// 职责库区CRUD接口、状态更新接口
// 调用服务service.Zone
// 注意Update/Delete/UpdateStatus返回*beans.ResponseEmpty直接return
package controller
import (
dto "assets/model/dto/stock"
service "assets/service/stock"
"context"
"gitea.com/red-future/common/beans"
)
type zone struct{}
var Zone = new(zone)
func init() {
}
func (c *zone) CreateZone(ctx context.Context, req *dto.CreateZoneReq) (res *dto.CreateZoneRes, err error) {
return service.Zone.Create(ctx, req)
}
func (c *zone) UpdateZone(ctx context.Context, req *dto.UpdateZoneReq) (res *beans.ResponseEmpty, err error) {
err = service.Zone.Update(ctx, req)
return
}
func (c *zone) DeleteZone(ctx context.Context, req *dto.DeleteZoneReq) (res *beans.ResponseEmpty, err error) {
err = service.Zone.Delete(ctx, req)
return
}
func (c *zone) UpdateZoneStatus(ctx context.Context, req *dto.UpdateZoneStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.Zone.UpdateStatus(ctx, req)
return
}
func (c *zone) GetZone(ctx context.Context, req *dto.GetZoneReq) (res *dto.GetZoneRes, err error) {
return service.Zone.GetOne(ctx, req)
}
func (c *zone) ListZones(ctx context.Context, req *dto.ListZoneReq) (res *dto.ListZoneRes, err error) {
return service.Zone.List(ctx, req)
}

View File

@@ -0,0 +1,97 @@
package controller
import (
dto "assets/model/dto/sync"
service "assets/service/sync"
"context"
"gitea.com/red-future/common/beans"
)
type syncController struct{}
// Sync 同步控制器
var Sync = new(syncController)
// CreateSyncTask 创建同步任务
func (c *syncController) CreateSyncTask(ctx context.Context, req *dto.CreateSyncTaskReq) (res *dto.CreateSyncTaskRes, err error) {
taskID, err := service.Sync.CreateSyncTask(ctx, req)
if err != nil {
return nil, err
}
return &dto.CreateSyncTaskRes{
TaskID: taskID,
}, nil
}
// ListSyncTasks 获取同步任务列表
func (c *syncController) ListSyncTasks(ctx context.Context, req *dto.ListSyncTaskReq) (res *dto.ListSyncTaskRes, err error) {
list, total, err := service.Sync.ListSyncTasks(ctx, req)
if err != nil {
return nil, err
}
return &dto.ListSyncTaskRes{
List: list,
Total: total,
}, nil
}
// GetSyncTask 获取同步任务详情
func (c *syncController) GetSyncTask(ctx context.Context, req *dto.GetSyncTaskReq) (res *dto.GetSyncTaskRes, err error) {
return service.Sync.GetSyncTask(ctx, req.ID)
}
// UpdateSyncTaskStatus 更新同步任务状态
func (c *syncController) UpdateSyncTaskStatus(ctx context.Context, req *dto.UpdateSyncTaskStatusReq) (res *beans.ResponseEmpty, err error) {
err = service.Sync.UpdateSyncTaskStatus(ctx, req)
return
}
// SyncAsset 同步资产
func (c *syncController) SyncAsset(ctx context.Context, req *dto.SyncAssetReq) (res *dto.SyncAssetRes, err error) {
taskID, err := service.Sync.SyncAsset(ctx, req)
if err != nil {
return nil, err
}
return &dto.SyncAssetRes{
TaskID: taskID,
}, nil
}
// SyncAssetSku 同步资产SKU
func (c *syncController) SyncAssetSku(ctx context.Context, req *dto.SyncAssetSkuReq) (res *dto.SyncAssetSkuRes, err error) {
taskID, err := service.Sync.SyncAssetSku(ctx, req)
if err != nil {
return nil, err
}
return &dto.SyncAssetSkuRes{
TaskID: taskID,
}, nil
}
// SyncStock 同步库存
func (c *syncController) SyncStock(ctx context.Context, req *dto.SyncStockReq) (res *dto.SyncStockRes, err error) {
taskID, err := service.Sync.SyncStock(ctx, req)
if err != nil {
return nil, err
}
return &dto.SyncStockRes{
TaskID: taskID,
}, nil
}
// BatchSyncAssets 批量同步资产
func (c *syncController) BatchSyncAssets(ctx context.Context, req *dto.BatchSyncAssetsReq) (res *dto.BatchSyncAssetsRes, err error) {
taskIDs, err := service.Sync.BatchSyncAssets(ctx, req)
if err != nil {
return nil, err
}
return &dto.BatchSyncAssetsRes{
TaskIDs: taskIDs,
}, nil
}
// GetPlatformSyncStatus 获取平台同步状态
func (c *syncController) GetPlatformSyncStatus(ctx context.Context, req *dto.GetPlatformSyncStatusReq) (res *dto.GetPlatformSyncStatusRes, err error) {
return service.Sync.GetPlatformSyncStatus(ctx, req)
}