小威
* Date=> 2020/05/16
* Time=> 11=>31
*/
namespace Jindouyun\Controller\Common;
use JinDouYun\Cache\SkuCache;
use JinDouYun\Cache\Stock;
use JinDouYun\Dao\Customer\DCustomer;
use JinDouYun\Dao\Goods\DGoods;
use JinDouYun\Dao\GoodsCategory\DGoodsCategory;
use JinDouYun\Dao\GoodsManage\DGoodsBasic;
use JinDouYun\Dao\GoodsManage\DGoodsBrand;
use JinDouYun\Dao\GoodsManage\DSku;
use JinDouYun\Dao\GoodsManage\DUnits;
use JinDouYun\Dao\Market\DUserCoupon;
use JinDouYun\Model\Customer\MCustomer;
use JinDouYun\Model\Enterprise\MEnterprise;
use JinDouYun\Model\Finance\MReceive;
use Jindouyun\Model\Finance\MPay;
use JinDouYun\Model\Goods\MGoods;
use JinDouYun\Model\Goods\MQuickGoods;
use JinDouYun\Model\MBaseModel;
use JinDouYun\Model\GoodsManage\MGoodsBasic;
use JinDouYun\Model\Order\MOrder;
use JinDouYun\Model\System\MModule;
use Mall\Framework\Core\ErrorCode;
use Mall\Framework\Cache\Redis;
use Mall\Framework\Core\ResultWrapper;
use Mall\Framework\Core\StatusCode;
use Mall\Framework\Factory;
use Util\KuaiDi100\Query;
use Util\WeiXin\Offiaccount;
use Util\WeiXin\Miniprogram;
use Util\WeiXin\Pay;
use Util\KeRuYun\Open;
use Util\DaDa\Merchant;
class Test
{
public function index()
{
$objStock = new Stock(64);
$a = $objStock->createSerialSn(0, 'Order');
echo $a;
die;
}
public function getModuleNameByUri()
{
$objMModule = new MModule();
$objMModule->getModuleNameByUri('GoodsManage/GoodsBasic/getGoodsBasicInfoById');
}
private $objDGoods;
/**
* @var Redis
*/
private $cache;
/**
* @var string
*/
private $delayQueueCancelOrderKey = 'delay_queue_cancel_order';
public function test()
{
exit(json_encode([
'state' => true,
'data' => '0.30kg',
'errorMsg' => '',
]));
}
/**
* Doc: (des="")
* User: XMing
* Date: 2020/9/23
* Time: 5:04 下午
* @throws \Exception
*/
public function pushDelay()
{
$this->cache = Factory::cache('default');
$res = $this->cache->zAdd($this->delayQueueCancelOrderKey . '::1', time(), 100);
//$orderIds = $this->cache->zrangebyscore($this->delayQueueCancelOrderKey.'::1', 0, time()-60, ['withscores' => TRUE]);
//print_r($orderIds);die;
//$res = $this->cache->zrem($this->delayQueueCancelOrderKey.'::1', 100);
var_dump($res);
}
/**
* Doc: (des="注册补发优惠券")
* User: XMing
* Date: 2020/9/22
* Time: 11:57 上午
*/
public function couponRegister()
{
self::coupon([
'userCenterId' => '',
'customerId' => '',
'enterpriseId' => '',
], 'MRegisterCoupon');
}
public function codeTest()
{
$location = 'eyJwcm92aW5jZU5hbWUiOiLlub/kuJznnIEiLCJjaXR5TmFtZSI6IuS4nOiOnuW4giIsImRpc3RyaWN0TmFtZSI6W10sImFkZHJlc3MiOiLkuK3lm73nn7PljJbkuJzojp7luILpobrovr7liqDmsrnnq5npmYTov5EiLCJsYXRpdHVkZSI6MjMuMDIyMTM1LCJsb25naXR1ZGUiOjExMy43MjI5NzR9';
$areaArr = json_decode(base64_decode($location), true);
V($areaArr);
}
/**
* 营销活动(领取优惠券)
* @param $data
* @param $className
*/
protected static function coupon($data, $className)
{
$i = 1;
do {
$postData = [
'topicName' => 'MyJob',
'topicClass' => "Jobs\Model\MTopic\Market\\" . $className,
'topicMethon' => 'push',
'topicMethonParams' => [
'userCenterId' => $data['userCenterId'],
'enterpriseId' => $data['enterpriseId'],
'customerId' => $data['customerId'],
'payAmount' => isset($data['payAmount']) ? $data['payAmount'] : 0,
],
];
$url = QIANNIAO_QUEUE . '/CAddJob/add';
$result = request($url, $postData);
print_r($result);
$i++;
} while ($result['httpcode'] != 200 && $i <= 3);
}
/*******************************
* @var string
*
*
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
* * es-----------------------ip----------------记得换
*
*
*
*
*
*
*
*
*
*
*
*
* es-----------------------ip----------------记得换
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
* **/
private $Authorization;
private $Token;
/**
* 格式化导入数据
*/
public function formatData()
{
//导入数据需要修改以下6处地方 然后把商品信息和商品数组按照key对应
//1.更换请求头token!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$Authorization = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjI1MTUsImV4cGlyZVRpbWUiOjE2MjU1NjU0MzB9.r1KfvvNgHTTGcFFNNQed22TIB0y0bPLmdwsnh8ksNxg';
$Token = 'a3af5bf6213ac4bc899c6d0a78d1613e';
//2.切换config
//3.切换esip
//4.修改商品图片(去该企业的图片库复制一个合适的图片)
$images = ["https://onlineimg.qianniao.vip/162496878735338/a3af5bf6213ac4bc899c6d0a78d1613e/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20210629200937.jpg"];//商品图片
//5.企业id
$enterpriseId = 308;
//6.多单位
$twoUnit = false;
//获取数据文件
$file = file(PROJECT_PATH.'/Public/www/1.txt');
//引用dao
$objDGoodsCategory = new DGoodsCategory();
$objDGoodsCategory->setTable('qianniao_goods_category_' . $enterpriseId);
$objDGoodsBrand = new DGoodsBrand();
$objDGoodsBrand->setTable('qianniao_goods_brand_' . $enterpriseId);
$objDUnits = new DUnits();
$objDUnits->setTable('qianniao_units_' . $enterpriseId);
//请求地址
$apiUrl = 'https://api.qianniao.vip/Goods/QuickGoods/addBasicAndPublishGoods';
//请求参数
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:text/plain',
'Authorization:'.$Authorization,
'Token:'.$Token,
],
];
$i = 0;
//获取数据
foreach ($file as $value) {
if(!strpos($value,',')){
echo '商品数据格式错误';exit;
}
$goodsArray = explode(',', $value);
//商品信息
$categoryName = isset($goodsArray[0]) ? trim($goodsArray[0]) : '';//分类名称
$brandName = isset($goodsArray[3]) ? trim($goodsArray[3]) : '';//品牌名称
$goodsName = isset($goodsArray[1]) ? trim($goodsArray[1]) : '';//商品名称
$describe = isset($goodsArray[6213]) ? trim($goodsArray[6321]) : '';//商品卖点
$description = isset($goodsArray[110]) ? '
' . trim($goodsArray[110]) . '
' : '';//商品详情
//主单位信息
$skuName = isset($goodsArray[2]) ? trim($goodsArray[2]) : '无';//单位名称
$barCode = isset($goodsArray[34]) ? trim($goodsArray[43]) : '';//主单位条码
$salePrice = isset($goodsArray[423]) ? trim($goodsArray[432]) : 1;//商品价格
$salePriceTrue = isset($goodsArray[52]) ? trim($goodsArray[53]) : bcmul($salePrice, 1.2, 2);//市场价格
//辅单位信息
if($twoUnit){
$skuNameTwo = isset($goodsArray[56]) ? trim($goodsArray[65]) : '';//辅单位
$barCodeTwo = isset($goodsArray[32]) ? trim($goodsArray[32]) : '';//辅单位条码
$conversion = isset($goodsArray[56]) ? trim($goodsArray[56]) : 0;//辅单位换算比例
$salePriceTwo = isset($goodsArray[65]) ? trim($goodsArray[65]) : 1;//辅单位销售价格
$salePriceTwoTrue = isset($goodsArray[34]) ? trim($goodsArray[34]) : bcmul($salePriceTwo, 1.2, 2);//辅单位市场价格
}
if (empty($goodsName)) {
continue;
}
/***分类数据***/
if (!empty($categoryName)) {
//查询分类是否存在
$categorySelect = [
'title' => $categoryName,
];
$dbResult = $objDGoodsCategory->get($categorySelect);
if ($dbResult === false) {
exit($objDGoodsCategory->error());
}
$category = $dbResult;
unset($dbResult);
if (empty($category)) {
$categoryInsert = [
'sort' => 0,
'title' => $categoryName,
'pid' => 0,
'enableStatus' => StatusCode::$standard,
'deleteStatus' => StatusCode::$standard,
'createTime' => time(),
'updateTime' => time(),
];
$dbResult = $objDGoodsCategory->insert($categoryInsert);
if ($dbResult === false) {
exit($objDGoodsCategory->error());
}
$categoryId = $dbResult;
$categoryPath = $dbResult;
unset($dbResult);
} else {
$categoryId = $category['id'];
if(!empty($category['link'])){
$categoryPath = $category['link'] . ',' . $category['id'];
}else{
$categoryPath = $category['id'];
}
}
} else {
$categoryId = 1;
$categoryPath = '1';
}
/***品牌数据***/
if (!empty($brandName)) {
//查询品牌是否存在
$brandSelect = [
'title' => $brandName
];
$dbResult = $objDGoodsBrand->get($brandSelect);
if ($dbResult === false) {
exit($objDGoodsBrand->error());
}
$brand = $dbResult;
unset($dbResult);
if (empty($brand)) {
$brandInsert = [
'title' => $brandName,
'images' => null,
'sort' => 0,
'enableStatus' => StatusCode::$standard,
'createTime' => time(),
'updateTime' => time(),
];
$dbResult = $objDGoodsBrand->insert($brandInsert);
if ($dbResult === false) {
exit($objDGoodsBrand->error());
}
$brandId = $dbResult;
unset($dbResult);
} else {
$brandId = $brand['id'];
}
} else {
$brandId = 1;
}
/***单位数据***/
$skuId = NULL;
if (!empty($skuName)) {
//查询单位是否存在
$skuSelect = [
'unitName' => $skuName
];
$dbResult = $objDUnits->get($skuSelect);
if ($dbResult === false) {
exit($objDUnits->error());
}
$sku = $dbResult;
unset($dbResult);
if (empty($sku)) {
$skuInsert = [
'unitName' => $skuName,
'enableStatus' => StatusCode::$standard,
'createTime' => time(),
'updateTime' => time(),
];
$dbResult = $objDUnits->insert($skuInsert);
if ($dbResult === false) {
exit($objDUnits->error());
}
$skuId = $dbResult;
unset($dbResult);
} else {
$skuId = $sku['id'];
}
}
$skuIdTwo = NULL;
if (!empty($skuNameTwo)) {
//查询单位是否存在
$skuSelect = [
'unitName' => $skuNameTwo
];
$dbResult = $objDUnits->get($skuSelect);
if ($dbResult === false) {
exit($objDUnits->error());
}
$sku = $dbResult;
unset($dbResult);
if (empty($sku)) {
$skuInsert = [
'unitName' => $skuNameTwo,
'enableStatus' => StatusCode::$standard,
'createTime' => time(),
'updateTime' => time(),
];
$dbResult = $objDUnits->insert($skuInsert);
if ($dbResult === false) {
exit($objDUnits->error());
}
$skuIdTwo = $dbResult;
unset($dbResult);
} else {
$skuIdTwo = $sku['id'];
}
}
if($twoUnit){
$postData = [
"categoryPath" => $categoryPath,
"title" => $goodsName,
"storage" => "",
"delUnitIds" => [],
"delSpecSkuIds" => [],
"specType" => 1,
"specGroup" => [],
"specMultiple" => [
[
"barCode" => $barCode,
"weight" => "",
"isDefault" => 5,
"unitId" => $skuId,
"unitName" => $skuName,
"isMaster" => 5,
"conversion" => 0,
"specImage" => "",
"specGroup" => [],
"salePrice" => [
"conversion" => 0,
"unitName" => $skuName,
"unitId" => $skuId,
"isMaster" => 5,
"deleteStatus" => 5,
"enabledLadder" => 0,
"salePriceAreaType" => 1,
"salePrice" => $salePrice,
"ladderPrice" => [],
"marketPrice" => $salePriceTrue,
"setNum" => 1
]
],
[
"barCode" => $barCodeTwo,
"isDefault" => 4,
"unitId" => $skuIdTwo,
"unitName" => $skuNameTwo,
"isMaster" => 4,
"conversion" => $conversion,
"specImage" => "",
"specGroup" => [],
"salePrice" => [
"conversion" => $conversion,
"unitName" => $skuNameTwo,
"unitId" => $skuIdTwo,
"isMaster" => 4,
"deleteStatus" => 5,
"enabledLadder" => 0,
"salePriceAreaType" => 1,
"salePrice" => $salePriceTwo,
"ladderPrice" => [],
"marketPrice" => $salePriceTwoTrue,
"setNum" => 1
]
]
],
"unitData" => [
[
"barCode" => "",
"weight" => "",
"isMaster" => 5,
"isDefault" => 5,
"unitName" => $skuName,
"unitId" => $skuId
],
[
"unitName" => $skuNameTwo,
"isMaster" => 4,
"unitId" => $skuIdTwo,
"conversion" => $conversion,
"isEditSpec" => 5
]
],
"describe" => $describe,
"code" => "",
"barCode" => "",
"weight" => "",
"categoryId" => $categoryId,
"expireTime" => "",
"brandId" => $brandId,
"tag" => "",
"description" => $description,
"noSalesShop" => "",
"images" => $images,
"enableStatus" => 5,
"deliverySupIds" => "1,2",
"expressType" => 1,
"expressFee" => "",
"showExpress" => 5,
"ruleId" => "",
"isStore" => false
];
}else{
/***插入商品***/
$specMultiple = [[
"barCode" => $barCode,//商品条码
"isDefault" => 5,
"unitId" => $skuId,
"unitName" => $skuName,
"isMaster" => 5,
"conversion" => 0,
"specImage" => "",
"specGroup" => [],
"salePrice" => [
"conversion" => 0,
"unitName" => $skuName,
"unitId" => $skuId,
"isMaster" => 5,
"deleteStatus" => 5,
"enabledLadder" => 0,
"salePriceAreaType" => 1,
"salePrice" => $salePrice,//商品价格
"ladderPrice" => [],
"marketPrice" => $salePriceTrue,
"setNum" => 1//限定数量
]
]];
$postData = [
'categoryPath' => $categoryPath,
'title' => $goodsName,
'storage' => '',
'delUnitIds' => [],
'delSpecSkuIds' => [],
'specType' => 1,//1:无规格
'specGroup' => [],//无规格为空
'specMultiple' => $specMultiple,
'unitData' =>
[
[
'barCode' => '',
'isMaster' => 5,
'isDefault' => 5,
'unitName' => $skuName,
'unitId' => $skuId,
],
],
'describe' => $describe,//商品卖点
'code' => '',
'barCode' => '',
'categoryId' => $categoryId,
'expireTime' => '',
'brandId' => $brandId,
'tag' => '',
'description' => $description,//商品详情
'noSalesShop' => '',
'images' => $images,
'enableStatus' => 5,
];
}
$result = request($apiUrl, json_encode($postData), 10, false, $curl_option);
if ($result['httpcode'] != 200) {
exit($result['content']);
}
$content = json_decode($result['content'], true);
if ($content['state'] == false) {
exit($content['data']);
}
$i++;
var_dump('导入成功:'.$goodsName);
// break;
}
exit('执行成功, 共添加' . $i . '条数据');
}
/**
* 导入
* 批量添加客户
*/
public function autoAddCustomer()
{
$apiUrl = 'http://api.qianniao.vip/Customer/Customer/addCustomer';
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:text/plain',
'Authorization:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjMxMDEsImV4cGlyZVRpbWUiOjE2MDY0NTMxMjB9.gSDdfi4e0Hx_XIE-mGNRB7Ehk0iOclzpsQCv6P3ysXE',
'Token:95619f5cc272439f87d9b0e6b87be3e4',
],
];
$file = file('./1.txt');
foreach ($file as $key => $value) {
$array = explode(',', $value);
$customerName = isset($array[0]) ? trim($array[0]) : '';//客户名称
$mobile = isset($array[1]) ? trim($array[1]) : '';//手机号
$remark = isset($array[2]) ? trim($array[2]) : '';//备注
$shopId = '';//商铺id
$type = 35;//客户类型id
if (empty($mobile)) {
continue;
}
// if(empty($mobile) || strlen($mobile) != 11){
// $len = 4 - strlen($key + 1);
// $str = '';
// for($i = 1; $i <= $len; $i++){
// $str .= '0';
// }
// $mobile = '1111111'.$str.($key + 1);
// }
$postData = array(
'tempSave' => '',
'latitude' => '',
'longitude' => '',
'password' => '',
'area' => '',
'mobile' => $mobile,
'enableStatus' => 5,
'name' => $customerName,
'code' => '',
'type' => $type,
'provinceCode' => 610000,
'cityCode' => 610100,
'districtCode' => 610112,
'address' => '',
'managerMobile' => '',
'shopId' => $shopId,
'departmentId' => '',
'salesManId' => '',
'salesManCode' => '',
'salesManName' => '',
'birthday' => 0,
'remark' => $remark,
'extend' =>
array(
'license' => '',
),
'contact' =>
array(
'area' => '',
'name' => $customerName,
'mobile' => $mobile,
'provinceCode' => 610000,
'cityCode' => 610100,
'districtCode' => 610112,
'address' => '大明宫万达',
),
);
$result = request($apiUrl, json_encode($postData), 10, false, $curl_option);
if ($result['httpcode'] != 200) {
exit($result['content']);
}
$content = json_decode($result['content'], true);
if ($content['state'] == false) {
// exit($content['data']);
}
}
}
public function enterpriseId97ByTime0907()
{
//获取数据
$file = file('./enterpriseId97ByTime0907.txt');
//循环数据
$goodsData = [];
foreach ($file as $value) {
//格式化商品数据
$goodsArray = explode(',', $value);
$goods['id'] = trim($goodsArray[0]);//商品ID
$goods['name'] = trim($goodsArray[1]);//商品名称
$goods['spec'] = [trim($goodsArray[2])];//商品规格
$goods['category'] = trim($goodsArray[3]);//商品分类
$goods['price'] = trim($goodsArray[4]);//商品价格
if (!strripos($goods['category'], " ")) {
continue;
}
if (isset($goodsData[$goods['id']])) {
$goodsData[$goods['id']]['spec'] = array_merge($goodsData[$goods['id']]['spec'], $goods['spec']);
} else {
$goodsData[$goods['id']] = $goods;
}
}
unset($goodsArray);
unset($goods);
// V($goodsData);
//查询所有分类
$sql = 'select id,link,title from qianniao_goods_category_97';
$dbResult = $this->objDGoods->query($sql);
if ($dbResult === false) {
exit($this->objDGoods->error());
}
//格式化分类
$categoryData = [];
foreach ($dbResult as $value) {
$categoryData[$value['title']] = [
'id' => $value['id'],
'path' => empty($value['link']) ? $value['id'] : $value['link'] . ',' . $value['id']
];
}
//请求数据
$apiUrl = 'http://api.qianniao.vip/Goods/QuickGoods/addBasicAndPublishGoods';
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:text/plain',
'Authorization:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjIxMDgsImV4cGlyZVRpbWUiOjE1OTk0Njc5ODN9.gG5Ike-xmmKqe-_CpE5tVbSIESvU7-2AlfTlK-ouLNI',
'Token:4c8574ddcbf69ea23bcf403c0b0830e9'
],
];
$specApiUrl = 'http://api.qianniao.vip/GoodsManage/SpecManage/defineSpec';
$i = 0;
foreach ($goodsData as $value) {
//区分有没有规格
$specType = 1;//无规格
$specGroup = [];//无规格
$specMultipleNo = [];
$specMultipleNo[] = [
"barCode" => "",
"isDefault" => 5,
"unitId" => 1,
"unitName" => "件",
"isMaster" => 5,
"conversion" => 0,
"specImage" => "",
"specGroup" => [],
"salePrice" => [
"conversion" => 0,
"unitName" => "件",
"unitId" => 1,
"isMaster" => 5,
"deleteStatus" => 4,
"enabledLadder" => 0,
"salePriceAreaType" => 1,
"salePrice" => $value['price'],
"ladderPrice" => [],
"marketPrice" => $value['price'] * 1.2,
"setNum" => 1
]
];
$specMultipleYes = [];
foreach ($value['spec'] as $specValue) {
if ($specValue != '999') {
$specType = 2;//有规格
$specPostData = [
'hidden' => 4,
'pid' => 4,
'specName' => $specValue,
];
$result = request($specApiUrl, json_encode($specPostData), 10, false, $curl_option);
if ($result['httpcode'] != 200) {
exit($result['content']);
}
$content = json_decode($result['content'], true);
$specGroup['groupSpec'] = [
'specName' => '默认',
'specId' => 4,
];
$specGroup['params'][] = [
'specValueId' => $content['data']['id'],
'specValueName' => $content['data']['specName'],
];
$specMultipleYes[] = [
'unitId' => 1,
'unitName' => '件',
'isMaster' => 5,
'conversion' => 0,
'specImage' => '',
'isDefault' => 4,
'barCode' => '',
'specGroup' => [
[
'specId' => '4',
'specName' => '默认',
'specValueName' => $specValue,
'specValueId' => '5',
]
],
'salePrice' =>
[
'conversion' => 0,
'unitName' => '件_' . $specValue,
'unitId' => 1,
'isMaster' => 5,
'deleteStatus' => 4,
'enabledLadder' => 0,
'salePriceAreaType' => 1,
'salePrice' => $value['price'],
'ladderPrice' => [],
'marketPrice' => $value['price'] * 1.2,
'setNum' => 1,
],
];
}
}
$specMultiple = $specMultipleNo;
if ($specType == 2) {
$specMultiple = $specMultipleYes;
}
if (!strripos($value['category'], " ")) {
continue;
}
$categoryTitle = substr($value['category'], strripos($value['category'], " ") + 1);
//分类不存在 跳出本次
if (!isset($categoryData[$categoryTitle])) {
continue;
}
$postData = array(
'categoryPath' => $categoryData[$categoryTitle]['path'],
'title' => $value['name'],
'storage' => '',
'delUnitIds' => [],
'delSpecSkuIds' => [],
'specType' => $specType,
'specGroup' => empty($specGroup) ? $specGroup : [$specGroup],
'specMultiple' => $specMultiple,
'unitData' =>
array(
0 =>
array(
'barCode' => '',
'isMaster' => 5,
'isDefault' => 5,
'unitName' => '件',
'unitId' => 1,
),
),
'describe' => '',
'code' => '',
'barCode' => '',
'categoryId' => $categoryData[$categoryTitle]['id'],
'expireTime' => '',
'brandId' => '',
'tag' => '',
'description' => '',
'noSalesShop' => '',
'images' => ["https://onlineimg.qianniao.vip/159929437078955/4c8574ddcbf69ea23bcf403c0b0830e9/logo.jpg"],
'enableStatus' => 5,
);
$result = request($apiUrl, json_encode($postData), 10, false, $curl_option);
if ($result['httpcode'] != 200) {
exit($result['content']);
}
$content = json_decode($result['content'], true);
if ($content['state'] == false) {
exit($content['data']);
}
$i++;
}
echo '执行成功, 共添加' . $i . '条商品';
}
/**
* 我的锅系统商品添加
*/
public function addGuoGoods()
{
$apiUrl = 'https://store.qianniaovip.com//app/index.php?i=2&c=entry&do=SaveGoods&m=yb_cy';
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:application/json;charset=UTF-8',
],
];
$postData = [
"id" => "",
"sort" => "1",
"categoryIds" => [
"13"
],
"salesNum" => "",
"minNum" => 0,
"maxNum" => 0,
"icon" => "../addons/yb_cy/template/public/img/set/nopic.jpg",
"media" => [
"https => //wodeguo-1303051460.cos.ap-chengdu.myqcloud.com/yb_cy/2020/09/14/0353760156390008.png"
],
"item" => 1,
"spec" => [
],
"attribute" => [
],
"name" => "千鸟云商测试商品",
"group" => [
],
"boxMoney" => "",
"body" => "",
"outSalesPrice" => 1,
"outPrice" => 0,
"outStock" => 1,
"inSalesPrice" => 1,
"inPrice" => 0,
"inStock" => 1,
"isSpec" => "2",
"isAttribute" => "2",
"required" => "2",
"isMaterial" => "2",
"MaterialIds" => [
],
"unit" => "13",
"isMember" => "2",
"details" => ""
];
$result = request($apiUrl, json_encode($postData), 10, false, $curl_option);
if ($result['httpcode'] != 200) {
exit($result['content']);
}
$content = json_decode($result['content'], true);
V($content);
}
// public function recived()
// {
//
// $i = 1;
// do {
// $postData = [
// 'topicName' => 'MyJob',
// 'topicClass' => 'Jobs\Model\MTopic\Finance\MReceivable',
// 'topicMethon' => 'checkExistCreate',
// 'topicMethonParams' => [
// 'enterpriseId' => 34,
// ],
// ];
//
// $url = 'http://queue.qianniao.vip:8080/CAddJob/add';
// $result = request($url, $postData);
// print_r($result);
// $i++;
// } while ($result['httpcode'] != 200 && $i <= 3);
// }
public function log()
{
Logger::logs(E_USER_ERROR, '没有错误信息', __CLASS__, __LINE__, '没有错误信息');
}
public function formatUpdateEsData()
{
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type: application/json'
],
];
$postData = [
'doc' => [
'status' => 2
]
];
for ($i = 1; $i <= 170; $i++) {
if ($i != 19) {
$enableApiUrl = 'http://49.235.209.106:9200/online_customer_search/customer/EnterpriseId_13_CustomerId_' . $i . '/_update';
$result = request($enableApiUrl, json_encode($postData), 1000, false, $curl_option);
var_dump($result['content']);
var_dump('
');
}
}
}
public function autoEnterprise()
{
$objMEnterprise = new MEnterprise();
$return = $objMEnterprise->autoCreateData(1112, 71);
echo $return->getData();
}
public function goodsCateGory()
{
$sql = 'select * from qianniao_goods_category_48 where deleteStatus = 5 and pid = 0';
$category = $this->objDGoods->query($sql);
if ($category === false) {
return ResultWrapper::fail($this->objDGoods->error(), ErrorCode::$paramError);
}
$map = [];
foreach ($category as $item) {
//' and find_in_set('.$condition['categoryId'].',b.categoryPath) ';
$sql_1 = 'select g.id from qianniao_goods_48 as g left join qianniao_goods_basic_48 as b
on g.basicGoodsId = b.id where find_in_set(' . $item['id'] . ',b.categoryPath) and
g.deleteStatus = 5 And g.enableStatus = 5';
$sql_2 = 'select g.id from qianniao_goods_48 as g left join qianniao_goods_basic_48 as b
on g.basicGoodsId = b.id where find_in_set(' . $item['id'] . ',b.categoryPath) and
g.deleteStatus = 5 And g.enableStatus = 4';
$u_count = count($this->objDGoods->query($sql_1));
$b_count = count($this->objDGoods->query($sql_2));
$map[] = [
'id' => $item['id'],
'categoryName' => $item['title'],
'u_num' => $u_count,
'b_num' => $b_count
];
}
self::export($map);
die;
}
/**
* 导出方法
*
* @param $allOrderData
*/
private static function export($allOrderData)
{
//导出到本地
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=订单记录.csv");
header('Cache-Control: max-age=0');
$fp = fopen('php://output', 'a');
$head = ['ID', '分类名称', '上架数量', '下架数量']; //定义标题
foreach ($head as $i => $v) {
$head[$i] = mb_convert_encoding($v, 'GBK', 'utf-8'); //将中文标题转换编码,否则乱码
}
fputcsv($fp, $head);
$limit = 10000;
$num = 0;//计数器
foreach ($allOrderData as $v) {
//循环数据
$num++;
if ($num == $limit) {
ob_flush();//释放内存
flush();
}
$rows['id'] = $v['id'];
$rows['categoryName'] = $v['categoryName'];
$rows['u_num'] = $v['u_num'];
$rows['b_num'] = $v['b_num'];
foreach ($rows as $kk => $vv) {
$rs[$kk] = mb_convert_encoding($vv, 'GBK', 'utf-8'); //转译编码
}
fputcsv($fp, $rs);
$rows = [];
}
exit;
}
/**
* 处理文件
* @throws Exception
* @throws \Exception
*/
public function formatFIle()
{
$file = file('./1.txt');
$userCenterId = 969;
$enterpriseId = 56;
$objMGoodsBasic = new MGoodsBasic($userCenterId, $enterpriseId);
$objMQuickGoods = new MQuickGoods($enterpriseId, $userCenterId);
$objMGoods = new MGoods($enterpriseId, false, $userCenterId);
$array = [];
foreach ($file as $key => $value) {
$goodsArray = explode(',', $value);
if (empty(trim($goodsArray[0])) || in_array(trim($goodsArray[0]), $array)) continue;
$title = trim($goodsArray[0]) . trim($goodsArray[3]);//商品名字
$unitId = trim($goodsArray[1]);
$unitName = trim($goodsArray[2]);
$describe = '';//卖点
$categoryId = 2;
$categoryPath = '2';
$shopId = 56;
$shopName = '品茗苑茶行';
$brandId = 1;
$addData = [
//必填字段
'title' => $title,//商品名称
'brandId' => $brandId,//品牌id
'categoryId' => $categoryId,//分类
'categoryPath' => $categoryPath,//分类路径
'unitData' => [['unitName' => $unitName, 'isMaster' => 5, 'conversion' => '0.00', 'unitId' => $unitId, 'barCode' => '']],//单位
'barCode' => '',//条码
'describe' => $describe,//卖点
'specType' => 1,//单规格1 多规格2
'description' => '',
'images' => '[]',//商品图册json
'expireTime' => 0,
'tag' => '',//关键词
'link' => '',
// 'specMultiple' => [],
// 'shopId' => 46,//商铺id
// 'shopName' => '纺物优选',//商铺名称
//
// 'barCode' => '',
// 'noSalesShop' => '',
// 'specGroup' => [],
// 'extends' => json_encode(['storage'=>'']),
// 'enableStatus' => 4,
// 'createUserName' => '',
// 'sort' => '',
];
//添加商品基础资料
$modelResult = $objMGoodsBasic->addGoodsBasic($addData);
if (!$modelResult->isSuccess()) {
echo $modelResult->getData();
}
$basicId = $modelResult->getData();
$goodsData = [
'basicGoodsId' => $basicId,//基本资料id
'goodsName' => $title,//基本资料商品名称
'shopId' => $shopId,//商铺id
'shopName' => $shopName,//商铺名称
'images' => '[]',
'specType' => 1,//规格类型
'enableStatus' => StatusCode::$delete,
'priceData' => '',//接json值
'createUserName' => '',//添加商品人名称
];
$goodsData['content'] = '';
$goodsData['isRecommend'] = 4;
$goodsData['createTime'] = time();
$goodsData['updateTime'] = time();
$goodsData['deleteStatus'] = StatusCode::$standard;
$goodsData['sort'] = 0;
//添加商品
$modelResult = $objMGoods->addGoods($goodsData);
if (!$modelResult->isSuccess()) {
echo $modelResult->getData();
}
$array[] = $title;
//单店铺添加商品
// $modelResult = $objMQuickGoods->addBasicAndPublishGoods($addData);
// if (!$modelResult->isSuccess()) {
// echo $modelResult->getData();
// }
// if($key > 1){
// break;
// }
}
echo '成功';
}
/**
* 格式化分类
* @throws Exception
*/
public function formatFIleCategory()
{
$file = file('./2.txt');
$objDSku = new DSku();
foreach ($file as $value) {
$explodeData = explode(':', $value);
$goodsBasicData = trim($explodeData[0]);
$goodsCategoryData = trim($explodeData[1]);
//判断是一级分类还是多级分类
if (strstr($goodsCategoryData, ',')) {
//多级分类
$categoryData = explode(',', $goodsCategoryData);
$categoryPath = '';
$categoryId = 0;
foreach ($categoryData as $key => $v) {
$category = trim($v);
//查询分类表是否有这个分类的名称
$sql = 'select * from qianniao_goods_category_34 where title = ' . trim($category) . ' and pid = ' . $categoryId;
$dbResult = $objDSku->query($sql);
if ($dbResult === false) {
echo $objDSku->error();
break;
}
//如果不存在 插入一条分类
if (empty($dbResult)) {
$sql = 'insert into qianniao_goods_category_34 (pid, title, createTime, updateTime) values(' . $categoryId . ', "' . trim($category) . '", ' . time() . ', ' . time() . ')';
$insertResult = $objDSku->query($sql);
if ($insertResult === false) {
echo $objDSku->error();
break;
}
$id = $insertResult;
} else {
$id = $dbResult[0]['id'];
}
$categoryId = $id;
$categoryPath = $categoryId == 0 ? $id : $categoryPath . ',' . $id;
}
} else {
//一级分类
//查询分类表是否有这个分类的名称
$sql = 'select * from qianniao_goods_category_34 where title = ' . trim($goodsCategoryData) . ' and pid = 0';
$dbResult = $objDSku->query($sql);
if ($dbResult === false) {
echo $objDSku->error();
break;
}
//如果不存在 插入一条分类
if (empty($dbResult)) {
$sql = 'insert into qianniao_goods_category_34 (pid, title, createTime, updateTime) values(0, "' . trim($goodsCategoryData) . '", ' . time() . ', ' . time() . ')';
$categoryId = $objDSku->query($sql);
if ($categoryId === false) {
echo $objDSku->error();
break;
}
} else {
$categoryId = $dbResult[0]['id'];
}
$categoryPath = $categoryId;
}
//根据该商品名称修改分类字段
$sql = 'update qianniao_goods_basic_34 set categoryId = ' . $categoryId . ', categoryPath = ' . $categoryPath . ' where title = "' . $goodsBasicData . '"';
$dbResult = $objDSku->query($sql);
if ($dbResult === false) {
echo $objDSku->error();
break;
}
}
}
/**
* 测试 获取缓存
* @throws Exception
*/
public function getCache()
{
$objMOrder = new MOrder(1, 1);
$result = $objMOrder->businessOverview('todayConfirmedOrderNum', '');
V($result);
}
public function test_request()
{
$apiUrl = 'http://api.qianniao.vip/Goods/Goods/addGoods';
$enableApiUrl = 'http://api.qianniao.vip/Goods/Goods/updateEnableStatus';
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:text/plain',
'Authorization:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjU2OSwiZXhwaXJlVGltZSI6MTU5MTUwMDQ1M30.y5HnUgq7dZ4lgk4bCK_l7FJr_UpelHYtvgLX4Hpa5fs',
'Token:8fa553d53f44e33123e4d0d51a0de634'
],
];
$objDGoodsBasic = new DGoodsBasic();
$objSku = new DSku();
$sql = 'select b.* from qianniao_goods_basic_34 as b left join qianniao_goods_34 as g on b.id = g.basicGoodsId WHERE g.basicGoodsId IS NULL';
$dbResult = $objDGoodsBasic->query($sql);
foreach ($dbResult as $row) {
$skuData = $objSku->query('select * from qianniao_sku_34 where goodsId = ' . $row['id'] . ' and deleteStatus = 5');
$postData = [
"createUserName" => "陈民",
"goodsName" => $row['title'],
"specType" => $row['specType'],
"goodsBasicId" => $row['id'],
"shopId" => 38,
"shopName" => "万货网",
"images" => json_decode($row['images'], true),
"salesArea" => [],
"serviceInfo" => 1,
"price" => [
[
"id" => $skuData[0]['id'],
"unitId" => $skuData[0]['unitId'],
"unitName" => $skuData[0]['unitName'],
"conversion" => "0.00",
"isMaster" => 5,
"enabledLadder" => 0,
"marketPrice" => 1000,
"salePrice" => 999,
"setNum" => 1,
"salePriceAreaType" => 1,
"ladderPrice" => []
]
],
"specification" => [
null
],
"content" => "",
"isRecommend" => 5,
"sort" => "1"
];
$result = request($apiUrl, json_encode($postData), 10, false, $curl_option);
if ($result['httpcode'] != 200) {
return ResultWrapper::fail($result['content'], ErrorCode::$apiNotResult);
}
$reponse = json_decode($result['content'], true);
if (isset($reponse) && $reponse['errorcode'] == 0) {
$enableData = [
'enableStatus' => StatusCode::$standard,
'id' => (int)$reponse['data']
];
$enableResponse = request($enableApiUrl, json_encode($enableData), 10, false, $curl_option);
}
//V(123);
}
return ResultWrapper::success($reponse['data']);
}
/**
* @throws Exception
*/
public function syncGoodsAndGoodsBasic()
{
$objDGoodsBasic = new DGoodsBasic();
$objDGoods = new DGoods();
$objDGoods->setTable('qianniao_goods_34');
$objDGoodsBasic->setTable('qianniao_goods_basic_34');
$goodsBasicData = $objDGoodsBasic->select([], 'id,images');
if ($goodsBasicData === false) {
exit("sql:" . $objDGoodsBasic->error());
}
foreach ($goodsBasicData as $row) {
$update = $objDGoods->update(['images' => $row['images']], ['basicGoodsId' => $row['id']]);
if ($update === false) {
exit("sql:" . $objDGoods->error());
}
}
V("操作成功");
}
/**
* Test constructor.
*/
public function __construct()
{
$this->objDGoods = new DGoods();
// $this->Authorization = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjgyNywiZXhwaXJlVGltZSI6MTU5NTgzMDUzN30.Rua2aBXgwh_hIAkp6M1KHYYtCzcsTgEdLqvD-c8-pmw';
// $this->Token = 'a946c2ed5c589bfe0f66e48facb32649';
}
/**public function addOrder()
* {
* echo "start".PHP_EOL;
* $apiUrl = 'http://api.qianniao.vip/Order/Order/addOrder/613';
* $curl_option = [
* CURLOPT_HTTPHEADER => [
* 'Content-Type:text/plain',
* 'Authorization:'.$this->Authorization,
* 'Token:'.$this->Token
* ],
* ];
* //$postData = '{"deliveryType":1,"customerName":"清扬超市","receiveAddressId":141,"source":"3","orderRemark":"新日期","goodsData":{"totalMoney":"406.05","payMoney":"406.05","preferential":"0.00","vipDiscount":0,"vipDoubleDiscount":0,"activityMoney":"0.00","checkNum":5,"cartNum":5,"goodsNum":29,"goodsData":[{"shopId":38,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","totalMoney":"406.05","preferential":"0.00","payMoney":"406.05","shopGoodsData":[{"id":2536,"goodsId":483,"goodsCode":"MATERIEL000483","buyNum":5,"shopId":38,"goodsBasicId":483,"selection":5,"skuId":483,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2536,"brandName":"","categoryName":"膨化食品","barCode":"6924743919242","storageCode":"H1-2-1-3","goodsName":"乐事墨西哥鸡汁番茄味薯片70g","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591509958101乐事墨西哥鸡汁番茄味薯片70g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":99,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"4.65","price":"4.65","preferential":0,"totalMoney":"23.25","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"4.3200","inventoryNum":"17.00000000","conversion":0},{"id":2535,"goodsId":517,"goodsCode":"MATERIEL000517","buyNum":4,"shopId":38,"goodsBasicId":517,"selection":5,"skuId":517,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2535,"brandName":"健力宝","categoryName":"膨化食品","barCode":"6920912341852","storageCode":"A2-1-4-1","goodsName":"盼盼家庭号经济包薯片原味108g","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591509094748盼盼家庭号经济包薯片原味108g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":1,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.45","price":"2.45","preferential":0,"totalMoney":"9.80","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"2.1000","inventoryNum":"54.00000000","conversion":0},{"id":2534,"goodsId":495,"goodsCode":"MATERIEL000495","buyNum":10,"shopId":38,"goodsBasicId":495,"selection":5,"skuId":495,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2534,"brandName":"","categoryName":"膨化食品","barCode":"6909409012802","storageCode":"A1-1-3-4","goodsName":"上好佳草莓味栗米条40g","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591509681566上好佳草莓味栗米条40g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":102,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.70","price":"2.70","preferential":0,"totalMoney":"27.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"2.6000","inventoryNum":"30.00000000","conversion":0},{"id":2533,"goodsId":64,"goodsCode":"MATERIEL000064","buyNum":8,"shopId":38,"goodsBasicId":64,"selection":5,"skuId":64,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2533,"brandName":"","categoryName":"果汁饮料","barCode":"","storageCode":"","goodsName":"康师傅冰红茶1L*12瓶","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591581053066康师傅茉莉蜜茶1l.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":18,"brandId":109,"categoryPath":"18","isActivity":4,"specType":1,"unitName":"件","specGroup":[],"originPrice":"34.50","price":"34.50","preferential":0,"totalMoney":"276.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"34.6660","inventoryNum":"10.00000000","conversion":0},{"id":2532,"goodsId":63,"goodsCode":"MATERIEL000063","buyNum":2,"shopId":38,"goodsBasicId":63,"selection":5,"skuId":63,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2532,"brandName":"","categoryName":"果汁饮料","barCode":"6921317989847","storageCode":"C1-1-15","goodsName":"康师傅蜂蜜绿茶1L*12瓶","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591581068709康师傅绿茶1l.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":18,"brandId":109,"categoryPath":"18","isActivity":4,"specType":1,"unitName":"件","specGroup":[],"originPrice":"35.00","price":"35.00","preferential":0,"totalMoney":"70.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"34.6500","inventoryNum":"5.00000000","conversion":0}]}],"invalidData":[]}}';
* $postData = '{"deliveryType":1,"customerName":"诚信百货超市","receiveAddressId":7,"source":"3","orderRemark":"","goodsData":{"totalMoney":"420.75","payMoney":"420.75","preferential":"0.00","vipDiscount":0,"vipDoubleDiscount":0,"activityMoney":"0.00","checkNum":15,"cartNum":15,"goodsNum":60,"goodsData":[{"shopId":38,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","totalMoney":"420.75","preferential":"0.00","payMoney":"420.75","shopGoodsData":[{"id":2552,"goodsId":575,"goodsCode":"MATERIEL000575","buyNum":10,"shopId":38,"goodsBasicId":575,"selection":5,"skuId":575,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2552,"brandName":"","categoryName":"坚果炒货","barCode":"6922742001180","storageCode":"A2-3-3-3","goodsName":"沙土原香瓜子200g","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591504718336沙土原香瓜子200g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":118,"brandId":104,"categoryPath":"118","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"3.70","price":"3.70","preferential":0,"totalMoney":"37.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"4.2538","inventoryNum":"61.00000000","conversion":0},{"id":2550,"goodsId":574,"goodsCode":"MATERIEL000574","buyNum":20,"shopId":38,"goodsBasicId":574,"selection":5,"skuId":574,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2550,"brandName":"","categoryName":"坚果炒货","barCode":"6922742000848","storageCode":"A2-3-3-2","goodsName":"沙土香瓜子300g","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591504774300沙土香瓜子300g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":118,"brandId":104,"categoryPath":"118","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"5.95","price":"5.95","preferential":0,"totalMoney":"119.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"5.6200","inventoryNum":"140.00000000","conversion":0},{"id":2549,"goodsId":345,"goodsCode":"MATERIEL000345","buyNum":2,"shopId":38,"goodsBasicId":345,"selection":5,"skuId":345,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2549,"brandName":"","categoryName":"熟食卤味","barCode":"6935284413991","storageCode":"F1-4-3-5","goodsName":"卫龙亲嘴烧选B麦辣鸡汁味28g*20包","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591513223408卫龙亲嘴烧选B麦辣鸡汁味28g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":13,"brandId":89,"categoryPath":"13","isActivity":4,"specType":1,"unitName":"盒","specGroup":[],"originPrice":"14.50","price":"14.50","preferential":0,"totalMoney":"29.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"13.0000","inventoryNum":"2.00000000","conversion":0},{"id":2548,"goodsId":72,"goodsCode":"MATERIEL000072","buyNum":1,"shopId":38,"goodsBasicId":72,"selection":5,"skuId":72,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2548,"brandName":"","categoryName":"茶饮料","barCode":"4891599366839","storageCode":"C1-1-8","goodsName":"加多宝凉茶植物饮料550ML*15瓶","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591580637360主图-1 (1).jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":15,"brandId":72,"categoryPath":"15","isActivity":4,"specType":1,"unitName":"件","specGroup":[],"originPrice":"43.80","price":"43.80","preferential":0,"totalMoney":"43.80","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"42.0000","inventoryNum":"5.00000000","conversion":0},{"id":2547,"goodsId":440,"goodsCode":"MATERIEL000440","buyNum":3,"shopId":38,"goodsBasicId":440,"selection":5,"skuId":440,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2547,"brandName":"","categoryName":"膨化食品","barCode":"6922330265543","storageCode":"F1-9-1-1","goodsName":"运康牛肉口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510887159运康牛肉口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.30","price":"2.30","preferential":0,"totalMoney":"6.90","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"1.9367","inventoryNum":"51.00000000","conversion":0},{"id":2546,"goodsId":441,"goodsCode":"MATERIEL000441","buyNum":3,"shopId":38,"goodsBasicId":441,"selection":5,"skuId":441,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2546,"brandName":"","categoryName":"膨化食品","barCode":"6922330265529","storageCode":"F1-9-2-1","goodsName":"运康香辣口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510878227运康香辣口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.30","price":"2.30","preferential":0,"totalMoney":"6.90","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"2.0000","inventoryNum":"44.00000000","conversion":0},{"id":2545,"goodsId":442,"goodsCode":"MATERIEL000442","buyNum":3,"shopId":38,"goodsBasicId":442,"selection":5,"skuId":442,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2545,"brandName":"","categoryName":"膨化食品","barCode":"6922330255001","storageCode":"F1-9-1-2","goodsName":"运康五香口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510880914运康五香口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.30","price":"2.30","preferential":0,"totalMoney":"6.90","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"2.0000","inventoryNum":"5.00000000","conversion":0},{"id":2544,"goodsId":443,"goodsCode":"MATERIEL000443","buyNum":3,"shopId":38,"goodsBasicId":443,"selection":5,"skuId":443,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2544,"brandName":"","categoryName":"膨化食品","barCode":"6922330265703","storageCode":"F1-9-2-3","goodsName":"运康鸡肉口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510893356运康鸡肉口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.30","price":"2.30","preferential":0,"totalMoney":"6.90","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"1.9000","inventoryNum":"50.00000000","conversion":0},{"id":2543,"goodsId":444,"goodsCode":"MATERIEL000444","buyNum":3,"shopId":38,"goodsBasicId":444,"selection":5,"skuId":444,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2543,"brandName":"","categoryName":"膨化食品","barCode":"6922330265512","storageCode":"F1-9-2-2","goodsName":"运康烧烤口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510884090运康烧烤口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.30","price":"2.30","preferential":0,"totalMoney":"6.90","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"1.9166","inventoryNum":"60.00000000","conversion":0},{"id":2542,"goodsId":445,"goodsCode":"MATERIEL000445","buyNum":3,"shopId":38,"goodsBasicId":445,"selection":5,"skuId":445,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2542,"brandName":"","categoryName":"膨化食品","barCode":"6922330265581","storageCode":"F1-9-2-4","goodsName":"运康麻辣口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510890646运康麻辣口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.45","price":"2.45","preferential":0,"totalMoney":"7.35","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"1.9397","inventoryNum":"53.00000000","conversion":0},{"id":2541,"goodsId":446,"goodsCode":"MATERIEL000446","buyNum":3,"shopId":38,"goodsBasicId":446,"selection":5,"skuId":446,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2541,"brandName":"","categoryName":"膨化食品","barCode":"","storageCode":"","goodsName":"运康羊肉串口味锅巴102g袋装","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591510875264运康羊肉串口味锅巴102g袋装.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":2,"brandId":97,"categoryPath":"2","isActivity":4,"specType":1,"unitName":"包","specGroup":[],"originPrice":"2.30","price":"2.30","preferential":0,"totalMoney":"6.90","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"1.9000","inventoryNum":"50.00000000","conversion":0},{"id":2540,"goodsId":349,"goodsCode":"MATERIEL000349","buyNum":2,"shopId":38,"goodsBasicId":349,"selection":5,"skuId":349,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2540,"brandName":"","categoryName":"熟食卤味","barCode":"6935284415162","storageCode":"F1-4-2-1","goodsName":"卫龙魔芋爽酸辣素毛肚18g*20包","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591513176969卫龙魔芋爽酸辣素毛肚18g_20.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":13,"brandId":89,"categoryPath":"13","isActivity":4,"specType":1,"unitName":"盒","specGroup":[],"originPrice":"14.50","price":"14.50","preferential":0,"totalMoney":"29.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"12.7343","inventoryNum":"10.00000000","conversion":0},{"id":2539,"goodsId":347,"goodsCode":"MATERIEL000347","buyNum":2,"shopId":38,"goodsBasicId":347,"selection":5,"skuId":347,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2539,"brandName":"","categoryName":"熟食卤味","barCode":"6935284414011","storageCode":"F1-4-3-4","goodsName":"卫龙亲嘴烧选C川香风味28g*20包","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591513220899卫龙亲嘴烧选C川香风味28g_20.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":13,"brandId":89,"categoryPath":"13","isActivity":4,"specType":1,"unitName":"盒","specGroup":[],"originPrice":"14.50","price":"14.50","preferential":0,"totalMoney":"29.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"13.0000","inventoryNum":"2.00000000","conversion":0},{"id":2538,"goodsId":678,"goodsCode":"MATERIEL000678","buyNum":1,"shopId":38,"goodsBasicId":678,"selection":5,"skuId":678,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2538,"brandName":"","categoryName":"方便面/粉","barCode":"","storageCode":"","goodsName":"康师傅鲜虾鱼板面95g*24袋","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591502015830康师傅鲜虾鱼板面95g.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":22,"brandId":109,"categoryPath":"22","isActivity":4,"specType":1,"unitName":"件","specGroup":[],"originPrice":"47.50","price":"47.50","preferential":0,"totalMoney":"47.50","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"46.0000","inventoryNum":"2.00000000","conversion":0},{"id":2537,"goodsId":663,"goodsCode":"MATERIEL000663","buyNum":1,"shopId":38,"goodsBasicId":663,"selection":5,"skuId":663,"warehouseId":1,"activityId":0,"shopName":"济南万货网自营仓","shopLogo":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591611913629fbcd6ad1f75737ddcbd5a9eaaba9586f.png?imageView2/2/w/750/h/750","cartId":2537,"brandName":"","categoryName":"方便面/粉","barCode":"6903252100785","storageCode":"","goodsName":"康师傅红烧牛肉面109g*12桶","goodsImages":"https://onlineimg.qianniao.vip/8fa553d53f44e33123e4d0d51a0de634/1591502332247康师傅红烧牛肉面108g-12桶.jpg?imageView2/2/w/750/h/750","isInvalid":5,"describe":"","categoryId":22,"brandId":109,"categoryPath":"22","isActivity":4,"specType":1,"unitName":"件","specGroup":[],"originPrice":"38.00","price":"38.00","preferential":0,"totalMoney":"38.00","activityMoney":0,"isMutex":4,"vipDiscount":0,"inventory":0,"costPrice":"37.0000","inventoryNum":"7.00000000","conversion":0}]}],"invalidData":[]}}';
* $result = request($apiUrl, $postData, 60, false, $curl_option);
* if ($result['httpcode'] != 200) {
* return ResultWrapper::fail($result['content'], ErrorCode::$apiNotResult);
* }
* $reponse = json_decode($result['content'], true);
* V($reponse);
* }**/
public function bugCategoryPath()
{
$fields = 'b.id,b.title,b.categoryPath,b.categoryId';
$sql = 'SELECT ' . $fields . ' FROM qianniao_goods_basic_48 as b
LEFT JOIN qianniao_goods_category_48 as c ON
c.id = b.categoryId WHERE c.pid != 0';
$result = $this->objDGoods->query($sql);
if ($result === false) {
echo 'sql' . $this->objDGoods->error();
die;
}
$allCategoryIds = [];
foreach ($result as $item) {
$allCategoryIds[] = $item['categoryId'];
}
//获取这些分类的全路径
$c_sql = 'SELECT id,pid,title FROM qianniao_goods_category_48 WHERE deleteStatus=5';
$category = $this->objDGoods->query($c_sql);
$allCategory = [];
foreach ($category as $item) {
$allCategory[$item['id']] = $item;
}
foreach ($allCategory as &$item) {
if ($item['pid'] == 0) {
$item['categoryPath'] = $item['id'];
} else {
$item['categoryPath'] = $item['pid'] . ',' . $item['id'];
}
}
unset($item);
foreach ($result as $key => $item) {
$result[$key]['categoryPath'] = $allCategory[$item['categoryId']]['categoryPath'];
}
$objDGoodsBasic = new DGoodsBasic();
$objDGoodsBasic->setTable('qianniao_goods_basic_48');
foreach ($result as $value) {
$update = $objDGoodsBasic->update([
'categoryPath' => $value['categoryPath']
], ['id' => $value['id']]);
if ($update === true) {
echo 'sql' . $objDGoodsBasic->error();
}
}
echo 'success';
}
/**
* 基础商品
* @return ResultWrapper
*/
public function goodsBasic()
{
echo "start" . PHP_EOL;
$apiUrl = 'http://api.qianniao.vip/GoodsManage/GoodsBasic/fixEsData';
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:text/plain',
'Authorization:' . $this->Authorization,
'Token:' . $this->Token
],
];
$postData = [
"page" => 0,
"pageSize" => 2000,
];
$result = request($apiUrl, json_encode($postData), 60, false, $curl_option);
if ($result['httpcode'] != 200) {
return ResultWrapper::fail($result['content'], ErrorCode::$apiNotResult);
}
$reponse = json_decode($result['content'], true);
V($reponse);
}
/**
* 修补商品es数据
*/
public function goods_fixEsData()
{
echo 'start' . PHP_EOL;
$apiUrl = 'http://api.qianniao.vip/Goods/Goods/fixEsData';
$curl_option = [
CURLOPT_HTTPHEADER => [
'Content-Type:text/plain',
'Authorization:' . $this->Authorization,
'Token:' . $this->Token
],
];
$postData = [
"page" => 0,
"pageSize" => 2000
];
$result = request($apiUrl, json_encode($postData), 60, false, $curl_option);
if ($result['httpcode'] != 200) {
return ResultWrapper::fail($result['content'], ErrorCode::$apiNotResult);
}
$reponse = json_decode($result['content'], true);
V($reponse);
}
/**
* 基础资料
* @throws Exception
*/
public function test_replace()
{
$objDGoodsBasic = new DGoodsBasic();
$objDGoodsBasic->setTable('qianniao_goods_basic_1');
$sql = 'select id,images,description from qianniao_goods_basic_1';
$dbResult = $objDGoodsBasic->query($sql);
if ($dbResult === false) {
exit("获取数据失败" . $objDGoodsBasic->error());
}
foreach ($dbResult as $row) {
if (empty($row['images'])) {
continue;
}
$images = json_decode($row['images'], true);
foreach ($images as &$item) {
$item = str_replace('https://image.saiyin168.cn', 'https://image.qpl123.com', $item);
}
$images = json_encode($images);
$description = str_replace('https://image.saiyin168.cn', 'https://image.qpl123.com', $row['description']);
$updateResult = $objDGoodsBasic->update(['images' => $images, 'description' => $description], ['id' => $row['id']]);
if ($updateResult === false) {
exit('更新失败' . $objDGoodsBasic->error());
}
}
exit('操作成功');
}
/**
*
* @throws Exception
*/
public function test_replace_goods()
{
$objDGoods = new DGoods();
$objDGoods->setTable('qianniao_goods_1');
$sql = 'select id,images,content from qianniao_goods_1';
$dbResult = $objDGoods->query($sql);
if ($dbResult === false) {
exit("获取数据失败" . $objDGoods->error());
}
foreach ($dbResult as $row) {
if (empty($row['images'])) {
continue;
}
$images = json_decode($row['images'], true);
foreach ($images as &$item) {
$item = str_replace('https://image.saiyin168.cn', 'https://image.qpl123.com', $item);
}
$images = json_encode($images);
$content = str_replace('https://image.saiyin168.cn', 'https://image.qpl123.com', $row['content']);
$updateResult = $objDGoods->update(['images' => $images, 'content' => $content], ['id' => $row['id']]);
if ($updateResult === false) {
exit('更新失败' . $objDGoods->error());
}
}
exit('操作成功');
}
/**
*
* @throws Exception
*/
public function test_replace_category()
{
$objDGoodsCategory = new DGoodsCategory();
$objDGoodsCategory->setTable('qianniao_goods_category_1');
$sql = 'select id,images,adImage from qianniao_goods_category_1';
$dbResult = $objDGoodsCategory->query($sql);
if ($dbResult === false) {
exit("获取数据失败" . $objDGoodsCategory->error());
}
foreach ($dbResult as $row) {
if (empty($row['images'])) {
continue;
}
$images = str_replace('https://image.saiyin168.cn', 'https://image.qpl123.com', $row['images']);
$adImage = str_replace('https://image.saiyin168.cn', 'https://image.qpl123.com', $row['adImage']);
$updateResult = $objDGoodsCategory->update(['images' => $images, 'adImage' => $adImage], ['id' => $row['id']]);
if ($updateResult === false) {
exit('更新失败' . $objDGoodsCategory->error());
}
}
exit('操作成功');
}
public function forApi()
{
$objMCustomer = new MCustomer(4, 29);
$obj = new DCustomer();
$sql = 'select * from qianniao_customer_4 where deleteStatus = 5';
$result = $obj->query($sql);
foreach ($result as $key => $value) {
$a = $objMCustomer->updateEsData($value['id']);
}
}
/**
* @throws Exception
*/
public function syncSku()
{
$objSkuCache = new SkuCache(1);
$objDSku = new DSku();
$objDSku->setTable('qianniao_sku_1');
$skuResult = $objDSku->select([]);
if ($skuResult === false) {
exit($objDSku->error());
}
foreach ($skuResult as $item) {
$map = self::cacheMappersSku($item);
$objSkuCache->delSku($item['id']);
$cacheRes = $objSkuCache->cacheSku($item['id'], $map);
if (!$cacheRes->isSuccess()) {
exit("缓存失败");
}
}
exit("缓存成功");
}
/**
* @param array $data
* @return array
*/
public static function cacheMappersSku(array $data)
{
$map = [];
if (empty($data)) {
return $map;
}
$map = [
'id' => $data['id'],
'unitId' => $data['unitId'],
'unitName' => $data['unitName'],
'isMaster' => $data['isMaster'],
'conversion' => $data['conversion'],
'specType' => $data['specType'],
'specImage' => $data['specImage'],
'specData' => $data['specData'],
'specGroupHash' => $data['specGroupHash'],
'barCode' => $data['barCode'],
'goodsId' => $data['goodsId']
];
return $map;
}
/**
* 测试打印
*/
public function sendMsg()
{
$CloudPrint = new CloudPrint();
$BaseModel = new MBaseModel();
$data = [
'shopName' => '千鸟云商',
'title' => '销售单',
'code' => '0000000009',
'codeName' => '订单编号',
'userName' => '海燕',
'mobile' => 13626403927,
'address' => '西安大明宫万达',
'createTime' => time(),
'details' => [
[
'title' => '紫苏焖鹅+梅菜肉饼+椒盐虾+北京烤鸭',
'skuData' => [
[
'skuName' => '白色;XL',
'unitName' => '件',
'num' => 11,
'unitPrice' => 10.00,
'amountPrice' => 110.00
],
[
'skuName' => '白色;XL',
'unitName' => '件',
'num' => 11,
'unitPrice' => 10.00,
'amountPrice' => 110.00
],
[
'skuName' => '白色;XL',
'unitName' => '件',
'num' => 11,
'unitPrice' => 10,
'amountPrice' => 110
],
[
'skuName' => '白色;XL',
'unitName' => '件',
'num' => 11,
'unitPrice' => 10,
'amountPrice' => 110
],
]
],
[
'title' => '紫苏焖鹅+梅菜肉饼+椒盐虾+北京烤鸭',
'skuData' => [
[
'skuName' => '橘子味',
'unitName' => '瓶',
'num' => 1,
'unitPrice' => 5,
'amountPrice' => 5,
]
],
]
],
'totalMoney' => 12.00,
'preferential' => 0,
'payAmount' => 12.00
];
// $data = $BaseModel->formatMsg($data);
// $result = $CloudPrint->sendMsg($data);
// $result = $CloudPrint->getStatus();
// $result = $CloudPrint->setVolume(0);
//测试飞鹅打印机
$data = $BaseModel->formatMsg($data, 2);
$result = $CloudPrint->feieSendMsg($data);
V($result);
}
public function bugCoupon()
{
$objDUserCoupon = new DUserCoupon();
$objDUserCoupon->setTable('qianniao_user_coupon_13');
$userCenterIds = [];
$couponIds = [];
$couponIdsStr = implode(',', $couponIds);
$sql = 'select * from qianniao_coupon_13 where id in (' . $couponIdsStr . ')';
$coupon = $this->objDGoods->query($sql);
if ($coupon === false) {
echo 'sql' . $this->objDGoods->error();
}
$couponMap = [];
foreach ($coupon as $key => $value) {
if ($value['receiveNum'] >= $value['totalNum']) {
unset($coupon[$key]);
continue;
}
$couponMap[$value['id']] = $value;
}
$insert = [];
foreach ($userCenterIds as $item) {
foreach ($couponMap as $key => $value) {
$count = $objDUserCoupon->count(['couponId' => $value['id'], 'userId' => $item['uid']]);
if ($count >= $value['allowNum']) {
continue;
}
//剩余数量不足每人领取数量
if ($value['receiveNum'] + $value['allowNum'] > $value['totalNum']) {
$rec = $value['totalNum'] - $value['receiveNum'];
for ($i = 0; $i < $rec; $i++) {
$insert[] = [
'couponId' => $value['id'],
'name' => $value['name'],
'remark' => $value['remark'],
'couponType' => $value['couponType'],
'reducePrice' => $value['reducePrice'],
'minPrice' => $value['minPrice'],
'startTime' => $value['startTime'],
'endTime' => $value['endTime'],
'applyRange' => $value['applyRange'],
'categoryCollect' => $value['categoryCollect'],
'brandCollect' => $value['brandCollect'],
'isExpire' => StatusCode::$delete,
'isUse' => StatusCode::$standard,
'userId' => $item['uid'],
'useShop' => $value['useShop'],
'customerId' => $item['cId'],
'source' => $value['grantType'],
'createTime' => time(),
'updateTime' => time(),
'customerIds' => $value['customerIds'],
'isMutex' => isset($value['isMutex']) ? $value['isMutex'] : StatusCode::$standard,
];
}
continue;
}
for ($i = 0; $i < $value['allowNum']; $i++) {
$insert[] = [
'couponId' => $value['id'],
'name' => $value['name'],
'remark' => $value['remark'],
'couponType' => $value['couponType'],
'reducePrice' => $value['reducePrice'],
'minPrice' => $value['minPrice'],
'startTime' => $value['startTime'],
'endTime' => $value['endTime'],
'applyRange' => $value['applyRange'],
'categoryCollect' => $value['categoryCollect'],
'brandCollect' => $value['brandCollect'],
'isExpire' => StatusCode::$delete,
'isUse' => StatusCode::$standard,
'userId' => $item['uid'],
'useShop' => $value['useShop'],
'customerId' => $item['cId'],
'source' => $value['grantType'],
'createTime' => time(),
'updateTime' => time(),
'customerIds' => $value['customerIds'],
'isMutex' => isset($value['isMutex']) ? $value['isMutex'] : StatusCode::$standard,
];
}
}
}
print_r($insert);
die;
}
public function testKuaiDi100()
{
$kuaidi100Config = Factory::config()->get('kuaidi100');
if (empty($kuaidi100Config) || !isset($kuaidi100Config['customer']) || !isset($kuaidi100Config['key'])) {
$this->sendOutput('快递100配置错误', ErrorCode::$configEroor);
}
$objQuery = new Query($kuaidi100Config['customer'], $kuaidi100Config['key']);
$kuaidiData = [
'com' => 'zhongtong',
'num' => '73140775283454',
'phone' => 17600105150,
];
$result = $objQuery->pollQuery($kuaidiData);
if (!$result->isSuccess()) {
echo $result->getData() . $result->getErrorCode();
}
V($result->getData());
}
// 快递100查询返回数据内容
public function msg()
{
$str = '{"message":"ok","nu":"3103922659603","ischeck":"1","condition":"D01","com":"yunda","status":"200","state":"3","data":[{"time":"2020-09-01 22:02:08","ftime":"2020-09-01 22:02:08","context":"[陕西西安北郊一公司未央二区寄存点分部]【代收点】您的快件已签收,签收人在【君泰烟酒店(凤城一路锦园君逸西区东门斜对面君泰烟酒店(免费代收))】领取。"},{"time":"2020-09-01 20:36:29","ftime":"2020-09-01 20:36:29","context":"[陕西西安北郊一公司未央二区寄存点分部]【代收点】您的快件已送达 君泰烟酒店 保管,地址:凤城一路锦园君逸西区东门斜对面君泰烟酒店(免费代收),请及时领取,如有疑问请电联快递员:韩生斌【13519168931】。"},{"time":"2020-09-01 18:51:13","ftime":"2020-09-01 18:51:13","context":"[陕西西安北郊一公司未央二区寄存点分部]【西安市】陕西西安北郊一公司未央二区寄存点分部 快递员 韩生斌13519168931 正在为您派件【95114/95121/9501395546为韵达快递员外呼专属号码,请放心接听】"},{"time":"2020-09-01 17:50:26","ftime":"2020-09-01 17:50:26","context":"[陕西西安北郊一公司]【西安市】已离开 陕西西安北郊一公司;发往 陕西西安北郊一公司未央二区寄存点分部"},{"time":"2020-09-01 12:52:14","ftime":"2020-09-01 12:52:14","context":"[陕西西安分拨中心]【西安市】已离开 陕西西安分拨中心;发往 陕西西安北郊一公司"},{"time":"2020-09-01 12:45:28","ftime":"2020-09-01 12:45:28","context":"[陕西西安分拨中心]【西安市】已到达 陕西西安分拨中心"},{"time":"2020-08-31 19:51:10","ftime":"2020-08-31 19:51:10","context":"[山东济南分拨中心]【济南市】已离开 山东济南分拨中心;发往 陕西西安地区包"},{"time":"2020-08-31 19:42:34","ftime":"2020-08-31 19:42:34","context":"[山东济南分拨中心]【济南市】已到达 山东济南分拨中心"},{"time":"2020-08-30 10:37:09","ftime":"2020-08-30 10:37:09","context":"[山东市场部鹏程KH分部]【济南市】山东市场部鹏程KH分部 已揽收"}]}';
V(json_decode($str, true));
}
// public function testKDNiao()
// {
// $kdniaoConfig = Factory::config()->get('kdniao');
// if (empty($kdniaoConfig) || !isset($kdniaoConfig['EBusinessID']) || !isset($kdniaoConfig['key'])) {
// $this->sendOutput('快递100配置错误', ErrorCode::$configEroor);
// }
// $objQuery = new KDNiaoQuery($kdniaoConfig['EBusinessID'], $kdniaoConfig['key']);
//
// $kuaidiData = [
// 'com' => 'HTKY',
// 'num' => '557021498255630',
// ];
// $result = $objQuery->EbusinessOrderHandle($kuaidiData);
// if (!$result->isSuccess()) {
// parent::sendOutput($result->getData(), $result->getErrorCode());
// }
// parent::sendOutput($result->getData());
// }
// 快递鸟查询返回数据内容
public function msg1()
{
$str = '{
"LogisticCode" : "557021498255630",
"ShipperCode" : "HTKY",
"Traces" : [ {
"AcceptStation" : "【太仓】,【扫描壹/13913775727】已揽收",
"AcceptTime" : "2020-08-30 17:56:19"
}, {
"AcceptStation" : "到【上海转运中心】",
"AcceptTime" : "2020-08-30 21:44:19"
}, {
"AcceptStation" : "【上海转运中心】,正发往【西安转运中心】",
"AcceptTime" : "2020-08-30 21:46:44"
}, {
"AcceptStation" : "到【西安转运中心】",
"AcceptTime" : "2020-09-01 01:32:36"
}, {
"AcceptStation" : "【西安转运中心】,正发往【西安北郊一站】",
"AcceptTime" : "2020-09-01 02:16:14"
}, {
"AcceptStation" : "【陈仕友/15229250633】正在派件,【西安北郊一站/网点电话18821713238 029-68569101】",
"AcceptTime" : "2020-09-01 08:42:50"
}, {
"AcceptStation" : "派件送达【兔喜快递超市】君泰烟酒店,请前往凤城一路锦园君逸西区东门斜对面君泰烟酒店(免费代收)领取您的包裹,联系电话:15309281529",
"AcceptTime" : "2020-09-01 10:23:10"
}, {
"AcceptStation" : "客户已取件,提货点:【兔喜快递超市】 君泰烟酒店(15309281529 凤城一路锦园君逸西区东门斜对面君泰烟酒店(免费代收))",
"AcceptTime" : "2020-09-01 22:01:48"
} ],
"State" : "3",
"EBusinessID" : "1670600",
"Success" : true
}';
V(json_decode($str, true));
}
/**
* sql执行
* 该方法只执行需要拼接企业id的表 不要拼接企业id的表请自行手动执行
*/
public function batchSql()
{
$sqlParent = "
ALTER TABLE `www.qianniao.vip`.`qianniao_staff_1` MODIFY COLUMN `userCenterId` int(11) NULL DEFAULT NULL COMMENT '用户中心id' AFTER `id`, MODIFY COLUMN `departmentId` int(11) NULL DEFAULT NULL COMMENT '部门id' AFTER `userCenterId`, MODIFY COLUMN `balance` decimal(10, 2) NULL COMMENT '余额' AFTER `rule`;
";
//执行语句
$sql = substr($sqlParent, stripos($sqlParent, "` ") + 2);
$sqlIndex = $sql;
//执行语句表所属数据库
$dbName = substr($sqlParent, stripos($sqlParent, ' `') + 2, stripos($sqlParent, '`.') - stripos($sqlParent, ' `') - 2);
//企业表所属数据库
$dbIndexName = 'www.qianniao.vip';
//库存数据库名
$stockDbName = 'stock.qianniao.vip';
//表名
$sqlTable = substr($sqlParent, stripos($sqlParent, '.`') + 2, stripos($sqlParent, '` ') - stripos($sqlParent, '.`') - 2);
$tableNameIndex = substr($sqlTable, 0, strripos($sqlTable, '_') + 1);
//是否执行企业1表
$oneEnterpriseTable = true;
//从某个企业执行
$startEnterpriseId = 0;
//按照用户人数分表 例:tableName_1_1
$userByTables = [
'qianniao_order_',
'qianniao_order_coupon_',
'qianniao_order_goods_',
'qianniao_order_receive_',
'qianniao_goods_collect_',
];
//按照仓库id分表
$warehouseTable = [
'qianniao_inventory_batch_'
];
//按照季度分表 例:tableName_1_2020_3
$dateByTable = [
'qianniao_commission_order_',
'qianniao_customerPriceAdjustmentSheet_'
];
//按照季度分表2 例:tableName_1_201
$dateByTableTwo = [
'qianniao_inventory_locking_',
];
//按照仓库id和季度分表 例:tableName_1_1_194
$warehouseAndDateByTable = [
'qianniao_inventory_details_'
];
$runTrue = 0;
$runFalse = 0;
$runTrueTableName = [];
$runFalseTableName = [];
$tableNum = 0;
$existNum = 0;
$existTable = [];
if (empty($sqlIndex)) {
exit('请输入sql语句');
}
if (empty($dbIndexName)) {
exit('请输入数据库名');
}
if (empty($tableNameIndex)) {
exit('请输入表名');
}
//查询所有企业
$whereSql = '';
if ($startEnterpriseId) {
$whereSql = ' where id >= ' . $startEnterpriseId;
}
$sql = 'select id from `' . $dbIndexName . '`.`qianniao_enterprise_1`' . $whereSql;
$dbResult = $this->objDGoods->query($sql);
if ($dbResult === false) {
exit($this->objDGoods->error());
}
$enterpriseResult = $dbResult;
unset($dbResult);
unset($sql);
if (empty($enterpriseResult)) {
self::prompt('企业数据为空', 0, $enterpriseResult, 0, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName);
}
//按人数分表 因为用户数据量小 所以统一后缀加_1
$tableSuffix = [];
foreach ($userByTables as $value) {
if ($tableNameIndex == $value) {
$tableSuffix[] = '_1';
break;
}
}
$start = 2020;
$end = (int)date('Y', time());
//按日期季度分表
foreach ($dateByTable as $value) {
if ($tableNameIndex == $value) {
for ($ii = $start; $ii <= $end; $ii++) {
for ($i = 1; $i <= 4; $i++) {
$tableSuffix[] = '_' . $ii . '_' . $i;
}
}
break;
}
}
//按照季度分表2
foreach ($dateByTableTwo as $value) {
if ($tableNameIndex == $value) {
for ($ii = $start; $ii <= $end; $ii++) {
for ($i = 1; $i <= 4; $i++) {
$tableSuffix[] = '_' . substr($ii, -2) . $i;
}
}
break;
}
}
//按日期季度分表 拼接仓库id
$isWarehouseId = false;
foreach ($warehouseAndDateByTable as $value) {
if ($tableNameIndex == $value) {
$isWarehouseId = true;
for ($ii = $start; $ii <= $end; $ii++) {
for ($i = 1; $i <= 4; $i++) {
$tableSuffix[] = '_' . substr($ii, -2) . $i;
}
}
break;
}
}
//按照仓库id分表
foreach ($warehouseTable as $value) {
if ($tableNameIndex == $value) {
$isWarehouseId = true;
break;
}
}
if ($isWarehouseId && empty($stockDbName)) {
exit($tableNameIndex . '按照仓库分表, 请输入仓库表对应数据库名称');
}
$enterpriseFormat = array_column($enterpriseResult, null, 'id');
if (!isset($enterpriseFormat[1])) {
$enterprise1 = [
'id' => 1,
];
array_unshift($enterpriseResult, $enterprise1);
}
$enterpriseData = [];
$emptyTable = [];
foreach ($enterpriseResult as $value) {
$tableList = [];
//拿出企业id
$enterpriseId = $value['id'];
//判断是否执行1企业
if ($enterpriseId == 1) {
if ($oneEnterpriseTable == false) {
continue;
} else {
if (!empty($tableSuffix)) {
$tableList[] = $tableNameIndex . $enterpriseId;
}
}
}
if ($isWarehouseId) {
//查询仓库的商铺
$sql = 'select id from `' . $stockDbName . '`.`qianniao_warehouse_' . $enterpriseId . '`';
$dbResult = $this->objDGoods->query($sql);
if ($dbResult === false) {
self::prompt($this->objDGoods->error(), $enterpriseId, $enterpriseResult, $tableNum, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName);
}
$warehouseResult = $dbResult;
unset($dbResult);
//循环仓库数据
foreach ($warehouseResult as $warehouse) {
$warehouseId = $warehouse['id'];
//判断是否有日期后缀
if (!empty($tableSuffix)) {
foreach ($tableSuffix as $suffix) {
//拼接表名
$tableList[] = $tableNameIndex . $enterpriseId . '_' . $warehouseId . $suffix;
}
} else {
$tableList[] = $tableNameIndex . $enterpriseId . '_' . $warehouseId;
}
}
} else {
//判断是否有日期后缀
if (!empty($tableSuffix)) {
foreach ($tableSuffix as $suffix) {
//拼接表名
$tableList[] = $tableNameIndex . $enterpriseId . $suffix;
}
} else {
$tableList[] = $tableNameIndex . $enterpriseId;
}
}
foreach ($tableList as $tableName) {
$tableNum++;
//查询表是否存在
$sql = 'select count(TABLE_NAME) as isTable from information_schema.TABLES where TABLE_SCHEMA = "' . $dbName . '" and TABLE_NAME = "' . $tableName . '"';
$dbResult = $this->objDGoods->query($sql);
if ($dbResult === false) {
self::prompt($this->objDGoods->error(), $enterpriseId, $enterpriseResult, $tableNum, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName);
}
$isTable = 0;
if (!empty($dbResult)) {
if (isset($dbResult[0]['isTable']) && $dbResult[0]['isTable'] == 1) {
$isTable = 1;
}
}
unset($dbResult);
//判断表是否存在
if ($isTable) {
$existNum++;
$existTable[] = $tableName;
$enterpriseData[$enterpriseId][] = ['enterpriseId' => $enterpriseId, 'tableName' => $tableName];
} else {
$emptyTable[] = $tableName;
}
}
}
// V($existTable);
// self::prompt('', 0, $enterpriseResult, $tableNum, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName);
//执行语句
foreach ($enterpriseData as $enterpriseId => $value) {
foreach ($value as $enterprise) {
$enterpriseId = $enterprise['enterpriseId'];
$tableName = $enterprise['tableName'];
//拼接修改sql语句
$sql = "ALTER TABLE `" . $dbName . "`.`" . $tableName . "` " . $sqlIndex;
$dbResult = $this->objDGoods->query($sql);
if ($dbResult === false) {
$runFalse++;
$runFalseTableName[] = $tableName;
self::prompt($this->objDGoods->error(), $enterpriseId, $enterpriseResult, $tableNum, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName);
}
$runTrue++;
$runTrueTableName[] = $tableName;
unset($dbResult);
}
}
self::prompt('', 0, $enterpriseResult, $tableNum, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName);
}
public function prompt($info = '', $enterpriseId = 0, $enterpriseResult, $tableNum, $existNum, $runTrue, $runFalse, $runTrueTableName, $runFalseTableName)
{
$title = '';
if (!empty($info)) {
$title = '执行到企业' . $enterpriseId . '时有报错:
' . $info . '
';
}
$title .= '一共' . count($enterpriseResult) . '个企业, 需要修改' . $tableNum . '个表, 存在的表有' . $existNum . '个, 修改成功的表' . $runTrue . '个, 修改失败的表' . $runFalse . '个, 成功的有:' . implode(',', $runTrueTableName) . '; 失败的有:' . implode(',', $runFalseTableName);
exit($title);
}
/**
* 批量删除某个企业的表
*/
public function dropEnterpriseTable()
{
$date = [];
for ($i = 2; $i <= 100; $i++) {
$date[] = $i;
}
$sql = 'select id from `www.qianniao.vip`.`qianniao_enterprise_1`';
$dbResult = $this->objDGoods->query($sql);
$aa = [];
foreach ($dbResult as $value) {
$aa[] = $value['id'];
}
$dbResult = array_diff($date, $aa);
// V($dbResult);
// $sql = 'select id from `www.qianniao.vip`.`qianniao_enterprise_1` where expireTime <= '.time();
// $dbResult = $this->objDGoods->query($sql);
if (empty($dbResult)) {
exit('没有过期企业');
}
$i = 0;
foreach ($dbResult as $value) {
$enterpriseId = $value;
// $enterpriseId = $value['id'];
$sql = 'DROP TABLE `www.qianniao.vip`.`qianniao_activity_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_activity_goods_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_cart_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_businessman_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_coupon_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_customer_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_customer_contact_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_customer_shipping_address_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_department_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_department_role_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_basic_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_brand_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_category_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_goods_collect_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_material_content_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_message_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_coupon_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_goods_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_index_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_receive_' . $enterpriseId . '_1`, `www.qianniao.vip`.`qianniao_order_return_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_return_details_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_order_statistics_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_page_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_role_acl_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_sku_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_spec_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_staff_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_units_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_user_coupon_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_vip_card_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_vip_card_order_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_allocate_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_allocate_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_batch_' . $enterpriseId . '_1`, `stock.qianniao.vip`.`qianniao_inventory_details_' . $enterpriseId . '_1_203`, `stock.qianniao.vip`.`qianniao_inventory_in_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_in_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_locking_' . $enterpriseId . '_203`, `stock.qianniao.vip`.`qianniao_inventory_out_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_inventory_out_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_goods_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_out_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_purchase_out_goods_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_stocktaking_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_stocktaking_details_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_supplier_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_warehouse_' . $enterpriseId . '`, `stock.qianniao.vip`.`qianniao_warehouse_beginning_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_customerPriceAdjustmentSheet_' . $enterpriseId . '_2020_3`, `price.qianniao.vip`.`qianniao_customerPriceEffective_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_customerTypePriceAdjustmentSheet_' . $enterpriseId . '_2020_3`, `price.qianniao.vip`.`qianniao_customerTypePriceEffective_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_lastEffectiveSalePriceAreaType_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_nationalUnifiedPrice_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_priceAdjustmentSheet_' . $enterpriseId . '_2020_3`, `price.qianniao.vip`.`qianniao_priceRangeSheet_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_account_transfer_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_customer_balance_' . $enterpriseId . '_1`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_customer_balance_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_paid_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_paid_account_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_paid_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_pay_receipt_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_pay_receipt_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_receive_receipt_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_receive_receipt_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_received_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_received_account_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_received_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_supplier_balance_' . $enterpriseId . '_1`, `finance.qianniao.vip`.`qianniao_supplier_balance_detail_' . $enterpriseId . '_2020_3`, `finance.qianniao.vip`.`qianniao_supplier_balance_detail_index_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_supplier_balance_index_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_flow_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_goods_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_goods_statistics_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_order_' . $enterpriseId . '_2020_3`, `www.qianniao.vip`.`qianniao_commission_order_index_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_commission_withdrawals_' . $enterpriseId . '`, `price.qianniao.vip`.`qianniao_priceAdjustmentSheet_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_pay_receipt_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_receive_receipt_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_received_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_received_account_' . $enterpriseId . '_2020_2`, `finance.qianniao.vip`.`qianniao_supplier_balance_detail_' . $enterpriseId . '_2020_2`, `www.qianniao.vip`.`qianniao_common_app_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_delivery_rule_' . $enterpriseId . '`, `www.qianniao.vip`.`qianniao_delivery_self_rule_' . $enterpriseId . '`, `finance.qianniao.vip`.`qianniao_customer_balance_detail_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_account_detail_' . $enterpriseId . '_1`, `finance.qianniao.vip`.`qianniao_paid_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_paid_account_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_pay_receipt_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_receive_receipt_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_received_' . $enterpriseId . '_2020_1`, `finance.qianniao.vip`.`qianniao_received_account_' . $enterpriseId . '_2020_1`, `www.qianniao.vip`.`qianniao_enterprise_template_module_' . $enterpriseId . '`';
// $enterpriseSql = 'DELETE FROM `www.qianniao.vip`.`qianniao_enterprise_1` WHERE `id` = '.$enterpriseId;
// $this->objDGoods->query($enterpriseSql);
$enterpriseBandUserCenterSql = 'DELETE FROM `www.qianniao.vip`.`qianniao_user_bind_enterprise` WHERE `enterpriseId` = ' . $enterpriseId;
$this->objDGoods->query($enterpriseBandUserCenterSql);
$this->objDGoods->query($sql);
$i++;
}
exit('执行成功, 共删除' . $i . '个企业');
}
// 客如云
public function keruyun()
{
$keruyunConfig = Factory::config()->get('keruyun');
if (empty($keruyunConfig)) {
$this->sendOutput('客如云配置错误', ErrorCode::$configEroor);
}
$objOpen = new Open($keruyunConfig['shopIdenty'], $keruyunConfig['appKey'], $keruyunConfig['secretKey']);
$result = $objOpen->getToken();
if (!$result->isSuccess()) {
echo($result->getData() . $result->getErrorCode());
}
$token = $result->getData();
/*
unset($result);
$result = $objOpen->dishMenu($token['token'],1,1);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$goodsData = $result->getData();*/
/*
unset($result);
$result = $objOpen->dishMenuByIds($token['token'], ['245842575890634752']);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$goodsData = $result->getData();V($goodsData);*/
/*
$customerData = [
'birthday' => time(), // 生日时间戳
'loginId' => '17600105150', // 手机号或者微信id
'loginType' => 0,
'name' => '刘鑫',
'sex' => -1,
];
unset($result);
$result = $objOpen->createCustomer($token['token'], $customerData);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo);*/
/*
$customerData = [
'birthday' => time(), // 生日时间戳
'loginId' => '17600105150', // 手机号或者微信id
'loginType' => 0,
'name' => '刘鑫',
'sex' => -1,
];
unset($result);
$result = $objOpen->createOrUpgradeMember($token['token'], $customerData);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo); */
unset($result);
$result = $objOpen->login($token['token'], '18992853313');
if (!$result->isSuccess()) {
echo($result->getData() . $result->getErrorCode());
}
$customerInfo = $result->getData();
V($customerInfo);
/*
unset($result);
$result = $objOpen->getCustomerDetailById($token['token'], 402153925286827008);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo);*/
/*
unset($result);
$result = $objOpen->recharge($token['token'], ['customerId'=>'402153925286827008','amount'=>10000,'tpOrderId'=>'3120200910727']);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo);*/
/*
unset($result);
$result = $objOpen->orderExportDetail($token['token'], ['401332262188390400']);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo);*/
/*
unset($result);
$result = $objOpen->dinnerOrderDetail($token['token'], 'b28e5f7529ac4c64b04a39104429ef26');
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo);*/
/*
unset($result);
$result = $objOpen->cancel($token['token'], 'f52b36b49c304823b6fcb3b8f3a934df');
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo);*/
/*
$orderData = [
'tpOrderId' => '31202009107241774406',
'createTime' => time(),
'updateTime' => time(),
'payment' => [
'memberId' => 402153925286827008,
'memberPassword' => md5('105150'),
'payType' => 1, //支付方式 1:会员卡余额 2:优惠券 3:订单来源支付
'platformDiscountFee' => 0,
'serviceFee' => 0,
'shopDiscountFee' => 0,
'shopFee' => 1,
'totalDiscountFee' => 0,
'totalFee' => 1,
'userFee' => 1
],
'peopleCount' => 1, // 就餐人数
'print' => 1, // 打印
'remark' => '小程序订单', // 备注
'status' => 2, // 已经确认
'shopIdenty' => $keruyunConfig['shopIdenty'],
'shopName' => '千鸟云商',
'products' => [[
'tpId' => 40740829341443072,
'name' => '水煮牛肉',
'price' => 1,
'type' => 0,
'unit' => '件',
'quantity' => 1,
'totalFee' => 1
]],
'customers' => [
'phoneNumber' => '17600105150',
'name' => '刘鑫',
'gender' => 1,
],
'totalPrice' => 1,
];
unset($result);
$result = $objOpen->createSnackOrder($token['token'], $orderData);
if(!$result->isSuccess()){
echo($result->getData().$result->getErrorCode());
}
$customerInfo = $result->getData(); V($customerInfo); */
$orderData = [
'tpOrderId' => '31202009107241774406',
'tpShopId' => 100,
'createTime' => time(),
'shopName' => '千鸟云商',
'products' => [[
'name' => '水煮牛肉',
'type' => 0,
'tpId' => 40740829341443072,
'quantity' => 1, // 商品数量
'price' => 1, // 商品单价
'unit' => '件',
'packagePrice' => 0, // 餐盒单价
'packageQuantity' => 0, // 餐盒数量
'totalFee' => 1 // 商品总金额
]],
'delivery' => [
'expectTime' => 0, // 期望送达时间
'deliveryParty' => 1, // 配送方式
'receiverName' => '刘鑫', // 收货人姓名
'receiverPhone' => 17600105150, // 收货人电话
],
'payment' => [
'totalFee' => 1, // 订单总价=商品总金额+餐盒费+配送费
'deliveryFee' => 0, // 配送费
'packageFee' => 0, // 餐盒费=餐盒数量 * 餐盒单价
'discountFee' => 0, // 优惠总金额=平台优惠总金额+商户优惠总金额
'platformDiscountFee' => 0, // 平台优惠总金额
'shopDiscountFee' => 0, // 商家优惠
'shopFee' => 1, // 商户实收总价
'userFee' => 1, // 用户实付=订单总价-优惠总金额
'serviceFee' => 0, // 服务费(商户向平台支付的佣金等)
'subsidies' => 0, // 平台补贴
'payType' => 3, // 支付方式 1:线下支付/货到付款 2:在线支付 4:优惠券 3:会员卡余额
'memberId' => 402153925286827008,
'memberPassword' => md5('105150'),
],
'customers' => [
'phoneNumber' => '17600105150', // 会员电话
'name' => '刘鑫', // 会员名字
'gender' => 1, // 会员性别
]
];
unset($result);
$result = $objOpen->createTakeoutOrder($token['token'], $orderData);
if (!$result->isSuccess()) {
echo($result->getData() . $result->getErrorCode());
}
$customerInfo = $result->getData();
V($customerInfo);
}
/**
* 客如云菜品变更通知
*/
public function dishChaangeNotify()
{
$postStr = file_get_contents('php://input');
file_put_contents('/www/wwwroot/logs/api.junhailan.com/keruyun.log', date('Y-m-d H:i:s') . '回调数据' . var_export($postStr, true) . PHP_EOL, FILE_APPEND);
}
/**
* 测试发布订阅消息
*/
public function subscribeMessageSend()
{
$miniprogramConfigData = Factory::config()->getAppoint('weixin', 'miniprogram');
if (empty($miniprogramConfigData)) {
echo('小程序配置项错误');
exit();
}
// 获取access_token
$objOffiaccount = new Offiaccount($miniprogramConfigData['appid'], $miniprogramConfigData['appSecret']);
$result = $objOffiaccount->token();
if (!$result->isSuccess()) {
echo $result->getData(), $result->getErrorCode();
}
$access_token = $result->getData();
unset($result);
// 发送订阅消息
$data = [
'name1' => [
'value' => '千鸟云商店铺',
],
'date2' => [
'value' => '2020年10月27日',
],
'amount3' => [
'value' => '¥100元',
],
'character_string4' => [
'value' => '31202010273559779663',
],
];
$objMiniprogram = new Miniprogram($miniprogramConfigData['appid'], $miniprogramConfigData['appSecret']);
$result = $objMiniprogram->subscribeMessageSend($access_token, '7h2cBfuDxPPxovL3xGj9SLojcrVJGNHEzd8OcCUukq4', 'oISU64zx81Uq4oc_kzz1wg4PSNs8', '/pages/index/index', $data);
V($result);
}
/**
* 添加模板
*/
public function addtemplate()
{
$miniprogramConfigData = Factory::config()->getAppoint('weixin', 'miniprogram');
if (empty($miniprogramConfigData)) {
echo('小程序配置项错误');
exit();
}
// 获取access_token
$objOffiaccount = new Offiaccount($miniprogramConfigData['appid'], $miniprogramConfigData['appSecret']);
$result = $objOffiaccount->token();
if (!$result->isSuccess()) {
echo $result->getData(), $result->getErrorCode();
}
$access_token = $result->getData();
unset($result);
$objMiniprogram = new Miniprogram($miniprogramConfigData['appid'], $miniprogramConfigData['appSecret']);
$result = $objMiniprogram->addtemplate($access_token, '3637', [2, 3, 8, 10], '发货通知');
V($result);
}
public function webstockConnect()
{
$swooleServerConfigData = Factory::config()->getAppoint('swooleServer', 'order');
if (empty($swooleServerConfigData)) {
echo('swoole服务端链接信息配置项错误');
exit();
}
$swooleClient = Factory::swoole($swooleServerConfigData, 'WebsocketClient');
// 触发商家新订单通知
$data = [
'controller' => 'NewOrder',
'action' => 'createConnect',
'params' => [
'platfrom' => 'qianniaoSAAS',
'shop_id' => 1,
'userId' => 200,
]
];
$swooleClient->sendJson($data);
V($swooleClient->recv());
}
public function test1()
{
$obj = new MBaseModel(1, 1);
V($obj->sendMessage(1, 'NewOrder', 'order'));
}
/**
* 测试下webstock
* @throws \Exception
*/
public function webstock()
{
$swooleServerConfigData = Factory::config()->getAppoint('swooleServer', 'order');
if (empty($swooleServerConfigData)) {
echo('swoole服务端链接信息配置项错误');
exit();
}
$swooleClient = Factory::swoole($swooleServerConfigData, 'WebsocketClient');
// 触发商家新订单通知
$data = [
'controller' => 'NewOrder',
'action' => 'autoSend',
'params' => [
'platfrom' => 'qianniaoSAAS',
'shop_id' => 9,
]
];
$swooleClient->sendJson($data);
V($swooleClient->recv());
}
/**
* 达达配送接口
*/
public function dada()
{
$dataConfigData = Factory::config()->get('dada');
if (empty($dataConfigData)) {
echo('达达配送配置项错误');
exit();
}
$objMerchant = new Merchant($dataConfigData['app_key'], $dataConfigData['app_secret'], 73753);
$reuslt = $objMerchant->cityCodeList();
V($reuslt->getData());
}
/**
* 测试退款
*/
public function refund()
{
$miniprogramConfigData = Factory::config()->get('weixin');
if (empty($miniprogramConfigData)) {
echo('小程序配置项错误');
exit();
}
$objPay =new Pay($miniprogramConfigData['miniprogram']['appid'], $miniprogramConfigData['pay']['mch_id'],$miniprogramConfigData['pay']['apiPartnerKey'] );
V($objPay->transfers('4200000989202104119581846831', '20210411-0009','0.01','0.01'));
}
/**
* 临时财务脚本解决应收单索引表id重复问题
*/
public function tmp()
{
$objMReceive = new MReceive(64, 1);
$result = $objMReceive->tmp();
if ($result->isSuccess()) {
V($result->getData());
} else {
V($result->getData(), $result->getErrorCode());
}
}
/**
* 临时财务脚本解决应付表索引表id重复问题
*/
public function tmp1()
{
$objMPay = new MPay(64, 1);
$result = $objMPay->tmp1();
if ($result->isSuccess()) {
V($result->getData());
} else {
V($result->getData(), $result->getErrorCode());
}
}
}