|
|
package service
|
|
|
|
|
|
import (
|
|
|
"strconv"
|
|
|
|
|
|
"github.com/linmadan/egglib-go/core/application"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/cooperation/command"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/cooperation/dto"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_cooperation"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_user"
|
|
|
)
|
|
|
|
|
|
// CooperationProjectService 共创项目服务
|
...
|
...
|
@@ -18,13 +19,19 @@ func (srv CooperationProjectService) CreateCooperationProject(createCooperationP |
|
|
return nil, application.ThrowError(application.ARG_ERROR, err.Error())
|
|
|
}
|
|
|
creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(createCooperationProjectCommand.Operator)
|
|
|
var images []allied_creation_cooperation.ProjectAttachment
|
|
|
for _, v := range createCooperationProjectCommand.Images {
|
|
|
images = append(images, allied_creation_cooperation.ProjectAttachment{
|
|
|
Url: v,
|
|
|
})
|
|
|
}
|
|
|
result, err := creationCooperationGateway.CooperationProjectAdd(allied_creation_cooperation.ReqCooperationProjectAdd{
|
|
|
CooperationProjectDescription: createCooperationProjectCommand.CooperationProjectDescription,
|
|
|
CooperationProjectName: createCooperationProjectCommand.CooperationProjectName,
|
|
|
PublisherUid: int(createCooperationProjectCommand.Operator.UserId),
|
|
|
SponsorUid: createCooperationProjectCommand.CooperationProjectSponsor,
|
|
|
CooperationProjectUndertakerType: createCooperationProjectCommand.CooperationProjectUndertakerType,
|
|
|
// Images: createCooperationProjectCommand.Images,
|
|
|
Attachment: images,
|
|
|
})
|
|
|
|
|
|
if err != nil {
|
...
|
...
|
@@ -55,34 +62,45 @@ func (srv CooperationProjectService) GetCooperationProject(projectQuery *command |
|
|
}
|
|
|
|
|
|
// UpdateCooperationProject
|
|
|
//TODO 企业更新共创项目
|
|
|
func (srv CooperationProjectService) UpdateCooperationProject(userMenusCommand *command.UpdateCooperationProjectCommand) (interface{}, error) {
|
|
|
creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(
|
|
|
userMenusCommand.Operator)
|
|
|
resultMenu, err := creationUserGateway.UserAccessMenus(allied_creation_user.ReqUserAccessMenus{
|
|
|
UserId: int(userMenusCommand.Operator.UserId),
|
|
|
func (srv CooperationProjectService) UpdateCooperationProject(updateCooperationProjectCommand *command.UpdateCooperationProjectCommand) (interface{}, error) {
|
|
|
creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(updateCooperationProjectCommand.Operator)
|
|
|
var images []allied_creation_cooperation.ProjectAttachment
|
|
|
for _, v := range updateCooperationProjectCommand.Images {
|
|
|
images = append(images, allied_creation_cooperation.ProjectAttachment{
|
|
|
Url: v,
|
|
|
})
|
|
|
}
|
|
|
_, err := creationCooperationGateway.CooperationProjectUpdate(allied_creation_cooperation.ReqCooperationProjectUpdate{
|
|
|
CooperationProjectId: updateCooperationProjectCommand.CooperationProjectId,
|
|
|
CooperationProjectName: updateCooperationProjectCommand.CooperationProjectName,
|
|
|
CooperationModeNumber: updateCooperationProjectCommand.CooperationModeNumber,
|
|
|
CooperationProjectUndertakerType: updateCooperationProjectCommand.CooperationProjectUndertakerType,
|
|
|
SponsorUid: updateCooperationProjectCommand.CooperationProjectSponsor,
|
|
|
PublisherUid: strconv.Itoa(int(updateCooperationProjectCommand.Operator.UserId)),
|
|
|
CooperationProjectDescription: updateCooperationProjectCommand.CooperationProjectDescription,
|
|
|
Attachment: images,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
return map[string]interface{}{
|
|
|
"accessMenus": resultMenu.Menus,
|
|
|
}, nil
|
|
|
return updateCooperationProjectCommand, nil
|
|
|
}
|
|
|
|
|
|
// EndCooperationProject TODO:企业结束共创项目
|
|
|
func (srv CooperationProjectService) EndCooperationProject(userMenusCommand *command.EndCooperationProjectCommand) (interface{}, error) {
|
|
|
creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(
|
|
|
userMenusCommand.Operator)
|
|
|
resultMenu, err := creationUserGateway.UserAccessMenus(allied_creation_user.ReqUserAccessMenus{
|
|
|
UserId: int(userMenusCommand.Operator.UserId),
|
|
|
// EndCooperationProject 企业结束共创项目
|
|
|
func (srv CooperationProjectService) EndCooperationProject(endCooperationProjectCommand *command.EndCooperationProjectCommand) (interface{}, error) {
|
|
|
creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(endCooperationProjectCommand.Operator)
|
|
|
var projectIds []string
|
|
|
for _, v := range endCooperationProjectCommand.CooperationProjectId {
|
|
|
idStr := strconv.Itoa(v)
|
|
|
projectIds = append(projectIds, idStr)
|
|
|
}
|
|
|
_, err := creationCooperationGateway.CooperationProjectBatchEnd(allied_creation_cooperation.ReqCooperationProjectBatchEnd{
|
|
|
CooperationProjectIds: projectIds,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
return map[string]interface{}{
|
|
|
"accessMenus": resultMenu.Menus,
|
|
|
}, nil
|
|
|
return endCooperationProjectCommand, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
|
|
|
// SearchCooperationProject 企业获取共创项目列表
|
...
|
...
|
@@ -104,3 +122,24 @@ func (srv CooperationProjectService) SearchCooperationProject(projectQuery *comm |
|
|
}
|
|
|
return int(result.Total), dataList, nil
|
|
|
}
|
|
|
|
|
|
// PersonSearchCooperationProject 共创用户获取共创项目列表
|
|
|
func (srv CooperationProjectService) PersonSearchCooperationProject(projectQuery *command.PersonSearchCooperationProjectQuery) (int, interface{}, error) {
|
|
|
creationCooperationGateway := allied_creation_cooperation.NewHttplibAlliedCreationCooperation(
|
|
|
projectQuery.Operator)
|
|
|
orgidStr := strconv.Itoa(projectQuery.OrgId)
|
|
|
result, err := creationCooperationGateway.CooperationProjectsSearch(allied_creation_cooperation.ReqCooperationProjectSearch{
|
|
|
PageNumber: projectQuery.PageNumber,
|
|
|
PageSize: projectQuery.PageSize,
|
|
|
OrgIds: []string{orgidStr},
|
|
|
})
|
|
|
if err != nil {
|
|
|
return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
var dataList []dto.CooperationProjectItem
|
|
|
for i := range result.List {
|
|
|
item := dto.ToCooperationProjectItem(&result.List[i])
|
|
|
dataList = append(dataList, *item)
|
|
|
}
|
|
|
return int(result.Total), dataList, nil
|
|
|
} |
...
|
...
|
|