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 {
|
message ViewedRequest {
|
||||||
string Domain = 1 [json_name = "domain"];
|
string Domain = 1 [json_name = "domain"];
|
||||||
uint64 ID = 2 [json_name = "ID"];
|
uint64 ID = 2 [json_name = "ID"];
|
||||||
@ -94,19 +108,6 @@ message Exhibition {
|
|||||||
repeated ApprovalExhibition ApprovalExhibitions = 4 [json_name = "approvalExhibitions"];
|
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 {
|
message CreateRequest {
|
||||||
uint64 ID = 1 [json_name = "ID"];
|
uint64 ID = 1 [json_name = "ID"];
|
||||||
string Domain = 2 [json_name = "domain"];
|
string Domain = 2 [json_name = "domain"];
|
||||||
@ -119,10 +120,11 @@ message CreateRequest {
|
|||||||
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//抄送人
|
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//抄送人
|
||||||
string Content = 10 [json_name = "content"];//申请内容
|
string Content = 10 [json_name = "content"];//申请内容
|
||||||
string Reply = 11 [json_name = "reply"];//回复
|
string Reply = 11 [json_name = "reply"];//回复
|
||||||
Work Work = 12 [json_name = "work"];
|
bool IsViewed = 12 [json_name = "IsViewed"];//抄送人是否查看过
|
||||||
Show Show = 13 [json_name = "show"];
|
Work Work = 13 [json_name = "work"];
|
||||||
Exhibition Exhibition = 14 [json_name = "exhibition"];
|
Show Show = 14 [json_name = "show"];
|
||||||
Bundle Bundle = 15 [json_name = "bundle"];
|
Exhibition Exhibition = 15 [json_name = "exhibition"];
|
||||||
|
Bundle Bundle = 16 [json_name = "bundle"];
|
||||||
}
|
}
|
||||||
|
|
||||||
message DetailRequest {
|
message DetailRequest {
|
||||||
|
@ -280,6 +280,11 @@ func ApprovalList(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
modelObj = modelObj.Where(&Approval{Type: in.Type})
|
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 {
|
if in.Status != 0 {
|
||||||
modelObj = modelObj.Where(&Approval{Status: int8(in.Status)})
|
modelObj = modelObj.Where(&Approval{Status: int8(in.Status)})
|
||||||
}
|
}
|
||||||
|
@ -6,11 +6,20 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
//BuildApproval 处理单个detail返回
|
//BuildApproval 处理单个detail返回
|
||||||
func BuildApproval(entity *model.Approval) *approval.CreateRequest {
|
func BuildApproval(entity *model.Approval, userId uint64) *approval.CreateRequest {
|
||||||
var work *approval.Work
|
var work *approval.Work
|
||||||
var show *approval.Show
|
var show *approval.Show
|
||||||
var exhibition *approval.Exhibition
|
var exhibition *approval.Exhibition
|
||||||
var bundle *approval.Bundle
|
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{
|
response := &approval.CreateRequest{
|
||||||
ID: entity.ID,
|
ID: entity.ID,
|
||||||
@ -19,10 +28,11 @@ func BuildApproval(entity *model.Approval) *approval.CreateRequest {
|
|||||||
Type: entity.Type,
|
Type: entity.Type,
|
||||||
ApproverID: entity.ApproverID,
|
ApproverID: entity.ApproverID,
|
||||||
ApproverName: entity.ApproverName,
|
ApproverName: entity.ApproverName,
|
||||||
CopyUsers: model.FormatToResponse(entity.CopyUsers),
|
CopyUsers: copyUsers,
|
||||||
SubmitterID: entity.SubmitterID,
|
SubmitterID: entity.SubmitterID,
|
||||||
SubmitterName: entity.SubmitterName,
|
SubmitterName: entity.SubmitterName,
|
||||||
Content: entity.Content,
|
Content: entity.Content,
|
||||||
|
IsViewed: isViewed,
|
||||||
Reply: entity.Reply,
|
Reply: entity.Reply,
|
||||||
Work: work,
|
Work: work,
|
||||||
Show: show,
|
Show: show,
|
||||||
@ -36,10 +46,10 @@ func BuildApproval(entity *model.Approval) *approval.CreateRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//BuildApprovals 处理单个detail返回
|
//BuildApprovals 处理单个detail返回
|
||||||
func BuildApprovals(list []*model.Approval) (details []*approval.CreateRequest) {
|
func BuildApprovals(list []*model.Approval, userId uint64) (details []*approval.CreateRequest) {
|
||||||
|
|
||||||
for _, item := range list {
|
for _, item := range list {
|
||||||
temp := BuildApproval(item)
|
temp := BuildApproval(item, userId)
|
||||||
details = append(details, temp)
|
details = append(details, temp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.DetailReques
|
|||||||
return response, err
|
return response, err
|
||||||
}
|
}
|
||||||
|
|
||||||
response = serializer.BuildApproval(entity)
|
response = serializer.BuildApproval(entity, 0)
|
||||||
|
|
||||||
return response, err
|
return response, err
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ func (a *ApprovalProvider) List(ctx context.Context, in *approval.ListRequest) (
|
|||||||
list, count = model.ApprovalList(in)
|
list, count = model.ApprovalList(in)
|
||||||
|
|
||||||
response.Count = uint64(count)
|
response.Count = uint64(count)
|
||||||
response.Data = serializer.BuildApprovals(list)
|
response.Data = serializer.BuildApprovals(list, in.UserId)
|
||||||
return response, nil
|
return response, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,17 +151,23 @@ func (a *ApprovalProvider) UpdateSetting(ctx context.Context, in *approval.Setti
|
|||||||
ApproverName: in.ApproverName,
|
ApproverName: in.ApproverName,
|
||||||
Domain: in.Domain,
|
Domain: in.Domain,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = model.DB.Save(&setting).Error
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
setting.DepartmentID = in.DepartmentID
|
setting.DepartmentID = in.DepartmentID
|
||||||
setting.CopyUsers = copyUsers
|
setting.CopyUsers = copyUsers
|
||||||
setting.ApproverID = in.ApproverID
|
setting.ApproverID = in.ApproverID
|
||||||
setting.ApproverName = in.ApproverName
|
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
|
return response, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user