package controllers import ( "github.com/gin-gonic/gin" "net/http" "psi/constant" "psi/database" systemReq "psi/models/request" systemRes "psi/models/response" "psi/service" "psi/utils" ) type SalesApi struct{} var salesService = service.SalesService{} // GetSalesOrderList 获取销售订单列表 func (r *SalesApi) GetSalesOrderList(c *gin.Context) { var req systemReq.GetSalesOrderListRequest if err := c.ShouldBindQuery(&req); err != nil { ValidAndFail(constant.LoggerChannelRequest, "销售订单列表请求参数异常", "参数错误: "+err.Error(), c, err) return } userInfo := utils.GetUserInfo(c) result, err := salesService.GetSalesOrderList(req, userInfo.ID, userInfo.Role, database.GetDB(c)) if err != nil { utils.FailWithRequestLog(constant.LoggerChannelWork, "销售订单列表异常", err, c, req) return } c.JSON(http.StatusOK, gin.H{ "code": 200, "data": result, }) } // GetSalesOrderDetail 获取销售订单详情 func (r *SalesApi) GetSalesOrderDetail(c *gin.Context) { var req systemReq.GetSalesOrderDetailRequest if err := c.ShouldBindQuery(&req); err != nil { ValidAndFail(constant.LoggerChannelRequest, "销售订单详情请求参数异常", "参数错误: "+err.Error(), c, err) return } userInfo := utils.GetUserInfo(c) result, err := salesService.GetSalesOrderDetail(req.ID, userInfo.ID, userInfo.Role, database.GetDB(c)) if err != nil { utils.FailWithRequestLog(constant.LoggerChannelWork, "销售订单详情异常", err, c, req) return } systemRes.OkWithDetailed(result, "查询成功", c) } // GetSalesOrderDetailList 获取分页的销售订单详情列表 func (r *SalesApi) GetSalesOrderDetailList(c *gin.Context) { var req systemReq.GetSalesOrderDetailListRequest if err := c.ShouldBindQuery(&req); err != nil { ValidAndFail(constant.LoggerChannelRequest, "销售订单详情列表请求参数异常", "参数错误: "+err.Error(), c, err) return } userInfo := utils.GetUserInfo(c) result, err := salesService.GetSalesOrderDetailList(req, userInfo.ID, userInfo.Role, database.GetDB(c)) if err != nil { utils.FailWithRequestLog(constant.LoggerChannelWork, "销售订单详情列表异常", err, c, req) return } c.JSON(http.StatusOK, gin.H{ "code": 200, "data": result, }) } // ModifySalesOrderQuantity 修改销售订单明细订购数量 func (r *SalesApi) ModifySalesOrderQuantity(c *gin.Context) { var req systemReq.ModifySalesOrderQuantityRequest if err := c.ShouldBind(&req); err != nil { ValidAndFail(constant.LoggerChannelRequest, "修改订购数量请求参数异常", "参数错误: "+err.Error(), c, err) return } userInfo := utils.GetUserInfo(c) err := salesService.ModifySalesOrderQuantity(req, userInfo.ID, userInfo.Role, database.GetDB(c)) if err != nil { utils.FailWithRequestLog(constant.LoggerChannelWork, "修改订购数量异常", err, c, req) return } systemRes.OkWithMessage("修改订购数量成功", c) }