Commit 1ade2ab3 by chenxianqi

update

parent 7c8e65bf
...@@ -8,6 +8,7 @@ import ( ...@@ -8,6 +8,7 @@ import (
"strconv" "strconv"
"github.com/astaxie/beego/orm" "github.com/astaxie/beego/orm"
"github.com/astaxie/beego/validation"
) )
// WorkOrderController struct // WorkOrderController struct
...@@ -136,3 +137,38 @@ func (c *WorkOrderController) GetWorkTypes() { ...@@ -136,3 +137,38 @@ func (c *WorkOrderController) GetWorkTypes() {
workOrderTypes := c.WorkOrderTypeRepository.GetWorkOrderTypes() workOrderTypes := c.WorkOrderTypeRepository.GetWorkOrderTypes()
c.JSON(configs.ResponseSucess, "查询成功!", workOrderTypes) c.JSON(configs.ResponseSucess, "查询成功!", workOrderTypes)
} }
// CloseWorkOrder close workorder
func (c *WorkOrderController) CloseWorkOrder() {
// GetAdminAuthInfo
auth := c.GetAdminAuthInfo()
type Request struct {
CID int64 `json:"cid"`
WID int64 `json:"wid"`
Remark string `json:"remark"`
}
request := Request{}
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &request); err != nil {
c.JSON(configs.ResponseFail, "参数有误,请检查!", nil)
}
// validation
valid := validation.Validation{}
valid.Required(request.WID, "wid").Message("工单ID不能为空!")
valid.Required(request.Remark, "remark").Message("关闭原因不能为空!")
if valid.HasErrors() {
for _, err := range valid.Errors {
c.JSON(configs.ResponseFail, err.Message, nil)
}
}
rows, err := c.WorkOrderRepository.Close(request.WID, auth.UID, request.Remark)
if err != nil {
c.JSON(configs.ResponseFail, "关闭失败,出现异常!", nil)
}
c.JSON(configs.ResponseSucess, "工单已关闭!", rows)
}
...@@ -166,6 +166,7 @@ func init() { ...@@ -166,6 +166,7 @@ func init() {
beego.NSRouter("/type/:id", &controllers.WorkOrderController{}, "delete:DeleteWorkType"), beego.NSRouter("/type/:id", &controllers.WorkOrderController{}, "delete:DeleteWorkType"),
beego.NSRouter("/type/:id", &controllers.WorkOrderController{}, "get:GetWorkType"), beego.NSRouter("/type/:id", &controllers.WorkOrderController{}, "get:GetWorkType"),
beego.NSRouter("/types", &controllers.WorkOrderController{}, "get:GetWorkTypes"), beego.NSRouter("/types", &controllers.WorkOrderController{}, "get:GetWorkTypes"),
beego.NSRouter("/close", &controllers.WorkOrderController{}, "post:CloseWorkOrder"),
), ),
) )
beego.AddNamespace(ns) beego.AddNamespace(ns)
......
...@@ -15,7 +15,7 @@ type WorkOrderRepositoryInterface interface { ...@@ -15,7 +15,7 @@ type WorkOrderRepositoryInterface interface {
Update(id int64, params *orm.Params) (int64, error) Update(id int64, params *orm.Params) (int64, error)
Add(workOrder models.WorkOrder) (int64, error) Add(workOrder models.WorkOrder) (int64, error)
Delete(id int64) (int64, error) Delete(id int64) (int64, error)
Close(id int64) (int64, error) Close(id int64, cid int64, remark string) (int64, error)
} }
// WorkOrderRepository struct // WorkOrderRepository struct
...@@ -33,13 +33,20 @@ func GetWorkOrderRepositoryInstance() *WorkOrderRepository { ...@@ -33,13 +33,20 @@ func GetWorkOrderRepositoryInstance() *WorkOrderRepository {
} }
// Close close WorkOrder // Close close WorkOrder
func (r *WorkOrderRepository) Close(id int64) (int64, error) { func (r *WorkOrderRepository) Close(id int64, cid int64, remark string) (int64, error) {
row, err := r.q.Filter("id", id).Update(orm.Params{ row, err := r.q.Filter("id", id).Update(orm.Params{
"Status": 3, "Status": 3,
}) })
if err != nil { if err != nil {
logs.Warn("Close close WorkOrder-----------", err) logs.Warn("Close close WorkOrder-----------", err)
} }
if _, err := r.Update(id, orm.Params{
"Remark": remark,
"Cid": cid,
"CloseAt": time.Now().Unix(),
}); err != nil {
logs.Warn("Close close WorkOrder-----------", err)
}
return row, err return row, err
} }
...@@ -56,7 +63,7 @@ func (r *WorkOrderRepository) GetUserWorkOrders(uid int64) ([]models.WorkOrder, ...@@ -56,7 +63,7 @@ func (r *WorkOrderRepository) GetUserWorkOrders(uid int64) ([]models.WorkOrder,
// GetWorkOrder get WorkOrder // GetWorkOrder get WorkOrder
func (r *WorkOrderRepository) GetWorkOrder(id int64) (models.WorkOrder, error) { func (r *WorkOrderRepository) GetWorkOrder(id int64) (models.WorkOrder, error) {
var workOrder models.WorkOrder var workOrder models.WorkOrder
err := r.q.Filter("id", id).One(&workOrder) err := r.q.Filter("id", id).Filter("delete", 0).One(&workOrder)
if err != nil { if err != nil {
logs.Warn("GetWorkOrder get WorkOrder------------", err) logs.Warn("GetWorkOrder get WorkOrder------------", err)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment