| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | <?php/** * IdentifyMemLogic.php UTF-8 * * @date    : 2021/7/5 16:16 * * @license 这不是一个自由软件,未经授权不许任何使用和传播。 * @author  : chenbingling <cbl@huosdk.com> * @version : HUOSDK-IDENTITY 1.0 */namespace huoIdentify\logic;use huo\model\common\CommonModel;use huoIdentify\model\IdentifyMemModel;use huoIdentify\model\MemberModel;class IdentifyMemLogic extends CommonModel {    protected $base_field = [];    /**     * 转换查询条件     *     * @param array $param     *     * @return array     */    public function getWhere($param = []) {        $_map = [];        if (!empty($param['mem_id'])) {            $_map['mem_id'] = $param['mem_id'];        }        if (!empty($param['username'])) {            $_mem_id = (new MemberModel())->getIdByUsername($param['username']);            $_map['mem_id'] = empty($_mem_id) ? '-1' : $_mem_id;        }        if (!empty($param['real_name'])) {            $_map['real_name'] = $param['real_name'];        }        if (!empty($param['id_card'])) {            $_map['id_card'] = $param['id_card'];        }        if (!empty($param['identify_from'])) {            $_map['identify_from'] = $param['identify_from'];        }        if (!empty($param['identify_pi'])) {            $_map['identify_pi'] = $param['identify_pi'];        }        return $_map;    }    /**     * 获取列表底层函数     *     * @param array  $where 搜索条件     * @param string $page  列表个数     * @param string $order 排序     * @param array  $field 附加字段     * @param string $group 归类     *     * @return array ['count'=>0,'list'=>[]]     */    public function getList($where = [], $page = '1,10', $order = '-id', $field = [], $group = '') {        $_map = $where;        $_field = $field;        $_model = new IdentifyMemModel();        $_count = $_model->where($_map)->count();        if (empty($_count)) {            return [                'count' => 0,                'list'  => []            ];        }        $_order = $this->orderFilter($order);        $_datas = $_model->with('mem')->field($_field)->where($_map)->order($_order)->page($page)->select();        if (is_object($_datas)) {            $_datas = $_datas->toArray();        }        if (empty($_datas)) {            return [                'count' => 0,                'list'  => []            ];        }        return [            'count' => $_count,            'list'  => $_datas        ];    }    /**     * 获取后台列表     *     * @param array  $where 搜索条件     * @param string $page  列表个数     * @param string $order 排序     * @param array  $field 附加字段     *     * @return array ['count'=>0,'list'=>[]]     */    public function getAdminList($where = [], $page = '1,10', $order = '-id', $field = []) {        $_map = $this->getWhere($where);        $_field = $this->base_field;        if (!empty($field)) {            $_field = array_merge($_field, $field);/* 获取后台字段 */        }        $_rdata = $this->getList($_map, $page, $order, $_field);        if (empty($_rdata['list'])) {            return $_rdata;        }        foreach ($_rdata['list'] as $_k => $_v) {            $_mem_data = get_val($_v, 'mem', []);            unset($_rdata['list']['mem']);            $_rdata['list'][$_k]['username'] = get_val($_mem_data, 'username', '');        }        return $_rdata;    }}
 |