commit
42afe19d91
@ -29,7 +29,7 @@ class WarehouseProductLists extends BaseAdminDataLists implements ListsSearchInt
|
||||
public function setSearch(): array
|
||||
{
|
||||
return [
|
||||
'=' => ['warehouse_id', 'product_id', 'financial_pm'],
|
||||
'=' => ['warehouse_id', 'financial_pm','store_id'],
|
||||
];
|
||||
}
|
||||
|
||||
@ -52,12 +52,15 @@ class WarehouseProductLists extends BaseAdminDataLists implements ListsSearchInt
|
||||
->select()->each(function ($item){
|
||||
if($item->financial_pm==0){
|
||||
$item->financial_pm_name='出库';
|
||||
if($item->store_id>0){
|
||||
$item->financial_pm_name='出库=>'.SystemStore::where('id',$item->store_id)->value('name');
|
||||
}
|
||||
}else{
|
||||
$item->financial_pm_name='入库';
|
||||
}
|
||||
if($item->store_id>0){
|
||||
$item->system_store_name=SystemStore::where('id',$item->store_id)->value('name');
|
||||
}else{
|
||||
$item->system_store_name='';
|
||||
|
||||
}
|
||||
if($item->status==0){
|
||||
$item->status_name='未确认';
|
||||
}elseif($item->status==1){
|
||||
|
@ -118,7 +118,7 @@ class WarehouseProductLogic extends BaseLogic
|
||||
|
||||
$find = WarehouseProduct::where('id', $id)->find();
|
||||
$find->status = 1;
|
||||
$find->batch = WarehouseProduct::where(['product_id' => $find['product_id'], 'warehouse_id' => $find['warehouse_id'], 'financial_pm' => $financial_pm])->count();
|
||||
$find->batch = WarehouseProduct::where(['product_id' => $find['product_id'], 'warehouse_id' => $find['warehouse_id'], 'financial_pm' => $financial_pm,'store_id'=>$find['store_id']])->count();
|
||||
$find->save();
|
||||
|
||||
$storege = WarehouseProductStorege::where('warehouse_id', $find['warehouse_id'])->where('product_id', $find['product_id'])->find();
|
||||
|
@ -33,7 +33,7 @@ class ProductController extends BaseApiController{
|
||||
$this->request->__set('store_id',$store_id);
|
||||
return $this->dataLists(new StoreProductLists());
|
||||
}else{
|
||||
return $this->dataLists();
|
||||
return $this->data(['lists'=>[]]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,7 @@ use app\api\service\UserTokenService;
|
||||
use app\api\validate\UserValidate;
|
||||
use app\common\enum\PayEnum;
|
||||
use app\common\logic\PaymentLogic;
|
||||
use app\common\model\store_extract\StoreExtract;
|
||||
use app\common\model\user\User;
|
||||
use app\common\model\user\UserAddress;
|
||||
use app\common\model\user_ship\UserShip;
|
||||
@ -67,7 +68,6 @@ class UserController extends BaseApiController
|
||||
public function info()
|
||||
{
|
||||
return $this->success('success', UserLogic::info($this->userId));
|
||||
|
||||
}
|
||||
|
||||
// #[
|
||||
@ -168,7 +168,6 @@ class UserController extends BaseApiController
|
||||
return $this->success('发送成功');
|
||||
}
|
||||
return $this->fail('发送失败');
|
||||
|
||||
}
|
||||
|
||||
//报备
|
||||
@ -180,7 +179,6 @@ class UserController extends BaseApiController
|
||||
return $this->success('发送成功', [], 1, 1);
|
||||
}
|
||||
return $this->fail('发送失败');
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -245,7 +243,6 @@ class UserController extends BaseApiController
|
||||
'get_number' => $GetNumber
|
||||
];
|
||||
return $this->success('ok', $res);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -260,13 +257,13 @@ class UserController extends BaseApiController
|
||||
} else {
|
||||
return $this->dataLists(new UserSignLogLists());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
public function other_user_info(){
|
||||
public function other_user_info()
|
||||
{
|
||||
$mobile = $this->request->get('mobile');
|
||||
if ($mobile) {
|
||||
$user = User::where('mobile', $mobile)->field('id,avatar,real_name,nickname,mobile,user_ship,purchase_funds,label_id')->find();
|
||||
@ -290,4 +287,64 @@ class UserController extends BaseApiController
|
||||
return $this->success('ok', []);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提现信息
|
||||
*/
|
||||
public function cash_info()
|
||||
{
|
||||
$info = User::where('id', $this->userId)->field('id,now_money')->find();
|
||||
$info['notes'] = '提现金额需大于1元,提现到微信零钱,并财务审核,审核通过后,提现金额将自动到账';
|
||||
return $this->data($info);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交提现申请
|
||||
*/
|
||||
public function cash_application()
|
||||
{
|
||||
$money = $this->request->post('money');
|
||||
$find = User::where('id', $this->userId)->find();
|
||||
if ($find &&$money > $find['now_money']) {
|
||||
return $this->fail('提现金额不能大于余额');
|
||||
}
|
||||
if ($money < 1) {
|
||||
return $this->fail('提现金额不能小于1元');
|
||||
}
|
||||
$data['uid'] = $this->userId;
|
||||
$data['create_time'] = time();
|
||||
$data['status'] = 0;
|
||||
$data['extract_price'] =$money;
|
||||
$data['balance'] =bcsub($find['now_money'],$money,2);
|
||||
$data['before_balance'] =$find['now_money'];
|
||||
$data['extract_type'] = 'wx';
|
||||
$res = StoreExtract::create($data);
|
||||
if ($res) {
|
||||
User::where('id', $this->userId)->dec('now_money', $money)->update();
|
||||
return $this->success('申请成功,等待审核');
|
||||
} else {
|
||||
return $this->success('申请失败');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 提现申请记录
|
||||
*/
|
||||
public function cash_record()
|
||||
{
|
||||
$list = StoreExtract::where('uid', $this->userId)->order('id desc')
|
||||
->field('id,extract_price price,status,pay_status,create_time')
|
||||
->select()->each(function ($item) {
|
||||
if($item->status==-1){
|
||||
$item->status_name='未通过';
|
||||
}elseif($item->status==0){
|
||||
$item->status_name='审核中';
|
||||
}elseif($item->status==1){
|
||||
$item->status_name='已通过';
|
||||
}
|
||||
$item->title='申请提现'.$item->price.'元';
|
||||
$item->pay_status_name=$item->status==1?'已打款':'未打款';
|
||||
|
||||
})->toArray();
|
||||
return $this->data($list);
|
||||
}
|
||||
}
|
||||
|
@ -129,6 +129,8 @@ class UserLogic extends BaseLogic
|
||||
$share_name=SystemStore::where('id',4)->value('abbreviation');
|
||||
}
|
||||
$data['share_name']= $share_name.'No.'.preg_replace('/4/','*', $data['id']);
|
||||
|
||||
$data['system_store_id']=SystemStoreStaff::where('uid',$uid)->value('store_id');
|
||||
}else{
|
||||
$data = [];
|
||||
}
|
||||
|
@ -62,6 +62,9 @@
|
||||
"ext-event": "For better performance. "
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"": "extend/"
|
||||
},
|
||||
"psr-4": {
|
||||
"": "./",
|
||||
"app\\": "./app",
|
||||
|
178
extend/liankenet/CloudPrinter.php
Normal file
178
extend/liankenet/CloudPrinter.php
Normal file
@ -0,0 +1,178 @@
|
||||
<?php
|
||||
namespace liankenet;
|
||||
|
||||
class ApiException extends \Exception
|
||||
{
|
||||
}
|
||||
|
||||
class HttpException extends \Exception
|
||||
{
|
||||
}
|
||||
|
||||
class CloudPrinter
|
||||
{
|
||||
// 声明属性
|
||||
public $api_key = getenv('CLOUD_PRINTER_API_KEY');
|
||||
public $server = "https://cloud.wisiyilink.com/";
|
||||
public $timeout = 10;
|
||||
public $debug = false;
|
||||
public $device_id = getenv('CLOUD_PRINTER_DEVICE_ID');
|
||||
public $device_key = getenv('CLOUD_PRINTER_DEVICE_KEY');
|
||||
|
||||
public function CloudPrinter($api_key, $device_id, $device_key, $debug = false, $timeout = 10)
|
||||
{
|
||||
$this->api_key = $api_key;
|
||||
$this->timeout = $timeout;
|
||||
$this->device_id = $device_id;
|
||||
$this->device_key = $device_key;
|
||||
$this->debug = $debug;
|
||||
}
|
||||
|
||||
private function requests($method, $endpoint, $fields = array(), $content_type = 'application/json')
|
||||
{
|
||||
if ($method == 'POST' && $content_type == 'application/json') {
|
||||
$fields = json_encode($fields);
|
||||
}
|
||||
$curl = curl_init();
|
||||
|
||||
$headers = array(
|
||||
"ApiKey: " . $this->api_key
|
||||
);
|
||||
if ($method == "POST") {
|
||||
array_push($headers, 'Content-Type: ' . $content_type);
|
||||
}
|
||||
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => $this->server . $endpoint,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_MAXREDIRS => 1,
|
||||
CURLOPT_TIMEOUT => $this->timeout,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLINFO_HEADER_OUT => $this->debug,
|
||||
CURLOPT_VERBOSE => $this->debug,
|
||||
CURLOPT_CUSTOMREQUEST => $method,
|
||||
CURLOPT_POSTFIELDS => $fields,
|
||||
CURLOPT_HTTPHEADER => $headers,
|
||||
));
|
||||
|
||||
$response = curl_exec($curl);
|
||||
|
||||
$info = curl_getinfo($curl);
|
||||
if ($this->debug) {
|
||||
print_r($info);
|
||||
}
|
||||
|
||||
if (false === $response) {
|
||||
die(curl_error($curl));
|
||||
throw new Exception(curl_error($curl), curl_errno($curl));
|
||||
} else if ($info['http_code'] != 200) {
|
||||
throw new HttpException(curl_error($curl), $info['http_code']);
|
||||
}
|
||||
$data = json_decode($response);
|
||||
if ($data->code != 200) {
|
||||
throw new ApiException($data->msg, $data->code);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function getDeviceInfo()
|
||||
/*
|
||||
* 设备信息
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
);
|
||||
$response = $this->requests("GET", 'api/device/device_info?' . http_build_query($data));
|
||||
return $response->data;
|
||||
}
|
||||
|
||||
public function asyncRefreshDeviceInfo()
|
||||
/*
|
||||
* 异步刷新设备信息,包括打印机信息
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
);
|
||||
$response = $this->requests("GET", 'api/device/async_refresh_device_info?' . http_build_query($data));
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getPrinterList()
|
||||
/*
|
||||
* 打印机列表
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
);
|
||||
$response = $this->requests("GET", 'api/external_api/printer_list?' . http_build_query($data));
|
||||
return $response->data->row;
|
||||
}
|
||||
|
||||
public function getPrinterParams($printer_model)
|
||||
/**
|
||||
* 打印参数
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
"printerModel" => $printer_model,
|
||||
);
|
||||
$response = $this->requests("GET", 'api/print/printer_params?' . http_build_query($data));
|
||||
return $response->data;
|
||||
}
|
||||
|
||||
public function addJob($device_port, $printer_model, $paper_size, $file, $optional_array = array())
|
||||
/*
|
||||
* 发起打印任务
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
"devicePort" => $device_port,
|
||||
"printerModel" => $printer_model,
|
||||
"dmPaperSize" => $paper_size,
|
||||
"jobFile" => $file
|
||||
);
|
||||
$data = array_merge($data, $optional_array);
|
||||
$response = $this->requests("POST", 'api/print/job', $data, "multipart/form-data");
|
||||
return $response->data;
|
||||
}
|
||||
|
||||
public function getJobStatus($device_port, $task_id)
|
||||
/*
|
||||
* 获取任务状态
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
"devicePort" => $device_port,
|
||||
"task_id" => $task_id,
|
||||
);
|
||||
$response = $this->requests("GET", 'api/print/job?' . http_build_query($data));
|
||||
return $response->data;
|
||||
}
|
||||
|
||||
public function cancelJob($device_port, $task_id)
|
||||
/*
|
||||
* 取消任务
|
||||
*/
|
||||
{
|
||||
$data = array(
|
||||
"deviceId" => $this->device_id,
|
||||
"deviceKey" => $this->device_key,
|
||||
"devicePort" => $device_port,
|
||||
"task_id" => $task_id,
|
||||
);
|
||||
$response = $this->requests("DELETE", 'api/print/job?' . http_build_query($data));
|
||||
return $response;
|
||||
}
|
||||
}
|
1
vendor/composer/autoload_namespaces.php
vendored
1
vendor/composer/autoload_namespaces.php
vendored
@ -8,4 +8,5 @@ $baseDir = dirname($vendorDir);
|
||||
return array(
|
||||
'Pimple' => array($vendorDir . '/pimple/pimple/src'),
|
||||
'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'),
|
||||
'' => array($baseDir . '/extend'),
|
||||
);
|
||||
|
5
vendor/composer/autoload_static.php
vendored
5
vendor/composer/autoload_static.php
vendored
@ -683,6 +683,10 @@ class ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc
|
||||
),
|
||||
);
|
||||
|
||||
public static $fallbackDirsPsr0 = array (
|
||||
0 => __DIR__ . '/../..' . '/extend',
|
||||
);
|
||||
|
||||
public static $classMap = array (
|
||||
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'CURLStringFile' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
|
||||
@ -714,6 +718,7 @@ class ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc::$prefixDirsPsr4;
|
||||
$loader->fallbackDirsPsr4 = ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc::$fallbackDirsPsr4;
|
||||
$loader->prefixesPsr0 = ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc::$prefixesPsr0;
|
||||
$loader->fallbackDirsPsr0 = ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc::$fallbackDirsPsr0;
|
||||
$loader->classMap = ComposerStaticInitcefecbcff919f3c1c8084830bbb72adc::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
|
Loading…
x
Reference in New Issue
Block a user