You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gold-shop/app/services/user/UserBillStoreOrderServices.php

117 lines
3.7 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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);
}
}