| xqd
@@ -14,8 +14,10 @@ namespace app\wap\controller;
|
|
|
use Api\Express;
|
|
|
use app\wap\model\special\SpecialRecord;
|
|
|
use app\wap\model\special\SpecialLog;
|
|
|
+use app\wap\model\special\SpecialBuy;
|
|
|
use app\wap\model\special\SpecialSource;
|
|
|
use app\wap\model\special\SpecialRelation;
|
|
|
+use app\admin\model\questions\Relation;
|
|
|
use app\wap\model\user\SmsCode;
|
|
|
use app\wap\model\store\StoreOrderCartInfo;
|
|
|
use app\wap\model\recommend\Recommend;
|
| xqd
@@ -506,8 +508,78 @@ class My extends AuthController
|
|
|
/**
|
|
|
* 学籍档案-学习记录
|
|
|
*/
|
|
|
- public function history(){
|
|
|
-
|
|
|
+ public function history($page = 1, $limit = 10000, $op = ''){
|
|
|
+ if ($op == 'xuefenlist'){
|
|
|
+ $model = SpecialBuy::alias('sb')->where('sb.uid', $this->uid)->page((int)$page, (int)$limit);
|
|
|
+ $model = $model->join('Special s', 's.id = sb.special_id');
|
|
|
+ $model = $model->join('specialSubject ss', 's.subject_id = ss.id');
|
|
|
+ $orderList = $model->order('sb.add_time DESC')->field('s.*, sb.add_time as log_time, ss.name as subject_name')->select();
|
|
|
+ $orderList = count($orderList) > 0 ? $orderList->toArray() : [];
|
|
|
+ $orderList1 = [];
|
|
|
+ foreach ($orderList as &$item) {
|
|
|
+ $flag = 1;
|
|
|
+ if (!isset($item['money'])) $item['money'] = 0;
|
|
|
+ $item['money'] = (float)$item['money'];
|
|
|
+ $item['image'] = get_oss_process($item['image'], 0);
|
|
|
+ $item['count'] = 0;
|
|
|
+ $specialSourceId = SpecialSource::alias('ss')->where('ss.special_id', $item['id'])
|
|
|
+ ->field('ss.*, sw.viewing_time, sw.percentage')
|
|
|
+ ->join('specialWatch sw', 'ss.special_id = sw.special_id', 'left')
|
|
|
+ ->select();
|
|
|
+ if ($specialSourceId) $item['count'] = count($specialSourceId);
|
|
|
+ foreach ($specialSourceId as $v) {
|
|
|
+ if ($v['percentage'] < 100) {
|
|
|
+ $flag = 0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($flag == 1){
|
|
|
+ //关联试题
|
|
|
+ //判断是否有考试
|
|
|
+ $join1 = [
|
|
|
+ ['ExaminationRecord er', 'er.test_id = r.relation_id and er.uid = ' . $this->uid, 'left'],
|
|
|
+ ];
|
|
|
+ $examlist = Relation::alias('r')->where('r.relationship_id', $item['id'])->where('r.relationship', 2)
|
|
|
+ ->field('r.relation_id as test_id, er.score')->join($join1)->select();
|
|
|
+ if ($examlist) {
|
|
|
+ foreach ($examlist as $v) {
|
|
|
+ if ($v['score'] < 60) {
|
|
|
+ $flag = 0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($flag == 1) {
|
|
|
+ $orderList1[] = $item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return JsonService::successful($orderList1);
|
|
|
+ }
|
|
|
+ //时长获取
|
|
|
+ if ($op == 'shichanglist'){
|
|
|
+ $model = SpecialBuy::alias('sb')->where('sb.uid', $this->uid)->page((int)$page, (int)$limit);
|
|
|
+ $model = $model->join('Special s', 's.id = sb.special_id');
|
|
|
+ $model = $model->join('specialSubject ss', 's.subject_id = ss.id');
|
|
|
+ $orderList = $model->order('sb.add_time DESC')->field('s.*, sb.add_time as log_time, ss.name as subject_name')->select();
|
|
|
+ $orderList = count($orderList) > 0 ? $orderList->toArray() : [];
|
|
|
+ foreach ($orderList as &$item) {
|
|
|
+ if (!isset($item['money'])) $item['money'] = 0;
|
|
|
+ $item['money'] = (float)$item['money'];
|
|
|
+ $item['image'] = get_oss_process($item['image'], 0);
|
|
|
+ $item['count'] = 0;
|
|
|
+ $item['shichang'] = 0;
|
|
|
+ $specialSourceId = SpecialSource::alias('ss')->where('ss.special_id', $item['id'])
|
|
|
+ ->field('ss.*, sw.viewing_time, sw.percentage')
|
|
|
+ ->join('specialWatch sw', 'ss.special_id = sw.special_id', 'left')
|
|
|
+ ->select();
|
|
|
+ if ($specialSourceId) $item['count'] = count($specialSourceId);
|
|
|
+ foreach ($specialSourceId as $v) {
|
|
|
+ $item['shichang'] += $v['viewing_time'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return JsonService::successful($orderList);
|
|
|
+ }
|
|
|
return $this->fetch();
|
|
|
}
|
|
|
}
|