差评补款
This commit is contained in:
@@ -799,7 +799,7 @@ func AddUpdateOrdersSupplement(ctx *jxcontext.Context, ordersSupplement *model.O
|
|||||||
return 0, fmt.Errorf("查询扣款记录有误,请联系技术部!")
|
return 0, fmt.Errorf("查询扣款记录有误,请联系技术部!")
|
||||||
}
|
}
|
||||||
if orderSupplementFee[0].Status == 1 {
|
if orderSupplementFee[0].Status == 1 {
|
||||||
return 0, fmt.Errorf("已结账的扣款信息不允许修改!门店ID:[%v],订单号:[%v]", ordersSupplement.StoreID, *ordersSupplement.VendorOrderID)
|
return 0, fmt.Errorf("已结账的扣款信息不允许修改!门店ID:[%v],订单号:[%v]", ordersSupplement.StoreID, ordersSupplement.VendorOrderID)
|
||||||
}
|
}
|
||||||
ordersSupplement.UpdatedAt = time.Now()
|
ordersSupplement.UpdatedAt = time.Now()
|
||||||
ordersSupplement.LastOperator = ctx.GetUserName()
|
ordersSupplement.LastOperator = ctx.GetUserName()
|
||||||
|
|||||||
@@ -2219,7 +2219,7 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam
|
|||||||
JOIN sku b ON a.sku_id = b.id AND b.deleted_at = ?
|
JOIN sku b ON a.sku_id = b.id AND b.deleted_at = ?
|
||||||
WHERE a.deleted_at = ?
|
WHERE a.deleted_at = ?
|
||||||
AND a.store_id = ?
|
AND a.store_id = ?
|
||||||
AND a.status = ?)
|
AND a.status = ?)
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
@@ -2236,11 +2236,21 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam
|
|||||||
for _, v := range skuNameList {
|
for _, v := range skuNameList {
|
||||||
skuNameMap[v.ID] = v
|
skuNameMap[v.ID] = v
|
||||||
}
|
}
|
||||||
|
store, err := dao.GetStoreDetail(db, storeID, -1)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var payPercentage int
|
||||||
|
if store.PayPercentage < 50 {
|
||||||
|
payPercentage = 70
|
||||||
|
} else {
|
||||||
|
payPercentage = store.PayPercentage
|
||||||
|
}
|
||||||
for _, v := range skuNameAndPlace {
|
for _, v := range skuNameAndPlace {
|
||||||
if skuNameMap[v.ID] != nil {
|
if skuNameMap[v.ID] != nil {
|
||||||
priceReferList, _ := dao.GetPriceReferSnapshotNoPage(db, []int{cityCode}, nil, []int{v.ID}, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
|
priceReferList, _ := dao.GetPriceReferSnapshotNoPage(db, []int{cityCode}, nil, []int{v.ID}, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
|
||||||
if len(priceReferList) > 0 {
|
if len(priceReferList) > 0 {
|
||||||
v.Price = priceReferList[0].MidUnitPrice
|
v.Price = priceReferList[0].MidUnitPrice * payPercentage / 100
|
||||||
}
|
}
|
||||||
v.Type = skuNameMap[v.ID].BrandID
|
v.Type = skuNameMap[v.ID].BrandID
|
||||||
skuList, _ := dao.GetSkus(db, nil, []int{v.ID}, nil, nil)
|
skuList, _ := dao.GetSkus(db, nil, []int{v.ID}, nil, nil)
|
||||||
@@ -2947,9 +2957,15 @@ func FocusStoreSkusBySku(ctx *jxcontext.Context, skuIDs []int, isAsync, isContin
|
|||||||
if len(focusList) > 0 {
|
if len(focusList) > 0 {
|
||||||
price = focusList[0].UnitPrice
|
price = focusList[0].UnitPrice
|
||||||
} else {
|
} else {
|
||||||
priceReferList, _, _ := dao.GetPriceReferSnapshot(db, []int{store.CityCode}, nil, k, utils.Time2Date(time.Now().AddDate(0, 0, -1)), 0, 9999)
|
var payPercentage int
|
||||||
|
if store.PayPercentage < 50 {
|
||||||
|
payPercentage = 70
|
||||||
|
} else {
|
||||||
|
payPercentage = store.PayPercentage
|
||||||
|
}
|
||||||
|
priceReferList, _ := dao.GetPriceReferSnapshotNoPage(db, []int{store.CityCode}, nil, []int{k}, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
|
||||||
if len(priceReferList) > 0 {
|
if len(priceReferList) > 0 {
|
||||||
price = priceReferList[0].MidUnitPrice
|
price = priceReferList[0].MidUnitPrice * payPercentage / 100
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
skuBindInfo := &StoreSkuBindInfo{
|
skuBindInfo := &StoreSkuBindInfo{
|
||||||
@@ -2989,6 +3005,68 @@ func FocusStoreSkusBySku(ctx *jxcontext.Context, skuIDs []int, isAsync, isContin
|
|||||||
return hint, err
|
return hint, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func AutoFocusStoreSkusWithoutFocusForTopSkus(ctx *jxcontext.Context) (err error) {
|
||||||
|
db := dao.GetDB()
|
||||||
|
storeList, err := dao.GetStoreList(db, nil, nil, "")
|
||||||
|
for _, v := range storeList {
|
||||||
|
var (
|
||||||
|
skuName []*model.SkuName
|
||||||
|
skuNameMap = make(map[int]int)
|
||||||
|
skuBindInfoList []*StoreSkuBindInfo
|
||||||
|
)
|
||||||
|
sql := `
|
||||||
|
SELECT DISTINCT a.name_id id
|
||||||
|
FROM sku a
|
||||||
|
LEFT JOIN (SELECT DISTINCT b.name_id
|
||||||
|
FROM store_sku_bind a
|
||||||
|
JOIN sku b ON a.sku_id = b.id
|
||||||
|
WHERE a.deleted_at = ?
|
||||||
|
AND store_id = ?)b ON a.name_id = b.name_id
|
||||||
|
WHERE a.status = ?
|
||||||
|
AND a.deleted_at = ?
|
||||||
|
AND b.name_id IS NULL
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{
|
||||||
|
utils.DefaultTimeValue,
|
||||||
|
v.ID,
|
||||||
|
model.SkuStatusNormal,
|
||||||
|
utils.DefaultTimeValue,
|
||||||
|
}
|
||||||
|
err = dao.GetRows(db, &skuName, sql, sqlParams...)
|
||||||
|
for _, v := range skuName {
|
||||||
|
skuNameMap[v.ID] = v.ID
|
||||||
|
}
|
||||||
|
skuNameAndPlaceList, err2 := GetTopSkusByCityCode(ctx, v.CityCode, v.ID)
|
||||||
|
if err2 != nil {
|
||||||
|
return err2
|
||||||
|
}
|
||||||
|
var payPercentage int
|
||||||
|
if v.PayPercentage < 50 {
|
||||||
|
payPercentage = 70
|
||||||
|
} else {
|
||||||
|
payPercentage = v.PayPercentage
|
||||||
|
}
|
||||||
|
if len(skuNameAndPlaceList) > 0 {
|
||||||
|
for _, v := range skuNameAndPlaceList {
|
||||||
|
if skuNameMap[v.ID] != 0 {
|
||||||
|
priceReferList, err := dao.GetPriceReferSnapshotNoPage(db, []int{v.CityCode}, nil, []int{v.ID}, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
|
||||||
|
if err == nil && len(priceReferList) > 0 {
|
||||||
|
storeSkuBindInfo := &StoreSkuBindInfo{
|
||||||
|
NameID: v.ID,
|
||||||
|
UnitPrice: priceReferList[0].MidUnitPrice * payPercentage / 100,
|
||||||
|
IsFocus: 1,
|
||||||
|
IsSale: 0,
|
||||||
|
}
|
||||||
|
skuBindInfoList = append(skuBindInfoList, storeSkuBindInfo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UpdateStoreSkus(ctx, v.ID, skuBindInfoList, true, true)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func AutoFocusStoreSkusWithoutFocus(ctx *jxcontext.Context, skuIDs []int, isSync bool) (err error) {
|
func AutoFocusStoreSkusWithoutFocus(ctx *jxcontext.Context, skuIDs []int, isSync bool) (err error) {
|
||||||
var (
|
var (
|
||||||
nameMap = make(map[int]*StoreSkuBindInfo)
|
nameMap = make(map[int]*StoreSkuBindInfo)
|
||||||
|
|||||||
@@ -1084,7 +1084,7 @@ func GetOrdersSupplement(db *DaoDB, storIDs, vendorIDs, statuss []int, vendorOrd
|
|||||||
sqlParams = append(sqlParams, vendorOrderID)
|
sqlParams = append(sqlParams, vendorOrderID)
|
||||||
}
|
}
|
||||||
if len(statuss) > 0 {
|
if len(statuss) > 0 {
|
||||||
sql += " AND status IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
|
sql += " AND status IN (" + GenQuestionMarks(len(statuss)) + ")"
|
||||||
sqlParams = append(sqlParams, statuss)
|
sqlParams = append(sqlParams, statuss)
|
||||||
}
|
}
|
||||||
if stype > 0 {
|
if stype > 0 {
|
||||||
@@ -1096,8 +1096,7 @@ func GetOrdersSupplement(db *DaoDB, storIDs, vendorIDs, statuss []int, vendorOrd
|
|||||||
} else if IsReverse == 1 {
|
} else if IsReverse == 1 {
|
||||||
sql += " AND link_id <> 0"
|
sql += " AND link_id <> 0"
|
||||||
}
|
}
|
||||||
sql += `
|
sql += " LIMIT ? OFFSET ?"
|
||||||
LIMIT ? OFFSET ?`
|
|
||||||
sqlParams = append(sqlParams, pageSize, offset)
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
Begin(db)
|
Begin(db)
|
||||||
defer Commit(db)
|
defer Commit(db)
|
||||||
@@ -1138,7 +1137,7 @@ func GetOrdersSupplementNoPage(db *DaoDB, ID int, storIDs, vendorIDs, statuss []
|
|||||||
sqlParams = append(sqlParams, vendorOrderID)
|
sqlParams = append(sqlParams, vendorOrderID)
|
||||||
}
|
}
|
||||||
if len(statuss) > 0 {
|
if len(statuss) > 0 {
|
||||||
sql += " AND status IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
|
sql += " AND status IN (" + GenQuestionMarks(len(statuss)) + ")"
|
||||||
sqlParams = append(sqlParams, statuss)
|
sqlParams = append(sqlParams, statuss)
|
||||||
}
|
}
|
||||||
if stype > 0 {
|
if stype > 0 {
|
||||||
|
|||||||
@@ -347,7 +347,7 @@ type OrderPayRefund struct {
|
|||||||
type OrderSupplementFee struct {
|
type OrderSupplementFee struct {
|
||||||
ModelIDCULD
|
ModelIDCULD
|
||||||
StoreID int `orm:"column(store_id)" json:"storeID"`
|
StoreID int `orm:"column(store_id)" json:"storeID"`
|
||||||
VendorOrderID *string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
|
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
|
||||||
VendorID *int `orm:"column(vendor_id);null" json:"vendorID"`
|
VendorID *int `orm:"column(vendor_id);null" json:"vendorID"`
|
||||||
Status int `json:"status"` //账单状态,若已结账则不允许再修改 ,暂时 0为未结账,1为已结账,-1为作废
|
Status int `json:"status"` //账单状态,若已结账则不允许再修改 ,暂时 0为未结账,1为已结账,-1为作废
|
||||||
LinkID int `orm:"column(link_id)" json:"linkID"` //作为冲账标志关联某条扣款记录
|
LinkID int `orm:"column(link_id)" json:"linkID"` //作为冲账标志关联某条扣款记录
|
||||||
|
|||||||
@@ -945,7 +945,7 @@ func (c *OrderController) ComplaintRider() {
|
|||||||
func (c *OrderController) GetOrdersSupplement() {
|
func (c *OrderController) GetOrdersSupplement() {
|
||||||
var vendorIDList, storeIDList, statusList []int
|
var vendorIDList, storeIDList, statusList []int
|
||||||
c.callGetOrdersSupplement(func(params *tOrderGetOrdersSupplementParams) (retVal interface{}, errCode string, err error) {
|
c.callGetOrdersSupplement(func(params *tOrderGetOrdersSupplementParams) (retVal interface{}, errCode string, err error) {
|
||||||
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.StoreIDs, &storeIDList, params.Statuss, statusList); err == nil {
|
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.StoreIDs, &storeIDList, params.Statuss, &statusList); err == nil {
|
||||||
retVal, err = orderman.GetOrdersSupplement(params.Ctx, storeIDList, vendorIDList, statusList, params.VendorOrderID, params.FromTime, params.ToTime, params.Type, params.IsReverse, params.Offset, params.PageSize)
|
retVal, err = orderman.GetOrdersSupplement(params.Ctx, storeIDList, vendorIDList, statusList, params.VendorOrderID, params.FromTime, params.ToTime, params.Type, params.IsReverse, params.Offset, params.PageSize)
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
|
|||||||
Reference in New Issue
Block a user