12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace App\Transformers;
- use App\Models\NoticeRule;
- use Illuminate\Support\Carbon;
- use League\Fractal\TransformerAbstract;
- class NoticeRuleDetailTransformer extends TransformerAbstract
- {
- public function transform(NoticeRule $noticeRule)
- {
- $noticeStatus = $noticeRule['notice_status'];
- if($noticeStatus == 0 && $noticeRule['send_time'] && $noticeRule['send_time'] <= Carbon::now()->toDateTimeString()){
- $noticeStatus = 1;
- }
- $noticeUsers = json_decode($noticeRule['notice_users'], true);
- $attribute = $noticeUsers['attribute']??0;
- $category = $noticeUsers['category']??[];
- $uids = '';
- if(isset($noticeUsers['uids'])){
- $uids = implode('、', $noticeUsers['uids']);
- }
- return [
- 'id' => $noticeRule['id'],
- 'title' => $noticeRule['title'],
- 'content' => $noticeRule['content'],
- 'cover' => $noticeRule['cover'],
- 'send_time' => $noticeRule['send_time']?Carbon::parse($noticeRule['send_time'])->toDateTimeString():'',
- 'send_count' => $noticeRule['send_count'],
- 'notice_user_type' => $noticeRule['notice_user_type'],
- 'notice_status' => $noticeStatus,
- 'attribute' => $attribute,
- 'category' => $category,
- 'uids' => $uids,
- 'action_type' => $noticeRule['action_type'],
- 'action_id' => $noticeRule['action_id'],
- ];
- }
- }
|