fix
wangpengfei
2023-08-18 8546acdc2a1f06253f30e0543fc202ebf5219bd0
fix
18个文件已修改
291 ■■■■ 已修改文件
main.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/city.go 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/courierCompany.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/faultType.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/index.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/invoiceStatus.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/invoiceType.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/isVisit.go 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/priorityLevel.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/satisfaction.go 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/serviceContractStatus.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/serviceContractType.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/serviceOrderStatus.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/serviceType.go 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/severity.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/solveRate.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/timeSpent.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/timelyRate.go 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go
@@ -9,7 +9,6 @@
    "aps_crm/router"
    "aps_crm/service"
    "fmt"
    "github.com/robfig/cron/v3"
    "net/http"
    "os"
    "os/signal"
@@ -50,9 +49,9 @@
    go v1.InitProductServiceConn()
    go service.InitUserConn()
    c := cron.New()
    c.AddFunc("@every 15s", service.SyncUserInfo) // 每15秒同步一次
    c.Start()
    //c := cron.New()
    //c.AddFunc("@every 15s", service.SyncUserInfo) // 每15秒同步一次
    //c.Start()
    logx.Error(server.ListenAndServe().Error())
}
@@ -65,6 +64,6 @@
    v1.CloseProductServiceConn()
    service.CloseUserConn()
    logx.Infof("aps-admin exited...")
    logx.Infof("aps-crm exited...")
    os.Exit(0)
}
model/city.go
@@ -108,3 +108,24 @@
    err := db.Find(&list).Error
    return list, err
}
// InitDefaultCity 初始化默认城市
func InitDefaultCity() error {
    records := []*City{
        {
            Name: "北京市",
        },
    }
    var db = mysqlx.GetDB()
    for _, record := range records {
        var city City
        if err := db.Where("name = ?", record.Name).First(&city).Error; err != nil {
            if err := db.Create(record).Error; err != nil {
                return err
            }
        }
    }
    return nil
}
model/courierCompany.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -124,21 +125,28 @@
}
// InitDefaultData 初始化数据
func (slf *CourierCompanySearch) InitDefaultData() error {
func (slf *CourierCompanySearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*CourierCompany{
        {1, "顺丰"},
        {2, "德邦"},
        {3, "中远海运"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/faultType.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -119,16 +120,18 @@
}
// InitDefaultData 初始化数据
func (slf *FaultTypeSearch) InitDefaultData() error {
func (slf *FaultTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*FaultType{
        {1, "设备安装"},
@@ -138,5 +141,10 @@
        {5, "设备故障"},
        {6, "设备良品率低"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/index.go
@@ -5,7 +5,7 @@
    "aps_crm/pkg/logx"
    "aps_crm/pkg/mysqlx"
    "aps_crm/pkg/safe"
    "gorm.io/gorm/schema"
    "sync"
)
func Init() error {
@@ -94,10 +94,13 @@
}
type InitDefaultData interface {
    InitDefaultData() error
    InitDefaultData(errCh chan<- error, wg *sync.WaitGroup)
}
func InsertDefaultData() {
    errCh := make(chan error, 2)
    var wg sync.WaitGroup
    models := []interface{}{
        NewServiceTypeSearch(),
        NewPriorityLevelSearch(),
@@ -115,11 +118,22 @@
        NewTimelyRateSearch(),
        NewFaultTypeSearch(),
    }
    for _, model := range models {
        if id, ok := model.(InitDefaultData); ok {
            if err := id.InitDefaultData(); err != nil {
                logx.Errorf("InitDefaultData for table: %v, err :%v", model.(schema.Tabler).TableName(), err.Error())
            }
            wg.Add(1)
            go id.InitDefaultData(errCh, &wg)
        }
    }
    go func() {
        wg.Wait()    // 等待所有goroutine完成
        close(errCh) // 关闭错误通道
    }()
    for err := range errCh {
        if err != nil {
            logx.Errorf("InitDefaultData err: %v", err.Error())
        }
    }
}
model/invoiceStatus.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -124,21 +125,28 @@
}
// InitDefaultData 初始化数据
func (slf *InvoiceStatusSearch) InitDefaultData() error {
func (slf *InvoiceStatusSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*InvoiceStatus{
        {1, "已创建"},
        {2, "已寄送"},
        {3, "自动创建"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/invoiceType.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -124,21 +125,28 @@
}
// InitDefaultData 初始化数据
func (slf *InvoiceTypeSearch) InitDefaultData() error {
func (slf *InvoiceTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*InvoiceType{
        {1, "增票6%"},
        {2, "增票16%"},
        {3, "增票17%"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/isVisit.go
@@ -3,6 +3,7 @@
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -90,20 +91,26 @@
}
// InitDefaultData 初始化数据
func (slf *IsVisitSearch) InitDefaultData() error {
func (slf *IsVisitSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*IsVisit{
        {1, "是"},
        {2, "否"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/priorityLevel.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -119,16 +120,19 @@
}
// InitDefaultData 初始化数据
func (slf *PriorityLevelSearch) InitDefaultData() error {
func (slf *PriorityLevelSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*PriorityLevel{
        {1, "低"},
@@ -136,5 +140,9 @@
        {3, "高"},
        {4, "紧急"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/satisfaction.go
@@ -3,6 +3,7 @@
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -84,16 +85,18 @@
}
// InitDefaultData 初始化数据
func (slf *SatisfactionSearch) InitDefaultData() error {
func (slf *SatisfactionSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*Satisfaction{
        {1, "100%"},
@@ -107,5 +110,9 @@
        {9, "20%"},
        {10, "10%"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/serviceContractStatus.go
@@ -3,6 +3,7 @@
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -90,21 +91,28 @@
}
// InitDefaultData 初始化数据
func (slf *ServiceContractStatusSearch) InitDefaultData() error {
func (slf *ServiceContractStatusSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*ServiceContractStatus{
        {1, "已创建"},
        {2, "已审批"},
        {3, "已作废"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/serviceContractType.go
@@ -3,6 +3,7 @@
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -90,16 +91,18 @@
}
// InitDefaultData 初始化数据
func (slf *ServiceContractTypeSearch) InitDefaultData() error {
func (slf *ServiceContractTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*ServiceContractType{
        {1, "按年"},
@@ -107,5 +110,10 @@
        {3, "其他"},
        {4, "虚拟合同"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/serviceOrderStatus.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -129,16 +130,19 @@
}
// InitDefaultData 初始化数据
func (slf *ServiceOrderStatusSearch) InitDefaultData() error {
func (slf *ServiceOrderStatusSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*ServiceOrderStatus{
        {1, "未处理"},
@@ -146,5 +150,9 @@
        {3, "等待回应"},
        {4, "成功关闭"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/serviceType.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -119,16 +120,18 @@
}
// InitDefaultData 初始化数据
func (slf *ServiceTypeSearch) InitDefaultData() error {
func (slf *ServiceTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*ServiceType{
        {1, "电话"},
@@ -137,5 +140,9 @@
        {4, "上门"},
        {5, "其他"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/severity.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -119,16 +120,19 @@
}
// InitDefaultData 初始化数据
func (slf *SeveritySearch) InitDefaultData() error {
func (slf *SeveritySearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*Severity{
        {1, "轻"},
@@ -136,5 +140,9 @@
        {3, "较严重"},
        {4, "特严重"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/solveRate.go
@@ -3,6 +3,7 @@
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -90,16 +91,18 @@
}
// InitDefaultData 初始化数据
func (slf *SolveRateSearch) InitDefaultData() error {
func (slf *SolveRateSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*SolveRate{
        {1, "100%"},
@@ -113,5 +116,10 @@
        {9, "20%"},
        {10, "10%"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/timeSpent.go
@@ -6,6 +6,7 @@
    "errors"
    "fmt"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -119,16 +120,19 @@
}
// InitDefaultData 初始化数据
func (slf *TimeSpentSearch) InitDefaultData() error {
func (slf *TimeSpentSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*TimeSpent{
        {1, "1小时"},
@@ -138,5 +142,9 @@
        {5, "2个工作日"},
        {6, "2个工作日以上"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}
model/timelyRate.go
@@ -3,6 +3,7 @@
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "sync"
)
type (
@@ -90,16 +91,18 @@
}
// InitDefaultData 初始化数据
func (slf *TimelyRateSearch) InitDefaultData() error {
func (slf *TimelyRateSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
    var (
        db          = slf.Orm.Table(slf.TableName())
        total int64 = 0
    )
    defer wg.Done()
    if err := db.Count(&total).Error; err != nil {
        return err
        errCh <- err
        return
    }
    if total != 0 {
        return nil
        return
    }
    records := []*TimelyRate{
        {1, "100%"},
@@ -113,5 +116,10 @@
        {9, "20%"},
        {10, "10%"},
    }
    return slf.CreateBatch(records)
    err := slf.CreateBatch(records)
    if err != nil {
        errCh <- err
        return
    }
}