123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- declare (strict_types=1);
- namespace app\store\model\member;
- use app\common\model\member\MemberWelfareDraw as WelfareDrawModel;
- /**
- * 福利领取记录
- * Class MemberCards
- * @package app\common\model
- */
- class MemberWelfareDraw extends WelfareDrawModel
- {
- public function getLists($params,$toExport=false){
- $t_now = time();
- $where = $this->getFilter($params);
- $where[] = ['target_type','=' ,2];
- $query = self::alias('mwd')
- ->leftJoin('user us','mwd.user_id=us.user_id')
- ->leftJoin('member_cooperation_coupon mcc','mwd.code_id=mcc.id')
- ->where($where)
- ->field('mwd.id,mwd.user_id,mwd.target_id,mwd.create_time,mwd.code_id,mwd.check_status,mwd.use_end_time,us.nick_name,us.mobile,mcc.code')
- ->order('mwd.id desc');
- if ($toExport == true){
- $query = $query->select();
- }else{
- $query = $query->paginate(15);
- }
- return $query->each(function (&$item) use ($t_now){
- if ($item['check_status'] == 0 && strtotime($item['use_end_time'])< $t_now){
- $item['has_expired'] = 1;
- }else{
- $item['has_expired'] = 0;
- }
- });
- }
- public function getFilter($params){
- $where[] = ['mwd.target_id','=',$params['targetId']];
- !empty($params['mobile']) && $where[] = ['us.mobile','like','%'.$params['mobile'].'%'];
- //核销状态
- if (isset($params["checkStatus"]) && in_array($params['checkStatus'],[0,1])){
- $where[] = ['mwd.check_status','=',$params['checkStatus']];
- }
- //是否已过期
- if (isset($params["hasExpired"]) && $params['hasExpired'] == 1){
- $where[] = ['mwd.check_status','=',0];
- $where[] = ['mwd.use_end_time','<',date('Y-m-d')];
- }
- if (isset($params["hasExpired"]) && $params['hasExpired'] == 0){
- $where[] = ['mwd.check_status','=',1];
- }
- //领取时间
- if(!empty($params['betweenTime'])){
- $times = between_time_format($params['betweenTime']);
- $where[] = ['mwd.create_time','between',[$times['start_time'],$times['end_time']]];
- }
- return $where;
- }
- /**
- * 异业福利领取记录导出
- * @param $param
- * @return array
- */
- public function diffwDrawExportData($param){
- $data['header'] = ['领取用户昵称','用户手机号','领取时间', '领取券码','核销状态','是否过期'];
- $data['filename'] = '异业福利领取明细';
- $data['data'] = [];
- $items = $this->getLists($param,true);
- $datas = [];
- foreach ($items as $item){
- $temp = [];
- $temp['nick_name'] = $item['nick_name'];
- $temp['mobile'] = $item['mobile'];
- $temp['create_time'] = $item['create_time'];
- $temp['code'] = $item['code'];
- $temp['check_status'] = $item['check_status']?'已核销':'未核销';
- $temp['has_expired'] = $item['has_expired']?'已过期':'未过期';
- $datas[] = $temp;
- }
- $data['data'] = $datas;
- return $data;
- }
- }
|