diff --git a/app/common/dao/user/UserAssetsDao.php b/app/common/dao/user/UserAssetsDao.php index e60397e..0eaefed 100644 --- a/app/common/dao/user/UserAssetsDao.php +++ b/app/common/dao/user/UserAssetsDao.php @@ -42,4 +42,8 @@ class UserAssetsDao extends BaseDao public function getTotalHuitong(){ return UserAssets::sum('huitong'); } + + public function getSum($field){ + return UserAssets::sum($field); + } } diff --git a/app/common/dao/user/UserAssetsLogDao.php b/app/common/dao/user/UserAssetsLogDao.php index 8eea01b..925f5aa 100644 --- a/app/common/dao/user/UserAssetsLogDao.php +++ b/app/common/dao/user/UserAssetsLogDao.php @@ -57,5 +57,9 @@ class UserAssetsLogDao extends BaseDao return UserAssetsLog::where('order_id', $orderId)->update(array('status' => $status)); } + public function getSum($where){ + return UserAssetsLog::where($where)->sum('count'); + } + } diff --git a/app/common/repositories/user/UserAssetsLogRepository.php b/app/common/repositories/user/UserAssetsLogRepository.php index 078efec..74c1d1d 100644 --- a/app/common/repositories/user/UserAssetsLogRepository.php +++ b/app/common/repositories/user/UserAssetsLogRepository.php @@ -764,4 +764,9 @@ class UserAssetsLogRepository extends BaseRepository } return compact('count', 'list'); } + + + public function getSum($where){ + return $this->dao->getSum($where); + } } diff --git a/app/common/repositories/user/UserAssetsRepository.php b/app/common/repositories/user/UserAssetsRepository.php index 55091e5..47fd22d 100644 --- a/app/common/repositories/user/UserAssetsRepository.php +++ b/app/common/repositories/user/UserAssetsRepository.php @@ -361,4 +361,13 @@ class UserAssetsRepository extends BaseRepository $assets = $this->assets($uid); $this->dao->update($uid, array('consume' => $assets['consume'] + $consume)); } + + + public function getSum($field){ + return $this->dao->getSum($field); + } + + public function getWhereCount($where){ + return $this->dao->getWhereCount($where); + } } diff --git a/app/controller/admin/Common.php b/app/controller/admin/Common.php index 82719ed..7389536 100644 --- a/app/controller/admin/Common.php +++ b/app/controller/admin/Common.php @@ -21,6 +21,8 @@ use app\common\repositories\system\config\ConfigRepository; use app\common\repositories\system\config\ConfigValueRepository; use app\common\repositories\system\merchant\MerchantCategoryRepository; use app\common\repositories\system\merchant\MerchantRepository; +use app\common\repositories\user\UserAssetsLogRepository; +use app\common\repositories\user\UserAssetsRepository; use app\common\repositories\user\UserRepository; use app\common\repositories\user\UserVisitRepository; use crmeb\basic\BaseController; @@ -57,6 +59,118 @@ class Common extends BaseController return app('json')->success($res); } + + public function allData(){ + $ret = array( + 'huitong' => array( // 惠通宝 + 'total' => 0,// 总数 + 'available' => 0,// 可用 + 'frozen' => 0,// 冻结 + 'burned' => 0,// 燃烧 + 'total_yesterday' => 0,// 昨日总数 + 'burned_yesterday' => 0,// 昨日燃烧 + ), + 'welfare' => array( // 福利积分 + 'total' => 0,// 总数 + 'available' => 0,// 可用 + 'frozen' => 0,// 冻结 + 'total_yesterday' => 0,// 昨日总数 + 'platform' => 0,// 平台福利积分总数 + ), + 'consume' => array( // 消费积分 + 'total' => 0,// 总数 + 'available' => 0,// 可用 + 'frozen' => 0,// 冻结 + 'total_yesterday' => 0,// 昨日总数 + ), + 'contribution' => array( // 贡献值 + 'total' => 0,// 总数 + 'available' => 0,// 可用 + 'frozen' => 0,// 冻结 + 'total_yesterday' => 0,// 昨日总数 + ), + 'share_point' => array( // 分红点 + 'total' => 0,// 分红点总数 + 'user_total' => 0,// 分红点用户数 + 'user_yesterday' => 0,// 昨日新增用户数 + 'total_yesterday' => 0,// 作日新增分红点数 + ), + ); + + /** + * @var UserAssetsRepository $assetsRepository + */ + $assetsRepository = app()->make(UserAssetsRepository::class); + /** + * @var UserAssetsLogRepository $assetsLogRepository + */ + $assetsLogRepository = app()->make(UserAssetsLogRepository::class); + + // 惠通宝 + $huitongWhere = array(); + $huitongWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_HUITONG); + $huitongWhere[] = array('type', 'in', [UserAssetsLogRepository::CHANGE_TYPE_ORDER, UserAssetsLogRepository::CHANGE_TYPE_CULTIVATE, UserAssetsLogRepository::CHANGE_TYPE_SPREAD_GET]); + $huitongBurnedWhere = array(); + $huitongBurnedWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_HUITONG); + $huitongBurnedWhere[] = array('type', '=', UserAssetsLogRepository::CHANGE_TYPE_HUITONG); + $timeWhere = array(); + $timeWhere[] = array('create_time', '>=', date('Y-m-d', strtotime('-1 day'))); + $timeWhere[] = array('create_time', '<', date('Y-m-d')); + $ret['huitong'] = array( + 'total' => $assetsLogRepository->getSum($huitongWhere), + 'available' => $assetsRepository->getSum('huitong'), + 'frozen' => $assetsRepository->getSum('huitong_frozen'), + 'burned' => abs($assetsLogRepository->getSum($huitongBurnedWhere)), + 'total_yesterday' => $assetsLogRepository->getSum(array_merge($huitongWhere, $timeWhere)), + 'burned_yesterday' => $assetsLogRepository->getSum(array_merge($huitongBurnedWhere, $timeWhere)), + ); + + // 福利积分 + $welfareWhere = array(); + $welfareWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_WELFARE); + $welfareWhere[] = array('type', 'in', [UserAssetsLogRepository::CHANGE_TYPE_ORDER, UserAssetsLogRepository::CHANGE_TYPE_CULTIVATE, UserAssetsLogRepository::CHANGE_TYPE_SPREAD_GET, UserAssetsLogRepository::CHANGE_TYPE_AGENT]); + $ret['welfare'] = array( + 'total' => $assetsLogRepository->getSum($welfareWhere), + 'available' => $assetsRepository->getSum('welfare'), + 'frozen' => $assetsRepository->getSum('welfare_frozen'), + 'total_yesterday' => $assetsLogRepository->getSum(array_merge($welfareWhere, $timeWhere)), + 'platform' => $assetsLogRepository->getSum(array('asset_type' => UserAssetsLogRepository::ASSET_TYPE_WELFARE, 'uid' => 0, 'mer_id' => 0)), + ); + + // 消费积分 + $consumeWhere = array(); + $consumeWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_CONSUME); + $ret['consume'] = array( + 'total' => $assetsLogRepository->getSum($consumeWhere), + 'available' => $assetsRepository->getSum('consume'), + 'frozen' => $assetsRepository->getSum('consume_frozen'), + 'total_yesterday' => $assetsLogRepository->getSum(array_merge($consumeWhere, $timeWhere)), + ); + + // 贡献值 + $contributionWhere = array(); + $contributionWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_CONTRIBUTION); + $ret['contribution'] = array( + 'total' => $assetsLogRepository->getSum($contributionWhere), + 'available' => $assetsRepository->getSum('contribution'), + 'frozen' => $assetsRepository->getSum('contribution_frozen'), + 'total_yesterday' => $assetsLogRepository->getSum(array_merge($contributionWhere, $timeWhere)), + ); + + // 分红点 + $sharePointWhere = array(); + $sharePointWhere[] = array('asset_type', '=', UserAssetsLogRepository::ASSET_TYPE_SHARE_POINT); + $sharePointWhere[] = array('type', '=', UserAssetsLogRepository::CHANGE_TYPE_SHARE_EXCHANGE); + $ret['share_point'] = array( + 'total' => $assetsRepository->getSum('share_point'), + 'user_total' => $assetsRepository->getWhereCount([array('share_point', '>', 0)]), + 'user_yesterday' => $assetsRepository->getWhereCount([array('share_point', '>', 0), array('share_point_time', '>=', strtotime(date('Y-m-d'))-86400), array('share_point_time', '<', strtotime(date('Y-m-d')))]), + 'total_yesterday' => $assetsLogRepository->getSum(array_merge($sharePointWhere, $timeWhere)), + ); + + return app('json')->success($ret); + } + /** * TODO 上传视频key * @return \think\response\Json diff --git a/public/system.html b/public/system.html index 8313a4d..76cde33 100644 --- a/public/system.html +++ b/public/system.html @@ -1,3 +1,3 @@ -