commit
1328fe3c09
@ -72,6 +72,7 @@ class InventoryTransferController extends BaseAdminController
|
|||||||
*/
|
*/
|
||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
|
return $this->fail('删除功能暂未开放');
|
||||||
$params = (new InventoryTransferValidate())->post()->goCheck('delete');
|
$params = (new InventoryTransferValidate())->post()->goCheck('delete');
|
||||||
InventoryTransferLogic::delete($params);
|
InventoryTransferLogic::delete($params);
|
||||||
return $this->success('删除成功', [], 1, 1);
|
return $this->success('删除成功', [], 1, 1);
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\admin\controller\purchase_order_info;
|
||||||
|
|
||||||
|
|
||||||
|
use app\admin\controller\BaseAdminController;
|
||||||
|
use app\admin\logic\purchase_order_info\PurchaseOrderInfoLogic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购订单详情控制器
|
||||||
|
* Class PurchaseOrderInfoController
|
||||||
|
* @package app\admin\controller\purchase_order_info
|
||||||
|
*/
|
||||||
|
class PurchaseOrderInfoController extends BaseAdminController
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 编辑采购供应链商品
|
||||||
|
* @return \think\response\Json
|
||||||
|
* @author admin
|
||||||
|
* @date 2024/08/14 15:06
|
||||||
|
*/
|
||||||
|
public function edit()
|
||||||
|
{
|
||||||
|
$params = $this->request->post();
|
||||||
|
switch ($params['type']) {
|
||||||
|
case 'buyer':
|
||||||
|
PurchaseOrderInfoLogic::buyer($params);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return $this->fail('参数错误');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (PurchaseOrderInfoLogic::hasError()) {
|
||||||
|
return $this->fail(PurchaseOrderInfoLogic::getError());
|
||||||
|
}
|
||||||
|
return $this->success('设置成功', [], 1, 1);
|
||||||
|
}
|
||||||
|
}
|
@ -70,20 +70,27 @@ class InventoryTransferLists extends BaseAdminDataLists implements ListsSearchIn
|
|||||||
}
|
}
|
||||||
|
|
||||||
return InventoryTransfer::where($this->searchWhere)
|
return InventoryTransfer::where($this->searchWhere)
|
||||||
->field(['id', 'product_id', 'nums', 'one_before_nums', 'one_after_nums','two_before_nums','two_after_nums', 'type', 'one_id', 'two_id', 'create_time'])
|
->field(['id', 'product_id', 'nums', 'one_before_nums', 'one_after_nums','two_before_nums','two_after_nums', 'one_type','two_type', 'one_id', 'two_id', 'create_time'])
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()->each(function($item){
|
->select()->each(function($item){
|
||||||
$item->store_name= StoreProduct::where('id',$item->product_id)->value('store_name');
|
$item->store_name= StoreProduct::where('id',$item->product_id)->value('store_name');
|
||||||
if($item->type==1){
|
$type_name='';
|
||||||
$item->type_name='商户';
|
if($item->one_type==1){
|
||||||
$item->one_name=SystemStore::where('id',$item->one_id)->value('name');
|
$item->one_name=SystemStore::where('id',$item->one_id)->value('name');
|
||||||
|
$type_name='门店转';
|
||||||
|
}else{
|
||||||
|
$item->one_name=Warehouse::where('id',$item->one_id)->value('name');
|
||||||
|
$type_name='仓库转';
|
||||||
|
}
|
||||||
|
if($item->two_type==1){
|
||||||
|
$type_name.='门店';
|
||||||
$item->two_name=SystemStore::where('id',$item->two_id)->value('name');
|
$item->two_name=SystemStore::where('id',$item->two_id)->value('name');
|
||||||
}else{
|
}else{
|
||||||
$item->type_name='仓库';
|
$type_name.='仓库';
|
||||||
$item->one_name=Warehouse::where('id',$item->one_id)->value('name');
|
|
||||||
$item->two_name=Warehouse::where('id',$item->two_id)->value('name');
|
$item->two_name=Warehouse::where('id',$item->two_id)->value('name');
|
||||||
}
|
}
|
||||||
|
$item->type_name=$type_name;
|
||||||
$item->store_name= StoreProduct::where('id',$item->product_id)->value('store_name');
|
$item->store_name= StoreProduct::where('id',$item->product_id)->value('store_name');
|
||||||
})
|
})
|
||||||
->toArray();
|
->toArray();
|
||||||
|
@ -6,6 +6,7 @@ namespace app\admin\lists\purchase_order_info;
|
|||||||
use app\admin\lists\BaseAdminDataLists;
|
use app\admin\lists\BaseAdminDataLists;
|
||||||
use app\common\lists\ListsSearchInterface;
|
use app\common\lists\ListsSearchInterface;
|
||||||
use app\common\model\purchase_order_info\PurchaseOrderInfo;
|
use app\common\model\purchase_order_info\PurchaseOrderInfo;
|
||||||
|
use app\common\model\store_branch_product\StoreBranchProduct;
|
||||||
use app\common\model\store_product\StoreProduct;
|
use app\common\model\store_product\StoreProduct;
|
||||||
use app\common\model\store_product_unit\StoreProductUnit;
|
use app\common\model\store_product_unit\StoreProductUnit;
|
||||||
use app\common\model\system_store\SystemStore;
|
use app\common\model\system_store\SystemStore;
|
||||||
@ -48,13 +49,22 @@ class PurchaseOrderInfoLists extends BaseAdminDataLists implements ListsSearchIn
|
|||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()->each(function ($item) {
|
->select()->each(function ($item) {
|
||||||
$find=StoreProduct::where('id',$item->product_id)->field('store_info,unit,store_name,image')->find();
|
$find=StoreBranchProduct::where('product_id',$item->product_id)->where('store_id',$item->store_id)->field('store_info,stock,unit,store_name,image')->find();
|
||||||
if($find){
|
if($find){
|
||||||
$item->store_name=$find->store_name;
|
$item->store_name=$find->store_name;
|
||||||
$item->unit_name=StoreProductUnit::where('id',$find->unit)->value('name');
|
$item->unit_name=StoreProductUnit::where('id',$find->unit)->value('name');
|
||||||
|
$item->unit=$find->unit;
|
||||||
|
$item->stock=$find->stock;
|
||||||
$item->store_info=$find->store_info;
|
$item->store_info=$find->store_info;
|
||||||
$item->image=$find->image;
|
$item->image=$find->image;
|
||||||
}
|
}
|
||||||
|
if($item->is_buyer==1){
|
||||||
|
$item->is_buyer_name='需采购';
|
||||||
|
}elseif($item->is_buyer==-1){
|
||||||
|
$item->is_buyer_name='不采购';
|
||||||
|
}else{
|
||||||
|
$item->is_buyer_name='未知';
|
||||||
|
}
|
||||||
switch ($item->storage) {
|
switch ($item->storage) {
|
||||||
case 0:
|
case 0:
|
||||||
$item->storage_name = '未入库';
|
$item->storage_name = '未入库';
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace app\admin\logic\inventory_transfer;
|
namespace app\admin\logic\inventory_transfer;
|
||||||
|
|
||||||
|
use app\admin\logic\warehouse_product\WarehouseProductLogic;
|
||||||
use app\common\model\inventory_transfer\InventoryTransfer;
|
use app\common\model\inventory_transfer\InventoryTransfer;
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
use app\common\model\store_branch_product\StoreBranchProduct;
|
use app\common\model\store_branch_product\StoreBranchProduct;
|
||||||
@ -32,33 +32,43 @@ class InventoryTransferLogic extends BaseLogic
|
|||||||
$one_after_nums = 0;
|
$one_after_nums = 0;
|
||||||
$two_before_nums = 0;
|
$two_before_nums = 0;
|
||||||
$two_after_nums = 0;
|
$two_after_nums = 0;
|
||||||
if ($params['type'] == 1) {
|
if($params['one_type']==1){
|
||||||
$stock = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['one_id'])->value('stock');
|
$stock = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['one_id'])->value('stock');
|
||||||
$stock_two = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->value('stock');
|
|
||||||
if ($stock < $params['nums']) {
|
if ($stock < $params['nums']) {
|
||||||
self::setError('调拨数量不能大于当前门店库存');
|
self::setError('调拨数量不能大于当前门店库存');
|
||||||
return false;
|
return false;
|
||||||
} else {
|
|
||||||
$one_before_nums = $stock;
|
|
||||||
$one_after_nums = bcsub($stock, $params['nums']);
|
|
||||||
|
|
||||||
$two_before_nums = $stock_two;
|
|
||||||
$two_after_nums = bcadd($stock_two, $params['nums']);
|
|
||||||
}
|
}
|
||||||
} elseif ($params['type'] == 2) {
|
if($params['two_type']==1){
|
||||||
|
$stock_two = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->value('stock');
|
||||||
|
}elseif($params['two_type']==2){
|
||||||
|
$stock_two = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->value('nums');
|
||||||
|
}
|
||||||
|
$one_before_nums = $stock;
|
||||||
|
$one_after_nums = bcsub($stock, $params['nums']);
|
||||||
|
|
||||||
|
$two_before_nums = $stock_two;
|
||||||
|
$two_after_nums = bcadd($stock_two, $params['nums']);
|
||||||
|
}elseif($params['one_type']==2){
|
||||||
$stock = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['one_id'])->value('nums');
|
$stock = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['one_id'])->value('nums');
|
||||||
$stock_two = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->value('nums');
|
|
||||||
if ($stock < $params['nums']) {
|
if ($stock < $params['nums']) {
|
||||||
self::setError('调拨数量不能大于当前仓库库存');
|
self::setError('调拨数量不能大于当前仓库库存');
|
||||||
return false;
|
return false;
|
||||||
} else {
|
|
||||||
$one_before_nums = $stock;
|
|
||||||
$one_after_nums = bcsub($stock, $params['nums']);
|
|
||||||
|
|
||||||
$two_before_nums = $stock_two;
|
|
||||||
$two_after_nums = bcadd($stock_two, $params['nums']);
|
|
||||||
}
|
}
|
||||||
|
if($params['two_type']==1){
|
||||||
|
$stock_two = StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->value('stock');
|
||||||
|
}elseif($params['two_type']==2){
|
||||||
|
$stock_two = WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->value('nums');
|
||||||
|
}
|
||||||
|
$one_before_nums = $stock;
|
||||||
|
$one_after_nums = bcsub($stock, $params['nums']);
|
||||||
|
|
||||||
|
$two_before_nums = $stock_two;
|
||||||
|
$two_after_nums = bcadd($stock_two, $params['nums']);
|
||||||
|
}else{
|
||||||
|
self::setError('调拨类型错误');
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
InventoryTransfer::create([
|
InventoryTransfer::create([
|
||||||
@ -68,20 +78,24 @@ class InventoryTransferLogic extends BaseLogic
|
|||||||
'one_after_nums' => $one_after_nums,
|
'one_after_nums' => $one_after_nums,
|
||||||
'two_before_nums' => $two_before_nums,
|
'two_before_nums' => $two_before_nums,
|
||||||
'two_after_nums' => $two_after_nums,
|
'two_after_nums' => $two_after_nums,
|
||||||
'type' => $params['type'],
|
'one_type' => $params['one_type'],
|
||||||
|
'two_type' => $params['two_type'],
|
||||||
'one_id' => $params['one_id'],
|
'one_id' => $params['one_id'],
|
||||||
'two_id' => $params['two_id']
|
'two_id' => $params['two_id']
|
||||||
]);
|
]);
|
||||||
if ($params['type'] == 1) {
|
if($params['one_type']==1){
|
||||||
StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['one_id'])->dec('stock', $params['nums'])->update();
|
StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['one_id'])->dec('stock', $params['nums'])->update();
|
||||||
StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->inc('stock', $params['nums'])->update();
|
} elseif ($params['one_type'] == 2) {
|
||||||
} elseif ($params['type'] == 2) {
|
|
||||||
WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['one_id'])->dec('nums', $params['nums'])->update();
|
WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['one_id'])->dec('nums', $params['nums'])->update();
|
||||||
|
}
|
||||||
|
if($params['two_type']==1){
|
||||||
|
StoreBranchProduct::where('product_id', $params['product_id'])->where('store_id', $params['two_id'])->inc('stock', $params['nums'])->update();
|
||||||
|
} elseif ($params['two_type'] == 2) {
|
||||||
WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->inc('nums', $params['nums'])->update();
|
WarehouseProductStorege::where('product_id', $params['product_id'])->where('warehouse_id', $params['two_id'])->inc('nums', $params['nums'])->update();
|
||||||
}
|
}
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Throwable $e) {
|
||||||
Db::rollback();
|
Db::rollback();
|
||||||
self::setError($e->getMessage());
|
self::setError($e->getMessage());
|
||||||
return false;
|
return false;
|
||||||
|
@ -112,18 +112,18 @@ class PurchaseOrderLogic extends BaseLogic
|
|||||||
$purchase_order_info_two[] = $arr;
|
$purchase_order_info_two[] = $arr;
|
||||||
}
|
}
|
||||||
$purchaseOrderInfo->saveAll($purchase_order_info_two);
|
$purchaseOrderInfo->saveAll($purchase_order_info_two);
|
||||||
$productOffer = [];
|
// $productOffer = [];
|
||||||
foreach ($info as $item) {
|
// foreach ($info as $item) {
|
||||||
$arr['order_id'] = $res['id'];
|
// $arr['order_id'] = $res['id'];
|
||||||
$arr['product_id'] = $item['product_id'];
|
// $arr['product_id'] = $item['product_id'];
|
||||||
$arr['price'] = $item['price'];
|
// $arr['price'] = $item['price'];
|
||||||
$arr['total_price'] = $item['total_price'];
|
// $arr['total_price'] = $item['total_price'];
|
||||||
$arr['need_num'] = $item['cart_num'];
|
// $arr['need_num'] = $item['cart_num'];
|
||||||
$arr['unit'] = StoreProduct::where('id', $item['product_id'])->value('unit');
|
// $arr['unit'] = StoreProduct::where('id', $item['product_id'])->value('unit');
|
||||||
$productOffer[] = $arr;
|
// $productOffer[] = $arr;
|
||||||
}
|
// }
|
||||||
$purchaseProductOffer = new PurchaseProductOffer();
|
// $purchaseProductOffer = new PurchaseProductOffer();
|
||||||
$purchaseProductOffer->saveAll($productOffer);
|
// $purchaseProductOffer->saveAll($productOffer);
|
||||||
// StoreOrder::whereIn('id', $oid_arr)->update(['is_merge' => 1]);
|
// StoreOrder::whereIn('id', $oid_arr)->update(['is_merge' => 1]);
|
||||||
// Db::commit();
|
// Db::commit();
|
||||||
// return true;
|
// return true;
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\admin\logic\purchase_order_info;
|
||||||
|
|
||||||
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\purchase_order_info\PurchaseOrderInfo;
|
||||||
|
use app\common\model\purchase_product_offer\PurchaseProductOffer;
|
||||||
|
use app\common\model\store_product\StoreProduct;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
|
class PurchaseOrderInfoLogic extends BaseLogic
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 是否需采购
|
||||||
|
*/
|
||||||
|
public static function buyer($params)
|
||||||
|
{
|
||||||
|
$data['is_buyer'] = $params['is_buyer'];
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
if ($params['is_buyer'] == 1&& $params['poid']>0) {
|
||||||
|
$data['buyer_nums'] = $params['buyer_nums'];
|
||||||
|
$find = PurchaseProductOffer::where('order_id', $params['poid'])->where('product_id', $params['product_id'])->find();
|
||||||
|
if ($find) {
|
||||||
|
PurchaseProductOffer::where('id', $find['id'])->inc('buyer_nums', $params['buyer_nums'])->update();
|
||||||
|
} else {
|
||||||
|
$arr['order_id'] = $params['poid'];
|
||||||
|
$arr['product_id'] = $params['product_id'];
|
||||||
|
$arr['need_num'] = $params['cart_num'];
|
||||||
|
$arr['buyer_nums'] = $params['buyer_nums'];
|
||||||
|
$arr['unit'] = StoreProduct::where('id', $params['product_id'])->value('unit');
|
||||||
|
PurchaseProductOffer::create($arr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PurchaseOrderInfo::where('id', $params['id'])->update($data);
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Db::rollback();
|
||||||
|
self::setError($e->getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,7 @@ namespace app\admin\logic\purchase_product_offer;
|
|||||||
|
|
||||||
use app\common\model\purchase_product_offer\PurchaseProductOffer;
|
use app\common\model\purchase_product_offer\PurchaseProductOffer;
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\delivery_service\DeliveryService;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
||||||
|
|
||||||
@ -103,15 +104,17 @@ class PurchaseProductOfferLogic extends BaseLogic
|
|||||||
*/
|
*/
|
||||||
public static function buyer($params)
|
public static function buyer($params)
|
||||||
{
|
{
|
||||||
|
if($params['is_buyer']==1){
|
||||||
|
if($params['buyer_id']==''){
|
||||||
|
self::setError('采购人不能为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$data['buyer_id']=$params['buyer_id'];
|
||||||
|
$data['buyer_nums']=$params['buyer_nums'];
|
||||||
|
}
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
$data=[
|
$data['is_buyer']=$params['is_buyer'];
|
||||||
'is_buyer' => $params['is_buyer'],
|
|
||||||
];
|
|
||||||
if($params['is_buyer']==1){
|
|
||||||
$data['buyer_id']=$params['buyer_id'];
|
|
||||||
$data['buyer_nums']=$params['buyer_nums'];
|
|
||||||
}
|
|
||||||
PurchaseProductOffer::where('id', $params['id'])->update($data);
|
PurchaseProductOffer::where('id', $params['id'])->update($data);
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
|
@ -50,7 +50,7 @@ class InventoryTransferValidate extends BaseValidate
|
|||||||
*/
|
*/
|
||||||
public function sceneAdd()
|
public function sceneAdd()
|
||||||
{
|
{
|
||||||
return $this->only(['product_id','nums','type','one_id','two_id']);
|
return $this->only(['product_id','nums','one_id','two_id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -207,11 +207,27 @@ class IndexController extends BaseApiController
|
|||||||
*/
|
*/
|
||||||
public function config()
|
public function config()
|
||||||
{
|
{
|
||||||
$store_id = getenv('STORE_ID') ?? 1;
|
//处理返回最近的店铺
|
||||||
$find = SystemStore::where('id', $store_id)->find();
|
$params=$this->request->get();
|
||||||
|
if ((isset($params['lat']) && $params['lat'] != '') && (isset($params['long']) && $params['long'] != '')) {
|
||||||
|
$latitude = $params['lat'];
|
||||||
|
$longitude = $params['long'];
|
||||||
|
// 计算距离的SQL表达式
|
||||||
|
$distanceSql = "SQRT(POW(69.1 * (latitude - {$latitude}), 2) +
|
||||||
|
POW(69.1 * ({$longitude} - longitude) * COS(latitude / 57.3), 2))";
|
||||||
|
$find = SystemStore::field("id, name,abbreviation, {$distanceSql} AS distance")
|
||||||
|
->where('latitude', '<>', '')
|
||||||
|
->where('longitude', '<>', '')
|
||||||
|
->order('distance', 'asc') // 根据距离排序
|
||||||
|
->find();
|
||||||
|
} else {
|
||||||
|
$store_id = getenv('STORE_ID') ?? 1;
|
||||||
|
$find = SystemStore::where('id', $store_id)->find();
|
||||||
|
}
|
||||||
$list = [
|
$list = [
|
||||||
'id' => $find['id'],
|
'id' => $find['id'],
|
||||||
'store_name' => $find['name'],
|
'store_name' => $find['name'],
|
||||||
|
'abbreviation' => $find['abbreviation'],
|
||||||
];
|
];
|
||||||
return $this->success('ok', $list);
|
return $this->success('ok', $list);
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,8 @@ class UserController extends BaseApiController
|
|||||||
// ]
|
// ]
|
||||||
public function info()
|
public function info()
|
||||||
{
|
{
|
||||||
return $this->success('success', UserLogic::info($this->userId));
|
$params=$this->request->post();
|
||||||
|
return $this->success('success', UserLogic::info($this->userId,$params));
|
||||||
}
|
}
|
||||||
|
|
||||||
// #[
|
// #[
|
||||||
|
@ -35,7 +35,7 @@ class CartList extends BaseAdminDataLists implements ListsSearchInterface, Lists
|
|||||||
*/
|
*/
|
||||||
public function setSearch(): array
|
public function setSearch(): array
|
||||||
{
|
{
|
||||||
return [];
|
return ['='=>['store_id']];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ class SystemStoreLists extends BaseAdminDataLists implements ListsSearchInterfac
|
|||||||
$data = SystemStore::where($this->searchWhere)->where($where)
|
$data = SystemStore::where($this->searchWhere)->where($where)
|
||||||
->field(['id', 'name', 'phone', 'detailed_address', 'image', 'is_show',
|
->field(['id', 'name', 'phone', 'detailed_address', 'image', 'is_show',
|
||||||
'day_time','is_store','latitude','longitude','day_start','day_end','is_store'
|
'day_time','is_store','latitude','longitude','day_start','day_end','is_store'
|
||||||
,'is_send'
|
,'is_send','abbreviation'
|
||||||
])
|
])
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
|
@ -66,6 +66,11 @@ class OrderLogic extends BaseLogic
|
|||||||
*/
|
*/
|
||||||
static public function cartIdByOrderInfo($cartId, $addressId, $user = null, $params = [], $createOrder = 0)
|
static public function cartIdByOrderInfo($cartId, $addressId, $user = null, $params = [], $createOrder = 0)
|
||||||
{
|
{
|
||||||
|
if(empty($params['store_id']) || $params['store_id'] <= 0){
|
||||||
|
self::setError('请选择门店');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$where = ['is_pay' => 0];
|
$where = ['is_pay' => 0];
|
||||||
$cart_select = Cart::whereIn('id', $cartId)->where($where)->field('id,product_id,cart_num')->select()->toArray();
|
$cart_select = Cart::whereIn('id', $cartId)->where($where)->field('id,product_id,cart_num')->select()->toArray();
|
||||||
if (empty($cart_select)) {
|
if (empty($cart_select)) {
|
||||||
@ -84,9 +89,9 @@ class OrderLogic extends BaseLogic
|
|||||||
self::$fresh_price = 0; //生鲜金额
|
self::$fresh_price = 0; //生鲜金额
|
||||||
/** 计算价格 */
|
/** 计算价格 */
|
||||||
$off_activity = Config::where('name', 'off_activity')->value('value');
|
$off_activity = Config::where('name', 'off_activity')->value('value');
|
||||||
$field = 'id,store_name,image,unit,price,vip_price,cost,purchase,cate_id,store_info,rose';
|
$field = 'product_id id,store_name,image,unit,price,vip_price,cost,purchase,cate_id,store_info,rose';
|
||||||
foreach ($cart_select as $k => $v) {
|
foreach ($cart_select as $k => $v) {
|
||||||
$find = StoreProduct::where(['id' => $v['product_id']])->field($field)->find();
|
$find = StoreBranchProduct::where(['product_id' => $v['product_id'],'store_id'=>$params['store_id']])->field($field)->find();
|
||||||
if (!$find) {
|
if (!$find) {
|
||||||
self::setError('商品不存在');
|
self::setError('商品不存在');
|
||||||
return false;
|
return false;
|
||||||
@ -114,7 +119,8 @@ class OrderLogic extends BaseLogic
|
|||||||
$price = $find['cost'];
|
$price = $find['cost'];
|
||||||
} else {
|
} else {
|
||||||
$price = $find['price'];
|
$price = $find['price'];
|
||||||
if (isset($params['store_id']) && $params['store_id'] == getenv('ACTIVITY_STORE_ID')) {
|
//单门店活动判断
|
||||||
|
if ($params['store_id'] == getenv('ACTIVITY_STORE_ID')) {
|
||||||
$storeBranchPrice = StoreBranchProduct::where('store_id', getenv('ACTIVITY_STORE_ID'))->where('product_id', $v['product_id'])->value('price');
|
$storeBranchPrice = StoreBranchProduct::where('store_id', getenv('ACTIVITY_STORE_ID'))->where('product_id', $v['product_id'])->value('price');
|
||||||
if ($storeBranchPrice) {
|
if ($storeBranchPrice) {
|
||||||
$price = $storeBranchPrice;
|
$price = $storeBranchPrice;
|
||||||
@ -227,30 +233,14 @@ class OrderLogic extends BaseLogic
|
|||||||
if (isset($params['source']) && $params['source'] > 0) {
|
if (isset($params['source']) && $params['source'] > 0) {
|
||||||
$order['source'] = $params['source'];
|
$order['source'] = $params['source'];
|
||||||
}
|
}
|
||||||
//处理返回最近的店铺
|
|
||||||
if ((isset($params['lat']) && $params['lat'] != '') && (isset($params['long']) && $params['long'] != '')) {
|
if (isset($params['store_id']) && $params['store_id'] > 0) {
|
||||||
$storeAll = SystemStore::field('id,name,phone,address,detailed_address,latitude,longitude')->select()->toArray();
|
$store_id = $params['store_id'];
|
||||||
$nearestStore = null;
|
|
||||||
$minDistance = PHP_FLOAT_MAX;
|
|
||||||
foreach ($storeAll as $value) {
|
|
||||||
$value['distance'] = haversineDistance($value['latitude'], $value['longitude'], $params['lat'], $params['long']);
|
|
||||||
if ($value['distance'] < $minDistance) {
|
|
||||||
$minDistance = $value['distance'];
|
|
||||||
$nearestStore = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$store['near_store'] = [];
|
|
||||||
if ($nearestStore) {
|
|
||||||
$store['near_store'] = $nearestStore;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (isset($params['store_id']) && $params['store_id'] > 0) {
|
$store_id = getenv('STORE_ID') ?? 1;
|
||||||
$store_id = $params['store_id'];
|
|
||||||
} else {
|
|
||||||
$store_id = getenv('STORE_ID') ?? 1;
|
|
||||||
}
|
|
||||||
$store['near_store'] = SystemStore::where('id', $store_id)->field('id,name,phone,address,detailed_address,latitude,longitude')->find() ?? [];
|
|
||||||
}
|
}
|
||||||
|
$store['near_store'] = SystemStore::where('id', $store_id)->field('id,name,phone,address,detailed_address,latitude,longitude')->find() ?? [];
|
||||||
|
|
||||||
if ($user) {
|
if ($user) {
|
||||||
$order['address_id'] = UserAddress::where('uid', $user['id'])->where('is_default', 1)->value('id') ?? 0;
|
$order['address_id'] = UserAddress::where('uid', $user['id'])->where('is_default', 1)->value('id') ?? 0;
|
||||||
}
|
}
|
||||||
@ -264,13 +254,13 @@ class OrderLogic extends BaseLogic
|
|||||||
// 使用DateTime::format()方法获取时间并比较
|
// 使用DateTime::format()方法获取时间并比较
|
||||||
if ($currentTime->format('H:i') > $fourPM->format('H:i')) {
|
if ($currentTime->format('H:i') > $fourPM->format('H:i')) {
|
||||||
$currentDate = date('Y-m-d');
|
$currentDate = date('Y-m-d');
|
||||||
$alert='当前时间超过配送截止时间16:00,若下单,物品送达时间为'.date('Y-m-d', strtotime($currentDate. '+2 days'));
|
$alert = '当前时间超过配送截止时间16:00,若下单,物品送达时间为' . date('Y-m-d', strtotime($currentDate . '+2 days'));
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
self::setError($e->getMessage());
|
self::setError($e->getMessage());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return ['order' => $order, 'cart_list' => $cart_select, 'shopInfo' => $store['near_store'],'alert'=>$alert];
|
return ['order' => $order, 'cart_list' => $cart_select, 'shopInfo' => $store['near_store'], 'alert' => $alert];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -82,7 +82,7 @@ class UserLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static function info($uid)
|
public static function info($uid,$params=[])
|
||||||
{
|
{
|
||||||
$data = User::with(['userShip'])->where('id',$uid)
|
$data = User::with(['userShip'])->where('id',$uid)
|
||||||
->field('id,avatar,real_name,nickname,account,mobile,sex,login_ip,now_money,total_recharge_amount,user_ship
|
->field('id,avatar,real_name,nickname,account,mobile,sex,login_ip,now_money,total_recharge_amount,user_ship
|
||||||
@ -123,12 +123,18 @@ class UserLogic extends BaseLogic
|
|||||||
$number = UserSign::where('uid',$uid)->where(['status'=>0])->sum('number');
|
$number = UserSign::where('uid',$uid)->where(['status'=>0])->sum('number');
|
||||||
$data['number'] =bcadd($number,0,2);
|
$data['number'] =bcadd($number,0,2);
|
||||||
$data['GetNumber'] =bcadd($GetNumber,0,2);
|
$data['GetNumber'] =bcadd($GetNumber,0,2);
|
||||||
if($data['store_id']){
|
|
||||||
$share_name=SystemStore::where('id',$data['store_id'])->value('abbreviation');
|
if(isset($params['store_id']) && $params['store_id']>0){
|
||||||
|
$share_name=SystemStore::where('id',$params['store_id'])->value('abbreviation');
|
||||||
}else{
|
}else{
|
||||||
$share_name=SystemStore::where('id',4)->value('abbreviation');
|
if($data['store_id']){
|
||||||
|
$share_name=SystemStore::where('id',$data['store_id'])->value('abbreviation');
|
||||||
|
}else{
|
||||||
|
$share_name=SystemStore::where('id',4)->value('abbreviation');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$data['share_name']= $share_name.'No.'.preg_replace('/4/','*', $data['id']);
|
$data['share_name']= $share_name.'No.'.preg_replace('/4/','*', $data['id']);
|
||||||
|
$data['no_code']= 'No.'.preg_replace('/4/','*', $data['id']);
|
||||||
|
|
||||||
$data['system_store_id']=SystemStoreStaff::where('uid',$uid)->value('store_id');
|
$data['system_store_id']=SystemStoreStaff::where('uid',$uid)->value('store_id');
|
||||||
$data['delivery_service_id']=DeliveryService::where('uid',$uid)->value('id');
|
$data['delivery_service_id']=DeliveryService::where('uid',$uid)->value('id');
|
||||||
|
@ -11,7 +11,7 @@ class OrderDetail
|
|||||||
{
|
{
|
||||||
|
|
||||||
public $warehouse='海吉星仓库';
|
public $warehouse='海吉星仓库';
|
||||||
public $company='共投里海';
|
public $company='供投里海';
|
||||||
public $address='泸州龙马潭区海吉星122栋';
|
public $address='泸州龙马潭区海吉星122栋';
|
||||||
public $phone='08302669767';
|
public $phone='08302669767';
|
||||||
public $tel='17309099881';
|
public $tel='17309099881';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user