瀏覽代碼

Merge remote-tracking branch 'origin/master'

Roc 17 小時之前
父節點
當前提交
d6fa28507f

+ 167 - 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,12 @@ func (this *RaiServeCoAntroller) RemarkList() {
 			item.RemarkType = "未续约说明"
 		case "cygx_user_feedback":
 			item.RemarkType = "交流反馈(" + v.RealName + ")"
+		case "company_approval":
+			item.RemarkType = "申请解冻"
+		case "company_history_remark":
+			item.RemarkType = "备注"
+			item.BtnEdit = true
+			item.BtnDelete = true
 		default:
 			item.RemarkType = "备注"
 		}
@@ -1316,3 +1314,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 = "编辑成功"
+}

+ 30 - 3
controllers/cygx/summary_manage.go

@@ -1241,17 +1241,25 @@ func (this *SummaryManage) ArticleHistoryExport() {
 		br.ErrMsg = "获取策略品台数据失败,Err:" + err.Error()
 		return
 	}
-	var mobilesCl string
+	var mobilesArr []string
 	if len(listClPv) > 0 {
 		for _, v := range listClPv {
 			if v.Mobile != "" {
-				mobilesCl += v.Mobile + ","
+				mobilesArr = append(mobilesArr, v.Mobile)
+			}
+		}
+	}
+	if len(list) > 0 {
+		for _, v := range list {
+			if v.Mobile != "" {
+				mobilesArr = append(mobilesArr, v.Mobile)
 			}
 		}
 	}
 	mapMobileCompany := make(map[string]string)
 	mapMobileSellName := make(map[string]string)
-	mobilesCl = strings.TrimRight(mobilesCl, ",")
+	mapMobileRealName := make(map[string]string)
+	mobilesCl := strings.Join(mobilesArr, ",")
 
 	if mobilesCl != "" {
 		listClCompanyName, err := cygx.GetCygxCelueArticleComapnyName(mobilesCl)
@@ -1279,6 +1287,25 @@ func (this *SummaryManage) ArticleHistoryExport() {
 		}
 	}
 
+	listUser, err := models.GetWxUserRaiSllerListByUserMobile(mobilesArr)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	//获取用户当前最新的公司信息
+	for _, v := range listUser {
+		mapMobileRealName[v.Mobile] = v.RealName
+	}
+
+	for _, v := range list {
+		if v.Mobile != "" {
+			if v.RealName == "" {
+				v.RealName = mapMobileRealName[v.Mobile]
+			}
+		}
+	}
+
 	var listClPvPower []*cygx.ArticleHistoryRep
 
 	if len(mapMobileSellWithUser) != 0 {

+ 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",

+ 1 - 0
services/company_apply/company_approval.go

@@ -731,6 +731,7 @@ func afterApproved(companyApprovalId int, opUserId int, opUserName string) (err
 			startDate = tmpStartDate
 			endDate = tmpEndDate
 		}
+		go AddCompanyHistoryRemarkByCompanyApply(recodeInfo) //权益销售冻结销售申请试用,审批通过后,将申请内容添加到备注
 
 	case 3: //试用延期
 		tmpCompanyReportPermissionList, tmpEndDate, tmpErr := company.TryOutDelay(recodeInfo.CompanyId, recodeInfo.ProductId, opUser.AdminId, recodeInfo.CompanyApprovalId, opUser.RealName, companyProduct.EndDate, companyProduct.ProductName)

+ 72 - 0
services/company_apply/company_history_remark.go

@@ -0,0 +1,72 @@
+package company_apply
+
+import (
+	"fmt"
+	"hongze/hz_crm_api/models/company"
+	"hongze/hz_crm_api/services/alarm_msg"
+	"hongze/hz_crm_api/utils"
+	"time"
+)
+
+// 权益销售冻结销售申请试用,审批通过后,将申请内容添加到备注
+func AddCompanyHistoryRemarkByCompanyApply(recodeInfo *company.CompanyApproval) {
+	if recodeInfo.ProductId != 2 {
+		return
+	}
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint(" 权益销售冻结销售申请试用,审批通过后,将申请内容添加到备注 失败,AddCompanyHistoryRemarkByCompanyApply Err:", err.Error(), recodeInfo), 3)
+		}
+	}()
+
+	item := new(company.CompanyHistoryRemark)
+	item.CompanyId = recodeInfo.CompanyId
+	item.ProductId = 2
+	item.Content = recodeInfo.ApplyReasons
+	item.SysAdminId = recodeInfo.ApplyUserId
+	item.SysAdminName = recodeInfo.ApplyRealName
+	item.CreateTime = time.Now()
+	item.ModifyTime = time.Now()
+	item.ShowTime = time.Now()
+	item.TableName = "company_approval"
+	item.TableId = recodeInfo.CompanyApprovalId
+	err = company.AddCompanyHistoryRemark(item)
+	return
+}
+
+//func init() {
+//	init16_9_2()
+//}
+
+func init16_9_2() {
+	var condition string
+	var pars []interface{}
+	condition = "  AND  product_id = 2   AND approve_content = '冻结转试用'  AND approve_status = '已审批' "
+
+	CompanyApprovalList, e := company.GetCompanyApprovalList(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		fmt.Println(e)
+		return
+	}
+	fmt.Println(len(CompanyApprovalList))
+	//return
+
+	for k, recodeInfo := range CompanyApprovalList {
+		item := new(company.CompanyHistoryRemark)
+		item.CompanyId = recodeInfo.CompanyId
+		item.ProductId = 2
+		item.Content = recodeInfo.ApplyReasons
+		item.SysAdminId = recodeInfo.ApplyUserId
+		item.SysAdminName = recodeInfo.ApplyRealName
+		item.CreateTime = time.Now()
+		item.ModifyTime = time.Now()
+		item.ShowTime = recodeInfo.ApproveTime
+		item.TableName = "company_approval"
+		item.TableId = recodeInfo.CompanyApprovalId
+		err := company.AddCompanyHistoryRemark(item)
+		fmt.Println(k, "____", err)
+	}
+
+}