From e517b1a99b6edfa24c8cc4e109a6a10488f23b6a Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期一, 28 八月 2023 11:51:55 +0800 Subject: [PATCH] merge --- api/v1/purchase/purchase.go | 194 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 194 insertions(+), 0 deletions(-) diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go new file mode 100644 index 0000000..d68781c --- /dev/null +++ b/api/v1/purchase/purchase.go @@ -0,0 +1,194 @@ +package purchase + +import ( + "github.com/gin-gonic/gin" + "go.uber.org/zap" + "srm/global" + "srm/model/common/request" + "srm/model/common/response" + purchaserequest "srm/model/purchase/request" + "strconv" + + //"srm/model/purchase" + + //"srm/model/purchase" + purchaseRes "srm/model/purchase/response" + service "srm/service/purchase" + "srm/utils" +) + +type PurchaseApi struct{} + +// CreatePurchase +// @Tags Purchase +// @Summary 鍒涘缓閲囪喘鍗� +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body purchaserequest.AddPurchase true "閲囪喘鍗曠敤鎴峰悕, 閲囪喘鍗曟墜鏈哄彿鐮�" +// @Success 200 {object} response.Response{msg=string} "鍒涘缓閲囪喘鍗�" +// @Router /purchase/purchase [post] +func (e *PurchaseApi) CreatePurchase(c *gin.Context) { + var params purchaserequest.AddPurchase + err := c.ShouldBindJSON(¶ms) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = service.NewPurchaseService().CreatePurchase(params) + if err != nil { + global.GVA_LOG.Error("鍒涘缓澶辫触!", zap.Error(err)) + response.FailWithMessage("鍒涘缓澶辫触", c) + return + } + response.OkWithMessage("鍒涘缓鎴愬姛", c) +} + +// DeletePurchase +// @Tags Purchase +// @Summary 鍒犻櫎閲囪喘鍗� +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param id path int true "閲囪喘鍗旾D" +// @Success 200 {object} response.Response{msg=string} "鍒犻櫎閲囪喘鍗�" +// @Router /purchase/purchase/{id} [delete] +func (e *PurchaseApi) DeletePurchase(c *gin.Context) { + id, _ := strconv.Atoi(c.Param("id")) + if id == 0 { + response.FailWithMessage("鍙傛暟缂哄け", c) + return + } + err := service.NewPurchaseService().DeletePurchase(uint(id)) + if err != nil { + global.GVA_LOG.Error("鍒犻櫎澶辫触!", zap.Error(err)) + response.FailWithMessage("鍒犻櫎澶辫触", c) + return + } + response.OkWithMessage("鍒犻櫎鎴愬姛", c) +} + +// UpdatePurchase +// @Tags Purchase +// @Summary 鏇存柊閲囪喘鍗曚俊鎭� +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body purchaserequest.AddPurchase true "閲囪喘鍗旾D, 閲囪喘鍗曚俊鎭�" +// @Success 200 {object} response.Response{msg=string} "鏇存柊閲囪喘鍗曚俊鎭�" +// @Router /purchase/purchase [put] +func (e *PurchaseApi) UpdatePurchase(c *gin.Context) { + var params purchaserequest.AddPurchase + err := c.ShouldBindJSON(¶ms) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = utils.Verify(params.Purchase.GVA_MODEL, utils.IdVerify) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = service.NewPurchaseService().UpdatePurchase(¶ms) + if err != nil { + global.GVA_LOG.Error("鏇存柊澶辫触!", zap.Error(err)) + response.FailWithMessage("鏇存柊澶辫触", c) + return + } + response.OkWithMessage("鏇存柊鎴愬姛", c) +} + +// GetPurchase +// @Tags Purchase +// @Summary 鑾峰彇鍗曚竴閲囪喘鍗曚俊鎭� +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param id path int true "閲囪喘鍗旾D" true "閲囪喘鍗旾D" +// @Success 200 {object} response.Response{data=purchaseRes.PurchaseResponse,msg=string} "鑾峰彇鍗曚竴閲囪喘鍗曚俊鎭�,杩斿洖鍖呮嫭閲囪喘鍗曡鎯�" +// @Router /purchase/purchase/{id} [get] +func (e *PurchaseApi) GetPurchase(c *gin.Context) { + id, _ := strconv.Atoi(c.Param("id")) + if id == 0 { + response.FailWithMessage("鍙傛暟缂哄け", c) + return + } + data, err := service.NewPurchaseService().GetPurchase(uint(id)) + if err != nil { + global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) + response.FailWithMessage("鑾峰彇澶辫触", c) + return + } + productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(id)) + if err != nil { + global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) + response.FailWithMessage("鑾峰彇澶辫触", c) + return + } + response.OkWithDetailed(purchaseRes.PurchaseResponse{Purchase: data, ProductList: productList}, "鑾峰彇鎴愬姛", c) +} + +// GetPurchaseList +// @Tags Purchase +// @Summary 鍒嗛〉鑾峰彇閲囪喘鍗曞垪琛� +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data query request.PageInfo true "椤电爜, 姣忛〉澶у皬" +// @Success 200 {object} response.Response{data=response.PageResult,msg=string} "鍒嗛〉鑾峰彇閲囪喘鍗曞垪琛�,杩斿洖鍖呮嫭鍒楄〃,鎬绘暟,椤电爜,姣忛〉鏁伴噺" +// @Router /purchase/purchaseList [get] +func (e *PurchaseApi) GetPurchaseList(c *gin.Context) { + var pageInfo request.PageInfo + err := c.ShouldBindQuery(&pageInfo) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = utils.Verify(pageInfo, utils.PageInfoVerify) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + PurchaseList, total, err := service.NewPurchaseService().GetPurchaseList(pageInfo) + if err != nil { + global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) + response.FailWithMessage("鑾峰彇澶辫触"+err.Error(), c) + return + } + response.OkWithDetailed(response.PageResult{ + List: PurchaseList, + Total: total, + Page: pageInfo.Page, + PageSize: pageInfo.PageSize, + }, "鑾峰彇鎴愬姛", c) +} + +// Submit +// @Tags Purchase +// @Summary 鎻愪氦閲囪喘鍗� +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param id path int true "閲囪喘鍗旾D" +// @Success 200 {object} response.Response{msg=string} "鎻愪氦閲囪喘鍗�" +// @Router /purchase/submit/{id} [post] +func (e *PurchaseApi) Submit(c *gin.Context) { + var params purchaserequest.AddPurchase + err := c.ShouldBindJSON(¶ms) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = utils.Verify(params.Purchase.GVA_MODEL, utils.IdVerify) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = service.NewPurchaseService().UpdatePurchase(¶ms) + if err != nil { + global.GVA_LOG.Error("鏇存柊澶辫触!", zap.Error(err)) + response.FailWithMessage("鏇存柊澶辫触", c) + return + } + response.OkWithMessage("鏇存柊鎴愬姛", c) +} -- Gitblit v1.8.0