shish 6 år sedan
förälder
incheckning
6fda60dbfd

+ 5 - 3
.env.example

@@ -1,9 +1,11 @@
-YII_ENV=local # 注释说明
-YII_DEBUG=true
+#环境 local dev test production
+YII_ENV=local
+YII_DEBUG=false
 
 DB_DSN='mysql:host=127.0.0.1;dbname=huahuibao'
+DB_DSN_BAK='mysql:host=127.0.0.1;dbname=hhb'
 DB_USERNAME='root'
-DB_PASSWORD='353167'
+DB_PASSWORD='zt20152008'
 
 REDIS_HOST=127.0.0.1
 REDIS_PASSWORD=null

+ 1 - 2
app/business/controllers/TestController.php

@@ -74,8 +74,7 @@ class TestController extends BaseController
 	
 	public function actionImg()
 	{
-		$r = getimagesize('d:/123.jpeg');
-		dd($r);
+	
 	}
 	
 }

+ 2 - 2
biz/user/classes/UserClass.php

@@ -128,7 +128,7 @@ class UserClass extends BaseClass
 		if (isset($getUserInfo['headImgUrl']) && !empty($getUserInfo['headImgUrl'])) {
 			if (empty($preUser) || (isset($preUser['avatar']) && empty($preUser['avatar']))) {
 				$imgUrl = $getUserInfo['headImgUrl'];
-				$name = ImageService::generateAvatar($merchantId, $userId, $imgUrl);
+				$name = ImageService::generateAvatar($merchantId, $imgUrl);
 				self::updateById($userId, ['avatar' => $name]);
 			}
 		}
@@ -182,7 +182,7 @@ class UserClass extends BaseClass
 		if (isset($originalUser['avatar']) == false || empty($originalUser['avatar'])) {
 			if (isset($getUserInfo['headImgUrl']) && !empty($getUserInfo['headImgUrl'])) {
 				$imgUrl = $getUserInfo['headImgUrl'];
-				$name = ImageService::generateAvatar($merchantId, $userId, $imgUrl);
+				$name = ImageService::generateAvatar($merchantId, $imgUrl);
 				$data['avatar'] = $name;
 			}
 		}

+ 2 - 15
common/components/stringUtil.php

@@ -410,20 +410,7 @@ class stringUtil
 		}
 		return $no;
 	}
-	
-	/**
-	 * 生成微信头像文件名
-	 */
-	public static function generateAvatarFileName($merchantId, $userId)
-	{
-		$userId = empty($userId) ? rand(12013120, 12536120) : $userId;
-		if (strlen($userId) < 8) {
-			exit('用户ID少于8位数');
-		}
-		$no = date('ymdHi') . $merchantId . $userId . mt_rand(1000, 9999);
-		return $no;
-	}
-	
+
 	//将加密窜转成可以在http上传输的字符
 	public static function urlSafeB64Encode($string)
 	{
@@ -431,7 +418,7 @@ class stringUtil
 		$data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);
 		return $data;
 	}
-	
+
 	//将url上传输的字符解密 
 	public static function urlSafeBase64Decode($string)
 	{

+ 31 - 37
common/services/ImageService.php

@@ -2,55 +2,49 @@
 
 namespace common\services;
 
+use common\components\dirUtil;
 use common\components\stringUtil;
-use common\components\util;
-use Yii;
-use common\components\configDict;
-use common\models\xhActiveOrder;
 use linslin\yii2\curl;
 
-/**
- * 图片相关接口
- * @package common\services
- * @author shish <shish@zhhinc.com>
- * @time 2019.5.11
- */
+//图片相关接口
 class ImageService
 {
 	
-	/**
-	 * 生成头像
-	 */
-	public static function generateAvatar($merchantId, $userId, $url)
+	//生成头像
+	public static function generateAvatar($merchantId, $url)
 	{
-		$directory = configDict::getConfig('imgSavePath', 'wxUserAvatar');
-		//跑脚本也要生成头像,通过webroot拿不到路径
-		$root = util::getRootDir();
-		$path = $root . 'resource/images';
-		$pre = '/' . $directory . '/' . date('Y') . '/' . date('m') . '/' . date("d") . '/';
-		if (!file_exists($path . $pre)) {
-			mkdir($path . $pre, 0777, true);
+		$month = date("Ym");
+		$date = date("d");
+		$path = dirUtil::imgUploadDir();
+		$middle = "/weixin/avatar/{$merchantId}/{$month}/{$date}/";
+		if (!file_exists($path . $middle)) {
+			mkdir($path . $middle, 0777, true);
 		}
-		$preName = stringUtil::generateAvatarFileName($merchantId, $userId);
-		$name = $preName . '.jpg';
-		$fullFileName = $path . $pre . $name;
-		$fileName = $pre . $name;
+		$middleName = stringUtil::uniqueFileName();
+		$name = $middleName . '.jpg';
+		$fullFileName = $path . $middle . $name;
+		$fileName = $middle . $name;
 		$curl = new curl\Curl();
 		$result = $curl->get($url);
-		//文件大小
-		Yii::info('path:'.$fullFileName);
-		$fp2 = @fopen($fullFileName, 'a');
-		fwrite($fp2, $result);
-		fclose($fp2);
 		
-		//缩略宽 200px 中
-		$dstImg200 = $path . $pre . $preName . '_200.jpg';
-		util::img2thumb($fullFileName, $dstImg200, 200, 0, 0, 0);
+		$fp = @fopen($fullFileName, 'a');
+		fwrite($fp, $result);
+		fclose($fp);
+		
+		$imgInfo = getimagesize($fullFileName);
+		$width = $imgInfo[0];
+		$height = $imgInfo[1];
+		
+		//生成小图 200px
+		$smallWidth = 200;
+		$smallHeight = ceil((200 * $height) / $width);
+		if ($width <= 200) {
+			$smallWidth = $width;
+			$smallHeight = $height;
+		}
+		$smallFullPathFile = $path . $middleName . '_small.' . '.jpg';
+		Image::thumbnail($fullFileName, $smallWidth, $smallHeight)->save($smallFullPathFile, ['quality' => 100]);
 		
-		//缩略成宽50px 小
-		$dstImg50 = $path . $pre . $preName . '_50.jpg';
-		util::img2thumb($fullFileName, $dstImg50, 50, 0, 0, 0);
-		//默认大小 大
 		return $fileName;
 	}
 	

+ 23 - 8
console/controllers/UpgradeController.php

@@ -4,6 +4,8 @@ namespace console\controllers;
 
 use biz\goods\services\GoodsCategoryService;
 use biz\user\services\UserService;
+use common\components\dirUtil;
+use common\components\util;
 use Yii;
 use yii\console\Controller;
 
@@ -14,7 +16,8 @@ class UpgradeController extends Controller
 	//yii upgrade/init --num=2
 	public function actionInit()
 	{
-		print_r($num);die;
+		print_r($num);
+		die;
 		//更新积分 shish 2019.11.22
 		$sql = "ALTER TABLE xhUserAsset ADD growth INT NOT NULL DEFAULT 0 COMMENT '成长值' AFTER `point`;";
 		$sql .= "UPDATE `xhUserAsset` SET `growth`=`integral`;";
@@ -717,15 +720,22 @@ ALTER TABLE `xhMerchantCapital` MODIFY `io` TINYINT NOT NULL DEFAULT 0 COMMENT '
 		
 		$sql = "ALTER TABLE `xhMerchant` ADD `deadline` INT NOT NULL DEFAULT 0 COMMENT '帐号过期时间' AFTER `status`;UPDATE `xhMerchant` SET `deadline`=1607589778;";
 		Yii::$app->db->createCommand($sql)->execute();
-
+		
 	}
 	
 	public function actionInit2()
 	{
-
 		//更新管理员
-		$sql = "update `xhAdmin` set password='$2y$10$NH4JqvH.6UcWS5mqTp.Hd.6mggquVS.bAo9Kk3K2wq2WsQKFSyuCi',confirmPassword='$2y$10$NH4JqvH.6UcWS5mqTp.Hd.6mggquVS.bAo9Kk3K2wq2WsQKFSyuCi';update `xhAdmin` set merchantId=12358 where id=1;update `xhAdmin` set merchantId=12359 where id=3;update `xhAdmin` set merchantId=12360 where id=4;update `xhAdmin` set merchantId=12361 where id=5;update `xhStaff` set `password`='$2y$10$NH4JqvH.6UcWS5mqTp.Hd.6mggquVS.bAo9Kk3K2wq2WsQKFSyuCi'";
+		$sql = "update `xhAdmin` set password='$2y$10$NH4JqvH.6UcWS5mqTp.Hd.6mggquVS.bAo9Kk3K2wq2WsQKFSyuCi',confirmPassword='$2y$10$NH4JqvH.6UcWS5mqTp.Hd.6mggquVS.bAo9Kk3K2wq2WsQKFSyuCi';update `xhAdmin` set merchantId=12358,platUserId=12543212 where id=1;update `xhAdmin` set merchantId=12359,platUserId=12540901 where id=3;update `xhAdmin` set merchantId=12360 where id=4;update `xhAdmin` set merchantId=12361,platUserId=12540861 where id=5;update `xhStaff` set `password`='$2y$10$NH4JqvH.6UcWS5mqTp.Hd.6mggquVS.bAo9Kk3K2wq2WsQKFSyuCi'";
 		Yii::$app->db->createCommand($sql)->execute();
+		
+		//生产环境国兰密码要更新进去
+		if (getenv('YII_ENV') == 'production') {
+			$password = password_hash('glhs610000', PASSWORD_BCRYPT);
+			$confirmPassword = password_hash('454588', PASSWORD_BCRYPT);
+			$sql = "update `xhAdmin` set password='{$password}',confirmPassowrd='{$confirmPassword}' where id=1";
+			Yii::$app->db->createCommand($sql)->execute();
+		}
 
 		//国兰老客户导入
 		$oldUserList = Yii::$app->db2->createCommand('select * from xhUserOldData where `status`=0')->queryAll();
@@ -739,7 +749,7 @@ ALTER TABLE `xhMerchantCapital` MODIFY `io` TINYINT NOT NULL DEFAULT 0 COMMENT '
 				echo $insertUser['id'] . "\n";
 			}
 		}
-
+		
 		//更新国兰的菜单分类
 		$sql = "truncate `xhCategory`;insert  into `xhCategory`(`id`,`parentId`,`merchantId`,`categoryName`,`description`,`img`,`goodsNum`,`sold`,`inTurn`,`status`) values (1,0,12358,'花束','唯美花束','',0,0,15,0),(2,0,12358,'花盒','时尚花盒','',0,0,14,0),(3,0,12358,'开业花篮','开业花篮','',0,0,0,0),(4,0,12358,'婚礼用花','婚礼用花','',0,0,0,0),(5,0,12358,'会议用花','会议用花','',0,0,0,0),(9,0,12358,'蝴蝶兰专区','蝴蝶兰','',0,0,4,0),(87,0,12358,'花篮','时尚礼篮','',0,0,4,0),(88,0,12358,'植物-微景观','植物-微景观','',0,0,4,0);";
 		Yii::$app->db->createCommand($sql)->execute();
@@ -767,10 +777,15 @@ ALTER TABLE `xhMerchantCapital` MODIFY `io` TINYINT NOT NULL DEFAULT 0 COMMENT '
 				$merchantId = $val['merchantId'];
 				GoodsCategoryService::add(['gId' => $goodsId, 'cId' => $usageId, 'inTurn' => $inTurn, 'status' => 1, 'merchantId' => $merchantId]);
 				echo $usageId . ' ' . $goodsId . "\n";
-				
 			}
 		}
-
+		
 	}
-
+	
+	//重新拉取并保存国兰客户的头像和图片 shish 2020.1.12
+	public function actionInit3()
+	{
+		echo dirUtil::rootDir();
+	}
+	
 }

+ 5 - 3
sql2.txt

@@ -1,3 +1,7 @@
+注意第一家店分类与用途迁移;已经完成;需要再确认迁移是否正确
+
+
+
 统计表的变更 注意线上哪些统计相关的表有数据,要转化(注意里面涉及的表)!!!
 
 商家流水相关表修改 !!!
@@ -14,6 +18,4 @@ xhOrder xhOrderGoods 关联关系
 
 国兰的商品款式表要给对应上,注意xhGoods表里的goodsStyle也要改
 
-注意第一家店分类与用途迁移的问题
-
-从微信那边重新拉取国兰客户的头像
+从微信那边重新拉取国兰客户的头像、还有商品图片;如果没有小图,需要去生成小图;