1、触发时间修改

2、用户增加父级邀请人
This commit is contained in:
2025-02-22 11:24:08 +08:00
parent 184e699195
commit 3f98f8556d
6 changed files with 57 additions and 21 deletions

View File

@ -1,9 +1,10 @@
package models
import (
"github.com/shopspring/decimal"
"time"
"github.com/shopspring/decimal"
"go-admin/common/models"
)
@ -11,7 +12,8 @@ type LineUser struct {
models.Model
GroupId int `json:"groupId" gorm:"type:int unsigned;comment:组别ID"`
Pid int `json:"pid" gorm:"type:int unsigned;comment:推荐人ID"`
Pid int `json:"pid" gorm:"type:int unsigned;comment:直接推荐人ID"`
TopReferrerId int `json:"topReferrerId" gorm:"type:int unsigned;comment:父级推荐人ID"`
Username string `json:"username" gorm:"type:varchar(32);comment:用户名"`
Nickname string `json:"nickname" gorm:"type:varchar(50);comment:昵称"`
Password string `json:"password" gorm:"type:varchar(32);comment:密码"`

View File

@ -16,6 +16,7 @@ import (
"go-admin/pkg/emailhelper"
"time"
"github.com/go-admin-team/go-admin-core/logger"
log "github.com/go-admin-team/go-admin-core/logger"
"go.uber.org/zap"
"gorm.io/gorm"
@ -81,17 +82,23 @@ func UserRegister(orm *gorm.DB, registerInfo sysmodel.FrontedUserRegisterReq) (i
//if code := CheckPhoneOrEmailCaptcha(orm, cc); code != statuscode.OK {
// return "", "", statuscode.CaptchaInvalid
//}
parentRegister := models.LineUser{}
if err := orm.Model(&parentRegister).Where("id =?", registerInfo.Pid).Find(&parentRegister).Error; err != nil {
logger.Error("获取推荐人失败", err)
}
user := models.LineUser{
Pid: registerInfo.Pid,
Password: registerInfo.Password,
Salt: inttostring.GenerateRandomString(6),
Email: registerInfo.Email,
InviteCode: inttostring.NewInvite().Encode(int(time.Now().Unix())),
Loginip: registerInfo.IP,
Mobile: registerInfo.Phone,
Area: registerInfo.PhoneAreaCode,
Status: "verify",
LoginTime: time.Now(),
Pid: registerInfo.Pid,
TopReferrerId: parentRegister.Pid,
Password: registerInfo.Password,
Salt: inttostring.GenerateRandomString(6),
Email: registerInfo.Email,
InviteCode: inttostring.NewInvite().Encode(int(time.Now().Unix())),
Loginip: registerInfo.IP,
Mobile: registerInfo.Phone,
Area: registerInfo.PhoneAreaCode,
Status: "verify",
LoginTime: time.Now(),
ModelTime: cModels.ModelTime{
CreatedAt: time.Now(),
UpdatedAt: time.Now(),

View File

@ -137,7 +137,11 @@ func futTriggerOrder(db *gorm.DB, v *dto.PreOrderRedisList, item string, futApi
}
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? AND status ='0'", preOrder.Id).Updates(map[string]interface{}{"status": "1", "trigger_time": time.Now()}).Error; err != nil {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", preOrder.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
log.Error("更新预下单状态失败 ordersn:", preOrder.OrderSn, " status:1")
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? AND status ='0'", preOrder.Id).Updates(map[string]interface{}{"status": "1"}).Error; err != nil {
log.Error("更新预下单状态失败 ordersn:", v.OrderSn, " status:1")
}
@ -261,8 +265,12 @@ func FuturesReduceTrigger(db *gorm.DB, reduceOrder ReduceListItem, futApi FutRes
log.Errorf("合约减仓更新状态失败 id%s err:%v", reduceOrder.Id, err2)
}
} else {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", reduceOrder.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
log.Error("更新减仓单状态失败 ordersn:", reduceOrder.OrderSn, " status:1")
}
if err := db.Model(&DbModels.LinePreOrder{}).
Where("id = ? AND status =0", reduceOrder.Id).Updates(map[string]interface{}{"status": 1, "trigger_time": time.Now()}).Error; err != nil {
Where("id = ? AND status =0", reduceOrder.Id).Updates(map[string]interface{}{"status": 1}).Error; err != nil {
log.Errorf("合约减仓更新状态失败 id%s err:%v", reduceOrder.Id, err)
}
}
@ -389,7 +397,11 @@ func FutAddPositionTrigger(db *gorm.DB, v *AddPositionList, item string, futApi
}
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? AND status ='0'", preOrder.Id).Updates(map[string]interface{}{"status": "1", "trigger_time": time.Now()}).Error; err != nil {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", preOrder.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
log.Error("更新预下单状态失败 ordersn:", v.OrderSn, " status:1")
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? AND status ='0'", preOrder.Id).Updates(map[string]interface{}{"status": "1"}).Error; err != nil {
log.Error("更新预下单状态失败 ordersn:", v.OrderSn, " status:1")
}
return

View File

@ -510,8 +510,12 @@ func processFutTakeProfitOrder(db *gorm.DB, futApi FutRestApi, order models.Line
logger.Error("合约止盈下单失败,更新状态失败:", order.OrderSn, " err:", err)
}
} else {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", order.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
logger.Error("更新合约止盈单触发事件 ordersn:", order.OrderSn)
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id = ? and status =0", order.Id).
Updates(map[string]interface{}{"status": "1", "num": num.String(), "trigger_time": time.Now()}).Error; err != nil {
Updates(map[string]interface{}{"status": "1", "num": num.String()}).Error; err != nil {
logger.Error("合约止盈下单成功,更新状态失败:", order.OrderSn, " err:", err)
}
}
@ -540,8 +544,12 @@ func processFutStopLossOrder(db *gorm.DB, order models.LinePreOrder, price, num
logger.Error("合约止损下单失败,更新状态失败:", order.OrderSn, " err:", err2)
}
} else {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", order.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
logger.Error("更新合约止损单触发事件 ordersn:", order.OrderSn)
}
if err := db.Model(&order).Where("status =0").
Updates(map[string]interface{}{"status": "1", "trigger_time": time.Now()}).Error; err != nil {
Updates(map[string]interface{}{"status": "1"}).Error; err != nil {
logger.Error("合约止损下单成功,更新状态失败:", order.OrderSn, " err:", err)
}
}

View File

@ -127,7 +127,7 @@ func SpotOrderLock(db *gorm.DB, v *dto.PreOrderRedisList, item string, spotApi S
}
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? AND status ='0'", preOrder.Id).Updates(map[string]interface{}{"status": "1", "trigger_time": time.Now()}).Error; err != nil {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", preOrder.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
log.Error("更新预下单状态失败 ordersn:", v.OrderSn, " status:1")
}
return
@ -245,7 +245,7 @@ func SpotStopLossTrigger(db *gorm.DB, stopOrder dto.StopLossRedisList, spotApi S
if err := spotApi.OrderPlaceLoop(db, params, 3); err != nil {
log.Errorf("现货止损挂单失败 id%s err:%v", stopOrder.Id, err)
} else {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id = ? AND status =0", stopOrder.Id).Updates(map[string]interface{}{"status": 1, "trigger_time": time.Now()}).Error; err != nil {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id = ? ", stopOrder.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
log.Errorf("现货止损更新状态失败 id%s err:%v", stopOrder.Id, err)
}
}
@ -362,9 +362,13 @@ func SpotReduceTrigger(db *gorm.DB, reduceOrder ReduceListItem, spotApi SpotRest
log.Errorf("修改现货减仓状态失败 id%s err:%v", reduceOrder.Id, err2)
}
} else {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =?", reduceOrder.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
log.Error("更新预下单触发事件失败 ordersn:", reduceOrder.OrderSn)
}
if err := db.Model(&DbModels.LinePreOrder{}).
Where("id =? AND status =0", reduceOrder.Id).
Updates(map[string]interface{}{"status": 1, "trigger_time": time.Now()}).Error; err != nil {
Updates(map[string]interface{}{"status": 1}).Error; err != nil {
log.Errorf("修改现货减仓状态失败 id%s err:%v", reduceOrder.Id, err)
}
}

View File

@ -686,8 +686,11 @@ func processTakeProfitOrder(db *gorm.DB, spotApi SpotRestApi, order models.LineP
logger.Error("现货止盈下单失败,更新状态失败:", order.OrderSn, " err:", err)
}
} else {
if err := db.Model(&DbModels.LinePreOrder{}).Where("id =? ", order.Id).Updates(map[string]interface{}{"trigger_time": time.Now()}).Error; err != nil {
logger.Error("更新现货止盈单触发事件 ordersn:", order.OrderSn)
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id = ? and status ='0'", order.Id).
Updates(map[string]interface{}{"status": "1", "num": order.Num, "trigger_time": time.Now()}).Error; err != nil {
Updates(map[string]interface{}{"status": "1", "num": order.Num}).Error; err != nil {
logger.Error("现货止盈下单成功,更新状态失败:", order.OrderSn, " err:", err)
}
}