|
|
@@ -67,6 +67,7 @@ use app\common\repositories\user\UserSignGongxianRepository;
|
|
67
|
67
|
use app\common\repositories\user\UserSignHongbaoRepository;
|
|
68
|
68
|
use app\common\repositories\user\UserSignJingdouRepository;
|
|
69
|
69
|
use app\common\repositories\user\UserSignScoreRepository;
|
|
|
70
|
+use app\common\repositories\user\UserSignVrRepository;
|
|
70
|
71
|
use app\common\repositories\user\UserThirdRepository;
|
|
71
|
72
|
use app\common\repositories\wechat\RoutineQrcodeRepository;
|
|
72
|
73
|
use app\common\repositories\wechat\WechatUserRepository;
|
|
|
@@ -11065,9 +11066,6 @@ class StoreOrderRepository extends BaseRepository
|
|
11065
|
11066
|
$storeOrderEntityList[$key] = $storeOrderEntity;
|
|
11066
|
11067
|
$storeOrderIdList[] = $storeOrderEntity->getOrderId();
|
|
11067
|
11068
|
|
|
11068
|
|
- // 生成奖励数据
|
|
11069
|
|
- $this->createRewardMechanismByStoreOrderId($storeOrderEntity->getOrderId());
|
|
11070
|
|
-
|
|
11071
|
11069
|
// 将每件商品设计到的优惠券要取消掉
|
|
11072
|
11070
|
|
|
11073
|
11071
|
// 准备订单的 状态数据
|
|
|
@@ -11104,189 +11102,229 @@ class StoreOrderRepository extends BaseRepository
|
|
11104
|
11102
|
|
|
11105
|
11103
|
$storeOrderProductRepository->insertAll($storeOrderProductDataList);
|
|
11106
|
11104
|
|
|
11107
|
|
- $paySuccess = false;
|
|
11108
|
|
- // 验证支付方式
|
|
11109
|
11105
|
/** @var FzonePayTypeEntity $fzonePayTypeEntity */
|
|
11110
|
11106
|
$fzonePayTypeEntity = FzonePayTypeEntity::newInstance($storeOrderCreateRequestEntity->getFzonePayType());
|
|
|
11107
|
+ $paySuccess = $this->abatement($userEntity->getUid(), $storeGroupOrderEntity->getGroupOrderId(), $fzonePayTypeEntity);
|
|
|
11108
|
+
|
|
|
11109
|
+ // 非涉及到现金 控件成功后 直接结算
|
|
|
11110
|
+ if ($paySuccess) {
|
|
|
11111
|
+ // 修改订单的 支付状态
|
|
|
11112
|
+ $storeGroupOrderRepository->update($storeGroupOrderEntity->getGroupOrderId(), [
|
|
|
11113
|
+ 'paid' => StoreGroupOrderEnum::PAID['YES']['code'],
|
|
|
11114
|
+ 'pay_time' => date('Y-m-d H:i:s')
|
|
|
11115
|
+ ]);
|
|
|
11116
|
+
|
|
|
11117
|
+ $storeOrderRepository->updates($storeOrderIdList, [
|
|
|
11118
|
+ 'paid' => StoreOrderEnum::PAID['YES']['code'],
|
|
|
11119
|
+ 'pay_time' => date('Y-m-d H:i:s'),
|
|
|
11120
|
+ 'status' => StoreOrderEnum::STATUS['WAITING_SHIPMENT']['code'],
|
|
|
11121
|
+ 'distribution_mode' => StoreOrderEnum::DISTRIBUTION_MODE['ExpressDelivery']
|
|
|
11122
|
+ ]);
|
|
|
11123
|
+ $settlementOrderIdList = [];
|
|
|
11124
|
+ foreach ($storeOrderEntityList as $storeOrderEntity) {
|
|
|
11125
|
+ // 生成奖励数据
|
|
|
11126
|
+ $this->createRewardMechanismByStoreOrderId($storeOrderEntity->getOrderId());
|
|
|
11127
|
+ if ($storeOrderEntity->getMerId() == CommonEnum::DESIGN_MERCHANT_ID['MemberZone']['code']) {
|
|
|
11128
|
+ // 会员专区的 订单立即结算
|
|
|
11129
|
+ $settlementOrderIdList[] = $storeOrderEntity->getOrderId();
|
|
|
11130
|
+ }
|
|
|
11131
|
+ }
|
|
|
11132
|
+ if (!empty($settlementOrderIdList)) {
|
|
|
11133
|
+ $this->settlementOrderByOrderIdList($settlementOrderIdList);
|
|
|
11134
|
+ }
|
|
|
11135
|
+ }
|
|
|
11136
|
+
|
|
|
11137
|
+ return [];
|
|
|
11138
|
+ }
|
|
|
11139
|
+
|
|
|
11140
|
+ /**
|
|
|
11141
|
+ * @param int $orderId
|
|
|
11142
|
+ * @return StoreOrderEntity
|
|
|
11143
|
+ */
|
|
|
11144
|
+ public function getStoreOrderEntityByOrderId(int $orderId): StoreOrderEntity
|
|
|
11145
|
+ {
|
|
|
11146
|
+ $entityList = $this->getStoreOrderEntityListByOrderIdList([$orderId]);
|
|
|
11147
|
+ $entity = array_shift($entityList);
|
|
|
11148
|
+ if ($entity instanceof StoreOrderEntity) {
|
|
|
11149
|
+ return $entity;
|
|
|
11150
|
+ } else {
|
|
|
11151
|
+ /** @var StoreOrderEntity */
|
|
|
11152
|
+ return StoreOrderEntity::newInstance();
|
|
|
11153
|
+ }
|
|
|
11154
|
+ }
|
|
|
11155
|
+
|
|
|
11156
|
+ /**
|
|
|
11157
|
+ * @param array $orderIdList
|
|
|
11158
|
+ * @return StoreOrderEntity[]
|
|
|
11159
|
+ */
|
|
|
11160
|
+ public function getStoreOrderEntityListByOrderIdList(array $orderIdList): array
|
|
|
11161
|
+ {
|
|
|
11162
|
+ return $this->dao->getStoreOrderEntityListByOrderIdList($orderIdList);
|
|
|
11163
|
+ }
|
|
|
11164
|
+
|
|
|
11165
|
+
|
|
|
11166
|
+ /**
|
|
|
11167
|
+ * 根据 用户信息 订单信息 支付信息 判断用户是否满足支付条件,并进行扣款
|
|
|
11168
|
+ * @param int $uid
|
|
|
11169
|
+ * @param int $groupOrderId
|
|
|
11170
|
+ * @param FzonePayTypeEntity $fzonePayTypeEntity
|
|
|
11171
|
+ * @return bool
|
|
|
11172
|
+ */
|
|
|
11173
|
+ public function abatement(int $uid, int $groupOrderId, FzonePayTypeEntity $fzonePayTypeEntity): bool
|
|
|
11174
|
+ {
|
|
|
11175
|
+ /** @var UserRepository $userRepository */
|
|
|
11176
|
+ $userRepository = app()->make(UserRepository::class);
|
|
|
11177
|
+ $userEntity = $userRepository->getUserEntityByUid($uid);
|
|
|
11178
|
+ if (empty($userEntity->getUid())) {
|
|
|
11179
|
+ throw new ValidateException('未查询到用户信息');
|
|
|
11180
|
+ }
|
|
|
11181
|
+
|
|
|
11182
|
+ /** @var StoreGroupOrderRepository $storeGroupOrderRepository */
|
|
|
11183
|
+ $storeGroupOrderRepository = app()->make(StoreGroupOrderRepository::class);
|
|
|
11184
|
+ $storeGroupOrderEntity = $storeGroupOrderRepository->getStoreGroupOrderEntityByGroupOrderId($groupOrderId);
|
|
|
11185
|
+ if (empty($storeGroupOrderEntity->getGroupOrderId())) {
|
|
|
11186
|
+ throw new ValidateException('未查询到订单信息');
|
|
|
11187
|
+ }
|
|
|
11188
|
+
|
|
|
11189
|
+ /** @var UserSignVrRepository $userSignVrRepository */
|
|
|
11190
|
+ $userSignVrRepository = app()->make(UserSignVrRepository::class);
|
|
|
11191
|
+ /** @var UserSignScoreRepository $userSignScoreRepository */
|
|
|
11192
|
+ $userSignScoreRepository = app()->make(UserSignScoreRepository::class);
|
|
|
11193
|
+ /** @var UserSignJingdouRepository $userSignJingdouRepository */
|
|
|
11194
|
+ $userSignJingdouRepository = app()->make(UserSignJingdouRepository::class);
|
|
|
11195
|
+ /** @var UserSignFugouRepository $userSignFugouRepository */
|
|
|
11196
|
+ $userSignFugouRepository = app()->make(UserSignFugouRepository::class);
|
|
|
11197
|
+
|
|
|
11198
|
+ $paySuccess = false;
|
|
|
11199
|
+ // 验证支付方式
|
|
11111
|
11200
|
if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['B1-VR+Score']['code']) {
|
|
11112
|
11201
|
if ($fzonePayTypeEntity->getPrice() > $userEntity->getVr() || $fzonePayTypeEntity->getOther() > $userEntity->getScore()) {
|
|
11113
|
11202
|
throw new ValidateException('支付失败,VR或积分不足!');
|
|
11114
|
11203
|
}
|
|
11115
|
|
- // 修改用户的VR值 和 积分值
|
|
11116
|
|
- // 修改用户VR
|
|
11117
|
|
- $userRepository->updateUserVr(
|
|
|
11204
|
+ // 创建Vr扣减记录 先有记录 再去执行
|
|
|
11205
|
+ $userSignVrEntity = $userSignVrRepository->addUserSingVr(
|
|
11118
|
11206
|
$userEntity->getUid(),
|
|
11119
|
11207
|
UserSignVrEnum::TYPE['Consume']['code'],
|
|
11120
|
11208
|
$fzonePayTypeEntity->getPrice(),
|
|
11121
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11209
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
11122
|
11210
|
CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11123
|
11211
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11124
|
11212
|
);
|
|
11125
|
|
- // 修改用户积分
|
|
11126
|
|
- $userRepository->updateUserScore(
|
|
|
11213
|
+ // 执行 Vr 增减 操作
|
|
|
11214
|
+ $userSignVrRepository->execute($userSignVrEntity->getId());
|
|
|
11215
|
+
|
|
|
11216
|
+ // 修改用户积分 先有记录 再去执行
|
|
|
11217
|
+ $userSignScoreEntity = $userSignScoreRepository->addUserSingScore(
|
|
11127
|
11218
|
$userEntity->getUid(),
|
|
|
11219
|
+ UserSignScoreEnum::SOURCE_TYPE['SelfOrder']['code'],
|
|
11128
|
11220
|
UserSignScoreEnum::PM['Expend']['code'],
|
|
11129
|
11221
|
$fzonePayTypeEntity->getOther(),
|
|
11130
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
11131
|
|
- CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
|
11222
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11223
|
+ UserSignHongbaoEnum::ORDER_TYPE['Platform']['code'],
|
|
11132
|
11224
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11133
|
11225
|
);
|
|
|
11226
|
+ $userSignScoreRepository->execute($userSignScoreEntity->getId());
|
|
|
11227
|
+
|
|
11134
|
11228
|
$paySuccess = true;
|
|
11135
|
11229
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['B2-Cash+Score']['code']) {
|
|
11136
|
11230
|
if ($fzonePayTypeEntity->getOther() > $userEntity->getScore()) {
|
|
11137
|
11231
|
throw new ValidateException('支付失败,积分不足!');
|
|
11138
|
11232
|
}
|
|
11139
|
|
- // 修改用户积分
|
|
11140
|
|
- $userRepository->updateUserScore(
|
|
11141
|
|
- $userEntity->getUid(),
|
|
11142
|
|
- UserSignScoreEnum::PM['Expend']['code'],
|
|
11143
|
|
- $fzonePayTypeEntity->getOther(),
|
|
11144
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
11145
|
|
- CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11146
|
|
- $storeGroupOrderEntity->getGroupOrderId()
|
|
11147
|
|
- );
|
|
|
11233
|
+ // 用户下单时 不扣除积分,而是在支付环节 验证 并扣除
|
|
11148
|
11234
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['B3-VR+Jingdou']['code']) {
|
|
11149
|
11235
|
if ($fzonePayTypeEntity->getPrice() > $userEntity->getVr() || $fzonePayTypeEntity->getOther() > $userEntity->getJingdou()) {
|
|
11150
|
11236
|
throw new ValidateException('支付失败,VR或京豆不足!');
|
|
11151
|
11237
|
}
|
|
11152
|
|
- // 修改用户VR
|
|
11153
|
|
- $userRepository->updateUserVr(
|
|
|
11238
|
+ // 创建Vr扣减记录 先有记录 再去执行
|
|
|
11239
|
+ $userSignVrEntity = $userSignVrRepository->addUserSingVr(
|
|
11154
|
11240
|
$userEntity->getUid(),
|
|
11155
|
11241
|
UserSignVrEnum::TYPE['Consume']['code'],
|
|
11156
|
11242
|
$fzonePayTypeEntity->getPrice(),
|
|
11157
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11243
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
11158
|
11244
|
CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11159
|
11245
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11160
|
11246
|
);
|
|
11161
|
|
- // 修改用户jingdou
|
|
11162
|
|
- $userRepository->updateUserJingdou(
|
|
|
11247
|
+ // 执行 Vr 增减 操作
|
|
|
11248
|
+ $userSignVrRepository->execute($userSignVrEntity->getId());
|
|
|
11249
|
+
|
|
|
11250
|
+ // 创建 京豆 扣减记录
|
|
|
11251
|
+ $userSignJingdouEntity = $userSignJingdouRepository->addUserSingJingdou(
|
|
11163
|
11252
|
$userEntity->getUid(),
|
|
11164
|
11253
|
UserSignJingdouEnum::TYPE['Consume']['code'],
|
|
11165
|
11254
|
$fzonePayTypeEntity->getOther(),
|
|
11166
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11255
|
+ 0,
|
|
|
11256
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
11167
|
11257
|
CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11168
|
11258
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11169
|
11259
|
);
|
|
|
11260
|
+ // 执行 京豆 增减 操作
|
|
|
11261
|
+ $userSignJingdouRepository->execute($userSignJingdouEntity->getId());
|
|
|
11262
|
+
|
|
11170
|
11263
|
$paySuccess = true;
|
|
11171
|
11264
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['B4-Cash+Jingdou']['code']) {
|
|
11172
|
11265
|
if ($fzonePayTypeEntity->getPrice() > $userEntity->getVr() || $fzonePayTypeEntity->getOther() > $userEntity->getJingdou()) {
|
|
11173
|
11266
|
throw new ValidateException('支付失败,京豆不足!');
|
|
11174
|
11267
|
}
|
|
11175
|
|
- // 修改用户jingdou
|
|
11176
|
|
- $userRepository->updateUserJingdou(
|
|
11177
|
|
- $userEntity->getUid(),
|
|
11178
|
|
- UserSignJingdouEnum::TYPE['Consume']['code'],
|
|
11179
|
|
- $fzonePayTypeEntity->getOther(),
|
|
11180
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
11181
|
|
- CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11182
|
|
- $storeGroupOrderEntity->getGroupOrderId()
|
|
11183
|
|
- );
|
|
11184
|
11268
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['B5-VR']['code']) {
|
|
11185
|
11269
|
if ($fzonePayTypeEntity->getPrice() > $userEntity->getVr()) {
|
|
11186
|
11270
|
throw new ValidateException('支付失败,VR不足!');
|
|
11187
|
11271
|
}
|
|
11188
|
|
- // 修改用户VR
|
|
11189
|
|
- $userRepository->updateUserVr(
|
|
|
11272
|
+ // 创建Vr扣减记录 先有记录 再去执行
|
|
|
11273
|
+ $userSignVrEntity = $userSignVrRepository->addUserSingVr(
|
|
11190
|
11274
|
$userEntity->getUid(),
|
|
11191
|
11275
|
UserSignVrEnum::TYPE['Consume']['code'],
|
|
11192
|
11276
|
$fzonePayTypeEntity->getPrice(),
|
|
11193
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11277
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
11194
|
11278
|
CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11195
|
11279
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11196
|
11280
|
);
|
|
|
11281
|
+ // 执行 Vr 增减 操作
|
|
|
11282
|
+ $userSignVrRepository->execute($userSignVrEntity->getId());
|
|
11197
|
11283
|
$paySuccess = true;
|
|
11198
|
11284
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['A1-VR']['code']) {
|
|
11199
|
11285
|
if ($fzonePayTypeEntity->getPrice() > $userEntity->getVr()) {
|
|
11200
|
11286
|
throw new ValidateException('支付失败,VR不足!');
|
|
11201
|
11287
|
}
|
|
11202
|
|
- // 修改用户VR
|
|
11203
|
|
- $userRepository->updateUserVr(
|
|
|
11288
|
+ // 创建Vr扣减记录 先有记录 再去执行
|
|
|
11289
|
+ $userSignVrEntity = $userSignVrRepository->addUserSingVr(
|
|
11204
|
11290
|
$userEntity->getUid(),
|
|
11205
|
11291
|
UserSignVrEnum::TYPE['Consume']['code'],
|
|
11206
|
11292
|
$fzonePayTypeEntity->getPrice(),
|
|
11207
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11293
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
11208
|
11294
|
CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11209
|
11295
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11210
|
11296
|
);
|
|
|
11297
|
+ // 执行 Vr 增减 操作
|
|
|
11298
|
+ $userSignVrRepository->execute($userSignVrEntity->getId());
|
|
11211
|
11299
|
$paySuccess = true;
|
|
11212
|
11300
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['A2-Cash']['code']) {
|
|
11213
|
11301
|
|
|
11214
|
|
- } else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['A3-Cash+VR']['code']) {
|
|
|
11302
|
+ }
|
|
|
11303
|
+ else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['A3-Cash+VR']['code']) {
|
|
11215
|
11304
|
if ($fzonePayTypeEntity->getOther() > $userEntity->getVr()) {
|
|
11216
|
11305
|
throw new ValidateException('支付失败,VR不足!');
|
|
11217
|
11306
|
}
|
|
11218
|
|
- // 修改用户VR
|
|
11219
|
|
- $userRepository->updateUserVr(
|
|
11220
|
|
- $userEntity->getUid(),
|
|
11221
|
|
- UserSignVrEnum::TYPE['Consume']['code'],
|
|
11222
|
|
- $fzonePayTypeEntity->getOther(),
|
|
11223
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
11224
|
|
- CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11225
|
|
- $storeGroupOrderEntity->getGroupOrderId()
|
|
11226
|
|
- );
|
|
11227
|
11307
|
} else if ($fzonePayTypeEntity->getType() == StoreOrderEnum::FZONE_PAY_TYPE['C1-Fugou']['code']) {
|
|
11228
|
11308
|
if ($fzonePayTypeEntity->getOther() > $userEntity->getFugou()) {
|
|
11229
|
11309
|
throw new ValidateException('支付失败,复购金不足!');
|
|
11230
|
11310
|
}
|
|
11231
|
|
- // 修改用户复购金
|
|
11232
|
|
- $userRepository->updateUserFugou(
|
|
|
11311
|
+ // 添加复购金 记录
|
|
|
11312
|
+ $userSignFugouEntity = $userSignFugouRepository->addUserSingFugou(
|
|
11233
|
11313
|
$userEntity->getUid(),
|
|
11234
|
|
- UserSignVrEnum::TYPE['Consume']['code'],
|
|
|
11314
|
+ UserSignFugouEnum::TYPE['Give']['code'],
|
|
11235
|
11315
|
$fzonePayTypeEntity->getPrice(),
|
|
11236
|
|
- '购买商品,订单编号:'.$storeGroupOrderEntity->getGroupOrderSn(),
|
|
|
11316
|
+ UserSignFugouEnum::COMMISSION_TYPE['DIRECT_REFERRAL']['code'],
|
|
|
11317
|
+ '购买商品,订单编号:' . $storeGroupOrderEntity->getGroupOrderSn(),
|
|
11237
|
11318
|
CommonEnum::ORDER_TYPE['Platform-Group']['code'],
|
|
11238
|
11319
|
$storeGroupOrderEntity->getGroupOrderId()
|
|
11239
|
11320
|
);
|
|
|
11321
|
+ // 执行
|
|
|
11322
|
+ $userSignFugouRepository->execute($userSignFugouEntity->getId());
|
|
11240
|
11323
|
$paySuccess = true;
|
|
11241
|
11324
|
} else {
|
|
11242
|
11325
|
throw new ValidateException('支付失败,支付方式错误!');
|
|
11243
|
11326
|
}
|
|
11244
|
|
-
|
|
11245
|
|
- // 非涉及到现金 控件成功后 直接结算
|
|
11246
|
|
- if ($paySuccess) {
|
|
11247
|
|
- // 修改订单的 支付状态
|
|
11248
|
|
- $storeGroupOrderRepository->update($storeGroupOrderEntity->getGroupOrderId(), [
|
|
11249
|
|
- 'paid' => StoreGroupOrderEnum::PAID['YES']['code'],
|
|
11250
|
|
- 'pay_time' => date('Y-m-d H:i:s')
|
|
11251
|
|
- ]);
|
|
11252
|
|
-
|
|
11253
|
|
- $storeOrderRepository->updates($storeOrderIdList, [
|
|
11254
|
|
- 'paid' => StoreOrderEnum::PAID['YES']['code'],
|
|
11255
|
|
- 'pay_time' => date('Y-m-d H:i:s'),
|
|
11256
|
|
- 'status' => StoreOrderEnum::STATUS['WAITING_SHIPMENT']['code'],
|
|
11257
|
|
- 'distribution_mode' => StoreOrderEnum::DISTRIBUTION_MODE['ExpressDelivery']
|
|
11258
|
|
- ]);
|
|
11259
|
|
- foreach ($storeOrderEntityList as $storeOrderEntity) {
|
|
11260
|
|
-
|
|
11261
|
|
- }
|
|
11262
|
|
- }
|
|
11263
|
|
-
|
|
11264
|
|
- return [];
|
|
11265
|
|
- }
|
|
11266
|
|
-
|
|
11267
|
|
- /**
|
|
11268
|
|
- * @param int $orderId
|
|
11269
|
|
- * @return StoreOrderEntity
|
|
11270
|
|
- */
|
|
11271
|
|
- public function getStoreOrderEntityByOrderId(int $orderId): StoreOrderEntity
|
|
11272
|
|
- {
|
|
11273
|
|
- $entityList = $this->getStoreOrderEntityListByOrderIdList([$orderId]);
|
|
11274
|
|
- $entity = array_shift($entityList);
|
|
11275
|
|
- if ($entity instanceof StoreOrderEntity) {
|
|
11276
|
|
- return $entity;
|
|
11277
|
|
- } else {
|
|
11278
|
|
- /** @var StoreOrderEntity */
|
|
11279
|
|
- return StoreOrderEntity::newInstance();
|
|
11280
|
|
- }
|
|
11281
|
|
- }
|
|
11282
|
|
-
|
|
11283
|
|
- /**
|
|
11284
|
|
- * @param array $orderIdList
|
|
11285
|
|
- * @return StoreOrderEntity[]
|
|
11286
|
|
- */
|
|
11287
|
|
- public function getStoreOrderEntityListByOrderIdList(array $orderIdList): array
|
|
11288
|
|
- {
|
|
11289
|
|
- return $this->dao->getStoreOrderEntityListByOrderIdList($orderIdList);
|
|
|
11327
|
+ return $paySuccess;
|
|
11290
|
11328
|
}
|
|
11291
|
11329
|
|
|
11292
|
11330
|
/**
|
|
|
@@ -11394,6 +11432,7 @@ class StoreOrderRepository extends BaseRepository
|
|
11394
|
11432
|
$userEntityBySpreadUid->getUid(),
|
|
11395
|
11433
|
UserSignFugouEnum::TYPE['Give']['code'],
|
|
11396
|
11434
|
$fugouBySpreadUid,
|
|
|
11435
|
+ UserSignFugouEnum::COMMISSION_TYPE['DIRECT_REFERRAL']['code'],
|
|
11397
|
11436
|
'推广精彩生活区商品赠送复购金',
|
|
11398
|
11437
|
UserSignFugouEnum::ORDER_TYPE['Platform']['code'],
|
|
11399
|
11438
|
$storeOrderEntity->getOrderId()
|
|
|
@@ -11485,6 +11524,7 @@ class StoreOrderRepository extends BaseRepository
|
|
11485
|
11524
|
$userEntityByShareUid->getUid(),
|
|
11486
|
11525
|
UserSignFugouEnum::TYPE['Give']['code'],
|
|
11487
|
11526
|
$fugouByShareUid,
|
|
|
11527
|
+ UserSignFugouEnum::COMMISSION_TYPE['SHARE_EARNINGS']['code'],
|
|
11488
|
11528
|
'分享精彩生活区商品赠送复购金',
|
|
11489
|
11529
|
UserSignFugouEnum::ORDER_TYPE['Platform']['code'],
|
|
11490
|
11530
|
$storeOrderEntity->getOrderId()
|
|
|
@@ -11521,6 +11561,7 @@ class StoreOrderRepository extends BaseRepository
|
|
11521
|
11561
|
$merchantEntity->getUid(),
|
|
11522
|
11562
|
UserSignFugouEnum::TYPE['Give']['code'],
|
|
11523
|
11563
|
$fugouByMerId,
|
|
|
11564
|
+ UserSignFugouEnum::COMMISSION_TYPE['LOCKED_CUSTOMER']['code'],
|
|
11524
|
11565
|
'锁客复购金(精彩生活区商品赠送)',
|
|
11525
|
11566
|
UserSignFugouEnum::ORDER_TYPE['Platform']['code'],
|
|
11526
|
11567
|
$storeOrderEntity->getOrderId()
|
|
|
@@ -11602,6 +11643,7 @@ class StoreOrderRepository extends BaseRepository
|
|
11602
|
11643
|
$userEntityBySpreadUid->getUid(),
|
|
11603
|
11644
|
UserSignFugouEnum::TYPE['Give']['code'],
|
|
11604
|
11645
|
$fugouBySpreadUid,
|
|
|
11646
|
+ UserSignFugouEnum::COMMISSION_TYPE['DIRECT_REFERRAL']['code'],
|
|
11605
|
11647
|
'推广会员专区商品赠送复购金',
|
|
11606
|
11648
|
UserSignFugouEnum::ORDER_TYPE['Platform']['code'],
|
|
11607
|
11649
|
$storeOrderEntity->getOrderId()
|
|
|
@@ -11828,6 +11870,7 @@ class StoreOrderRepository extends BaseRepository
|
|
11828
|
11870
|
$userEntityBySpreadUid->getUid(),
|
|
11829
|
11871
|
UserSignFugouEnum::TYPE['Give']['code'],
|
|
11830
|
11872
|
$fugouBySpreadUid,
|
|
|
11873
|
+ UserSignFugouEnum::COMMISSION_TYPE['DIRECT_REFERRAL']['code'],
|
|
11831
|
11874
|
'推广商贸区商品赠送复购金',
|
|
11832
|
11875
|
UserSignFugouEnum::ORDER_TYPE['Platform']['code'],
|
|
11833
|
11876
|
$storeOrderEntity->getOrderId()
|
|
|
@@ -11922,6 +11965,7 @@ class StoreOrderRepository extends BaseRepository
|
|
11922
|
11965
|
$merchantEntityByLock->getUid(),
|
|
11923
|
11966
|
UserSignFugouEnum::TYPE['Give']['code'],
|
|
11924
|
11967
|
$fugouByMerId,
|
|
|
11968
|
+ UserSignFugouEnum::COMMISSION_TYPE['LOCKED_CUSTOMER']['code'],
|
|
11925
|
11969
|
'锁客复购金(精彩生活区商品赠送)',
|
|
11926
|
11970
|
UserSignFugouEnum::ORDER_TYPE['Platform']['code'],
|
|
11927
|
11971
|
$storeOrderEntity->getOrderId()
|
|
|
@@ -11949,25 +11993,43 @@ class StoreOrderRepository extends BaseRepository
|
|
11949
|
11993
|
}
|
|
11950
|
11994
|
}
|
|
11951
|
11995
|
|
|
|
11996
|
+ /**
|
|
|
11997
|
+ * 结算订单 将 奖励设置为 生效
|
|
|
11998
|
+ * @param array $orderIdList
|
|
|
11999
|
+ * @return void
|
|
|
12000
|
+ */
|
|
11952
|
12001
|
public function settlementOrderByOrderIdList(array $orderIdList)
|
|
11953
|
12002
|
{
|
|
11954
|
12003
|
/** @var StoreOrderRepository $storeOrderRepository */
|
|
11955
|
12004
|
$storeOrderRepository = app()->make(StoreOrderRepository::class);
|
|
11956
|
12005
|
$storeOrderEntityList = $storeOrderRepository->getStoreOrderEntityListByOrderIdList($orderIdList);
|
|
11957
|
12006
|
if (!empty($storeOrderEntityList)) {
|
|
11958
|
|
- $existOrderIdList = array_map(function ($storeOrderEntity) {
|
|
|
12007
|
+ /** @var UserRepository $userRepository */
|
|
|
12008
|
+ $userRepository = app()->make(UserRepository::class);
|
|
|
12009
|
+
|
|
|
12010
|
+ // 筛选
|
|
|
12011
|
+ $existOrderIdList = [];
|
|
|
12012
|
+ foreach ($storeOrderEntityList as $storeOrderEntity) {
|
|
11959
|
12013
|
if ($storeOrderEntity->getIsSettlement() == StoreOrderEnum::IS_SETTLEMENT['NO']['code']) {
|
|
11960
|
|
- return $storeOrderEntity->getOrderId();
|
|
|
12014
|
+ $existOrderIdList[] = $storeOrderEntity->getOrderId();
|
|
11961
|
12015
|
}
|
|
11962
|
|
- }, $storeOrderEntityList);
|
|
|
12016
|
+ }
|
|
|
12017
|
+ if (empty($existOrderIdList)) {
|
|
|
12018
|
+ return;
|
|
|
12019
|
+ }
|
|
11963
|
12020
|
|
|
|
12021
|
+ /** 养老金 佣金 */
|
|
11964
|
12022
|
/** @var UserBillRepository $userBillRepository */
|
|
11965
|
12023
|
$userBillRepository = app()->make(UserBillRepository::class);
|
|
11966
|
12024
|
$userBillEntityList = $userBillRepository->getUserBillEntityListByOrderIdListAndPending(UserBillEnum::TYPE_SHOP['Platform']['code'], $existOrderIdList);
|
|
11967
|
12025
|
if (!empty($userBillEntityList)) {
|
|
11968
|
12026
|
foreach ($userBillEntityList as $userBillEntity) {
|
|
11969
|
12027
|
if ($userBillEntity->getCommissionType() == UserBillEnum::COMMISSION_TYPE['PENSION']['code']) {
|
|
11970
|
|
- // 养老金 todo
|
|
|
12028
|
+ // 养老金
|
|
|
12029
|
+ $userEntity = $userRepository->getUserEntityByUid($userBillEntity->getUid());
|
|
|
12030
|
+
|
|
|
12031
|
+ } else if ($userBillEntity->getCommissionType() == UserBillEnum::COMMISSION_TYPE['DIRECT_REFERRAL']['code']) {
|
|
|
12032
|
+ // 直推奖 佣金
|
|
11971
|
12033
|
}
|
|
11972
|
12034
|
}
|
|
11973
|
12035
|
}
|