|
|
@@ -0,0 +1,230 @@
|
|
|
+package sys_config
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "fohow.com/cache"
|
|
|
+ "github.com/astaxie/beego"
|
|
|
+ "github.com/astaxie/beego/orm"
|
|
|
+ "strconv"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+const (
|
|
|
+ CODE_BUY_CASH = "BUY_CASH"
|
|
|
+ CODE_SEND_CASH = "SEND_CASH"
|
|
|
+ CODE_CASH_AWARD = "CASH_AWARD"
|
|
|
+ CODE_FREIGHT_LIMIT = "FREIGHT_LIMIT"
|
|
|
+ CODE_FREIGHT = "FREIGHT"
|
|
|
+ CODE_USER_SHOP_APPLY = "USER_SHOP_APPLY"
|
|
|
+ CODE_USER_APPLY_RET = "USER_APPLY_RET"
|
|
|
+ CODE_USER_APPLY_QUAN = "USER_APPLY_QUAN"
|
|
|
+ CODE_AGENT_SHOP_APPLY = "AGENT_SHOP_APPLY"
|
|
|
+ CODE_AGENT_APPLY_RET = "AGENT_APPLY_RET"
|
|
|
+ CODE_AGENT_APPLY_QUAN = "AGENT_APPLY_QUAN"
|
|
|
+ CODE_FOHOW_OUBIAO = "oubiao"
|
|
|
+ sys_configs_tablename = "sys_configs"
|
|
|
+)
|
|
|
+
|
|
|
+type SysConfig struct {
|
|
|
+ Id int64 `orm:"column(id);pk" json:"id"` // int(11)
|
|
|
+ Code string `orm:"column(code);null" json:"-"` // varchar(64)
|
|
|
+ CodeType int64 `orm:"column(code_type)" json:"-"` // int(11)
|
|
|
+ CodeValue string `orm:"column(code_value);null" json:"-"` // varchar(64)
|
|
|
+ DepartId int64 `orm:"column(depart_record_id)" json:"-"` // int(11)
|
|
|
+ Sort int64 `orm:"column(sort)" json:"-"` // int(11)
|
|
|
+ CreatedAt time.Time `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"-"` // datetime
|
|
|
+ UpdatedAt time.Time `orm:"column(updated_at);null;auto_now;type(datetime)" json:"-"` // datetime
|
|
|
+}
|
|
|
+
|
|
|
+func (self *SysConfig) TableName() string {
|
|
|
+ return sys_configs_tablename
|
|
|
+}
|
|
|
+
|
|
|
+// 获取购券支付金额
|
|
|
+func GetBuyCash() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_BUY_CASH).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 购券实得金额
|
|
|
+func GetSendCash() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_SEND_CASH).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 获取购券返佣
|
|
|
+func GetCashAward() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_CASH_AWARD).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 订单免运金额
|
|
|
+func GetOrderLimit() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_FREIGHT_LIMIT).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 获取运费金额
|
|
|
+func GetFreight() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_FREIGHT).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 会员申店金额
|
|
|
+func GetUserApply() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_USER_SHOP_APPLY).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 会员申店反券
|
|
|
+func GetUserCash() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_USER_APPLY_QUAN).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 会员申店返佣
|
|
|
+func GetUserAward() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_USER_APPLY_RET).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 代理申店金额
|
|
|
+func GetAgentApply() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_AGENT_SHOP_APPLY).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 代理申店反券
|
|
|
+func GetAgentCash() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_AGENT_APPLY_QUAN).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+// 代理申店返佣
|
|
|
+func GetAgentAward() int64 {
|
|
|
+ SysConfig := &SysConfig{}
|
|
|
+ if err := orm.NewOrm().QueryTable(SysConfig).Filter("code", CODE_AGENT_APPLY_RET).Limit(1).One(SysConfig); err != nil {
|
|
|
+ beego.BeeLogger.Error("get SysConfig by err=%s", err)
|
|
|
+ SysConfig = nil
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ value, err := strconv.ParseInt(SysConfig.CodeValue, 10, 64)
|
|
|
+ if err != nil {
|
|
|
+ return int64(0)
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|
|
|
+
|
|
|
+//根据部门获取收款商户
|
|
|
+func GetPayConfigByDepart(depart int64, useCache bool) string {
|
|
|
+
|
|
|
+ k := fmt.Sprintf("sys_config_model.depart(%d)", depart)
|
|
|
+ if useCache {
|
|
|
+ if s, ok := cache.Cache.Get(k).(*SysConfig); ok {
|
|
|
+ return s.CodeValue
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ item := new(SysConfig)
|
|
|
+ o := orm.NewOrm()
|
|
|
+ err := o.QueryTable(item).Filter("depart_record_id", depart).OrderBy("-id").Limit(1).One(item)
|
|
|
+ if err != nil {
|
|
|
+ beego.BeeLogger.Info("sys_config_model.GetPayConfigByDepart.depart(%d) err[%s]", depart, err)
|
|
|
+ return CODE_FOHOW_OUBIAO
|
|
|
+ }
|
|
|
+
|
|
|
+ if item != nil {
|
|
|
+ cache.Cache.Put(k, item, 5*time.Minute)
|
|
|
+ }
|
|
|
+ return item.CodeValue
|
|
|
+}
|