|
|
@@ -101,13 +101,14 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
101
|
101
|
* 添加 共富体系奖励记录
|
|
102
|
102
|
* @param int $uid
|
|
103
|
103
|
* @param int $type
|
|
|
104
|
+ * @param int $pm
|
|
104
|
105
|
* @param float $number
|
|
105
|
106
|
* @param int $typeShop
|
|
106
|
107
|
* @param string $orderSn
|
|
107
|
108
|
* @param string $remark
|
|
108
|
109
|
* @return SharedProsperityRewardRecordEntity
|
|
109
|
110
|
*/
|
|
110
|
|
- public function addSharedProsperityRewardRecord(int $uid, int $type, float $number, int $typeShop = 0, string $orderSn = '', string $remark = ''): SharedProsperityRewardRecordEntity
|
|
|
111
|
+ public function addSharedProsperityRewardRecord(int $uid, int $type, int $pm, float $number, int $typeShop = 0, string $orderSn = '', string $remark = ''): SharedProsperityRewardRecordEntity
|
|
111
|
112
|
{
|
|
112
|
113
|
if ($typeShop == SharedProsperityRewardRecordEnum::TYPE_SHOP['Platform']['code']) {
|
|
113
|
114
|
/** @var StoreOrderRepository $storeOrderRepository */
|
|
|
@@ -121,8 +122,8 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
121
|
122
|
/** @var SharedProsperityRewardRecordEntity $sharedProsperityRewardRecordEntity */
|
|
122
|
123
|
$sharedProsperityRewardRecordEntity = SharedProsperityRewardRecordEntity::newInstance();
|
|
123
|
124
|
$sharedProsperityRewardRecordEntity->setUserId($uid)
|
|
124
|
|
- //UserBillEnum::PM['INCOME']['code']
|
|
125
|
125
|
->setType($type)
|
|
|
126
|
+ ->setPm($pm)
|
|
126
|
127
|
->setNumber($number)
|
|
127
|
128
|
->setStatus(SharedProsperityRewardRecordEnum::STATUS['PENDING']['code'])
|
|
128
|
129
|
->setTypeShop($typeShop)
|
|
|
@@ -133,6 +134,25 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
133
|
134
|
}
|
|
134
|
135
|
|
|
135
|
136
|
/**
|
|
|
137
|
+ * @param string $typeShop
|
|
|
138
|
+ * @param array $orderSnList
|
|
|
139
|
+ * @return SharedProsperityRewardRecordEntity[]
|
|
|
140
|
+ */
|
|
|
141
|
+ public function getSharedProsperityRewardRecordEntityListByOrderSnListAndPending(string $typeShop, array $orderSnList): array
|
|
|
142
|
+ {
|
|
|
143
|
+ return $this->dao->getSharedProsperityRewardRecordEntityListByOrderSnListAndPending($typeShop, $orderSnList);
|
|
|
144
|
+ }
|
|
|
145
|
+
|
|
|
146
|
+ /**
|
|
|
147
|
+ * @param $dataList
|
|
|
148
|
+ * @return array
|
|
|
149
|
+ */
|
|
|
150
|
+ public function batchUpdateSharedProsperityRewardRecordDataByDataList($dataList): array
|
|
|
151
|
+ {
|
|
|
152
|
+ return $this->dao->saveAll($dataList);
|
|
|
153
|
+ }
|
|
|
154
|
+
|
|
|
155
|
+ /**
|
|
136
|
156
|
* 结算 共富体系奖励记录
|
|
137
|
157
|
* @param array $idList
|
|
138
|
158
|
* @return array
|
|
|
@@ -141,7 +161,7 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
141
|
161
|
{
|
|
142
|
162
|
$sharedProsperityRewardRecordEntityList = $this->getSharedProsperityRewardRecordEntityListByIdList($idList);
|
|
143
|
163
|
// 忽略 已经生效的 记录
|
|
144
|
|
- $sharedProsperityRewardRecordEntityList = array_filter($sharedProsperityRewardRecordEntityList, function($entity) {
|
|
|
164
|
+ $sharedProsperityRewardRecordEntityList = array_filter($sharedProsperityRewardRecordEntityList, function ($entity) {
|
|
145
|
165
|
return $entity->getStatus() != SharedProsperityRewardRecordEnum::STATUS['VALID']['code'];
|
|
146
|
166
|
});
|
|
147
|
167
|
|
|
|
@@ -179,83 +199,77 @@ class SharedProsperityRewardRecordRepository extends BaseRepository
|
|
179
|
199
|
// 更新 用户信息
|
|
180
|
200
|
/** @var SharedProsperityUserEntity $updateSharedProsperityUserEntity */
|
|
181
|
201
|
$updateSharedProsperityUserEntity = $updateSharedProsperityUserEntityList[$sharedProsperityUserEntity->getUserId()] ?? SharedProsperityUserEntity::newInstance();
|
|
182
|
|
- $updateSharedProsperityUserEntity->setId();
|
|
|
202
|
+ $updateSharedProsperityUserEntity->setId($sharedProsperityUserEntity->getId());
|
|
183
|
203
|
|
|
184
|
204
|
// 更新 账单 记录
|
|
185
|
205
|
/** @var SharedProsperityRewardRecordEntity $updateSharedProsperityRewardRecord */
|
|
186
|
206
|
$updateSharedProsperityRewardRecord = $updateSharedProsperityRewardRecordEntityList[$sharedProsperityRewardRecordEntity->getId()] ?? SharedProsperityRewardRecordEntity::newInstance();
|
|
187
|
207
|
// 更新 账单记录 状态
|
|
188
|
208
|
$updateSharedProsperityRewardRecord
|
|
189
|
|
- ->setId($sharedProsperityRewardRecordEntity->getBillId())
|
|
190
|
|
- ->setStatus(UserBillEnum::STATUS['VALID']['code'])
|
|
191
|
|
- ->setTakeTime(time());
|
|
|
209
|
+ ->setId($sharedProsperityRewardRecordEntity->getId())
|
|
|
210
|
+ ->setStatus(SharedProsperityRewardRecordEnum::STATUS['VALID']['code'])
|
|
|
211
|
+ ->setTakeTime(date('Y-m-d H:i:s'));
|
|
192
|
212
|
|
|
193
|
|
- if ($sharedProsperityRewardRecordEntity->getCommissionType() == UserBillEnum::COMMISSION_TYPE['DIRECT_REFERRAL']['code']) {
|
|
194
|
|
- // 直推奖
|
|
195
|
|
- if (is_null($updateSharedProsperityUserEntity->getBrokeragePrice())) {
|
|
196
|
|
- $updateSharedProsperityUserEntity->setBrokeragePrice($sharedProsperityUserEntity->getBrokeragePrice());
|
|
|
213
|
+ if ($sharedProsperityRewardRecordEntity->getType() == SharedProsperityRewardRecordEnum::TYPE['CONSUMER_STOCKS']['code']) {
|
|
|
214
|
+ // 消费股
|
|
|
215
|
+ if (is_null($updateSharedProsperityUserEntity->getConsumerStocks())) {
|
|
|
216
|
+ $updateSharedProsperityUserEntity->setConsumerStocks($sharedProsperityUserEntity->getConsumerStocks());
|
|
197
|
217
|
}
|
|
198
|
218
|
// 更新用户 佣金 信息
|
|
199
|
|
- if ($sharedProsperityRewardRecordEntity->getPm() == UserBillEnum::PM['EXPEND']['code']) {
|
|
200
|
|
- if ($updateSharedProsperityUserEntity->getBrokeragePrice() < $sharedProsperityRewardRecordEntity->getNumber()) {
|
|
201
|
|
- throw new ValidateException('用户佣金不足');
|
|
|
219
|
+ if ($sharedProsperityRewardRecordEntity->getPm() == SharedProsperityRewardRecordEnum::PM['EXPEND']['code']) {
|
|
|
220
|
+ if ($updateSharedProsperityUserEntity->getConsumerStocks() < $sharedProsperityRewardRecordEntity->getNumber()) {
|
|
|
221
|
+ throw new ValidateException('用户剩余消费股不足');
|
|
202
|
222
|
}
|
|
203
|
|
- $updateSharedProsperityUserEntity->setBrokeragePrice(bcsub($updateSharedProsperityUserEntity->getBrokeragePrice(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
|
223
|
+ $updateSharedProsperityUserEntity->setConsumerStocks(bcsub($updateSharedProsperityUserEntity->getConsumerStocks(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
204
|
224
|
} else {
|
|
205
|
|
- $updateSharedProsperityUserEntity->setBrokeragePrice(bcadd($updateSharedProsperityUserEntity->getBrokeragePrice(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
|
225
|
+ $updateSharedProsperityUserEntity->setConsumerStocks(bcadd($updateSharedProsperityUserEntity->getConsumerStocks(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
206
|
226
|
}
|
|
207
|
227
|
|
|
208
|
|
- } else if ($sharedProsperityRewardRecordEntity->getCommissionType() == UserBillEnum::COMMISSION_TYPE['PENSION']['code']) {
|
|
209
|
|
-
|
|
210
|
|
- if ($sharedProsperityRewardRecordEntity->getGzc() == UserBillEnum::GZC_STATUS['NOT_ENTERED']['code']) {
|
|
211
|
|
- if (!empty($userCertificationEntityMapByUid[$sharedProsperityRewardRecordEntity->getUid()])) {
|
|
212
|
|
- $userCertificationEntity = $userCertificationEntityMapByUid[$sharedProsperityRewardRecordEntity->getUid()];
|
|
213
|
|
- // 创建公证处记录
|
|
214
|
|
- $gzcLogRepository->addGzcLog(
|
|
215
|
|
- $userCertificationEntity->getUid(),
|
|
216
|
|
- $userCertificationEntity->getUserName(),
|
|
217
|
|
- $userCertificationEntity->getMobile(),
|
|
218
|
|
- $userCertificationEntity->getUserCard(),
|
|
219
|
|
- $sharedProsperityRewardRecordEntity->getTypeShop(),
|
|
220
|
|
- $sharedProsperityRewardRecordEntity->getLinkId(),
|
|
221
|
|
- $sharedProsperityRewardRecordEntity->getNumber()
|
|
222
|
|
- );
|
|
223
|
|
-
|
|
224
|
|
- // 养老金
|
|
225
|
|
- if (is_null($updateSharedProsperityUserEntity->getAnnuity())) {
|
|
226
|
|
- $updateSharedProsperityUserEntity->setAnnuity($sharedProsperityUserEntity->getAnnuity());
|
|
227
|
|
- }
|
|
228
|
|
- $updateSharedProsperityUserEntity->setAnnuity(bcadd($updateSharedProsperityUserEntity->getAnnuity(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
229
|
|
-
|
|
230
|
|
- // 几笔养老金
|
|
231
|
|
- if (is_null($updateSharedProsperityUserEntity->getAnnuityNum())) {
|
|
232
|
|
- $updateSharedProsperityUserEntity->setAnnuityNum($sharedProsperityUserEntity->getAnnuityNum());
|
|
233
|
|
- }
|
|
234
|
|
- $updateSharedProsperityUserEntity->setAnnuityNum(bcadd($updateSharedProsperityUserEntity->getAnnuityNum(), 1));
|
|
235
|
|
-
|
|
236
|
|
- // 更新佣金记录
|
|
237
|
|
- $updateSharedProsperityRewardRecord
|
|
238
|
|
- ->setGzc(UserBillEnum::GZC_STATUS['ENTERED']['code'])
|
|
239
|
|
- ->setIsGzc(UserBillEnum::IS_GZC['NOT_STARTED']['code']);
|
|
|
228
|
+ } else if ($sharedProsperityRewardRecordEntity->getType() == SharedProsperityRewardRecordEnum::TYPE['WITHDRAWAL_LIMIT']['code']) {
|
|
|
229
|
+ // 提现额度
|
|
|
230
|
+ if (is_null($updateSharedProsperityUserEntity->getWithdrawalLimit())) {
|
|
|
231
|
+ $updateSharedProsperityUserEntity->setWithdrawalLimit($sharedProsperityUserEntity->getWithdrawalLimit());
|
|
|
232
|
+ }
|
|
|
233
|
+ // 更新用户 佣金 信息
|
|
|
234
|
+ if ($sharedProsperityRewardRecordEntity->getPm() == SharedProsperityRewardRecordEnum::PM['EXPEND']['code']) {
|
|
|
235
|
+ if ($updateSharedProsperityUserEntity->getWithdrawalLimit() < $sharedProsperityRewardRecordEntity->getNumber()) {
|
|
|
236
|
+ throw new ValidateException('用户剩余提现额度不足');
|
|
240
|
237
|
}
|
|
|
238
|
+ $updateSharedProsperityUserEntity->setWithdrawalLimit(bcsub($updateSharedProsperityUserEntity->getWithdrawalLimit(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
|
239
|
+ } else {
|
|
|
240
|
+ $updateSharedProsperityUserEntity->setWithdrawalLimit(bcadd($updateSharedProsperityUserEntity->getWithdrawalLimit(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
|
241
|
+ }
|
|
|
242
|
+ } else if ($sharedProsperityRewardRecordEntity->getType() == SharedProsperityRewardRecordEnum::TYPE['PV']['code']) {
|
|
|
243
|
+ // 提现额度
|
|
|
244
|
+ if (is_null($updateSharedProsperityUserEntity->getPv())) {
|
|
|
245
|
+ $updateSharedProsperityUserEntity->setPv($sharedProsperityUserEntity->getPv());
|
|
|
246
|
+ }
|
|
|
247
|
+ // 更新用户 佣金 信息
|
|
|
248
|
+ if ($sharedProsperityRewardRecordEntity->getPm() == SharedProsperityRewardRecordEnum::PM['EXPEND']['code']) {
|
|
|
249
|
+ if ($updateSharedProsperityUserEntity->getPv() < $sharedProsperityRewardRecordEntity->getNumber()) {
|
|
|
250
|
+ throw new ValidateException('用户剩余PV不足');
|
|
|
251
|
+ }
|
|
|
252
|
+ $updateSharedProsperityUserEntity->setPv(bcsub($updateSharedProsperityUserEntity->getPv(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
|
253
|
+ } else {
|
|
|
254
|
+ $updateSharedProsperityUserEntity->setPv(bcadd($updateSharedProsperityUserEntity->getPv(), $sharedProsperityRewardRecordEntity->getNumber(), 2));
|
|
241
|
255
|
}
|
|
242
|
256
|
}
|
|
243
|
257
|
|
|
244
|
|
- $updateSharedProsperityUserEntityList[$sharedProsperityUserEntity->getUid()] = $updateSharedProsperityUserEntity;
|
|
245
|
|
- $updateSharedProsperityRewardRecordEntityList[$sharedProsperityRewardRecordEntity->getBillId()] = $updateSharedProsperityRewardRecord;
|
|
|
258
|
+ $updateSharedProsperityUserEntityList[$sharedProsperityUserEntity->getUserId()] = $updateSharedProsperityUserEntity;
|
|
|
259
|
+ $updateSharedProsperityRewardRecordEntityList[$sharedProsperityRewardRecordEntity->getId()] = $updateSharedProsperityRewardRecord;
|
|
246
|
260
|
}
|
|
247
|
261
|
if (!empty($updateSharedProsperityUserEntityList)) {
|
|
248
|
|
- $sharedProsperityUserRepository->batchUpdateUserDataByDataList(
|
|
249
|
|
- array_map(function (UserEntity $updateUserEntity) {
|
|
250
|
|
- return $updateUserEntity->toUnderlineArray();
|
|
|
262
|
+ $sharedProsperityUserRepository->batchUpdateSharedProsperityUserDataByDataList(
|
|
|
263
|
+ array_map(function (SharedProsperityUserEntity $updateSharedProsperityUserEntity) {
|
|
|
264
|
+ return $updateSharedProsperityUserEntity->toUnderlineArray();
|
|
251
|
265
|
}, $updateSharedProsperityUserEntityList)
|
|
252
|
266
|
);
|
|
253
|
267
|
}
|
|
254
|
268
|
|
|
255
|
269
|
if (!empty($updateSharedProsperityRewardRecordEntityList)) {
|
|
256
|
|
- $this->batchUpdateUserBillDataByDataList(
|
|
257
|
|
- array_map(function (UserBillEntity $updateUserBillEntity) {
|
|
258
|
|
- return $updateUserBillEntity->toUnderlineArray();
|
|
|
270
|
+ $this->batchUpdateSharedProsperityRewardRecordDataByDataList(
|
|
|
271
|
+ array_map(function (SharedProsperityRewardRecordEntity $updateSharedProsperityRewardRecordEntity) {
|
|
|
272
|
+ return $updateSharedProsperityRewardRecordEntity->toUnderlineArray();
|
|
259
|
273
|
}, $updateSharedProsperityRewardRecordEntityList)
|
|
260
|
274
|
);
|
|
261
|
275
|
}
|