fonchain-fiee/pkg/service/approval/position_approvals.go

45 lines
1.3 KiB
Go
Raw Normal View History

2025-02-19 06:24:15 +00:00
package approval
import (
"context"
"encoding/json"
"errors"
"fmt"
api "github.com/fonchain_enterprise/fonchain-main/api/approval"
"github.com/fonchain_enterprise/fonchain-main/api/position"
"github.com/fonchain_enterprise/fonchain-main/pkg/service"
"strings"
)
func processPositionApprovals(detail *api.CreateRequest) error {
type Position struct {
DepartmentID uint64 `json:"DepartmentID"`
DepartmentName string `json:"DepartmentName"`
PositionName string `json:"PositionName"`
}
var positionData Position
for _, approval := range detail.CustomizeInfo {
if strings.Contains(approval.ApprovalType, "position") {
fmt.Println("ApprovalValue:", approval.ApprovalValue)
err := json.Unmarshal([]byte(approval.ApprovalValue), &positionData)
if err != nil {
fmt.Println("Error decoding JSON:", err)
return errors.New("json转换失败")
}
fmt.Printf("Parsed data: %+v\n", positionData)
_, err = service.PositionProvider.Create(context.Background(), &position.CreateRequest{
Name: positionData.PositionName,
DepartmentID: positionData.DepartmentID,
Domain: "fontree",
Color: "#000",
})
if err != nil {
fmt.Println("Error creating position:", err)
return errors.New("岗位创建失败:")
}
}
continue
}
return nil
}