Browse Source

no message

xingzai 1 year ago
parent
commit
0c607d0ab0
5 changed files with 140 additions and 0 deletions
  1. 70 0
      controllers/company_renewal.go
  2. 59 0
      models/company/company_ascribe.go
  3. 1 0
      models/db.go
  4. 9 0
      routers/commentsRouter.go
  5. 1 0
      routers/router.go

+ 70 - 0
controllers/company_renewal.go

@@ -0,0 +1,70 @@
+package controllers
+
+import (
+	"encoding/json"
+	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/models/company"
+	"time"
+)
+
+//公司未续约操作
+
+type CompanyRenewalController struct {
+	BaseAuthController
+}
+
+// @Title 新建归因
+// @Description 新建归因接口
+// @Param   Classify   query   string  true       "客户类型:ficc,合作伙伴,权益"
+// @Success 200 {object} models.CompanyIndustryResp
+// @router /company_ascribe/add [post]
+func (this *CompanyRenewalController) CompanyAscribeAdd() {
+	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 company.CompanyAscribeAddReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	ascribeContent := req.AscribeContent
+	var condition string
+	var pars []interface{}
+	condition += " AND ascribe_content = ? "
+	pars = append(pars, ascribeContent)
+	total, err := company.GetCompanyAscribeCount(condition, pars)
+	if err != nil {
+		br.Msg = "新建失败"
+		br.ErrMsg = "获取失败,GetCompanyAscribeCount Err:" + err.Error()
+		return
+	}
+	if total > 0 {
+		br.Msg = "此归因已存在"
+		return
+	}
+	item := new(company.CompanyAscribe)
+	item.AscribeContent = ascribeContent
+	item.AdminId = sysUser.AdminId
+	item.CreateTime = time.Now()
+	item.ModifyTime = time.Now()
+	err = company.AddCompanyAscribe(item)
+	if err != nil {
+		br.Msg = "新建失败"
+		br.ErrMsg = "新建失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "新建成功"
+}

+ 59 - 0
models/company/company_ascribe.go

@@ -0,0 +1,59 @@
+package company
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CompanyAscribe struct {
+	CompanyAscribeId int       `orm:"column(company_ascribe_id);pk" description:"归因ID"`
+	AscribeContent   string    `description:"归因说明"`
+	AdminId          int       `description:"管理员ID"`
+	CreateTime       time.Time `description:"创建时间"`
+	ModifyTime       time.Time `description:"更新时间"`
+}
+
+type CompanyAscribeResp struct {
+	CompanyAscribeId int    `orm:"column(company_ascribe_id);pk" description:"归因ID"`
+	AscribeContent   string `description:"归因说明"`
+	AdminId          int    `description:"管理员ID"`
+	CreateTime       string `description:"创建时间"`
+}
+
+type CompanyAscribeListResp struct {
+	List []*CompanyAscribeResp
+}
+
+type CompanyAscribeAddReq struct {
+	AscribeContent string `description:"归因说明"`
+}
+
+// 添加
+func AddCompanyAscribe(item *CompanyAscribe) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}
+
+// 获取数量
+func GetCompanyAscribeCount(condition string, pars []interface{}) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count  FROM company_ascribe as a WHERE 1= 1  `
+	if condition != "" {
+		sqlCount += condition
+	}
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, pars).QueryRow(&count)
+	return
+}
+
+// 列表
+func GetCygxProductInteriorList(condition string, pars []interface{}, startSize, pageSize int) (items []*CompanyAscribeResp, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM company_ascribe as a  WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,?  `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}

+ 1 - 0
models/db.go

@@ -244,6 +244,7 @@ func initCompany() {
 		new(company_todo.CompanyTodo),                        //客户任务列表
 		new(company.SellerCompanyPermission),                 //销售客户权限("添加客户"权限)
 		new(company.CompanyServiceRecord),                    // 客户服务记录表
+		new(company.CompanyAscribe),                          // 客户归因
 	)
 }
 

+ 9 - 0
routers/commentsRouter.go

@@ -8908,6 +8908,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanyRenewalController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanyRenewalController"],
+        beego.ControllerComments{
+            Method: "CompanyAscribeAdd",
+            Router: `/company_ascribe/add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanySellerController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanySellerController"],
         beego.ControllerComments{
             Method: "CheckList",

+ 1 - 0
routers/router.go

@@ -107,6 +107,7 @@ func init() {
 				&controllers.CompanyReceiveController{},
 				&controllers.CompanyServiceRecordController{},
 				&controllers.FullCompanyController{},
+				&controllers.CompanyRenewalController{},
 			),
 		),
 		web.NSNamespace("/resource",