Merge remote-tracking branch 'origin/mark' into jdshop
This commit is contained in:
@@ -51,6 +51,7 @@ func GetVendorOrgCode(db *DaoDB, vendorID int, vendorOrgCode, vendorType string)
|
||||
sql += " AND vendor_type = ?"
|
||||
sqlParams = append(sqlParams, vendorType)
|
||||
}
|
||||
sql += " ORDER BY comment"
|
||||
err = GetRows(db, &vendorOrgs, sql, sqlParams)
|
||||
return vendorOrgs, err
|
||||
}
|
||||
|
||||
@@ -1607,3 +1607,40 @@ func GetUserCoupons(db *DaoDB, couponIDs []int, userIDs, mobiles []string, userS
|
||||
err = GetRows(db, &userCoupons, sql, sqlParams)
|
||||
return userCoupons, err
|
||||
}
|
||||
|
||||
type QueryOrdersForManageStateResult struct {
|
||||
VendorOrderID string `orm:"column(vendor_order_id)"`
|
||||
BindID int `orm:"column(bind_id)"`
|
||||
}
|
||||
|
||||
func QueryOrdersForManageState(db *DaoDB, storeID, vendorID, status int, fromTime, toTime time.Time) (userCoupons []*QueryOrdersForManageStateResult, err error) {
|
||||
sql := `
|
||||
SELECT a.vendor_order_id ,b.id bind_id
|
||||
FROM goods_order a
|
||||
LEFT JOIN waybill b ON a.vendor_order_id = b.vendor_order_id
|
||||
WHERE 1 = 1
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
if storeID != 0 {
|
||||
sql += " AND (a.storeID = ? OR a.jx_store_id = ?)"
|
||||
sqlParams = append(sqlParams, storeID, storeID)
|
||||
}
|
||||
if vendorID != -1 {
|
||||
sql += " AND a.vendor_id = ?"
|
||||
sqlParams = append(sqlParams, vendorID)
|
||||
}
|
||||
if status != 0 {
|
||||
sql += " AND a.status = ?"
|
||||
sqlParams = append(sqlParams, status)
|
||||
}
|
||||
if !utils.IsTimeZero(fromTime) {
|
||||
sql += " AND a.order_created_at > ?"
|
||||
sqlParams = append(sqlParams, fromTime)
|
||||
}
|
||||
if !utils.IsTimeZero(toTime) {
|
||||
sql += " AND a.order_created_at < ?"
|
||||
sqlParams = append(sqlParams, toTime)
|
||||
}
|
||||
err = GetRows(db, &userCoupons, sql, sqlParams)
|
||||
return userCoupons, err
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
)
|
||||
|
||||
func GetMenu(db *DaoDB, name string, level int, userID string) (menus []*model.Menu, err error) {
|
||||
func GetMenu(db *DaoDB, name string, level, menuType int, userID string) (menus []*model.Menu, err error) {
|
||||
sqlParams := []interface{}{}
|
||||
sql := `
|
||||
SELECT DISTINCT a.*
|
||||
@@ -29,12 +29,16 @@ func GetMenu(db *DaoDB, name string, level int, userID string) (menus []*model.M
|
||||
sql += " AND a.level = ?"
|
||||
sqlParams = append(sqlParams, level)
|
||||
}
|
||||
if menuType != 0 {
|
||||
sql += " AND a.type = ?"
|
||||
sqlParams = append(sqlParams, menuType)
|
||||
}
|
||||
sql += " ORDER BY a.id"
|
||||
err = GetRows(db, &menus, sql, sqlParams)
|
||||
return menus, err
|
||||
}
|
||||
|
||||
func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus []*model.Menu, err error) {
|
||||
func GetMenuWithUser(db *DaoDB, name string, level, menuType int, userID string) (menus []*model.Menu, err error) {
|
||||
sql := `
|
||||
SELECT DISTINCT b.* FROM (
|
||||
SELECT a.id,a.parent_id
|
||||
@@ -43,9 +47,10 @@ func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus []
|
||||
JOIN role_menu c ON c.menu_id = a.id AND c.role_id = b.role_id AND c.deleted_at = ?
|
||||
WHERE a.deleted_at = ?)a
|
||||
JOIN menu b ON (b.id = a.id OR b.id = a.parent_id)
|
||||
WHERE b.type = ?
|
||||
ORDER BY b.id
|
||||
`
|
||||
sqlParams := []interface{}{userID, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue}
|
||||
sqlParams := []interface{}{userID, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, menuType}
|
||||
err = GetRows(db, &menus, sql, sqlParams)
|
||||
return menus, err
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ type PriceReferSnapshotExt struct {
|
||||
}
|
||||
|
||||
//查询统计订单信息
|
||||
func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, toDate time.Time) (statisticsReportForOrdersList []*StatisticsReportForOrdersList, err error) {
|
||||
func GetStatisticsReportForOrders(db *DaoDB, storeIDs, vendorIDs []int, fromDate time.Time, toDate time.Time) (statisticsReportForOrdersList []*StatisticsReportForOrdersList, err error) {
|
||||
sql := `
|
||||
SELECT
|
||||
c.id store_id,
|
||||
@@ -68,8 +68,8 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time,
|
||||
s.pm_subsidy_money,
|
||||
s.earning_price,
|
||||
s.total_gross_profit,
|
||||
IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,total_gross_profit,(total_gross_profit*c.jx_brand_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) com_gross_profit,
|
||||
IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,0,(total_gross_profit*c.market_add_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) city_manager_gross_profit,
|
||||
IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,s.total_gross_profit,(s.total_gross_profit*c.jx_brand_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) com_gross_profit,
|
||||
IF(c.jx_brand_fee_factor = 0 AND c.market_add_fee_factor = 0,0,(s.total_gross_profit*c.market_add_fee_factor)/(c.jx_brand_fee_factor+market_add_fee_factor)) city_manager_gross_profit,
|
||||
c.status, c.tel1,
|
||||
IF(mm.name <> '', mm.name, mm.user_id2) market_man_name,
|
||||
IF(om.name <> '', om.name, om.user_id2) operator_name,
|
||||
@@ -82,28 +82,38 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time,
|
||||
LEFT JOIN user om ON om.mobile <> '' AND om.mobile = c.operator_phone
|
||||
LEFT JOIN user om2 ON om2.mobile <> '' AND om2.mobile = c.operator_phone2
|
||||
LEFT JOIN user om3 ON om3.mobile <> '' AND om3.mobile = c.operator_phone3
|
||||
LEFT JOIN
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
IF(a.jx_store_id <> 0,a.jx_store_id,store_id) store_id,
|
||||
COUNT(*) order_counts,
|
||||
SUM(sale_price) sale_price,
|
||||
SUM(actual_pay_price) actual_pay_price,
|
||||
SUM(shop_price) shop_price,
|
||||
SUM(discount_money) discount_money,
|
||||
SUM(desired_fee) desired_fee,
|
||||
SUM(distance_freight_money) distance_freight_money,
|
||||
SUM(IF(a.vendor_id = a.waybill_vendor_id,waybill_tip_money,0)) waybill_tip_money,
|
||||
SUM(total_shop_money) total_shop_money,
|
||||
SUM(pm_subsidy_money) pm_subsidy_money,
|
||||
SUM(earning_price) earning_price,
|
||||
SUM(total_shop_money-earning_price-desired_fee-distance_freight_money-waybill_tip_money-80) total_gross_profit
|
||||
FROM goods_order a
|
||||
LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id
|
||||
WHERE a.status != ?
|
||||
SELECT ss.*,
|
||||
ss.earning_price1 - IFNULL(ss.afs_shop_price,0) earning_price,
|
||||
ss.total_shop_money1 - IFNULL(ss.afs_total_money,0) total_shop_money,
|
||||
ss.total_gross_profit1 + IFNULL(ss.afs_shop_price,0) - IFNULL(ss.afs_total_money,0) - ss.order_counts*0.8*100 total_gross_profit
|
||||
FROM (
|
||||
SELECT
|
||||
IF(a.jx_store_id <> 0,a.jx_store_id,a.store_id) store_id,
|
||||
COUNT(*) order_counts,
|
||||
SUM(a.sale_price) sale_price,
|
||||
SUM(a.actual_pay_price) actual_pay_price,
|
||||
SUM(a.shop_price) shop_price,
|
||||
SUM(a.discount_money) discount_money,
|
||||
SUM(b.desired_fee) desired_fee,
|
||||
SUM(a.distance_freight_money) distance_freight_money,
|
||||
SUM(IF(a.vendor_id = a.waybill_vendor_id,a.waybill_tip_money,0)) waybill_tip_money,
|
||||
SUM(a.total_shop_money) total_shop_money1,
|
||||
SUM(a.pm_subsidy_money) pm_subsidy_money,
|
||||
SUM(IF(a.earning_type = 1, a.earning_price, a.new_earning_price)) earning_price1,
|
||||
SUM(a.total_shop_money-IF(a.earning_type = 1, a.earning_price, a.new_earning_price)-b.desired_fee) total_gross_profit1,
|
||||
SUM(d.shop_price) afs_shop_price,
|
||||
SUM(d.refund_money_by_cal) afs_total_money
|
||||
FROM goods_order a
|
||||
LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id
|
||||
LEFT JOIN afs_order c ON c.vendor_order_id = a.vendor_order_id
|
||||
LEFT JOIN order_sku_financial d ON d.afs_order_id = c.afs_order_id AND d.is_afs_order = ?
|
||||
WHERE a.status = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
model.OrderStatusCanceled, //排除已取消的订单
|
||||
model.YES,
|
||||
model.OrderStatusFinished,
|
||||
}
|
||||
if !utils.IsTimeZero(fromDate) && !utils.IsTimeZero(toDate) {
|
||||
sql += ` AND a.order_created_at BETWEEN ? AND ?`
|
||||
@@ -113,9 +123,13 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time,
|
||||
sql += ` AND IF(a.jx_store_id != 0, a.jx_store_id, a.store_id) IN(` + GenQuestionMarks(len(storeIDs)) + `)`
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
if len(vendorIDs) > 0 {
|
||||
sql += ` AND a.vendor_id IN(` + GenQuestionMarks(len(vendorIDs)) + `)`
|
||||
sqlParams = append(sqlParams, vendorIDs)
|
||||
}
|
||||
sql += `
|
||||
GROUP BY 1
|
||||
)s
|
||||
)ss ) s
|
||||
ON s.store_id = c.id
|
||||
`
|
||||
if len(storeIDs) > 0 {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/aliupcapi"
|
||||
@@ -96,6 +97,31 @@ func GetCategories(db *DaoDB, parentID, level int, catIDs []int, isExd bool) (ca
|
||||
return cats, GetRows(db, &cats, sql, params)
|
||||
}
|
||||
|
||||
func GetCategoriesForStore(db *DaoDB, parentID, level int, catIDs []int) (cats []*model.StoreCategoryMap, err error) {
|
||||
sql := `
|
||||
SELECT t1.*, t1.seq store_category_seq, t1.id category_id, t1.name store_category_name
|
||||
FROM sku_category t1
|
||||
WHERE t1.deleted_at = ?`
|
||||
params := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
if parentID != -1 {
|
||||
sql += " AND t1.parent_id = ?"
|
||||
params = append(params, parentID)
|
||||
}
|
||||
if len(catIDs) > 0 {
|
||||
sql += " AND t1.id IN (" + GenQuestionMarks(len(catIDs)) + ")"
|
||||
params = append(params, catIDs)
|
||||
}
|
||||
if level > 0 {
|
||||
sql += " AND t1.level = ?"
|
||||
params = append(params, level)
|
||||
}
|
||||
sql += ` AND t1.is_exd_spec = 0
|
||||
ORDER BY t1.level, t1.seq`
|
||||
return cats, GetRows(db, &cats, sql, params)
|
||||
}
|
||||
|
||||
func GetSkus(db *DaoDB, skuIDs, nameIDs, statuss, catIDs []int, eclpIDs []string) (skuList []*model.SkuAndName, err error) {
|
||||
sql := `
|
||||
SELECT t1.*, t2.name, t2.unit, t2.prefix, t2.is_spu, t2.ex_prefix, t2.ex_prefix_begin, t2.ex_prefix_end, t2.upc
|
||||
@@ -198,6 +224,7 @@ func GetSkuByCats(db *DaoDB, catIDs []int) (skuList []*model.Sku, err error) {
|
||||
|
||||
// 多门店平台使用,当前只有京东
|
||||
func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, parentCatID int, catIDs []int, mustDirty bool) (catList []*SkuStoreCatInfo, err error) {
|
||||
sqlParams := []interface{}{}
|
||||
sql := `
|
||||
SELECT
|
||||
t1m.vendor_id, t1m.vendor_org_code,
|
||||
@@ -216,15 +243,26 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string,
|
||||
t1pm.sync_status parent_cat_sync_status
|
||||
FROM sku_category t1
|
||||
LEFT JOIN thing_map t1m ON t1m.thing_id = t1.id AND t1m.thing_type = ? AND t1m.deleted_at = ?
|
||||
`
|
||||
sqlParams = append(sqlParams,
|
||||
model.ThingTypeCategory,
|
||||
utils.DefaultTimeValue)
|
||||
if len(vendorIDs) > 0 {
|
||||
sql += " AND t1m.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
|
||||
sqlParams = append(sqlParams, vendorIDs)
|
||||
}
|
||||
if len(appOrgCodes) > 0 {
|
||||
sql += " AND t1m.vendor_org_code IN (" + GenQuestionMarks(len(appOrgCodes)) + ")"
|
||||
sqlParams = append(sqlParams, appOrgCodes)
|
||||
}
|
||||
sql += `
|
||||
LEFT JOIN vendor_org_code a ON a.vendor_org_code = t1m.vendor_org_code AND a.vendor_id = t1m.vendor_id AND a.deleted_at = ?
|
||||
LEFT JOIN vendor_category_map b ON b.vendor_org_code = t1m.vendor_org_code AND b.vendor_id = t1m.vendor_id AND b.category_id = t1m.thing_id AND b.deleted_at = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
model.ThingTypeCategory,
|
||||
sqlParams = append(sqlParams,
|
||||
utils.DefaultTimeValue,
|
||||
utils.DefaultTimeValue,
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
)
|
||||
sql += `
|
||||
LEFT JOIN sku_category t1p ON t1p.id = t1.parent_id
|
||||
LEFT JOIN thing_map t1pm ON t1pm.thing_id = t1p.id AND t1pm.thing_type = ? AND t1m.deleted_at = ?
|
||||
@@ -248,15 +286,9 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string,
|
||||
sql += " AND t1.parent_id = ?"
|
||||
sqlParams = append(sqlParams, parentCatID)
|
||||
}
|
||||
if len(vendorIDs) > 0 {
|
||||
sql += " AND t1m.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
|
||||
sqlParams = append(sqlParams, vendorIDs)
|
||||
}
|
||||
if len(appOrgCodes) > 0 {
|
||||
sql += " AND t1m.vendor_org_code IN (" + GenQuestionMarks(len(appOrgCodes)) + ")"
|
||||
sqlParams = append(sqlParams, appOrgCodes)
|
||||
}
|
||||
sql += " ORDER BY t1.seq"
|
||||
fmt.Println(sql)
|
||||
fmt.Println(sqlParams)
|
||||
err = GetRows(db, &catList, sql, sqlParams...)
|
||||
return catList, err
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo
|
||||
sqlParams = append(sqlParams, vendorOrgCode)
|
||||
}
|
||||
if vendorID == model.VendorIDJDShop && vendorOrgCode == "" {
|
||||
sql += " AND t2.vendor_org_code = 1"
|
||||
sql += " AND t2.vendor_org_code = 2"
|
||||
}
|
||||
if err = GetRow(db, &storeDetail, sql, sqlParams...); err == nil {
|
||||
storeDetail.PricePercentagePackObj = PricePercentagePack2Obj(storeDetail.PricePercentagePackStr)
|
||||
@@ -1178,3 +1178,104 @@ func GetStoreAcctExpendLastCreateWayBillFee(db *DaoDB, vendorOrderID string) (la
|
||||
}
|
||||
return lastFee, err
|
||||
}
|
||||
|
||||
type GetStoreManageStateResult struct {
|
||||
StoreName string `json:"storeName"`
|
||||
VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"`
|
||||
MarketScale int `json:"marketScale"` //市场规模
|
||||
Comment string `json:"comment"`
|
||||
model.StoreManageState
|
||||
}
|
||||
|
||||
func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
|
||||
var (
|
||||
requestList []*GetStoreManageStateResult
|
||||
GetStoreManageStateSortTypeMap = map[int]string{
|
||||
1: "a.cover_area",
|
||||
2: "c.market_scale",
|
||||
3: "a.open_time",
|
||||
4: "a.sku_count",
|
||||
5: "a.high_sku_count",
|
||||
6: "a.act_ample",
|
||||
7: "a.null_order_count",
|
||||
8: "a.refuse_order_count",
|
||||
9: "a.store_score",
|
||||
}
|
||||
)
|
||||
sql := `
|
||||
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name store_name, c.vendor_store_id, c.market_scale, b.comment
|
||||
FROM store_manage_state a
|
||||
LEFT JOIN store b ON b.id = a.store_id AND b.deleted_at = ?
|
||||
LEFT JOIN store_map c ON c.store_id = a.store_id AND c.vendor_id = a.vendor_id AND c.deleted_at = ?
|
||||
WHERE a.vendor_status <> ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue, utils.DefaultTimeValue,
|
||||
model.StoreStatusDisabled,
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
if len(brandIDs) > 0 {
|
||||
sql += " AND b.brand_id IN (" + GenQuestionMarks(len(brandIDs)) + ")"
|
||||
sqlParams = append(sqlParams, brandIDs)
|
||||
}
|
||||
if vendorID != -1 {
|
||||
sql += " AND a.vendor_id = ?"
|
||||
sqlParams = append(sqlParams, vendorID)
|
||||
}
|
||||
if sortType != 0 {
|
||||
tempSortType := 0
|
||||
if sortType < 0 {
|
||||
tempSortType = -sortType
|
||||
} else {
|
||||
tempSortType = sortType
|
||||
}
|
||||
if GetStoreManageStateSortTypeMap[tempSortType] != "" {
|
||||
sql += " ORDER BY " + GetStoreManageStateSortTypeMap[tempSortType]
|
||||
if sortType < 0 {
|
||||
sql += " DESC"
|
||||
}
|
||||
}
|
||||
}
|
||||
sql += " LIMIT ? OFFSET ?"
|
||||
pageSize = jxutils.FormalizePageSize(pageSize)
|
||||
sqlParams = append(sqlParams, pageSize, offset)
|
||||
Begin(db)
|
||||
defer Commit(db)
|
||||
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
|
||||
return &model.PagedInfo{
|
||||
TotalCount: GetLastTotalRowCount(db),
|
||||
Data: requestList,
|
||||
}, nil
|
||||
}
|
||||
return pagedInfo, err
|
||||
}
|
||||
|
||||
func GetStoreManageStateSimple(db *DaoDB, storeIDs, brandIDs []int, vendorID int) (pagedInfo []*model.StoreManageState, err error) {
|
||||
sql := `
|
||||
SELECT a.*
|
||||
FROM store_manage_state a
|
||||
LEFT JOIN store b ON b.id = a.store_id AND b.deleted_at = ?
|
||||
WHERE a.vendor_status <> ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
model.StoreStatusDisabled,
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
if len(brandIDs) > 0 {
|
||||
sql += " AND b.brand_id IN (" + GenQuestionMarks(len(brandIDs)) + ")"
|
||||
sqlParams = append(sqlParams, brandIDs)
|
||||
}
|
||||
if vendorID != -1 {
|
||||
sql += " AND a.vendor_id = ?"
|
||||
sqlParams = append(sqlParams, vendorID)
|
||||
}
|
||||
err = GetRows(db, &pagedInfo, sql, sqlParams...)
|
||||
return pagedInfo, err
|
||||
}
|
||||
|
||||
@@ -109,6 +109,8 @@ type StoreSkuSyncInfo struct {
|
||||
Img string
|
||||
Img2 string
|
||||
Img3 string
|
||||
Img4 string
|
||||
Img5 string
|
||||
DescImg string
|
||||
ImgWatermark string `json:"imgWatermark"` //图片水印
|
||||
ImgMix string //合成水印后的图片
|
||||
@@ -457,6 +459,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
||||
IF(t11.%s <> '', t11.%s, t3.img) img,
|
||||
IF(t12.%s <> '', t12.%s, t3.img2) img2,
|
||||
IF(t15.%s <> '', t15.%s, t3.img3) img3,
|
||||
IF(t20.%s <> '', t20.%s, t3.img4) img4,
|
||||
IF(t21.%s <> '', t21.%s, t3.img5) img5,
|
||||
IF(t13.%s <> '', t13.%s, t3.desc_img) desc_img,
|
||||
t4.%s_category_id vendor_vendor_cat_id,
|
||||
t4.name category_name,
|
||||
@@ -470,6 +474,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
||||
GetDataResFieldName(vendorID), GetDataResFieldName(vendorID),
|
||||
GetDataResFieldName(vendorID), GetDataResFieldName(vendorID),
|
||||
GetDataResFieldName(vendorID), GetDataResFieldName(vendorID),
|
||||
GetDataResFieldName(vendorID), GetDataResFieldName(vendorID),
|
||||
GetDataResFieldName(vendorID), GetDataResFieldName(vendorID),
|
||||
fieldPrefix,
|
||||
}
|
||||
if isSingleStorePF {
|
||||
@@ -496,6 +502,8 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
||||
LEFT JOIN data_resource t11 ON t11.main_url = t3.img
|
||||
LEFT JOIN data_resource t12 ON t12.main_url = t3.img2
|
||||
LEFT JOIN data_resource t15 ON t15.main_url = t3.img3
|
||||
LEFT JOIN data_resource t20 ON t20.main_url = t3.img4
|
||||
LEFT JOIN data_resource t21 ON t21.main_url = t3.img5
|
||||
LEFT JOIN data_resource t13 ON t13.main_url = t3.desc_img
|
||||
LEFT JOIN sku_exinfo_map tsu ON tsu.name_id = t3.id AND tsu.deleted_at = ? AND tsu.vendor_id = t14.vendor_id
|
||||
LEFT JOIN sku_vendor_category_map tsu1 ON tsu1.name_id = t3.id AND tsu1.deleted_at = ? AND tsu1.vendor_id = t14.vendor_id
|
||||
@@ -1812,3 +1820,32 @@ func GetStoreSkuListWithVendor(db *DaoDB, storeID, vendorID int, vendorOrgCode s
|
||||
err = GetRows(db, &skuList, sql, sqlParams)
|
||||
return skuList, err
|
||||
}
|
||||
|
||||
type GetStoresSkusForManageStateResult struct {
|
||||
SkuID int `orm:"column(sku_id)"`
|
||||
UnitPrice int
|
||||
MidUnitPrice int
|
||||
}
|
||||
|
||||
func GetStoresSkusForManageState(db *DaoDB, storeID, status int) (storeSkuList []*GetStoresSkusForManageStateResult, err error) {
|
||||
sql := `
|
||||
SELECT t1.sku_id, t1.unit_price, t2.mid_unit_price
|
||||
FROM store_sku_bind t1
|
||||
LEFT JOIN price_refer_snapshot t2 ON t1.sku_id = t2.sku_id AND t2.city_code = ? AND t2.snapshot_at = ?
|
||||
WHERE t1.deleted_at = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
0, utils.Time2Date(time.Now().AddDate(0, 0, -1)),
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
if storeID != 0 {
|
||||
sql += " AND t1.store_id = ?"
|
||||
sqlParams = append(sqlParams, storeID)
|
||||
}
|
||||
if status != model.StoreSkuBindStatusNA {
|
||||
sql += " AND t1.status = ? "
|
||||
sqlParams = append(sqlParams, status)
|
||||
}
|
||||
err = GetRows(db, &storeSkuList, sql, sqlParams...)
|
||||
return storeSkuList, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user