作者 yangfu

增加车间管理功能

正在显示 36 个修改的文件 包含 1226 行增加261 行删除
  1 +package factory
  2 +
  3 +import (
  4 + "github.com/linmadan/egglib-go/core/application"
  5 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  6 +)
  7 +
  8 +// FastPgWorkshop 快速返回车间对象
  9 +//
  10 +// transactionContext 事务
  11 +// id 对象唯一标识
  12 +func FastPgWorkshop(transactionContext application.TransactionContext, id int, options ...option) (domain.WorkshopRepository, *domain.Workshop, error) {
  13 + var rep domain.WorkshopRepository
  14 + var mod *domain.Workshop
  15 + var err error
  16 + if value, err := CreateWorkshopRepository(map[string]interface{}{
  17 + "transactionContext": transactionContext,
  18 + }); err != nil {
  19 + return nil, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  20 + } else {
  21 + rep = value
  22 + }
  23 + if id > 0 {
  24 + if mod, err = rep.FindOne(map[string]interface{}{"workshopId": id}); err != nil {
  25 + if err == domain.ErrorNotFound {
  26 + return nil, nil, application.ThrowError(application.RES_NO_FIND_ERROR, "该车间不存在")
  27 + }
  28 + return nil, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  29 + }
  30 + }
  31 + //if err = fastPgDataAuth(transactionContext, mod, options...); err != nil {
  32 + // return nil, nil, err
  33 + //}
  34 + return rep, mod, err
  35 +}
  36 +
  37 +/***** 2.配置 *****/
  38 +
  39 +type FastOptions struct {
  40 + DataAuthRequired bool
  41 + OperateInfo *domain.OperateInfo
  42 +}
  43 +
  44 +func NewFastOptions(options ...option) *FastOptions {
  45 + o := &FastOptions{
  46 + DataAuthRequired: false,
  47 + }
  48 + for i := 0; i < len(options); i++ {
  49 + options[i](o)
  50 + }
  51 + return o
  52 +}
  53 +
  54 +type option func(options *FastOptions)
  55 +
  56 +// 需要数据权限
  57 +func WithDataAuthRequired() option {
  58 + return func(options *FastOptions) {
  59 + options.DataAuthRequired = true
  60 + }
  61 +}
  62 +
  63 +// WithOperator 操作人
  64 +func WithOperator(op *domain.OperateInfo) option {
  65 + return func(options *FastOptions) {
  66 + options.OperateInfo = op
  67 + }
  68 +}
@@ -16,7 +16,7 @@ type CreateProductLineCommand struct { @@ -16,7 +16,7 @@ type CreateProductLineCommand struct {
16 } 16 }
17 17
18 func (createProductLineCommand *CreateProductLineCommand) Valid(validation *validation.Validation) { 18 func (createProductLineCommand *CreateProductLineCommand) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (createProductLineCommand *CreateProductLineCommand) ValidateCommand() error { 22 func (createProductLineCommand *CreateProductLineCommand) ValidateCommand() error {
@@ -16,7 +16,7 @@ type RemoveProductLineCommand struct { @@ -16,7 +16,7 @@ type RemoveProductLineCommand struct {
16 } 16 }
17 17
18 func (removeProductLineCommand *RemoveProductLineCommand) Valid(validation *validation.Validation) { 18 func (removeProductLineCommand *RemoveProductLineCommand) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (removeProductLineCommand *RemoveProductLineCommand) ValidateCommand() error { 22 func (removeProductLineCommand *RemoveProductLineCommand) ValidateCommand() error {
@@ -18,7 +18,7 @@ type UpdateProductLineCommand struct { @@ -18,7 +18,7 @@ type UpdateProductLineCommand struct {
18 } 18 }
19 19
20 func (updateProductLineCommand *UpdateProductLineCommand) Valid(validation *validation.Validation) { 20 func (updateProductLineCommand *UpdateProductLineCommand) Valid(validation *validation.Validation) {
21 - validation.SetError("CustomValid", "未实现的自定义认证") 21 + //validation.SetError("CustomValid", "未实现的自定义认证")
22 } 22 }
23 23
24 func (updateProductLineCommand *UpdateProductLineCommand) ValidateCommand() error { 24 func (updateProductLineCommand *UpdateProductLineCommand) ValidateCommand() error {
@@ -16,7 +16,7 @@ type GetProductLineQuery struct { @@ -16,7 +16,7 @@ type GetProductLineQuery struct {
16 } 16 }
17 17
18 func (getProductLineQuery *GetProductLineQuery) Valid(validation *validation.Validation) { 18 func (getProductLineQuery *GetProductLineQuery) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (getProductLineQuery *GetProductLineQuery) ValidateQuery() error { 22 func (getProductLineQuery *GetProductLineQuery) ValidateQuery() error {
@@ -16,7 +16,7 @@ type ListProductLineQuery struct { @@ -16,7 +16,7 @@ type ListProductLineQuery struct {
16 } 16 }
17 17
18 func (listProductLineQuery *ListProductLineQuery) Valid(validation *validation.Validation) { 18 func (listProductLineQuery *ListProductLineQuery) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (listProductLineQuery *ListProductLineQuery) ValidateQuery() error { 22 func (listProductLineQuery *ListProductLineQuery) ValidateQuery() error {
@@ -2,10 +2,12 @@ package service @@ -2,10 +2,12 @@ package service
2 2
3 import ( 3 import (
4 "github.com/linmadan/egglib-go/core/application" 4 "github.com/linmadan/egglib-go/core/application"
  5 + pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
5 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory" 6 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory"
6 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productLine/command" 7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productLine/command"
7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productLine/query" 8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productLine/query"
8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" 9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  10 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/dao"
9 ) 11 )
10 12
11 // 生产线服务 13 // 生产线服务
@@ -27,26 +29,34 @@ func (productLineService *ProductLineService) CreateProductLine(createProductLin @@ -27,26 +29,34 @@ func (productLineService *ProductLineService) CreateProductLine(createProductLin
27 defer func() { 29 defer func() {
28 transactionContext.RollbackTransaction() 30 transactionContext.RollbackTransaction()
29 }() 31 }()
  32 +
  33 + uniqueIdDao, _ := dao.NewUniqueIdDao(transactionContext.(*pgTransaction.TransactionContext))
  34 + uniqueId, err := uniqueIdDao.GenerateUniqueId()
  35 + if err != nil {
  36 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  37 + }
30 newProductLine := &domain.ProductLine{ 38 newProductLine := &domain.ProductLine{
31 - //WorkshopId: createProductLineCommand.WorkshopId, 39 + LineId: uniqueId,
32 LineName: createProductLineCommand.LineName, 40 LineName: createProductLineCommand.LineName,
  41 + ProductSections: []*domain.ProductSection{},
  42 + Removed: domain.NotDeleted,
  43 + }
  44 +
  45 + var workshopRepository domain.WorkshopRepository
  46 + var workshop *domain.Workshop
  47 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, createProductLineCommand.WorkshopId)
  48 + if err != nil {
  49 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  50 + }
  51 + if err = workshop.AddLine(newProductLine); err != nil {
  52 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  53 + }
  54 + if workshop, err = workshopRepository.Save(workshop); err != nil {
  55 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  56 + }
  57 + if err := transactionContext.CommitTransaction(); err != nil {
  58 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
33 } 59 }
34 - //var productLineRepository domain  
35 - //if value, err := factory.CreateProductLineRepository(map[string]interface{}{  
36 - // "transactionContext": transactionContext,  
37 - //}); err != nil {  
38 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
39 - //} else {  
40 - // productLineRepository = value  
41 - //}  
42 - //if productLine, err := productLineRepository.Save(newProductLine); err != nil {  
43 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
44 - //} else {  
45 - // if err := transactionContext.CommitTransaction(); err != nil {  
46 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
47 - // }  
48 - // return productLine, nil  
49 - //}  
50 return newProductLine, nil 60 return newProductLine, nil
51 } 61 }
52 62
@@ -65,27 +75,20 @@ func (productLineService *ProductLineService) GetProductLine(getProductLineQuery @@ -65,27 +75,20 @@ func (productLineService *ProductLineService) GetProductLine(getProductLineQuery
65 defer func() { 75 defer func() {
66 transactionContext.RollbackTransaction() 76 transactionContext.RollbackTransaction()
67 }() 77 }()
68 - //var productLineRepository productLine.ProductLineRepository  
69 - //if value, err := factory.CreateProductLineRepository(map[string]interface{}{  
70 - // "transactionContext": transactionContext,  
71 - //}); err != nil {  
72 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
73 - //} else {  
74 - // productLineRepository = value  
75 - //}  
76 - //productLine, err := productLineRepository.FindOne(map[string]interface{}{"productLineId": getProductLineQuery.ProductLineId})  
77 - //if err != nil {  
78 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
79 - //}  
80 - //if productLine == nil {  
81 - // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(getProductLineQuery.ProductLineId)))  
82 - //} else {  
83 - // if err := transactionContext.CommitTransaction(); err != nil {  
84 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
85 - // }  
86 - // return productLine, nil  
87 - //}  
88 - return nil, nil 78 + //var workshopRepository domain.WorkshopRepository
  79 + var workshop *domain.Workshop
  80 + _, workshop, err = factory.FastPgWorkshop(transactionContext, getProductLineQuery.WorkshopId)
  81 + if err != nil {
  82 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  83 + }
  84 + line, err := workshop.FindLine(getProductLineQuery.LineId)
  85 + if err != nil {
  86 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  87 + }
  88 + if err := transactionContext.CommitTransaction(); err != nil {
  89 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  90 + }
  91 + return line, nil
89 } 92 }
90 93
91 // 返回生产线列表 94 // 返回生产线列表
@@ -140,30 +143,22 @@ func (productLineService *ProductLineService) RemoveProductLine(removeProductLin @@ -140,30 +143,22 @@ func (productLineService *ProductLineService) RemoveProductLine(removeProductLin
140 defer func() { 143 defer func() {
141 transactionContext.RollbackTransaction() 144 transactionContext.RollbackTransaction()
142 }() 145 }()
143 - //var productLineRepository productLine.ProductLineRepository  
144 - //if value, err := factory.CreateProductLineRepository(map[string]interface{}{  
145 - // "transactionContext": transactionContext,  
146 - //}); err != nil {  
147 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
148 - //} else {  
149 - // productLineRepository = value  
150 - //}  
151 - //productLine, err := productLineRepository.FindOne(map[string]interface{}{"productLineId": removeProductLineCommand.ProductLineId})  
152 - //if err != nil {  
153 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
154 - //}  
155 - //if productLine == nil {  
156 - // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(removeProductLineCommand.ProductLineId)))  
157 - //}  
158 - //if productLine, err := productLineRepository.Remove(productLine); err != nil {  
159 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
160 - //} else {  
161 - // if err := transactionContext.CommitTransaction(); err != nil {  
162 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
163 - // }  
164 - // return productLine, nil  
165 - //}  
166 - return nil, nil 146 + var workshopRepository domain.WorkshopRepository
  147 + var workshop *domain.Workshop
  148 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, removeProductLineCommand.WorkshopId)
  149 + if err != nil {
  150 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  151 + }
  152 + if _, err = workshop.RemoveLine(removeProductLineCommand.LineId); err != nil {
  153 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  154 + }
  155 + if workshop, err = workshopRepository.Save(workshop); err != nil {
  156 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  157 + }
  158 + if err := transactionContext.CommitTransaction(); err != nil {
  159 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  160 + }
  161 + return struct{}{}, nil
167 } 162 }
168 163
169 // 更新生产线 164 // 更新生产线
@@ -181,33 +176,22 @@ func (productLineService *ProductLineService) UpdateProductLine(updateProductLin @@ -181,33 +176,22 @@ func (productLineService *ProductLineService) UpdateProductLine(updateProductLin
181 defer func() { 176 defer func() {
182 transactionContext.RollbackTransaction() 177 transactionContext.RollbackTransaction()
183 }() 178 }()
184 - //var productLineRepository productLine.ProductLineRepository  
185 - //if value, err := factory.CreateProductLineRepository(map[string]interface{}{  
186 - // "transactionContext": transactionContext,  
187 - //}); err != nil {  
188 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
189 - //} else {  
190 - // productLineRepository = value  
191 - //}  
192 - //productLine, err := productLineRepository.FindOne(map[string]interface{}{"productLineId": updateProductLineCommand.ProductLineId})  
193 - //if err != nil {  
194 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
195 - //}  
196 - //if productLine == nil {  
197 - // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateProductLineCommand.ProductLineId)))  
198 - //}  
199 - //if err := productLine.Update(tool_funs.SimpleStructToMap(updateProductLineCommand)); err != nil {  
200 - // return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())  
201 - //}  
202 - //if productLine, err := productLineRepository.Save(productLine); err != nil {  
203 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
204 - //} else {  
205 - // if err := transactionContext.CommitTransaction(); err != nil {  
206 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
207 - // }  
208 - // return productLine, nil  
209 - //}  
210 - return nil, nil 179 + var workshopRepository domain.WorkshopRepository
  180 + var workshop *domain.Workshop
  181 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, updateProductLineCommand.WorkshopId)
  182 + if err != nil {
  183 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  184 + }
  185 + if err = workshop.UpdateLine(updateProductLineCommand.LineId, updateProductLineCommand.LineName); err != nil {
  186 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  187 + }
  188 + if workshop, err = workshopRepository.Save(workshop); err != nil {
  189 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  190 + }
  191 + if err := transactionContext.CommitTransaction(); err != nil {
  192 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  193 + }
  194 + return updateProductLineCommand, nil
211 } 195 }
212 196
213 func NewProductLineService(options map[string]interface{}) *ProductLineService { 197 func NewProductLineService(options map[string]interface{}) *ProductLineService {
@@ -18,7 +18,7 @@ type CreateProductSectionCommand struct { @@ -18,7 +18,7 @@ type CreateProductSectionCommand struct {
18 } 18 }
19 19
20 func (createProductSectionCommand *CreateProductSectionCommand) Valid(validation *validation.Validation) { 20 func (createProductSectionCommand *CreateProductSectionCommand) Valid(validation *validation.Validation) {
21 - validation.SetError("CustomValid", "未实现的自定义认证") 21 + //validation.SetError("CustomValid", "未实现的自定义认证")
22 } 22 }
23 23
24 func (createProductSectionCommand *CreateProductSectionCommand) ValidateCommand() error { 24 func (createProductSectionCommand *CreateProductSectionCommand) ValidateCommand() error {
@@ -11,12 +11,14 @@ import ( @@ -11,12 +11,14 @@ import (
11 type RemoveProductSectionCommand struct { 11 type RemoveProductSectionCommand struct {
12 // 车间ID 12 // 车间ID
13 WorkshopId int `cname:"车间ID" json:"workshopId" valid:"Required"` 13 WorkshopId int `cname:"车间ID" json:"workshopId" valid:"Required"`
  14 + // 生产线ID
  15 + LineId int `cname:"生产线ID" json:"lineId" valid:"Required"`
14 // 工段ID 16 // 工段ID
15 SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"` 17 SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"`
16 } 18 }
17 19
18 func (removeProductSectionCommand *RemoveProductSectionCommand) Valid(validation *validation.Validation) { 20 func (removeProductSectionCommand *RemoveProductSectionCommand) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 21 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 22 }
21 23
22 func (removeProductSectionCommand *RemoveProductSectionCommand) ValidateCommand() error { 24 func (removeProductSectionCommand *RemoveProductSectionCommand) ValidateCommand() error {
@@ -11,6 +11,8 @@ import ( @@ -11,6 +11,8 @@ import (
11 type UpdateProductSectionCommand struct { 11 type UpdateProductSectionCommand struct {
12 // 车间ID 12 // 车间ID
13 WorkshopId int `cname:"车间ID" json:"workshopId" valid:"Required"` 13 WorkshopId int `cname:"车间ID" json:"workshopId" valid:"Required"`
  14 + // 生产线ID
  15 + LineId int `cname:"生产线ID" json:"lineId" valid:"Required"`
14 // 工段ID 16 // 工段ID
15 SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"` 17 SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"`
16 // 工段名称 18 // 工段名称
@@ -18,7 +20,7 @@ type UpdateProductSectionCommand struct { @@ -18,7 +20,7 @@ type UpdateProductSectionCommand struct {
18 } 20 }
19 21
20 func (updateProductSectionCommand *UpdateProductSectionCommand) Valid(validation *validation.Validation) { 22 func (updateProductSectionCommand *UpdateProductSectionCommand) Valid(validation *validation.Validation) {
21 - validation.SetError("CustomValid", "未实现的自定义认证") 23 + //validation.SetError("CustomValid", "未实现的自定义认证")
22 } 24 }
23 25
24 func (updateProductSectionCommand *UpdateProductSectionCommand) ValidateCommand() error { 26 func (updateProductSectionCommand *UpdateProductSectionCommand) ValidateCommand() error {
@@ -16,7 +16,7 @@ type GetProductSectionQuery struct { @@ -16,7 +16,7 @@ type GetProductSectionQuery struct {
16 } 16 }
17 17
18 func (getProductSectionQuery *GetProductSectionQuery) Valid(validation *validation.Validation) { 18 func (getProductSectionQuery *GetProductSectionQuery) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (getProductSectionQuery *GetProductSectionQuery) ValidateQuery() error { 22 func (getProductSectionQuery *GetProductSectionQuery) ValidateQuery() error {
@@ -16,7 +16,7 @@ type ListProductSectionQuery struct { @@ -16,7 +16,7 @@ type ListProductSectionQuery struct {
16 } 16 }
17 17
18 func (listProductSectionQuery *ListProductSectionQuery) Valid(validation *validation.Validation) { 18 func (listProductSectionQuery *ListProductSectionQuery) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (listProductSectionQuery *ListProductSectionQuery) ValidateQuery() error { 22 func (listProductSectionQuery *ListProductSectionQuery) ValidateQuery() error {
@@ -2,9 +2,12 @@ package service @@ -2,9 +2,12 @@ package service
2 2
3 import ( 3 import (
4 "github.com/linmadan/egglib-go/core/application" 4 "github.com/linmadan/egglib-go/core/application"
  5 + pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
5 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory" 6 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory"
6 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productSection/command" 7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productSection/command"
7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productSection/query" 8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productSection/query"
  9 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  10 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/dao"
8 ) 11 )
9 12
10 // 工段服务 13 // 工段服务
@@ -26,28 +29,32 @@ func (productSectionService *ProductSectionService) CreateProductSection(createP @@ -26,28 +29,32 @@ func (productSectionService *ProductSectionService) CreateProductSection(createP
26 defer func() { 29 defer func() {
27 transactionContext.RollbackTransaction() 30 transactionContext.RollbackTransaction()
28 }() 31 }()
29 - //newProductSection := &productSection.ProductSection{  
30 - // WorkshopId: createProductSectionCommand.WorkshopId,  
31 - // LineId: createProductSectionCommand.LineId,  
32 - // SectionName: createProductSectionCommand.SectionName,  
33 - //}  
34 - //var productSectionRepository productSection.ProductSectionRepository  
35 - //if value, err := factory.CreateProductSectionRepository(map[string]interface{}{  
36 - // "transactionContext": transactionContext,  
37 - //}); err != nil {  
38 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
39 - //} else {  
40 - // productSectionRepository = value  
41 - //}  
42 - //if productSection, err := productSectionRepository.Save(newProductSection); err != nil {  
43 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
44 - //} else {  
45 - // if err := transactionContext.CommitTransaction(); err != nil {  
46 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
47 - // }  
48 - // return productSection, nil  
49 - //}  
50 - return nil, nil 32 +
  33 + uniqueIdDao, _ := dao.NewUniqueIdDao(transactionContext.(*pgTransaction.TransactionContext))
  34 + uniqueId, err := uniqueIdDao.GenerateUniqueId()
  35 + if err != nil {
  36 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  37 + }
  38 + newProductSection := &domain.ProductSection{
  39 + SectionId: uniqueId,
  40 + SectionName: createProductSectionCommand.SectionName,
  41 + }
  42 + var workshopRepository domain.WorkshopRepository
  43 + var workshop *domain.Workshop
  44 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, createProductSectionCommand.WorkshopId)
  45 + if err != nil {
  46 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  47 + }
  48 + if err = workshop.AddSection(createProductSectionCommand.LineId, newProductSection); err != nil {
  49 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  50 + }
  51 + if workshop, err = workshopRepository.Save(workshop); err != nil {
  52 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  53 + }
  54 + if err := transactionContext.CommitTransaction(); err != nil {
  55 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  56 + }
  57 + return newProductSection, nil
51 } 58 }
52 59
53 // 返回工段服务 60 // 返回工段服务
@@ -140,30 +147,23 @@ func (productSectionService *ProductSectionService) RemoveProductSection(removeP @@ -140,30 +147,23 @@ func (productSectionService *ProductSectionService) RemoveProductSection(removeP
140 defer func() { 147 defer func() {
141 transactionContext.RollbackTransaction() 148 transactionContext.RollbackTransaction()
142 }() 149 }()
143 - //var productSectionRepository productSection.ProductSectionRepository  
144 - //if value, err := factory.CreateProductSectionRepository(map[string]interface{}{  
145 - // "transactionContext": transactionContext,  
146 - //}); err != nil {  
147 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
148 - //} else {  
149 - // productSectionRepository = value  
150 - //}  
151 - //productSection, err := productSectionRepository.FindOne(map[string]interface{}{"productSectionId": removeProductSectionCommand.ProductSectionId})  
152 - //if err != nil {  
153 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
154 - //}  
155 - //if productSection == nil {  
156 - // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(removeProductSectionCommand.ProductSectionId)))  
157 - //}  
158 - //if productSection, err := productSectionRepository.Remove(productSection); err != nil {  
159 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
160 - //} else {  
161 - // if err := transactionContext.CommitTransaction(); err != nil {  
162 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
163 - // }  
164 - // return productSection, nil  
165 - //}  
166 - return nil, nil 150 + var workshopRepository domain.WorkshopRepository
  151 + var workshop *domain.Workshop
  152 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, removeProductSectionCommand.WorkshopId)
  153 + if err != nil {
  154 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  155 + }
  156 + if err = workshop.RemoveSection(removeProductSectionCommand.LineId, removeProductSectionCommand.SectionId); err != nil {
  157 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  158 + }
  159 + if workshop, err = workshopRepository.Save(workshop); err != nil {
  160 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  161 + }
  162 + if err := transactionContext.CommitTransaction(); err != nil {
  163 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  164 + }
  165 + return struct {
  166 + }{}, nil
167 } 167 }
168 168
169 // 更新工段服务 169 // 更新工段服务
@@ -181,33 +181,22 @@ func (productSectionService *ProductSectionService) UpdateProductSection(updateP @@ -181,33 +181,22 @@ func (productSectionService *ProductSectionService) UpdateProductSection(updateP
181 defer func() { 181 defer func() {
182 transactionContext.RollbackTransaction() 182 transactionContext.RollbackTransaction()
183 }() 183 }()
184 - //var productSectionRepository productSection.ProductSectionRepository  
185 - //if value, err := factory.CreateProductSectionRepository(map[string]interface{}{  
186 - // "transactionContext": transactionContext,  
187 - //}); err != nil {  
188 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
189 - //} else {  
190 - // productSectionRepository = value  
191 - //}  
192 - //productSection, err := productSectionRepository.FindOne(map[string]interface{}{"productSectionId": updateProductSectionCommand.ProductSectionId})  
193 - //if err != nil {  
194 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
195 - //}  
196 - //if productSection == nil {  
197 - // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateProductSectionCommand.ProductSectionId)))  
198 - //}  
199 - //if err := productSection.Update(tool_funs.SimpleStructToMap(updateProductSectionCommand)); err != nil {  
200 - // return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())  
201 - //}  
202 - //if productSection, err := productSectionRepository.Save(productSection); err != nil {  
203 - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
204 - //} else {  
205 - // if err := transactionContext.CommitTransaction(); err != nil {  
206 - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
207 - // }  
208 - // return productSection, nil  
209 - //}  
210 - return nil, nil 184 + var workshopRepository domain.WorkshopRepository
  185 + var workshop *domain.Workshop
  186 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, updateProductSectionCommand.WorkshopId)
  187 + if err != nil {
  188 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  189 + }
  190 + if err = workshop.UpdateSection(updateProductSectionCommand.LineId, updateProductSectionCommand.SectionId, updateProductSectionCommand.SectionName); err != nil {
  191 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  192 + }
  193 + if workshop, err = workshopRepository.Save(workshop); err != nil {
  194 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  195 + }
  196 + if err := transactionContext.CommitTransaction(); err != nil {
  197 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  198 + }
  199 + return updateProductSectionCommand, nil
211 } 200 }
212 201
213 func NewProductSectionService(options map[string]interface{}) *ProductSectionService { 202 func NewProductSectionService(options map[string]interface{}) *ProductSectionService {
@@ -9,14 +9,15 @@ import ( @@ -9,14 +9,15 @@ import (
9 ) 9 )
10 10
11 type CreateWorkshopCommand struct { 11 type CreateWorkshopCommand struct {
  12 +
12 // 车间名称 13 // 车间名称
13 WorkshopName string `cname:"车间名称" json:"workshopName" valid:"Required"` 14 WorkshopName string `cname:"车间名称" json:"workshopName" valid:"Required"`
14 // 负责人ID 15 // 负责人ID
15 - PrincipalId int `cname:"负责人ID" json:"principalId,omitempty"` 16 + PrincipalId int `cname:"负责人" json:"principalId,omitempty" valid:"Required"`
16 } 17 }
17 18
18 func (createWorkshopCommand *CreateWorkshopCommand) Valid(validation *validation.Validation) { 19 func (createWorkshopCommand *CreateWorkshopCommand) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 20 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 21 }
21 22
22 func (createWorkshopCommand *CreateWorkshopCommand) ValidateCommand() error { 23 func (createWorkshopCommand *CreateWorkshopCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type RemoveWorkshopCommand struct { @@ -14,7 +14,7 @@ type RemoveWorkshopCommand struct {
14 } 14 }
15 15
16 func (removeWorkshopCommand *RemoveWorkshopCommand) Valid(validation *validation.Validation) { 16 func (removeWorkshopCommand *RemoveWorkshopCommand) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (removeWorkshopCommand *RemoveWorkshopCommand) ValidateCommand() error { 20 func (removeWorkshopCommand *RemoveWorkshopCommand) ValidateCommand() error {
@@ -14,11 +14,13 @@ type UpdateWorkshopCommand struct { @@ -14,11 +14,13 @@ type UpdateWorkshopCommand struct {
14 // 车间名称 14 // 车间名称
15 WorkshopName string `cname:"车间名称" json:"workshopName" valid:"Required"` 15 WorkshopName string `cname:"车间名称" json:"workshopName" valid:"Required"`
16 // 负责人ID 16 // 负责人ID
17 - PrincipalId int `cname:"负责人ID" json:"principalId" valid:"Required"` 17 + PrincipalId int `cname:"负责人" json:"principalId" valid:"Required"`
  18 + // 负责人 (用户对象)
  19 + //Principal *domain.User `json:"principal,omitempty"`
18 } 20 }
19 21
20 func (updateWorkshopCommand *UpdateWorkshopCommand) Valid(validation *validation.Validation) { 22 func (updateWorkshopCommand *UpdateWorkshopCommand) Valid(validation *validation.Validation) {
21 - validation.SetError("CustomValid", "未实现的自定义认证") 23 + //validation.SetError("CustomValid", "未实现的自定义认证")
22 } 24 }
23 25
24 func (updateWorkshopCommand *UpdateWorkshopCommand) ValidateCommand() error { 26 func (updateWorkshopCommand *UpdateWorkshopCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type GetWorkshopQuery struct { @@ -14,7 +14,7 @@ type GetWorkshopQuery struct {
14 } 14 }
15 15
16 func (getWorkshopQuery *GetWorkshopQuery) Valid(validation *validation.Validation) { 16 func (getWorkshopQuery *GetWorkshopQuery) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (getWorkshopQuery *GetWorkshopQuery) ValidateQuery() error { 20 func (getWorkshopQuery *GetWorkshopQuery) ValidateQuery() error {
@@ -10,13 +10,13 @@ import ( @@ -10,13 +10,13 @@ import (
10 10
11 type ListWorkshopQuery struct { 11 type ListWorkshopQuery struct {
12 // 查询偏离量 12 // 查询偏离量
13 - Offset int `cname:"查询偏离量" json:"offset" valid:"Required"` 13 + Offset int `cname:"查询偏离量" json:"offset"`
14 // 查询限制 14 // 查询限制
15 - Limit int `cname:"查询限制" json:"limit" valid:"Required"` 15 + Limit int `cname:"查询限制" json:"limit"`
16 } 16 }
17 17
18 func (listWorkshopQuery *ListWorkshopQuery) Valid(validation *validation.Validation) { 18 func (listWorkshopQuery *ListWorkshopQuery) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (listWorkshopQuery *ListWorkshopQuery) ValidateQuery() error { 22 func (listWorkshopQuery *ListWorkshopQuery) ValidateQuery() error {
@@ -8,6 +8,9 @@ import ( @@ -8,6 +8,9 @@ import (
8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/workshop/command" 8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/workshop/command"
9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/workshop/query" 9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/workshop/query"
10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" 10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  11 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/domainService"
  12 + "strings"
  13 + "time"
11 ) 14 )
12 15
13 // 车间服务 16 // 车间服务
@@ -15,7 +18,7 @@ type WorkshopService struct { @@ -15,7 +18,7 @@ type WorkshopService struct {
15 } 18 }
16 19
17 // 创建车间服务 20 // 创建车间服务
18 -func (workshopService *WorkshopService) CreateWorkshop(createWorkshopCommand *command.CreateWorkshopCommand) (interface{}, error) { 21 +func (workshopService *WorkshopService) CreateWorkshop(operateInfo *domain.OperateInfo, createWorkshopCommand *command.CreateWorkshopCommand) (interface{}, error) {
19 if err := createWorkshopCommand.ValidateCommand(); err != nil { 22 if err := createWorkshopCommand.ValidateCommand(); err != nil {
20 return nil, application.ThrowError(application.ARG_ERROR, err.Error()) 23 return nil, application.ThrowError(application.ARG_ERROR, err.Error())
21 } 24 }
@@ -29,17 +32,32 @@ func (workshopService *WorkshopService) CreateWorkshop(createWorkshopCommand *co @@ -29,17 +32,32 @@ func (workshopService *WorkshopService) CreateWorkshop(createWorkshopCommand *co
29 defer func() { 32 defer func() {
30 transactionContext.RollbackTransaction() 33 transactionContext.RollbackTransaction()
31 }() 34 }()
  35 +
  36 + var user *domain.User
  37 + userService := domainService.NewUserService()
  38 + user, err = userService.User(createWorkshopCommand.PrincipalId)
  39 + if err != nil {
  40 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  41 + }
  42 +
32 newWorkshop := &domain.Workshop{ 43 newWorkshop := &domain.Workshop{
  44 + CompanyId: operateInfo.CompanyId,
  45 + OrgId: operateInfo.OrgId,
33 WorkshopName: createWorkshopCommand.WorkshopName, 46 WorkshopName: createWorkshopCommand.WorkshopName,
34 - //PrincipalId: createWorkshopCommand.PrincipalId, 47 + Principal: user,
  48 + CreatedAt: time.Now(),
  49 + UpdatedAt: time.Now(),
  50 + ProductLines: []*domain.ProductLine{},
35 } 51 }
  52 +
36 var workshopRepository domain.WorkshopRepository 53 var workshopRepository domain.WorkshopRepository
37 - if value, err := factory.CreateWorkshopRepository(map[string]interface{}{  
38 - "transactionContext": transactionContext,  
39 - }); err != nil {  
40 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
41 - } else {  
42 - workshopRepository = value 54 + workshopRepository, _, _ = factory.FastPgWorkshop(transactionContext, 0)
  55 + if item, err := workshopRepository.FindOne(map[string]interface{}{
  56 + "workshopName": createWorkshopCommand.WorkshopName,
  57 + "companyId": operateInfo.CompanyId,
  58 + "orgId": operateInfo.OrgId,
  59 + }); err == nil && item != nil && strings.EqualFold(item.WorkshopName, createWorkshopCommand.WorkshopName) {
  60 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "车间名称已存在")
43 } 61 }
44 if workshop, err := workshopRepository.Save(newWorkshop); err != nil { 62 if workshop, err := workshopRepository.Save(newWorkshop); err != nil {
45 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 63 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
@@ -103,17 +121,15 @@ func (workshopService *WorkshopService) ListWorkshop(listWorkshopQuery *query.Li @@ -103,17 +121,15 @@ func (workshopService *WorkshopService) ListWorkshop(listWorkshopQuery *query.Li
103 defer func() { 121 defer func() {
104 transactionContext.RollbackTransaction() 122 transactionContext.RollbackTransaction()
105 }() 123 }()
106 - var workshopRepository domain.WorkshopRepository  
107 - if value, err := factory.CreateWorkshopRepository(map[string]interface{}{  
108 - "transactionContext": transactionContext,  
109 - }); err != nil { 124 + workshopRepository, _, err := factory.FastPgWorkshop(transactionContext, 0)
  125 + if err != nil {
110 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 126 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
111 - } else {  
112 - workshopRepository = value  
113 } 127 }
114 - if count, workshops, err := workshopRepository.Find(tool_funs.SimpleStructToMap(listWorkshopQuery)); err != nil { 128 + var count int64
  129 + var workshops []*domain.Workshop
  130 + if count, workshops, err = workshopRepository.Find(tool_funs.SimpleStructToMap(listWorkshopQuery)); err != nil {
115 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 131 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
116 - } else { 132 + }
117 if err := transactionContext.CommitTransaction(); err != nil { 133 if err := transactionContext.CommitTransaction(); err != nil {
118 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 134 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
119 } 135 }
@@ -121,7 +137,7 @@ func (workshopService *WorkshopService) ListWorkshop(listWorkshopQuery *query.Li @@ -121,7 +137,7 @@ func (workshopService *WorkshopService) ListWorkshop(listWorkshopQuery *query.Li
121 "count": count, 137 "count": count,
122 "workshops": workshops, 138 "workshops": workshops,
123 }, nil 139 }, nil
124 - } 140 +
125 } 141 }
126 142
127 // 移除车间服务 143 // 移除车间服务
@@ -154,6 +170,9 @@ func (workshopService *WorkshopService) RemoveWorkshop(removeWorkshopCommand *co @@ -154,6 +170,9 @@ func (workshopService *WorkshopService) RemoveWorkshop(removeWorkshopCommand *co
154 if workshop == nil { 170 if workshop == nil {
155 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(removeWorkshopCommand.WorkshopId))) 171 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(removeWorkshopCommand.WorkshopId)))
156 } 172 }
  173 + if !workshop.CanRemove() {
  174 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "当车间下存在线别")
  175 + }
157 if workshop, err := workshopRepository.Remove(workshop); err != nil { 176 if workshop, err := workshopRepository.Remove(workshop); err != nil {
158 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 177 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
159 } else { 178 } else {
@@ -179,24 +198,32 @@ func (workshopService *WorkshopService) UpdateWorkshop(updateWorkshopCommand *co @@ -179,24 +198,32 @@ func (workshopService *WorkshopService) UpdateWorkshop(updateWorkshopCommand *co
179 defer func() { 198 defer func() {
180 transactionContext.RollbackTransaction() 199 transactionContext.RollbackTransaction()
181 }() 200 }()
  201 +
182 var workshopRepository domain.WorkshopRepository 202 var workshopRepository domain.WorkshopRepository
183 - if value, err := factory.CreateWorkshopRepository(map[string]interface{}{  
184 - "transactionContext": transactionContext,  
185 - }); err != nil { 203 + var workshop *domain.Workshop
  204 + workshopRepository, workshop, err = factory.FastPgWorkshop(transactionContext, updateWorkshopCommand.WorkshopId)
  205 + if err != nil {
186 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 206 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
187 - } else {  
188 - workshopRepository = value  
189 } 207 }
190 - workshop, err := workshopRepository.FindOne(map[string]interface{}{"workshopId": updateWorkshopCommand.WorkshopId}) 208 + if workshop.WorkshopName != updateWorkshopCommand.WorkshopName {
  209 + if item, err := workshopRepository.FindOne(map[string]interface{}{
  210 + "workshopName": updateWorkshopCommand.WorkshopName,
  211 + }); err == nil && item != nil && strings.EqualFold(item.WorkshopName, updateWorkshopCommand.WorkshopName) {
  212 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "车间名称已存在")
  213 + }
  214 + workshop.WorkshopName = updateWorkshopCommand.WorkshopName
  215 + }
  216 +
  217 + if workshop.Principal.UserId != updateWorkshopCommand.PrincipalId && updateWorkshopCommand.PrincipalId > 0 {
  218 + var user *domain.User
  219 + userService := domainService.NewUserService()
  220 + user, err = userService.User(updateWorkshopCommand.PrincipalId)
191 if err != nil { 221 if err != nil {
192 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 222 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
193 } 223 }
194 - if workshop == nil {  
195 - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateWorkshopCommand.WorkshopId)))  
196 - }  
197 - if err := workshop.Update(tool_funs.SimpleStructToMap(updateWorkshopCommand)); err != nil {  
198 - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) 224 + workshop.Principal = user
199 } 225 }
  226 +
200 if workshop, err := workshopRepository.Save(workshop); err != nil { 227 if workshop, err := workshopRepository.Save(workshop); err != nil {
201 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 228 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
202 } else { 229 } else {
@@ -14,6 +14,15 @@ var CACHE_PREFIX = "allied-creation-manufacture-dev" @@ -14,6 +14,15 @@ var CACHE_PREFIX = "allied-creation-manufacture-dev"
14 var LOG_LEVEL = "debug" 14 var LOG_LEVEL = "debug"
15 var LOG_FILE = "app.log" 15 var LOG_FILE = "app.log"
16 16
  17 +//天联共创基础模块
  18 +var ALLIED_CREATION_BASIC_HOST = "http://localhost:8080" //"http://allied-creation-basic-dev.fjmaimaimai.com"
  19 +
  20 +//天联共创用户模块
  21 +var ALLIED_CREATION_USER_HOST = "http://localhost:8081" //"http://allied-creation-user-dev.fjmaimaimai.com"
  22 +
  23 +//天联共创业务模块
  24 +var ALLIED_CREATION_COOPERATION_HOST = "http://localhost:8082" // "http://allied-creation-cooperation-dev.fjmaimaimai.com"
  25 +
17 var CUSTOMER_ACCOUNT = []int64{3129687560814592, 3129687690100739, 3492238958608384} 26 var CUSTOMER_ACCOUNT = []int64{3129687560814592, 3129687690100739, 3492238958608384}
18 27
19 const CUSTOMER_ACCOUNT_DELIMITER = "," 28 const CUSTOMER_ACCOUNT_DELIMITER = ","
@@ -42,6 +51,20 @@ func init() { @@ -42,6 +51,20 @@ func init() {
42 CUSTOMER_ACCOUNT = tmpAccounts 51 CUSTOMER_ACCOUNT = tmpAccounts
43 } 52 }
44 } 53 }
  54 +
  55 + if os.Getenv("ALLIED_CREATION_BASIC_HOST") != "" {
  56 + ALLIED_CREATION_BASIC_HOST = os.Getenv("ALLIED_CREATION_BASIC_HOST")
  57 + }
  58 + if os.Getenv("ALLIED_CREATION_USER_HOST") != "" {
  59 + ALLIED_CREATION_USER_HOST = os.Getenv("ALLIED_CREATION_USER_HOST")
  60 + }
  61 + if os.Getenv("ALLIED_CREATION_COOPERATION_HOST") != "" {
  62 + ALLIED_CREATION_COOPERATION_HOST = os.Getenv("ALLIED_CREATION_COOPERATION_HOST")
  63 + }
  64 + //if os.Getenv("SMS_SERVE_HOST") != "" {
  65 + // SMS_SERVE_HOST = os.Getenv("SMS_SERVE_HOST")
  66 + //}
  67 +
45 if os.Getenv("SERVICE_ENV") != "" { 68 if os.Getenv("SERVICE_ENV") != "" {
46 SERVICE_ENV = os.Getenv("SERVICE_ENV") 69 SERVICE_ENV = os.Getenv("SERVICE_ENV")
47 } 70 }
  1 +package domain
  2 +
  3 +import "fmt"
  4 +
  5 +const MaxQueryRow = 10000
  6 +
  7 +var (
  8 + ErrorNotFound = fmt.Errorf("没有此资源")
  9 +)
  10 +
  11 +/***** 1.数据权限 *****/
  12 +// DataAuthor 数据验证器
  13 +type DataAuthor interface {
  14 + DataAuth(options OperateInfo, data AuthedData) error
  15 +}
  16 +
  17 +// AuthedData 需要认证的数据
  18 +type AuthedData interface {
  19 + // 数据所属组织
  20 + BelongOrg() int64
  21 +}
  22 +
  23 +// 验证参数
  24 +type OperateInfo struct {
  25 + // 当前操作人
  26 + UserId int
  27 + // 当前公司
  28 + CompanyId int
  29 + // 当前登录的组织
  30 + OrgId int
  31 + // 菜单模块
  32 + MenuCode string
  33 +}
  34 +
  35 +func NewCheckOptions(optUser, org int) OperateInfo {
  36 + return OperateInfo{
  37 + UserId: optUser,
  38 + OrgId: org,
  39 + }
  40 +}
  41 +
  42 +func (info OperateInfo) Valid() bool {
  43 + if info.UserId == 0 || info.CompanyId == 0 || info.OrgId == 0 {
  44 + return false
  45 + }
  46 + return true
  47 +}
  48 +
  49 +func (info OperateInfo) GetCompanyId(companyId int) int {
  50 + if companyId != 0 {
  51 + return companyId
  52 + }
  53 + return info.CompanyId
  54 +}
  55 +
  56 +func (info OperateInfo) GetOrgId(orgId int) int {
  57 + if orgId != 0 {
  58 + return orgId
  59 + }
  60 + return info.OrgId
  61 +}
  62 +
  63 +func (info OperateInfo) GetUserId(userId int) int {
  64 + if userId != 0 {
  65 + return userId
  66 + }
  67 + return info.UserId
  68 +}
  69 +
  70 +func (info OperateInfo) String() string {
  71 + return fmt.Sprintf("UserId: %v OrgId:%v CompanyId:%v", info.UserId, info.OrgId, info.CompanyId)
  72 +}
@@ -8,4 +8,6 @@ type ProductLine struct { @@ -8,4 +8,6 @@ type ProductLine struct {
8 LineName string `json:"lineName,omitempty"` 8 LineName string `json:"lineName,omitempty"`
9 // 工段列表 9 // 工段列表
10 ProductSections []*ProductSection `json:"productSections,omitempty"` 10 ProductSections []*ProductSection `json:"productSections,omitempty"`
  11 + // 已删除标识 0:正常 1:已删除
  12 + Removed int `json:"removed,omitempty"`
11 } 13 }
@@ -6,4 +6,6 @@ type ProductSection struct { @@ -6,4 +6,6 @@ type ProductSection struct {
6 SectionId int `json:"sectionId,omitempty"` 6 SectionId int `json:"sectionId,omitempty"`
7 // 工段名称 7 // 工段名称
8 SectionName string `json:"sectionName,omitempty"` 8 SectionName string `json:"sectionName,omitempty"`
  9 + // 已删除标识 0:正常 1:已删除
  10 + Removed int `json:"removed,omitempty"`
9 } 11 }
1 package domain 1 package domain
2 2
3 -import "time" 3 +import (
  4 + "fmt"
  5 + "time"
  6 +)
  7 +
  8 +const (
  9 + // 未删除
  10 + NotDeleted = 0
  11 + // 已删除
  12 + Deleted = 1
  13 +)
4 14
5 // 车间 15 // 车间
6 type Workshop struct { 16 type Workshop struct {
@@ -39,47 +49,141 @@ func (workshop *Workshop) Identify() interface{} { @@ -39,47 +49,141 @@ func (workshop *Workshop) Identify() interface{} {
39 } 49 }
40 50
41 func (workshop *Workshop) Update(data map[string]interface{}) error { 51 func (workshop *Workshop) Update(data map[string]interface{}) error {
42 - //if companyId, ok := data["companyId"]; ok {  
43 - // workshop.CompanyId = companyId.(int)  
44 - //}  
45 - //if orgId, ok := data["orgId"]; ok {  
46 - // workshop.OrgId = orgId.(int)  
47 - //}  
48 - //if workshopId, ok := data["workshopId"]; ok {  
49 - // workshop.WorkshopId = workshopId.(int)  
50 - //}  
51 if workshopName, ok := data["workshopName"]; ok { 52 if workshopName, ok := data["workshopName"]; ok {
52 workshop.WorkshopName = workshopName.(string) 53 workshop.WorkshopName = workshopName.(string)
53 } 54 }
54 if userId, ok := data["userId"]; ok { 55 if userId, ok := data["userId"]; ok {
55 workshop.Principal.UserId = userId.(int) 56 workshop.Principal.UserId = userId.(int)
56 } 57 }
57 - if userName, ok := data["userName"]; ok {  
58 - workshop.Principal.UserName = userName.(string) 58 + if principal, ok := data["principal"]; ok {
  59 + workshop.Principal = principal.(*User)
  60 + }
  61 + workshop.UpdatedAt = time.Now()
  62 + return nil
  63 +}
  64 +
  65 +// AddLine 添加生产线
  66 +func (workshop *Workshop) AddLine(line *ProductLine) error {
  67 + for i := range workshop.ProductLines {
  68 + item := workshop.ProductLines[i]
  69 + if item.Removed == Deleted {
  70 + continue
  71 + }
  72 + if item.LineName == line.LineName {
  73 + return fmt.Errorf("生产线:%v已存在", line.LineName)
  74 + }
  75 + }
  76 + workshop.ProductLines = append(workshop.ProductLines, line)
  77 + return nil
  78 +}
  79 +
  80 +// RemoveLine 移除生产线
  81 +func (workshop *Workshop) RemoveLine(lineId int) (*ProductLine, error) {
  82 + line, err := workshop.FindLine(lineId)
  83 + if err != nil {
  84 + return nil, err
  85 + }
  86 + if line.Removed == 1 {
  87 + return nil, fmt.Errorf("生产线:%v已删除", line.LineName)
  88 + }
  89 + line.Removed = 1
  90 + return line, nil
  91 +}
  92 +
  93 +// RemoveLine 更新生产线
  94 +func (workshop *Workshop) UpdateLine(lineId int, lineName string) error {
  95 + line, err := workshop.FindLine(lineId)
  96 + if err != nil {
  97 + return err
  98 + }
  99 + if line.Removed == 1 {
  100 + return fmt.Errorf("生产线:%v已删除", line.LineName)
  101 + }
  102 + line.LineName = lineName
  103 + return nil
  104 +}
  105 +
  106 +// FindLine 查询生产线
  107 +func (workshop *Workshop) FindLine(lineId int) (*ProductLine, error) {
  108 + for i := range workshop.ProductLines {
  109 + item := workshop.ProductLines[i]
  110 + if item.LineId == lineId {
  111 + return workshop.ProductLines[i], nil
  112 + }
  113 + }
  114 + return nil, fmt.Errorf("生产线不存在")
  115 +}
  116 +
  117 +// RemoveLine 车间是否可删除 (存在任意一个生产线时,可删除)
  118 +func (workshop *Workshop) CanRemove() bool {
  119 + for i := range workshop.ProductLines {
  120 + item := workshop.ProductLines[i]
  121 + if item.Removed == NotDeleted {
  122 + return false
  123 + }
59 } 124 }
60 - if employeeType, ok := data["employeeType"]; ok {  
61 - workshop.Principal.EmployeeType = employeeType.(int) 125 + return true
  126 +}
  127 +
  128 +// AddLine 添加生产线
  129 +func (workshop *Workshop) AddSection(lineId int, section *ProductSection) error {
  130 + line, err := workshop.FindLine(lineId)
  131 + if err != nil {
  132 + return err
  133 + }
  134 + if line.Removed == 1 {
  135 + return fmt.Errorf("生产线:%v已删除", line.LineName)
62 } 136 }
63 - if icCardNumber, ok := data["icCardNumber"]; ok {  
64 - workshop.Principal.IcCardNumber = icCardNumber.(string) 137 + for i := range line.ProductSections {
  138 + item := line.ProductSections[i]
  139 + if item.Removed == Deleted {
  140 + continue
65 } 141 }
66 - if avatar, ok := data["avatar"]; ok {  
67 - workshop.Principal.Avatar = avatar.(string) 142 + if item.SectionName == section.SectionName {
  143 + return fmt.Errorf("工段:%v已存在", section.SectionName)
68 } 144 }
69 - if phone, ok := data["phone"]; ok {  
70 - workshop.Principal.Phone = phone.(string)  
71 } 145 }
72 - //if productLines, ok := data["productLines"]; ok {  
73 - // workshop.ProductLines = productLines.(array)  
74 - //}  
75 - if createdAt, ok := data["createdAt"]; ok {  
76 - workshop.CreatedAt = createdAt.(time.Time) 146 + line.ProductSections = append(line.ProductSections, section)
  147 + return nil
  148 +}
  149 +
  150 +// RemoveLine 移除生产线
  151 +func (workshop *Workshop) RemoveSection(lineId, sectionId int) error {
  152 + section, err := workshop.FindSection(lineId, sectionId)
  153 + if err != nil {
  154 + return err
  155 + }
  156 + if section.Removed == 1 {
  157 + return fmt.Errorf("工段:%v已删除", section.SectionName)
77 } 158 }
78 - if updatedAt, ok := data["updatedAt"]; ok {  
79 - workshop.UpdatedAt = updatedAt.(time.Time) 159 + section.Removed = 1
  160 + return nil
  161 +}
  162 +
  163 +// RemoveLine 更新生产线
  164 +func (workshop *Workshop) UpdateSection(lineId, sectionId int, sectionName string) error {
  165 + section, err := workshop.FindSection(lineId, sectionId)
  166 + if err != nil {
  167 + return err
80 } 168 }
81 - if deletedAt, ok := data["deletedAt"]; ok {  
82 - workshop.DeletedAt = deletedAt.(time.Time) 169 + if section.Removed == 1 {
  170 + return fmt.Errorf("工段:%v已删除", section.SectionName)
83 } 171 }
  172 + section.SectionName = sectionName
84 return nil 173 return nil
85 } 174 }
  175 +
  176 +// 查询生产线
  177 +func (workshop *Workshop) FindSection(lineId, sectionId int) (*ProductSection, error) {
  178 + line, err := workshop.FindLine(lineId)
  179 + if err != nil {
  180 + return nil, err
  181 + }
  182 + for i := range line.ProductSections {
  183 + item := line.ProductSections[i]
  184 + if item.SectionId == sectionId {
  185 + return item, nil
  186 + }
  187 + }
  188 + return nil, fmt.Errorf("工段不存在")
  189 +}
  1 +package example
  2 +
  3 +import (
  4 + "github.com/linmadan/egglib-go/utils/json"
  5 + "gitlab.fjmaimaimai.com/allied-creation/allied-lib/gateway/allied_creation_user"
  6 + "testing"
  7 +)
  8 +
  9 +var host = "http://127.0.0.1:8081"
  10 +
  11 +func TestAlliedUserGatewayLib(t *testing.T) {
  12 + creation := allied_creation_user.NewHttpLibAlliedCreationUser(host)
  13 + user, _ := creation.UserGet(allied_creation_user.ReqGetUser{
  14 + UserId: 2,
  15 + })
  16 + t.Log(json.MarshalToString(user))
  17 + _, users, _ := creation.UserSearch(allied_creation_user.ReqUserSearch{
  18 + Offset: 60,
  19 + })
  20 + t.Log(json.MarshalToString(users))
  21 +
  22 + company, _ := creation.CompanyGet(allied_creation_user.ReqCompanyGet{
  23 + CompanyId: 2,
  24 + })
  25 + t.Log(json.MarshalToString(company))
  26 +
  27 + _, companies, _ := creation.CompanySearch(allied_creation_user.ReqCompanySearch{})
  28 + t.Log(json.MarshalToString(companies))
  29 +
  30 + org, _ := creation.OrgGet(allied_creation_user.ReqOrgGet{
  31 + OrgId: 2,
  32 + })
  33 + t.Log(json.MarshalToString(org))
  34 + _, orgs, _ := creation.OrgSearch(allied_creation_user.ReqOrgSearch{})
  35 + t.Log(json.MarshalToString(orgs))
  36 +}
  37 +
  38 +func TestAlliedUserGatewayLibQuick(t *testing.T) {
  39 + creation := allied_creation_user.NewHttpLibAlliedCreationUser(host)
  40 + user, _ := creation.User(2)
  41 + t.Log(json.MarshalToString(user))
  42 + users, _ := creation.Users([]int{2})
  43 + t.Log(json.MarshalToString(users))
  44 +
  45 + company, _ := creation.Company(2)
  46 + t.Log(json.MarshalToString(company))
  47 +
  48 + companies, _ := creation.Companies([]int{2})
  49 + t.Log(json.MarshalToString(companies))
  50 +
  51 + org, _ := creation.Organization(2)
  52 + t.Log(json.MarshalToString(org))
  53 + orgs, _ := creation.Organizations([]int{2})
  54 + t.Log(json.MarshalToString(orgs))
  55 +}
  1 +package allied_creation_user
  2 +
  3 +import (
  4 + "fmt"
  5 + gatewayLib "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/allied-lib/gateway"
  6 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/allied-lib/models"
  7 + "strconv"
  8 + "time"
  9 +)
  10 +
  11 +// HttpLibAlliedCreationUser 用户模块
  12 +type HttpLibAlliedCreationUser struct {
  13 + gatewayLib.BaseServiceGateway
  14 + baseUrL string
  15 +}
  16 +
  17 +func NewHttpLibAlliedCreationUser(host string) *HttpLibAlliedCreationUser {
  18 + gt := gatewayLib.NewBaseServiceGateway(host)
  19 + gt.ConnectTimeout = 10 * time.Second
  20 + gt.ReadWriteTimeout = 10 * time.Second
  21 + return &HttpLibAlliedCreationUser{
  22 + BaseServiceGateway: gt,
  23 + }
  24 +}
  25 +
  26 +// 快速查询
  27 +
  28 +// 用户
  29 +func (gateway HttpLibAlliedCreationUser) User(userId int) (*models.User, error) {
  30 + return gateway.UserGet(ReqGetUser{UserId: userId})
  31 +}
  32 +func (gateway HttpLibAlliedCreationUser) Users(userIds []int) ([]*models.User, error) {
  33 + var list = make([]*models.User, 0)
  34 + for i := range userIds {
  35 + item, err := gateway.User(userIds[i])
  36 + if err != nil {
  37 + return list, err
  38 + }
  39 + list = append(list, item)
  40 + }
  41 + return list, nil
  42 +}
  43 +
  44 +// 公司
  45 +func (gateway HttpLibAlliedCreationUser) Company(companyId int) (*models.Company, error) {
  46 + return gateway.CompanyGet(ReqCompanyGet{CompanyId: companyId})
  47 +}
  48 +func (gateway HttpLibAlliedCreationUser) Companies(companyIds []int) ([]*models.Company, error) {
  49 + var list = make([]*models.Company, 0)
  50 + for i := range companyIds {
  51 + item, err := gateway.Company(companyIds[i])
  52 + if err != nil {
  53 + return list, err
  54 + }
  55 + list = append(list, item)
  56 + }
  57 + return list, nil
  58 +}
  59 +
  60 +// 组织
  61 +func (gateway HttpLibAlliedCreationUser) Organization(orgId int) (*models.Organization, error) {
  62 + return gateway.OrgGet(ReqOrgGet{OrgId: orgId})
  63 +}
  64 +func (gateway HttpLibAlliedCreationUser) Organizations(orgIds []int) ([]*models.Organization, error) {
  65 + var list = make([]*models.Organization, 0)
  66 + for i := range orgIds {
  67 + item, err := gateway.Organization(orgIds[i])
  68 + if err != nil {
  69 + return list, err
  70 + }
  71 + list = append(list, item)
  72 + }
  73 + return list, nil
  74 +}
  75 +
  76 +// 部门
  77 +func (gateway HttpLibAlliedCreationUser) Department(departmentId int) (*models.Department, error) {
  78 + o, err := gateway.OrgGet(ReqOrgGet{OrgId: departmentId})
  79 + if err != nil {
  80 + return nil, err
  81 + }
  82 + return o.ToDepartment(), err
  83 +}
  84 +func (gateway HttpLibAlliedCreationUser) Departments(departmentIds []int) ([]*models.Department, error) {
  85 + organizations, err := gateway.Organizations(departmentIds)
  86 + if err != nil {
  87 + return nil, err
  88 + }
  89 + var list = make([]*models.Department, 0)
  90 + for i := range organizations {
  91 + list = append(list, organizations[i].ToDepartment())
  92 + }
  93 + return list, nil
  94 +}
  95 +
  96 +//UserGet 获取用户
  97 +func (gateway HttpLibAlliedCreationUser) UserGet(param ReqGetUser) (*models.User, error) {
  98 + url := fmt.Sprintf("%s%s%d", gateway.Host(), "/user/", param.UserId)
  99 + method := "get"
  100 + var data models.User
  101 + err := gateway.FastDoRequest(url, method, param, &data)
  102 + return &data, err
  103 +}
  104 +
  105 +//UserSearch 搜索用户列表
  106 +func (gateway HttpLibAlliedCreationUser) UserSearch(param ReqUserSearch) (int, []*models.User, error) {
  107 + url := gateway.Host() + "/user/search"
  108 + method := "post"
  109 + var data DataUserSearch
  110 + err := gateway.FastDoRequest(url, method, param, &data)
  111 + return data.Count, data.Users, err
  112 +}
  113 +
  114 +// CompanyGet 返回企业
  115 +func (gateway HttpLibAlliedCreationUser) CompanyGet(param ReqCompanyGet) (*models.Company, error) {
  116 + url := gateway.Host() + "/company/" + strconv.Itoa(param.CompanyId)
  117 + method := "GET"
  118 + var data CompanyItem
  119 + err := gateway.FastDoRequest(url, method, param, &data)
  120 + return data.ToCompany(), err
  121 +}
  122 +
  123 +// CompanySearch 返回企业列表
  124 +func (gateway HttpLibAlliedCreationUser) CompanySearch(param ReqCompanySearch) (int, []*models.Company, error) {
  125 + url := gateway.Host() + "/company/search"
  126 + method := "post"
  127 + var data DataCompanySearch
  128 + err := gateway.FastDoRequest(url, method, param, &data)
  129 + if err != nil {
  130 + return data.Count, nil, err
  131 + }
  132 + cs := make([]*models.Company, 0)
  133 + for i := range data.Companys {
  134 + cs = append(cs, data.Companys[i].ToCompany())
  135 + }
  136 + return data.Count, cs, err
  137 +}
  138 +
  139 +// Org[orgId} 返回组织
  140 +func (gateway HttpLibAlliedCreationUser) OrgGet(param ReqOrgGet) (*models.Organization, error) {
  141 + url := gateway.Host() + "/org/" + strconv.Itoa(param.OrgId)
  142 + if param.FetchFlag > 0 {
  143 + url += fmt.Sprintf("?fetchFlag=%v", param.FetchFlag)
  144 + }
  145 + method := "get"
  146 + var data models.Organization
  147 + err := gateway.FastDoRequest(url, method, param, &data)
  148 + return &data, err
  149 +}
  150 +
  151 +// OrgSearch 返回组织列表
  152 +func (gateway HttpLibAlliedCreationUser) OrgSearch(param ReqOrgSearch) (int, []*models.Organization, error) {
  153 + url := gateway.Host() + "/org/search"
  154 + method := "post"
  155 + var data DataOrgSearch
  156 + err := gateway.FastDoRequest(url, method, param, &data)
  157 + return data.Count, data.Orgs, err
  158 +}
  1 +package allied_creation_user
  2 +
  3 +import (
  4 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/allied-lib/models"
  5 + "time"
  6 +)
  7 +
  8 +//搜索用户列表
  9 +type (
  10 + ReqUserSearch struct {
  11 + // 查询偏离量
  12 + Offset int `json:"offset"`
  13 + // 查询限制
  14 + Limit int `json:"limit"`
  15 + // 用户基础id
  16 + UserBaseId int64 ` json:"userBaseId"`
  17 + // 企业id
  18 + CompanyId int64 ` json:"companyId"`
  19 + // 组织ID
  20 + OrganizationId int64 `json:"organizationId"`
  21 + // 部门编号
  22 + DepartmentId int64 `json:"departmentId"`
  23 + // 用户姓名
  24 + UserName string `json:"userName"`
  25 + // 共创公司
  26 + CooperationCompany string `cname:"共创公司" json:"cooperationCompany,omitempty"`
  27 + // 部门名称
  28 + DepName string `json:"depName"`
  29 + // 手机号码
  30 + Phone string `json:"phone"`
  31 + // 用户类型
  32 + UserType int `cname:"用户类型 1:普通用户 2:共创用户 1024:企业注册用户" json:"userType,omitempty"`
  33 + // 匹配多个组织
  34 + InOrgIds []int64 `cname:"匹配多个组织" json:"inOrgIds,omitempty"`
  35 + // 实时拉取数据 (获取最新的)
  36 + PullRealTime bool `cname:"拉取最新数据" json:"pullRealTime,omitempty"`
  37 + // 状态(1:启用 2:禁用 3:注销)
  38 + EnableStatus int `cname:"状态(1:启用 2:禁用 3:注销)" json:"enableStatus,omitempty"`
  39 + // 状态(1:启用 2:禁用 3:注销)
  40 + InEnableStatus []int `cname:"状态(1:启用 2:禁用 3:注销)" json:"inEnableStatus,omitempty"`
  41 + // 匹配多个公司
  42 + InCompanyIds []interface{} `json:"inCompanyIds,omitempty"`
  43 +
  44 + // 自定义高级查询
  45 + AdvancedQuery string `json:"advancedQuery"`
  46 + }
  47 +
  48 + //DataUserSearch 搜索用户列表
  49 + DataUserSearch struct {
  50 + Count int `json:"count"`
  51 + Users []*models.User `json:"users"`
  52 + }
  53 +)
  54 +
  55 +//获取用户
  56 +type (
  57 + ReqGetUser struct {
  58 + UserId int `json:"userId"`
  59 + }
  60 +
  61 + DataGateUser struct {
  62 + models.User
  63 + }
  64 +)
  65 +
  66 +//返回企业
  67 +type (
  68 + ReqCompanyGet struct {
  69 + CompanyId int `json:"companyId"`
  70 + }
  71 +
  72 + DataCompanyGet CompanyItem
  73 +
  74 + CompanyItem struct {
  75 + CompanyId int `json:"companyId"`
  76 + CompanyConfig struct {
  77 + SystemName string `json:"systemName"`
  78 + Theme string `json:"theme"`
  79 + } `json:"companyConfig"`
  80 + CompanyInfo struct {
  81 + Logo string `json:"logo"`
  82 + CompanyName string `json:"companyName"`
  83 + Scale string `json:"scale"`
  84 + IndustryCategory string `json:"industryCategory"`
  85 + RegisteredTime time.Time `json:"registeredTime"`
  86 + //Legal struct {
  87 + // LegalPerson string `json:"legalPerson"`
  88 + // SocialCreditCode string `json:"socialCreditCode"`
  89 + // BusinessLicenseAddress struct {
  90 + // Province string `json:"province"`
  91 + // City string `json:"city"`
  92 + // Address string `json:"address"`
  93 + // } `json:"businessLicenseAddress"`
  94 + // BusinessLicenseAttachments []domain.Attachment `json:"businessLicenseAttachments"`
  95 + //} `json:"legal"`
  96 + Remark string `json:"备注"`
  97 + } `json:"companyInfo"`
  98 + Status int `json:"status"`
  99 + CreatedAt time.Time `json:"createdAt"`
  100 + UpdatedAt time.Time `json:"updatedAt"`
  101 + }
  102 +)
  103 +
  104 +func (item CompanyItem) ToCompany() *models.Company {
  105 + return &models.Company{
  106 + CompanyId: item.CompanyId,
  107 + CompanyName: item.CompanyInfo.CompanyName,
  108 + Status: item.Status,
  109 + Logo: item.CompanyInfo.Logo,
  110 + }
  111 +}
  112 +
  113 +//返回企业列表
  114 +type (
  115 + ReqCompanySearch struct {
  116 + // 查询偏离量
  117 + Offset int `cname:"查询偏离量" json:"offset,omitempty"`
  118 + // 查询限制
  119 + Limit int `cname:"查询限制" json:"limit,omitempty"`
  120 + // 状态
  121 + Status int `cname:"状态" json:"status,omitempty"`
  122 + // 企业名称
  123 + CompanyName string `cname:"企业名称" json:"companyName,omitempty"`
  124 + }
  125 +
  126 + DataCompanySearch struct {
  127 + Companys []CompanyItem `json:"companys"`
  128 + Count int `json:"count"`
  129 + }
  130 +)
  131 +
  132 +//返回组织
  133 +type (
  134 + ReqOrgGet struct {
  135 + OrgId int `json:"orgId"`
  136 + // 获取标记 bit 0:获取企业数据
  137 + FetchFlag int `json:"fetchFlag"`
  138 + }
  139 +
  140 + DataOrgGet models.Organization
  141 +)
  142 +
  143 +//返回组织列表
  144 +type (
  145 + ReqOrgSearch struct {
  146 + CompanyId int `json:"companyId"`
  147 + DepName string `json:"depName"`
  148 + IsOrg int `json:"isOrg"` //否是组织(是:1 不是:2)
  149 + Limit int `json:"limit"`
  150 + Offset int `json:"offset"`
  151 + OrgCode string `json:"orgCode"`
  152 + ParentId int `json:"parentId"`
  153 + // 模糊匹配组织名称
  154 + MatchOrgName string `cname:"部门名称" json:"matchOrgName,omitempty"`
  155 + }
  156 +
  157 + DataOrgSearch struct {
  158 + Count int `json:"count"`
  159 + Orgs []*models.Organization `json:"orgs"`
  160 + }
  161 +)
  1 +package service_gateway
  2 +
  3 +import (
  4 + rawjson "encoding/json"
  5 + "errors"
  6 + "fmt"
  7 + "github.com/linmadan/egglib-go/utils/json"
  8 + "time"
  9 +
  10 + "github.com/beego/beego/v2/client/httplib"
  11 +)
  12 +
  13 +type MessageCode struct {
  14 + Code int `json:"code"`
  15 + Msg string `json:"msg"`
  16 +}
  17 +
  18 +//GatewayResponse 统一消息返回格式
  19 +type Response struct {
  20 + MessageCode
  21 + Data rawjson.RawMessage `json:"data"`
  22 +}
  23 +
  24 +type BaseServiceGateway struct {
  25 + ConnectTimeout time.Duration
  26 + ReadWriteTimeout time.Duration
  27 + host string
  28 +}
  29 +
  30 +type Request struct {
  31 + Url string
  32 + Method string
  33 + Param interface{}
  34 +}
  35 +
  36 +func (gateway BaseServiceGateway) CreateRequest(url string, method string) *httplib.BeegoHTTPRequest {
  37 + var request *httplib.BeegoHTTPRequest
  38 + switch method {
  39 + case "get", "GET":
  40 + request = httplib.Get(url)
  41 + case "post", "POST":
  42 + request = httplib.Post(url)
  43 + case "put", "PUT":
  44 + request = httplib.Put(url)
  45 + case "delete", "DELETE":
  46 + request = httplib.Delete(url)
  47 + case "head", "HEADER":
  48 + request = httplib.Head(url)
  49 + default:
  50 + request = httplib.Get(url)
  51 + }
  52 + return request.SetTimeout(gateway.ConnectTimeout, gateway.ReadWriteTimeout)
  53 +}
  54 +
  55 +func (gateway BaseServiceGateway) GetResponseData(result Response, data interface{}) error {
  56 + if result.Code != 0 {
  57 + return fmt.Errorf(result.Msg)
  58 + }
  59 + err := json.Unmarshal(result.Data, data)
  60 + if err != nil {
  61 + return err
  62 + }
  63 + return nil
  64 +}
  65 +
  66 +func (gateway BaseServiceGateway) FastDoRequest(url, method string, param interface{}, data interface{}) error {
  67 + err := gateway.DoRequest(Request{
  68 + Url: url,
  69 + Method: method,
  70 + Param: param,
  71 + }, &data)
  72 + if err != nil {
  73 + return err
  74 + }
  75 + return nil
  76 +}
  77 +
  78 +func (gateway BaseServiceGateway) DoRequest(requestParam Request, val interface{}) error {
  79 + r := gateway.CreateRequest(requestParam.Url, requestParam.Method)
  80 + req, err := r.JSONBody(requestParam.Param)
  81 + if err != nil {
  82 + return err
  83 + }
  84 + byteResult, err := req.Bytes()
  85 + if err != nil {
  86 + return err
  87 + }
  88 + var result Response
  89 + err = json.Unmarshal(byteResult, &result)
  90 + if err != nil {
  91 + return err
  92 + }
  93 + if result.Code != 0 && len(result.Msg) > 0 {
  94 + return errors.New(result.Msg)
  95 + }
  96 + err = gateway.GetResponseData(result, val)
  97 + return nil
  98 +}
  99 +
  100 +func (gateway BaseServiceGateway) Host() string {
  101 + return gateway.host
  102 +}
  103 +
  104 +func NewBaseServiceGateway(host string) BaseServiceGateway {
  105 + return BaseServiceGateway{
  106 + host: host,
  107 + }
  108 +}
  1 +package models
  2 +
  3 +//单体用户详情数据
  4 +type User struct {
  5 + // 用户Id
  6 + UserId int `json:"userId,omitempty"`
  7 + // 基础信息ID
  8 + UserBaseId int `json:"userBaseId,omitempty"`
  9 + // 用户类型
  10 + UserType int `json:"userType,omitempty"`
  11 + // 员工类型 1:固定 2:派遣 3.临时
  12 + EmployeeType int `json:"employeeType,omitempty"`
  13 + // IC卡号
  14 + IcCardNumber string `json:"icCardNumber,omitempty"`
  15 + // 用户编号
  16 + UserCode string `json:"userCode,omitempty"`
  17 + // 启用状态
  18 + EnableStatus int `json:"enableStatus,omitempty"`
  19 + // 用户信息
  20 + UserInfo UserInfo `json:"userInfo,omitempty"`
  21 + // 所属公司
  22 + Company *Company `json:"company,omitempty"`
  23 + // 所属组织
  24 + Org *Organization `json:"org,omitempty"`
  25 + // 部门
  26 + Department *Department `json:"department,omitempty"`
  27 +}
  28 +
  29 +// UserInfo 用户信息
  30 +type UserInfo struct {
  31 + Phone string `json:"phone,omitempty"`
  32 + UserCode string `json:"userCode,omitempty"`
  33 + Email string `json:"email,omitempty"`
  34 + UserName string `json:"userName,omitempty"`
  35 + Avatar string `json:"avatar,omitempty"`
  36 +}
  37 +
  38 +// Company 公司信息
  39 +type Company struct {
  40 + CompanyId int `json:"companyId,omitempty"`
  41 + CompanyName string `json:"companyName,omitempty"`
  42 + Status int `json:"status,omitempty"`
  43 + Logo string `json:"logo,omitempty"`
  44 +}
  45 +
  46 +// Org 组织
  47 +type Organization struct {
  48 + OrgId int `json:"orgId,omitempty"`
  49 + OrgCode string `json:"orgCode,omitempty"`
  50 + OrgName string `json:"orgName,omitempty"`
  51 +}
  52 +
  53 +// Department 部门
  54 +type Department struct {
  55 + DepartmentId int `json:"departmentId,omitempty"`
  56 + DepartmentName string `json:"departmentName,omitempty"`
  57 + DepartmentNumber string `json:"departmentNumber,omitempty"`
  58 +}
  59 +
  60 +func (org Organization) ToDepartment() *Department {
  61 + return &Department{
  62 + DepartmentId: org.OrgId,
  63 + DepartmentName: org.OrgName,
  64 + DepartmentNumber: org.OrgCode,
  65 + }
  66 +}
  1 +package dao
  2 +
  3 +import (
  4 + "fmt"
  5 + pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
  6 +)
  7 +
  8 +type UniqueIdDao struct {
  9 + transactionContext *pgTransaction.TransactionContext
  10 +}
  11 +
  12 +func (d *UniqueIdDao) GenerateUniqueId() (int, error) {
  13 + sql := " SELECT nextval('manufacture.manufacture_seq_id_seq') id;"
  14 + var data = struct {
  15 + Id int
  16 + }{}
  17 + _, err := d.transactionContext.PgTx.Query(&data, sql)
  18 + if err != nil {
  19 + return 0, err
  20 + }
  21 + return data.Id, nil
  22 +}
  23 +
  24 +func NewUniqueIdDao(transactionContext *pgTransaction.TransactionContext) (*UniqueIdDao, error) {
  25 + if transactionContext == nil {
  26 + return nil, fmt.Errorf("transactionContext参数不能为nil")
  27 + } else {
  28 + return &UniqueIdDao{
  29 + transactionContext: transactionContext,
  30 + }, nil
  31 + }
  32 +}
  1 +package domainService
  2 +
  3 +import (
  4 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/constant"
  5 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  6 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/allied-lib/gateway/allied_creation_user"
  7 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/allied-lib/models"
  8 +)
  9 +
  10 +type UserService struct {
  11 + internalUserService *allied_creation_user.HttpLibAlliedCreationUser
  12 +}
  13 +
  14 +func (svr *UserService) User(id int) (*domain.User, error) {
  15 + rsp, err := svr.internalUserService.User(id)
  16 + if err != nil {
  17 + return nil, err
  18 + }
  19 + return svr.ToUser(rsp), nil
  20 +}
  21 +
  22 +//func(svr *UserService)Organization(id int)(*domain.Org,error){
  23 +// rsp,err:= svr.internalUserService.Organization(id)
  24 +// if err!=nil{
  25 +// return nil, err
  26 +// }
  27 +// return svr.ToUser(rsp), nil
  28 +//}
  29 +
  30 +func (svr *UserService) ToUser(from *models.User) *domain.User {
  31 + return &domain.User{
  32 + UserId: from.UserId,
  33 + UserName: from.UserInfo.UserName,
  34 + EmployeeType: from.EmployeeType,
  35 + IcCardNumber: from.IcCardNumber,
  36 + Avatar: from.UserInfo.Avatar,
  37 + Phone: from.UserInfo.Phone,
  38 + }
  39 +}
  40 +
  41 +//func(svr *UserService) ToOrg(from *models.Organization)*domain.Org{
  42 +//
  43 +//}
  44 +
  45 +func NewUserService() *UserService {
  46 + return &UserService{
  47 + internalUserService: allied_creation_user.NewHttpLibAlliedCreationUser(constant.ALLIED_CREATION_USER_HOST),
  48 + }
  49 +}
@@ -36,19 +36,13 @@ func (repository *WorkshopRepository) Save(workshop *domain.Workshop) (*domain.W @@ -36,19 +36,13 @@ func (repository *WorkshopRepository) Save(workshop *domain.Workshop) (*domain.W
36 "updated_at", 36 "updated_at",
37 "deleted_at", 37 "deleted_at",
38 } 38 }
39 - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)  
40 - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) 39 + insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "workshop_id", "deleted_at"))
  40 + insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "workshop_id", "deleted_at"))
41 returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) 41 returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)
42 - updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "workshop_id") 42 + updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "workshop_id", "deleted_at")
43 updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) 43 updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields)
44 tx := repository.transactionContext.PgTx 44 tx := repository.transactionContext.PgTx
45 if workshop.Identify() == nil { 45 if workshop.Identify() == nil {
46 - workshopId, err := repository.nextIdentify()  
47 - if err != nil {  
48 - return workshop, err  
49 - } else {  
50 - workshop.WorkshopId = int(workshopId)  
51 - }  
52 if _, err := tx.QueryOne( 46 if _, err := tx.QueryOne(
53 pg.Scan( 47 pg.Scan(
54 &workshop.CompanyId, 48 &workshop.CompanyId,
@@ -56,21 +50,19 @@ func (repository *WorkshopRepository) Save(workshop *domain.Workshop) (*domain.W @@ -56,21 +50,19 @@ func (repository *WorkshopRepository) Save(workshop *domain.Workshop) (*domain.W
56 &workshop.WorkshopId, 50 &workshop.WorkshopId,
57 &workshop.WorkshopName, 51 &workshop.WorkshopName,
58 &workshop.Principal, 52 &workshop.Principal,
59 - pg.Array(&workshop.ProductLines), 53 + &workshop.ProductLines,
60 &workshop.CreatedAt, 54 &workshop.CreatedAt,
61 &workshop.UpdatedAt, 55 &workshop.UpdatedAt,
62 &workshop.DeletedAt, 56 &workshop.DeletedAt,
63 ), 57 ),
64 - fmt.Sprintf("INSERT INTO workshops (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), 58 + fmt.Sprintf("INSERT INTO manufacture.workshop (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
65 workshop.CompanyId, 59 workshop.CompanyId,
66 workshop.OrgId, 60 workshop.OrgId,
67 - workshop.WorkshopId,  
68 workshop.WorkshopName, 61 workshop.WorkshopName,
69 workshop.Principal, 62 workshop.Principal,
70 - pg.Array(workshop.ProductLines), 63 + workshop.ProductLines,
71 workshop.CreatedAt, 64 workshop.CreatedAt,
72 workshop.UpdatedAt, 65 workshop.UpdatedAt,
73 - workshop.DeletedAt,  
74 ); err != nil { 66 ); err != nil {
75 return workshop, err 67 return workshop, err
76 } 68 }
@@ -82,21 +74,19 @@ func (repository *WorkshopRepository) Save(workshop *domain.Workshop) (*domain.W @@ -82,21 +74,19 @@ func (repository *WorkshopRepository) Save(workshop *domain.Workshop) (*domain.W
82 &workshop.WorkshopId, 74 &workshop.WorkshopId,
83 &workshop.WorkshopName, 75 &workshop.WorkshopName,
84 &workshop.Principal, 76 &workshop.Principal,
85 - pg.Array(&workshop.ProductLines), 77 + &workshop.ProductLines,
86 &workshop.CreatedAt, 78 &workshop.CreatedAt,
87 &workshop.UpdatedAt, 79 &workshop.UpdatedAt,
88 &workshop.DeletedAt, 80 &workshop.DeletedAt,
89 ), 81 ),
90 - fmt.Sprintf("UPDATE workshops SET %s WHERE workshop_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet), 82 + fmt.Sprintf("UPDATE manufacture.workshop SET %s WHERE workshop_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
91 workshop.CompanyId, 83 workshop.CompanyId,
92 workshop.OrgId, 84 workshop.OrgId,
93 - workshop.WorkshopId,  
94 workshop.WorkshopName, 85 workshop.WorkshopName,
95 workshop.Principal, 86 workshop.Principal,
96 - pg.Array(workshop.ProductLines), 87 + workshop.ProductLines,
97 workshop.CreatedAt, 88 workshop.CreatedAt,
98 workshop.UpdatedAt, 89 workshop.UpdatedAt,
99 - workshop.DeletedAt,  
100 workshop.Identify(), 90 workshop.Identify(),
101 ); err != nil { 91 ); err != nil {
102 return workshop, err 92 return workshop, err
@@ -117,7 +107,11 @@ func (repository *WorkshopRepository) FindOne(queryOptions map[string]interface{ @@ -117,7 +107,11 @@ func (repository *WorkshopRepository) FindOne(queryOptions map[string]interface{
117 tx := repository.transactionContext.PgTx 107 tx := repository.transactionContext.PgTx
118 workshopModel := new(models.Workshop) 108 workshopModel := new(models.Workshop)
119 query := sqlbuilder.BuildQuery(tx.Model(workshopModel), queryOptions) 109 query := sqlbuilder.BuildQuery(tx.Model(workshopModel), queryOptions)
120 - query.SetWhereByQueryOption("workshop.workshop_id = ?", "workshopId") 110 + query.AllWithDeleted()
  111 + query.SetWhereByQueryOption("workshop_id = ?", "workshopId")
  112 + query.SetWhereByQueryOption("company_id = ?", "companyId")
  113 + query.SetWhereByQueryOption("org_id = ?", "orgId")
  114 + query.SetWhereByQueryOption("workshop_name=?", "workshopName")
121 if err := query.First(); err != nil { 115 if err := query.First(); err != nil {
122 if err.Error() == "pg: no rows in result set" { 116 if err.Error() == "pg: no rows in result set" {
123 return nil, fmt.Errorf("没有此资源") 117 return nil, fmt.Errorf("没有此资源")
@@ -136,7 +130,7 @@ func (repository *WorkshopRepository) Find(queryOptions map[string]interface{}) @@ -136,7 +130,7 @@ func (repository *WorkshopRepository) Find(queryOptions map[string]interface{})
136 var workshopModels []*models.Workshop 130 var workshopModels []*models.Workshop
137 workshops := make([]*domain.Workshop, 0) 131 workshops := make([]*domain.Workshop, 0)
138 query := sqlbuilder.BuildQuery(tx.Model(&workshopModels), queryOptions) 132 query := sqlbuilder.BuildQuery(tx.Model(&workshopModels), queryOptions)
139 - query.SetOffsetAndLimit(20) 133 + query.SetOffsetAndLimit(domain.MaxQueryRow)
140 query.SetOrderDirect("workshop_id", "DESC") 134 query.SetOrderDirect("workshop_id", "DESC")
141 if count, err := query.SelectAndCount(); err != nil { 135 if count, err := query.SelectAndCount(); err != nil {
142 return 0, workshops, err 136 return 0, workshops, err
  1 +package controllers
  2 +
  3 +import (
  4 + "github.com/beego/beego/v2/server/web/context"
  5 + "github.com/linmadan/egglib-go/web/beego"
  6 + "github.com/linmadan/egglib-go/web/beego/utils"
  7 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/constant"
  8 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  9 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/log"
  10 + "strconv"
  11 +)
  12 +
  13 +func ResponseGrid(c beego.BaseController, data interface{}, err error) {
  14 + var response utils.JsonResponse
  15 + if err != nil {
  16 + response = utils.ResponseError(c.Ctx, err)
  17 + } else {
  18 + response = ResponseGridData(c.Ctx, data)
  19 + }
  20 + c.Data["json"] = response
  21 + c.ServeJSON()
  22 +}
  23 +
  24 +func ResponseGridData(ctx *context.Context, data interface{}) utils.JsonResponse {
  25 + jsonResponse := utils.JsonResponse{}
  26 + jsonResponse["code"] = 0
  27 + jsonResponse["msg"] = "ok"
  28 + jsonResponse["data"] = map[string]interface{}{"grid": data}
  29 + ctx.Input.SetData("outputData", jsonResponse)
  30 + return jsonResponse
  31 +}
  32 +
  33 +func Must(err error) {
  34 + if err != nil {
  35 + log.Logger.Error(err.Error())
  36 + }
  37 +}
  38 +
  39 +// ParseOperateInfo 从头部解析操作对象信息
  40 +func ParseOperateInfo(c beego.BaseController) *domain.OperateInfo {
  41 + opt := &domain.OperateInfo{}
  42 + opt.UserId = header(c, constant.HeaderUserId)
  43 + opt.CompanyId = header(c, constant.HeaderCompanyId)
  44 + opt.OrgId = header(c, constant.HeaderOrgId)
  45 + return opt
  46 +}
  47 +
  48 +func header(c beego.BaseController, key string) int {
  49 + if len(c.Ctx.Input.Header(key)) == 0 {
  50 + return 0
  51 + }
  52 + res, err := strconv.Atoi(c.Ctx.Input.Header(key))
  53 + if err != nil {
  54 + log.Logger.Error(err.Error())
  55 + return 0
  56 + }
  57 + return res
  58 +}
@@ -41,9 +41,11 @@ func (controller *ProductLineController) GetProductLine() { @@ -41,9 +41,11 @@ func (controller *ProductLineController) GetProductLine() {
41 func (controller *ProductLineController) RemoveProductLine() { 41 func (controller *ProductLineController) RemoveProductLine() {
42 productLineService := service.NewProductLineService(nil) 42 productLineService := service.NewProductLineService(nil)
43 removeProductLineCommand := &command.RemoveProductLineCommand{} 43 removeProductLineCommand := &command.RemoveProductLineCommand{}
44 - controller.Unmarshal(removeProductLineCommand) 44 + //controller.Unmarshal(removeProductLineCommand)
45 lineId, _ := controller.GetInt(":lineId") 45 lineId, _ := controller.GetInt(":lineId")
  46 + workshopId, _ := controller.GetInt("workshopId")
46 removeProductLineCommand.LineId = lineId 47 removeProductLineCommand.LineId = lineId
  48 + removeProductLineCommand.WorkshopId = workshopId
47 data, err := productLineService.RemoveProductLine(removeProductLineCommand) 49 data, err := productLineService.RemoveProductLine(removeProductLineCommand)
48 controller.Response(data, err) 50 controller.Response(data, err)
49 } 51 }
@@ -44,6 +44,10 @@ func (controller *ProductSectionController) RemoveProductSection() { @@ -44,6 +44,10 @@ func (controller *ProductSectionController) RemoveProductSection() {
44 controller.Unmarshal(removeProductSectionCommand) 44 controller.Unmarshal(removeProductSectionCommand)
45 sectionId, _ := controller.GetInt(":sectionId") 45 sectionId, _ := controller.GetInt(":sectionId")
46 removeProductSectionCommand.SectionId = sectionId 46 removeProductSectionCommand.SectionId = sectionId
  47 + lineId, _ := controller.GetInt("lineId")
  48 + workshopId, _ := controller.GetInt("workshopId")
  49 + removeProductSectionCommand.LineId = lineId
  50 + removeProductSectionCommand.WorkshopId = workshopId
47 data, err := productSectionService.RemoveProductSection(removeProductSectionCommand) 51 data, err := productSectionService.RemoveProductSection(removeProductSectionCommand)
48 controller.Response(data, err) 52 controller.Response(data, err)
49 } 53 }
@@ -15,7 +15,7 @@ func (controller *WorkshopController) CreateWorkshop() { @@ -15,7 +15,7 @@ func (controller *WorkshopController) CreateWorkshop() {
15 workshopService := service.NewWorkshopService(nil) 15 workshopService := service.NewWorkshopService(nil)
16 createWorkshopCommand := &command.CreateWorkshopCommand{} 16 createWorkshopCommand := &command.CreateWorkshopCommand{}
17 controller.Unmarshal(createWorkshopCommand) 17 controller.Unmarshal(createWorkshopCommand)
18 - data, err := workshopService.CreateWorkshop(createWorkshopCommand) 18 + data, err := workshopService.CreateWorkshop(ParseOperateInfo(controller.BaseController), createWorkshopCommand)
19 controller.Response(data, err) 19 controller.Response(data, err)
20 } 20 }
21 21