添加导入商品采购价
This commit is contained in:
parent
11687aa3d4
commit
959978f746
@ -6,6 +6,7 @@ use app\admin\logic\beforehand_order_cart_info\BeforehandOrderCartInfoLogic;
|
||||
use app\admin\logic\product_source_link_info\ProductSourceLinkInfoLogic;
|
||||
use app\admin\logic\inventory_transfer_order\InventoryTransferOrderLogic;
|
||||
use app\admin\logic\store_product\StoreProductLogic;
|
||||
use app\admin\logic\store_product_price\StoreProductPriceLogic;
|
||||
use app\admin\service\ProductPriceService;
|
||||
use app\common\model\beforehand_order\BeforehandOrder;
|
||||
use app\common\model\beforehand_order_cart_info\BeforehandOrderCartInfo;
|
||||
@ -31,10 +32,41 @@ use think\facade\Db;
|
||||
class LocalController extends BaseAdminController
|
||||
{
|
||||
|
||||
public $notNeedLogin = ['activityPrice', 'searchProduct', 'setPrice', 'index', 'updateProductPriceList', 'importOrder', 'warehousing', 'outbound', 'syncPrice', 'importProduct'];
|
||||
public $notNeedLogin = ['importPrice', 'searchProduct', 'setPrice', 'index', 'updateProductPriceList', 'importOrder', 'warehousing', 'outbound', 'syncPrice', 'importProduct'];
|
||||
|
||||
public $ids = [1829, 1828, 1827, 1826, 1825, 1824, 1823, 1821, 1820, 1814, 1813, 1811, 1810, 1809, 1808, 1807, 1806, 1800, 1799, 1798, 1796, 1795, 1794, 1793, 1792, 1791, 1790, 1789, 1788, 1787, 1786, 1785, 1784, 1783, 1782, 1781, 1780, 1779, 1778, 1777, 1776, 1775, 1774, 1773, 1772, 1771, 1770, 1768, 1765, 1764, 1763, 1762, 1761, 1760, 1759, 1758, 1757, 1756, 1755, 1754, 1753, 1752, 1751, 1750, 1749, 1748, 1747, 1746, 1745, 1744, 1743, 1742, 1741, 1740, 1739, 1738, 1737, 1736, 1735, 1733, 1732, 1731, 1730, 1729, 1728, 1727, 1726, 1725, 1724, 1723, 1722, 1720, 1719, 1718, 1717, 1716, 1715, 1714, 1713, 1712, 1711, 1710, 1709, 1708, 1707, 1706, 1705, 1704, 1703, 1701, 1700, 1699, 1698, 1697, 1696, 1695, 1694, 1693, 1692, 1691, 1690, 1689, 1688, 1687, 1686, 1685, 1684, 1683, 1682, 1681, 1680, 1679, 1678, 1677, 1676, 1675, 1674, 1673, 1672, 1671, 1670, 1668, 1667, 1666, 1665, 1664, 1663, 1660, 1659, 1658, 1657, 1656, 1655, 1654, 1652, 1651, 1650, 1649, 1648, 1647, 1646, 1645, 1644, 1643, 1642, 1641, 1640, 1639, 1638, 1637, 1636, 1635, 1634, 1633, 1632, 1631, 1630, 1629, 1628, 1627, 1626, 1623, 1622];
|
||||
|
||||
public function importPrice()
|
||||
{
|
||||
$file = $this->request->file('file');
|
||||
$reader = IOFactory::createReader('Xlsx');
|
||||
$spreadsheet = $reader->load($file->getRealPath());
|
||||
$data = $spreadsheet->getActiveSheet()->toArray();
|
||||
foreach ($data as $k => $v) {
|
||||
if ($k < 1) {
|
||||
continue;
|
||||
}
|
||||
$productId = $v[0];
|
||||
$purchasePrice = $v[12];
|
||||
$product = StoreProduct::where('id', $productId)->find();
|
||||
if (empty($product)) {
|
||||
continue;
|
||||
}
|
||||
$params = [
|
||||
'product_id' => $productId,
|
||||
'purchase_price' => $purchasePrice,
|
||||
'status' => 1,
|
||||
];
|
||||
$productService = new ProductPriceService();
|
||||
$productPriceRate = $productService->getProductPriceRate($productId);
|
||||
if (!empty($productPriceRate)) {
|
||||
$priceArray = $productService->setProductPrice($params['purchase_price'], $productPriceRate);
|
||||
$params = array_merge($params, $priceArray);
|
||||
}
|
||||
StoreProductPriceLogic::add($params);
|
||||
}
|
||||
}
|
||||
|
||||
public function importProduct()
|
||||
{
|
||||
$file = $this->request->file('file');
|
||||
|
@ -25,12 +25,11 @@ class ProductPriceService
|
||||
$result['vip_price'] = bcmul($result['purchase'], $result['vip_lv'], 2);
|
||||
$result['price_lv'] = bcdiv($productPriceRate['price_rate'], 100, 2);
|
||||
$result['price'] = bcmul($result['purchase'], $result['price_lv'], 2);
|
||||
// 暂时不处理零售价,零售价使用会员价
|
||||
// $lastNum = substr($result['price'], -1);
|
||||
// if ($lastNum > 0) {
|
||||
// $result['price'] = ceil($result['price'] * 10);
|
||||
// $result['price'] = bcdiv($result['price'], 10, 2);
|
||||
// }
|
||||
$lastNum = substr($result['price'], -1);
|
||||
if ($lastNum > 0) {
|
||||
$result['price'] = ceil($result['price'] * 10);
|
||||
$result['price'] = bcdiv($result['price'], 10, 2);
|
||||
}
|
||||
$lastNum = substr($result['vip_price'], -1);
|
||||
if ($lastNum > 0) {
|
||||
$result['vip_price'] = ceil($result['vip_price'] * 10);
|
||||
|
Loading…
x
Reference in New Issue
Block a user