商品审核查询修改

This commit is contained in:
苏尹岚
2020-05-29 10:44:10 +08:00
parent bb157cd60f
commit a1a0a63461
4 changed files with 53 additions and 29 deletions

View File

@@ -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,

View File

@@ -27,6 +27,7 @@ const (
const (
StoreSkuAuditTypePrice = 1 //改价
StoreSkuAuditTypeFocus = 2 //关注
)
const (

View File

@@ -202,7 +202,8 @@ type StoreSkuAudit struct {
Status int8 `json:"status"` //
UserID string `orm:"size(48);column(user_id)" json:"userID"`
OriginUnitPrice int `json:"originPrice"` // 表示原价
UnitPrice int `json:"unitPrice"`
UnitPrice int `json:"unitPrice"` //老板申请的审核价格
AuditPrice int `json:"auditPrice"` //运营录入的审核价格
Remark string `orm:"size(255)" json:"remark"`
}

View File

@@ -847,6 +847,7 @@ func (c *StoreSkuController) GetStoreSkuAudit() {
// @Param token header string true "认证token"
// @Param storeIDs formData string false "门店ID列表"
// @Param nameIDs formData string false "id列表对象当前指skuname id"
// @Param auditPrice formData string false "录入的审核价格"
// @Param status formData int false "审核标志1通过-1 不通过"
// @Param remark formData string false "审核不通过原因"
// @Param isAsync formData bool false "是否异步,缺省是同步"