feat 增加是否已读的列表页展示
This commit is contained in:
parent
cfa705caa9
commit
56028d1db0
@ -1,6 +1,7 @@
|
||||
# 帮助文档
|
||||
|
||||
## 一、审批服务
|
||||
[接口文档](https://alidocs.dingtalk.com/i/team/WO3GjkDQW0x3qzDR/docs/WO4GjlraPpEvoXDR#)
|
||||
|
||||
### 部门服务
|
||||

|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,20 @@ service Approval {
|
||||
|
||||
}
|
||||
|
||||
message ListRequest {
|
||||
string Domain = 1 [json_name = "domain"];
|
||||
uint64 Limit = 2 [json_name = "limit"]; //
|
||||
uint64 Offset = 3 [json_name = "offset"]; //
|
||||
uint64 Status = 4 [json_name = "status"];//0待审批 1-审批成功 2-拒绝
|
||||
string Type = 5 [json_name = "type"]; //类型
|
||||
uint64 UserID = 6 [json_name = "userID"]; //
|
||||
}
|
||||
|
||||
message ListResponse {
|
||||
uint64 Count = 1 [json_name = "count"];
|
||||
repeated CreateRequest data = 2 [json_name = "data"];
|
||||
}
|
||||
|
||||
message ViewedRequest {
|
||||
string Domain = 1 [json_name = "domain"];
|
||||
uint64 ID = 2 [json_name = "ID"];
|
||||
@ -94,19 +108,6 @@ message Exhibition {
|
||||
repeated ApprovalExhibition ApprovalExhibitions = 4 [json_name = "approvalExhibitions"];
|
||||
}
|
||||
|
||||
message ListRequest {
|
||||
string Domain = 1 [json_name = "domain"];
|
||||
uint64 Limit = 2 [json_name = "limit"]; //
|
||||
uint64 Offset = 3 [json_name = "offset"]; //
|
||||
uint64 Status = 4 [json_name = "status"];//0待审批 1-审批成功 2-拒绝
|
||||
string Type = 5 [json_name = "type"]; //类型
|
||||
}
|
||||
|
||||
message ListResponse {
|
||||
uint64 Count = 1 [json_name = "count"];
|
||||
repeated CreateRequest data = 2 [json_name = "data"];
|
||||
}
|
||||
|
||||
message CreateRequest {
|
||||
uint64 ID = 1 [json_name = "ID"];
|
||||
string Domain = 2 [json_name = "domain"];
|
||||
@ -119,10 +120,11 @@ message CreateRequest {
|
||||
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//抄送人
|
||||
string Content = 10 [json_name = "content"];//申请内容
|
||||
string Reply = 11 [json_name = "reply"];//回复
|
||||
Work Work = 12 [json_name = "work"];
|
||||
Show Show = 13 [json_name = "show"];
|
||||
Exhibition Exhibition = 14 [json_name = "exhibition"];
|
||||
Bundle Bundle = 15 [json_name = "bundle"];
|
||||
bool IsViewed = 12 [json_name = "IsViewed"];//抄送人是否查看过
|
||||
Work Work = 13 [json_name = "work"];
|
||||
Show Show = 14 [json_name = "show"];
|
||||
Exhibition Exhibition = 15 [json_name = "exhibition"];
|
||||
Bundle Bundle = 16 [json_name = "bundle"];
|
||||
}
|
||||
|
||||
message DetailRequest {
|
||||
|
@ -280,6 +280,11 @@ func ApprovalList(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
modelObj = modelObj.Where(&Approval{Type: in.Type})
|
||||
}
|
||||
|
||||
if in.UserId != 0 {
|
||||
modelObj = modelObj.Where(DB.Where(&Approval{ApproverID: in.UserId}).
|
||||
Or("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserId))
|
||||
}
|
||||
|
||||
if in.Status != 0 {
|
||||
modelObj = modelObj.Where(&Approval{Status: int8(in.Status)})
|
||||
}
|
||||
|
@ -6,11 +6,20 @@ import (
|
||||
)
|
||||
|
||||
//BuildApproval 处理单个detail返回
|
||||
func BuildApproval(entity *model.Approval) *approval.CreateRequest {
|
||||
func BuildApproval(entity *model.Approval, userId uint64) *approval.CreateRequest {
|
||||
var work *approval.Work
|
||||
var show *approval.Show
|
||||
var exhibition *approval.Exhibition
|
||||
var bundle *approval.Bundle
|
||||
isViewed := false
|
||||
|
||||
copyUsers := model.FormatToResponse(entity.CopyUsers)
|
||||
|
||||
for _, cu := range copyUsers {
|
||||
if userId != 0 && cu.ID == userId && cu.IsViewed == true {
|
||||
isViewed = true
|
||||
}
|
||||
}
|
||||
|
||||
response := &approval.CreateRequest{
|
||||
ID: entity.ID,
|
||||
@ -19,10 +28,11 @@ func BuildApproval(entity *model.Approval) *approval.CreateRequest {
|
||||
Type: entity.Type,
|
||||
ApproverID: entity.ApproverID,
|
||||
ApproverName: entity.ApproverName,
|
||||
CopyUsers: model.FormatToResponse(entity.CopyUsers),
|
||||
CopyUsers: copyUsers,
|
||||
SubmitterID: entity.SubmitterID,
|
||||
SubmitterName: entity.SubmitterName,
|
||||
Content: entity.Content,
|
||||
IsViewed: isViewed,
|
||||
Reply: entity.Reply,
|
||||
Work: work,
|
||||
Show: show,
|
||||
@ -36,10 +46,10 @@ func BuildApproval(entity *model.Approval) *approval.CreateRequest {
|
||||
}
|
||||
|
||||
//BuildApprovals 处理单个detail返回
|
||||
func BuildApprovals(list []*model.Approval) (details []*approval.CreateRequest) {
|
||||
func BuildApprovals(list []*model.Approval, userId uint64) (details []*approval.CreateRequest) {
|
||||
|
||||
for _, item := range list {
|
||||
temp := BuildApproval(item)
|
||||
temp := BuildApproval(item, userId)
|
||||
details = append(details, temp)
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.DetailReques
|
||||
return response, err
|
||||
}
|
||||
|
||||
response = serializer.BuildApproval(entity)
|
||||
response = serializer.BuildApproval(entity, 0)
|
||||
|
||||
return response, err
|
||||
}
|
||||
@ -127,7 +127,7 @@ func (a *ApprovalProvider) List(ctx context.Context, in *approval.ListRequest) (
|
||||
list, count = model.ApprovalList(in)
|
||||
|
||||
response.Count = uint64(count)
|
||||
response.Data = serializer.BuildApprovals(list)
|
||||
response.Data = serializer.BuildApprovals(list, in.UserId)
|
||||
return response, nil
|
||||
}
|
||||
|
||||
@ -151,17 +151,23 @@ func (a *ApprovalProvider) UpdateSetting(ctx context.Context, in *approval.Setti
|
||||
ApproverName: in.ApproverName,
|
||||
Domain: in.Domain,
|
||||
}
|
||||
|
||||
err = model.DB.Save(&setting).Error
|
||||
|
||||
} else {
|
||||
setting.DepartmentID = in.DepartmentID
|
||||
setting.CopyUsers = copyUsers
|
||||
setting.ApproverID = in.ApproverID
|
||||
setting.ApproverName = in.ApproverName
|
||||
|
||||
err = model.DB.Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentID}).Updates(&setting).Error
|
||||
}
|
||||
|
||||
err = model.DB.Save(&setting).Error
|
||||
if err == nil {
|
||||
response.ID = setting.ID
|
||||
response.Success = true
|
||||
}
|
||||
|
||||
response.ID = setting.ID
|
||||
response.Success = true
|
||||
return response, err
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user