Merge branch 'develop' of gitee.com:fusenpack/fusenapi into develop
This commit is contained in:
commit
e46ac8ff63
|
@ -80,12 +80,11 @@ func (a *FsAddressModel) UpdateAddress(ctx context.Context, address *FsAddress)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *FsAddressModel) SettingUserDefaultAddress(ctx context.Context, userId int64, addressId int64) (err error) {
|
func (a *FsAddressModel) SettingUserDefaultAddress(ctx context.Context, userId int64, addressId int64, isDefault int64) (err error) {
|
||||||
|
|
||||||
err = a.db.WithContext(ctx).Model(&FsAddress{}).Transaction(func(tx *gorm.DB) error {
|
err = a.db.WithContext(ctx).Model(&FsAddress{}).Transaction(func(tx *gorm.DB) error {
|
||||||
|
|
||||||
logx.Info("address_id:", addressId, " set default ")
|
logx.Info("address_id:", addressId, " set default ", isDefault)
|
||||||
|
|
||||||
now := time.Now().UTC()
|
now := time.Now().UTC()
|
||||||
|
|
||||||
err = tx.Where("`address_id` = ? and `user_id` = ? and `status` = 1 ", addressId, userId).Take(nil).Error
|
err = tx.Where("`address_id` = ? and `user_id` = ? and `status` = 1 ", addressId, userId).Take(nil).Error
|
||||||
|
@ -93,17 +92,32 @@ func (a *FsAddressModel) SettingUserDefaultAddress(ctx context.Context, userId i
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = tx.Where("`address_id` = ? and `user_id` = ? and `status` = 1 ", addressId, userId).
|
if isDefault == 0 {
|
||||||
UpdateColumn("ltime", now.AddDate(250, 0, 0)).
|
|
||||||
|
err = tx.Model(&FsAddress{}).Where("`address_id` = ? and `user_id` = ? and `status` = 1 and `ltime` > ?", addressId, userId, now.AddDate(10, 0, 0)).
|
||||||
|
UpdateColumn("ltime", now).
|
||||||
UpdateColumn("utime", now).Error
|
UpdateColumn("utime", now).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = tx.Model(&FsAddress{}).Where("`address_id` != ? and `user_id` = ? and `status` = 1 and `ltime` > ?", addressId, userId, now.AddDate(10, 0, 0)).
|
} else {
|
||||||
UpdateColumn("ltime", now).Error
|
|
||||||
|
err = tx.Where("`address_id` = ? and `user_id` = ? and `status` = 1 ", addressId, userId).
|
||||||
|
UpdateColumn("ltime", now.AddDate(250, 0, 0)).
|
||||||
|
UpdateColumn("utime", now).Error
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Error(err)
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = tx.Model(&FsAddress{}).Where("`address_id` != ? and `user_id` = ? and `status` = 1 and `ltime` > ?", addressId, userId, now.AddDate(10, 0, 0)).
|
||||||
|
UpdateColumn("ltime", now).
|
||||||
|
UpdateColumn("utime", now).Error
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -14,7 +14,7 @@ import (
|
||||||
func AddressDefaultHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
func AddressDefaultHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
var req types.AddressIdRequest
|
var req types.AddressDefaultRequest
|
||||||
userinfo, err := basic.RequestParse(w, r, svcCtx, &req)
|
userinfo, err := basic.RequestParse(w, r, svcCtx, &req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
|
|
@ -73,7 +73,7 @@ func (l *AddressAddLogic) AddressAdd(req *types.AddressRequest, userinfo *auth.U
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.IsDefault > 0 {
|
if req.IsDefault > 0 {
|
||||||
m.SettingUserDefaultAddress(l.ctx, userinfo.UserId, address.AddressId)
|
m.SettingUserDefaultAddress(l.ctx, userinfo.UserId, address.AddressId, req.IsDefault)
|
||||||
}
|
}
|
||||||
|
|
||||||
addresses, err := m.GetUserAllAddress(l.ctx, userinfo.UserId)
|
addresses, err := m.GetUserAllAddress(l.ctx, userinfo.UserId)
|
||||||
|
|
|
@ -30,7 +30,7 @@ func NewAddressDefaultLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Ad
|
||||||
// func (l *AddressDefaultLogic) BeforeLogic(w http.ResponseWriter, r *http.Request) {
|
// func (l *AddressDefaultLogic) BeforeLogic(w http.ResponseWriter, r *http.Request) {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
func (l *AddressDefaultLogic) AddressDefault(req *types.AddressIdRequest, userinfo *auth.UserInfo) (resp *basic.Response) {
|
func (l *AddressDefaultLogic) AddressDefault(req *types.AddressDefaultRequest, userinfo *auth.UserInfo) (resp *basic.Response) {
|
||||||
// 返回值必须调用Set重新返回, resp可以空指针调用 resp.SetStatus(basic.CodeOK, data)
|
// 返回值必须调用Set重新返回, resp可以空指针调用 resp.SetStatus(basic.CodeOK, data)
|
||||||
// userinfo 传入值时, 一定不为null
|
// userinfo 传入值时, 一定不为null
|
||||||
|
|
||||||
|
@ -38,7 +38,12 @@ func (l *AddressDefaultLogic) AddressDefault(req *types.AddressIdRequest, userin
|
||||||
return resp.SetStatus(basic.CodeUnAuth)
|
return resp.SetStatus(basic.CodeUnAuth)
|
||||||
}
|
}
|
||||||
|
|
||||||
err := l.svcCtx.AllModels.FsAddress.SettingUserDefaultAddress(l.ctx, userinfo.UserId, req.AddressId)
|
// 确认这个IsDefault的值范围
|
||||||
|
if !auth.CheckValueRange(req.IsDefault, 0, 1) {
|
||||||
|
return resp.SetStatus(basic.CodeSafeValueRangeErr) // IsDefault值超出范围, 返回安全值范围错误
|
||||||
|
}
|
||||||
|
|
||||||
|
err := l.svcCtx.AllModels.FsAddress.SettingUserDefaultAddress(l.ctx, userinfo.UserId, req.AddressId, req.IsDefault)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return resp.SetStatusWithMessage(basic.CodeApiErr, err.Error())
|
return resp.SetStatusWithMessage(basic.CodeApiErr, err.Error())
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ func (l *AddressUpdateLogic) AddressUpdate(req *types.AddressRequest, userinfo *
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.IsDefault > 0 {
|
if req.IsDefault > 0 {
|
||||||
l.svcCtx.AllModels.FsAddress.SettingUserDefaultAddress(l.ctx, userinfo.UserId, address.AddressId)
|
l.svcCtx.AllModels.FsAddress.SettingUserDefaultAddress(l.ctx, userinfo.UserId, address.AddressId, req.IsDefault)
|
||||||
}
|
}
|
||||||
|
|
||||||
addresses, err := l.svcCtx.AllModels.FsAddress.GetUserAllAddress(l.ctx, userinfo.UserId)
|
addresses, err := l.svcCtx.AllModels.FsAddress.GetUserAllAddress(l.ctx, userinfo.UserId)
|
||||||
|
|
|
@ -18,6 +18,11 @@ type AddressIdRequest struct {
|
||||||
AddressId int64 `json:"address_id"` // 地址id
|
AddressId int64 `json:"address_id"` // 地址id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AddressDefaultRequest struct {
|
||||||
|
AddressId int64 `json:"address_id"` // 地址id
|
||||||
|
IsDefault int64 `json:"is_default"` // 是否默认
|
||||||
|
}
|
||||||
|
|
||||||
type AddressRequest struct {
|
type AddressRequest struct {
|
||||||
AddressId int64 `json:"address_id,optional"`
|
AddressId int64 `json:"address_id,optional"`
|
||||||
IsDefault int64 `json:"is_default"` //是否默认
|
IsDefault int64 `json:"is_default"` //是否默认
|
||||||
|
|
|
@ -20,7 +20,7 @@ service info {
|
||||||
post /api/info/user/profile/base/update(ProfileRequest) returns (response);
|
post /api/info/user/profile/base/update(ProfileRequest) returns (response);
|
||||||
|
|
||||||
@handler AddressDefaultHandler
|
@handler AddressDefaultHandler
|
||||||
post /api/info/address/default(AddressIdRequest) returns (response);
|
post /api/info/address/default(AddressDefaultRequest) returns (response);
|
||||||
|
|
||||||
@handler AddressAddHandler
|
@handler AddressAddHandler
|
||||||
post /api/info/address/add(AddressRequest) returns (response);
|
post /api/info/address/add(AddressRequest) returns (response);
|
||||||
|
@ -52,6 +52,11 @@ type (
|
||||||
AddressId int64 `json:"address_id"` // 地址id
|
AddressId int64 `json:"address_id"` // 地址id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AddressDefaultRequest {
|
||||||
|
AddressId int64 `json:"address_id"` // 地址id
|
||||||
|
IsDefault int64 `json:"is_default"` // 是否默认
|
||||||
|
}
|
||||||
|
|
||||||
AddressRequest {
|
AddressRequest {
|
||||||
AddressId int64 `json:"address_id,optional"`
|
AddressId int64 `json:"address_id,optional"`
|
||||||
IsDefault int64 `json:"is_default"` //是否默认
|
IsDefault int64 `json:"is_default"` //是否默认
|
||||||
|
|
|
@ -744,8 +744,7 @@ func (d *defaultOrder) CreatePrePaymentByDeposit(ctx context.Context, in *Create
|
||||||
var table = gmodel.NewAllModels(d.MysqlConn).FsOrder.TableName()
|
var table = gmodel.NewAllModels(d.MysqlConn).FsOrder.TableName()
|
||||||
var resUpdate *gorm.DB
|
var resUpdate *gorm.DB
|
||||||
if in.DeliveryMethod == constants.DELIVERYMETHODDIRECTMAIL {
|
if in.DeliveryMethod == constants.DELIVERYMETHODDIRECTMAIL {
|
||||||
var oosql = fmt.Sprintf("UPDATE %s SET `utime` = ?, `order_address` = JSON_MERGE_PATCH(`order_address`,?), `status_link` = JSON_MERGE_PATCH(`status_link`,?), `delivery_method` = ? WHERE `id` = ?", table)
|
resUpdate = d.MysqlConn.Exec(fmt.Sprintf("UPDATE %s SET `delivery_method` = ? , `utime` = ?, `order_address` = JSON_MERGE_PATCH(`order_address`,?), `status_link` = JSON_MERGE_PATCH(`status_link`,?) WHERE `id` = ?", table), in.DeliveryMethod, ntime, orderAddressByte, statusLinkByte, orderInfo.Id)
|
||||||
resUpdate = d.MysqlConn.Exec(oosql, ntime, orderAddressByte, statusLinkByte, in.DeliveryMethod, orderInfo.Id)
|
|
||||||
} else {
|
} else {
|
||||||
resUpdate = d.MysqlConn.Exec(fmt.Sprintf("UPDATE %s SET `delivery_method` = ? , `utime` = ? WHERE `id` = ?", table), in.DeliveryMethod, ntime, orderInfo.Id)
|
resUpdate = d.MysqlConn.Exec(fmt.Sprintf("UPDATE %s SET `delivery_method` = ? , `utime` = ? WHERE `id` = ?", table), in.DeliveryMethod, ntime, orderInfo.Id)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user