<?php
namespace app\modules\logic\services;
use app\modules\common\Helper;
use app\modules\logic\services\CommonService;
use Yii;
use yii\db\Query;
use app\modules\logic\model\UsersModel;
use app\modules\logic\model\UsersShopInfoModel;
/**
 * 门店管理-基础服务
 */
class ShopService {
	/**
	 * [createTech 后台创建门店]
	 * @author JOHN.W
	 * @version [1.0]
	 * @return  [type]          [description]
	 */
	public static function createShop($param = [],$user_id = 0){
		$data_users = Helper::elements(['username','mobile','prov_id','city_id','area_id','password'],$param,0);
		$data_users['parent_id'] = isset($param['parent_id'])?$param['parent_id']:0;
		$data_users['shop_type'] = isset($param['shop_type'])?$param['shop_type']:3;
		$data_users['credit_pay_id'] = isset($param['credit_pay_id'])?$param['credit_pay_id']:0;
		//生成账号
		$user_id_ct = self::createUsers($data_users,$user_id);

		$data_users_info = Helper::elements(['name','address','legal_person','info_mobile','tel','license','door_pic','merch_type_id','operate_scope'],$param,0);
		$data_users_info['user_id'] = !empty($user_id)?$user_id:$user_id_ct;
		//生成个人信息
		self::createUsersinfo($data_users_info,$user_id);
		return true;
	}
	/**
	 * [createUsers 生成账号]
	 * @author JOHN.W
	 * @version [1.0]
	 * @param   array           $param [description]
	 * @return  [type]                 [description]
	 */
	public static function createUsers($param = [],$user_id = 0){
		if($user_id == 0){
			$salt = Helper::genSalt();
	        $password = md5(md5($param['password']) . $salt);
	        $param['password'] = $password ;
	        $param['salt'] = $salt ;
	        $param['type'] = 'shop' ;
	        $param['addip'] =Helper::getUserIp() ;
	        //$param['user_code'] = 'Shop'.date("Ymd",time());
	        $param['reg_time'] = time();
		}
        $Users = new UsersModel();
        return $Users->saveUs($param,$user_id);
        
	}
	/**
	 * [createUsers 生成个人信息]
	 * @author JOHN.W
	 * @version [1.0]
	 * @param   array           $param [description]
	 * @return  [type]                 [description]
	 */
	public static function createUsersinfo($param = [],$user_id = 0){
		$param['created'] = time();
		$UsersShopInfo = new UsersShopInfoModel();
		return $UsersShopInfo->saveUs($param,$user_id);
	}
	/**
	 * [getShopDetail 获取门店详情]
	 * @author JOHN.W
	 * @version [1.0]
	 * @param   integer         $user_id [description]
	 * @return  [type]                   [description]
	 */
	public static function getShopDetail($user_id = 0){
		if(empty($user_id)) return [];
		$UsersShopInfo = new UsersShopInfoModel();
		$ret = [];
		$shop_info = $UsersShopInfo->getWidgetRow(['user_id'=>$user_id]);
		$ret['info'] = !empty($shop_info)?CommonService::formatUserInfo($shop_info):[];
		return $ret;
	}
	
}