feat 增加是否已读的列表页展示

main
耿阳 2 years ago
parent cfa705caa9
commit 56028d1db0

@ -1,6 +1,7 @@
# 帮助文档
## 一、审批服务
[接口文档](https://alidocs.dingtalk.com/i/team/WO3GjkDQW0x3qzDR/docs/WO4GjlraPpEvoXDR#)
### 部门服务
![image](docs/readmeimage/img_department.png)

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.Save(&setting).Error
err = model.DB.Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentID}).Updates(&setting).Error
}
if err == nil {
response.ID = setting.ID
response.Success = true
}
return response, err
}

Loading…
Cancel
Save