|
|
@@ -4,9 +4,11 @@ namespace app\common\repositories\shared;
|
|
4
|
4
|
|
|
5
|
5
|
use app\common\dao\shared\SharedProsperityRewardRecordDao;
|
|
6
|
6
|
use app\common\dao\shared\SharedProsperityUserDao;
|
|
|
7
|
+use app\common\enum\CommonEnum;
|
|
7
|
8
|
use app\common\enum\shared\SharedProsperityRewardRecordEnum;
|
|
8
|
9
|
use app\common\repositories\BaseRepository;
|
|
9
|
10
|
use app\common\repositories\store\order\StoreOrderRepository;
|
|
|
11
|
+use app\entity\data\shared\SharedProsperityRecommendConfigEntity;
|
|
10
|
12
|
use app\entity\data\shared\SharedProsperityRewardRecordEntity;
|
|
11
|
13
|
use app\entity\data\shared\SharedProsperityUserEntity;
|
|
12
|
14
|
use think\db\exception\DbException;
|
|
|
@@ -202,6 +204,7 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
202
|
204
|
$updateSharedProsperityUserEntity = $updateSharedProsperityUserEntityList[$sharedProsperityUserEntity->getUserId()] ?? SharedProsperityUserEntity::newInstance();
|
|
203
|
205
|
$updateSharedProsperityUserEntity
|
|
204
|
206
|
->setId($sharedProsperityUserEntity->getId())
|
|
|
207
|
+ ->setUserId($sharedProsperityUserEntity->getUserId())
|
|
205
|
208
|
->setPartnerLevel($sharedProsperityUserEntity->getPartnerLevel());
|
|
206
|
209
|
|
|
207
|
210
|
// 更新 账单 记录
|
|
|
@@ -258,12 +261,26 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
258
|
261
|
}
|
|
259
|
262
|
|
|
260
|
263
|
// 暂时新增加逻辑 用户购买 298 商品后,自动升级为1星合伙人,目前只有消费者 能够获得PV值,在奖励结算时,判断订单金额 是否大于 298 并且 用户身份为 用户,则升级为一星合伙人
|
|
|
264
|
+ // 逻辑修改,如果用户的身份 是普通用户,则统计他在共富区内 所有消费的金额,是否超 每天自增的 升级限制金额,如果超过则升级为1星合伙人
|
|
261
|
265
|
if ($updateSharedProsperityUserEntity->getPartnerLevel() == 0 && $sharedProsperityRewardRecordEntity->getTypeShop() == SharedProsperityRewardRecordEnum::TYPE_SHOP['Platform']['code']) {
|
|
262
|
266
|
/** @var StoreOrderRepository $storeOrderRepository */
|
|
263
|
267
|
$storeOrderRepository = app()->make(StoreOrderRepository::class);
|
|
264
|
|
- $storeOrderEntity = $storeOrderRepository->getStoreOrderEntityByOrderSn($sharedProsperityRewardRecordEntity->getOrderSn());
|
|
265
|
|
- if ($storeOrderEntity->getTotalPrice() >= 298) {
|
|
266
|
|
- $updateSharedProsperityUserEntity->setPartnerLevel(1);
|
|
|
268
|
+ $sumTotalPrice = $storeOrderRepository->getSumTotalPriceByUidAndMerId($updateSharedProsperityUserEntity->getUserId(), CommonEnum::DESIGN_MERCHANT_ID['SharedProsperity']['code']);
|
|
|
269
|
+ if (!empty($sumTotalPrice)) {
|
|
|
270
|
+ /** @var SharedProsperityRecommendConfigRepository $sharedProsperityRecommendConfigRepository */
|
|
|
271
|
+ $sharedProsperityRecommendConfigRepository = app()->make(SharedProsperityRecommendConfigRepository::class);
|
|
|
272
|
+ $sharedProsperityRecommendConfigEntityList = $sharedProsperityRecommendConfigRepository->getList();
|
|
|
273
|
+ usort($sharedProsperityRecommendConfigEntityList, function (SharedProsperityRecommendConfigEntity $a, SharedProsperityRecommendConfigEntity $b) {
|
|
|
274
|
+ return $a->getLevel() <=> $b->getLevel(); // 从小到大排序
|
|
|
275
|
+ });
|
|
|
276
|
+ foreach ($sharedProsperityRecommendConfigEntityList as $sharedProsperityRecommendConfigEntity) {
|
|
|
277
|
+ if (is_null($sharedProsperityRecommendConfigEntity->getConsume())) {
|
|
|
278
|
+ continue;
|
|
|
279
|
+ }
|
|
|
280
|
+ if ($sumTotalPrice >= $sharedProsperityRecommendConfigEntity->getConsume()) {
|
|
|
281
|
+ $updateSharedProsperityUserEntity->setPartnerLevel($sharedProsperityRecommendConfigEntity->getLevel());
|
|
|
282
|
+ }
|
|
|
283
|
+ }
|
|
267
|
284
|
}
|
|
268
|
285
|
}
|
|
269
|
286
|
}
|