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(¶ms); 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(¶ms) 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(¶ms); 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(¶ms); 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(¶ms) + 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