- don't check weixin exist after login in.
This commit is contained in:
@@ -67,13 +67,13 @@ func GetUserInfo(code string, state string) (token *UserInfoExt, err error) {
|
|||||||
func (a *Auther) Login(openid, password string) (err error) {
|
func (a *Auther) Login(openid, password string) (err error) {
|
||||||
if value := globals.Cacher.Get(openid); value != nil {
|
if value := globals.Cacher.Get(openid); value != nil {
|
||||||
if password == value.(string) {
|
if password == value.(string) {
|
||||||
wxUser := &model.WeiXins{
|
// wxUser := &model.WeiXins{
|
||||||
OpenID: openid,
|
// OpenID: openid,
|
||||||
}
|
// }
|
||||||
if err = dao.GetEntity(nil, wxUser, "OpenID"); err == nil {
|
// if err = dao.GetEntity(nil, wxUser, "OpenID"); err == nil {
|
||||||
globals.Cacher.Del(openid)
|
globals.Cacher.Del(openid)
|
||||||
return nil
|
return nil
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
err = ErrLoginFailed
|
err = ErrLoginFailed
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package cms
|
package cms
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"math"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
@@ -274,7 +272,7 @@ func UpdateStoreSkus(storeID int, skuBindInfos []*StoreSkuBindInfo, userName str
|
|||||||
SkuID: v.RealSkuID,
|
SkuID: v.RealSkuID,
|
||||||
SubStoreID: skuBindInfo.SubStoreID, // todo 这个应该从用户信息中自动获得
|
SubStoreID: skuBindInfo.SubStoreID, // todo 这个应该从用户信息中自动获得
|
||||||
UnitPrice: unitPrice,
|
UnitPrice: unitPrice,
|
||||||
Price: calStoreSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit),
|
Price: jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit),
|
||||||
Status: model.StoreSkuBindStatusDontSale, // 缺省不可售?
|
Status: model.StoreSkuBindStatusDontSale, // 缺省不可售?
|
||||||
}
|
}
|
||||||
if inSkuBind != nil && inSkuBind.IsSale == 1 {
|
if inSkuBind != nil && inSkuBind.IsSale == 1 {
|
||||||
@@ -319,7 +317,7 @@ func UpdateStoreSkus(storeID int, skuBindInfos []*StoreSkuBindInfo, userName str
|
|||||||
}
|
}
|
||||||
if skuBindInfo.UnitPrice != 0 { // 这里是否需要加此条件限制
|
if skuBindInfo.UnitPrice != 0 { // 这里是否需要加此条件限制
|
||||||
skuBind.UnitPrice = unitPrice
|
skuBind.UnitPrice = unitPrice
|
||||||
skuBind.Price = calStoreSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit)
|
skuBind.Price = jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit)
|
||||||
setStoreSkuBindStatus(skuBind, model.SyncFlagPriceMask)
|
setStoreSkuBindStatus(skuBind, model.SyncFlagPriceMask)
|
||||||
needUpdate = true
|
needUpdate = true
|
||||||
}
|
}
|
||||||
@@ -356,14 +354,6 @@ func UpdateStoreSkus(storeID int, skuBindInfos []*StoreSkuBindInfo, userName str
|
|||||||
return int64(len(skuIDs)), err
|
return int64(len(skuIDs)), err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算SKU价格,unitPrice为一斤的单价,specQuality为质量,单位为克
|
|
||||||
func calStoreSkuPrice(unitPrice int, specQuality float32, specUnit string) int {
|
|
||||||
if strings.ToLower(specUnit) == "kg" {
|
|
||||||
specQuality *= 1000
|
|
||||||
}
|
|
||||||
return int(math.Round(float64(float32(unitPrice) * specQuality / 500)))
|
|
||||||
}
|
|
||||||
|
|
||||||
func setStoreSkuBindStatus(skuBind *model.StoreSkuBind, status int8) {
|
func setStoreSkuBindStatus(skuBind *model.StoreSkuBind, status int8) {
|
||||||
skuBind.JdSyncStatus |= status
|
skuBind.JdSyncStatus |= status
|
||||||
skuBind.ElmSyncStatus |= status
|
skuBind.ElmSyncStatus |= status
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package cms
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
|
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
@@ -47,10 +48,12 @@ func (v *VendorSync) SyncCategory(db *dao.DaoDB, categoryID int, isForce bool, u
|
|||||||
if err = dao.GetEntitiesByKV(db, &cats, cond, true); err == nil {
|
if err = dao.GetEntitiesByKV(db, &cats, cond, true); err == nil {
|
||||||
tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
cat := batchItemList[0].(*model.SkuCategory)
|
cat := batchItemList[0].(*model.SkuCategory)
|
||||||
|
updateFields := []string{model.FieldJdSyncStatus}
|
||||||
if (cat.JdSyncStatus & model.SyncFlagDeletedMask) != 0 { //删除
|
if (cat.JdSyncStatus & model.SyncFlagDeletedMask) != 0 { //删除
|
||||||
err = multiStoresHandler.DeleteCategory(db, cat, userName)
|
err = multiStoresHandler.DeleteCategory(db, cat, userName)
|
||||||
} else if (cat.JdSyncStatus&model.SyncFlagNewMask) != 0 || isForce { // 新增
|
} else if (cat.JdSyncStatus&model.SyncFlagNewMask) != 0 || isForce { // 新增
|
||||||
err = multiStoresHandler.CreateCategory(db, cat, userName)
|
err = multiStoresHandler.CreateCategory(db, cat, userName)
|
||||||
|
updateFields = append(updateFields, model.FieldJdID)
|
||||||
} else if (cat.JdSyncStatus & model.SyncFlagModifiedMask) != 0 { // 修改
|
} else if (cat.JdSyncStatus & model.SyncFlagModifiedMask) != 0 { // 修改
|
||||||
err = multiStoresHandler.UpdateCategory(db, cat, userName)
|
err = multiStoresHandler.UpdateCategory(db, cat, userName)
|
||||||
}
|
}
|
||||||
@@ -92,6 +95,7 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID, storeID int, isForce boo
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, userName string) (err error) {
|
func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, userName string) (err error) {
|
||||||
|
globals.SugarLogger.Debugf("SyncSku, nameID:%d, skuID:%d, isForce:%t, userName:%s", nameID, skuID, isForce, userName)
|
||||||
err = v.LoopMultiStoresVendors(db, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
err = v.LoopMultiStoresVendors(db, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
multiStoresHandler := batchItemList[0].(partner.IMultipleStoresHandler)
|
multiStoresHandler := batchItemList[0].(partner.IMultipleStoresHandler)
|
||||||
var skuList []*model.Sku
|
var skuList []*model.Sku
|
||||||
@@ -102,16 +106,17 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
|
|||||||
if skuID != -1 {
|
if skuID != -1 {
|
||||||
cond[model.FieldID] = skuID
|
cond[model.FieldID] = skuID
|
||||||
}
|
}
|
||||||
if err = dao.GetEntitiesByKV(db, &skuList, cond, true); err == nil {
|
if err := dao.GetEntitiesByKV(db, &skuList, cond, true); err == nil {
|
||||||
tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
globals.SugarLogger.Debug(utils.Format4Output(skuList, false))
|
||||||
|
task := tasksch.RunTask("SyncSku", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
sku := batchItemList[0].(*model.Sku)
|
sku := batchItemList[0].(*model.Sku)
|
||||||
if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) {
|
if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) {
|
||||||
updateFields := []string{model.FieldJdSyncStatus}
|
updateFields := []string{model.FieldJdSyncStatus}
|
||||||
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
|
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
|
||||||
|
err = multiStoresHandler.DeleteSku(db, sku, userName)
|
||||||
|
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 新增
|
||||||
err = multiStoresHandler.CreateSku(db, sku, userName)
|
err = multiStoresHandler.CreateSku(db, sku, userName)
|
||||||
updateFields = append(updateFields, model.FieldJdID)
|
updateFields = append(updateFields, model.FieldJdID)
|
||||||
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 新增
|
|
||||||
err = multiStoresHandler.DeleteSku(db, sku, userName)
|
|
||||||
} else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { // 修改
|
} else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { // 修改
|
||||||
err = multiStoresHandler.UpdateSku(db, sku, userName)
|
err = multiStoresHandler.UpdateSku(db, sku, userName)
|
||||||
}
|
}
|
||||||
@@ -122,6 +127,7 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
|
|||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, nil, len(skuList), 1, "", skuList)
|
}, nil, len(skuList), 1, "", skuList)
|
||||||
|
_, err = task.GetResult(0)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
})
|
})
|
||||||
@@ -151,12 +157,15 @@ func (v *VendorSync) LoopStoreMap(db *dao.DaoDB, storeID int, handler tasksch.Wo
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (v *VendorSync) LoopMultiStoresVendors(db *dao.DaoDB, handler tasksch.WorkFunc) (err error) {
|
func (v *VendorSync) LoopMultiStoresVendors(db *dao.DaoDB, handler tasksch.WorkFunc) (err error) {
|
||||||
task := tasksch.RunTask("", handler, nil, len(MultiStoresVendorHandlers), 1, "", MultiStoresVendorHandlers)
|
task := tasksch.RunTask("LoopMultiStoresVendors", handler, nil, len(MultiStoresVendorHandlers), 1, "", MultiStoresVendorHandlers)
|
||||||
_, err = task.GetResult(0)
|
_, err = task.GetResult(0)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *VendorSync) LoopSingleStoreVendors(db *dao.DaoDB, taskName, userName string, handler tasksch.WorkFunc) (err error) {
|
func (v *VendorSync) LoopSingleStoreVendors(db *dao.DaoDB, taskName, userName string, handler tasksch.WorkFunc) (err error) {
|
||||||
|
if taskName == "" {
|
||||||
|
taskName = "LoopSingleStoreVendors"
|
||||||
|
}
|
||||||
var storeMaps []*model.StoreMap
|
var storeMaps []*model.StoreMap
|
||||||
if err = dao.GetRows(db, &storeMaps, `
|
if err = dao.GetRows(db, &storeMaps, `
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|||||||
@@ -99,3 +99,11 @@ func IntMap2List(intMap map[int]int) []int {
|
|||||||
}
|
}
|
||||||
return retVal
|
return retVal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 计算SKU价格,unitPrice为一斤的单价,specQuality为质量,单位为克
|
||||||
|
func CaculateSkuPrice(unitPrice int, specQuality float32, specUnit string) int {
|
||||||
|
if strings.ToLower(specUnit) == "kg" {
|
||||||
|
specQuality *= 1000
|
||||||
|
}
|
||||||
|
return int(math.Round(float64(float32(unitPrice) * specQuality / 500)))
|
||||||
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -91,6 +92,7 @@ func RunTask(taskName string, worker WorkFunc, resultHandler ResultHandlerFunc,
|
|||||||
}
|
}
|
||||||
task.C = task.finishChan
|
task.C = task.finishChan
|
||||||
go func() {
|
go func() {
|
||||||
|
globals.SugarLogger.Debugf("RunTask %s", taskName)
|
||||||
for i := 0; i < parallelCount; i++ {
|
for i := 0; i < parallelCount; i++ {
|
||||||
go func() {
|
go func() {
|
||||||
var chanRetVal interface{}
|
var chanRetVal interface{}
|
||||||
@@ -104,19 +106,25 @@ func RunTask(taskName string, worker WorkFunc, resultHandler ResultHandlerFunc,
|
|||||||
chanRetVal = retVal
|
chanRetVal = retVal
|
||||||
goto end
|
goto end
|
||||||
} else {
|
} else {
|
||||||
if result, err := worker(job, params...); err == nil {
|
result, err := worker(job, params...)
|
||||||
|
globals.SugarLogger.Debugf("RunTask %s, after call worker result:%v, err:%v", taskName, result, err)
|
||||||
|
if err == nil {
|
||||||
task.finishedOneJob(len(job))
|
task.finishedOneJob(len(job))
|
||||||
if result != nil {
|
if result != nil {
|
||||||
retVal = append(retVal, utils.Interface2Slice(result)...)
|
retVal = append(retVal, utils.Interface2Slice(result)...)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
chanRetVal = err
|
chanRetVal = err
|
||||||
|
go func() {
|
||||||
task.Cancel()
|
task.Cancel()
|
||||||
|
}()
|
||||||
|
goto end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end:
|
end:
|
||||||
|
// globals.SugarLogger.Debugf("RunTask %s, put to chann chanRetVal:%v", taskName, chanRetVal)
|
||||||
task.subFinishChan <- chanRetVal
|
task.subFinishChan <- chanRetVal
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
@@ -157,6 +165,7 @@ func RunTask(taskName string, worker WorkFunc, resultHandler ResultHandlerFunc,
|
|||||||
task.TerminatedAt = time.Now()
|
task.TerminatedAt = time.Now()
|
||||||
|
|
||||||
task.locker.Unlock()
|
task.locker.Unlock()
|
||||||
|
globals.SugarLogger.Debugf("RunTask %s, result:%v, err:%v", taskName, taskResult, taskErr)
|
||||||
|
|
||||||
close(task.finishChan)
|
close(task.finishChan)
|
||||||
close(task.subFinishChan)
|
close(task.subFinishChan)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const (
|
|||||||
DefJdCategoryID = 20362
|
DefJdCategoryID = 20362
|
||||||
)
|
)
|
||||||
|
|
||||||
type skuInfoExt struct {
|
type tSkuInfoExt struct {
|
||||||
model.SkuName
|
model.SkuName
|
||||||
Img string
|
Img string
|
||||||
JdID int64 `orm:"column(jd_id)"` // 商家类别
|
JdID int64 `orm:"column(jd_id)"` // 商家类别
|
||||||
@@ -102,9 +102,9 @@ func (p *PurchaseHandler) ReorderCategories(db *dao.DaoDB, parentCatID int, user
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (string, error)) (err error) {
|
func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuExt *tSkuInfoExt, price int, skuName string, shopCategories []int64, addParams map[string]interface{}) (string, error)) (err error) {
|
||||||
var otherInfo skuInfoExt
|
var skuInfoExt tSkuInfoExt
|
||||||
err = dao.GetRow(nil, &otherInfo, `
|
err = dao.GetRow(nil, &skuInfoExt, `
|
||||||
SELECT t2.*, t3.jd_id, t3.jd_category_id, t4.jd_id sku_cat_id
|
SELECT t2.*, t3.jd_id, t3.jd_category_id, t4.jd_id sku_cat_id
|
||||||
FROM sku t1
|
FROM sku t1
|
||||||
JOIN sku_name t2 ON t1.name_id = t2.id
|
JOIN sku_name t2 ON t1.name_id = t2.id
|
||||||
@@ -113,20 +113,20 @@ func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuE
|
|||||||
WHERE t1.id = ?
|
WHERE t1.id = ?
|
||||||
`, sku.ID)
|
`, sku.ID)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
shopCategories := []int64{otherInfo.JdID}
|
shopCategories := []int64{skuInfoExt.JdID}
|
||||||
if otherInfo.SkuCatID != 0 {
|
if skuInfoExt.SkuCatID != 0 {
|
||||||
shopCategories = append(shopCategories, otherInfo.SkuCatID)
|
shopCategories = append(shopCategories, skuInfoExt.SkuCatID)
|
||||||
}
|
}
|
||||||
if otherInfo.JdCategoryID == 0 {
|
if skuInfoExt.JdCategoryID == 0 {
|
||||||
otherInfo.JdCategoryID = DefJdCategoryID
|
skuInfoExt.JdCategoryID = DefJdCategoryID
|
||||||
}
|
}
|
||||||
if otherInfo.BrandID == 0 {
|
if skuInfoExt.BrandID == 0 {
|
||||||
otherInfo.BrandID = DefBrandID
|
skuInfoExt.BrandID = DefBrandID
|
||||||
}
|
}
|
||||||
addParams := map[string]interface{}{}
|
addParams := map[string]interface{}{}
|
||||||
|
|
||||||
if otherInfo.IsGlobal == 0 { //如果不是全国可售,要查可售区域
|
if skuInfoExt.IsGlobal == 0 { //如果不是全国可售,要查可售区域
|
||||||
sellPlaces, err2 := dao.GetSellCities(db, otherInfo.ID, model.VendorIDJD)
|
sellPlaces, err2 := dao.GetSellCities(db, skuInfoExt.ID, model.VendorIDJD)
|
||||||
if err = err2; err == nil && len(sellPlaces) > 0 {
|
if err = err2; err == nil && len(sellPlaces) > 0 {
|
||||||
sellCites := make([]int, len(sellPlaces))
|
sellCites := make([]int, len(sellPlaces))
|
||||||
for k, v := range sellPlaces {
|
for k, v := range sellPlaces {
|
||||||
@@ -136,9 +136,10 @@ func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuE
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
skuName := jxutils.ComposeSkuName(otherInfo.Prefix, otherInfo.Name, otherInfo.Comment, otherInfo.Unit, sku.SpecQuality, sku.SpecUnit, 0)
|
skuName := jxutils.ComposeSkuName(skuInfoExt.Prefix, skuInfoExt.Name, skuInfoExt.Comment, skuInfoExt.Unit, sku.SpecQuality, sku.SpecUnit, 0)
|
||||||
globals.SugarLogger.Debug(skuName)
|
globals.SugarLogger.Debug(utils.Format4Output(skuInfoExt, false), utils.Format4Output(sku, false))
|
||||||
result, err2 := handler(&otherInfo, skuName, shopCategories, addParams)
|
skuPrice := jxutils.CaculateSkuPrice(skuInfoExt.Price, sku.SpecQuality, sku.SpecUnit)
|
||||||
|
result, err2 := handler(&skuInfoExt, skuPrice, skuName, shopCategories, addParams)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
if jdID := utils.Str2Int64WithDefault(result, 0); jdID != 0 {
|
if jdID := utils.Str2Int64WithDefault(result, 0); jdID != 0 {
|
||||||
sku.JdID = jdID
|
sku.JdID = jdID
|
||||||
@@ -150,9 +151,9 @@ func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuE
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) CreateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
|
func (p *PurchaseHandler) CreateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
|
||||||
return p.cuSku(db, sku, func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
|
return p.cuSku(db, sku, func(skuExt *tSkuInfoExt, price int, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
|
||||||
if globals.EnableStoreWrite {
|
if globals.EnableStoreWrite {
|
||||||
vendorSkuID, err = api.JdAPI.AddSku(utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, skuExt.Price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, 1, true, addParams)
|
vendorSkuID, err = api.JdAPI.AddSku(utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, 1, true, addParams)
|
||||||
}
|
}
|
||||||
return vendorSkuID, err
|
return vendorSkuID, err
|
||||||
})
|
})
|
||||||
@@ -225,7 +226,7 @@ func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuNameExt *model.SkuName
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) UpdateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
|
func (p *PurchaseHandler) UpdateSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
|
||||||
return p.cuSku(db, sku, func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
|
return p.cuSku(db, sku, func(skuExt *tSkuInfoExt, price int, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
|
||||||
params := utils.MergeMaps(addParams)
|
params := utils.MergeMaps(addParams)
|
||||||
params["categoryId"] = skuExt.JdCategoryID
|
params["categoryId"] = skuExt.JdCategoryID
|
||||||
params["shopCategories"] = shopCategories
|
params["shopCategories"] = shopCategories
|
||||||
|
|||||||
@@ -23,12 +23,13 @@ func TestCreateSku(t *testing.T) {
|
|||||||
|
|
||||||
func TestUpdateSku(t *testing.T) {
|
func TestUpdateSku(t *testing.T) {
|
||||||
// t.Log(beego.BConfig.RunMode)
|
// t.Log(beego.BConfig.RunMode)
|
||||||
|
db := dao.GetDB()
|
||||||
skuID := 21741
|
skuID := 21741
|
||||||
sku := &model.Sku{}
|
sku := &model.Sku{}
|
||||||
sku.ID = skuID
|
sku.ID = skuID
|
||||||
dao.GetEntity(nil, sku)
|
dao.GetEntity(db, sku)
|
||||||
|
|
||||||
err := new(PurchaseHandler).UpdateSku(sku, "autotest")
|
err := new(PurchaseHandler).UpdateSku(db, sku, "autotest")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -27,13 +28,13 @@ func TestUpdateStore(t *testing.T) {
|
|||||||
// result := &model.Store{}
|
// result := &model.Store{}
|
||||||
// result.ID = 100164
|
// result.ID = 100164
|
||||||
// err := dao.GetEntity(nil, result)
|
// err := dao.GetEntity(nil, result)
|
||||||
|
db := dao.GetDB()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
result.Name += "h"
|
result.Name += "h"
|
||||||
newName := result.Name
|
newName := result.Name
|
||||||
err = handler.UpdateStore(TestStoreNo, "autotest")
|
err = handler.UpdateStore(db, TestStoreNo, "autotest")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
@@ -46,7 +47,7 @@ func TestUpdateStore(t *testing.T) {
|
|||||||
|
|
||||||
// restore
|
// restore
|
||||||
result.Name = strings.Trim(result.Name, "h")
|
result.Name = strings.Trim(result.Name, "h")
|
||||||
err = handler.UpdateStore(TestStoreNo, "autotest")
|
err = handler.UpdateStore(db, TestStoreNo, "autotest")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user