123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?php
-
- namespace App\Http\Services\Backend\DataManagement;
-
- use App\Http\Services\ConstDef\GeneralConst;
- use App\Models\TrackData;
- use DB;
- use Log;
- use PhpOffice\PhpSpreadsheet\IOFactory;
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
-
- class TrackManagementService
- {
-
- // 相關私有 model 調用器宣告
- private $signupDb;
- public function __construct()
- {
- // 建構 model 調用器
- $this->trackDataDb = new TrackData();
-
- }
- public function getList(&$cnt = 0, $orderColumn, $orderDir, $start, $length, $searchValue, $keyword)
- {
- // 調用資料庫(或者其他業務邏輯)
- $res = $this->trackDataDb
- ->select('*')
- ->where('trackNo', 'like', '%'.$keyword.'%')
- ->orWhere('trackTitle', 'like', '%'.$keyword.'%');
-
- // 取總筆數
- $cnt = $res->count();
- // 排序
- $res = $res
- ->orderByRaw((int)$orderColumn . ' ' . $orderDir);
- // 分頁
- $res = $res
- ->skip($start)->take($length);
- // 實際取資料
- $result = $res
- ->get()
- ->toArray();
-
- // 整理返回值並返回
- return $result;
- }
-
- public function getReferral()
- {
- $res=$this->referralDB->select(["id","name","referral"])->get();
- if(!empty($res))
- {
- $res=$res->toArray();
- }
- return $res;
- }
- public function getTrackDataById($id)
- {
- $res=$this->trackDataDb
- ->select('*')
- ->where("id",$id)
- ->first();
-
- if(!empty($res))
- {
- $res=$res->toArray();
- }
- return $res;
- }
- public function getReferralByReferral($referral)
- {
- return $this->referralDB->where('referral', $referral)->first();
- }
- public function modifyReferral($id,$name,$referral,$richmenuId,$orlCode=0)
- {
- $res=$this->referralDB->where("id",$id)->update(["name"=>$name,"richmenuId"=>$richmenuId,"orlCode"=>$orlCode]);
- return $res;
- }
- public function modifyReferralPicsee($id,$picseeCode,$picseeUrl,$qRCode)
- {
- $res=$this->referralDB->where("id",$id)->update(["picseeCode"=>$picseeCode,"shortUrl"=>$picseeUrl,"qRCode"=>$qRCode]);
- return $res;
- }
- public function modifyPicseeCntAndTime($id,$picseeCnt,$last_call)
- {
- $res=$this->referralDB->where("id",$id)->update(["picseeCnt"=>$picseeCnt,"last_call"=>$last_call]);
- return $res;
- }
-
- public function insert($trackNo, $trackTitle, $trackLimit)
- {
-
- $this->trackDataDb
- ->insert([
- 'trackNo' => $trackNo,
- 'trackTitle' => $trackTitle,
- 'trackLimit' => $trackLimit,
- 'createDate' => date("Y-m-d H:i:s"),
- ]);
-
- return ;
- }
-
- public function store($id, $trackNo, $trackTitle, $trackLimit)
- {
- $this->trackDataDb
- ->where('id', $id)
- ->update([
- 'trackNo' => $trackNo,
- 'trackTitle' => $trackTitle,
- 'trackLimit' => $trackLimit,
- 'updateDate' => date("Y-m-d H:i:s"),
- ]);
-
- return $id;
- }
-
- public function deleteDataById($id)
- {
- // 取得參數
- // 調用資料庫(或者其他業務邏輯)
- $res = $this->trackDataDb
- ->where('id', $id)
- ->delete();
-
- // 整理返回值並返回
- return $res;
- }
-
- public function getExportList($keyword)
- {
- $res = $this->signupDb
- ->select('*')
- // 過濾搜尋條件
- ->where('firstName', $keyword)
- ->orWhere('lastName', $keyword)
- ->orWhere('companyName', $keyword)
- ->orWhere('companyEmail', $keyword)
- ->orWhere('backupEmail', $keyword)
- ->orWhere('phoneNumber', $keyword)
- ->orWhere('country', $keyword)
- ->orWhere('trackNo', $keyword)
- // ->orWhere('registeredSession', $keyword)
- // ->orWhere('lunchOptions', $keyword)
- ->orWhere('typeOfIndustry', $keyword)
- ->orWhere('typeOfJob', $keyword)
- ->orWhere('jobTitle', $keyword)
- ->get()
- ->toArray();
-
- // 整理返回值並返回
- return $res;
- }
-
- }
|