|
|
<?php
namespace App\Service;
use App\Model\Order;use App\Model\OrderGoods;use App\Model\OrderMain;use Hyperf\Di\Annotation\Inject;use Hyperf\DbConnection\Db;use App\Model\Goods;use App\Model\Combination;use App\Model\ShopCar;use App\Constants\LogLabel;use App\Commons\Log;use Hyperf\Utils\ApplicationContext;use App\TaskWorker\SSDBTask;use App\Constants\SsdbKeysPrefix;
class PurchaseLimitService implements PurchaseLimitServiceInterface{ public function getStoreIdByMarketId($params) { $res[] = [ 'id' => 7, 'item' => 1, 'item_text' => 'page', 'logo' => 'http://lanzutest.lanzulive.com/attachment/images/2/2020/08/PY55Y3Mz17yJo17rv1Z7vImX1V5159.jpg', 'redirect_url' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=123', 'src' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=123', 'src2' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=123', ]; $res[] = [ 'id' => 8, 'item' => 1, 'item_text' => 'page', 'logo' => 'http://lanzutest.lanzulive.com/attachment/images/2/2020/08/PY55Y3Mz17yJo17rv1Z7vImX1V5159.jpg', 'redirect_url' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=109', 'src' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=109', 'src2' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=109', ]; return $res; }
public function ssdbPurchaseRecord($data,$user_id,$global_order_id) { foreach ($data as $k => $v){ if($v['money'] == 0.01){ //添加特价商品购买记录到ssdb
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $ssdb->exec('set', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_'.$user_id.'_'.$v['good_id'], $global_order_id); $end_timestamp = strtotime(date('Y-m-d').'23:59:59'); $end_time = $end_timestamp - time(); $ssdb->exec('expire', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_'.$user_id.'_'.$v['good_id'],$end_time); } } return true; }
public function delSsdbPurchaseRecord($global_order_id) { $order_main = OrderMain::where('global_order_id',$global_order_id) ->select('id','user_id') ->first(); $order_id = $order_main->id;
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $order = Order::query() ->where('order_main_id',$order_id) ->select('id','user_id') ->get() ->toArray(); foreach ($order as $k1 => $v1){ $goods = OrderGoods::query() ->where([ ['order_id','=',$v1['id']], ['money','=',0.01], ]) ->select('good_id') ->get() ->toArray();
foreach ($goods as $k2 => $v2) { $ssdb->exec('del', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_'.$v1['user_id'].'_'.$v2['good_id']); } } return true; }
public function PurchaseLimit($orderGoods) { $sum = 0; foreach ($orderGoods as $goods){ if($goods['money'] == 0.01){ if($sum > 0){ return false; } $sum++; } } return true; }
public function test($params) { $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); //添加领取记录到ssdb
$data = [ '620',1561, ]; $test = $ssdb->exec('multi_hset', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_620', $data); return $test; }}
|