作者 陈志颖

feat:完成共创申请一键审核

@@ -22,6 +22,8 @@ type OneClickApprovalCooperationApplicationCommand struct { @@ -22,6 +22,8 @@ type OneClickApprovalCooperationApplicationCommand struct {
22 UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId" valid:"Required"` 22 UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId" valid:"Required"`
23 // 审核动作,1同意,2拒绝 23 // 审核动作,1同意,2拒绝
24 Action int32 `cname:"审核动作" json:"action" valid:"Required"` 24 Action int32 `cname:"审核动作" json:"action" valid:"Required"`
  25 + // 审核状态
  26 + CooperationApplicationStatus int32 `cname:"共创申请审核状态" json:"cooperationApplicationStatus"`
25 } 27 }
26 28
27 func (oneClickApprovalCooperationApplicationCommand *OneClickApprovalCooperationApplicationCommand) Valid(validation *validation.Validation) { 29 func (oneClickApprovalCooperationApplicationCommand *OneClickApprovalCooperationApplicationCommand) Valid(validation *validation.Validation) {
@@ -236,7 +236,9 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova @@ -236,7 +236,9 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova
236 if err := transactionContext.CommitTransaction(); err != nil { 236 if err := transactionContext.CommitTransaction(); err != nil {
237 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 237 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
238 } 238 }
239 - return cooperationApplicationsApproved, nil 239 + return map[string]interface{}{
  240 + "cooperationApplications": cooperationApplicationsApproved,
  241 + }, nil
240 } else { 242 } else {
241 return map[string]interface{}{}, nil 243 return map[string]interface{}{}, nil
242 } 244 }
@@ -258,10 +260,41 @@ func (cooperationApplicationService *CooperationApplicationService) OneClickAppr @@ -258,10 +260,41 @@ func (cooperationApplicationService *CooperationApplicationService) OneClickAppr
258 defer func() { 260 defer func() {
259 _ = transactionContext.RollbackTransaction() 261 _ = transactionContext.RollbackTransaction()
260 }() 262 }()
261 - if err := transactionContext.CommitTransaction(); err != nil {  
262 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 263 + // 共创申请仓储初始化
  264 + var cooperationApplicationRepository domain.CooperationApplicationRepository
  265 + if value, err := factory.CreateCooperationApplicationRepository(map[string]interface{}{
  266 + "transactionContext": transactionContext,
  267 + }); err != nil {
  268 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  269 + } else {
  270 + cooperationApplicationRepository = value
  271 + }
  272 + // 查询共创申请
  273 + oneClickApprovalCooperationApplicationCommand.CooperationApplicationStatus = 1 // 待审核
  274 + if count, cooperationApplications, err := cooperationApplicationRepository.Find(tool_funs.SimpleStructToMap(oneClickApprovalCooperationApplicationCommand)); err != nil {
  275 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  276 + } else {
  277 + if count > 0 {
  278 + for i, _ := range cooperationApplications {
  279 + if oneClickApprovalCooperationApplicationCommand.Action == 1 {
  280 + cooperationApplications[i].CooperationApplicationStatus = 2
  281 + } else if oneClickApprovalCooperationApplicationCommand.Action == 2 {
  282 + cooperationApplications[i].CooperationApplicationStatus = 3
  283 + }
  284 + cooperationApplications[i].CooperationApplicationDescription = oneClickApprovalCooperationApplicationCommand.CooperationApplicationVerifyDescription
  285 + }
  286 + cooperationApplicationsApproved, err := cooperationApplicationRepository.UpdateMany(cooperationApplications)
  287 + if err != nil {
  288 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  289 + }
  290 + if err := transactionContext.CommitTransaction(); err != nil {
  291 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  292 + }
  293 + return cooperationApplicationsApproved, nil
  294 + } else {
  295 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未找到待审核的共创申请")
  296 + }
263 } 297 }
264 - return nil, nil  
265 } 298 }
266 299
267 // CreateCooperationApplication 创建共创申请服务 300 // CreateCooperationApplication 创建共创申请服务
@@ -434,6 +467,7 @@ func (cooperationApplicationService *CooperationApplicationService) ListCooperat @@ -434,6 +467,7 @@ func (cooperationApplicationService *CooperationApplicationService) ListCooperat
434 defer func() { 467 defer func() {
435 _ = transactionContext.RollbackTransaction() 468 _ = transactionContext.RollbackTransaction()
436 }() 469 }()
  470 + // 共创申请仓储初始化
437 var cooperationApplicationRepository domain.CooperationApplicationRepository 471 var cooperationApplicationRepository domain.CooperationApplicationRepository
438 if value, err := factory.CreateCooperationApplicationRepository(map[string]interface{}{ 472 if value, err := factory.CreateCooperationApplicationRepository(map[string]interface{}{
439 "transactionContext": transactionContext, 473 "transactionContext": transactionContext,
@@ -331,7 +331,10 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) BatchRemoveD @@ -331,7 +331,10 @@ func (dividendsReturnedOrderService *DividendsReturnedOrderService) BatchRemoveD
331 dividendsReturnedOrderRepository = value 331 dividendsReturnedOrderRepository = value
332 } 332 }
333 333
334 - dividendsReturnedOrderIds, _ := utils.SliceAtoi(batchRemoveDividendsOrderCommand.DividendsReturnedOrderIds) 334 + dividendsReturnedOrderIds, err := utils.SliceAtoi(batchRemoveDividendsOrderCommand.DividendsReturnedOrderIds)
  335 + if err != nil {
  336 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红退货单号错误")
  337 + }
335 if count, dividendsReturnedOrders, err := dividendsReturnedOrderRepository.Find(map[string]interface{}{ 338 if count, dividendsReturnedOrders, err := dividendsReturnedOrderRepository.Find(map[string]interface{}{
336 "dividendsReturnedOrderIds": dividendsReturnedOrderIds, 339 "dividendsReturnedOrderIds": dividendsReturnedOrderIds,
337 }); err != nil { 340 }); err != nil {
@@ -214,7 +214,6 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string @@ -214,7 +214,6 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string
214 if cooperationProjectNumber, ok := queryOptions["cooperationProjectNumber"]; ok && cooperationProjectNumber != "" { 214 if cooperationProjectNumber, ok := queryOptions["cooperationProjectNumber"]; ok && cooperationProjectNumber != "" {
215 query.Where("cooperation_project_number like ?", fmt.Sprintf("%%%s%%", cooperationProjectNumber)) 215 query.Where("cooperation_project_number like ?", fmt.Sprintf("%%%s%%", cooperationProjectNumber))
216 } 216 }
217 - // 共创项目名称查询  
218 if cooperationProjectName, ok := queryOptions["cooperationProjectName"]; ok && cooperationProjectName != "" { 217 if cooperationProjectName, ok := queryOptions["cooperationProjectName"]; ok && cooperationProjectName != "" {
219 query.Join("LEFT JOIN cooperation_projects AS a"). 218 query.Join("LEFT JOIN cooperation_projects AS a").
220 JoinOn("a.cooperation_project_number = cooperation_application.cooperation_project_number"). 219 JoinOn("a.cooperation_project_number = cooperation_application.cooperation_project_number").
@@ -229,6 +228,12 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string @@ -229,6 +228,12 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string
229 if cooperationApplicationIds, ok := queryOptions["cooperationApplicationIds"]; ok && len(cooperationApplicationIds.([]int64)) > 0 { 228 if cooperationApplicationIds, ok := queryOptions["cooperationApplicationIds"]; ok && len(cooperationApplicationIds.([]int64)) > 0 {
230 query.Where("cooperation_application_id IN (?)", pg.In(cooperationApplicationIds)) 229 query.Where("cooperation_application_id IN (?)", pg.In(cooperationApplicationIds))
231 } 230 }
  231 + if companyId, ok := queryOptions["companyId"]; ok && companyId.(int64) != 0 {
  232 + query.Where("company->>'companyId' = '?'", companyId)
  233 + }
  234 + if orgId, ok := queryOptions["orgId"]; ok && orgId.(int64) != 0 {
  235 + query.Where("org->>'orgId' = '?'", orgId)
  236 + }
232 offsetLimitFlag := true 237 offsetLimitFlag := true
233 if offsetLimit, ok := queryOptions["offsetLimit"]; ok { 238 if offsetLimit, ok := queryOptions["offsetLimit"]; ok {
234 offsetLimitFlag = offsetLimit.(bool) 239 offsetLimitFlag = offsetLimit.(bool)
@@ -319,7 +319,7 @@ func (repository *DividendsReturnedOrderRepository) FindOne(queryOptions map[str @@ -319,7 +319,7 @@ func (repository *DividendsReturnedOrderRepository) FindOne(queryOptions map[str
319 // 获取订单产品 319 // 获取订单产品
320 var orderGoodModels []*models.OrderGood 320 var orderGoodModels []*models.OrderGood
321 orderGoodModelQuery := tx.Model(&orderGoodModels) 321 orderGoodModelQuery := tx.Model(&orderGoodModels)
322 - if err := orderGoodModelQuery.Where("dividends_returned_order_number = ?", dividendsReturnedOrderModel.DividendsOrderNumber).Select(); err != nil { 322 + if err := orderGoodModelQuery.Where("dividends_returned_order_number = ?", dividendsReturnedOrderModel.DividendsReturnedOrderNumber).Select(); err != nil {
323 return nil, err 323 return nil, err
324 } 324 }
325 // 聚合分红退货单 325 // 聚合分红退货单
@@ -356,7 +356,7 @@ func (repository *DividendsReturnedOrderRepository) Find(queryOptions map[string @@ -356,7 +356,7 @@ func (repository *DividendsReturnedOrderRepository) Find(queryOptions map[string
356 // 获取订单产品 356 // 获取订单产品
357 var orderGoodModels []*models.OrderGood 357 var orderGoodModels []*models.OrderGood
358 orderGoodModelQuery := tx.Model(&orderGoodModels) 358 orderGoodModelQuery := tx.Model(&orderGoodModels)
359 - if err := orderGoodModelQuery.Where("dividends_returned_order_number = ?", dividendsReturnedOrderModel.DividendsOrderNumber).Select(); err != nil { 359 + if err := orderGoodModelQuery.Where("dividends_returned_order_number = ?", dividendsReturnedOrderModel.DividendsReturnedOrderNumber).Select(); err != nil {
360 return 0, nil, err 360 return 0, nil, err
361 } 361 }
362 if dividendsReturnedOrder, err := transform.TransformToDividendsReturnedOrderDomainModelFromPgModels(dividendsReturnedOrderModel, orderGoodModels); err != nil { 362 if dividendsReturnedOrder, err := transform.TransformToDividendsReturnedOrderDomainModelFromPgModels(dividendsReturnedOrderModel, orderGoodModels); err != nil {