From d80428a19673e819440a34f2565b6dbbbe6ac567 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 18 七月 2024 22:32:08 +0800
Subject: [PATCH] fix
---
controllers/dict_controller.go | 100 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 89 insertions(+), 11 deletions(-)
diff --git a/controllers/dict_controller.go b/controllers/dict_controller.go
index 7366885..2e4826e 100644
--- a/controllers/dict_controller.go
+++ b/controllers/dict_controller.go
@@ -1,13 +1,19 @@
package controllers
import (
+ "context"
+ "errors"
+ "fmt"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
"strconv"
+ "wms/constvar"
"wms/extend/code"
"wms/extend/util"
"wms/models"
"wms/pkg/logx"
+ "wms/proto/init_client"
+ "wms/proto/user"
"wms/request"
)
@@ -38,8 +44,16 @@
return
}
+ _, err := models.NewMiniDictSearch().SetType(params.Type).SetName(params.Name).First()
+ if !errors.Is(err, gorm.ErrRecordNotFound) {
+ util.ResponseFormat(c, code.NameExistedError, "鍚嶇О宸插瓨鍦�")
+ return
+ }
+
+ autoCode, _ := getAutoCode(params.Type)
record := models.MiniDict{
Type: params.Type,
+ Code: autoCode,
Name: params.Name,
Value: params.Value,
IsDefault: params.IsDefault,
@@ -85,6 +99,7 @@
record := models.MiniDict{
Type: params.Type,
+ Code: params.Code,
Name: params.Name,
Value: params.Value,
IsDefault: params.IsDefault,
@@ -181,7 +196,7 @@
// @Tags 鏁版嵁瀛楀吀
// @Summary 鑾峰彇瀛楀吀淇℃伅鍒楄〃
// @Produce application/json
-// @Param object body request.GetMiniDictList true "鍙傛暟"
+// @Param object body request.GetMiniDictList true "鍙傛暟"
// @Success 200 {object} util.ResponseList{data=[]models.MiniDict} "鎴愬姛"
// @Router /api-wms/v1/dict/getDictList [post]
func (slf DictController) GetMiniDictList(c *gin.Context) {
@@ -191,16 +206,7 @@
return
}
- //if !params.Type.Valid() {
- // util.ResponseFormat(c, code.RequestParamError, "瀛楀吀绫诲瀷閿欒")
- // return
- //}
- dictSearch := models.NewMiniDictSearch()
- if params.Type.Valid() {
- dictSearch.SetType(params.Type)
- }
-
- list, total, err := dictSearch.Find()
+ list, total, err := models.NewMiniDictSearch().SetKeyword(params.Keyword).SetType(params.Type).Find()
if err != nil {
util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
return
@@ -208,3 +214,75 @@
util.ResponseFormatList(c, code.Success, list, int(total))
}
+
+// GetUserList
+// @Tags 鏁版嵁瀛楀吀
+// @Summary 鑾峰彇鐢ㄦ埛鍒楄〃
+// @Produce application/json
+// @Param object query user.GetUserRequest true "鍙傛暟"
+// @Success 200 {object} util.ResponseList{data=[]user.GetUserRequest} "鎴愬姛"
+// @Router /api-wms/v1/dict/getUserList [get]
+func (slf DictController) GetUserList(c *gin.Context) {
+ if init_client.AdminConn == nil {
+ util.ResponseFormat(c, code.InternalError, "璇峰厛閰嶇疆Admin鐨刧rpc鏈嶅姟淇℃伅")
+ }
+ query := new(user.GetUserRequest)
+ if c.Query("id") != "" {
+ query.Id = c.Query("id")
+ }
+ if c.Query("userName") != "" {
+ query.UserName = c.Query("userName")
+ }
+ if c.Query("nickName") != "" {
+ query.NickName = c.Query("nickName")
+ }
+ if c.Query("parentId") != "" {
+ query.ParentId = c.Query("parentId")
+ }
+ if userType, err := strconv.Atoi(c.Query("userType")); err == nil && userType > 0 {
+ query.UserType = int32(userType)
+ }
+
+ cli := user.NewUserServiceClient(init_client.AdminConn)
+ list, err := cli.GetUserList(context.Background(), query)
+ if err != nil {
+ util.ResponseFormat(c, code.InternalError, "鍐呴儴閿欒")
+ logx.Error("grpc璋冪敤澶辫触, GetPersonnelList err : " + err.Error())
+ return
+ }
+ util.ResponseFormat(c, code.Success, list.List)
+}
+
+// GetAutoCode 鑾峰彇瀛楀吀鑷姩缂栫爜
+func getAutoCode(dictType constvar.MiniDictType) (string, error) {
+
+ var prefix string
+ switch constvar.MiniDictType(dictType) {
+ case constvar.StorageType:
+ prefix = "IN0"
+ case constvar.StockoutType:
+ prefix = "OUT"
+ case constvar.TransferType:
+ prefix = "TF0"
+ case constvar.TakeStockType:
+ prefix = "TS0"
+ case constvar.DisuseType:
+ prefix = "DIS"
+ case constvar.ProductSource:
+ prefix = "PS0"
+ default:
+ return "", errors.New("缂栫爜瑙勫垯涓嶅瓨鍦�")
+ }
+ id, err := models.NewMiniDictSearch().MaxAutoIncr()
+ if err != nil {
+ return "", errors.New("鑾峰彇鏈�澶у�煎け璐�")
+ }
+
+ strMaxAutoIncr := strconv.Itoa(id + 1)
+ count := 5 - len(strMaxAutoIncr)
+ for i := 0; i < count; i++ {
+ strMaxAutoIncr = "0" + strMaxAutoIncr
+ }
+
+ return fmt.Sprintf("%v%v", prefix, strMaxAutoIncr), nil
+}
--
Gitblit v1.8.0