浏览代码

feature:完善经销商提醒增加跳转链接

liuyaqi 2 年之前
父节点
当前提交
7a161d2f55

+ 9 - 2
opms_parent/app/service/base/base_distributor.go

@@ -220,7 +220,7 @@ func (s *distributorService) Create(ctx context.Context, req *model.AddDistribut
 	if req.ProvinceId == 0 || req.BelongSaleId == 0 || req.Capital == 0 || req.RegisterDistrict == "" || req.BusinessScope == "" || req.SaleNum == 0 || req.CustomerType == "" || req.ExistedProduct == "" || req.HistoryCustomer == "" {
 		msg := g.MapStrStr{
 			"msgTitle":    "经销商信息完善提醒",
-			"msgContent":  fmt.Sprintf("<p>经销商:%s 的必要信息未填写完整,请及时完善</p>", req.DistName),
+			"msgContent":  fmt.Sprintf("<p>经销商:<a href='%s'>%s</a> 的必要信息未填写完整,请及时完善</p>", distUrl(*DistributorData), req.DistName),
 			"msgType":     "20",
 			"recvUserIds": strconv.Itoa(req.BelongSaleId),
 			"msgStatus":   "10",
@@ -233,6 +233,13 @@ func (s *distributorService) Create(ctx context.Context, req *model.AddDistribut
 	return id, nil
 }
 
+func distUrl(ent model.BaseDistributor) string {
+	if ent.DistType == "20" {
+		return fmt.Sprintf("#/base/agentDetails?id=%d", ent.Id)
+	}
+	return fmt.Sprintf("#/base/info?id=%d", ent.Id)
+}
+
 var ProcessCodeDistProxyCreate = "PROC-9494B87D-DE96-49EE-B676-D3913911BE21" // 创建代理商
 
 func (s *distributorService) createDingtalkProcess(ctx context.Context, ent *model.BaseDistributor, contractFileName string) error {
@@ -1342,7 +1349,7 @@ func notifyToComplete() {
 
 		msg := g.MapStrStr{
 			"msgTitle":    "经销商信息完善提醒",
-			"msgContent":  fmt.Sprintf("<p>经销商:%s 的必要信息未填写完整,请及时完善</p>", d.DistName),
+			"msgContent":  fmt.Sprintf("<p>经销商:<a href='%s'>%s</a> 的必要信息未填写完整,请及时完善</p>", distUrl(*d), d.DistName),
 			"msgType":     "20",
 			"recvUserIds": strings.Join(recvUserIdString, ","),
 			"msgStatus":   "10",

+ 24 - 0
opms_parent/app/service/base/base_distributor_test.go

@@ -2,9 +2,12 @@ package base
 
 import (
 	"context"
+	"fmt"
 	"testing"
 
+	model "dashoo.cn/micro/app/model/base"
 	modelWorkflow "dashoo.cn/micro/app/model/workflow"
+	"dashoo.cn/micro/app/service"
 	"dashoo.cn/opms_libary/plugin/dingtalk/message"
 	"github.com/gogf/gf/frame/g"
 	"github.com/smallnest/rpcx/share"
@@ -38,6 +41,27 @@ func TestApprovalProxyCreate(t *testing.T) {
 	}
 }
 
+func TestCreateSystemMessage(t *testing.T) {
+	ent := model.BaseDistributor{}
+	ent.DistName = "测试经销商123323223"
+	ent.DistType = "10"
+	ent.Id = 59
+	// ent.DistName = "测试审批"
+	// ent.DistType = "20"
+	// ent.Id = 38
+	msg := g.MapStrStr{
+		"msgTitle":    "经销商信息完善提醒",
+		"msgContent":  fmt.Sprintf("<p>经销商:<a href='%s'>%s</a> 的必要信息未填写完整,请及时完善</p>", distUrl(ent), ent.DistName),
+		"msgType":     "20",
+		"msgStatus":   "10",
+		"recvUserIds": "1",
+		"sendType":    "10,20,30",
+	}
+	if err := service.CreateSystemMessage(msg); err != nil {
+		t.Errorf("CreateSystemMessage() error = %v", err)
+	}
+}
+
 func TestNotifyToComplete(t *testing.T) {
 	notifyToComplete()
 }