feat 更新数据 获取汇总统计数据

fix 修改exhibition中save的错误
main
耿阳 2 years ago
parent ae137a6883
commit 15b3dcf55d

File diff suppressed because it is too large Load Diff

@ -6,52 +6,43 @@ option go_package = "./;approval";
// The approval service definition.
service Approval {
rpc Create(ApprovalRequest) returns (ApprovalResponse) {};
rpc Detail(ApprovalDetail) returns (ApprovalRequest) {};
rpc Update(ApprovalRequest) returns (ApprovalResponse) {};
rpc Remove(ApprovalDetail) returns (ApprovalRemove) {};
rpc List(ApprovalListRequest) returns (ApprovalListResponse) {};
rpc Information(InformationRequest) returns (InformationResponse) {};
rpc Viewed(ViewedRequest) returns (ApprovalResponse) {};
rpc DetailSetting(DetailSettingRequest) returns (SettingRequest) {};
rpc UpdateSetting(SettingRequest) returns (SettingResponse) {};
}
/*
rpc RemoveApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRemove) {};
rpc ListApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRequest) {};
rpc DetailApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRequest) {};
rpc CreateApprovalWork(ApprovalWorkRequest) returns (ApprovalWorkResponse) {};
rpc UpdateApprovalWork(ApprovalWorkRequest) returns (ApprovalWorkResponse) {};
rpc ListDepartmentApprovalSetting(DepartmentApprovalSettingDetail) returns (DepartmentApprovalSettingRequest) {};
rpc DetailDepartmentApprovalSetting(DepartmentApprovalSettingDetail) returns (DepartmentApprovalSettingRequest) {};
rpc CreateDepartmentApprovalSetting(DepartmentApprovalSettingRequest) returns (DepartmentApprovalSettingResponse) {};
rpc UpdateDepartmentApprovalSetting(DepartmentApprovalSettingRequest) returns (DepartmentApprovalSettingResponse) {};
rpc RemoveDepartmentApprovalSetting(DepartmentApprovalSettingDetail) returns (DepartmentApprovalSettingRemove) {};
rpc RemoveExhibition(ExhibitionDetail) returns (ExhibitionRemove) {};
rpc ListExhibition(ExhibitionDetail) returns (ExhibitionRequest) {};
rpc DetailExhibition(ExhibitionDetail) returns (ExhibitionRequest) {};
rpc CreateExhibition(ExhibitionRequest) returns (ExhibitionResponse) {};
rpc UpdateExhibition(ExhibitionRequest) returns (ExhibitionResponse) {};
rpc RemoveExhibitionNum(ExhibitionNumDetail) returns (ExhibitionNumRemove) {};
rpc ListExhibitionNum(ExhibitionNumDetail) returns (ExhibitionNumRequest) {};
rpc DetailExhibitionNum(ExhibitionNumDetail) returns (ExhibitionNumRequest) {};
rpc CreateExhibitionNum(ExhibitionNumRequest) returns (ExhibitionNumResponse) {};
rpc UpdateExhibitionNum(ExhibitionNumRequest) returns (ExhibitionNumResponse) {};
rpc DetailWork(WorkDetail) returns (WorkRequest) {};
rpc CreateWork(WorkRequest) returns (WorkResponse) {};
rpc UpdateWork(WorkRequest) returns (WorkResponse) {};
rpc RemoveWork(WorkDetail) returns (WorkRemove) {};
rpc ListWork(WorkDetail) returns (WorkRequest) {};
message ViewedRequest {
string Domain = 1 [json_name = "domain"];
uint64 ID = 2 [json_name = "ID"];
uint64 UserID = 3 [json_name = "userID"];
}
message InformationRequest {
string Domain = 1 [json_name = "domain"];
uint64 UserID = 2 [json_name = "userID"];
string Type = 3 [json_name = "type"];
}
rpc UpdateApprovalExhibition(ApprovalExhibitionRequest) returns (ApprovalExhibitionResponse) {};
rpc RemoveApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRemove) {};
rpc ListApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRequest) {};
rpc DetailApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRequest) {};
rpc CreateApprovalExhibition(ApprovalExhibitionRequest) returns (ApprovalExhibitionResponse) {};
*/
message Information {
uint64 Total = 1 [json_name = "total"]; // ()
uint64 DoingTotal = 2 [json_name = "doingTotal"]; //
uint64 SuccessTotal = 3 [json_name = "successTotal"]; //
uint64 FailTotal = 4 [json_name = "failTotal"]; //
}
message InformationResponse {
Information MySubmitInfo = 1 [json_name = "mySubmitInfo"]; // ;
Information SubmitMeInfo = 2 [json_name = "submitMeInfo"]; // ;
Information DomainInfo = 3 [json_name = "domainInfo"]; // ;
//Information CopyMeInfo = 4 [json_name = "copyMeInfo"]; // ;
}
message Bundle {
@ -69,9 +60,9 @@ message Show {
message ApprovalWork {
uint64 ID =1 [json_name = "ID"];
uint64 WorkId =2 [json_name = "WorkId"];
uint64 ApprovalID =3 [json_name = "WorkId"];
uint64 ArtworkId =4 [json_name = "artworkId"];
uint64 WorkID =2 [json_name = "WorkID"];
uint64 ApprovalID =3 [json_name = "ApprovalID"];
uint64 ArtworkID =4 [json_name = "artworkID"];
string ArtworkName =5 [json_name = "artworkName"];
string ArtistName =6 [json_name = "artistName"];
string ArtworkCover =7 [json_name = "artworkCover"];
@ -89,11 +80,11 @@ message Work {
message ApprovalExhibition {
uint64 ID =1 [json_name = "ID"];
uint64 ExhibitionID =2 [json_name = "exhibitionID"];
uint64 ApprovalID =3 [json_name = "ApprovalID"];
string ExhibitionName =4 [json_name = "exhibitionName"];
uint64 ArtworkId =5 [json_name = "artworkId"];
uint64 ExhibitionSize =6 [json_name = "exhibitionSize"];
string ExhibitionNumber =7 [json_name = "exhibitionNumber"];
uint64 ApprovalID =3 [json_name = "approvalID"];
string PackageName =4 [json_name = "packageName"];
uint64 PackageID =5 [json_name = "packageID"];
uint64 PackageSize =6 [json_name = "packageSize"];
string PackageNumber =7 [json_name = "packageNumber"];
}
message Exhibition {
@ -121,9 +112,9 @@ message ApprovalRequest {
string Domain = 2 [json_name = "domain"];
uint64 Status = 3 [json_name = "status"];//0 1- 2-
string Type = 4 [json_name = "type"]; //
uint64 ApproverId = 5 [json_name = "approverId"];//
uint64 ApproverID = 5 [json_name = "approverID"];//
string ApproverName = 6 [json_name = "approverName"];
uint64 SubmitterId = 7 [json_name = "submitterId"];//
uint64 SubmitterID = 7 [json_name = "submitterID"];//
string SubmitterName = 8 [json_name = "submitterName"];
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//
string Content = 10 [json_name = "content"];//
@ -134,82 +125,22 @@ message ApprovalRequest {
Bundle Bundle = 15 [json_name = "bundle"];
}
message ExhibitionNumRequest {
uint64 ID =1 [json_name = "ID"];
uint64 DeletedAt =2 [json_name = "deletedAt"];
string CreatedAt =3 [json_name = "createdAt"];
string UpdatedAt =4 [json_name = "updatedAt"];
string ReceivedAt =5 [json_name = "receivedAt"];
uint64 ApplicationsNum =6 [json_name = "applicationsNum"];
uint64 ApprovalId =7 [json_name = "approvalId"];
}
message ExhibitionNumDetail {
uint64 ID =1 [json_name = "ID"];
string Domain =2 [json_name = "domain"];
}
message ExhibitionNumResponse {
uint64 ID =1 [json_name = "ID"];
bool Success =2 [json_name = "success"];
}
message ExhibitionNumRemove {
bool Success =1 [json_name = "success"];
}
message WorkResponse {
uint64 ID = 1 [json_name = "ID"];
bool Success = 2 [json_name = "success"];
}
message WorkRemove {
bool Success=1 [json_name = "success"];
}
message WorkRequest {
uint64 ID=1 [json_name = "ID"];
uint64 DeletedAt=2 [json_name = "deletedAt"];
string CreatedAt=3 [json_name = "createdAt"];
string UpdatedAt=4 [json_name = "updatedAt"];
string ReturnAt=5 [json_name = "returnAt"];
string ReceivedAt=6 [json_name = "receivedAt"];
}
message WorkDetail {
uint64 ID=1 [json_name = "ID"];
string Domain=2 [json_name = "domain"];
}
message ApprovalDetail {
uint64 ID=1 [json_name = "ID"];
string Domain=2 [json_name = "domain"];
}
message ApprovalResponse {
uint64 ID=1 [json_name = "ID"];
bool Success=2 [json_name = "success"];
}
message ApprovalRemove {
bool Success=1 [json_name = "success"];
}
message ApprovalExhibitionRemove {
bool Success=1 [json_name = "success"];
}
message ApprovalExhibitionRequest {
@ -217,60 +148,19 @@ message ApprovalExhibitionRequest {
uint64 DeletedAt=2 [json_name = "deletedAt"];
string CreatedAt=3 [json_name = "createdAt"];
string UpdatedAt=4 [json_name = "updatedAt"];
uint64 ApprovalId=5 [json_name = "approvalId"];
uint64 ExhibitionId=6 [json_name = "exhibitionId"];
uint64 ApprovalID=5 [json_name = "approvalID"];
uint64 ExhibitionID=6 [json_name = "exhibitionID"];
string ExhibitionName=7 [json_name = "exhibitionName"];
uint64 ArtworkId=8 [json_name = "artworkId"];
uint64 ArtworkID=8 [json_name = "artworkID"];
string ExhibitionSize=9 [json_name = "exhibitionSize"];
string ExhibitionNumber=10 [json_name = "exhibitionNumber"];
}
message ApprovalExhibitionDetail {
uint64 ID=1 [json_name = "ID"];
string Domain=2 [json_name = "domain"];
}
message ApprovalExhibitionResponse {
uint64 ID=1 [json_name = "ID"];
bool Success=2 [json_name = "success"];
}
message ApprovalWorkRequest {
uint64 ID=1 [json_name = "ID"];
uint64 DeletedAt=2 [json_name = "deletedAt"];
string CreatedAt=3 [json_name = "createdAt"];
string UpdatedAt=4 [json_name = "updatedAt"];
uint64 ApprovalId=5 [json_name = "approvalId"];
uint64 WorkId=6 [json_name = "workId"];
uint64 ArtworkId=7 [json_name = "artworkId"];
string ArtworkName=8 [json_name = "artworkName"];
string ArtistName=9 [json_name = "artistName"];
string ArtworkCover=10 [json_name = "artworkCover"];
string ArtworkNumber=11 [json_name = "artworkNumber"];
}
message ApprovalWorkDetail {
uint64 ID=1 [json_name = "ID"];
string Domain=2 [json_name = "domain"];
}
message ApprovalWorkResponse {
uint64 ID=1 [json_name = "ID"];
bool Success=2 [json_name = "success"];
}
message ApprovalWorkRemove {
bool Success=1 [json_name = "success"];
}
message CopyUser {
uint64 ID =1 [json_name = "ID"];
string Name =2 [json_name = "name"];
@ -281,52 +171,19 @@ message SettingRequest {
uint64 DeletedAt=2 [json_name = "deletedAt"];
string CreatedAt=3 [json_name = "createdAt"];
string UpdatedAt=4 [json_name = "updatedAt"];
uint64 DepartmentId=5 [json_name = "departmentId"];
uint64 DepartmentID=5 [json_name = "departmentID"];
repeated CopyUser CopyUsers=6 [json_name = "copyUsers"];
uint64 ApproverId=7 [json_name = "approverId"];
uint64 ApproverID=7 [json_name = "approverID"];
string ApproverName=8 [json_name = "approverName"];
string Domain=9 [json_name = "domain"];
}
message DetailSettingRequest {
uint64 DepartmentId=1 [json_name = "departmentId"];
uint64 DepartmentID=1 [json_name = "departmentID"];
string Domain=2 [json_name = "domain"];
}
message SettingResponse {
uint64 ID=1 [json_name = "ID"];
bool Success=2 [json_name = "success"];
}
message DepartmentApprovalSettingRemove {
bool Success=1 [json_name = "success"];
}
message ExhibitionRequest {
uint64 ID=1 [json_name = "ID"];
uint64 DeletedAt=2 [json_name = "deletedAt"];
string CreatedAt=3 [json_name = "createdAt"];
string UpdatedAt=4 [json_name = "updatedAt"];
string ReceivedAt=5 [json_name = "receivedAt"];
uint64 ApprovalId=6 [json_name = "approvalId"];
}
message ExhibitionDetail {
uint64 ID=1 [json_name = "ID"];
string Domain=2 [json_name = "domain"];
}
message ExhibitionResponse {
uint64 ID=1 [json_name = "ID"];
bool Success=2 [json_name = "success"];
}
message ExhibitionRemove {
bool Success=1 [json_name = "success"];
}

@ -33,6 +33,8 @@ type ApprovalClient interface {
Update(ctx context.Context, in *ApprovalRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
Remove(ctx context.Context, in *ApprovalDetail, opts ...grpc_go.CallOption) (*ApprovalRemove, common.ErrorWithAttachment)
List(ctx context.Context, in *ApprovalListRequest, opts ...grpc_go.CallOption) (*ApprovalListResponse, common.ErrorWithAttachment)
Information(ctx context.Context, in *InformationRequest, opts ...grpc_go.CallOption) (*InformationResponse, common.ErrorWithAttachment)
Viewed(ctx context.Context, in *ViewedRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
DetailSetting(ctx context.Context, in *DetailSettingRequest, opts ...grpc_go.CallOption) (*SettingRequest, common.ErrorWithAttachment)
UpdateSetting(ctx context.Context, in *SettingRequest, opts ...grpc_go.CallOption) (*SettingResponse, common.ErrorWithAttachment)
}
@ -47,6 +49,8 @@ type ApprovalClientImpl struct {
Update func(ctx context.Context, in *ApprovalRequest) (*ApprovalResponse, error)
Remove func(ctx context.Context, in *ApprovalDetail) (*ApprovalRemove, error)
List func(ctx context.Context, in *ApprovalListRequest) (*ApprovalListResponse, error)
Information func(ctx context.Context, in *InformationRequest) (*InformationResponse, error)
Viewed func(ctx context.Context, in *ViewedRequest) (*ApprovalResponse, error)
DetailSetting func(ctx context.Context, in *DetailSettingRequest) (*SettingRequest, error)
UpdateSetting func(ctx context.Context, in *SettingRequest) (*SettingResponse, error)
}
@ -93,6 +97,18 @@ func (c *approvalClient) List(ctx context.Context, in *ApprovalListRequest, opts
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/List", in, out)
}
func (c *approvalClient) Information(ctx context.Context, in *InformationRequest, opts ...grpc_go.CallOption) (*InformationResponse, common.ErrorWithAttachment) {
out := new(InformationResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Information", in, out)
}
func (c *approvalClient) Viewed(ctx context.Context, in *ViewedRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) {
out := new(ApprovalResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Viewed", in, out)
}
func (c *approvalClient) DetailSetting(ctx context.Context, in *DetailSettingRequest, opts ...grpc_go.CallOption) (*SettingRequest, common.ErrorWithAttachment) {
out := new(SettingRequest)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
@ -114,6 +130,8 @@ type ApprovalServer interface {
Update(context.Context, *ApprovalRequest) (*ApprovalResponse, error)
Remove(context.Context, *ApprovalDetail) (*ApprovalRemove, error)
List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error)
Information(context.Context, *InformationRequest) (*InformationResponse, error)
Viewed(context.Context, *ViewedRequest) (*ApprovalResponse, error)
DetailSetting(context.Context, *DetailSettingRequest) (*SettingRequest, error)
UpdateSetting(context.Context, *SettingRequest) (*SettingResponse, error)
mustEmbedUnimplementedApprovalServer()
@ -139,6 +157,12 @@ func (UnimplementedApprovalServer) Remove(context.Context, *ApprovalDetail) (*Ap
func (UnimplementedApprovalServer) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (UnimplementedApprovalServer) Information(context.Context, *InformationRequest) (*InformationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Information not implemented")
}
func (UnimplementedApprovalServer) Viewed(context.Context, *ViewedRequest) (*ApprovalResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Viewed not implemented")
}
func (UnimplementedApprovalServer) DetailSetting(context.Context, *DetailSettingRequest) (*SettingRequest, error) {
return nil, status.Errorf(codes.Unimplemented, "method DetailSetting not implemented")
}
@ -318,6 +342,64 @@ func _Approval_List_Handler(srv interface{}, ctx context.Context, dec func(inter
return interceptor(ctx, in, info, handler)
}
func _Approval_Information_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(InformationRequest)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("Information", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _Approval_Viewed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ViewedRequest)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("Viewed", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _Approval_DetailSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(DetailSettingRequest)
if err := dec(in); err != nil {
@ -403,6 +485,14 @@ var Approval_ServiceDesc = grpc_go.ServiceDesc{
MethodName: "List",
Handler: _Approval_List_Handler,
},
{
MethodName: "Information",
Handler: _Approval_Information_Handler,
},
{
MethodName: "Viewed",
Handler: _Approval_Viewed_Handler,
},
{
MethodName: "DetailSetting",
Handler: _Approval_DetailSetting_Handler,

@ -0,0 +1,175 @@
package collection
// Find Find获取一个切片并在其中查找元素。如果找到它它将返回它的密钥否则它将返回-1和一个错误的bool。
func Find(slice []string, val string) (int, bool) {
for i, item := range slice {
if item == val {
return i, true
}
}
return -1, false
}
// IntersectArray 求两个切片的交集
func IntersectArray(a []string, b []string) []string {
var inter []string
mp := make(map[string]bool)
for _, s := range a {
if _, ok := mp[s]; !ok {
mp[s] = true
}
}
for _, s := range b {
if _, ok := mp[s]; ok {
inter = append(inter, s)
}
}
return inter
}
// IntersectArrayInt 求两个切片的交集
func IntersectArrayInt(a []int, b []int) []int {
var inter []int
mp := make(map[int]bool)
for _, s := range a {
if _, ok := mp[s]; !ok {
mp[s] = true
}
}
for _, s := range b {
if _, ok := mp[s]; ok {
inter = append(inter, s)
}
}
return inter
}
func IntersectArrayUint64(a []uint64, b []uint64) []uint64 {
var inter []uint64
mp := make(map[uint64]bool)
for _, s := range a {
if _, ok := mp[s]; !ok {
mp[s] = true
}
}
for _, s := range b {
if _, ok := mp[s]; ok {
inter = append(inter, s)
}
}
return inter
}
func IntersectArrayUint(a []uint, b []uint) []uint {
var inter []uint
mp := make(map[uint]bool)
for _, s := range a {
if _, ok := mp[s]; !ok {
mp[s] = true
}
}
for _, s := range b {
if _, ok := mp[s]; ok {
inter = append(inter, s)
}
}
return inter
}
// DiffArray 求两个切片的差集 a=[1,2,3,4] b=[3,4,5,6] =>1,2
func DiffArray(a []int, b []int) []int {
var diffArray []int
temp := map[int]struct{}{}
for _, val := range b {
if _, ok := temp[val]; !ok {
temp[val] = struct{}{}
}
}
for _, val := range a {
if _, ok := temp[val]; !ok {
diffArray = append(diffArray, val)
}
}
return diffArray
}
// DiffArrayUint 求两个切片的差集 a=[1,2,3,4] b=[3,4,5,6] =>1,2
func DiffArrayUint(a []uint, b []uint) []uint {
var diffArray []uint
temp := map[uint]struct{}{}
for _, val := range b {
if _, ok := temp[val]; !ok {
temp[val] = struct{}{}
}
}
for _, val := range a {
if _, ok := temp[val]; !ok {
diffArray = append(diffArray, val)
}
}
return diffArray
}
func DiffArrayUint64(a []uint64, b []uint64) []uint64 {
var diffArray []uint64
temp := map[uint64]struct{}{}
for _, val := range b {
if _, ok := temp[val]; !ok {
temp[val] = struct{}{}
}
}
for _, val := range a {
if _, ok := temp[val]; !ok {
diffArray = append(diffArray, val)
}
}
return diffArray
}
// RemoveRepeatedElement 切片去重实现
func RemoveRepeatedElement(arr []string) (newArr []string) {
newArr = make([]string, 0)
for i := 0; i < len(arr); i++ {
repeat := false
for j := i + 1; j < len(arr); j++ {
if arr[i] == arr[j] {
repeat = true
break
}
}
if !repeat {
newArr = append(newArr, arr[i])
}
}
return
}
//切片去重实现
func arrayUnique(arr []string) []string {
result := make([]string, 0, len(arr))
temp := map[string]struct{}{}
for i := 0; i < len(arr); i++ {
if _, ok := temp[arr[i]]; ok != true {
temp[arr[i]] = struct{}{}
result = append(result, arr[i])
}
}
return result
}

@ -13,3 +13,8 @@ const (
ERRORCONFIG = "配置文件读取错误,请检查文件路径:"
ErrorApprovalType = "类型不支持"
)
const (
ErrorNotFound = "暂无数据"
ErrorWrongStatus = "当前状态无法修改"
)

@ -24,7 +24,7 @@ type Approval struct {
Type string `gorm:"column:type" json:"type"` // 类型
Content string `gorm:"column:content" json:"content"` // 提交审批内容
Reply string `gorm:"column:reply" json:"reply"` // 回复内容
Domain string `gorm:"column:domain" json:"domain"` // 环境变量
Domain *string `gorm:"column:domain" json:"domain"` // 环境变量
Show *Show //`gorm:"foreignKey:ApprovalID" json:"Show"` // 环境变量
Work *Work //`gorm:"foreignKey:ApprovalID" json:"Work"` // 环境变量
Bundle *Bundle //`gorm:"foreignKey:ApprovalID" json:"Bundle"` // 环境变量
@ -38,9 +38,15 @@ const (
TypeShow = "show"
TypeBundle = "bundle"
)
const (
StatusDoing = 0
StatusOk = 1
StatusFail = 2
)
type ApprovalContentInterface interface {
SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error
UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error
BuildResContent(a *Approval, request *approval.ApprovalRequest)
DeleteApproval(p *Approval) error
}
@ -57,10 +63,10 @@ func StoreApproval(in *approval.ApprovalRequest) (*Approval, error) {
// 保存基本信息
entity = &Approval{
Domain: in.Domain,
SubmitterID: in.SubmitterId,
Domain: &in.Domain,
SubmitterID: in.SubmitterID,
SubmitterName: in.SubmitterName,
ApproverID: in.ApproverId,
ApproverID: in.ApproverID,
ApproverName: in.ApproverName,
CopyUsers: FormatCopyUsers(in.CopyUsers),
Type: in.Type,
@ -81,10 +87,119 @@ func StoreApproval(in *approval.ApprovalRequest) (*Approval, error) {
}
func Viewed(in *approval.ViewedRequest) error {
var entity *Approval
var err error
if err = DB.First(&entity, in.ID).Error; err != nil {
return errors.New(m.ErrorNotFound)
}
copyUsers := entity.CopyUsers
for i, temp := range copyUsers {
if temp.ID == in.UserID {
temp.IsViewed = 1
copyUsers[i] = temp
}
}
return DB.Model(&Approval{}).Where(&Approval{ID: in.ID}).Updates(&Approval{CopyUsers: copyUsers}).Error
}
func UpdateApproval(in *approval.ApprovalRequest) (*Approval, error) {
var entity *Approval
err := DB.Transaction(func(tx *gorm.DB) error {
if departErr := DB.First(&entity, in.ID).Error; departErr != nil {
return errors.New(m.ErrorNotFound)
}
if entity.Status != StatusDoing {
return errors.New(m.ErrorWrongStatus)
} else if in.Status != StatusDoing { //审批
// 保存基本信息
entity = &Approval{
ID: in.ID,
Status: int8(in.Status),
Reply: in.Reply,
}
return DB.Save(&entity).Error
}
// 保存基本信息
entity = &Approval{
ID: in.ID,
//Domain: in.Domain,
//SubmitterID: in.SubmitterId,
//SubmitterName: in.SubmitterName,
//ApproverID: in.ApproverId,
//ApproverName: in.ApproverName,
//CopyUsers: FormatCopyUsers(in.CopyUsers),
//Type: in.Type,
Content: in.Content,
}
if err := DB.Save(&entity).Error; err != nil {
return err
}
// 不同类型保存不同的结构体
err := entity.UpdateContent(in)
return err
})
return entity, err
}
func approvalCalc(filter *Approval) *approval.Information {
var num int64
info := &approval.Information{}
DB.Model(&Approval{}).Where(&filter).Count(&num)
info.Total = uint64(num)
DB.Model(&Approval{}).Where(&filter).Where(&Approval{Status: StatusOk}).Count(&num)
info.DoingTotal = uint64(num)
DB.Model(&Approval{}).Where(&filter).Where(&Approval{Status: StatusOk}).Count(&num)
info.SuccessTotal = uint64(num)
DB.Model(&Approval{}).Where(&filter).Where(&Approval{Status: StatusFail}).Count(&num)
info.FailTotal = uint64(num)
return info
}
// ApprovalInfo 统计
func ApprovalInfo(in *approval.InformationRequest) (*approval.InformationResponse, error) {
response := &approval.InformationResponse{
MySubmitInfo: approvalCalc(&Approval{Domain: &in.Domain, SubmitterID: in.UserID}),
SubmitMeInfo: approvalCalc(&Approval{Domain: &in.Domain, ApproverID: in.UserID}),
DomainInfo: approvalCalc(&Approval{Domain: &in.Domain}),
}
return response, nil
}
func (m *Approval) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
return nil
}
func (m *Approval) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
return nil
}
func (m *Approval) DeleteApproval(p *Approval) error {
return nil
}
@ -129,6 +244,18 @@ func (m *Approval) SaveContent(in *approval.ApprovalRequest) error {
return err
}
func (m *Approval) UpdateContent(in *approval.ApprovalRequest) error {
factory, err := GetApprovalContentFactory(in.Type)
if err != nil {
return err
}
err = factory.UpdateApprovalContent(in, m)
return err
}
func ApprovalList(in *approval.ApprovalListRequest) ([]*Approval, int64) {
var list []*Approval
var count int64

@ -13,10 +13,10 @@ type ApprovalExhibition struct {
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
ExhibitionName string `gorm:"column:exhibition_name" json:"exhibitionName"` // 作品名称
ArtworkID uint64 `gorm:"column:artwork_id" json:"artworkId"` // 作品类型id
ExhibitionSize uint64 `gorm:"column:exhibition_size" json:"exhibitionSize"` // 平尺数
ExhibitionNumber string `gorm:"column:exhibition_number" json:"exhibitionNumber"` // 序号
PackageName string `gorm:"column:package_name" json:"PackageName"` // 作品名称
PackageID uint64 `gorm:"column:package_id" json:"packageID"` // 作品类型id
PackageSize uint64 `gorm:"column:package_size" json:"PackageSize"` // 平尺数
PackageNumber string `gorm:"column:package_number" json:"packageNumber"` // 序号
}
// TableName get sql table name.获取数据库表名

@ -1,7 +1,9 @@
package model
import (
"errors"
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
"gorm.io/plugin/soft_delete"
"time"
)
@ -31,6 +33,22 @@ func (m *Bundle) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval)
return DB.Create(&m).Error
}
func (m *Bundle) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
var entity *Bundle
if err := DB.Where(&Bundle{ApprovalID: a.ID}).First(&entity).Error; err != nil {
return errors.New(m2.ErrorNotFound)
}
m.ID = entity.ID
//m.ApprovalID = a.ID
m.ReceivedAt = in.Bundle.ReceivedAt
m.ApplicationsNum = in.Bundle.ApplicationsNum
return DB.Save(&m).Error
}
func (m *Bundle) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
request.Bundle = &approval.Bundle{
ID: m.ID,

@ -11,6 +11,7 @@ import (
type CopyUser struct {
ID uint64
Name string
IsViewed uint64
}
type CopyUsers []CopyUser

@ -1,8 +1,8 @@
package model
import (
"fmt"
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/collection"
"gorm.io/plugin/soft_delete"
"time"
)
@ -29,6 +29,7 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
//主体保存
m.ApprovalID = a.ID
m.ReceivedAt = in.Exhibition.ReceivedAt
m.Address = in.Exhibition.Address
err := DB.Create(m).Error
if err != nil {
@ -36,28 +37,106 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
}
//绑定画作保存
var approvalWorks []ApprovalWork
for _, approvalWork := range in.Work.ApprovalWorks {
fmt.Println(approvalWork)
temp := ApprovalWork{
var approvalExhibitions []ApprovalExhibition
for _, approvalExhibition := range in.Exhibition.ApprovalExhibitions {
temp := ApprovalExhibition{
ApprovalID: a.ID,
WorkID: m.ID,
ArtworkID: approvalWork.ArtworkId,
ArtworkName: approvalWork.ArtworkName,
ArtistName: approvalWork.ArtistName,
ArtworkCover: approvalWork.ArtworkCover,
ArtworkNumber: approvalWork.ArtworkNumber,
ExhibitionID: m.ID,
PackageName: approvalExhibition.PackageName,
PackageID: approvalExhibition.PackageID,
PackageSize: approvalExhibition.PackageSize,
PackageNumber: approvalExhibition.PackageNumber,
}
approvalExhibitions = append(approvalExhibitions, temp)
}
if len(approvalExhibitions) > 0 {
err = DB.Create(&approvalExhibitions).Error
}
return err
}
func (m *Exhibition) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
approvalExhibitions := in.Exhibition.ApprovalExhibitions
var oldApprovalExhibitions []ApprovalExhibition
var oldPackageID []uint64
var inPackageID []uint64
var err error
inApprovalExhibitionMap := make(map[uint64]*approval.ApprovalExhibition, len(approvalExhibitions))
DB.Where(&ApprovalExhibition{ExhibitionID: m.ID}).Find(&oldApprovalExhibitions)
for _, oldAW := range oldApprovalExhibitions {
oldPackageID = append(oldPackageID, oldAW.PackageID)
}
for _, approvalWork := range approvalExhibitions {
inPackageID = append(inPackageID, approvalWork.PackageID)
inApprovalExhibitionMap[approvalWork.PackageID] = approvalWork
}
needDel := collection.DiffArrayUint64(oldPackageID, inPackageID)
if len(needDel) > 0 {
DB.Where(&ApprovalExhibition{ExhibitionID: m.ID}).Where("package_id in ?", needDel).
Delete(&ApprovalExhibition{})
}
needAdd := collection.DiffArrayUint64(inPackageID, oldPackageID)
//传递的id去除表 新增
if len(needAdd) > 0 {
var approvalWorks []ApprovalExhibition
for _, one := range approvalExhibitions {
temp := ApprovalExhibition{
ApprovalID: a.ID,
ExhibitionID: m.ID,
PackageName: one.PackageName,
PackageID: one.PackageID,
PackageSize: one.PackageSize,
PackageNumber: one.PackageNumber,
}
approvalWorks = append(approvalWorks, temp)
}
if len(approvalWorks) > 0 {
err = DB.Create(&approvalWorks).Error
if err = DB.Create(&approvalWorks).Error; err != nil {
return err
}
}
}
//更新 主要修改绑定的数据权限id
changeIds := collection.IntersectArrayUint64(inPackageID, oldPackageID)
if len(changeIds) > 0 {
for _, tempId := range changeIds {
if _, ok := inApprovalExhibitionMap[tempId]; ok == false {
continue
}
temp := ApprovalExhibition{
ApprovalID: a.ID,
ExhibitionID: m.ID,
PackageName: inApprovalExhibitionMap[tempId].PackageName,
PackageID: inApprovalExhibitionMap[tempId].PackageID,
PackageSize: inApprovalExhibitionMap[tempId].PackageSize,
PackageNumber: inApprovalExhibitionMap[tempId].PackageNumber,
}
DB.Model(&ApprovalExhibition{}).
Where(&ApprovalExhibition{PackageID: inApprovalExhibitionMap[tempId].PackageID, ExhibitionID: m.ID}).
Updates(temp)
}
}
return err
}
func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
@ -69,11 +148,11 @@ func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequ
ID: one.ID,
ApprovalID: one.ApprovalID,
ArtworkId: one.ArtworkID,
ExhibitionID: one.ExhibitionID,
ExhibitionName: one.ExhibitionName,
ExhibitionSize: one.ExhibitionSize,
ExhibitionNumber: one.ExhibitionNumber,
PackageID: one.PackageID,
PackageName: one.PackageName,
PackageSize: one.PackageSize,
PackageNumber: one.PackageNumber,
}
approvalExhibitions = append(approvalExhibitions, temp)

@ -1,7 +1,9 @@
package model
import (
"errors"
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
"time"
)
@ -27,6 +29,21 @@ func (m *Show) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
m.ShowAt = in.Show.ShowAt
return DB.Create(&m).Error
}
func (m *Show) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
var entity *Show
if err := DB.Where(&Show{ApprovalID: a.ApproverID}).First(&entity).Error; err != nil {
return errors.New(m2.ErrorNotFound)
}
m.ID = entity.ID
m.ArtistNum = in.Show.ArtistNum
m.ShowAt = in.Show.ShowAt
return DB.Save(&m).Error
}
func (m *Show) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
request.Show = &approval.Show{
ID: m.ID,

@ -1,8 +1,11 @@
package model
import (
"errors"
"fmt"
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/collection"
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
"gorm.io/plugin/soft_delete"
"time"
)
@ -44,7 +47,7 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
ApprovalID: a.ID,
WorkID: m.ID,
ArtworkID: approvalWork.ArtworkId,
ArtworkID: approvalWork.ArtworkID,
ArtworkName: approvalWork.ArtworkName,
ArtistName: approvalWork.ArtistName,
ArtworkCover: approvalWork.ArtworkCover,
@ -61,6 +64,108 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
return err
}
func (m *Work) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
var entity *Work
var err error
//主体保存
if err := DB.Where(&Work{ApprovalID: a.ID}).First(&entity).Error; err != nil {
return errors.New(m2.ErrorNotFound)
}
m.ID = entity.ID
//m.ApprovalID = a.ApproverID
m.ReturnAt = in.Work.ReturnAt
m.ReceivedAt = in.Work.ReceivedAt
if err = DB.Save(m).Error; err != nil {
return err
}
return m.UpdateContent(in, a)
}
func (m *Work) UpdateContent(in *approval.ApprovalRequest, a *Approval) error {
var oldApprovalWorks []ApprovalWork
var oldArtWorkID []uint64
var inArtWorkID []uint64
var err error
inApprovalWorkMap := make(map[uint64]*approval.ApprovalWork, len(in.Work.ApprovalWorks))
DB.Where(&ApprovalWork{WorkID: m.ID}).Find(&oldApprovalWorks)
for _, oldAW := range oldApprovalWorks {
oldArtWorkID = append(oldArtWorkID, oldAW.ArtworkID)
}
for _, approvalWork := range in.Work.ApprovalWorks {
inArtWorkID = append(inArtWorkID, approvalWork.ArtworkID)
inApprovalWorkMap[approvalWork.ArtworkID] = approvalWork
}
needDel := collection.DiffArrayUint64(oldArtWorkID, inArtWorkID)
if len(needDel) > 0 {
DB.Where(&ApprovalWork{WorkID: m.ID}).Where("artwork_id in ?", needDel).
Delete(&ApprovalWork{})
}
needAdd := collection.DiffArrayUint64(inArtWorkID, oldArtWorkID)
//传递的id去除表 新增
if len(needAdd) > 0 {
var approvalWorks []ApprovalWork
for _, approvalWork := range in.Work.ApprovalWorks {
temp := ApprovalWork{
ApprovalID: a.ID,
WorkID: m.ID,
ArtworkID: approvalWork.ArtworkID,
ArtworkName: approvalWork.ArtworkName,
ArtistName: approvalWork.ArtistName,
ArtworkCover: approvalWork.ArtworkCover,
ArtworkNumber: approvalWork.ArtworkNumber,
}
approvalWorks = append(approvalWorks, temp)
}
if len(approvalWorks) > 0 {
if err = DB.Create(&approvalWorks).Error; err != nil {
return err
}
}
}
//更新 主要修改绑定的数据权限id
changeIds := collection.IntersectArrayUint64(inArtWorkID, oldArtWorkID)
if len(changeIds) > 0 {
for _, tempId := range changeIds {
if _, ok := inApprovalWorkMap[tempId]; ok == false {
continue
}
temp := ApprovalWork{
ApprovalID: a.ID,
WorkID: m.ID,
ArtworkID: inApprovalWorkMap[tempId].ArtworkID,
ArtworkName: inApprovalWorkMap[tempId].ArtworkName,
ArtistName: inApprovalWorkMap[tempId].ArtistName,
ArtworkCover: inApprovalWorkMap[tempId].ArtworkCover,
ArtworkNumber: inApprovalWorkMap[tempId].ArtworkNumber,
}
DB.Model(&ApprovalWork{}).
Where(&ApprovalWork{WorkID: m.ID, ArtworkID: inApprovalWorkMap[tempId].ArtworkID}).
Updates(temp)
}
}
return err
}
func (m *Work) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
@ -70,9 +175,9 @@ func (m *Work) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
temp := &approval.ApprovalWork{
ID: one.ID,
WorkId: one.WorkID,
WorkID: one.WorkID,
ApprovalID: one.ApprovalID,
ArtworkId: one.ArtworkID,
ArtworkID: one.ArtworkID,
ArtworkName: one.ArtworkName,
ArtistName: one.ArtistName,
ArtworkCover: one.ArtworkCover,

@ -14,13 +14,13 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
response := &approval.ApprovalRequest{
ID: entity.ID,
Domain: entity.Domain,
Domain: *entity.Domain,
Status: uint64(entity.Status),
Type: entity.Type,
ApproverId: entity.ApproverID,
ApproverID: entity.ApproverID,
ApproverName: entity.ApproverName,
CopyUsers: model.FormatToResponse(entity.CopyUsers),
SubmitterId: entity.SubmitterID,
SubmitterID: entity.SubmitterID,
SubmitterName: entity.SubmitterName,
Content: entity.Content,
Reply: entity.Reply,
@ -35,7 +35,7 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
return response
}
//BuildApproval 处理单个detail返回
//BuildApprovals 处理单个detail返回
func BuildApprovals(list []*model.Approval) (details []*approval.ApprovalRequest) {
for _, item := range list {

@ -21,9 +21,9 @@ func BuildSetting(entity *model.DepartmentApprovalSetting) *approval.SettingRequ
response := &approval.SettingRequest{
ID: entity.ID,
Domain: entity.Domain,
DepartmentId: entity.DepartmentID,
DepartmentID: entity.DepartmentID,
CopyUsers: copyUsers,
ApproverId: entity.ApproverID,
ApproverID: entity.ApproverID,
ApproverName: entity.ApproverName,
}

@ -2,7 +2,6 @@ package service
import (
"context"
"fmt"
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
"github.com/fonchain_enterprise/fonchain-approval/pkg/model"
"github.com/fonchain_enterprise/fonchain-approval/pkg/serializer"
@ -24,7 +23,16 @@ func (a *ApprovalProvider) Create(ctx context.Context, in *approval.ApprovalRequ
}
func (a *ApprovalProvider) Update(ctx context.Context, in *approval.ApprovalRequest) (*approval.ApprovalResponse, error) {
return nil, nil
response := &approval.ApprovalResponse{}
entity, err := model.UpdateApproval(in)
response.ID = entity.ID
response.Success = true
return response, err
}
func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDetail) (*approval.ApprovalRemove, error) {
@ -37,7 +45,7 @@ func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDeta
var entity *model.Approval
// 确定有数据则执行删除
if err = model.DB.Where(&model.Approval{Domain: in.Domain}).
if err = model.DB.Where(&model.Approval{Domain: &in.Domain}).
Find(&entity, in.ID).Error; err != nil {
return err
}
@ -47,7 +55,7 @@ func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDeta
return err
}
if err = model.DB.Where(&model.Approval{Domain: in.Domain}).
if err = model.DB.Where(&model.Approval{Domain: &in.Domain}).
Delete(&model.Approval{}, in.ID).Error; err != nil {
return err
}
@ -79,6 +87,28 @@ func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.ApprovalDeta
return response, err
}
func (a *ApprovalProvider) Information(ctx context.Context, in *approval.InformationRequest) (*approval.InformationResponse, error) {
return model.ApprovalInfo(in)
}
func (a *ApprovalProvider) Viewed(ctx context.Context, in *approval.ViewedRequest) (*approval.ApprovalResponse, error) {
response := &approval.ApprovalResponse{}
var err error
if err = model.Viewed(in); err != nil {
return response, err
}
response.ID = in.ID
response.Success = true
return response, err
}
func (a *ApprovalProvider) List(ctx context.Context, in *approval.ApprovalListRequest) (*approval.ApprovalListResponse, error) {
//获取人的 部门角色1、管理组 2、超级管理 3、Leader角色
@ -97,40 +127,35 @@ func (a *ApprovalProvider) List(ctx context.Context, in *approval.ApprovalListRe
// UpdateSetting 设置配置抄送者和审核者
func (a *ApprovalProvider) UpdateSetting(ctx context.Context, in *approval.SettingRequest) (*approval.SettingResponse, error) {
exhibit := ""
exhibit += in.Domain
fmt.Println(exhibit)
var err error
response := &approval.SettingResponse{}
var setting model.DepartmentApprovalSetting
copyUsers := model.FormatCopyUsers(in.CopyUsers)
//首次
if err := model.DB.Model(&model.DepartmentApprovalSetting{}).
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentId}).
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentID}).
First(&setting).Error; err != nil {
setting = model.DepartmentApprovalSetting{
DepartmentID: in.DepartmentId,
DepartmentID: in.DepartmentID,
CopyUsers: copyUsers,
ApproverID: in.ApproverId,
ApproverID: in.ApproverID,
ApproverName: in.ApproverName,
Domain: in.Domain,
}
model.DB.Create(&setting)
} else {
setting.DepartmentID = in.DepartmentId
setting.DepartmentID = in.DepartmentID
setting.CopyUsers = copyUsers
setting.ApproverID = in.ApproverId
setting.ApproverID = in.ApproverID
setting.ApproverName = in.ApproverName
model.DB.Save(&setting)
}
err = model.DB.Save(&setting).Error
response.ID = setting.ID
response.Success = true
return response, nil
return response, err
}
func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.DetailSettingRequest) (*approval.SettingRequest, error) {
@ -139,7 +164,7 @@ func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.Detai
var setting model.DepartmentApprovalSetting
if err := model.DB.Model(&model.DepartmentApprovalSetting{}).
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentId}).
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentID}).
First(&setting).Error; err != nil {
response.Domain = in.Domain
} else {

Loading…
Cancel
Save