diff --git a/app/Controller/PurchaseLimitController.php b/app/Controller/PurchaseLimitController.php index 0dd222c..32fca1f 100644 --- a/app/Controller/PurchaseLimitController.php +++ b/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); } diff --git a/app/Model/FinancialRecord.php b/app/Model/FinancialRecord.php index b56adbe..9da433e 100644 --- a/app/Model/FinancialRecord.php +++ b/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; // 商户线上订单完成收入 diff --git a/app/Service/FinancialRecordService.php b/app/Service/FinancialRecordService.php index 574de5c..992f949 100644 --- a/app/Service/FinancialRecordService.php +++ b/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); } diff --git a/app/Service/FinancialRecordServiceInterface.php b/app/Service/FinancialRecordServiceInterface.php index 8a53628..a8f13be 100644 --- a/app/Service/FinancialRecordServiceInterface.php +++ b/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='' + ); } \ No newline at end of file diff --git a/app/Service/OrderService.php b/app/Service/OrderService.php index afd19fc..4b7b0e0 100644 --- a/app/Service/OrderService.php +++ b/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; } /** diff --git a/app/Service/PurchaseLimitService.php b/app/Service/PurchaseLimitService.php index 2b84faa..dc7271d 100644 --- a/app/Service/PurchaseLimitService.php +++ b/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); diff --git a/app/Service/PurchaseLimitServiceInterface.php b/app/Service/PurchaseLimitServiceInterface.php index 8811fc6..5c88b2c 100644 --- a/app/Service/PurchaseLimitServiceInterface.php +++ b/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); } \ No newline at end of file diff --git a/config/routes.php b/config/routes.php index 637d5ac..2d0ef16 100644 --- a/config/routes.php +++ b/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]]);