...
|
...
|
@@ -35,6 +35,14 @@ const { |
|
|
PRODUCT_LIST_SUCCESS,
|
|
|
PRODUCT_LIST_FAILURE,
|
|
|
|
|
|
PRODUCT_LIST_FORPERSON_REQUEST,
|
|
|
PRODUCT_LIST_FORPERSON_SUCCESS,
|
|
|
PRODUCT_LIST_FORPERSON_FAILURE,
|
|
|
|
|
|
PRODUCT_LIST_FORNEW_REQUEST,
|
|
|
PRODUCT_LIST_FORNEW_SUCCESS,
|
|
|
PRODUCT_LIST_FORNEW_FAILURE,
|
|
|
|
|
|
PRODUCT_FILTER_ACTION,
|
|
|
} = require('../../constants/actionTypes').default;
|
|
|
|
...
|
...
|
@@ -594,6 +602,125 @@ function parseProductList(json) { |
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
export function productListForPersonRequest() {
|
|
|
return {
|
|
|
type: PRODUCT_LIST_FORPERSON_REQUEST,
|
|
|
};
|
|
|
}
|
|
|
|
|
|
export function productListForPersonSuccess(json) {
|
|
|
return {
|
|
|
type: PRODUCT_LIST_FORPERSON_SUCCESS,
|
|
|
payload: json
|
|
|
}
|
|
|
}
|
|
|
|
|
|
export function productListForPersonFailure(error) {
|
|
|
return {
|
|
|
type: PRODUCT_LIST_FORPERSON_FAILURE,
|
|
|
payload: error
|
|
|
}
|
|
|
}
|
|
|
|
|
|
export function getProductListForPersopn(reload=false) {
|
|
|
return (dispatch, getState) => {
|
|
|
let {app, brandStore} = getState();
|
|
|
let {shopId, productListForPerson} = brandStore;
|
|
|
|
|
|
if (reload) {
|
|
|
|
|
|
} else {
|
|
|
if (productListForPerson.isFetching || productListForPerson.endReached || productListForPerson.error) {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
let order = productListForPerson.order;
|
|
|
let page = productListForPerson.currentPage + 1;
|
|
|
let pageSize = productListForPerson.pageSize;
|
|
|
let channel = 1;
|
|
|
|
|
|
dispatch(productListForPersonRequest());
|
|
|
return new BrandStoreService().productListForPerson(shopId, channel, order, page, pageSize)
|
|
|
.then(json => {
|
|
|
|
|
|
let payload = parseProductList(json);
|
|
|
payload.endReached = payload.currentPage == payload.pageCount;
|
|
|
|
|
|
if (payload.currentPage > 1) {
|
|
|
let oldList = productList.list.toJS();
|
|
|
let list = [...oldList, ...payload.list];
|
|
|
payload.list = list;
|
|
|
}
|
|
|
dispatch(productListForPersonSuccess(payload));
|
|
|
})
|
|
|
.catch(error => {
|
|
|
dispatch(productListForPersonFailure(error));
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
|
|
|
|
|
|
export function productListForNewRequest() {
|
|
|
return {
|
|
|
type: PRODUCT_LIST_FORNEW_REQUEST,
|
|
|
};
|
|
|
}
|
|
|
|
|
|
export function productListForNewSuccess(json) {
|
|
|
return {
|
|
|
type: PRODUCT_LIST_FORNEW_SUCCESS,
|
|
|
payload: json
|
|
|
}
|
|
|
}
|
|
|
|
|
|
export function productListForNewFailure(error) {
|
|
|
return {
|
|
|
type: PRODUCT_LIST_FORNEW_FAILURE,
|
|
|
payload: error
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
export function getProductListForNew(reload=false) {
|
|
|
return (dispatch, getState) => {
|
|
|
let {app, brandStore} = getState();
|
|
|
let {shopId, productListForNew} = brandStore;
|
|
|
|
|
|
if (reload) {
|
|
|
|
|
|
} else {
|
|
|
if (productListForNew.isFetching || productListForNew.endReached || productListForNew.error) {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
let order = productListForNew.order;
|
|
|
let page = productListForNew.currentPage + 1;
|
|
|
let pageSize = productListForNew.pageSize;
|
|
|
let channel = 1;
|
|
|
|
|
|
dispatch(productListForNewRequest());
|
|
|
return new BrandStoreService().productListForNew(shopId, channel, order, page, pageSize)
|
|
|
.then(json => {
|
|
|
|
|
|
let payload = parseProductList(json);
|
|
|
payload.endReached = payload.currentPage == payload.pageCount;
|
|
|
|
|
|
if (payload.currentPage > 1) {
|
|
|
let oldList = productListForNew.list.toJS();
|
|
|
let list = [...oldList, ...payload.list];
|
|
|
payload.list = list;
|
|
|
}
|
|
|
dispatch(productListForNewSuccess(payload));
|
|
|
})
|
|
|
.catch(error => {
|
|
|
dispatch(productListForNewFailure(error));
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
|
|
|
export function addFavorite() {
|
|
|
return (dispatch, getState) => {
|
|
|
let {app, brandStore} = getState();
|
...
|
...
|
|