Merge remote-tracking branch 'origin/mark' into yonghui
This commit is contained in:
@@ -1043,6 +1043,7 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
|
|||||||
userName := ctx.GetUserName()
|
userName := ctx.GetUserName()
|
||||||
storeMap.StoreID = storeID
|
storeMap.StoreID = storeID
|
||||||
storeMap.VendorID = vendorID
|
storeMap.VendorID = vendorID
|
||||||
|
storeMap.VendorOrgCode = vendorOrgCode
|
||||||
storeMap.Status = model.StoreStatusOpened
|
storeMap.Status = model.StoreStatusOpened
|
||||||
storeMap.DeliveryType = model.StoreDeliveryTypeByStore
|
storeMap.DeliveryType = model.StoreDeliveryTypeByStore
|
||||||
storeMap.SyncStatus = 0
|
storeMap.SyncStatus = 0
|
||||||
|
|||||||
@@ -355,14 +355,18 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
|
|||||||
} else if model.IsSyncStatusNew(sku.SkuSyncStatus) {
|
} else if model.IsSyncStatusNew(sku.SkuSyncStatus) {
|
||||||
calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))
|
calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))
|
||||||
if singleStoreHandler == nil {
|
if singleStoreHandler == nil {
|
||||||
sku.SkuSyncStatus |= model.SyncFlagSaleMask | model.SyncFlagPriceMask
|
if dao.IsVendorThingIDEmpty(sku.VendorSkuID) {
|
||||||
bareSku = storeSkuSyncInfo2Bare(sku)
|
// todo 多平台商品库没有正常创建,直接跳过
|
||||||
stockList = append(stockList, bareSku)
|
|
||||||
priceList = append(priceList, bareSku)
|
|
||||||
if sku.MergedStatus == model.SkuStatusNormal {
|
|
||||||
onlineList = append(onlineList, bareSku)
|
|
||||||
} else {
|
} else {
|
||||||
offlineList = append(offlineList, bareSku)
|
sku.SkuSyncStatus |= model.SyncFlagSaleMask | model.SyncFlagPriceMask
|
||||||
|
bareSku = storeSkuSyncInfo2Bare(sku)
|
||||||
|
stockList = append(stockList, bareSku)
|
||||||
|
priceList = append(priceList, bareSku)
|
||||||
|
if sku.MergedStatus == model.SkuStatusNormal {
|
||||||
|
onlineList = append(onlineList, bareSku)
|
||||||
|
} else {
|
||||||
|
offlineList = append(offlineList, bareSku)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if sku.MergedStatus == model.SkuStatusNormal {
|
if sku.MergedStatus == model.SkuStatusNormal {
|
||||||
|
|||||||
@@ -409,8 +409,29 @@ func SplitSkuName(skuName string) (prefix, name, comment, specUnit, unit string,
|
|||||||
return prefix, name, comment, specUnit, unit, specQuality
|
return prefix, name, comment, specUnit, unit, specQuality
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://my.oschina.net/hyller/blog/700414
|
||||||
|
func CalUpcCheckSum(upc12 int64) (checkSum int) {
|
||||||
|
var sum [2]int
|
||||||
|
for i := 0; i < 12; i++ {
|
||||||
|
base := int64(math.Pow10(i))
|
||||||
|
sum[i%2] += int((upc12 / base) % 10)
|
||||||
|
}
|
||||||
|
sum[0] *= 3
|
||||||
|
return (10 - (sum[0]+sum[1])%10) % 10
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsUpcValid(upc string) bool {
|
||||||
|
if len(upc) != 13 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
upcInt := utils.Str2Int64WithDefault(upc, 0)
|
||||||
|
checkSum := CalUpcCheckSum(upcInt / 10)
|
||||||
|
return int(utils.Str2Int64(upc[12:])) == checkSum
|
||||||
|
}
|
||||||
|
|
||||||
func GenFakeUPC(skuID int) string {
|
func GenFakeUPC(skuID int) string {
|
||||||
return fmt.Sprintf("%013d", int64(skuID)+6666000000000)
|
id := int64(skuID) + 666600000000
|
||||||
|
return fmt.Sprintf("%012d%d", id, CalUpcCheckSum(id))
|
||||||
}
|
}
|
||||||
|
|
||||||
func MakeValidationMapFromSlice(validValues []string, flag int) map[string]int {
|
func MakeValidationMapFromSlice(validValues []string, flag int) map[string]int {
|
||||||
|
|||||||
@@ -288,11 +288,11 @@ func TestGetOneEmailFromStr(t *testing.T) {
|
|||||||
func TestGenFakeUPC(t *testing.T) {
|
func TestGenFakeUPC(t *testing.T) {
|
||||||
for _, v := range [][]string{
|
for _, v := range [][]string{
|
||||||
[]string{
|
[]string{
|
||||||
"6666000000123",
|
"6666000298034",
|
||||||
"123",
|
"29803",
|
||||||
},
|
},
|
||||||
[]string{
|
[]string{
|
||||||
"6666007654321",
|
"6666076543212",
|
||||||
"7654321",
|
"7654321",
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
@@ -300,4 +300,10 @@ func TestGenFakeUPC(t *testing.T) {
|
|||||||
t.Errorf("%s failed, result:%s, expect:%s", v[1], str, v[0])
|
t.Errorf("%s failed, result:%s, expect:%s", v[1], str, v[0])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if !IsUpcValid("6666076543212") {
|
||||||
|
t.Fatal("wrong1")
|
||||||
|
}
|
||||||
|
if IsUpcValid("6666076543210") {
|
||||||
|
t.Fatal("wrong2")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,6 +179,9 @@ func SetSkuSyncStatus(db *DaoDB, vendorID int, skuIDs []int, syncStatus int) (nu
|
|||||||
return ExecuteSQL(db, sql, sqlParams...)
|
return ExecuteSQL(db, sql, sqlParams...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo, GetSkuCategoryWithVendor与GetSkusWithVendor,
|
||||||
|
// 如果mustDirty为true,应该是要thing_map为基表,LEFT JOIN原始实体表,否则当原始实体记录在未同步前被物理删除后,无法真正同步
|
||||||
|
|
||||||
// 多门店平台使用,当前只有京东
|
// 多门店平台使用,当前只有京东
|
||||||
func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, parentCatID int, catIDs []int, mustDirty bool) (catList []*SkuStoreCatInfo, err error) {
|
func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, parentCatID int, catIDs []int, mustDirty bool) (catList []*SkuStoreCatInfo, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ func newGetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty
|
|||||||
} else {
|
} else {
|
||||||
sql += `
|
sql += `
|
||||||
LEFT JOIN sku_category t5sku ON t5sku.id = t2.category_id
|
LEFT JOIN sku_category t5sku ON t5sku.id = t2.category_id
|
||||||
LEFT JOIN thing_map t2m ON t2m.thing_id = t1.sku_id AND t2m.vendor_org_code = t14.vendor_org_code AND t2m.thing_type = ? AND t2m.vendor_id = ? AND t2m.deleted_at = ?
|
JOIN thing_map t2m ON t2m.thing_id = t1.sku_id AND t2m.vendor_org_code = t14.vendor_org_code AND t2m.thing_type = ? AND t2m.vendor_id = ? AND t2m.deleted_at = ?
|
||||||
LEFT JOIN thing_map t4m ON t4m.thing_id = t3.category_id AND t4m.vendor_org_code = t14.vendor_org_code AND t4m.thing_type = ? AND t4m.vendor_id = ? AND t4m.deleted_at = ?
|
LEFT JOIN thing_map t4m ON t4m.thing_id = t3.category_id AND t4m.vendor_org_code = t14.vendor_org_code AND t4m.thing_type = ? AND t4m.vendor_id = ? AND t4m.deleted_at = ?
|
||||||
LEFT JOIN thing_map t5skum ON t5skum.thing_id = t5sku.id AND t5skum.vendor_org_code = t14.vendor_org_code AND t5skum.thing_type = ? AND t5skum.vendor_id = ? AND t5skum.deleted_at = ?
|
LEFT JOIN thing_map t5skum ON t5skum.thing_id = t5sku.id AND t5skum.vendor_org_code = t14.vendor_org_code AND t5skum.thing_type = ? AND t5skum.vendor_id = ? AND t5skum.deleted_at = ?
|
||||||
`
|
`
|
||||||
@@ -504,8 +504,11 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf
|
|||||||
func newGetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInfo, err error) {
|
func newGetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInfo, err error) {
|
||||||
globals.SugarLogger.Debugf("GetFullStoreSkus, storeID:%d, vendorID:%d", storeID, vendorID)
|
globals.SugarLogger.Debugf("GetFullStoreSkus, storeID:%d, vendorID:%d", storeID, vendorID)
|
||||||
|
|
||||||
|
// 对于多门店平台,商品库删除后,不需要操作门店商品,所以sku_name用JOIN, sku与sku_name也可以直接排除下架的
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status,
|
SELECT
|
||||||
|
sm.vendor_id, sm.vendor_org_code,
|
||||||
|
t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status,
|
||||||
t1.%s_sync_status sku_sync_status, t1.store_id, t1.deleted_at bind_deleted_at,
|
t1.%s_sync_status sku_sync_status, t1.store_id, t1.deleted_at bind_deleted_at,
|
||||||
t2.*, t2.id sku_id, t2m.vendor_thing_id vendor_sku_id,
|
t2.*, t2.id sku_id, t2m.vendor_thing_id vendor_sku_id,
|
||||||
t3.id name_id, t3.prefix, t3.name, t3.unit, t3.upc,
|
t3.id name_id, t3.prefix, t3.name, t3.unit, t3.upc,
|
||||||
@@ -516,12 +519,12 @@ func newGetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSync
|
|||||||
t4m.sync_status cat_sync_status, t4m.vendor_thing_id vendor_cat_id,
|
t4m.sync_status cat_sync_status, t4m.vendor_thing_id vendor_cat_id,
|
||||||
t5skum.sync_status sku_cat_sync_status, t5skum.vendor_thing_id sku_vendor_cat_id
|
t5skum.sync_status sku_cat_sync_status, t5skum.vendor_thing_id sku_vendor_cat_id
|
||||||
FROM sku t2
|
FROM sku t2
|
||||||
LEFT JOIN store_sku_bind t1 ON t1.sku_id = t2.id AND t1.store_id = ? AND t1.deleted_at = ?
|
|
||||||
LEFT JOIN store_map sm ON sm.store_id = t1.store_id AND sm.vendor_id = ? AND sm.deleted_at = ?
|
|
||||||
LEFT JOIN thing_map t2m ON t2m.thing_id = t2.id AND t2m.vendor_org_code = sm.vendor_org_code AND t2m.thing_type = ? AND t2m.vendor_id = ? AND t2m.deleted_at = ?
|
|
||||||
JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? AND t3.status = ?
|
JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? AND t3.status = ?
|
||||||
JOIN sku_category t4 ON t3.category_id = t4.id AND t4.deleted_at = ?
|
JOIN sku_category t4 ON t3.category_id = t4.id AND t4.deleted_at = ?
|
||||||
LEFT JOIN thing_map t4m ON t4m.thing_id = t3.category_id AND t4m.vendor_org_code = sm.vendor_org_code AND t4m.thing_type = ? AND t4m.vendor_id = ? AND t4m.deleted_at = ?
|
JOIN store_map sm ON sm.vendor_id = ? AND sm.store_id = ? AND sm.deleted_at = ?
|
||||||
|
JOIN thing_map t2m ON t2m.thing_id = t2.id AND t2m.vendor_org_code = sm.vendor_org_code AND t2m.thing_type = ? AND t2m.vendor_id = ? AND t2m.deleted_at = ?
|
||||||
|
JOIN thing_map t4m ON t4m.thing_id = t3.category_id AND t4m.vendor_org_code = sm.vendor_org_code AND t4m.thing_type = ? AND t4m.vendor_id = ? AND t4m.deleted_at = ?
|
||||||
|
LEFT JOIN store_sku_bind t1 ON sm.store_id = t1.store_id AND t1.sku_id = t2.id AND t1.deleted_at = ?
|
||||||
LEFT JOIN sku_category t5sku ON t2.category_id = t5sku.id
|
LEFT JOIN sku_category t5sku ON t2.category_id = t5sku.id
|
||||||
LEFT JOIN thing_map t5skum ON t5skum.thing_id = t2.category_id AND t5skum.vendor_org_code = sm.vendor_org_code AND t5skum.thing_type = ? AND t5skum.vendor_id = ? AND t5skum.deleted_at = ?
|
LEFT JOIN thing_map t5skum ON t5skum.thing_id = t2.category_id AND t5skum.vendor_org_code = sm.vendor_org_code AND t5skum.thing_type = ? AND t5skum.vendor_id = ? AND t5skum.deleted_at = ?
|
||||||
LEFT JOIN data_resource t11 ON t11.main_url = t3.img
|
LEFT JOIN data_resource t11 ON t11.main_url = t3.img
|
||||||
@@ -530,17 +533,14 @@ func newGetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSync
|
|||||||
WHERE t2.deleted_at = ? AND t2.status = ? AND t2m.vendor_thing_id <> ''
|
WHERE t2.deleted_at = ? AND t2.status = ? AND t2m.vendor_thing_id <> ''
|
||||||
ORDER BY t1.price DESC`
|
ORDER BY t1.price DESC`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
storeID,
|
utils.DefaultTimeValue, model.SkuStatusNormal,
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
vendorID, utils.DefaultTimeValue,
|
vendorID, storeID, utils.DefaultTimeValue,
|
||||||
model.ThingTypeSku, vendorID, utils.DefaultTimeValue,
|
model.ThingTypeSku, vendorID, utils.DefaultTimeValue,
|
||||||
utils.DefaultTimeValue,
|
|
||||||
model.SkuStatusNormal,
|
|
||||||
utils.DefaultTimeValue,
|
|
||||||
model.ThingTypeCategory, vendorID, utils.DefaultTimeValue,
|
|
||||||
model.ThingTypeCategory, vendorID, utils.DefaultTimeValue,
|
model.ThingTypeCategory, vendorID, utils.DefaultTimeValue,
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
model.SkuStatusNormal,
|
model.ThingTypeCategory, vendorID, utils.DefaultTimeValue,
|
||||||
|
utils.DefaultTimeValue, model.SkuStatusNormal,
|
||||||
}
|
}
|
||||||
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||||
sql = fmt.Sprintf(sql,
|
sql = fmt.Sprintf(sql,
|
||||||
|
|||||||
@@ -42,6 +42,9 @@ func AppKey2OrgCode(appKey string) (vendorOrgCode string) {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if vendorOrgCode == "" {
|
||||||
|
globals.SugarLogger.Warnf("AppKey2OrgCode appKey:%s get empty vendorOrgCode", appKey)
|
||||||
|
}
|
||||||
return vendorOrgCode
|
return vendorOrgCode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -284,12 +284,14 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model
|
|||||||
return orderStatus
|
return orderStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PurchaseHandler) postFakeMsg(vendorOrderID, vendorStatus string) {
|
func (c *PurchaseHandler) postFakeMsg(vendorOrgCode, vendorOrderID, vendorStatus string) {
|
||||||
msg := &jdapi.CallbackOrderMsg{
|
msg := &jdapi.CallbackOrderMsg{
|
||||||
CallbackMsg: &jdapi.CallbackMsg{},
|
CallbackMsg: &jdapi.CallbackMsg{
|
||||||
BillID: vendorOrderID,
|
AppKey: getAPI(vendorOrgCode).GetAppKey(),
|
||||||
StatusID: vendorStatus,
|
},
|
||||||
Timestamp: utils.Time2Str(time.Now()),
|
BillID: vendorOrderID,
|
||||||
|
StatusID: vendorStatus,
|
||||||
|
Timestamp: utils.Time2Str(time.Now()),
|
||||||
}
|
}
|
||||||
utils.CallFuncAsync(func() {
|
utils.CallFuncAsync(func() {
|
||||||
OnOrderMsg(msg)
|
OnOrderMsg(msg)
|
||||||
@@ -309,14 +311,14 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
|||||||
if globals.EnableJdStoreWrite {
|
if globals.EnableJdStoreWrite {
|
||||||
err = getAPI(order.VendorOrgCode).OrderAcceptOperate(order.VendorOrderID, isAcceptIt, userName)
|
err = getAPI(order.VendorOrgCode).OrderAcceptOperate(order.VendorOrderID, isAcceptIt, userName)
|
||||||
if isAcceptIt && err == nil {
|
if isAcceptIt && err == nil {
|
||||||
c.postFakeMsg(order.VendorOrderID, jdapi.StatusIDWaitOutStore)
|
c.postFakeMsg(order.VendorOrgCode, order.VendorOrderID, jdapi.StatusIDWaitOutStore)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if isAcceptIt {
|
if isAcceptIt {
|
||||||
c.postFakeMsg(order.VendorOrderID, jdapi.StatusIDWaitOutStore)
|
c.postFakeMsg(order.VendorOrgCode, order.VendorOrderID, jdapi.StatusIDWaitOutStore)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
c.postFakeMsg(order.VendorOrderID, jdapi.OrderStatusCanceled)
|
c.postFakeMsg(order.VendorOrgCode, order.VendorOrderID, jdapi.OrderStatusCanceled)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@@ -327,7 +329,7 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo
|
|||||||
if !isSelfDelivery && globals.EnableJdStoreWrite {
|
if !isSelfDelivery && globals.EnableJdStoreWrite {
|
||||||
_, err = getAPI(order.VendorOrgCode).OrderJDZBDelivery(order.VendorOrderID, userName)
|
_, err = getAPI(order.VendorOrgCode).OrderJDZBDelivery(order.VendorOrderID, userName)
|
||||||
} else {
|
} else {
|
||||||
c.postFakeMsg(order.VendorOrderID, jdapi.OrderStatusFinishedPickup)
|
c.postFakeMsg(order.VendorOrgCode, order.VendorOrderID, jdapi.OrderStatusFinishedPickup)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -167,13 +167,13 @@ func skuInfo2Param(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (param *jd
|
|||||||
Upc: sku.Upc,
|
Upc: sku.Upc,
|
||||||
Images: jxutils.BatchString2Slice(sku.Img, sku.Img2),
|
Images: jxutils.BatchString2Slice(sku.Img, sku.Img2),
|
||||||
}
|
}
|
||||||
// 不为份的SKU,如果没有设置upc,自动生成一个假的
|
|
||||||
if sku.Unit != model.SpecialUnit && param.Upc == "" {
|
|
||||||
param.Upc = jxutils.GenFakeUPC(sku.SkuID)
|
|
||||||
}
|
|
||||||
if param.CategoryID == 0 {
|
if param.CategoryID == 0 {
|
||||||
param.CategoryID = int64(getDefJdCategoryID())
|
param.CategoryID = int64(getDefJdCategoryID())
|
||||||
}
|
}
|
||||||
|
// 京东强制要求upc的商品,如果没有设置upc,自动生成一个假的
|
||||||
|
if param.Upc == "" && isSkuMustHaveUpc(sku.Unit, param.CategoryID) {
|
||||||
|
param.Upc = jxutils.GenFakeUPC(sku.SkuID)
|
||||||
|
}
|
||||||
if sku.IsGlobal == 0 && len(sku.SellCities) > 0 {
|
if sku.IsGlobal == 0 && len(sku.SellCities) > 0 {
|
||||||
param.SellCities = utils.StringSlice2Int64(sku.SellCities)
|
param.SellCities = utils.StringSlice2Int64(sku.SellCities)
|
||||||
}
|
}
|
||||||
@@ -362,3 +362,101 @@ func jxStatus2jdStatus(jxStatus int) (jdStatus int) {
|
|||||||
}
|
}
|
||||||
return jdStatus
|
return jdStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isSkuMustHaveUpc(unit string, vendorVendorCatID int64) bool {
|
||||||
|
return unit != model.SpecialUnit || !upcLessMap[vendorVendorCatID]
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
upcLessMap = map[int64]bool{
|
||||||
|
20250: true,
|
||||||
|
20252: true,
|
||||||
|
20258: true,
|
||||||
|
20259: true,
|
||||||
|
20261: true,
|
||||||
|
20262: true,
|
||||||
|
20263: true,
|
||||||
|
20264: true,
|
||||||
|
20265: true,
|
||||||
|
20266: true,
|
||||||
|
20267: true,
|
||||||
|
22822: true,
|
||||||
|
20269: true,
|
||||||
|
20270: true,
|
||||||
|
20271: true,
|
||||||
|
20272: true,
|
||||||
|
20273: true,
|
||||||
|
20275: true,
|
||||||
|
20276: true,
|
||||||
|
20277: true,
|
||||||
|
20278: true,
|
||||||
|
20279: true,
|
||||||
|
20281: true,
|
||||||
|
20282: true,
|
||||||
|
20283: true,
|
||||||
|
20285: true,
|
||||||
|
20286: true,
|
||||||
|
20287: true,
|
||||||
|
22821: true,
|
||||||
|
20289: true,
|
||||||
|
20290: true,
|
||||||
|
23018: true,
|
||||||
|
20354: true,
|
||||||
|
20355: true,
|
||||||
|
20357: true,
|
||||||
|
20359: true,
|
||||||
|
23019: true,
|
||||||
|
20294: true,
|
||||||
|
20295: true,
|
||||||
|
20296: true,
|
||||||
|
20297: true,
|
||||||
|
20298: true,
|
||||||
|
20299: true,
|
||||||
|
20300: true,
|
||||||
|
20302: true,
|
||||||
|
20303: true,
|
||||||
|
20304: true,
|
||||||
|
22840: true,
|
||||||
|
22841: true,
|
||||||
|
20317: true,
|
||||||
|
20320: true,
|
||||||
|
20321: true,
|
||||||
|
20323: true,
|
||||||
|
20325: true,
|
||||||
|
20326: true,
|
||||||
|
20328: true,
|
||||||
|
20329: true,
|
||||||
|
20331: true,
|
||||||
|
20335: true,
|
||||||
|
20337: true,
|
||||||
|
20338: true,
|
||||||
|
20339: true,
|
||||||
|
22842: true,
|
||||||
|
22843: true,
|
||||||
|
23020: true,
|
||||||
|
20309: true,
|
||||||
|
20310: true,
|
||||||
|
20311: true,
|
||||||
|
20312: true,
|
||||||
|
20313: true,
|
||||||
|
20314: true,
|
||||||
|
20315: true,
|
||||||
|
22410: true,
|
||||||
|
23050: true,
|
||||||
|
20319: true,
|
||||||
|
20322: true,
|
||||||
|
20330: true,
|
||||||
|
20332: true,
|
||||||
|
20334: true,
|
||||||
|
20336: true,
|
||||||
|
20340: true,
|
||||||
|
20342: true,
|
||||||
|
23049: true,
|
||||||
|
20356: true,
|
||||||
|
20358: true,
|
||||||
|
20360: true,
|
||||||
|
20361: true,
|
||||||
|
20362: true,
|
||||||
|
20364: true,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
owner: ubuntu
|
owner: ubuntu
|
||||||
group: ubuntu
|
group: ubuntu
|
||||||
mode: 0777
|
mode: 0777
|
||||||
- name: cleanup previous backup files
|
# - name: cleanup previous backup files
|
||||||
shell: cd {{ deploy_dir }} && ./cleanup.sh
|
# shell: cd {{ deploy_dir }} && ./cleanup.sh
|
||||||
- name: copy execute file to dest
|
- name: copy execute file to dest
|
||||||
copy:
|
copy:
|
||||||
src: ../jx-callback
|
src: ../jx-callback
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
owner: ubuntu
|
owner: ubuntu
|
||||||
group: ubuntu
|
group: ubuntu
|
||||||
mode: 0755
|
mode: 0755
|
||||||
backup: yes
|
backup: no
|
||||||
- name: copy conf file to dest
|
- name: copy conf file to dest
|
||||||
copy:
|
copy:
|
||||||
src: ../conf/
|
src: ../conf/
|
||||||
|
|||||||
Reference in New Issue
Block a user