12345678910111213141516171819202122232425262728293031323334353637 |
- <?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($noticeUsers['uids']){
- $uids = implode('、', $noticeUsers['uids']);
- }
- return [
- 'id' => $noticeRule['id'],
- 'title' => $noticeRule['title'],
- 'cover' => $noticeRule['cover'],
- 'updated_at' => Carbon::parse($noticeRule['updated_at'])->toDateTimeString(),
- 'send_count' => $noticeRule['send_count'],
- 'notice_user_type' => $noticeRule['notice_user_type'],
- 'notice_status' => $noticeStatus,
- 'attribute' => $attribute,
- 'category' => $category,
- 'uids' => $uids,
- ];
- }
- }
|