- Change2JDSPU4Store

This commit is contained in:
gazebo
2019-01-03 13:54:08 +08:00
parent d621048537
commit e783d21691
3 changed files with 84 additions and 0 deletions

View File

@@ -307,3 +307,59 @@ func Convert2JDSPU(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (h
}
return hint, err
}
func Change2JDSPU4Store(ctx *jxcontext.Context, storeIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
sql := `
DELETE t1
FROM store_sku_bind t1
JOIN sku t2 ON t1.sku_id = t2.id AND t2.link_id <> 0
WHERE 1 = 1
`
sqlParams := []interface{}{}
if len(storeIDs) > 0 {
sql += " AND store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
db := dao.GetDB()
if _, err = dao.ExecuteSQL(db, sql, sqlParams...); err != nil {
return "", err
}
sql = `
INSERT INTO store_sku_bind(created_at, updated_at, last_operator, deleted_at, store_id, sku_id, price, unit_price, status, ebai_id, mtwm_id, jd_sync_status, ebai_sync_status, mtwm_sync_status)
SELECT NOW(), NOW(), ?, ?, t1.store_id, t2.id, t1.price, t1.unit_price, ?,0,0,?,?,?
FROM store_sku_bind t1
JOIN sku t2 ON t2.link_id = t1.sku_id AND t2.deleted_at = ?
WHERE 1 = 1
`
sqlParams = []interface{}{
ctx.GetUserName(),
utils.DefaultTimeValue,
model.SkuStatusDontSale,
model.SyncFlagNewMask,
0, //model.SyncFlagNewMask,
0, //model.SyncFlagNewMask,
utils.DefaultTimeValue,
}
if len(storeIDs) > 0 {
sql += " AND t1.store_id IN (" + dao.GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if _, err = dao.ExecuteSQL(db, sql, sqlParams...); err != nil {
return "", err
}
var skuIDs []int
sql = `
SELECT id
FROM sku
WHERE link_id <> 0 AND deleted_at = ?
`
sqlParams = []interface{}{
utils.DefaultTimeValue,
}
if err = dao.GetRows(db, &skuIDs, sql, sqlParams...); err != nil {
return "", err
}
hint, err = cms.CurVendorSync.SyncStoresSkus(ctx, db, []int{model.VendorIDJD}, storeIDs, skuIDs, isAsync, isContinueWhenError)
return hint, err
}

View File

@@ -2,6 +2,7 @@ package controllers
import (
"git.rosy.net.cn/jx-callback/business/jxstore/initdata"
"git.rosy.net.cn/jx-callback/business/jxutils"
"github.com/astaxie/beego"
)
@@ -65,3 +66,22 @@ func (c *InitDataController) Convert2JDSPU() {
return retVal, "", err
})
}
// @Title 将京东商店为份的SPU转换
// @Description 将京东商店为份的SPU转换
// @Param token header string true "认证token"
// @Param storeIDs formData string false "门店列表"
// @Param isAsync formData bool false "是否异步操作"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /Change2JDSPU4Store [post]
func (c *InitDataController) Change2JDSPU4Store() {
c.callChange2JDSPU4Store(func(params *tInitdataChange2JDSPU4StoreParams) (retVal interface{}, errCode string, err error) {
var storeIDs []int
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs); err == nil {
retVal, err = initdata.Change2JDSPU4Store(params.Ctx, storeIDs, params.IsAsync, params.IsContinueWhenError)
}
return retVal, "", err
})
}

View File

@@ -167,6 +167,14 @@ func init() {
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:InitDataController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:InitDataController"],
beego.ControllerComments{
Method: "Change2JDSPU4Store",
Router: `/Change2JDSPU4Store`,
AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:InitDataController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:InitDataController"],
beego.ControllerComments{
Method: "Convert2JDSPU",