Jelajahi Sumber

修复合并用户报错

shish 6 tahun lalu
induk
melakukan
bb4dc52d7b

+ 20 - 35
biz/user/classes/UserClass.php

@@ -231,18 +231,17 @@ class UserClass extends BaseClass
 		$connection = Yii::$app->db;//事务处理
 		$transaction = $connection->beginTransaction();
 		try {
-			
+
 			$delUserId = $delUser['id'];
 			$retainUserId = $retainUser['id'];
-			
+
 			$userName = $retainUser['userName'];
 			$merchantId = $retainUser['merchantId'];
-			
+
 			//合并记录
-			$return = xhUserMergeService::add(['delUserId' => $delUserId, 'merchantId' => $merchantId, 'retainUserId' => $retainUserId, 'addTime' => time(), 'createTime' => date("Y-m-d H:i:s")]);
+			$return = UserMergeClass::add(['delUserId' => $delUserId, 'merchantId' => $merchantId, 'retainUserId' => $retainUserId, 'addTime' => time(), 'createTime' => date("Y-m-d H:i:s")]);
 			$targetId = $return['id'];
-			
-			
+
 			$typeList = configDict::getConfig('capitalType');
 			$capitalType = $typeList['xhMergeUser']['id'];
 			$now = time();
@@ -306,9 +305,8 @@ class UserClass extends BaseClass
 				if (!empty($delBalance)) {
 					$addData['balance'] = $retainUserAsset['balance'] + $delBalance;
 					//变化记录要增加
-					
 					$userCapitalData = [
-						'relateId' => (string)$targetId,
+						'relateId' => $targetId,
 						'balance' => $addData['balance'],
 						'totalIncome' => $retainUserAsset['totalIncome'] + $delBalance,
 						'totalExpend' => $retainUserAsset['totalExpend'],
@@ -326,23 +324,20 @@ class UserClass extends BaseClass
 						'capitalType' => $capitalType,
 					];
 					xhUserCapitalService::add($userCapitalData);//用户资金流水增加
-					
-					
 				}
 				
-				//积分
-				$delIntegral = isset($delUserAsset['integral']) ? $delUserAsset['integral'] : 0;
-				if (!empty($delIntegral)) {
-					$addData['integral'] = $retainUserAsset['integral'] + $delIntegral;
+				//成长值
+				$delGrowth = isset($delUserAsset['growth']) ? $delUserAsset['growth'] : 0;
+				if (!empty($delGrowth)) {
+					$addData['growth'] = $retainUserAsset['growth'] + $delGrowth;
 					//注意会员等级要进行重新计算!!!!!还有积分变化记录要增加
-					
-					$integralData = [
+					$growthData = [
 						'userId' => $retainUserId,
 						'userName' => $userName,
 						'merchantId' => $merchantId,
-						'relateId' => (string)$targetId,
-						'integral' => $addData['integral'],
-						'num' => $delIntegral,
+						'relateId' => $targetId,
+						'integral' => $addData['growth'],
+						'num' => $delGrowth,
 						'io' => 1,
 						'payWay' => 0,
 						'alipayId' => '',
@@ -352,27 +347,19 @@ class UserClass extends BaseClass
 						'capitalType' => $capitalType,
 						'addTime' => $now,
 					];
-					xhUserIntegralService::add($integralData);//用户兑换型积分流水增加
-					
+					UserGrowthClass::add($growthData);
+					//成长值增加升级
 					$preLevel = $retainUserAsset['member'];
-					$preIntegral = $retainUserAsset['integral'];//可抵用型积分
+					$preGrowth = $retainUserAsset['growth'];
 					$merchantExtend = xhMerchantExtendService::getByMerchantId($merchantId);
-					UserIntegralService::increaseToUpgrade($preIntegral, $addData['integral'], $preLevel, $retainUserId, $merchantId, $merchantExtend);
-					
-				}
-				//积分
-				$delPoint = isset($delUserAsset['point']) ? $delUserAsset['point'] : 0;
-				if (!empty($delPoint)) {
-					$addData['point'] = $retainUserAsset['point'] + $delPoint;
-					//注意会员等级要进行重新计算!!!!!还有积分变化记录要增加
-					
+					UserIntegralService::increaseToUpgrade($preGrowth, $addData['growth'], $preLevel, $retainUserId, $merchantId, $merchantExtend);
 				}
 				if (!empty($addData)) {
 					UserAssetClass::updateByUserId($retainUserId, $addData);
 				}
 			}
 			
-			//清除不需要的用户
+			//删除用户
 			$clearData = ['openId' => '', 'miniOpenId' => '', 'unionId' => '', 'alipayId' => '', 'merchantId' => 0];
 			self::updateById($delUserId, $clearData);
 			UserAssetClass::updateByUserId($delUserId, ['merchantId' => 0]);
@@ -386,9 +373,7 @@ class UserClass extends BaseClass
 			
 		} catch (Exception $e) {
 			$transaction->rollBack();
-			
 			Yii::info("合并userid $delUserId $retainUserId 时事务回滚,原因:" . $e->getMessage());
-			
 			return [];
 		}
 		
@@ -576,5 +561,5 @@ class UserClass extends BaseClass
 		}
 		return ['total' => $total, 'count' => $count, 'nextOpenId' => $next_openid];
 	}
-
+	
 }

+ 12 - 0
biz/user/classes/UserMergeClass.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace biz\user\classes;
+
+use biz\base\classes\BaseClass;
+
+class UserMergeClass extends BaseClass
+{
+	
+	public static $baseFile = '\biz\user\models\UserMerge';
+	
+}

+ 15 - 0
biz/user/models/UserMerge.php

@@ -0,0 +1,15 @@
+<?php
+
+namespace biz\user\models;
+
+use biz\base\models\Base;
+
+class UserMerge extends Base
+{
+	
+	public static function tableName()
+	{
+		return 'xhUserMerge';
+	}
+
+}

+ 12 - 0
biz/user/services/UserMergeService.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace biz\user\services;
+
+use biz\base\services\BaseService;
+
+class UserMergeService extends BaseService
+{
+	
+	public static $baseFile = '\biz\user\classes\UserMergeClass';
+	
+}

+ 1 - 6
common/models/xhBaseModel.php

@@ -7,12 +7,7 @@ use yii\db\ActiveRecord;
 class xhBaseModel extends ActiveRecord
 {
 
-    /**
-     * 添加
-     * @param $data
-     * @param bool $json 是否使用json返回
-     * @return bool
-     */
+	//添加
 	public static function add($data, $json = false)
 	{
 		$self			= get_called_class();