123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- package main
- import (
- "fmt"
- "github.com/robfig/cron/v3"
- "github.com/spf13/viper"
- "go.uber.org/zap"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
- "time"
- )
- var (
- GF GlobalConf
- MgoPA *mongodb.MongodbSim //凭安推送数据库
- MgoB *mongodb.MongodbSim //bidding 标讯数据库
- )
- // EntMapCode 映射关系表
- type EntMapCode struct {
- AId string `json:"a_id"`
- BId string `json:"b_id"`
- AName string `json:"a_name"`
- BName string `json:"b_name"`
- Code string `json:"code"` //关系属性代码
- InvestRatio string `json:"invest_ratio"` //投资比例
- InvestPrice string `json:"invest_price"` //投资金额
- CreateTime int64 `json:"create_time"`
- UpdateTime int64 `json:"update_time"`
- }
- func (EntMapCode) TableName() string {
- return "ent_map_code"
- }
- func InitConfig() (err error) {
- viper.SetConfigFile("config.toml") // 指定配置文件路径
- viper.SetConfigName("config") // 配置文件名称(无扩展名)
- viper.SetConfigType("toml") // 如果配置文件的名称中没有扩展名,则需要配置此项
- viper.AddConfigPath("./")
- viper.AddConfigPath("./conf/") // 还可以在工作目录中查找配置
- viper.AddConfigPath("../conf/") // 还可以在工作目录中查找配置
- err = viper.ReadInConfig() // 查找并读取配置文件
- if err != nil { // 处理读取配置文件的错误
- return
- }
- err = viper.Unmarshal(&GF)
- return err
- }
- func InitLog() {
- err := log.InitLog(
- log.Path("./logs/log.out"),
- //log.Path(""),
- log.Level("info"),
- log.Compress(true),
- log.MaxSize(10),
- log.MaxBackups(10),
- log.MaxAge(7),
- log.Format("json"),
- )
- if err != nil {
- fmt.Printf("InitLog failed: %v\n", err)
- }
- }
- func InitMgo() {
- MgoB = &mongodb.MongodbSim{
- MongodbAddr: GF.MongoB.Host,
- DbName: GF.MongoB.DB,
- Size: GF.MongoB.Size,
- UserName: GF.MongoB.Username,
- Password: GF.MongoB.Password,
- Direct: GF.MongoB.Direct,
- }
- MgoB.InitPool()
- MgoPA = &mongodb.MongodbSim{
- MongodbAddr: GF.MongoPA.Host,
- DbName: GF.MongoPA.DB,
- Size: GF.MongoPA.Size,
- UserName: GF.MongoPA.Username,
- Password: GF.MongoPA.Password,
- Direct: GF.MongoPA.Direct,
- }
- MgoPA.InitPool()
- }
- func main() {
- InitConfig()
- InitLog()
- InitMgo()
- //biddingAllData()//交易关系存量数据
- //organizeData() //管辖关系
- //updateInfoId()
- //areaData()
- //increBidding()
- //increInvest()
- //return
- local, _ := time.LoadLocation("Asia/Shanghai")
- c := cron.New(cron.WithLocation(local), cron.WithSeconds())
- //1.处理投资关系,增量数据,凭安每周推送数据;每周三定时执行
- if GF.Env.Spec1 != "" {
- _, err := c.AddFunc(GF.Env.Spec1, increInvest)
- if err != nil {
- log.Info("main", zap.Error(err))
- }
- }
- //2. 处理bidding标讯 交易关系数据
- if GF.Env.Spec2 != "" {
- _, err := c.AddFunc(GF.Env.Spec2, increBidding)
- if err != nil {
- log.Info("main", zap.Error(err))
- }
- }
- //3. 更新法人库表ID,更新映射表对应的法人库ID
- if GF.Env.Spec3 != "" {
- _, err := c.AddFunc(GF.Env.Spec3, updateInfoId)
- if err != nil {
- log.Info("main", zap.Error(err))
- }
- }
- c.Start()
- defer c.Stop()
- select {}
- }
- type EntInfo struct {
- ID string `gorm:"primaryKey"`
- CompanyID *string `gorm:"column:company_id"`
- CompanyName *string `gorm:"column:company_name"`
- CompanyLabel uint64 `gorm:"column:company_label"` // Needs clarification on GORM handling of AggregateFunction
- CompanyCode *string `gorm:"column:company_code"`
- CreditNo *string `gorm:"column:credit_no"`
- OrgCode *string `gorm:"column:org_code"`
- TaxCode *string `gorm:"column:tax_code"`
- EstablishDate *int64 `gorm:"column:establish_date"`
- LegalPerson *string `gorm:"column:legal_person"`
- LegalPersonCaption *string `gorm:"column:legal_person_caption"`
- CompanyStatus *string `gorm:"column:company_status"`
- CompanyType *string `gorm:"column:company_type"`
- Authority *string `gorm:"column:authority"`
- IssueDate *int64 `gorm:"column:issue_date"`
- OperationStartDate *string `gorm:"column:operation_startdate"`
- OperationEndDate *string `gorm:"column:operation_enddate"`
- Capital *string `gorm:"column:capital"`
- CompanyAddress *string `gorm:"column:company_address"`
- BusinessScope *string `gorm:"column:business_scope"`
- CancelDate *int64 `gorm:"column:cancel_date"`
- CancelReason *string `gorm:"column:cancel_reason"`
- RevokeDate *int64 `gorm:"column:revoke_date"`
- RevokeReason *string `gorm:"column:revoke_reason"`
- Comeintime *int64 `gorm:"column:comeintime"`
- Updatetime *int64 `gorm:"column:updatetime"`
- LegalPersonType *int8 `gorm:"column:legal_person_type"`
- RealCapital *string `gorm:"column:real_capital"`
- EnName *string `gorm:"column:en_name"`
- CompanyArea *string `gorm:"column:company_area"`
- ListCode *string `gorm:"column:list_code"`
- EmployeeNo *int32 `gorm:"column:employee_no"`
- Website *string `gorm:"column:website"`
- BusinessType *int8 `gorm:"column:business_type"`
- Sourcetype *int8 `gorm:"column:sourcetype"`
- CompanyPhone *string `gorm:"column:company_phone"`
- CompanyEmail *string `gorm:"column:company_email"`
- CompanyUnitType *int8 `gorm:"column:company_unit_type"`
- LongitudeLatitude *string `gorm:"column:longitude_latitude"`
- AdminLevel *string `gorm:"column:admin_level"`
- }
- func (EntInfo) TableName() string {
- return "ent_info"
- }
|