Răsfoiți Sursa

当前时间获取方式

renjiaojiao 3 ani în urmă
părinte
comite
2ed6d26b0a

+ 8 - 76
rpc/knowledge/internal/logic/knowledgeaddlogic.go

@@ -1,17 +1,11 @@
 package logic
 
 import (
-	elastic "app.yhyue.com/moapp/jybase/esv1"
-	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
 	"context"
-	"database/sql"
 	"github.com/zeromicro/go-zero/core/logx"
-	"knowledgeBase/entity"
-	. "knowledgeBase/rpc/knowledge/init"
 	"knowledgeBase/rpc/knowledge/internal/svc"
 	"knowledgeBase/rpc/knowledge/knowledgeclient"
-	"knowledgeBase/rpc/knowledge/util"
-	"time"
+	"knowledgeBase/service"
 )
 
 type KnowledgeAddLogic struct {
@@ -36,76 +30,14 @@ type Question struct {
 // KnowledgeAdd 知识新增
 func (l *KnowledgeAddLogic) KnowledgeAdd(in *knowledgeclient.AddRequest) (*knowledgeclient.AddResponse, error) {
 	result := &knowledgeclient.AddResponse{}
-	//先查找知识库Id
-	query := map[string]interface{}{"status": 1, "appid": in.AppId, "ent_id": in.EntId}
-	datalist := Mysql.Find(util.KNOWLEDGE, query, "id", "", -1, -1)
-	if datalist != nil && *datalist != nil && len(*datalist) > 0 {
-		//问题进行分词
-		keywords := util.HttpDo(in.Question)
-		//通过entUserId获取创建人名称,调用用户中心
-		req := &usercenter.EntUserReq{
-			EntId:     in.EntId,
-			EntUserId: in.EntUserId,
-			AppId:     in.AppId,
-		}
-		resp, err := entity.UserCenterLib.GetEntUserInfo(context.Background(), req)
-		if err != nil {
-			logx.Infof("查询用户中台创建人信息失败", in.EntId, in.EntUserId, "err:", err)
-			return nil, err
-		}
-		createPerson := resp.Data.Name
-		var answerId int64
-		var cstSh, _ = time.LoadLocation("Asia/Shanghai") //上海
-		nowTime := time.Now().In(cstSh).Format(util.Date_Full_Layout)
-		fool := Mysql.ExecTx("添加知识", func(tx *sql.Tx) bool {
-			//插入答案
-			answerData := map[string]interface{}{
-				"knowledge_id":  (*datalist)[0]["id"],
-				"status":        1,
-				"create_time":   nowTime,
-				"update_time":   nowTime,
-				"create_person": createPerson,
-				"content":       in.Answer,
-			}
-			answerId = Mysql.Insert(util.ANSWER, answerData)
-			//插入问题
-			questionData := map[string]interface{}{
-				"answer_id": answerId,
-				"content":   in.Question,
-				"keywords":  keywords,
-			}
-			questionId := Mysql.Insert(util.QUESTION, questionData)
-			return answerId > 0 && questionId > 0
-		})
-		if fool {
-			//插入es
-			knowledge := map[string]interface{}{
-				"knowledgeId":  (*datalist)[0]["id"],
-				"status":       1,
-				"createTime":   time.Now().Unix(),
-				"createPerson": createPerson,
-				"answer":       in.Answer,
-				"question":     in.Question,
-				"keywords":     keywords,
-				"answerId":     answerId,
-				"entId":        in.EntId,
-			}
-			b := elastic.Save(C.Es.Index, C.Es.Type, knowledge)
-			if b {
-				result.ErrorCode = 0
-				result.ErrorMsg = "插入数据成功"
-			} else {
-				result.ErrorCode = -1
-				result.ErrorMsg = "插入es失败"
-			}
-
-		} else {
-			result.ErrorCode = -1
-			result.ErrorMsg = "新建失败"
-		}
-	} else {
+	k := service.KnowledgeService{}
+	ok, msg, err := k.KnowledgeAdd(in)
+	if !ok && err != nil {
 		result.ErrorCode = -1
-		result.ErrorMsg = "租户不存在"
+		result.ErrorMsg = msg
+	} else {
+		result.ErrorCode = 0
+		result.ErrorMsg = msg
 	}
 	return result, nil
 }

+ 1 - 2
rpc/knowledge/internal/logic/knowledgeeditlogic.go

@@ -48,10 +48,9 @@ func (l *KnowledgeEditLogic) KnowledgeEdit(in *knowledgeclient.KnowledgeEditReq)
 	}
 	createPerson := resp.Data.Name
 	fool := Mysql.ExecTx("编辑问题、答案", func(tx *sql.Tx) bool {
-		var cstSh, _ = time.LoadLocation("Asia/Shanghai") //上海
 		//修改答案
 		answerUpdate := map[string]interface{}{
-			"update_time": time.Now().In(cstSh).Format(util.Date_Full_Layout),
+			"update_time": time.Now().Local().Format(util.Date_Full_Layout),
 			"content":     in.Answer,
 		}
 		ok1 := Mysql.UpdateByTx(tx, util.ANSWER, map[string]interface{}{"id": in.AnswerId}, answerUpdate)

+ 85 - 0
service/knowledgeService.go

@@ -0,0 +1,85 @@
+package service
+
+import (
+	elastic "app.yhyue.com/moapp/jybase/esv1"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+	"context"
+	"database/sql"
+	"errors"
+	"github.com/zeromicro/go-zero/core/logx"
+	"knowledgeBase/entity"
+	. "knowledgeBase/rpc/knowledge/init"
+	"knowledgeBase/rpc/knowledge/knowledgeclient"
+	"knowledgeBase/rpc/knowledge/util"
+	"time"
+)
+
+type KnowledgeService struct{}
+
+func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest) (bool, string, error) {
+	//先查找知识库Id
+	query := map[string]interface{}{"status": 1, "appid": param.AppId, "ent_id": param.EntId}
+	datalist := Mysql.Find(util.KNOWLEDGE, query, "id", "", -1, -1)
+	if datalist != nil && *datalist != nil && len(*datalist) > 0 {
+		//问题进行分词
+		keywords := util.HttpDo(param.Question)
+		//通过entUserId获取创建人名称,调用用户中心
+		req := &usercenter.EntUserReq{
+			EntId:     param.EntId,
+			EntUserId: param.EntUserId,
+			AppId:     param.AppId,
+		}
+		resp, err := entity.UserCenterLib.GetEntUserInfo(context.Background(), req)
+		if err != nil {
+			logx.Infof("查询用户中台创建人信息失败", param.EntId, param.EntUserId, "err:", err)
+			return false, "查询用户中台创建人信息失败", err
+		}
+		createPerson := resp.Data.Name
+		var answerId int64
+		nowTime := time.Now().Local().Format(util.Date_Full_Layout)
+		fool := Mysql.ExecTx("添加知识", func(tx *sql.Tx) bool {
+			//插入答案
+			answerData := map[string]interface{}{
+				"knowledge_id":  (*datalist)[0]["id"],
+				"status":        1,
+				"create_time":   nowTime,
+				"update_time":   nowTime,
+				"create_person": createPerson,
+				"content":       param.Answer,
+			}
+			answerId = Mysql.Insert(util.ANSWER, answerData)
+			//插入问题
+			questionData := map[string]interface{}{
+				"answer_id": answerId,
+				"content":   param.Question,
+				"keywords":  keywords,
+			}
+			questionId := Mysql.Insert(util.QUESTION, questionData)
+			return answerId > 0 && questionId > 0
+		})
+		if fool {
+			//插入es
+			knowledge := map[string]interface{}{
+				"knowledgeId":  (*datalist)[0]["id"],
+				"status":       1,
+				"createTime":   time.Now().Unix(),
+				"createPerson": createPerson,
+				"answer":       param.Answer,
+				"question":     param.Question,
+				"keywords":     keywords,
+				"answerId":     answerId,
+				"entId":        param.EntId,
+			}
+			b := elastic.Save(C.Es.Index, C.Es.Type, knowledge)
+			if b {
+				return true, "插入es成功", nil
+			} else {
+				return false, "插入es出错", errors.New("插入es出错")
+			}
+		} else {
+			return false, "插入mysql出错", errors.New("插入mysql出错")
+		}
+	} else {
+		return false, "租户不存在", errors.New("租户不存在")
+	}
+}