116 lines
3.1 KiB
Go
116 lines
3.1 KiB
Go
package controllers
|
|
|
|
import (
|
|
"net/http"
|
|
"psi/constant"
|
|
"psi/database"
|
|
"psi/service"
|
|
"psi/utils"
|
|
"strconv"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type WangdianApi struct{}
|
|
|
|
func (i *WangdianApi) CreatePurchaseOrder(c *gin.Context) {
|
|
raw := c.PostForm("purchase_order_id")
|
|
if raw == "" {
|
|
raw = c.Query("purchase_order_id")
|
|
}
|
|
purchaseOrderID, err := strconv.ParseInt(raw, 10, 64)
|
|
if err != nil || purchaseOrderID <= 0 {
|
|
utils.FailWithRequestLog(constant.LoggerChannelRequest, "参数错误: purchase_order_id 必须为正整数", nil, c, nil)
|
|
return
|
|
}
|
|
|
|
resp, err := service.PushPurchaseOrder(purchaseOrderID, database.GetDB(c))
|
|
if err != nil {
|
|
utils.FailWithRequestLog(constant.LoggerChannelWork, "推送采购单到旺店通失败: "+err.Error(), err, c, nil)
|
|
return
|
|
}
|
|
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": resp.Code,
|
|
"message": resp.Message,
|
|
})
|
|
}
|
|
|
|
func (i *WangdianApi) QueryProvider(c *gin.Context) {
|
|
column := c.Query("column")
|
|
providerNo := c.Query("provider_no")
|
|
providerName := c.Query("provider_name")
|
|
pageSizeStr := c.Query("page_size")
|
|
pageNoStr := c.Query("page_no")
|
|
|
|
pageSize, _ := strconv.Atoi(pageSizeStr)
|
|
pageNo, _ := strconv.Atoi(pageNoStr)
|
|
|
|
resp, err := service.QueryProvider(column, providerNo, providerName, pageSize, pageNo)
|
|
if err != nil {
|
|
utils.FailWithRequestLog(constant.LoggerChannelWork, "查询旺店通供应商失败: "+err.Error(), err, c, nil)
|
|
return
|
|
}
|
|
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": resp.Code,
|
|
"message": resp.Message,
|
|
"total_count": resp.TotalCount,
|
|
"provider_list": resp.ProviderList,
|
|
})
|
|
}
|
|
|
|
func (i *WangdianApi) QueryWarehouse(c *gin.Context) {
|
|
warehouseNo := c.Query("warehouse_no")
|
|
pageSizeStr := c.Query("page_size")
|
|
pageNoStr := c.Query("page_no")
|
|
isDisabled := c.Query("is_disabled")
|
|
|
|
pageSize, _ := strconv.Atoi(pageSizeStr)
|
|
pageNo, _ := strconv.Atoi(pageNoStr)
|
|
|
|
resp, err := service.QueryWarehouse(warehouseNo, 0, 0, pageSize, pageNo, isDisabled)
|
|
if err != nil {
|
|
utils.FailWithRequestLog(constant.LoggerChannelWork, "查询旺店通仓库失败: "+err.Error(), err, c, nil)
|
|
return
|
|
}
|
|
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": resp.Code,
|
|
"message": resp.Message,
|
|
"total_count": resp.TotalCount,
|
|
"warehouses": resp.Warehouses,
|
|
})
|
|
}
|
|
|
|
func (i *WangdianApi) QueryGoods(c *gin.Context) {
|
|
specNo := c.Query("spec_no")
|
|
goodsNo := c.Query("goods_no")
|
|
brandNo := c.Query("brand_no")
|
|
className := c.Query("class_name")
|
|
barcode := c.Query("barcode")
|
|
startTime := c.Query("start_time")
|
|
endTime := c.Query("end_time")
|
|
pageSizeStr := c.Query("page_size")
|
|
pageNoStr := c.Query("page_no")
|
|
|
|
pageSize, _ := strconv.Atoi(pageSizeStr)
|
|
if pageSize <= 0 {
|
|
pageSize = 40
|
|
}
|
|
pageNo, _ := strconv.Atoi(pageNoStr)
|
|
|
|
resp, err := service.QueryGoods(specNo, goodsNo, brandNo, className, barcode, startTime, endTime, 0, pageSize, pageNo)
|
|
if err != nil {
|
|
utils.FailWithRequestLog(constant.LoggerChannelWork, "查询旺店通商品失败: "+err.Error(), err, c, nil)
|
|
return
|
|
}
|
|
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": resp.Code,
|
|
"message": resp.Message,
|
|
"total_count": resp.TotalCount,
|
|
"goods_list": resp.GoodsList,
|
|
})
|
|
}
|