From 5adf6ad89a4df69aa169beab89ca5afc738adfa4 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期三, 20 九月 2023 19:36:53 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS

---
 controllers/location.go |  141 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 115 insertions(+), 26 deletions(-)

diff --git a/controllers/location.go b/controllers/location.go
index c4f3002..421958b 100644
--- a/controllers/location.go
+++ b/controllers/location.go
@@ -3,6 +3,7 @@
 import (
 	"errors"
 	"github.com/gin-gonic/gin"
+	"strconv"
 	"wms/extend/code"
 	"wms/extend/util"
 	"wms/models"
@@ -12,42 +13,130 @@
 type LocationController struct {
 }
 
-func (slf LocationController) ListLocationByType(c *gin.Context) {
-	var params request.LocationByType
+// AddLocation
+// @Tags      浣嶇疆
+// @Summary   娣诲姞浣嶇疆淇℃伅
+// @Produce   application/json
+// @Param     object  body  models.Location true  "浣嶇疆淇℃伅"
+// @Success   200 {object} util.Response "鎴愬姛"
+// @Router    /api-wms/v1/location/addLocation [post]
+func (slf LocationController) AddLocation(c *gin.Context) {
+	var params models.Location
 	if err := c.BindJSON(&params); err != nil {
-		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟缁戝畾澶辫触")
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
 		return
 	}
-	if err := slf.CheckLocationByTypeParams(params); err != nil {
-		util.ResponseFormat(c, code.RequestParamError, err.Error())
+	if err := slf.CheckLocation(params); err != nil {
+		util.ResponseFormat(c, code.RequestParamError, err)
+		return
 	}
-	search := models.NewLocationSearch()
-	search.SetType(params.Type)
-	if params.Keyword != "" {
-		search.SetKeyword(params.Keyword)
-	}
-	if params.ParentId != "" {
-		search.SetParentId(params.ParentId)
-	}
-	if params.CompanyId != 0 {
-		search.SetCompanyId(params.CompanyId)
-	}
-	res, err := search.SetOrder("created_at desc").FindAll()
+	err := models.NewLocationSearch().Create(&params)
 	if err != nil {
-		util.ResponseFormat(c, code.RequestError, err.Error())
+		util.ResponseFormat(c, code.RequestParamError, "鍒涘缓澶辫触")
+		return
 	}
-	util.ResponseFormat(c, code.Success, res)
+	util.ResponseFormat(c, code.RequestParamError, "鍒涘缓鎴愬姛")
 }
 
-func (slf LocationController) CheckLocationByTypeParams(params request.LocationByType) error {
+// GetLocationList
+// @Tags      浣嶇疆
+// @Summary   鑾峰彇浣嶇疆鍒楄〃
+// @Produce   application/json
+// @Param     object  body  request.GetProductList true  "鏌ヨ鍙傛暟"
+// @Success   200 {object} util.ResponseList{data=[]models.Location}	"鎴愬姛"
+// @Router    /api-wms/v1/location/getLocationList [post]
+func (slf LocationController) GetLocationList(c *gin.Context) {
+	var params request.GetLocationList
+	if err := c.BindJSON(&params); err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		return
+	}
+	search := models.NewLocationSearch()
+	if params.PageInfo.Check() {
+		search.SetPage(params.Page, params.PageSize)
+	}
+	list, total, err := search.SetKeyword(params.KeyWord).SetOrder("created_at desc").Find()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+
+	util.ResponseFormatList(c, code.Success, list, int(total))
+}
+
+// GetLocationDetails
+// @Tags      浣嶇疆
+// @Summary   鑾峰彇浣嶇疆璇︽儏
+// @Produce   application/json
+// @Param		id	path		string			true	"id"  "鏌ヨ鍙傛暟"
+// @Success   200 {object} util.Response{data=models.Location}	"鎴愬姛"
+// @Router    /api-wms/v1/location/getLocationDetails/{id} [get]
+func (slf LocationController) GetLocationDetails(c *gin.Context) {
+	id, _ := strconv.Atoi(c.Param("id"))
+	if id == 0 {
+		util.ResponseFormat(c, code.RequestParamError, "鏃犳晥id")
+		return
+	}
+	location, err := models.NewLocationSearch().SetID(id).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+	util.ResponseFormat(c, code.Success, location)
+}
+
+// UpdateLocation
+// @Tags      浣嶇疆
+// @Summary   淇敼浣嶇疆
+// @Produce   application/json
+// @Param     object  body  models.Location true  "浜у搧淇℃伅"
+// @Success   200 {object} util.Response "鎴愬姛"
+// @Router    /api-wms/v1/location/updateLocation [post]
+func (slf LocationController) UpdateLocation(c *gin.Context) {
+	var params models.Location
+	if err := c.BindJSON(&params); err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		return
+	}
+	if err := slf.CheckLocation(params); err != nil {
+		util.ResponseFormat(c, code.RequestParamError, err)
+		return
+	}
+	err := models.NewLocationSearch().Update(&params)
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "浣嶇疆淇℃伅鏇存柊澶辫触")
+		return
+	}
+	util.ResponseFormat(c, code.Success, "鏇存柊鎴愬姛")
+}
+
+// DeleteLocation
+// @Tags      浣嶇疆
+// @Summary   鍒犻櫎浣嶇疆
+// @Produce   application/json
+// @Param		id	path		string			true	"id"  "鏌ヨ鍙傛暟"
+// @Success   200 {object} util.Response "鎴愬姛"
+// @Router    /api-wms/v1/location/deleteLocation/{id} [delete]
+func (slf LocationController) DeleteLocation(c *gin.Context) {
+	id, _ := strconv.Atoi(c.Param("id"))
+	if id == 0 {
+		util.ResponseFormat(c, code.RequestParamError, "鏃犳晥id")
+		return
+	}
+	err := models.NewLocationSearch().SetID(id).Delete()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触")
+		return
+	}
+	util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
+}
+
+func (slf LocationController) CheckLocation(params models.Location) error {
+	if params.Name == "" {
+		return errors.New("鍚嶇О涓嶈兘涓虹┖")
+	}
 	if params.Type == 0 {
 		return errors.New("璇烽�夋嫨姝g‘鐨勪綅缃被鍨�")
-	}
-	if params.ParentId == "" {
-		return errors.New("閿欒鍙傛暟ParentId")
-	}
-	if params.CompanyId < 0 {
-		return errors.New("閿欒鍙傛暟CompanyId")
 	}
 	return nil
 }

--
Gitblit v1.8.0