|
@@ -272,6 +272,28 @@ func (repository *DividendsOrderRepository) Remove(dividendsOrder *domain.Divide |
|
@@ -272,6 +272,28 @@ func (repository *DividendsOrderRepository) Remove(dividendsOrder *domain.Divide |
|
272
|
return dividendsOrder, nil
|
272
|
return dividendsOrder, nil
|
|
273
|
}
|
273
|
}
|
|
274
|
|
274
|
|
|
|
|
275
|
+func (repository *DividendsOrderRepository) BatchRemove(dividendsOrders []*domain.DividendsOrder) ([]*domain.DividendsOrder, error) {
|
|
|
|
276
|
+ tx := repository.transactionContext.PgTx
|
|
|
|
277
|
+ var dividendsOrderModels []*models.DividendsOrder
|
|
|
|
278
|
+ for _, dividendsOrder := range dividendsOrders {
|
|
|
|
279
|
+ dividendsOrderModels = append(dividendsOrderModels, &models.DividendsOrder{
|
|
|
|
280
|
+ DividendsOrderId: dividendsOrder.Identify().(int64),
|
|
|
|
281
|
+ })
|
|
|
|
282
|
+ }
|
|
|
|
283
|
+ if _, err := tx.Model(÷ndsOrderModels).WherePK().Delete(); err != nil {
|
|
|
|
284
|
+ return dividendsOrders, err
|
|
|
|
285
|
+ } else {
|
|
|
|
286
|
+ for _, dividendsOrder := range dividendsOrders {
|
|
|
|
287
|
+ // 删除订单产品
|
|
|
|
288
|
+ var orderGoodModels []*models.OrderGood
|
|
|
|
289
|
+ if _, err := tx.Model(&orderGoodModels).Where("dividends_order_number = ?", dividendsOrder.DividendsOrderNumber).Delete(); err != nil {
|
|
|
|
290
|
+ return nil, err
|
|
|
|
291
|
+ }
|
|
|
|
292
|
+ }
|
|
|
|
293
|
+ }
|
|
|
|
294
|
+ return dividendsOrders, nil
|
|
|
|
295
|
+}
|
|
|
|
296
|
+
|
|
275
|
func (repository *DividendsOrderRepository) FindOne(queryOptions map[string]interface{}) (*domain.DividendsOrder, error) {
|
297
|
func (repository *DividendsOrderRepository) FindOne(queryOptions map[string]interface{}) (*domain.DividendsOrder, error) {
|
|
276
|
tx := repository.transactionContext.PgTx
|
298
|
tx := repository.transactionContext.PgTx
|
|
277
|
dividendsOrderModel := new(models.DividendsOrder)
|
299
|
dividendsOrderModel := new(models.DividendsOrder)
|
|
@@ -304,7 +326,10 @@ func (repository *DividendsOrderRepository) Find(queryOptions map[string]interfa |
|
@@ -304,7 +326,10 @@ func (repository *DividendsOrderRepository) Find(queryOptions map[string]interfa |
|
304
|
dividendsOrders := make([]*domain.DividendsOrder, 0)
|
326
|
dividendsOrders := make([]*domain.DividendsOrder, 0)
|
|
305
|
query := sqlbuilder.BuildQuery(tx.Model(÷ndsOrderModels), queryOptions)
|
327
|
query := sqlbuilder.BuildQuery(tx.Model(÷ndsOrderModels), queryOptions)
|
|
306
|
if dividendsOrderNumber, ok := queryOptions["dividendsOrderNumber"]; ok && dividendsOrderNumber != "" {
|
328
|
if dividendsOrderNumber, ok := queryOptions["dividendsOrderNumber"]; ok && dividendsOrderNumber != "" {
|
|
307
|
- query.Where("dividends_order_number like ?", fmt.Sprintf("%%%s%%", dividendsOrderNumber))
|
329
|
+ query.Where("dividends_order_number ilike ?", fmt.Sprintf("%%%s%%", dividendsOrderNumber))
|
|
|
|
330
|
+ }
|
|
|
|
331
|
+ if customerName, ok := queryOptions["customerName"]; ok && customerName != "" {
|
|
|
|
332
|
+ query.Where("customer_name like ?", fmt.Sprintf("%%%s%%", customerName))
|
|
308
|
}
|
333
|
}
|
|
309
|
offsetLimitFlag := true
|
334
|
offsetLimitFlag := true
|
|
310
|
if offsetLimit, ok := queryOptions["offsetLimit"]; ok {
|
335
|
if offsetLimit, ok := queryOptions["offsetLimit"]; ok {
|