Browse Source

Merge branch 'purchase_limit' of http://120.24.33.109:11081/hyzjshwo/lanzu_api_hyperf into purchase_limit

master
Lemon 6 years ago
parent
commit
a5fa425ca5
  1. 8
      app/Controller/PurchaseLimitController.php
  2. 16
      app/Model/FinancialRecord.php
  3. 99
      app/Service/FinancialRecordService.php
  4. 101
      app/Service/FinancialRecordServiceInterface.php
  5. 2
      app/Service/OrderService.php
  6. 29
      app/Service/PurchaseLimitService.php
  7. 2
      app/Service/PurchaseLimitServiceInterface.php
  8. 1
      config/routes.php

8
app/Controller/PurchaseLimitController.php

@ -24,7 +24,13 @@ class PurchaseLimitController extends BaseController
public function ssdbPurchaseRecord()
{
$res = $this->purchaseLimitService->ssdbPurchaseRecord($this->request->all(),214);
$res = $this->purchaseLimitService->ssdbPurchaseRecord($this->request->all(),214,156813021196050432);
return $this->success($res);
}
public function delSsdbPurchaseRecord()
{
$res = $this->purchaseLimitService->delSsdbPurchaseRecord($this->request->input('order_id'));
return $this->success($res);
}

16
app/Model/FinancialRecord.php

@ -23,15 +23,23 @@ class FinancialRecord extends Model
* 总账
* USER_TYPE_LEDGER / -1
*
* 用户/商户账户
* 用户
* USER_TYPE_USER / 1
*
* MP用户账户,服务商、市场经理、服务站点等
* USER_TYPE_MP / 2
* USER_TYPE_MM / 3
* USER_TYPE_CS / 4
*
* 商户账户
* USER_TYPE_STORE / 5
*/
const USER_TYPE_LEDGER = -1;
const USER_TYPE_USER = 1;
const USER_TYPE_MP = 2;
const USER_TYPE_MM = 3;
const USER_TYPE_CS = 4;
const USER_TYPE_STORE = 5;
/**
* 关联类型
@ -44,9 +52,9 @@ class FinancialRecord extends Model
/**
* 流水类型,大的分类,<100是奖励分账等收入项 >=100是提现消费等支出项
*/
const MONEY_TYPE_PLAT_NEW_USER = 1; // 社区服务点新用户奖励(线上订单完成)
const MONEY_TYPE_FIRST_ORDER = 2; // 社区服务点新用户线上首单奖励(线上订单完成)
const MONEY_TYPE_OL_ORDER = 3; // 社区服务点用户线上订单分账(线上订单完成)
const MONEY_TYPE_CS_PLAT_NEW_USER = 1; // 社区服务点新用户奖励(线上订单完成)
const MONEY_TYPE_CS_FIRST_ORDER = 2; // 社区服务点新用户线上首单奖励(线上订单完成)
const MONEY_TYPE_CS_OL_ORDER = 3; // 社区服务点用户线上订单分账(线上订单完成)
const MONEY_TYPE_STORE_PLAT_NEW_USER = 4; // 商户平台新用户奖励
const MONEY_TYPE_STORE_FIRST_ORDER = 5; // 商户当日首单奖励
const MONEY_TYPE_STORE_OL_ORDER_COMP = 6; // 商户线上订单完成收入

99
app/Service/FinancialRecordService.php

@ -58,7 +58,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function communityAwardByPlatNewUser($user_id, $source_id, $money, $user_type=2, $source_type=1, $money_type=1, $desc='新用户奖励', $comment='社区服务点')
public function communityAwardByPlatNewUser(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_CS,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_CS_PLAT_NEW_USER,
$desc='新用户奖励',
$comment='社区服务点'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
// 维护社区服务点余额
@ -73,7 +82,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function communityAwardByPlatNewUserFirstOLOrder($user_id, $source_id, $money, $user_type=2, $source_type=1, $money_type=2, $desc='新用户首单奖励', $comment='社区服务点')
public function communityAwardByPlatNewUserFirstOLOrder(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_CS,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_CS_FIRST_ORDER,
$desc='新用户首单奖励',
$comment='社区服务点'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
// 维护社区服务点余额
@ -88,7 +106,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function communitySeparateAccountsByOrderComp($user_id, $source_id, $money, $user_type=2, $source_type=1, $money_type=3, $desc='用户订单分成', $comment='社区服务点')
public function communitySeparateAccountsByOrderComp(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_CS,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_CS_OL_ORDER,
$desc='用户订单分成',
$comment='社区服务点'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
// 维护社区服务点余额
@ -104,7 +131,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function storeAwardByPlatNewUserOFLOrder($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=4, $desc='新用户下单奖励', $comment='用户当面付商户奖励')
public function storeAwardByPlatNewUserOFLOrder(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_STORE,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_STORE_PLAT_NEW_USER,
$desc='新用户下单奖励',
$comment='用户当面付商户奖励'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
// 同时维护钱包
@ -116,7 +152,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function storeAwardByTodayFirstOFLOrder($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=5, $desc='用户店铺首单奖励', $comment='用户当面付商户奖励')
public function storeAwardByTodayFirstOFLOrder(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_STORE,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_STORE_FIRST_ORDER,
$desc='用户店铺首单奖励',
$comment='用户当面付商户奖励'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
// 同时维护钱包
@ -147,7 +192,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function userByOFLOrderPaid($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=100, $desc='用户下单(线下)', $comment='用户下单')
public function userByOFLOrderPaid(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_USER,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_USER_OFL_ORDER,
$desc='用户下单(线下)',
$comment='用户下单'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
}
@ -155,7 +209,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function userByOLOrderPaid($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=101, $desc='用户下单(线上)', $comment='用户下单')
public function userByOLOrderPaid(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_USER,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_USER_OL_ORDER,
$desc='用户下单(线上)',
$comment='用户下单'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
}
@ -163,7 +226,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function storeByOLOrderComp($user_id, $source_id, $money, $user_type = 1, $source_type = 1, $money_type = 6, $desc = '线上外卖订单收入', $comment = '用户订单完成')
public function storeByOLOrderComp(
$user_id,
$source_id,
$money,
$user_type = FinancialRecord::USER_TYPE_STORE,
$source_type = FinancialRecord::SOURCE_TYPE_ORDER,
$money_type = FinancialRecord::MONEY_TYPE_STORE_OL_ORDER_COMP,
$desc = '线上外卖订单收入',
$comment = '用户订单完成'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
// 同时维护钱包
@ -175,7 +247,16 @@ class FinancialRecordService implements FinancialRecordServiceInterface
/**
* @inheritDoc
*/
public function storeByOFLOrderComp($user_id, $source_id, $money, $user_type = 1, $source_type = 1, $money_type = 7, $desc = '线下当面付订单收入', $comment = '用户订单完成')
public function storeByOFLOrderComp(
$user_id,
$source_id,
$money,
$user_type = FinancialRecord::USER_TYPE_STORE,
$source_type = FinancialRecord::SOURCE_TYPE_ORDER,
$money_type = FinancialRecord::MONEY_TYPE_STORE_OFL_ORDER_COMP,
$desc = '线下当面付订单收入',
$comment = '用户订单完成'
)
{
$this->recordAll($user_id, $source_id, $money, $user_type, $source_type, $money_type, $desc, $comment);
}

101
app/Service/FinancialRecordServiceInterface.php

@ -2,6 +2,8 @@
namespace App\Service;
use App\Model\FinancialRecord;
interface FinancialRecordServiceInterface
{
@ -17,7 +19,16 @@ interface FinancialRecordServiceInterface
* @param string $desc
* @return mixed
*/
public function communityAwardByPlatNewUser($user_id, $source_id, $money, $user_type=2, $source_type=1, $money_type=1, $desc='新用户奖励', $comment='');
public function communityAwardByPlatNewUser(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_CS,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_CS_PLAT_NEW_USER,
$desc='新用户奖励',
$comment=''
);
/**
* 社区服务点新用户线上首单奖励
@ -31,7 +42,16 @@ interface FinancialRecordServiceInterface
* @param string $desc
* @return mixed
*/
public function communityAwardByPlatNewUserFirstOLOrder($user_id, $source_id, $money, $user_type=2, $source_type=1, $money_type=2, $desc='新用户首单奖励', $comment='');
public function communityAwardByPlatNewUserFirstOLOrder(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_CS,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_CS_FIRST_ORDER,
$desc='新用户首单奖励',
$comment=''
);
/**
* 社区服务点用户订单完成分账
@ -45,7 +65,16 @@ interface FinancialRecordServiceInterface
* @param string $desc
* @return mixed
*/
public function communitySeparateAccountsByOrderComp($user_id, $source_id, $money, $user_type=2, $source_type=1, $money_type=3, $desc='用户订单分成', $comment='');
public function communitySeparateAccountsByOrderComp(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_CS,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_CS_OL_ORDER,
$desc='用户订单分成',
$comment=''
);
/**
* 收支总账
@ -71,7 +100,16 @@ interface FinancialRecordServiceInterface
* @param string $comment
* @return mixed
*/
public function storeAwardByPlatNewUserOFLOrder($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=4, $desc='新用户下单奖励', $comment='');
public function storeAwardByPlatNewUserOFLOrder(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_STORE,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_STORE_PLAT_NEW_USER,
$desc='新用户下单奖励',
$comment=''
);
/**
* 商户线下用户支付用户当日首单奖励
@ -85,7 +123,16 @@ interface FinancialRecordServiceInterface
* @param string $comment
* @return mixed
*/
public function storeAwardByTodayFirstOFLOrder($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=5, $desc='用户店铺首单奖励', $comment='');
public function storeAwardByTodayFirstOFLOrder(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_STORE,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_STORE_FIRST_ORDER,
$desc='用户店铺首单奖励',
$comment=''
);
/**
* 用户线下订单支付流水
@ -99,7 +146,16 @@ interface FinancialRecordServiceInterface
* @param string $comment
* @return mixed
*/
public function userByOFLOrderPaid($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=100, $desc='用户下单(线下)', $comment='');
public function userByOFLOrderPaid(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_USER,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_USER_OFL_ORDER,
$desc='用户下单(线下)',
$comment=''
);
/**
* 用户线上订单支付流水
@ -113,7 +169,16 @@ interface FinancialRecordServiceInterface
* @param string $comment
* @return mixed
*/
public function userByOLOrderPaid($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=101, $desc='用户下单(线上)', $comment='');
public function userByOLOrderPaid(
$user_id,
$source_id,
$money,
$user_type=FinancialRecord::USER_TYPE_USER,
$source_type=FinancialRecord::SOURCE_TYPE_ORDER,
$money_type=FinancialRecord::MONEY_TYPE_USER_OL_ORDER,
$desc='用户下单(线上)',
$comment=''
);
/**
* 商户线上订单完成收入流水
@ -127,7 +192,16 @@ interface FinancialRecordServiceInterface
* @param string $comment
* @return mixed
*/
public function storeByOLOrderComp($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=6, $desc='线上外卖订单收入', $comment='');
public function storeByOLOrderComp(
$user_id,
$source_id,
$money,
$user_type = FinancialRecord::USER_TYPE_STORE,
$source_type = FinancialRecord::SOURCE_TYPE_ORDER,
$money_type = FinancialRecord::MONEY_TYPE_STORE_OL_ORDER_COMP,
$desc='线上外卖订单收入',
$comment=''
);
/**
* 商户线下订单完成收入流水
@ -141,6 +215,15 @@ interface FinancialRecordServiceInterface
* @param string $comment
* @return mixed
*/
public function storeByOFLOrderComp($user_id, $source_id, $money, $user_type=1, $source_type=1, $money_type=7, $desc='线下当面付订单收入', $comment='');
public function storeByOFLOrderComp(
$user_id,
$source_id,
$money,
$user_type = FinancialRecord::USER_TYPE_STORE,
$source_type = FinancialRecord::SOURCE_TYPE_ORDER,
$money_type = FinancialRecord::MONEY_TYPE_STORE_OFL_ORDER_COMP,
$desc='线下当面付订单收入',
$comment=''
);
}

2
app/Service/OrderService.php

@ -718,6 +718,8 @@ class OrderService implements OrderServiceInterface
->update(['state' => OrderMain::ORDER_STATE_CANCEL]);
//撤销redis 用券记录
$res = $this->couponService->refundOrderCoupons($order_id);
//撤销特价商品购买记录
$res = $this->purchaseLimitService->delSsdbPurchaseRecord($order_id);
return $res;
}
/**

29
app/Service/PurchaseLimitService.php

@ -2,6 +2,8 @@
namespace App\Service;
use App\Model\Order;
use App\Model\OrderGoods;
use Hyperf\Di\Annotation\Inject;
use Hyperf\DbConnection\Db;
use App\Model\Goods;
@ -44,6 +46,33 @@ class PurchaseLimitService implements PurchaseLimitServiceInterface
return true;
}
public function delSsdbPurchaseRecord($order_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'], $global_order_id);
var_dump($v1['user_id']);
var_dump($v1['good_id']);
}
}
return true;
}
public function test($params)
{
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);

2
app/Service/PurchaseLimitServiceInterface.php

@ -10,5 +10,7 @@ interface PurchaseLimitServiceInterface
public function ssdbPurchaseRecord($params,$user_id,$global_order_id);
public function delSsdbPurchaseRecord($order_id);
public function test($params);
}

1
config/routes.php

@ -61,6 +61,7 @@ Router::addGroup('/v1/',function (){
Router::post('ShopCar/addShopCar', 'App\Controller\ShopCarController@addShopCar');
Router::post('ShopCar/updateShopCar', 'App\Controller\ShopCarController@updateShopCar');
Router::post('PurchaseLimit/test', 'App\Controller\PurchaseLimitController@test');
Router::post('PurchaseLimit/delSsdbPurchaseRecord', 'App\Controller\PurchaseLimitController@delSsdbPurchaseRecord');
Router::post('PurchaseLimit/getStoreIdByMarketId', 'App\Controller\PurchaseLimitController@getStoreIdByMarketId');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class]]);

Loading…
Cancel
Save