Commit e789d7be by huangchengyi

Merge branch 'dev' of http://119.23.72.7/sunlong_v5/kaopu-server into dev

# Conflicts:
#	go.mod
#	go.sum
parents 016cd2d8 c67b8c9c
package main
import (
"context"
"fmt"
"kaopu-server/internal/dao"
"kaopu-server/internal/service"
"strconv"
"time"
)
//计算单一项总的静态分
func SetSumScore(c context.Context) {
com_credits.Id = insertScoreMsg.ComCreditsId
com_credits.StaticCreditScore = CompanyInfo() + AddScore() + EnterPriseCredit() + HistoryBussiness() + PersonalCredit()
connect := dao.New()
_,err := connect.UpdateStaticSumScores(c,com_credits)
fmt.Print(err)
}
//协程增加分值记录
func InsertRecord(c context.Context) {
for insertScoreMsgRecord := range socreRecordChan{
//声明service层
svc := service.New()
//CurrentScore64 := float64(insertScoreMsgRecord.CurrentScore)
//插入数据
//if !math.IsNaN(CurrentScore64) && CurrentScore64 != 0 {
//}
//svc.InsertScores(c,insertScoreMsgRecord)
insertId,err := svc.InsertScores(c,insertScoreMsgRecord)
if err != nil {
fmt.Print(err)
}
//fmt.Print(err)
fmt.Print(insertId)
}
defer wg.Done()
}
//设置插入的分数头
func SetInsertScoreChanFooter(_typy,project_pid,project_id int8) {
insertScoreMsg.Type,insertScoreMsg.ProjectPid,insertScoreMsg.ProjectId = _typy,project_pid,project_id
socreRecordChan <- insertScoreMsg
}
//获取详细的计算基本数据
func GetCompanyRunInfo(c context.Context) {
//声明service层
connect := dao.New()
companyBasicInfo,_ = connect.GetCompanyBaseInfoByCid(c,insertScoreMsg.ComCreditsId)
companySoreFields,_ = connect.GetCompanyScoreFieldsByCid(c,insertScoreMsg.ComCreditsId)
companyAddScore,_ = connect.GetCompanyAddSoreByCid(c,insertScoreMsg.ComCreditsId)
basicInfo,_ = connect.GetBasicInfoByCid(c,insertScoreMsg.ComCreditsId)
}
func GetTimeStamp()(timestamp int64) {
return time.Now().Unix()
}
func StringTurnInt64(val string) (int64) {
intval,_ := strconv.ParseInt(val, 10, 64)
return intval
}
func StringTurnFloat64(val string)(float64) {
floatval,_ := strconv.ParseFloat(val, 64)
return floatval
}
func getModelByProjectId(projectId int64)(modelInfo map[string]string) {
ctx := context.Background()
connect := dao.New()
res,_ := connect.GetCompanyModelByProjectid(ctx,1)
return res
}
//设置分数
func setScore(curretScoreRelace float64,weightReplace float64) {
insertScoreMsg.TotalScore = curretScoreRelace
//设置分数
insertScoreMsg.FinalScore ,insertScoreMsg.CurrentScore = curretScoreRelace * weightReplace,curretScoreRelace * weightReplace
insertScoreMsg.Weight = weightReplace
}
//设置project总分
func SetProjectScore(totalScoreReplace [20]float64, weightReplace float64, fullScore float64)(finalScore float64) {
var(
sumScore float64 = 0
joinNum float64 = 0
)
//查找出所有不是0的分值
for i :=0;i < len(totalScoreReplace) ; i++ {
if totalScoreReplace[i] > 0 {
joinNum += 1
sumScore += totalScoreReplace[i] * weightReplace
}
}
insertScoreMsg.CurrentScore = sumScore
//如果是0则不判断了
if sumScore == 0 {
insertScoreMsg.TotalScore,insertScoreMsg.FinalScore = 0,0
}else{
//如果最后金额大于满分,则算为最满分
if sumScore > fullScore {
insertScoreMsg.TotalScore = fullScore
}else{
insertScoreMsg.TotalScore = sumScore
}
//经过权重计算之后的总分值
insertScoreMsg.FinalScore = sumScore / joinNum
}
insertScoreMsg.Weight = weightReplace
return insertScoreMsg.FinalScore
}
\ No newline at end of file
...@@ -2,16 +2,15 @@ package main ...@@ -2,16 +2,15 @@ package main
import ( import (
"context" "context"
"encoding/json"
"flag" "flag"
"fmt" "fmt"
"kaopu-server/internal/dao" "github.com/ichunt2019/go-msgserver/utils/rabbitmq"
"kaopu-server/internal/logic" "kaopu-server/internal/logic"
"kaopu-server/internal/model" "kaopu-server/internal/model"
"kaopu-server/internal/service" "kaopu-server/internal/service"
"strconv"
"sync" "sync"
"time" "time"
"github.com/ichunt2019/go-msgserver/utils/rabbitmq"
) )
...@@ -42,6 +41,11 @@ type RecvPro struct { ...@@ -42,6 +41,11 @@ type RecvPro struct {
} }
type RabbitMsg struct {
ComCreditsId string `json:"com_credits_id"`
ErpCompanyCode string `json:"erp_company_code"`
}
...@@ -49,15 +53,18 @@ func main() { ...@@ -49,15 +53,18 @@ func main() {
//获取config //获取config
logic.GetConfig() logic.GetConfig()
//设置协程数量
wg.Add(1)
flag.StringVar(&runtype, "runtype", "one", "default config path") flag.StringVar(&runtype, "runtype", "one", "default config path")
c := context.Background()
go InsertRecord(c)
if runtype == "one" { if runtype == "one" {
//设置协程数量
wg.Add(1)
c := context.Background()
go InsertRecord(c)
//调用服务获取公司信息,然后进行全局赋值 //调用服务获取公司信息,然后进行全局赋值
svc := service.New() svc := service.New()
companyData,_ = svc.GetCompanyCresitsList(c) companyData,_ = svc.GetCompanyCresitsList(c)
...@@ -67,15 +74,20 @@ func main() { ...@@ -67,15 +74,20 @@ func main() {
insertScoreMsg.ComCreditsId = StringTurnInt64(v["id"]) insertScoreMsg.ComCreditsId = StringTurnInt64(v["id"])
GetCompanyRunInfo(c) GetCompanyRunInfo(c)
SetSumScore(c) SetSumScore(c)
break
} }
//赋值完关闭通道
close(socreRecordChan)
wg.Wait()
}else{ }else{
t := &RecvPro{} t := &RecvPro{}
queueExchange := &rabbitmq.QueueExchange{ queueExchange := &rabbitmq.QueueExchange{
"fengkong_static_count", "fengkong_static_count",
"fengkong_static_count", "fengkong_static_count",
"b_test_rabbit_mq", "fengkong_exchange",
"direct", "direct",
"amqp://guest:guest@192.168.2.232:5672/", "amqp://guest:guest@192.168.2.232:5672/",
} }
...@@ -92,133 +104,38 @@ func main() { ...@@ -92,133 +104,38 @@ func main() {
} }
fmt.Print("待补充rabbitmq") fmt.Print("待补充rabbitmq")
} }
//赋值完关闭通道
close(socreRecordChan)
wg.Wait()
} }
//// 实现消费者 消费消息失败 自动进入延时尝试 尝试3次之后入库db //// 实现消费者 消费消息失败 自动进入延时尝试 尝试3次之后入库db
func (t *RecvPro) Consumer(dataByte []byte) error { func (t *RecvPro) Consumer(dataByte []byte) error {
fmt.Println(string(dataByte))
//return errors.New("顶顶顶顶")
return nil
}
//计算单一项总的静态分
func SetSumScore(c context.Context) {
com_credits.Id = insertScoreMsg.ComCreditsId
com_credits.StaticCreditScore = CompanyInfo() + AddScore() + EnterPriseCredit() + HistoryBussiness() + PersonalCredit()
connect := dao.New()
connect.UpdateStaticSumScores(c,com_credits)
}
//转成json串
var rbm RabbitMsg
json.Unmarshal(dataByte,&rbm)
//协程增加分值记录 fmt.Print(rbm)
func InsertRecord(c context.Context) {
for insertScoreMsgRecord := range socreRecordChan{ socreRecordChan = make(chan model.Scores)
//声明service层 //设置协程数量
svc := service.New() wg.Add(1)
//CurrentScore64 := float64(insertScoreMsgRecord.CurrentScore)
//插入数据
//if !math.IsNaN(CurrentScore64) && CurrentScore64 != 0 {
//}
//svc.InsertScores(c,insertScoreMsgRecord)
insertId,err := svc.InsertScores(c,insertScoreMsgRecord)
if err != nil {
fmt.Print(err)
}
//fmt.Print(err)
fmt.Print(insertId)
}
defer wg.Done()
}
//设置插入的分数头
func SetInsertScoreChanFooter(_typy,project_pid,project_id int8) {
insertScoreMsg.Type,insertScoreMsg.ProjectPid,insertScoreMsg.ProjectId = _typy,project_pid,project_id
socreRecordChan <- insertScoreMsg
}
//获取详细的计算基本数据
func GetCompanyRunInfo(c context.Context) {
//声明service层
connect := dao.New()
companyBasicInfo,_ = connect.GetCompanyBaseInfoByCid(c,insertScoreMsg.ComCreditsId)
companySoreFields,_ = connect.GetCompanyScoreFieldsByCid(c,insertScoreMsg.ComCreditsId)
companyAddScore,_ = connect.GetCompanyAddSoreByCid(c,insertScoreMsg.ComCreditsId)
basicInfo,_ = connect.GetBasicInfoByCid(c,insertScoreMsg.ComCreditsId)
}
func GetTimeStamp()(timestamp int64) {
return time.Now().Unix()
}
func StringTurnInt64(val string) (int64) {
intval,_ := strconv.ParseInt(val, 10, 64)
return intval
}
func StringTurnFloat64(val string)(float64) { c := context.Background()
floatval,_ := strconv.ParseFloat(val, 64) go InsertRecord(c)
return floatval
}
func getModelByProjectId(projectId int64)(modelInfo map[string]string) { insertScoreMsg.ComCreditsId = StringTurnInt64(rbm.ComCreditsId)
ctx := context.Background() GetCompanyRunInfo(c)
connect := dao.New() SetSumScore(c)
res,_ := connect.GetCompanyModelByProjectid(ctx,1)
return res
}
//设置分数 //赋值完关闭通道
func setScore(curretScoreRelace float64,weightReplace float64) { close(socreRecordChan)
insertScoreMsg.TotalScore = curretScoreRelace wg.Wait()
//设置分数 return nil
insertScoreMsg.FinalScore ,insertScoreMsg.CurrentScore = curretScoreRelace * weightReplace,curretScoreRelace * weightReplace
insertScoreMsg.Weight = weightReplace
} }
//设置project总分
func SetProjectScore(totalScoreReplace [20]float64, weightReplace float64, fullScore float64)(finalScore float64) {
var(
sumScore float64 = 0
joinNum float64 = 0
)
//查找出所有不是0的分值
for i :=0;i < len(totalScoreReplace) ; i++ {
if totalScoreReplace[i] > 0 {
joinNum += 1
sumScore += totalScoreReplace[i] * weightReplace
}
}
insertScoreMsg.CurrentScore = sumScore
//如果是0则不判断了
if sumScore == 0 {
insertScoreMsg.TotalScore,insertScoreMsg.FinalScore = 0,0
}else{
//如果最后金额大于满分,则算为最满分
if sumScore > fullScore {
insertScoreMsg.TotalScore = fullScore
}else{
insertScoreMsg.TotalScore = sumScore
}
//经过权重计算之后的总分值
insertScoreMsg.FinalScore = sumScore / joinNum
}
insertScoreMsg.Weight = weightReplace
return insertScoreMsg.FinalScore
}
\ No newline at end of file
...@@ -4,7 +4,6 @@ go 1.12 ...@@ -4,7 +4,6 @@ go 1.12
require ( require (
github.com/bilibili/kratos v0.3.1 github.com/bilibili/kratos v0.3.1
github.com/ichunt2019/go-msgserver v0.0.0-20191205082056-967d5dbbe7cd
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/pkg/errors v0.8.1 github.com/pkg/errors v0.8.1
) )
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment