正在显示
8 个修改的文件
包含
198 行增加
和
0 行删除
controllers/v1/config.go
0 → 100644
| 1 | +package v1 | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "encoding/json" | ||
| 5 | + "opp/controllers" | ||
| 6 | + "opp/protocol" | ||
| 7 | + "opp/services/config" | ||
| 8 | + | ||
| 9 | + "gitlab.fjmaimaimai.com/mmm-go/gocomm/pkg/log" | ||
| 10 | +) | ||
| 11 | + | ||
| 12 | +//BulletinController 公告 | ||
| 13 | +type ConfigController struct { | ||
| 14 | + controllers.BaseController | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +//GetConfigScore | ||
| 18 | +//@router /score/get [post] | ||
| 19 | +func (this *ConfigController) GetConfigScore() { | ||
| 20 | + var msg *protocol.ResponseMessage | ||
| 21 | + defer func() { | ||
| 22 | + this.Resp(msg) | ||
| 23 | + }() | ||
| 24 | + var request *protocol.GetConfigScoreRequest | ||
| 25 | + if err := json.Unmarshal(this.ByteBody, &request); err != nil { | ||
| 26 | + log.Error(err) | ||
| 27 | + msg = protocol.BadRequestParam(1) | ||
| 28 | + return | ||
| 29 | + } | ||
| 30 | + if b, m := this.Valid(request); !b { | ||
| 31 | + msg = m | ||
| 32 | + return | ||
| 33 | + } | ||
| 34 | + header := controllers.GetRequestHeader(this.Ctx) | ||
| 35 | + msg = protocol.NewReturnResponse(config.GetConfigScore(header, request)) | ||
| 36 | +} |
models/sys_config.go
0 → 100644
| 1 | +package models | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "time" | ||
| 6 | + | ||
| 7 | + "github.com/astaxie/beego/orm" | ||
| 8 | +) | ||
| 9 | + | ||
| 10 | +type SysConfig struct { | ||
| 11 | + Id int `orm:"column(id);auto" description:"唯一编号"` | ||
| 12 | + Key string `orm:"column(key);size(50);null" description:"自定义键值 score:评分模式配置"` | ||
| 13 | + Content string `orm:"column(content);size(1000);null" description:"配置内容 json"` | ||
| 14 | + CreateAt time.Time `orm:"column(create_at);type(timestamp);null"` | ||
| 15 | + UpdateAt time.Time `orm:"column(update_at);type(timestamp);null"` | ||
| 16 | + CompanyId int `orm:"column(company_id);null" description:"公司编号"` | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +func (t *SysConfig) TableName() string { | ||
| 20 | + return "sys_config" | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | +func init() { | ||
| 24 | + orm.RegisterModel(new(SysConfig)) | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | +var ( | ||
| 28 | + KeyScore = "score" | ||
| 29 | +) | ||
| 30 | + | ||
| 31 | +// AddSysConfig insert a new SysConfig into database and returns | ||
| 32 | +// last inserted Id on success. | ||
| 33 | +func AddSysConfig(m *SysConfig) (id int64, err error) { | ||
| 34 | + o := orm.NewOrm() | ||
| 35 | + id, err = o.Insert(m) | ||
| 36 | + return | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +// GetSysConfigById retrieves SysConfig by Id. Returns error if | ||
| 40 | +// Id doesn't exist | ||
| 41 | +func GetSysConfigById(id int) (v *SysConfig, err error) { | ||
| 42 | + o := orm.NewOrm() | ||
| 43 | + v = &SysConfig{Id: id} | ||
| 44 | + if err = o.Read(v); err == nil { | ||
| 45 | + return v, nil | ||
| 46 | + } | ||
| 47 | + return nil, err | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +// UpdateSysConfig updates SysConfig by Id and returns error if | ||
| 51 | +// the record to be updated doesn't exist | ||
| 52 | +func UpdateSysConfigById(m *SysConfig) (err error) { | ||
| 53 | + o := orm.NewOrm() | ||
| 54 | + v := SysConfig{Id: m.Id} | ||
| 55 | + // ascertain id exists in the database | ||
| 56 | + if err = o.Read(&v); err == nil { | ||
| 57 | + var num int64 | ||
| 58 | + if num, err = o.Update(m); err == nil { | ||
| 59 | + fmt.Println("Number of records updated in database:", num) | ||
| 60 | + } | ||
| 61 | + } | ||
| 62 | + return | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +// DeleteSysConfig deletes SysConfig by Id and returns error if | ||
| 66 | +// the record to be deleted doesn't exist | ||
| 67 | +func DeleteSysConfig(id int) (err error) { | ||
| 68 | + o := orm.NewOrm() | ||
| 69 | + v := SysConfig{Id: id} | ||
| 70 | + // ascertain id exists in the database | ||
| 71 | + if err = o.Read(&v); err == nil { | ||
| 72 | + var num int64 | ||
| 73 | + if num, err = o.Delete(&SysConfig{Id: id}); err == nil { | ||
| 74 | + fmt.Println("Number of records deleted in database:", num) | ||
| 75 | + } | ||
| 76 | + } | ||
| 77 | + return | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +func GetSysConfigByCompanyId(cid int, key string) (v *SysConfig, err error) { | ||
| 81 | + o := orm.NewOrm() | ||
| 82 | + sql := "select * from sys_config where `key`=? and company_id=?" | ||
| 83 | + if err = o.Raw(sql, key, cid).QueryRow(&v); err == nil { | ||
| 84 | + return v, nil | ||
| 85 | + } | ||
| 86 | + return nil, err | ||
| 87 | +} |
| @@ -39,6 +39,7 @@ const ( | @@ -39,6 +39,7 @@ const ( | ||
| 39 | ReviewStatusReturn = 2 //退回 | 39 | ReviewStatusReturn = 2 //退回 |
| 40 | ReviewStatusPass = 3 //通过 | 40 | ReviewStatusPass = 3 //通过 |
| 41 | ReviewStatusSubmit = 4 //提交 | 41 | ReviewStatusSubmit = 4 //提交 |
| 42 | + ReviewStatusAuditg = 5 //审批中 | ||
| 42 | ) | 43 | ) |
| 43 | 44 | ||
| 44 | //公开状态 | 45 | //公开状态 |
protocol/config.go
0 → 100644
| 1 | +package protocol | ||
| 2 | + | ||
| 3 | +/*GetConfigScore */ | ||
| 4 | +type GetConfigScoreRequest struct { | ||
| 5 | +} | ||
| 6 | +type GetConfigScoreResponse struct { | ||
| 7 | + ScoreConfig | ||
| 8 | +} | ||
| 9 | + | ||
| 10 | +type ScoreConfig struct { | ||
| 11 | + DiscoveryScore *DiscoveryScore `json:"discoveryScore"` | ||
| 12 | + SumScore *SumScore `json:"-"` //sumScore | ||
| 13 | + BasicScore *ScoreRange `json:"basicScore"` | ||
| 14 | + ExtraScore *ScoreRange `json:"extraScore"` | ||
| 15 | + ValueScore *ScoreRange `json:"valueScore"` | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +//发现评分计算规则 | ||
| 19 | +type DiscoveryScore struct { | ||
| 20 | + BasicFactor float64 `json:"basicFactor"` //基础分系数 | ||
| 21 | + ExtraFactor float64 `json:"extraFactor"` //附加分系数 | ||
| 22 | + ValueFactor float64 `json:"valueFactor"` //价值分系数 | ||
| 23 | +} | ||
| 24 | + | ||
| 25 | +//总分计算规则 | ||
| 26 | +type SumScore struct { | ||
| 27 | + DiscoveryFactor float64 `json:"discoveryFactor"` //发现分系数 | ||
| 28 | + CatchFactor float64 `json:"catchFactor"` //抓住分系数 | ||
| 29 | +} | ||
| 30 | +type ScoreRange struct { | ||
| 31 | + Min float64 `json:"min"` //最小分 | ||
| 32 | + Max float64 `json:"max"` //最大分 | ||
| 33 | + Step float64 `json:"step"` //步长 | ||
| 34 | +} |
| @@ -215,6 +215,14 @@ func init() { | @@ -215,6 +215,14 @@ func init() { | ||
| 215 | MethodParams: param.Make(), | 215 | MethodParams: param.Make(), |
| 216 | Params: nil}) | 216 | Params: nil}) |
| 217 | 217 | ||
| 218 | + beego.GlobalControllerRouter["opp/controllers/v1:ConfigController"] = append(beego.GlobalControllerRouter["opp/controllers/v1:ConfigController"], | ||
| 219 | + beego.ControllerComments{ | ||
| 220 | + Method: "GetConfigScore", | ||
| 221 | + Router: `/score/get`, | ||
| 222 | + AllowHTTPMethods: []string{"post"}, | ||
| 223 | + MethodParams: param.Make(), | ||
| 224 | + Params: nil}) | ||
| 225 | + | ||
| 218 | beego.GlobalControllerRouter["opp/controllers/v1:DepartmentController"] = append(beego.GlobalControllerRouter["opp/controllers/v1:DepartmentController"], | 226 | beego.GlobalControllerRouter["opp/controllers/v1:DepartmentController"] = append(beego.GlobalControllerRouter["opp/controllers/v1:DepartmentController"], |
| 219 | beego.ControllerComments{ | 227 | beego.ControllerComments{ |
| 220 | Method: "Departments", | 228 | Method: "Departments", |
| @@ -22,6 +22,7 @@ func init() { | @@ -22,6 +22,7 @@ func init() { | ||
| 22 | beego.NSNamespace("chance", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.ChanceController{})), | 22 | beego.NSNamespace("chance", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.ChanceController{})), |
| 23 | beego.NSNamespace("message", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.MessageController{})), | 23 | beego.NSNamespace("message", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.MessageController{})), |
| 24 | beego.NSNamespace("department", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.DepartmentController{})), | 24 | beego.NSNamespace("department", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.DepartmentController{})), |
| 25 | + beego.NSNamespace("config", beego.NSBefore(controllers.FilterComm), beego.NSInclude(&v1.ConfigController{})), | ||
| 25 | ) | 26 | ) |
| 26 | beego.AddNamespace(nsV1) | 27 | beego.AddNamespace(nsV1) |
| 27 | 28 |
| @@ -506,6 +506,13 @@ func ChanceApproveProcess(header *protocol.RequestHeader, chance *models.Chance) | @@ -506,6 +506,13 @@ func ChanceApproveProcess(header *protocol.RequestHeader, chance *models.Chance) | ||
| 506 | } | 506 | } |
| 507 | } | 507 | } |
| 508 | } | 508 | } |
| 509 | + //兼容审批流 待审核1->审批中5 | ||
| 510 | + //chanceProcessItemReviewStatus:=func(item *protocol.ProcessItem ) *protocol.ProcessItem { | ||
| 511 | + // if item.ReviewStatus==protocol.ReviewStatusAuditging{ | ||
| 512 | + // item.ReviewStatus= protocol.ReviewStatusAuditg | ||
| 513 | + // } | ||
| 514 | + // return item | ||
| 515 | + //} | ||
| 509 | for i := range processList { | 516 | for i := range processList { |
| 510 | p := processList[i] | 517 | p := processList[i] |
| 511 | item := newProcessItem(p) | 518 | item := newProcessItem(p) |
services/config/config.go
0 → 100644
| 1 | +package config | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "encoding/json" | ||
| 5 | + "gitlab.fjmaimaimai.com/mmm-go/gocomm/pkg/log" | ||
| 6 | + "opp/models" | ||
| 7 | + "opp/protocol" | ||
| 8 | +) | ||
| 9 | + | ||
| 10 | +func GetConfigScore(header *protocol.RequestHeader, request *protocol.GetConfigScoreRequest) (rsp *protocol.GetConfigScoreResponse, err error) { | ||
| 11 | + var ( | ||
| 12 | + scoreConfig *models.SysConfig | ||
| 13 | + ) | ||
| 14 | + rsp = &protocol.GetConfigScoreResponse{} | ||
| 15 | + if scoreConfig, err = models.GetSysConfigByCompanyId(int(header.CompanyId), models.KeyScore); err != nil { | ||
| 16 | + log.Error(err.Error()) | ||
| 17 | + return | ||
| 18 | + } | ||
| 19 | + if err = json.Unmarshal([]byte(scoreConfig.Content), &rsp); err != nil { | ||
| 20 | + log.Error(err.Error()) | ||
| 21 | + return | ||
| 22 | + } | ||
| 23 | + return | ||
| 24 | +} |
-
请 注册 或 登录 后发表评论