Commit 1ade2ab3 by chenxianqi

update

parent 7c8e65bf
......@@ -8,6 +8,7 @@ import (
"strconv"
"github.com/astaxie/beego/orm"
"github.com/astaxie/beego/validation"
)
// WorkOrderController struct
......@@ -136,3 +137,38 @@ func (c *WorkOrderController) GetWorkTypes() {
workOrderTypes := c.WorkOrderTypeRepository.GetWorkOrderTypes()
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() {
beego.NSRouter("/type/:id", &controllers.WorkOrderController{}, "delete:DeleteWorkType"),
beego.NSRouter("/type/:id", &controllers.WorkOrderController{}, "get:GetWorkType"),
beego.NSRouter("/types", &controllers.WorkOrderController{}, "get:GetWorkTypes"),
beego.NSRouter("/close", &controllers.WorkOrderController{}, "post:CloseWorkOrder"),
),
)
beego.AddNamespace(ns)
......
......@@ -15,7 +15,7 @@ type WorkOrderRepositoryInterface interface {
Update(id int64, params *orm.Params) (int64, error)
Add(workOrder models.WorkOrder) (int64, error)
Delete(id int64) (int64, error)
Close(id int64) (int64, error)
Close(id int64, cid int64, remark string) (int64, error)
}
// WorkOrderRepository struct
......@@ -33,13 +33,20 @@ func GetWorkOrderRepositoryInstance() *WorkOrderRepository {
}
// 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{
"Status": 3,
})
if err != nil {
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
}
......@@ -56,7 +63,7 @@ func (r *WorkOrderRepository) GetUserWorkOrders(uid int64) ([]models.WorkOrder,
// GetWorkOrder get WorkOrder
func (r *WorkOrderRepository) GetWorkOrder(id int64) (models.WorkOrder, error) {
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 {
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