|
|
@@ -6,11 +6,14 @@ use biz\shop\classes\ShopClass;
|
|
|
use bizGhs\custom\models\Custom;
|
|
|
use bizGhs\order\classes\OrderClass;
|
|
|
use bizHd\custom\classes\CustomClass;
|
|
|
+use bizHd\custom\classes\HdClass;
|
|
|
+use bizHd\member\classes\MemberLevelClass;
|
|
|
use bizHd\purchase\classes\PurchaseClass;
|
|
|
use common\components\noticeUtil;
|
|
|
use common\components\util;
|
|
|
use bizHd\user\classes\UserClass;
|
|
|
use Overtrue\ChineseCalendar\Calendar;
|
|
|
+use Yii;
|
|
|
use yii\console\Controller;
|
|
|
|
|
|
class CustomController extends Controller
|
|
|
@@ -137,6 +140,59 @@ class CustomController extends Controller
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 把所有客户的累计消费和成长值、积分都刷新一下
|
|
|
+ public function actionRefreshCustomData()
|
|
|
+ {
|
|
|
+ try{
|
|
|
+ // 1. 查询 xhShop 表,获取所有 ptStyle = 1 的门店数据
|
|
|
+ $allShops = \bizHd\shop\classes\ShopClass::getAllByCondition(['ptStyle'=>1, 'status'=>1], 'id ASC', 'id, mainId');
|
|
|
+ // 2. 把每个门店下的所有用户进行遍历,刷新他们的累计消费和成长值、积分
|
|
|
+ if (!empty($allShops)) {
|
|
|
+ foreach ($allShops as $shop) {
|
|
|
+ $shopId = $shop['id'];
|
|
|
+ $mainId = $shop['mainId'];
|
|
|
+ $customs = CustomClass::getAllByCondition(['shopId' => $shopId], null, 'id, userId, buyAmount, growth, member, memberName', null, true);
|
|
|
+ $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], 'amount DESC', 'id, name, level, amount');
|
|
|
+ if (!empty($customs) && !empty($levelDatas)) {
|
|
|
+ foreach ($customs as $c) {
|
|
|
+ $buyAmount = 0;
|
|
|
+ // 获取所有零售订单,计算消费金额
|
|
|
+ $orderList = \bizHd\order\classes\OrderClass::getAllByCondition(['customId' => $c->id], null, 'id, forward, actPrice');
|
|
|
+ if (!empty($orderList)) {
|
|
|
+ foreach ($orderList as $order) {
|
|
|
+ if ($order['forward'] == 0) { //0 常规订单
|
|
|
+ $buyAmount = bcadd($buyAmount, $order['actPrice'], 2);
|
|
|
+ } elseif ($order['forward'] == 1) { //1 售后付款单(红冲)
|
|
|
+ $buyAmount = bcsub($buyAmount, $order['actPrice'], 2);
|
|
|
+ } else {
|
|
|
+ Yii::info('订单类型不存在,订单ID:'.$order['id']);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $c->buyAmount = $buyAmount;
|
|
|
+ $c->growth = intval($buyAmount);
|
|
|
+ $c->integral = intval($buyAmount);
|
|
|
+
|
|
|
+ // 根据 growth 设置等级
|
|
|
+ $memberData = CustomClass::getCustomExpenseLevel($c->growth, $mainId, $levelDatas); // 设置等级多处需要同步修改的,请搜索:getCustomExpenseLevel
|
|
|
+ $c->member = $memberData['level'];
|
|
|
+ $c->memberName = $memberData['name'];
|
|
|
+ $c->save();
|
|
|
+
|
|
|
+ // 更新客户所对应花店的消费金额
|
|
|
+ HdClass::updateByCondition(['shopId'=>$shopId, 'userId'=>$c->userId], ['expendAmount'=>$buyAmount]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Yii::info('客户的累计消费和成长值、积分刷新脚本成功执行');
|
|
|
+ }catch(\Exception $e){
|
|
|
+ Yii::error('客户的累计消费和成长值、积分刷新脚本执行失败,原因:'.$e->getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//批量创建客户
|
|
|
private function createCustomer()
|
|
|
{
|