商品审核查询修改
This commit is contained in:
@@ -96,6 +96,7 @@ type tStoreSkuBindAndSpec struct {
|
||||
ExdSkuID string `orm:"column(exd_sku_id)"`
|
||||
StoreName string
|
||||
ChangePriceType int8 `json:"changePriceType"` // 修改价格类型,即是否需要审核
|
||||
NameID int `orm:"column(name_id)" json:"nameID"`
|
||||
}
|
||||
|
||||
type SkuSaleInfo struct {
|
||||
@@ -1022,7 +1023,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
sql += " IF(t5.unit_price > 0, t5.unit_price, t3.price) sku_name_price,"
|
||||
}
|
||||
sql += `
|
||||
t3.unit sku_name_unit, t3.name, t3.status sku_name_status,
|
||||
t3.unit sku_name_unit, t3.name, t3.status sku_name_status, t3.id name_id,
|
||||
ts.change_price_type, ts.name store_name
|
||||
FROM sku t1
|
||||
JOIN store ts ON ts.id = ? AND ts.deleted_at = ?
|
||||
@@ -1143,6 +1144,15 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
}
|
||||
//删除待审核商品信息
|
||||
storeAudits, err := dao.GetStoreSkuAuditLight(db, []int{storeID}, []int{v.NameID}, model.StoreAuditStatusOnline)
|
||||
if len(storeAudits) > 0 {
|
||||
storeAudits[0].DeletedAt = time.Now()
|
||||
if _, err = dao.UpdateEntity(db, storeAudits[0], "DeletedAt"); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 用了SELECT FOR UPDATE后,只更新修改字段是没有必要的,暂时保留
|
||||
updateFieldMap := make(map[string]interface{})
|
||||
@@ -4458,8 +4468,8 @@ func doStoreSkuAudit(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*Sto
|
||||
for _, storeID := range storeIDs {
|
||||
for _, skuBindInfo := range skuBindInfos {
|
||||
storeAudits, err := dao.GetStoreSkuAuditLight(db, []int{storeID}, []int{skuBindInfo.NameID}, model.StoreAuditStatusOnline)
|
||||
//关注,可售排除
|
||||
if skuBindInfo.IsFocus != 0 || skuBindInfo.IsSale != 0 || skuBindInfo.UnitPrice == 0 {
|
||||
//取消关注,可售排除
|
||||
if skuBindInfo.IsFocus == -1 || skuBindInfo.IsSale != 0 || skuBindInfo.UnitPrice == 0 {
|
||||
globals.SugarLogger.Debugf("doStoreSkuAudit return1 storeID : %v nameID: %v", storeID, skuBindInfo.NameID)
|
||||
return false, err
|
||||
}
|
||||
@@ -4476,31 +4486,41 @@ func doStoreSkuAudit(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*Sto
|
||||
// globals.SugarLogger.Debugf("doStoreSkuAudit return3 storeID : %v nameID: %v", storeID, skuBindInfo.NameID)
|
||||
// return false, err
|
||||
// }
|
||||
//如果改的价比原价低排除
|
||||
storeSkus, err := dao.GetStoreSkusByNameIDs(db, []int{storeID}, skuBindInfo.NameID)
|
||||
if len(storeSkus) > 0 {
|
||||
if skuBindInfo.UnitPrice <= int(storeSkus[0].UnitPrice) {
|
||||
if len(storeAudits) > 0 {
|
||||
dao.DeleteEntityLogically(db, storeAudits[0], nil, ctx.GetUserName(), nil)
|
||||
}
|
||||
globals.SugarLogger.Debugf("doStoreSkuAudit return4 storeID : %v nameID: %v", storeID, skuBindInfo.NameID)
|
||||
return false, err
|
||||
} else {
|
||||
if len(storeAudits) > 0 {
|
||||
storeAudits[0].DeletedAt = time.Now()
|
||||
dao.UpdateEntity(db, storeAudits[0], "DeletedAt")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return false, fmt.Errorf("未查询到该门店商品价,storeID: %v, nameID: %V", storeID, skuBindInfo.NameID)
|
||||
}
|
||||
storeSkuAudit := &model.StoreSkuAudit{
|
||||
StoreID: storeID,
|
||||
Type: model.StoreSkuAuditTypePrice,
|
||||
NameID: skuBindInfo.NameID,
|
||||
Status: model.StoreAuditStatusOnline,
|
||||
UnitPrice: skuBindInfo.UnitPrice,
|
||||
OriginUnitPrice: int(storeSkus[0].UnitPrice),
|
||||
StoreID: storeID,
|
||||
NameID: skuBindInfo.NameID,
|
||||
Status: model.StoreAuditStatusOnline,
|
||||
UnitPrice: skuBindInfo.UnitPrice,
|
||||
}
|
||||
//如果是关注改价
|
||||
if skuBindInfo.IsFocus == 1 {
|
||||
if len(storeAudits) > 0 {
|
||||
storeAudits[0].DeletedAt = time.Now()
|
||||
dao.UpdateEntity(db, storeAudits[0], "DeletedAt")
|
||||
}
|
||||
storeSkuAudit.Type = model.StoreSkuAuditTypeFocus
|
||||
} else {
|
||||
storeSkus, err := dao.GetStoreSkusByNameIDs(db, []int{storeID}, skuBindInfo.NameID)
|
||||
if len(storeSkus) > 0 {
|
||||
//如果改的价比原价低排除
|
||||
if skuBindInfo.UnitPrice <= int(storeSkus[0].UnitPrice) {
|
||||
if len(storeAudits) > 0 {
|
||||
storeAudits[0].DeletedAt = time.Now()
|
||||
dao.UpdateEntity(db, storeAudits[0], "DeletedAt")
|
||||
}
|
||||
globals.SugarLogger.Debugf("doStoreSkuAudit return4 storeID : %v nameID: %v", storeID, skuBindInfo.NameID)
|
||||
return false, err
|
||||
} else {
|
||||
if len(storeAudits) > 0 {
|
||||
storeAudits[0].DeletedAt = time.Now()
|
||||
dao.UpdateEntity(db, storeAudits[0], "DeletedAt")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return false, fmt.Errorf("未查询到该门店商品价,storeID: %v, nameID: %V", storeID, skuBindInfo.NameID)
|
||||
}
|
||||
storeSkuAudit.Type = model.StoreSkuAuditTypePrice
|
||||
storeSkuAudit.OriginUnitPrice = int(storeSkus[0].UnitPrice)
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(storeSkuAudit, ctx.GetUserName())
|
||||
err = dao.CreateEntity(db, storeSkuAudit)
|
||||
@@ -4530,7 +4550,8 @@ func StoreSkuPriceAudit(ctx *jxcontext.Context, storeIDs, nameIDs []int, status
|
||||
if status == model.StoreAuditStatusCreated {
|
||||
storeAudits[0].UserID = ctx.GetUserID()
|
||||
storeAudits[0].Status = model.StoreAuditStatusCreated
|
||||
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status")
|
||||
storeAudits[0].Remark = remark
|
||||
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark")
|
||||
var skuBindInfos = []*StoreSkuBindInfo{
|
||||
&StoreSkuBindInfo{
|
||||
NameID: v,
|
||||
|
||||
Reference in New Issue
Block a user