Selaa lähdekoodia

Merge branch 'crm/crm_16.9.2_rai' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing 4 päivää sitten
vanhempi
commit
a318565581

+ 165 - 9
controllers/cygx/rai_serve.go

@@ -1226,15 +1226,6 @@ func (this *RaiServeCoAntroller) AddRemark() {
 	item.TableName = "company_history_remark"
 
 	err = company.AddCompanyHistoryRemark(item)
-
-	//{
-	//	approveContent := req.Remark
-	//	remark := "新增备注"
-	//	operation := "add_remark"
-	//	services.AddCompanyOperationRecord(req.CompanyId, companyProduct.SellerId, sysUser.AdminId, companyProduct.ProductId, sysUser.AdminId, companyProduct.CompanyName,
-	//		companyProduct.ProductName, sysUser.RealName, remark, operation, approveContent, sysUser.RealName, "", companyProduct.Status)
-	//}
-
 	if err != nil {
 		br.Msg = "编辑失败"
 		br.ErrMsg = "编辑失败,Err:" + err.Error()
@@ -1290,6 +1281,7 @@ func (this *RaiServeCoAntroller) RemarkList() {
 	resp := new(company.CompanyHistoryRemarkListResp)
 	for _, v := range remarkList {
 		item := new(company.CompanyHistoryRemarkResp)
+		item.HistoryId = v.HistoryId
 		item.CompanyId = v.CompanyId
 		item.Content = v.Content
 		item.SysAdminName = v.SysAdminName
@@ -1305,6 +1297,10 @@ func (this *RaiServeCoAntroller) RemarkList() {
 			item.RemarkType = "未续约说明"
 		case "cygx_user_feedback":
 			item.RemarkType = "交流反馈(" + v.RealName + ")"
+		case "company_history_remark":
+			item.RemarkType = "备注"
+			item.BtnEdit = true
+			item.BtnDelete = true
 		default:
 			item.RemarkType = "备注"
 		}
@@ -1316,3 +1312,163 @@ func (this *RaiServeCoAntroller) RemarkList() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// EditRemark
+// @Title 修改历史备注
+// @Description 修改历史备注
+// @Param	request	body company.CompanyHistoryRemarkReq true "type json string"
+// @Success 200 编辑成功
+// @router /rai_serve/remark/edit [post]
+func (this *RaiServeCoAntroller) EditRemark() {
+	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.CompanyHistoryRemarkEditReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	historyId := req.HistoryId
+	content := req.Content
+	if historyId <= 0 {
+		br.Msg = "参数缺失"
+		br.ErrMsg = "参数缺失,备注ID未传!"
+		return
+	}
+	if content == "" {
+		br.Msg = "参数缺失"
+		br.ErrMsg = "参数缺失,备注说明未传!"
+		return
+	}
+	if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_TEAM || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP {
+		br.Msg = "角色类型错误"
+		br.ErrMsg = "角色类型错误,该角色不能添加备注!"
+		return
+	}
+	detail, err := company.GetCompanyHistoryRemarkByHistoryId(historyId)
+	if err != nil {
+		br.Msg = "编辑失败"
+		br.ErrMsg = "编辑失败,Err:" + err.Error()
+		return
+	}
+	if detail.TableName != "company_history_remark" {
+		br.Msg = "编辑失败"
+		br.ErrMsg = "该类型无法编辑" + detail.TableName
+		return
+	}
+
+	whereParams := make(map[string]interface{})
+	updateParams := make(map[string]interface{})
+
+	whereParams["history_id"] = historyId
+
+	updateParams["content"] = content
+	updateParams["modify_time"] = time.Now()
+
+	err = company.UpdateCompanyHistoryRemark(whereParams, updateParams)
+	if err != nil {
+		br.Msg = "修改失败"
+		br.ErrMsg = "编辑失败,Err:" + err.Error()
+		return
+	}
+	item := new(company.CompanyHistoryRemarkLog)
+	item.HistoryId = detail.HistoryId
+	item.CompanyId = detail.CompanyId
+	item.ProductId = detail.ProductId
+	item.Content = detail.Content
+	item.ContentEdit = content
+	item.SysAdminId = sysUser.AdminId
+	item.SysAdminName = sysUser.RealName
+	item.CreateTime = time.Now()
+
+	err = company.AddCompanyHistoryRemarkLog(item)
+	if err != nil {
+		br.Msg = "编辑失败"
+		br.ErrMsg = "编辑失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "编辑成功"
+}
+
+// DeletRemark
+// @Title 删除历史备注
+// @Description 删除历史备注
+// @Param	request	body company.CompanyHistoryRemarkEditReq true "type json string"
+// @Success 200 编辑成功
+// @router /rai_serve/remark/delete [post]
+func (this *RaiServeCoAntroller) DeleteRemark() {
+	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.CompanyHistoryRemarkEditReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	historyId := req.HistoryId
+
+	if historyId <= 0 {
+		br.Msg = "参数缺失"
+		br.ErrMsg = "参数缺失,备注ID未传!"
+		return
+	}
+
+	detail, err := company.GetCompanyHistoryRemarkByHistoryId(historyId)
+	if err != nil {
+		br.Msg = "编辑失败"
+		br.ErrMsg = "编辑失败,Err:" + err.Error()
+		return
+	}
+	if detail.TableName != "company_history_remark" {
+		br.Msg = "编辑失败"
+		br.ErrMsg = "该类型无法编辑" + detail.TableName
+		return
+	}
+
+	//whereParams := make(map[string]interface{})
+	//updateParams := make(map[string]interface{})
+	//
+	//whereParams["history_id"] = historyId
+	//
+	//updateParams["content"] = "12321312"
+	//updateParams["email"] = 1
+	////updateParams["is_del"] = 1
+	////updateParams["del_time"] = time.Now()
+	//updateParams["modify_time"] = time.Now()
+	////updateParams["del_admin_name"] = sysUser.RealName
+	////updateParams["del_admin_id"] = sysUser.AdminId
+
+	err = company.DeleteCompanyHistoryRemark(sysUser.RealName, sysUser.AdminId, historyId)
+	if err != nil {
+		br.Msg = "删除失败"
+		br.ErrMsg = "删除失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "编辑成功"
+}

+ 39 - 2
models/company/company_history_remark.go

@@ -29,6 +29,12 @@ type CompanyHistoryRemarkReq struct {
 	Content   string `description:"备注内容"`
 }
 
+// CompanyHistoryRemarkReq 新增历史备注请求
+type CompanyHistoryRemarkEditReq struct {
+	HistoryId int    `description:"备注ID"`
+	Content   string `description:"备注内容"`
+}
+
 // 新增
 func AddCompanyHistoryRemark(remark *CompanyHistoryRemark) (err error) {
 	o := orm.NewOrm()
@@ -37,11 +43,14 @@ func AddCompanyHistoryRemark(remark *CompanyHistoryRemark) (err error) {
 }
 
 type CompanyHistoryRemarkResp struct {
+	HistoryId    int    `comment:"备注id"`
 	CompanyId    int    `comment:"客户ID"`
 	Content      string `comment:"备注内容"`
 	SysAdminName string `comment:"创建人姓名"`
 	RemarkType   string `comment:"备注类型"`
 	CreateTime   string `comment:"对外展示的创建时间"`
+	BtnEdit      bool   `description:"编辑按钮权限:true显示,false不显示"`
+	BtnDelete    bool   `description:"删除按钮权限:true显示,false不显示"`
 }
 
 type CompanyHistoryRemarkListResp struct {
@@ -51,7 +60,7 @@ type CompanyHistoryRemarkListResp struct {
 // GetCompanyHistoryRemarkList 获取备注列表
 func GetCompanyHistoryRemarkList(CompanyId, ProductId string) (items []*CompanyHistoryRemark, err error) {
 	o := orm.NewOrm()
-	sql := "SELECT * FROM company_history_remark WHERE company_id=? AND product_id=? ORDER BY show_time DESC "
+	sql := "SELECT * FROM company_history_remark WHERE  is_del = 0 AND  company_id=? AND product_id=? ORDER BY show_time DESC "
 	_, err = o.Raw(sql, CompanyId, ProductId).QueryRows(&items)
 	return
 }
@@ -64,7 +73,7 @@ func DelCompanyHistoryRemark(tableName string, tableId int) (err error) {
 	return
 }
 
-// GetCompanyHistoryRemarkList 获取备注列表
+// GetCompanyHistoryRemarkListinit 获取备注列表
 func GetCompanyHistoryRemarkListinit() (items []*CompanyHistoryRemark, err error) {
 	o := orm.NewOrm()
 	sql := "SELECT * FROM company_history_remark  WHERE	 table_id > 0   "
@@ -94,3 +103,31 @@ func AddCompanyHistoryRemarkMultiinit(items []*CompanyHistoryRemark) (err error)
 	}
 	return
 }
+
+// 根据ID获取详情
+func GetCompanyHistoryRemarkByHistoryId(historyId int) (item *CompanyHistoryRemark, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM company_history_remark WHERE history_id=? `
+	err = o.Raw(sql, historyId).QueryRow(&item)
+	return
+}
+
+// 更新
+func UpdateCompanyHistoryRemark(where, updateParams map[string]interface{}) error {
+	o := orm.NewOrm()
+	ptrStructOrTableName := "company_history_remark"
+	qs := o.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range where {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err := qs.Update(updateParams)
+	return err
+}
+
+// 软删除
+func DeleteCompanyHistoryRemark(adminName string, adminId, historyId int) (err error) {
+	o := orm.NewOrm()
+	sql := ` UPDATE company_history_remark SET  is_del=1 , del_time= ? ,del_admin_name =?,del_admin_id =?   WHERE history_id=? `
+	_, err = o.Raw(sql, time.Now(), adminName, adminId, historyId).Exec()
+	return
+}

+ 25 - 0
models/company/company_history_remark_log.go

@@ -0,0 +1,25 @@
+package company
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CompanyHistoryRemarkLog struct {
+	LogId        int       `orm:"column(log_id);pk" comment:"日志id"`
+	HistoryId    int       ` comment:"备注id"`
+	CompanyId    int       `comment:"客户ID"`
+	ProductId    int       `comment:"产品id"`
+	Content      string    `comment:"备注内容"`
+	ContentEdit  string    `comment:"修改后的备注内容"`
+	SysAdminId   int       `comment:"创建人ID"`
+	SysAdminName string    `comment:"创建人姓名"`
+	CreateTime   time.Time `comment:"创建时间" `
+}
+
+// 新增
+func AddCompanyHistoryRemarkLog(remark *CompanyHistoryRemarkLog) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(remark)
+	return
+}

+ 2 - 1
models/db.go

@@ -268,7 +268,8 @@ func initCompany() {
 		new(company.CompanyContractNoRenewedAscribeLog),      // 合同确认不续约记录日志
 		new(company.CrmConfig),                               // 管理后台基本配置表
 		new(company.CompanyRenewalRecord),                    // 客户续约状态记录表
-		new(company.CompanyHistoryRemark),                    // 客户记录历史记录表
+		new(company.CompanyHistoryRemark),                    // 客户记录历史备注表
+		new(company.CompanyHistoryRemarkLog),                 // 客户记录历史备注日志表
 		new(company.WxUserMoveLog),                           // 客户联系人移动记录日志表
 	)
 }

+ 18 - 0
routers/commentsRouter.go

@@ -2419,6 +2419,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"],
+        beego.ControllerComments{
+            Method: "DeleteRemark",
+            Router: `/rai_serve/remark/delete`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"],
+        beego.ControllerComments{
+            Method: "EditRemark",
+            Router: `/rai_serve/remark/edit`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"],
         beego.ControllerComments{
             Method: "RemarkList",