| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package service
- import (
- "context"
- "dsbqj-admin/model/mongo/platform"
- "errors"
- "github.com/kamva/mgm/v3"
- "go.mongodb.org/mongo-driver/bson"
- "go.mongodb.org/mongo-driver/bson/primitive"
- )
- type PlatformListService struct{}
- func (*PlatformListService) List() ([]platform.Platform, error) {
- var v []platform.Platform
- err := mgm.Coll(&platform.Platform{}).SimpleFind(&v, bson.M{})
- return v, err
- }
- type PlatformCreateService struct {
- Name string `json:"name" binding:"required"`
- Code string `json:"code" binding:"required"`
- Status *bool `json:"status"`
- }
- func (s *PlatformCreateService) Create() error {
- v := &platform.Platform{Name: s.Name, Code: s.Code, Status: true}
- if s.Status != nil {
- v.Status = *s.Status
- }
- return mgm.Coll(v).Create(v)
- }
- type PlatformUpdateService struct {
- ID string `json:"id" binding:"required"`
- Name *string `json:"name"`
- Code *string `json:"code"`
- Status *bool `json:"status"`
- }
- func (s *PlatformUpdateService) Update() error {
- id, err := primitive.ObjectIDFromHex(s.ID)
- if err != nil {
- return err
- }
- u := bson.M{}
- if s.Name != nil {
- u["name"] = *s.Name
- }
- if s.Code != nil {
- u["code"] = *s.Code
- }
- if s.Status != nil {
- u["status"] = *s.Status
- }
- if len(u) == 0 {
- return errors.New("没有需要更新的内容")
- }
- _, err = mgm.Coll(&platform.Platform{}).UpdateOne(context.Background(), bson.M{"_id": id}, bson.M{"$set": u})
- return err
- }
- type PlatformDeleteService struct {
- ID string `json:"id" binding:"required"`
- }
- func (s *PlatformDeleteService) Delete() error {
- id, err := primitive.ObjectIDFromHex(s.ID)
- if err != nil {
- return err
- }
- _, err = mgm.Coll(&platform.Platform{}).DeleteOne(context.Background(), bson.M{"_id": id})
- return err
- }
|