add
This commit is contained in:
@@ -113,7 +113,6 @@ updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|||||||
1、看一下./sql/07_variety.sql的内容,并记住这些内容。
|
1、看一下./sql/07_variety.sql的内容,并记住这些内容。
|
||||||
2、打开./src/logic4variety/create.go,并维持风格不变的前提下,将业务调整为1中的信息。
|
2、打开./src/logic4variety/create.go,并维持风格不变的前提下,将业务调整为1中的信息。
|
||||||
---
|
---
|
||||||
---
|
|
||||||
1、看一下./sql/07_variety.sql的内容,并记住这些内容。
|
1、看一下./sql/07_variety.sql的内容,并记住这些内容。
|
||||||
2、打开./src/logic4variety/delete.go,并维持风格不变的前提下,将业务调整为1中的信息。
|
2、打开./src/logic4variety/delete.go,并维持风格不变的前提下,将业务调整为1中的信息。
|
||||||
---
|
---
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
package logic4exchange
|
package logic4variety
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"asset_assistant/db"
|
"asset_assistant/db"
|
||||||
@@ -13,7 +13,7 @@ import (
|
|||||||
|
|
||||||
// DeleteRequest 删除请求参数结构
|
// DeleteRequest 删除请求参数结构
|
||||||
type DeleteRequest struct {
|
type DeleteRequest struct {
|
||||||
ExchangeID string `json:"exchange_id" binding:"required"` // 交易所ID,必填
|
VarietyID string `json:"variety_id" binding:"required"` // 品种ID,必填
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteResponse 删除响应结构
|
// DeleteResponse 删除响应结构
|
||||||
@@ -31,7 +31,7 @@ func DeleteHandler(c *gin.Context) {
|
|||||||
zap.L().Debug("✨ 生成新的请求ID", zap.String("req_id", reqID))
|
zap.L().Debug("✨ 生成新的请求ID", zap.String("req_id", reqID))
|
||||||
}
|
}
|
||||||
|
|
||||||
zap.L().Info("📥 收到交易所删除请求",
|
zap.L().Info("📥 收到品种删除请求",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("path", c.Request.URL.Path),
|
zap.String("path", c.Request.URL.Path),
|
||||||
zap.String("method", c.Request.Method),
|
zap.String("method", c.Request.Method),
|
||||||
@@ -46,14 +46,14 @@ func DeleteHandler(c *gin.Context) {
|
|||||||
)
|
)
|
||||||
c.JSON(http.StatusBadRequest, DeleteResponse{
|
c.JSON(http.StatusBadRequest, DeleteResponse{
|
||||||
Success: false,
|
Success: false,
|
||||||
Message: "请求参数错误:exchange_id为必填项",
|
Message: "请求参数错误:variety_id为必填项",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
zap.L().Debug("✅ 请求参数验证通过",
|
zap.L().Debug("✅ 请求参数验证通过",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
zap.String("variety_id", req.VarietyID),
|
||||||
)
|
)
|
||||||
|
|
||||||
// 开启数据库事务
|
// 开启数据库事务
|
||||||
@@ -90,29 +90,45 @@ func DeleteHandler(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// 1. 更新exchange表
|
// 1. 更新variety表
|
||||||
_, err = tx.Exec("UPDATE exchange SET deleted = TRUE WHERE id = $1", req.ExchangeID)
|
_, err = tx.Exec("UPDATE variety SET deleted = TRUE WHERE id = $1", req.VarietyID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
zap.L().Error("❌ exchange表更新失败",
|
zap.L().Error("❌ variety表更新失败",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
zap.String("variety_id", req.VarietyID),
|
||||||
zap.Error(err),
|
zap.Error(err),
|
||||||
)
|
)
|
||||||
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
Success: false,
|
Success: false,
|
||||||
Message: "删除交易所记录失败",
|
Message: "删除品种记录失败",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 更新exchange_name表
|
// 2. 更新variety_exchange表
|
||||||
_, err = tx.Exec("UPDATE exchange_name SET deleted = TRUE WHERE exchange_id = $1", req.ExchangeID)
|
_, err = tx.Exec("UPDATE variety_exchange SET deleted = TRUE WHERE variety_id = $1", req.VarietyID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
zap.L().Error("❌ exchange_name表更新失败",
|
zap.L().Error("❌ variety_exchange表更新失败",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
zap.String("variety_id", req.VarietyID),
|
||||||
|
zap.Error(err),
|
||||||
|
)
|
||||||
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
|
Success: false,
|
||||||
|
Message: "删除交易所关联信息失败",
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 更新variety_name表
|
||||||
|
_, err = tx.Exec("UPDATE variety_name SET deleted = TRUE WHERE variety_id = $1", req.VarietyID)
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
zap.L().Error("❌ variety_name表更新失败",
|
||||||
|
zap.String("req_id", reqID),
|
||||||
|
zap.String("variety_id", req.VarietyID),
|
||||||
zap.Error(err),
|
zap.Error(err),
|
||||||
)
|
)
|
||||||
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
@@ -122,29 +138,13 @@ func DeleteHandler(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 新增:更新exchange_short_name表(软删除短名称记录)
|
// 4. 更新variety_code表
|
||||||
_, err = tx.Exec("UPDATE exchange_short_name SET deleted = TRUE WHERE exchange_id = $1", req.ExchangeID)
|
_, err = tx.Exec("UPDATE variety_code SET deleted = TRUE WHERE variety_id = $1", req.VarietyID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
zap.L().Error("❌ exchange_short_name表更新失败",
|
zap.L().Error("❌ variety_code表更新失败",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
zap.String("variety_id", req.VarietyID),
|
||||||
zap.Error(err),
|
|
||||||
)
|
|
||||||
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
|
||||||
Success: false,
|
|
||||||
Message: "删除短名称信息失败",
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. 更新exchange_code表
|
|
||||||
_, err = tx.Exec("UPDATE exchange_code SET deleted = TRUE WHERE exchange_id = $1", req.ExchangeID)
|
|
||||||
if err != nil {
|
|
||||||
tx.Rollback()
|
|
||||||
zap.L().Error("❌ exchange_code表更新失败",
|
|
||||||
zap.String("req_id", reqID),
|
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
|
||||||
zap.Error(err),
|
zap.Error(err),
|
||||||
)
|
)
|
||||||
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
@@ -154,12 +154,44 @@ func DeleteHandler(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 5. 更新variety_tick表
|
||||||
|
_, err = tx.Exec("UPDATE variety_tick SET deleted = TRUE WHERE variety_id = $1", req.VarietyID)
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
zap.L().Error("❌ variety_tick表更新失败",
|
||||||
|
zap.String("req_id", reqID),
|
||||||
|
zap.String("variety_id", req.VarietyID),
|
||||||
|
zap.Error(err),
|
||||||
|
)
|
||||||
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
|
Success: false,
|
||||||
|
Message: "删除最小变动价位信息失败",
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 6. 更新variety_tick_price表
|
||||||
|
_, err = tx.Exec("UPDATE variety_tick_price SET deleted = TRUE WHERE variety_id = $1", req.VarietyID)
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
zap.L().Error("❌ variety_tick_price表更新失败",
|
||||||
|
zap.String("req_id", reqID),
|
||||||
|
zap.String("variety_id", req.VarietyID),
|
||||||
|
zap.Error(err),
|
||||||
|
)
|
||||||
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
|
Success: false,
|
||||||
|
Message: "删除最小变动价位金额信息失败",
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 提交事务
|
// 提交事务
|
||||||
if err := tx.Commit(); err != nil {
|
if err := tx.Commit(); err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
zap.L().Error("❌ 事务提交失败",
|
zap.L().Error("❌ 事务提交失败",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
zap.String("variety_id", req.VarietyID),
|
||||||
zap.Error(err),
|
zap.Error(err),
|
||||||
)
|
)
|
||||||
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
c.JSON(http.StatusInternalServerError, DeleteResponse{
|
||||||
@@ -171,9 +203,9 @@ func DeleteHandler(c *gin.Context) {
|
|||||||
|
|
||||||
// 记录请求处理耗时
|
// 记录请求处理耗时
|
||||||
duration := time.Since(startTime)
|
duration := time.Since(startTime)
|
||||||
zap.L().Info("✅ 交易所删除请求处理完成",
|
zap.L().Info("✅ 品种删除请求处理完成",
|
||||||
zap.String("req_id", reqID),
|
zap.String("req_id", reqID),
|
||||||
zap.String("exchange_id", req.ExchangeID),
|
zap.String("variety_id", req.VarietyID),
|
||||||
zap.Duration("duration", duration),
|
zap.Duration("duration", duration),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user