rdluck 4 жил өмнө
parent
commit
442de9e08d

BIN
company_0717.xlsx


+ 39 - 7
models/company.go

@@ -1,16 +1,48 @@
 package models
 
-import "rdluck_tools/orm"
+import (
+	"rdluck_tools/orm"
+	"time"
+)
 
 type Company struct {
-	CompanyId int
-	CompanyName string
+	CompanyId       int64       `orm:"column(company_id);pk"`
+	CompanyName     string    `description:"客户名称"`
+	CreditCode      string    `description:"社会统一信用码"`
+	CompanyCode     string    `description:"客户编码"`
+	Sort            int       `description:"优先级"`
+	IsFeeCustomer   int       `description:"是否付费用户"`
+	Country         string    `description:"国家编码"`
+	ProvinceId      int       `description:"省id"`
+	CityId          int       `description:"市id"`
+	Address         string    `description:"详细地址"`
+	CompanyType     int       `orm:"column(type)" description:"客户标签,1:付费客户,2:试用客户,3:流失客户,4:潜在客户"`
+	Enabled         int       `description:"用户状态"`
+	CreatedTime     time.Time `description:"创建时间"`
+	LastUpdatedTime time.Time `description:"最后一次阅读时间"`
+	Seller          string    `description:"销售员"`
+	SellsId         int       `description:"销售员id"`
+	CompanyBelong   string    `description:"客户所属,ficc:ficc客户,public_offering:公募客户,partner:合作伙伴"`
+	StartDate       string    `description:"合同开始日期"`
+	EndDate         string    `description:"合同结束日期"`
+	LoseReason      string    `description:"流失原因"`
+	LastType        int       `description:"原客户标签"`
+	IsVip           int       `description:"0:普通用户,1:大客户"`
+	LossTime        time.Time `description:"流失时间"`
+	FirstStartDate  string    `description:"首次设置为试用客户开始时间"`
+	FirstEndDate    string    `description:"首次设置为试用客户结束时间"`
+	DateType        int       `description:"设置流失类型,1:1个月,2:2个月,3:3个月"`
 }
 
-func GetCompanyByName(companyName string)(item *Company,err error)  {
-	o:=orm.NewOrm()
-	sql:=`SELECT * FROM company WHERE company_name=? `
-	err=o.Raw(sql,companyName).QueryRow(&item)
+func GetCompanyByName(companyName string) (item *Company, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM company WHERE company_name=? `
+	err = o.Raw(sql, companyName).QueryRow(&item)
 	return
 }
 
+func AddCompany(item *Company) (newId int64, err error) {
+	o := orm.NewOrm()
+	newId, err = o.Insert(item)
+	return
+}

+ 12 - 0
models/company_report_permission.go

@@ -0,0 +1,12 @@
+package models
+
+import "time"
+
+type CompanyReportPermission struct {
+	CompanyReportPermissionId int64     `orm:"column(company_report_permission_id);pk"`
+	CompanyId                 int       `description:"是否付费用户"`
+	report_permission_id      int       `description:"是否付费用户"`
+	created_time              time.Time `description:"是否付费用户"`
+	last_updated_time         time.Time `description:"是否付费用户"`
+	chart_permission_id       int       `description:"是否付费用户"`
+}

+ 2 - 0
models/db.go

@@ -36,5 +36,7 @@ func init() {
 	//注册对象
 	orm.RegisterModel(
 		new(EdbinfoSendMsgRecord),
+		new(Company),
+		new(CompanyReportPermission),
 	)
 }

+ 1 - 1
models/users.go

@@ -42,7 +42,7 @@ func GetWxUserByMobile(mobile string) (item *WxUser, err error) {
 	return
 }
 
-func AddWxUser(companyId int,mobile,realName string) (err error) {
+func AddWxUser(companyId int64,mobile,realName string) (err error) {
 	sql:=`INSERT INTO wx_user(company_id,real_name,mobile,first_login,enabled,is_note,from_type,apply_method) VALUES (?,?,?,1,1,1,'report',0);`
 	orm.NewOrm().Raw(sql,companyId,realName,mobile).Exec()
 	return

+ 107 - 48
services/company.go

@@ -6,83 +6,142 @@ import (
 	"hongze/hongze_task/models"
 	"hongze/hongze_task/utils"
 	"strings"
+	"time"
 )
 
 //客户
-func ImportCompany()  {
+func ImportCompany() {
 	var err error
 	defer func() {
-		if err!=nil {
-			fmt.Println("err:",err.Error())
+		if err != nil {
+			fmt.Println("err:", err.Error())
 		}
 	}()
-	fileName:="./company_0713.xlsx"
+	fileName := "./company_0717.xlsx"
 	xlFile, err := xlsx.OpenFile(fileName)
 	if err != nil {
 		fmt.Printf("open failed: %s\n", err)
 	}
-	n:=0
-	for _,sheet:=range xlFile.Sheet{
-		rows:=sheet.MaxRow
-		for i:=0;i<rows;i++{
+	n := 0
+	startDate := ""
+	endDate := ""
+	dateType := 3
+	permissionMap:=make(map[string]int)
+
+	permissionMap["宏观经济"]=1
+	permissionMap["有色"]=2
+	permissionMap["原油"]=3
+	permissionMap["橡胶"]=4
+	permissionMap["钢材"]=5
+	permissionMap["煤炭"]=6
+	permissionMap["甲醇"]=7
+	permissionMap["沥青"]=8
+	permissionMap["PTA"]=9
+	permissionMap["MEG"]=10
+	permissionMap["聚烯烃"]=11
+	permissionMap["铁矿"]=12
+	permissionMap["苯乙烯"]=13
+	permissionMap["织造终端"]=14
+
+	for _, sheet := range xlFile.Sheet {
+		rows := sheet.MaxRow
+		for i := 0; i < rows; i++ {
 			if i > 2 {
-				row,err:=sheet.Row(i)
-				if err!=nil {
-					fmt.Println("get row err:"+err.Error())
+				row, err := sheet.Row(i)
+				if err != nil {
+					fmt.Println("get row err:" + err.Error())
 					return
 				}
 
-				realName:=row.GetCell(1).String()
-				realName=strings.Trim(realName," ")
-				realName=strings.Replace(realName," ","",-1)
+				realName := row.GetCell(1).String()
+				realName = strings.Trim(realName, " ")
+				realName = strings.Replace(realName, " ", "", -1)
 
-				mobile:=row.GetCell(2).String()
-				mobile=strings.Trim(mobile," ")
-				mobile=strings.Replace(mobile," ","",-1)
+				mobile := row.GetCell(2).String()
+				mobile = strings.Trim(mobile, " ")
+				mobile = strings.Replace(mobile, " ", "", -1)
 				fmt.Println(mobile)
-				companyName:=row.GetCell(6).String()
+				companyName := row.GetCell(6).String()
 				fmt.Println(companyName)
-				companyName=strings.Trim(companyName," ")
-				companyName=strings.Replace(companyName," ","",-1)
-				company,err:=models.GetCompanyByName(companyName)
-				if err!=nil  {
-					if utils.ErrNoRow() == err.Error(){
-						utils.FileLog.Info("客户不存在%s",companyName)
-						fmt.Println("GetCompanyByName Err:"+err.Error())
+				companyName = strings.Trim(companyName, " ")
+				companyName = strings.Replace(companyName, " ", "", -1)
+				company, err := models.GetCompanyByName(companyName)
+				if err != nil {
+					if utils.ErrNoRow() == err.Error() {
+						utils.FileLog.Info("客户不存在%s", companyName)
+						fmt.Println("GetCompanyByName Err:" + err.Error())
 						return
-					}else{
-						fmt.Println("GetCompanyByName Err:"+err.Error())
+					} else {
+						fmt.Println("GetCompanyByName Err:" + err.Error())
 						return
 					}
 				}
-				if company==nil {
-					fmt.Println("客户不存在,",companyName)
-					utils.FileLog.Info("客户不存在 %s",companyName)
-					return
-				}
+				var companyId int64
+				if company == nil {
+					sellsId := 0
+					sellsName := ""
+					if sellsId <= 0 {
+						fmt.Println("sellsId <= 0")
+						return
+					}
+					if startDate == "" || endDate == "" {
+						fmt.Println("startDate,endDate is empty")
+						return
+					}
+					fmt.Println("客户不存在,", companyName)
+					utils.FileLog.Info("客户不存在 %s", companyName)
+					newCompany := new(models.Company)
+					newCompany.CompanyName = companyName
+					newCompany.CompanyType = 2
+					newCompany.Enabled = 1
+					newCompany.CreatedTime = time.Now()
+					newCompany.LastUpdatedTime = time.Now()
+					newCompany.Sort = 1
+					newCompany.SellsId = sellsId
+					newCompany.Seller = sellsName
+					newCompany.CompanyBelong = "ficc"
+					newCompany.StartDate = startDate
+					newCompany.EndDate = endDate
+					newCompany.FirstStartDate = startDate
+					newCompany.FirstEndDate = endDate
+					newCompany.DateType = dateType
+					newId, err := models.AddCompany(newCompany)
+					if err != nil {
+						fmt.Println("新增公司失败,Err:" + err.Error())
+						return
+					}
+					companyId = newId
+					//新增权限
 
-				wxUser,err:=models.GetWxUserByMobile(mobile)
-				if err!=nil && err.Error()!=utils.ErrNoRow()  {
-					fmt.Println("GetWxUserByMobile Err:"+err.Error())
 					return
 				}
-				if wxUser==nil {
-					//用户不存在,新增
-					fmt.Println("AddWxUser")
-					fmt.Println(company.CompanyId,mobile,realName)
-					err=models.AddWxUser(company.CompanyId,mobile,realName)
-					if err!=nil {
-						fmt.Println("AddWxUser Err:"+err.Error())
+				companyId = company.CompanyId
+				if companyId > 0 {
+					wxUser, err := models.GetWxUserByMobile(mobile)
+					if err != nil && err.Error() != utils.ErrNoRow() {
+						fmt.Println("GetWxUserByMobile Err:" + err.Error())
 						return
 					}
-				}else{
-					fmt.Println("用户存在:mobile:",mobile)
-					fmt.Println(company.CompanyId,mobile,realName)
+					if wxUser == nil {
+						//用户不存在,新增
+						fmt.Println("AddWxUser")
+						fmt.Println(company.CompanyId, mobile, realName)
+						err = models.AddWxUser(company.CompanyId, mobile, realName)
+						if err != nil {
+							fmt.Println("AddWxUser Err:" + err.Error())
+							return
+						}
+					} else {
+						fmt.Println("用户存在:mobile:", mobile)
+						fmt.Println(company.CompanyId, mobile, realName)
+					}
+					fmt.Println(companyName, company.CompanyId)
+				} else {
+					fmt.Println("companyId<=0")
 				}
-				fmt.Println(companyName,company.CompanyId)
 				n++
 			}
 		}
 	}
-	fmt.Println("len:",n)
-}
+	fmt.Println("len:", n)
+}