Merge remote-tracking branch 'origin/mark' into don
This commit is contained in:
@@ -2,10 +2,10 @@ package act
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/baseapi/utils/errlist"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
@@ -279,9 +279,11 @@ func checkDiscountValidation(actType int, pricePercentage int) (err error) {
|
||||
}
|
||||
|
||||
func checkActValidation(act *model.Act, vendorIDs []int) (err error) {
|
||||
var errList []error
|
||||
errList := errlist.New()
|
||||
if utils.IsTimeZero(act.BeginAt) || utils.IsTimeZero(act.EndAt) {
|
||||
errList = append(errList, fmt.Errorf("活动开始与结束时间必须指定"))
|
||||
errList.AddErr(fmt.Errorf("活动开始与结束时间必须指定"))
|
||||
} else if act.EndAt.Sub(act.BeginAt) < 0 {
|
||||
errList.AddErr(fmt.Errorf("活动开始时间必须小于活动结束时间"))
|
||||
}
|
||||
vendorIDMap := make(map[int]int)
|
||||
for _, vendorID := range vendorIDs {
|
||||
@@ -290,25 +292,19 @@ func checkActValidation(act *model.Act, vendorIDs []int) (err error) {
|
||||
|
||||
if act.Type == model.ActSkuDirectDown || act.Type == model.ActSkuSecKill {
|
||||
if act.PricePercentage == 0 {
|
||||
errList = append(errList, fmt.Errorf("活动必须指定价格折扣"))
|
||||
errList.AddErr(fmt.Errorf("必须指定缺省活动折扣"))
|
||||
} else if err = checkDiscountValidation(act.Type, act.PricePercentage); err != nil {
|
||||
errList = append(errList, err)
|
||||
errList.AddErr(err)
|
||||
} else if act.Type == model.ActSkuSecKill && vendorIDMap[model.VendorIDMTWM] == 1 {
|
||||
errList = append(errList, err)
|
||||
errList.AddErr(fmt.Errorf("%s平台不支持%s活动", model.VendorChineseNames[model.VendorIDMTWM], model.ActTypeName[model.ActSkuSecKill]))
|
||||
}
|
||||
} else if act.Type == model.ActSkuFake {
|
||||
|
||||
} else {
|
||||
errList = append(errList, fmt.Errorf("当前只支持直降与秒杀活动"))
|
||||
errList.AddErr(fmt.Errorf("当前只支持%s与%s活动", model.ActTypeName[model.ActSkuDirectDown], model.ActTypeName[model.ActSkuSecKill]))
|
||||
}
|
||||
if errList == nil {
|
||||
return nil
|
||||
}
|
||||
strList := make([]string, len(errList))
|
||||
for k, v := range errList {
|
||||
strList[k] = v.Error()
|
||||
}
|
||||
return fmt.Errorf("%s", strings.Join(strList, ",\n"))
|
||||
err = errList.GetErrListAsOne()
|
||||
return err
|
||||
}
|
||||
|
||||
func setActDefault(act *model.Act) {
|
||||
|
||||
@@ -1015,7 +1015,9 @@ func AddStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID
|
||||
}
|
||||
|
||||
func addStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID int, storeCourierMap *model.StoreCourierMap, isNeedUpdateRemote bool) (outStoreCourierMap *model.StoreCourierMap, err error) {
|
||||
globals.SugarLogger.Debugf("addStoreCourierMap %s, storeID:%d, isNeedUpdateRemote:%t", model.VendorChineseNames[vendorID], storeCourierMap, isNeedUpdateRemote)
|
||||
storeCourierMap.StoreID = storeID
|
||||
storeCourierMap.VendorID = vendorID
|
||||
globals.SugarLogger.Debugf("addStoreCourierMap %s, storeCourierMap:%s, isNeedUpdateRemote:%t", model.VendorChineseNames[vendorID], utils.Format4Output(storeCourierMap, true), isNeedUpdateRemote)
|
||||
|
||||
if handler := partner.GetDeliveryPlatformFromVendorID(vendorID); handler != nil {
|
||||
if db == nil {
|
||||
@@ -1029,14 +1031,13 @@ func addStoreCourierMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID
|
||||
if storeDetail.VendorStoreID != "" {
|
||||
return nil, fmt.Errorf("门店已经绑定了%s, ID:%s, 如需重新绑定, 请先解绑", model.VendorChineseNames[vendorID], storeDetail.VendorStoreID)
|
||||
}
|
||||
storeDetail.VendorID = vendorID
|
||||
storeDetail.VendorStoreID = storeCourierMap.VendorStoreID
|
||||
if err = updateCourierStore(ctx, storeDetail); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(storeCourierMap, ctx.GetUserName())
|
||||
storeCourierMap.StoreID = storeID
|
||||
storeCourierMap.VendorID = vendorID
|
||||
if err = dao.CreateEntity(db, storeCourierMap); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/auth2"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth/mobile"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth/weixin"
|
||||
@@ -65,6 +66,33 @@ func GetSelfInfo(ctx *jxcontext.Context) (storeUserInfo *dao.StoreUserInfo, err
|
||||
return storeUserInfo, err
|
||||
}
|
||||
|
||||
func getMobileFromCtx(ctx *jxcontext.Context) (mobile string) {
|
||||
token := ctx.GetToken()
|
||||
if auth2.IsV2Token(token) {
|
||||
authInfo, err2 := auth2.GetTokenInfo(token)
|
||||
if err2 == nil {
|
||||
if authInfo.TokenType == auth2.TokenTypeNormal {
|
||||
mobile = authInfo.GetMobile()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
userInfo, err2 := auth.GetUserInfo(token)
|
||||
if err2 == nil {
|
||||
mobile = userInfo.GetAuthID()
|
||||
}
|
||||
}
|
||||
return mobile
|
||||
}
|
||||
|
||||
func GetMyStoreList(ctx *jxcontext.Context) (storeList []*model.Store, err error) {
|
||||
mobileNum := getMobileFromCtx(ctx)
|
||||
if mobileNum == "" {
|
||||
return nil, fmt.Errorf("不能得到用户手机号")
|
||||
}
|
||||
storeList, err = dao.GetStoreListByMobile(dao.GetDB(), mobileNum)
|
||||
return storeList, err
|
||||
}
|
||||
|
||||
func UnbindMobile(ctx *jxcontext.Context, mobile string) (num int64, err error) {
|
||||
db := dao.GetDB()
|
||||
num, err = dao.UpdateEntityByKV(db, &legacymodel.WeiXins{}, map[string]interface{}{
|
||||
|
||||
Reference in New Issue
Block a user