计算惠通增值

main
fengxinyhyl 9 months ago
parent a628d16511
commit b9678e445b
  1. 4
      app/common/dao/user/UserAssetsDao.php
  2. 49
      app/common/repositories/system/HuitongRepository.php
  3. 6
      app/common/repositories/user/UserAssetsRepository.php
  4. 7
      crmeb/listens/task/CustomizeTask.php

@ -38,4 +38,8 @@ class UserAssetsDao extends BaseDao
}
return array('total'=>0, 'list'=>[]);
}
public function getTotalHuitong(){
return UserAssets::sum('huitong');
}
}

@ -14,6 +14,8 @@ namespace app\common\repositories\system;
use app\common\dao\store\order\StoreOrderDao;
use app\common\dao\system\HuitongDao;
use app\common\repositories\BaseRepository;
use app\common\repositories\store\order\StoreOrderBaseRepository;
use app\common\repositories\user\UserAssetsRepository;
/**
@ -34,4 +36,51 @@ class HuitongRepository extends BaseRepository
$this->dao = $dao;
}
public function dayStatistics()
{
/**
* @var UserAssetsRepository $userAssets
*/
$userAssets = app()->make(UserAssetsRepository::class);
$config = $userAssets->getConfig();
/**
* @var StoreOrderBaseRepository $orderBase
*/
$orderBase = app()->make(StoreOrderBaseRepository::class);
$count = $orderBase->getTotalBase();
if (empty($count)) {
return;
}
$base = round($config['huitong_add'] * $count / 100, 2);
if ($base < 0.01) {
$base = 0.01;
}
$last = $this->dao->getLastHuitong();
if (empty($last)) {
$huitong = 1;
} else {
$huitong = $last['current'];
}
$totalHuitong = $userAssets->getTotalHuitong();
$add = round($base / $totalHuitong, 2);
if ($add < 0.01) {
$add = 0.01;
}
$this->dao->create([
'date' => date('Y-m-d'),
'current' => $huitong + $add,
'ext' => json_encode(array(
'base' => $base,
'huitong' => $huitong,
'total' => $totalHuitong,
)),
]);
}
}

@ -33,7 +33,8 @@ class UserAssetsRepository extends BaseRepository
$this->dao = $dao;
}
public function getConfig(){
public function getConfig()
{
// 配置信息
/**
* @var GroupDataRepository $groupDataRepository
@ -153,7 +154,8 @@ class UserAssetsRepository extends BaseRepository
* @author zhangkxiang
* @editor
*/
public function sharePoint(){
public function sharePoint()
{
$config = $this->getConfig();
/**
* @var StoreOrderBaseRepository $orderBase

@ -9,6 +9,7 @@
namespace crmeb\listens\task;
use app\common\repositories\system\HuitongRepository;
use app\common\repositories\user\UserAssetsRepository;
use crmeb\interfaces\ListenerInterface;
use crmeb\services\TimerService;
@ -29,5 +30,11 @@ class CustomizeTask implements ListenerInterface
*/
$userAssets = app()->make(UserAssetsRepository::class);
$userAssets->sharePoint();
/**
* @var HuitongRepository $huitong
*/
$huitong = app()->make(HuitongRepository::class);
$huitong->dayStatistics();
}
}

Loading…
Cancel
Save