117 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | Author: CRMEB Team <admin@crmeb.com>
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
declare (strict_types=1);
 | 
						||
 | 
						||
namespace app\services\user;
 | 
						||
 | 
						||
use app\services\BaseServices;
 | 
						||
use app\dao\user\UserBillStoreOrderDao;
 | 
						||
 | 
						||
/**
 | 
						||
 *
 | 
						||
 * Class UserBillStoreOrderServices
 | 
						||
 * @package app\services\user
 | 
						||
 */
 | 
						||
class UserBillStoreOrderServices extends BaseServices
 | 
						||
{
 | 
						||
    /**
 | 
						||
     * UserBillStoreOrderServices constructor.
 | 
						||
     * @param UserBillStoreOrderDao $dao
 | 
						||
     */
 | 
						||
    public function __construct(UserBillStoreOrderDao $dao)
 | 
						||
    {
 | 
						||
        $this->dao = $dao;
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * TODO 获取用户记录 按月查找
 | 
						||
     * @param $uid $uid  用户编号
 | 
						||
     * @param int $page $page 分页起始值
 | 
						||
     * @param int $limit $limit 查询条数
 | 
						||
     * @param string $category $category 记录类型
 | 
						||
     * @param string $type $type 记录分类
 | 
						||
     * @return mixed
 | 
						||
     */
 | 
						||
    public function getRecordList($uid, $uids, $category = 'now_money', $type = 'brokerage')
 | 
						||
    {
 | 
						||
        $where = $whereOr1 = $whereOr2 = [];
 | 
						||
        $where['b.category'] = $category;
 | 
						||
        $where['o.refund_status'] = 0;
 | 
						||
        $where['b.take'] = 0;
 | 
						||
        $field = "FROM_UNIXTIME(b.add_time, '%Y-%m') as time";
 | 
						||
 | 
						||
        $whereOr1 = [
 | 
						||
            ['b.uid', '=', $uid],
 | 
						||
            ['b.type', '=', $type]
 | 
						||
        ];
 | 
						||
        $whereOr2 = [
 | 
						||
            ['b.uid', 'IN', $uids],
 | 
						||
            ['b.type', '=', 'pay_money']
 | 
						||
        ];
 | 
						||
        [$page, $limit] = $this->getPageValue();
 | 
						||
        return $this->dao->getListByGroup($where, [$whereOr1, $whereOr2], $field, 'time', $page, $limit);
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * 获取订单返佣记录总数
 | 
						||
     * @param $uid
 | 
						||
     * @param $uids
 | 
						||
     * @param string $category
 | 
						||
     * @param string $type
 | 
						||
     * @return mixed
 | 
						||
     */
 | 
						||
    public function getRecordOrderCount($uid, $uids, $category = 'now_money', $type = 'brokerage')
 | 
						||
    {
 | 
						||
        $where = $whereOr1 = $whereOr2 = [];
 | 
						||
        $where['b.category'] = $category;
 | 
						||
        $where['o.refund_status'] = 0;
 | 
						||
        $where['b.take'] = 0;
 | 
						||
 | 
						||
        $whereOr1 = [
 | 
						||
            ['b.uid', '=', $uid],
 | 
						||
            ['b.type', '=', $type]
 | 
						||
        ];
 | 
						||
        $whereOr2 = [
 | 
						||
            ['b.uid', 'IN', $uids],
 | 
						||
            ['b.type', '=', 'pay_money']
 | 
						||
        ];
 | 
						||
        return $this->dao->getListCount($where, [$whereOr1, $whereOr2]);
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * TODO 获取订单返佣记录
 | 
						||
     * @param $uid
 | 
						||
     * @param int $addTime
 | 
						||
     * @param string $category
 | 
						||
     * @param string $type
 | 
						||
     * @return mixed
 | 
						||
     */
 | 
						||
    public function getRecordOrderListDraw($uid, $uids, $addTime = [], $category = 'now_money', $type = 'brokerage')
 | 
						||
    {
 | 
						||
        if(!$addTime) return [];
 | 
						||
        $where = $whereOr1 = $whereOr2 = [];
 | 
						||
        $where['b.category'] = $category;
 | 
						||
        $where['o.refund_status'] = 0;
 | 
						||
        $where['b.take'] = 0;
 | 
						||
 | 
						||
        $whereOr1 = [
 | 
						||
            ['b.uid', '=', $uid],
 | 
						||
            ['b.type', '=', $type]
 | 
						||
        ];
 | 
						||
        $whereOr2 = [
 | 
						||
            ['b.uid', 'IN', $uids],
 | 
						||
            ['b.type', '=', 'pay_money']
 | 
						||
        ];
 | 
						||
        $field = "o.id,o.uid,o.order_id,FROM_UNIXTIME(b.add_time, '%Y-%m-%d %H:%i') as time,b.number,b.type,FROM_UNIXTIME(b.add_time, '%Y-%m') as time_key";
 | 
						||
        return $this->dao->getList($where, [$whereOr1, $whereOr2],$addTime, $field, 0, 0);
 | 
						||
    }
 | 
						||
}
 |