初始
This commit is contained in:
		
							
								
								
									
										116
									
								
								internal/app/system/logic/subProject/sub_project.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								internal/app/system/logic/subProject/sub_project.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,116 @@ | ||||
| // ========================================================================== | ||||
| // GFast自动生成logic操作代码。 | ||||
| // 生成日期:2024-03-21 18:53:15 | ||||
| // 生成路径: internal/app/system/logic/sub_project.go | ||||
| // 生成人:gfast | ||||
| // desc:子项目 | ||||
| // company:云南奇讯科技有限公司 | ||||
| // ========================================================================== | ||||
|  | ||||
| package logic | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"github.com/gogf/gf/v2/frame/g" | ||||
| 	"github.com/gogf/gf/v2/util/gconv" | ||||
| 	"github.com/tiger1103/gfast/v3/api/v1/system" | ||||
| 	"github.com/tiger1103/gfast/v3/internal/app/system/consts" | ||||
| 	"github.com/tiger1103/gfast/v3/internal/app/system/dao" | ||||
| 	"github.com/tiger1103/gfast/v3/internal/app/system/model" | ||||
| 	"github.com/tiger1103/gfast/v3/internal/app/system/model/do" | ||||
| 	"github.com/tiger1103/gfast/v3/internal/app/system/service" | ||||
| 	"github.com/tiger1103/gfast/v3/library/liberr" | ||||
| ) | ||||
|  | ||||
| func init() { | ||||
| 	service.RegisterSubProject(New()) | ||||
| } | ||||
|  | ||||
| func New() *sSubProject { | ||||
| 	return &sSubProject{} | ||||
| } | ||||
|  | ||||
| type sSubProject struct{} | ||||
|  | ||||
| func (s *sSubProject) List(ctx context.Context, req *system.SubProjectSearchReq) (listRes *system.SubProjectSearchRes, err error) { | ||||
| 	listRes = new(system.SubProjectSearchRes) | ||||
| 	err = g.Try(ctx, func(ctx context.Context) { | ||||
| 		m := dao.SubProject.Ctx(ctx).WithAll() | ||||
| 		if req.Id != "" { | ||||
| 			m = m.Where(dao.SubProject.Columns().Id+" = ?", req.Id) | ||||
| 		} | ||||
| 		if req.ProjectId != "" { | ||||
| 			m = m.Where(dao.SubProject.Columns().ProjectId+" = ?", gconv.Int(req.ProjectId)) | ||||
| 		} | ||||
| 		if req.ProjectName != "" { | ||||
| 			m = m.Where(dao.SubProject.Columns().ProjectName+" like ?", "%"+req.ProjectName+"%") | ||||
| 		} | ||||
| 		if len(req.DateRange) != 0 { | ||||
| 			m = m.Where(dao.SubProject.Columns().CreatedAt+" >=? AND "+dao.SubProject.Columns().CreatedAt+" <=?", req.DateRange[0], req.DateRange[1]) | ||||
| 		} | ||||
| 		listRes.Total, err = m.Count() | ||||
| 		liberr.ErrIsNil(ctx, err, "获取总行数失败") | ||||
| 		if req.PageNum == 0 { | ||||
| 			req.PageNum = 1 | ||||
| 		} | ||||
| 		listRes.CurrentPage = req.PageNum | ||||
| 		if req.PageSize == 0 { | ||||
| 			req.PageSize = consts.PageSize | ||||
| 		} | ||||
| 		order := "id asc" | ||||
| 		if req.OrderBy != "" { | ||||
| 			order = req.OrderBy | ||||
| 		} | ||||
| 		var res []*model.SubProjectInfoRes | ||||
| 		err = m.Fields(system.SubProjectSearchRes{}).Page(req.PageNum, req.PageSize).Order(order).Scan(&res) | ||||
| 		liberr.ErrIsNil(ctx, err, "获取数据失败") | ||||
| 		listRes.List = make([]*model.SubProjectListRes, len(res)) | ||||
| 		for k, v := range res { | ||||
| 			listRes.List[k] = &model.SubProjectListRes{ | ||||
| 				Id:          v.Id, | ||||
| 				ProjectId:   v.ProjectId, | ||||
| 				ProjectName: v.ProjectName, | ||||
| 				CreatedAt:   v.CreatedAt, | ||||
| 			} | ||||
| 		} | ||||
| 	}) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func (s *sSubProject) GetById(ctx context.Context, id uint) (res *model.SubProjectInfoRes, err error) { | ||||
| 	err = g.Try(ctx, func(ctx context.Context) { | ||||
| 		err = dao.SubProject.Ctx(ctx).WithAll().Where(dao.SubProject.Columns().Id, id).Scan(&res) | ||||
| 		liberr.ErrIsNil(ctx, err, "获取信息失败") | ||||
| 	}) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func (s *sSubProject) Add(ctx context.Context, req *system.SubProjectAddReq) (err error) { | ||||
| 	err = g.Try(ctx, func(ctx context.Context) { | ||||
| 		_, err = dao.SubProject.Ctx(ctx).Insert(do.SubProject{ | ||||
| 			ProjectId:   req.ProjectId, | ||||
| 			ProjectName: req.ProjectName, | ||||
| 		}) | ||||
| 		liberr.ErrIsNil(ctx, err, "添加失败") | ||||
| 	}) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func (s *sSubProject) Edit(ctx context.Context, req *system.SubProjectEditReq) (err error) { | ||||
| 	err = g.Try(ctx, func(ctx context.Context) { | ||||
| 		_, err = dao.SubProject.Ctx(ctx).WherePri(req.Id).Update(do.SubProject{ | ||||
| 			ProjectId:   req.ProjectId, | ||||
| 			ProjectName: req.ProjectName, | ||||
| 		}) | ||||
| 		liberr.ErrIsNil(ctx, err, "修改失败") | ||||
| 	}) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func (s *sSubProject) Delete(ctx context.Context, ids []uint) (err error) { | ||||
| 	err = g.Try(ctx, func(ctx context.Context) { | ||||
| 		_, err = dao.SubProject.Ctx(ctx).Delete(dao.SubProject.Columns().Id+" in (?)", ids) | ||||
| 		liberr.ErrIsNil(ctx, err, "删除失败") | ||||
| 	}) | ||||
| 	return | ||||
| } | ||||
		Reference in New Issue
	
	Block a user