From 6aa75c2a266a2522ae713b13dc702b5ad0a08f87 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 24 十月 2023 13:50:23 +0800
Subject: [PATCH] 编码规则需求功能开发

---
 api/v1/code.go |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/api/v1/code.go b/api/v1/code.go
index bb8ae8b..2514e44 100644
--- a/api/v1/code.go
+++ b/api/v1/code.go
@@ -2,6 +2,8 @@
 
 import (
 	"aps_crm/conf"
+	"aps_crm/constvar"
+	"aps_crm/model"
 	"aps_crm/model/request"
 	"aps_crm/model/response"
 	"aps_crm/pkg/contextx"
@@ -71,3 +73,64 @@
 		Count: list.Total,
 	})
 }
+
+// GetAutoCode
+//
+// @Tags		缂栫爜
+// @Summary	鑾峰彇鑷姩缂栫爜
+// @Produce	application/json
+// @Param		object	body		code.CodeStandard	true	"鍙傛暟"
+// @Success	200	{object}	response.ListResponse
+//
+//	@Router		/api/code/getAutoCode [post]
+func (ca *CodeApi) GetAutoCode(c *gin.Context) {
+	var params code.CodeStandard
+	ctx, ok := contextx.NewContext(c, &params)
+	if !ok {
+		return
+	}
+	var (
+		id  = 0
+		err error
+	)
+	switch constvar.CodeStandardType(params.Type) {
+	case constvar.CodeStandardTypeSaleKey:
+		id, err = model.NewSaleChanceSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeSaleLead:
+		id, err = model.NewSalesLeadsSearch(nil).MaxAutoIncr()
+	case constvar.CodeStandardTypeCustom:
+		id, err = model.NewClientSearch(nil).MaxAutoIncr()
+	case constvar.CodeStandardTypeFollowRecord:
+		id, err = model.NewFollowRecordSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeQuotation:
+		id, err = model.NewQuotationSearch(nil).MaxAutoIncr()
+	case constvar.CodeStandardTypeSaleTotalOrder:
+		id, err = model.NewMasterOrderSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeSaleSuborder:
+		id, err = model.NewSubOrderSearch(nil).MaxAutoIncr()
+	case constvar.CodeStandardTypeSaleDetail:
+		id, err = model.NewSalesDetailsSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeSaleReturnGoods:
+		id, err = model.NewSalesReturnSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeSaleRefund:
+		id, err = model.NewSalesRefundSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeContract:
+		id, err = model.NewContractSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeServerContract:
+		id, err = model.NewServiceContractSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeCustomServer:
+		id, err = model.NewServiceOrderSearch().MaxAutoIncr()
+	case constvar.CodeStandardTypeServerFollow:
+		id, err = model.NewServiceFollowupSearch().MaxAutoIncr()
+	default:
+		ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜瑙勫垯涓嶅瓨鍦�")
+		return
+	}
+	if err != nil {
+		logx.Errorf("GetAutoCode err: %v", err.Error())
+		ctx.FailWithMsg(ecode.UnknownErr, "鑾峰彇鏈�澶у�煎け璐�")
+		return
+	}
+	autoCode := model.GetAutoCode(id, &params)
+	ctx.OkWithDetailed(autoCode)
+}

--
Gitblit v1.8.0