|
@@ -114,6 +114,13 @@ class CardController extends Curd
|
|
|
$item['valid_datetime'] = date('Y/m/d H:i:s', strtotime($item['card_assign_datetime'])) . '-' . date('Y/m/d H:i:s', strtotime($item['card_deadline_datetime']));
|
|
|
}
|
|
|
}
|
|
|
+ $cardExtendJson = [];
|
|
|
+ if (!empty($item['card_extend_json'])) {
|
|
|
+ $cardExtendJson = json_decode($item['card_extend_json'], true);
|
|
|
+ }
|
|
|
+ if (!empty($cardExtendJson['issue_datetime'])) {
|
|
|
+ $item['issue_datetime'] = $cardExtendJson['issue_datetime'];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return $items;
|
|
@@ -228,19 +235,54 @@ class CardController extends Curd
|
|
|
{
|
|
|
$params = $request->post();
|
|
|
|
|
|
+ Db::beginTransaction();
|
|
|
try {
|
|
|
$issueMode = $params['issue'];
|
|
|
// 1.按卡号
|
|
|
if ($issueMode == 'CARDID' && !empty($params['card_id'])) {
|
|
|
- Card::whereIn('card_id', $params['card_id'])->where('is_issue', 'N')->update(['is_issue' => 'Y']);
|
|
|
+ foreach ($params['card_id'] as $card_id) {
|
|
|
+ $card = Card::where('card_id', $card_id)->select('card_id', 'is_issue', 'card_extend_json')->first();
|
|
|
+ if (!empty($card)) {
|
|
|
+ $cardExtendJson = json_decode($card->card_extend_json, true);
|
|
|
+ $cardExtendJson['issue_datetime'] = date('Y-m-d H:i:s');
|
|
|
+ $card->card_extend_json = json_encode($cardExtendJson);
|
|
|
+ $card->is_issue = 'Y';
|
|
|
+ $card->save();
|
|
|
+ } else {
|
|
|
+ throw new BusinessException($card_id . "不存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
} elseif ($issueMode == 'ISSUE' && !empty($params['card_issue_id'])) {
|
|
|
// 2.按批次
|
|
|
- Card::where('join_card_issue_id', $params['card_issue_id'])->where('is_issue', 'N')->update(['is_issue' => 'Y']);
|
|
|
+ $cards = Card::where('join_card_issue_id', $params['card_issue_id'])
|
|
|
+ ->where('is_issue', 'N')
|
|
|
+ ->select('card_id', 'card_extend_json')
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ if (!empty($cards)) {
|
|
|
+ foreach ($cards as $cardItem) {
|
|
|
+ $cardExtendJson = json_decode($cardItem['card_extend_json'], true);
|
|
|
+ $cardExtendJson['issue_datetime'] = date('Y-m-d H:i:s');
|
|
|
+ Card::where('card_id', $cardItem['card_id'])->update([
|
|
|
+ 'is_issue' => 'Y',
|
|
|
+ 'card_extend_json' => json_encode($cardExtendJson)
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new BusinessException("批次不存在");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ Db::commit();
|
|
|
_syslog("储值卡", '发行成功');
|
|
|
return json_success('success');
|
|
|
+ } catch (BusinessException $e) {
|
|
|
+ Db::rollBack();
|
|
|
+ _syslog("储值卡", "发行失败:" . $e->getMessage());
|
|
|
+ Log::error('储值卡发行失败', ['msg' => $e->getMessage()]);
|
|
|
+ return json_fail("发行失败:" . $e->getMessage());
|
|
|
} catch (\Exception $e) {
|
|
|
+ Db::rollBack();
|
|
|
_syslog("储值卡", '发行失败');
|
|
|
Log::error('储值卡发行失败', ['msg' => $e->getMessage()]);
|
|
|
return json_fail("发行失败");
|