fix
zhangqian
2023-08-18 8c9f3126af1a7a6f7cc2cff51449da6f77f56e01
fix
3个文件已修改
46 ■■■■■ 已修改文件
model/product.go 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/salesDetailsProduct.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/salesDetails.go 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/product.go
@@ -47,6 +47,9 @@
    if slf.Name != "" {
        db = db.Where("name = ?", slf.Name)
    }
    if len(slf.Ids) != 0 {
        db = db.Where("id in ?", slf.Ids)
    }
    return db
}
model/salesDetailsProduct.go
@@ -10,8 +10,8 @@
type (
    // SalesDetailsProduct 销售明细和产品关联
    SalesDetailsProduct struct {
        SalesDetailsId int  `json:"id" gorm:"column:id;type:int;primary_key;AUTO_INCREMENT"`
        ProductId      uint `json:"name" gorm:"primary_key;column:name;type:varchar(255);not null;default:'';comment:名称"`
        SalesDetailsId int  `json:"id" gorm:"column:sales_details_id;type:int;primary_key;not null;default:0"`
        ProductId      uint `json:"name" gorm:"primary_key;column:product_id;type:int;not null;default:0;comment:产品id"`
    }
    // SalesDetailsProductSearch 销售明细和产品关联搜索条件
service/salesDetails.go
@@ -53,7 +53,7 @@
func (SalesDetailsService) UpdateSalesDetails(salesDetails *model.SalesDetails) int {
    // check salesDetails exist
    old, err := model.NewSalesDetailsSearch().SetId(salesDetails.Id).First()
    old, err := model.NewSalesDetailsSearch().SetId(salesDetails.Id).SetPreload(true).First()
    if err != nil {
        return ecode.SalesDetailsNotExist
    }
@@ -77,22 +77,31 @@
        if err != nil {
            return err
        }
        err = model.NewProductSearch(db).SetIds(removedProductIds).Delete()
        if err != nil {
            return err
        if len(removedProductIds) > 0 {
            err = model.NewProductSearch(db).SetIds(removedProductIds).Delete()
            if err != nil {
                return err
            }
        }
        err = model.NewProductSearch(db).CreateBatch(newProducts)
        if err != nil {
            return err
        if len(newProducts) > 0 {
            err = model.NewProductSearch(db).CreateBatch(newProducts)
            if err != nil {
                return err
            }
            var rel []*model.SalesDetailsProduct
            for _, p := range newProducts {
                rel = append(rel, &model.SalesDetailsProduct{
                    SalesDetailsId: salesDetails.Id,
                    ProductId:      p.Id,
                })
            }
            err = model.NewSalesDetailsProductSearch().CreateBatch(rel)
            if err != nil {
                return err
            }
        }
        var rel []*model.SalesDetailsProduct
        for _, p := range newProducts {
            rel = append(rel, &model.SalesDetailsProduct{
                SalesDetailsId: salesDetails.Id,
                ProductId:      p.Id,
            })
        }
        return model.NewSalesDetailsProductSearch().CreateBatch(rel)
        return nil
    })
    if err != nil {