hongze 1 년 전
부모
커밋
1fe82c0581

+ 4 - 0
controllers/company.go

@@ -2827,6 +2827,7 @@ func (this *CompanyController) Add() {
 	item.RegionType = req.RegionType
 	item.Remark = req.Reasons
 	item.Nation = req.Nation
+	item.OverseasStatus = "试用"
 	companyId, err := company.AddCompany(item)
 	if err != nil {
 		br.Msg = "新增失败"
@@ -2882,6 +2883,9 @@ func (this *CompanyController) Add() {
 	companyProduct.TodoStatus = "无任务"
 	companyProduct.TryStage = 1
 	companyProduct.OverseasLabel = 1
+	if seller.Mobile == "13065778668" {
+		companyProduct.IsOverseas = 1
+	}
 	companyProductId, err := company.AddCompanyProduct(companyProduct)
 	if err != nil {
 		br.Msg = "新增失败"

+ 1 - 0
controllers/english_report/english_company.go

@@ -299,6 +299,7 @@ func (this *EnglishCompanyController) Save() {
 			item.Nation = req.Nation
 		}
 		item.OverseasLabel = 1
+		item.OverseasStatus = "试用"
 		if e = item.Create(); e != nil {
 			br.Msg = "保存失败"
 			br.ErrMsg = "新增英文客户失败, Err:" + e.Error()

+ 63 - 27
controllers/overseas_custom/custom.go

@@ -5,7 +5,6 @@ import (
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hz_crm_api/models"
-	"hongze/hz_crm_api/models/company"
 	"hongze/hz_crm_api/models/overseas_custom"
 	"hongze/hz_crm_api/utils"
 	"time"
@@ -59,6 +58,10 @@ func (this *OverseasCustomController) CustomList() {
 	}
 	startSize = paging.StartIndex(currentIndex, pageSize)
 
+	page := paging.GetPaging(currentIndex, pageSize, 0)
+
+	resp := new(overseas_custom.CustomListResp)
+
 	obj := new(overseas_custom.Custom)
 
 	var condition string
@@ -87,6 +90,17 @@ func (this *OverseasCustomController) CustomList() {
 			condition += fmt.Sprintf(` AND m.company_id IN (%s) `, utils.GetOrmInReplace(len(companyIds)))
 			pars = append(pars, companyIds)
 		}
+
+		if len(companyIds) <= 0 {
+			list := make([]*overseas_custom.Custom, 0)
+			resp.Paging = page
+			resp.List = list
+			br.Ret = 200
+			br.Success = true
+			br.Msg = "获取成功"
+			br.Data = resp
+			return
+		}
 	}
 	if sellerId > 0 {
 		condition += ` AND m.seller_id=? `
@@ -133,10 +147,7 @@ func (this *OverseasCustomController) CustomList() {
 			v.CompanyStatus = v.OverseasStatus
 		}
 	}
-
-	page := paging.GetPaging(currentIndex, pageSize, total)
-
-	resp := new(overseas_custom.CustomListResp)
+	page = paging.GetPaging(currentIndex, pageSize, total)
 	resp.Paging = page
 	resp.List = list
 
@@ -216,14 +227,19 @@ func (this *OverseasCustomController) CustomHide() {
 			return
 		}
 	} else {
-		companyObj := new(company.Company)
-		companyObj.CompanyId = req.CompanyId
-		companyObj.IsHide = isHide
-		updateCols := []string{"IsHide"}
-		err = companyObj.Update(updateCols)
+		obj := new(overseas_custom.Custom)
+
+		updateParams := make(map[string]interface{})
+		updateParams["is_hide"] = isHide
+		updateParams["modify_time"] = time.Now()
+
+		whereParam := make(map[string]interface{})
+		whereParam["company_id"] = req.CompanyId
+
+		err := obj.UpdateCompany(updateParams, whereParam)
 		if err != nil {
-			br.Msg = "隐藏失败"
-			br.ErrMsg = "更新客户隐藏状态失败, Err:" + err.Error()
+			br.Msg = "设置失败"
+			br.ErrMsg = "设置客户标签状态失败, Err:" + err.Error()
 			return
 		}
 	}
@@ -267,16 +283,20 @@ func (this *OverseasCustomController) CustomStatusSet() {
 	obj := new(overseas_custom.Custom)
 	item, err := obj.GetCustomByCompanyId(req.CompanyId)
 	if err != nil {
-		br.Msg = "隐藏失败!"
-		br.ErrMsg = "隐藏失败,Err:" + err.Error()
+		br.Msg = "设置失败!"
+		br.ErrMsg = "设置失败,Err:" + err.Error()
 		return
 	}
 	//是否隐藏:0:不隐藏,1:隐藏
 	var overseasStatus string
-	if item.OverseasStatus == "" {
+	var resetBtn int
+
+	if item.OverseasStatus == "正式" && item.ResetBtn == 2 { //重置,获取当前客户的状态
+		overseasStatus = item.CompanyStatus
+		resetBtn = 1
+	} else if item.OverseasStatus == "试用" && item.ResetBtn == 1 { //转正式,获取当前客户的状态
 		overseasStatus = "正式"
-	} else {
-		overseasStatus = ""
+		resetBtn = 2
 	}
 
 	if req.CompanyId > 1000000 {
@@ -286,21 +306,28 @@ func (this *OverseasCustomController) CustomStatusSet() {
 		enCompanyObj.CompanyId = req.CompanyId - utils.EnCompanyIdStep
 		enCompanyObj.OverseasStatus = overseasStatus
 		enCompanyObj.ModifyTime = nowTime
-		updateCols := []string{"OverseasStatus", "ModifyTime"}
+		enCompanyObj.ResetBtn = resetBtn
+		updateCols := []string{"OverseasStatus", "ResetBtn", "ModifyTime"}
 		if err = enCompanyObj.Update(updateCols); err != nil {
-			br.Msg = "隐藏失败"
+			br.Msg = "设置失败"
 			br.ErrMsg = "更新英文客户转正式状态失败, Err:" + err.Error()
 			return
 		}
 	} else {
-		companyObj := new(company.Company)
-		companyObj.CompanyId = req.CompanyId
-		companyObj.OverseasStatus = overseasStatus
-		updateCols := []string{"OverseasStatus"}
-		err = companyObj.Update(updateCols)
+		obj := new(overseas_custom.Custom)
+
+		updateParams := make(map[string]interface{})
+		updateParams["overseas_status"] = overseasStatus
+		updateParams["reset_btn"] = resetBtn
+		updateParams["modify_time"] = time.Now()
+
+		whereParam := make(map[string]interface{})
+		whereParam["company_id"] = req.CompanyId
+
+		err := obj.UpdateCompany(updateParams, whereParam)
 		if err != nil {
-			br.Msg = "隐藏失败"
-			br.ErrMsg = "更新客户转正式状态失败, Err:" + err.Error()
+			br.Msg = "设置失败"
+			br.ErrMsg = "设置客户标签状态失败, Err:" + err.Error()
 			return
 		}
 	}
@@ -357,7 +384,16 @@ func (this *OverseasCustomController) CustomOverseasLabelSet() {
 		}
 	} else {
 		obj := new(overseas_custom.Custom)
-		err := obj.UpdateCompanyProductOverseasLabel(req.OverseasLabel, req.CompanyId)
+
+		updateParams := make(map[string]interface{})
+		updateParams["overseas_label"] = req.OverseasLabel
+		updateParams["modify_time"] = time.Now()
+
+		whereParam := make(map[string]interface{})
+		whereParam["company_id"] = req.CompanyId
+		whereParam["product_id"] = 1
+
+		err := obj.UpdateCompanyProduct(updateParams, whereParam)
 		if err != nil {
 			br.Msg = "设置失败"
 			br.ErrMsg = "设置客户标签状态失败, Err:" + err.Error()

+ 1 - 0
models/company/company_product.go

@@ -55,6 +55,7 @@ type CompanyProduct struct {
 	CloseReason         string    `description:"关闭原因"`
 	CloseTime           time.Time `description:"关闭时间"`
 	OverseasLabel       int       `description:"海外客户试用子标签:1未分类、2  推进、3 跟踪、4 预备、"`
+	IsOverseas          int       `description:"是否显示在海外客户0:显示,1:不显示"`
 }
 
 // 新增客户产品

+ 1 - 0
models/english_company.go

@@ -30,6 +30,7 @@ type EnglishCompany struct {
 	IsHide         int       `description:"是否隐藏:0:不隐藏,1:隐藏"`
 	OverseasStatus string    `description:"海外客户状态:'正式','试用','关闭'"`
 	OverseasLabel  int       `description:"海外客户试用子标签:1未分类、2  推进、3 跟踪、4 预备、"`
+	ResetBtn       int       `description:"转正式和重置按钮:同步过来默认为0:显示转正式为1:显示重置为2"`
 }
 
 type EnglishCompanyListItem struct {

+ 34 - 7
models/overseas_custom/custom.go

@@ -232,7 +232,7 @@ func (obj *Custom) GetCustomList(condition string, pars []interface{}, companySt
 		sortDescStr = "ASC"
 	}
 
-	sql += ` ORDER BY %s %s`
+	sql += ` ORDER BY %s %s,m.create_time `
 	sql += ` LIMIT ?,? `
 	sql = fmt.Sprintf(sql, databaseName, sortFieldStr, sortDescStr)
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
@@ -264,14 +264,23 @@ func (obj *Custom) GetCustomByCompanyId(companyId int) (item *Custom, err error)
 
 	sql = `SELECT * FROM (
 				SELECT a.company_id,a.company_name,a.nation,b.seller_id,b.seller_name,
-				b.view_total,b.road_show_total,a.created_time AS create_time,b.last_view_time,a.is_hide,a.overseas_status
+				b.view_total,b.road_show_total,a.created_time AS create_time,b.last_view_time,a.is_hide,a.overseas_status,a.reset_btn,
+				CASE b.status 
++				WHEN '正式' THEN '正式'
++				WHEN '永续' THEN '正式'
++				WHEN '试用' THEN '试用'
++				ELSE '关闭' END AS company_status
+				
 				FROM company AS a
 				INNER JOIN company_product AS b ON a.company_id=b.company_id
 				INNER JOIN overseas_custom_seller AS c ON b.seller_id=c.seller_id
 				WHERE b.is_overseas = 0`
 	sql += ` UNION ALL
 				SELECT t.company_id+10000000,t.company_name,t.nation,t.seller_id,t.seller_name,
-				t.view_total,0 AS road_show_total,t.create_time,'' AS last_view_time,t.is_hide,t.overseas_status
+				t.view_total,0 AS road_show_total,t.create_time,'' AS last_view_time,t.is_hide,t.overseas_status,t.reset_btn,
+				CASE t.enabled
+				WHEN 0 THEN '关闭'
+				ELSE '试用' END AS company_status
 				FROM %s.english_company AS t
 				INNER JOIN overseas_custom_seller AS n ON t.seller_id=n.seller_id
              WHERE 1=1 `
@@ -334,9 +343,27 @@ type CustomOverseasLabelSetReq struct {
 }
 
 // 更新客户产品信息
-func (obj *Custom) UpdateCompanyProductOverseasLabel(overseasLabel, companyId int) (err error) {
-	o := orm.NewOrm()
-	sql := ` UPDATE company_product SET overseas_label=? WHERE company_id=? AND product_id=1 `
-	_, err = o.Raw(sql, overseasLabel, companyId).Exec()
+func (obj *Custom) UpdateCompanyProduct(updateParams, whereParam map[string]interface{}) (err error) {
+	to := orm.NewOrm()
+	ptrStructOrTableName := "company_product"
+
+	qs := to.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range whereParam {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err = qs.Update(updateParams)
+	return
+}
+
+// 更新客户产品信息
+func (obj *Custom) UpdateCompany(updateParams, whereParam map[string]interface{}) (err error) {
+	to := orm.NewOrm()
+	ptrStructOrTableName := "company"
+
+	qs := to.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range whereParam {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err = qs.Update(updateParams)
 	return
 }