package v1
|
|
import (
|
"aps_crm/model"
|
"aps_crm/model/request"
|
"aps_crm/model/response"
|
"aps_crm/pkg/contextx"
|
"aps_crm/pkg/ecode"
|
"github.com/gin-gonic/gin"
|
"strconv"
|
)
|
|
type OrderManageApi struct{}
|
|
// Add
|
//
|
// @Tags OrderManage
|
// @Summary 添加工单
|
// @Produce application/json
|
// @Param object body request.AddOrderManage true "查询参数"
|
// @Success 200 {object} contextx.Response{}
|
// @Router /api/orderManage/add [post]
|
func (o *OrderManageApi) Add(c *gin.Context) {
|
var params request.AddOrderManage
|
ctx, ok := contextx.NewContext(c, ¶ms)
|
if !ok {
|
return
|
}
|
|
errCode, orderManage := checkOrderManageParams(params.OrderManage)
|
if errCode != ecode.OK {
|
ctx.Fail(errCode)
|
return
|
}
|
|
errCode = orderManageService.AddOrderManage(&orderManage)
|
if errCode != ecode.OK {
|
ctx.Fail(errCode)
|
return
|
}
|
|
ctx.Ok()
|
}
|
|
// Delete
|
//
|
// @Tags OrderManage
|
// @Summary 删除工单
|
// @Produce application/json
|
// @Param id path int true "查询参数"
|
// @Success 200 {object} contextx.Response{}
|
// @Router /api/orderManage/delete/{id} [delete]
|
func (o *OrderManageApi) Delete(c *gin.Context) {
|
ctx, ok := contextx.NewContext(c, nil)
|
if !ok {
|
return
|
}
|
|
id, _ := strconv.Atoi(c.Param("id"))
|
errCode := orderManageService.DeleteOrderManage(id)
|
if errCode != ecode.OK {
|
ctx.Fail(errCode)
|
return
|
}
|
|
ctx.Ok()
|
}
|
|
// Update
|
//
|
// @Tags OrderManage
|
// @Summary 更新工单
|
// @Produce application/json
|
// @Param object body request.UpdateOrderManage true "查询参数"
|
// @Success 200 {object} contextx.Response{}
|
// @Router /api/orderManage/update [put]
|
func (o *OrderManageApi) Update(c *gin.Context) {
|
var params request.UpdateOrderManage
|
ctx, ok := contextx.NewContext(c, ¶ms)
|
if !ok {
|
return
|
}
|
|
errCode, orderManage := checkOrderManageParams(params.OrderManage)
|
if errCode != ecode.OK {
|
ctx.Fail(errCode)
|
return
|
}
|
|
orderManage.Id = params.Id
|
|
errCode = orderManageService.UpdateOrderManage(&orderManage)
|
if errCode != ecode.OK {
|
ctx.Fail(errCode)
|
return
|
}
|
|
ctx.Ok()
|
}
|
|
|
// checkOrderManageParams
|
func checkOrderManageParams(orderManage request.OrderManage) (int, model.OrderManage) {
|
// check orderManage exist
|
//if orderManage.ClientId == 0 {
|
// return ecode.InvalidParams, model.OrderManage{}
|
//}
|
//
|
//if orderManage.Number == "" {
|
// return ecode.InvalidParams, model.OrderManage{}
|
//}
|
//
|
//if orderManage.ProblemDescription == "" {
|
// return ecode.InvalidParams, model.OrderManage{}
|
//}
|
//
|
//if orderManage.OrderType == 0 {
|
// return ecode.InvalidParams, model.OrderManage{}
|
//}
|
|
return ecode.OK, model.OrderManage{
|
Name: orderManage.Name,
|
ClientId: orderManage.ClientId,
|
Number: orderManage.Number,
|
OrderType: orderManage.OrderType,
|
ContactId: orderManage.ContactId,
|
ReportSourceId: orderManage.ReportSourceId,
|
SourceSheet: orderManage.SourceSheet,
|
ProblemDescription: orderManage.ProblemDescription,
|
File: orderManage.File,
|
}
|
}
|
|
// List
|
//
|
// @Tags OrderManage
|
// @Summary 工单管理列表
|
// @Produce application/json
|
// @Param object body request.GetOrderManageList true "参数"
|
// @Success 200 {object} contextx.Response{data=response.OrderManageResponse}
|
// @Router /api/orderManage/list [post]
|
func (con *OrderManageApi) List(c *gin.Context) {
|
var params request.GetOrderManageList
|
ctx, ok := contextx.NewContext(c, ¶ms)
|
if !ok {
|
return
|
}
|
|
orderManages, errCode := orderManageService.GetOrderManageList(params.Page, params.PageSize, params.Keyword)
|
if errCode != ecode.OK {
|
ctx.Fail(errCode)
|
return
|
}
|
|
ctx.OkWithDetailed(response.OrderManageResponse{
|
List: orderManages,
|
Count: len(orderManages),
|
})
|
}
|