<?php /** * ItgLogic.php UTF-8 * 积分逻辑处理 * * @date : 2018/5/8 0:34 * * @license 这不是一个自由软件,未经授权不许任何使用和传播。 * @author : wuyonghong <wyh@huosdk.com> * @version : HUOSDK 8.0 */ namespace huo\logic\shop; use huo\model\common\CommonModel; use huo\model\integral\MemItgLogModel; use huo\model\shop\GoodsModel; use huolib\status\ShopStatus; class ItgLogic extends CommonModel { protected $base_field = [ 'id' => 'mitg_id', 'mitg_name' => 'mitg_name', 'is_real' => 'is_real', 'total_cnt' => 'total_cnt', 'remain_cnt' => 'remain_cnt', 'mem_times' => 'mem_times', 'market_price' => 'market_price', 'mitg_intro' => 'mitg_intro', 'original_img' => 'original_img', 'integral' => 'integral', 'object_type' => 'object_name', 'object_id' => 'object_id', ]; /** * 获取玩家积分列表 * * @param array $where * @param string $page * @param string $order * * @return int | array */ public function getItgList($where = [], $page = '1,10', $order = '-create_time') { $_mil_model = new MemItgLogModel(); $_count = $_mil_model->where($where)->count(); if (empty($_count)) { return [ 'count' => $_count, 'list' => [], ]; } $_field = ['ia_name', 'integral', 'create_time']; $_order = $this->orderFilter($order); $_mitg_logs = $_mil_model ->field($_field) ->where($where) ->order($_order) ->page($page) ->select(); if (is_object($_mitg_logs)) { $_mitg_logs = $_mitg_logs->toArray(); } if (empty($_mitg_logs)) { $_list = null; $_rdata['count'] = $_count; $_rdata['list'] = $_list; } $_rdata['count'] = $_count; $_rdata['list'] = $_mitg_logs; return $_rdata; } /** * 通过商品ID 查询商品信息 * * @param $mitg_id * * @return array|bool|false */ public function getInfoByGoodsId($mitg_id) { if (empty($mitg_id)) { return false; } $_map['id'] = $mitg_id; $_field = $this->base_field; $_field['mitg_content'] = 'mitg_content'; $_mitg_data = (new GoodsModel())->field($_field)->where($_map)->find(); if (is_object($_mitg_data)) { $_mitg_data = $_mitg_data->toArray(); } return $_mitg_data; } /** * 获得所有玩家积分记录 * * @param array $where * @param array $field * * @param string $listRows * @param string $order * * @return int|\think\Paginator * @throws \think\exception\DbException */ public function getAllItgList($where = [], $field=[], $order = 'create_time desc'){ $_mil_model = new MemItgLogModel(); $_mitg_logs = $_mil_model ->with('mem') ->field($field) ->where($where) ->order($order) ->paginate(); return $_mitg_logs; } }