liujiandao
2023-12-22 f26ee7ab795bb21be7d31dc2cca1e7a206ef4b8b
系统设置修改
6个文件已修改
122 ■■■■ 已修改文件
api/v1/code.go 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/system_set.go 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constvar/const.go 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/system_set.go 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/index.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/system_set_service.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/code.go
@@ -102,39 +102,12 @@
        id, err = model.NewFollowRecordSearch().MaxAutoIncr()
    case constvar.CodeStandardTypeQuotation:
        id, err = model.NewQuotationSearch(nil).MaxAutoIncr()
        //报价单是否必须关联销售机会
        first, err := model.NewSystemSetSearch().SetName("报价单是否必须关联销售机会").First()
        if err == nil {
            if first.Value == "是" {
                c.Writer.Header().Set("Xsjh", "yes")
            } else {
                c.Writer.Header().Set("Xsjh", "no")
            }
        }
    case constvar.CodeStandardTypeSaleTotalOrder:
        id, err = model.NewMasterOrderSearch().MaxAutoIncr()
    case constvar.CodeStandardTypeSaleSuborder:
        id, err = model.NewSubOrderSearch(nil).MaxAutoIncr()
    case constvar.CodeStandardTypeSaleDetail:
        id, err = model.NewSalesDetailsSearch().MaxAutoIncr()
        //销售明细单是否必须关联报价单
        first, err := model.NewSystemSetSearch().SetName("销售明细单是否必须关联报价单").First()
        if err == nil {
            if first.Value == "是" {
                c.Writer.Header().Set("Bjd", "yes")
            } else {
                c.Writer.Header().Set("Bjd", "no")
            }
        }
        //销售明细单是否必须关联业务机会
        first, err = model.NewSystemSetSearch().SetName("销售明细单是否必须关联业务机会").First()
        if err == nil {
            if first.Value == "是" {
                c.Writer.Header().Set("Ywjh", "yes")
            } else {
                c.Writer.Header().Set("Ywjh", "no")
            }
        }
    case constvar.CodeStandardTypeSaleReturnGoods:
        id, err = model.NewSalesReturnSearch().MaxAutoIncr()
    case constvar.CodeStandardTypeSaleRefund:
api/v1/system_set.go
@@ -62,3 +62,65 @@
    }
    ctx.Ok()
}
// UseSystemSet
//
//    @Tags            系统设置
//    @Summary        使用系统设置
//    @Produce        application/json
//    @Param            modeType    path        string    true    "查询参数"
//    @Success        200    {object}    response.ListResponse
//    @Router            /api/system/useSystemSet/{modeType} [get]
func (slf *SystemSetApi) UseSystemSet(c *gin.Context) {
    ctx, ok := contextx.NewContext(c, nil)
    if !ok {
        return
    }
    modeType := c.Param("modeType")
    if modeType == "" {
        ctx.FailWithMsg(ecode.UnknownErr, "参数错误")
        return
    }
    switch constvar.ModeType(modeType) {
    case constvar.BjdMode:
        all, err := model.NewSystemSetSearch().SetModeType(modeType).FindAll()
        if err == nil {
            for _, set := range all {
                //报价单是否必须关联销售机会
                if set.Name == "报价单是否必须关联销售机会" {
                    if set.Value == "是" {
                        c.Writer.Header().Set("Xsjh", "yes")
                    } else {
                        c.Writer.Header().Set("Xsjh", "no")
                    }
                }
            }
        }
    case constvar.XsmxMode:
        all, err := model.NewSystemSetSearch().SetModeType(modeType).FindAll()
        if err == nil {
            for _, set := range all {
                //销售明细单是否必须关联报价单
                if set.Name == "销售明细单是否必须关联报价单" {
                    if set.Value == "是" {
                        c.Writer.Header().Set("Bjd", "yes")
                    } else {
                        c.Writer.Header().Set("Bjd", "no")
                    }
                }
                //销售明细单是否必须关联业务机会
                if set.Name == "销售明细单是否必须关联业务机会" {
                    if set.Value == "是" {
                        c.Writer.Header().Set("Ywjh", "yes")
                    } else {
                        c.Writer.Header().Set("Ywjh", "no")
                    }
                }
            }
        }
    default:
        ctx.FailWithMsg(ecode.UnknownErr, "参数错误")
        return
    }
    ctx.Ok()
}
constvar/const.go
@@ -208,6 +208,14 @@
    SystemType = 2
)
// ModeType 模块类型
type ModeType string
const (
    BjdMode  ModeType = "bjd"
    XsmxMode ModeType = "xsmx"
)
var SystemSet = map[string]interface{}{
    "CRM": map[string]interface{}{
        "报价单是否必须关联销售机会": map[string]interface{}{
@@ -217,6 +225,7 @@
                "1": "是",
                "2": "否",
            },
            "modeType": "bjd",
        },
        "销售明细单是否必须关联报价单": map[string]interface{}{
            "value": "是",
@@ -225,6 +234,7 @@
                "1": "是",
                "2": "否",
            },
            "modeType": "xsmx",
        },
        "销售明细单是否必须关联业务机会": map[string]interface{}{
            "value": "是",
@@ -233,6 +243,7 @@
                "1": "是",
                "2": "否",
            },
            "modeType": "xsmx",
        },
    },
}
model/system_set.go
@@ -8,10 +8,10 @@
type (
    SystemSet struct {
        Id         int    `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
        Name       string `json:"name" gorm:"type:varchar(255);comment:名称"`
        Value      string `json:"value" gorm:"type:varchar(255);comment:值"`
        SystemType string `json:"systemType" gorm:"type:varchar(255);comment:系统类型"`
        Id       int    `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
        Name     string `json:"name" gorm:"type:varchar(255);comment:名称"`
        Value    string `json:"value" gorm:"type:varchar(255);comment:值"`
        ModeType string `json:"modeType" gorm:"type:varchar(255);comment:模块类型"`
    }
    SystemSetSearch struct {
        SystemSet
@@ -40,6 +40,10 @@
    slf.Name = name
    return slf
}
func (slf *SystemSetSearch) SetModeType(modeType string) *SystemSetSearch {
    slf.ModeType = modeType
    return slf
}
func (slf *SystemSetSearch) build() *gorm.DB {
    var db = slf.Orm.Table(slf.TableName())
@@ -50,6 +54,9 @@
    if slf.Name != "" {
        db = db.Where("name = ?", slf.Name)
    }
    if slf.ModeType != "" {
        db = db.Where("mode_type = ?", slf.ModeType)
    }
    return db
}
router/index.go
@@ -207,6 +207,7 @@
    {
        systemSetGroup.GET("getSystemSet", systemSetApi.GetSystemSet)
        systemSetGroup.POST("saveSystemSet", systemSetApi.SaveSystemSet)
        systemSetGroup.GET("useSystemSet/:modeType", systemSetApi.UseSystemSet)
    }
    return Router
service/system_set_service.go
@@ -12,10 +12,8 @@
    }
    crmMap := constvar.SystemSet[`CRM`].(map[string]interface{})
    for _, set := range all {
        if set.SystemType == "CRM" {
            if _, ok := crmMap[set.Name]; ok {
                crmMap[set.Name].(map[string]interface{})["value"] = set.Value
            }
        if _, ok := crmMap[set.Name]; ok {
            crmMap[set.Name].(map[string]interface{})["value"] = set.Value
        }
    }
    return crmMap, nil