141 lines
2.8 KiB
Go
141 lines
2.8 KiB
Go
package http
|
|
|
|
import (
|
|
"context"
|
|
"go-common/app/admin/main/apm/conf"
|
|
"go-common/app/admin/main/apm/model/need"
|
|
|
|
bm "go-common/library/net/http/blademaster"
|
|
)
|
|
|
|
// @params NListReq
|
|
// @router get /x/admin/apm/need/list
|
|
// @response NListResp
|
|
func needList(c *bm.Context) {
|
|
var (
|
|
infos []*need.NInfo
|
|
total int64
|
|
err error
|
|
)
|
|
username := name(c)
|
|
arg := new(need.NListReq)
|
|
if err = c.Bind(arg); err != nil {
|
|
return
|
|
}
|
|
if infos, total, err = apmSvc.NeedInfoList(c, arg, username); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
res := &need.NListResp{
|
|
Data: infos,
|
|
Total: total,
|
|
}
|
|
c.JSON(res, nil)
|
|
}
|
|
|
|
// @params NAddReq
|
|
// @router post /x/admin/apm/need/add
|
|
// @response EmpResp
|
|
func needAdd(c *bm.Context) {
|
|
var err error
|
|
username := name(c)
|
|
|
|
req := new(need.NAddReq)
|
|
if err = c.Bind(req); err != nil {
|
|
return
|
|
}
|
|
if err = apmSvc.NeedInfoAdd(c, req, username); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
go apmSvc.SendWeMessage(context.Background(), req.Title, need.VerifyType[need.NeedApply], "", username, conf.Conf.Superman)
|
|
go apmSvc.SendWeMessage(context.Background(), req.Title, need.VerifyType[need.NeedVerify], "", username, []string{username})
|
|
|
|
c.JSON(nil, err)
|
|
|
|
}
|
|
|
|
// @params NEditReq
|
|
// @router post /x/admin/apm/need/edit
|
|
// @response EmpResp
|
|
func needEdit(c *bm.Context) {
|
|
var err error
|
|
req := new(need.NEditReq)
|
|
if err = c.Bind(req); err != nil {
|
|
return
|
|
}
|
|
username := name(c)
|
|
|
|
if err = apmSvc.NeedInfoEdit(c, req, username); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSON(nil, err)
|
|
|
|
}
|
|
|
|
// @params NVerifyReq
|
|
// @router post /x/admin/apm/need/verify
|
|
// @response EmpResp
|
|
func needVerify(c *bm.Context) {
|
|
var (
|
|
err error
|
|
ni *need.NInfo
|
|
)
|
|
req := new(need.NVerifyReq)
|
|
if err = c.Bind(req); err != nil {
|
|
return
|
|
}
|
|
username := name(c)
|
|
if ni, err = apmSvc.NeedInfoVerify(c, req); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
go apmSvc.SendWeMessage(context.Background(), ni.Title, need.VerifyType[need.NeedReview], need.VerifyType[req.Status], username, []string{username})
|
|
|
|
c.JSON(nil, err)
|
|
|
|
}
|
|
|
|
// @params Likereq
|
|
// @router post /x/admin/apm/need/thumbsup
|
|
// @response EmpResp
|
|
func needThumbsUp(c *bm.Context) {
|
|
var err error
|
|
req := new(need.Likereq)
|
|
if err = c.Bind(req); err != nil {
|
|
return
|
|
}
|
|
username := name(c)
|
|
if err = apmSvc.NeedInfoVote(c, req, username); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSON(nil, err)
|
|
|
|
}
|
|
|
|
// @params Likereq
|
|
// @router get /x/admin/need/vote/list
|
|
// @response VoteListResp
|
|
func needVoteList(c *bm.Context) {
|
|
var (
|
|
votes []*need.UserLikes
|
|
total int64
|
|
err error
|
|
)
|
|
req := new(need.Likereq)
|
|
if err = c.Bind(req); err != nil {
|
|
return
|
|
}
|
|
if votes, total, err = apmSvc.NeedVoteList(c, req); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
res := &need.VoteListResp{
|
|
Data: votes,
|
|
Total: total,
|
|
}
|
|
c.JSON(res, nil)
|
|
}
|