Bladeren bron

优化需求249

gmy 4 maanden geleden
bovenliggende
commit
f68ac2c26b
4 gewijzigde bestanden met toevoegingen van 122 en 1 verwijderingen
  1. 83 0
      controllers/eta_trial.go
  2. 1 1
      go.mod
  3. 1 0
      go.sum
  4. 37 0
      models/eta_trial/eta_trial.go

+ 83 - 0
controllers/eta_trial.go

@@ -1848,3 +1848,86 @@ func (this *ETATrialController) QuestionnaireDetail() {
 
 	return
 }
+
+// EnableAccountList
+// @Title 已启用账号列表
+// @Description 已启用账号列表
+// @Success 200
+// @router /enable/account/list [get]
+func (this *ETATrialController) EnableAccountList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	var condition string
+	var pars []interface{}
+
+	condition += ` AND enabled = ? `
+	pars = append(pars, 1)
+
+	adminItems, err := system.GetSysUserItems(condition, pars)
+	if err != nil {
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = adminItems
+	return
+}
+
+// AccountTransfer
+// @Title 账号转移
+// @Description 账号转移
+// @Success 200
+// @router /account/transfer [post]
+func (this *ETATrialController) AccountTransfer() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	var req eta_trial.TrialAccountTransferReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	if len(req.EtaTrialIdList) <= 0 {
+		br.Msg = "参数有误"
+		br.ErrMsg = "参数有误, 至少选中一个试用用户"
+		return
+	}
+
+	err = eta_trial.TransferETATrial(&req)
+	if err != nil {
+		br.Msg = "转移失败!"
+		br.ErrMsg = "转移失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	return
+}

+ 1 - 1
go.mod

@@ -32,6 +32,7 @@ require (
 	github.com/tealeg/xlsx v1.0.5
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.541
 	github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.541
+	github.com/wechatpay-apiv3/wechatpay-go v0.2.18
 	github.com/xuri/excelize/v2 v2.6.1
 	github.com/yidane/formula v0.0.0-20210902154546-0782e1736717
 	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
@@ -97,7 +98,6 @@ require (
 	github.com/tidwall/match v1.1.1 // indirect
 	github.com/tidwall/pretty v1.2.0 // indirect
 	github.com/tjfoc/gmsm v1.3.2 // indirect
-	github.com/wechatpay-apiv3/wechatpay-go v0.2.18 // indirect
 	github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 // indirect
 	github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect
 	golang.org/x/crypto v0.5.0 // indirect

+ 1 - 0
go.sum

@@ -13,6 +13,7 @@ github.com/SebastiaanKlippert/go-wkhtmltopdf v1.7.2 h1:LORAatv6KuKheYq8HXehiwx3f
 github.com/SebastiaanKlippert/go-wkhtmltopdf v1.7.2/go.mod h1:TY8r0gmwEL1c5Lbd66NgQCkL4ZjGDJCMVqvbbFvUx20=
 github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
 github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
+github.com/agiledragon/gomonkey v2.0.2+incompatible h1:eXKi9/piiC3cjJD1658mEE2o3NjkJ5vDLgYjCQu0Xlw=
 github.com/agiledragon/gomonkey v2.0.2+incompatible/go.mod h1:2NGfXu1a80LLr2cmWXGBDaHEjb1idR6+FVlX5T3D9hw=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=

+ 37 - 0
models/eta_trial/eta_trial.go

@@ -3,6 +3,7 @@ package eta_trial
 import (
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"hongze/hz_crm_api/utils"
 	"time"
 )
 
@@ -24,6 +25,13 @@ type EtaTrial struct {
 	LastLoginDuration int `description:"最后一次登录时长"`
 }
 
+type TrialAccountTransferReq struct {
+	EtaTrialIdList    []int  `description:"转移使用用户id列表"`
+	CurrentSellerId   int    `description:"转移后员工id"`
+	CurrentSellerName string `description:"转移后员工名称"`
+	IsCheckAll        bool   `description:"是否全选"`
+}
+
 // Update 更新用户基础信息
 func (item *EtaTrial) Update(cols []string) (err error) {
 	o := orm.NewOrm()
@@ -126,3 +134,32 @@ WHERE mobile=? `
 	_, err = o.Raw(sql, mobile).Exec()
 	return
 }
+
+// TransferETATrial 转移试用用户跟进销售人员
+func TransferETATrial(item *TrialAccountTransferReq) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE eta_trial SET seller=?,seller_id=?,modify_time=NOW()  WHERE 1 = 1 `
+
+	var condition string
+	var params []interface{}
+
+	if item.IsCheckAll {
+		if len(item.EtaTrialIdList) > 0 {
+			condition = ` AND eta_trial_id not IN (` + utils.GetOrmInReplace(len(item.EtaTrialIdList)) + `)`
+			for _, id := range item.EtaTrialIdList {
+				params = append(params, id)
+			}
+		}
+	} else {
+		condition = ` AND eta_trial_id IN (` + utils.GetOrmInReplace(len(item.EtaTrialIdList)) + `)`
+		for _, id := range item.EtaTrialIdList {
+			params = append(params, id)
+		}
+	}
+	sql += condition
+	params = append([]interface{}{item.CurrentSellerName, item.CurrentSellerId}, params...)
+
+	_, err = o.Raw(sql, params...).Exec()
+
+	return
+}