From e50bb2ed63c1ad21814347f85c96f4a1fda27c50 Mon Sep 17 00:00:00 2001 From: monanxiao Date: Wed, 15 Mar 2023 17:29:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E6=8F=90=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/api/user/User.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controller/api/user/User.php b/app/controller/api/user/User.php index 9e75eda0..85872c32 100644 --- a/app/controller/api/user/User.php +++ b/app/controller/api/user/User.php @@ -102,6 +102,8 @@ class User extends BaseController 'yesterday_brokerage' => $this->yesterdayBrokerage($user['uid'], $source), 'total_extract' => $this->userTotalExtract($user['uid'], $source), 'total_brokerage' => $this->totalBrokerage($user['uid'], $source), + 'brokerage_price' => $user['brokerage_price'], // 可提现金额 + 'broken_day' => (int)systemConfig('lock_brokerage_timer'), //冻结天数 ]; return app('json')->success($data); From ae6481d272e05c34a8a3cc1afc9b38eb7e289648 Mon Sep 17 00:00:00 2001 From: monanxiao Date: Thu, 16 Mar 2023 10:55:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E9=93=BE=E9=87=87=E8=B4=AD=E5=88=86=E4=BD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/model/store/GeoArea.php | 31 +++++++++++ .../system/supplychain/SupplyChainTeam.php | 2 +- app/common/model/user/BkUserInfo.php | 52 +++++++++++++++++++ app/common/model/user/User.php | 10 ++++ app/controller/api/store/order/StoreOrder.php | 4 ++ crmeb/jobs/SupplyChainOrderBrokerAgeJob.php | 38 +++++++++++++- 6 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 app/common/model/store/GeoArea.php create mode 100644 app/common/model/user/BkUserInfo.php diff --git a/app/common/model/store/GeoArea.php b/app/common/model/store/GeoArea.php new file mode 100644 index 00000000..8c8a77a4 --- /dev/null +++ b/app/common/model/store/GeoArea.php @@ -0,0 +1,31 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\model\store; + + +use app\common\model\BaseModel; + +class GeoArea extends BaseModel +{ + + public static function tablePk(): ?string + { + return 'id'; + } + + public static function tableName(): string + { + return 'geo_area'; + } + +} diff --git a/app/common/model/system/supplychain/SupplyChainTeam.php b/app/common/model/system/supplychain/SupplyChainTeam.php index 962a2d60..9270ab38 100644 --- a/app/common/model/system/supplychain/SupplyChainTeam.php +++ b/app/common/model/system/supplychain/SupplyChainTeam.php @@ -48,6 +48,6 @@ class SupplyChainTeam extends BaseModel public function level() { - return $this->hasOne(SupplyChainLevel::class, 'id', 'fa_supply_team_id'); + return $this->hasOne(SupplyChainLevel::class, 'id', 'supply_level_id'); } } diff --git a/app/common/model/user/BkUserInfo.php b/app/common/model/user/BkUserInfo.php new file mode 100644 index 00000000..1b671737 --- /dev/null +++ b/app/common/model/user/BkUserInfo.php @@ -0,0 +1,52 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\model\user; + + +use app\common\model\BaseModel; + +/** + * + * 农科关联用户信息 + * + */ + +class BkUserInfo extends BaseModel +{ + + // 设置当前模型的数据库连接 + protected $connection = 'nongke'; + protected $table = 'fa_szxc_information_usermsg'; + + /** + * @return string + * @author xaboy + * @day 2020-03-30 + */ + public static function tablePk(): string + { + return 'id'; + } + + /** + * @return string + * @author xaboy + * @day 2020-03-30 + */ + public static function tableName(): string + { + return 'fa_szxc_information_usermsg'; + } + +} diff --git a/app/common/model/user/User.php b/app/common/model/user/User.php index aaab1526..f3a1c2a4 100644 --- a/app/common/model/user/User.php +++ b/app/common/model/user/User.php @@ -182,6 +182,16 @@ class User extends BaseModel return $this->hasOne(SupplyChainTeam::class, 'fa_supply_team_id', 'id'); } + /** + * + * 农科用户关联信息 + * + */ + public function nkUserMsg() + { + return $this->hasOne(BkUserInfo::class, 'phone', 'phone'); + } + /** * @param $spreadUid * @author xaboy diff --git a/app/controller/api/store/order/StoreOrder.php b/app/controller/api/store/order/StoreOrder.php index f7575fbc..01d9c641 100644 --- a/app/controller/api/store/order/StoreOrder.php +++ b/app/controller/api/store/order/StoreOrder.php @@ -28,6 +28,9 @@ use crmeb\services\ExpressService; use crmeb\services\LockService; use think\App; use think\exception\ValidateException; +use app\common\model\user\User; +use app\common\model\store\GeoArea; +use app\common\model\system\supplychain\SupplyChainTeam; /** * Class StoreOrder @@ -105,6 +108,7 @@ class StoreOrder extends BaseController } $uid = $this->request->uid(); + // if (!($count = count($cartId)) || $count != count($cartRepository->validIntersection($cartId, $uid))) // return app('json')->fail('数据无效'); if($is_dg){ diff --git a/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php b/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php index 1d08fbe1..9269b9fd 100644 --- a/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php +++ b/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php @@ -22,6 +22,8 @@ use app\common\model\system\supplychain\SupplyChainBorkerage; use app\common\model\system\supplychain\SupplyChainTeam; use app\common\model\system\supplychain\SupplyChainLevel; use app\common\repositories\user\UserBillRepository; +use app\common\model\user\User; +use app\common\model\store\GeoArea; /** * @@ -81,9 +83,43 @@ class SupplyChainOrderBrokerAgeJob implements JobInterface $userRepository = app()->make(UserRepository::class); - // 增加 + // 增加小组服务佣金 $userRepository->incSupplyBrokerage($data['uid'], $price); + // 后台分组用户开始 + $userInfo = User::with('nkUserMsg')->find($data['uid']); // 当前用户信息 + $nkUserMsg = $userInfo['nkUserMsg']; // 当前用户关联上级街道、区县等信息 + // $brigade_id = $nkUserMsg['brigade_id']; // 大队 + $village_id = $nkUserMsg['village_id']; // 村 + $street_id = $nkUserMsg['street_id']; //镇 + $area_id = $nkUserMsg['area_id']; // 区域 + $city_code = GeoArea::where('area_code', $area_id)->value('city_code'); // 市 + $supplyChainTeam = SupplyChainTeam::with('level')->whereIn('parent_code', [$village_id, $street_id, $area_id, $city_code])->select(); // 获取关联上级团队 + + // 进行分佣 + foreach ($supplyChainTeam as $v) { + + // 可获得金额 + $usrPrice = floatval(($price/100)*$v['level']['rate']); + + // 分润数据 + $dataArr = [ + 'supply_team_id' => $v['id'], // 用户ID + 'pay_price' => $data['inc'], // 订单金额 + 'price' => $price, // 订单分佣金额 + 'order_sn' => $data['order_sn'], // 订单编号 + 'supply_sn' => $data['order_sn'], // 订单编号 + 'order_id' => $data['order_id'], // 订单ID + 'mer_id' => $data['mer_id'], // 商户ID + 'supply_level_id' => $v['supply_level_id'], // 分佣等级ID + 'brokerage_price' => $usrPrice, // 获取的佣金金额 + 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID + ]; + + // 储存小组服务分佣记录 + SupplyChainBorkerage::create($dataArr); + } + // 增加小组服务佣金明细 // $onePrice = '0.00'; // 一级佣金 // $twoPrice = '0.00'; // 二级佣金