dlh_test_server/app/api/logic/VerifyLogic.php

197 lines
6.0 KiB
PHP
Raw Normal View History

2024-10-03 11:56:44 +08:00
<?php
namespace app\api\logic;
use app\common\basics\Logic;
use app\common\model\localstore\LocalGoodsOrder;
2024-10-03 17:19:54 +08:00
use app\common\model\localstore\LocalStoreVerify;
2024-10-03 11:56:44 +08:00
use app\common\server\JsonServer;
use app\common\server\WeChatServer;
use EasyWeChat\Factory;
2024-10-03 17:19:54 +08:00
use Endroid\QrCode\QrCode;
2024-10-03 11:56:44 +08:00
use think\Exception;
use think\facade\Db;
use think\facade\Request;
class VerifyLogic extends Logic
{
/**
* @param $get
* @return void
* 获取核销推广码
*/
public static function getVerifyCode($get)
{
$lsg_order_id = $get['lsg_order_id'];
2024-10-03 17:41:24 +08:00
$url = $get['url'];
$type = $get['type'];
2024-10-03 11:56:44 +08:00
try {
$order = LocalGoodsOrder::where([
'lsg_order_id' => $lsg_order_id,
'state' => 1
2024-10-03 11:56:44 +08:00
])->find();
if (!$order) {
2024-10-03 11:56:44 +08:00
throw new Exception('获取失败,订单错误');
}
if ($order['verify_code_image'] != null) {
$data['url'] = $order['verify_code_image'];
2024-10-03 14:04:16 +08:00
return $data;
}
2024-10-03 17:41:24 +08:00
$scene = array(
'lsg_order_id' => $order['lsg_order_id'],
'url' => $url,
'type' => $type,
2024-10-03 17:41:24 +08:00
);
$scene = json_encode($scene);
$save_dir = ROOT_PATH . '/uploads/verifycode/';
2024-10-03 17:19:54 +08:00
!file_exists($save_dir) && mkdir($save_dir, 0777, true);
2024-10-03 17:19:54 +08:00
$a = time() . $order['lsg_order_id'];
2024-10-03 11:56:44 +08:00
$qr_src = $a . '.jpg';
$path = $save_dir . $qr_src;
2024-10-03 17:19:54 +08:00
$qrCode = new QrCode();
$qrCode->setText($scene);
$qrCode->setSize(1000);
$qrCode->setWriterByName('png');
$qrCode->writeFile($path);
$us = Request::instance()->domain();
$d['set_image'] = $data['url'] = $us . '/uploads/verifycode/' . $qr_src;
$set = LocalGoodsOrder::where('lsg_order_id', $lsg_order_id)->update([
'verify_code_image' => $d['set_image']
]);
2024-10-03 17:19:54 +08:00
return $data;
} catch (Exception $e) {
2024-10-03 17:19:54 +08:00
self::$error = $e->getMessage();
return false;
}
2024-10-03 11:56:44 +08:00
2024-10-03 17:19:54 +08:00
}
public static function dispose($post)
{
2024-10-03 17:19:54 +08:00
$lsg_order_id = $post['lsg_order_id'];
$user_id = $post['user_id'];
try {
$order = LocalGoodsOrder::where([
'lsg_order_id' => $lsg_order_id,
'state' => 1
2024-10-03 17:19:54 +08:00
])->find();
if (!$order) {
2024-10-03 17:19:54 +08:00
throw new Exception('获取失败,订单错误');
2024-10-03 11:56:44 +08:00
}
2024-10-03 17:19:54 +08:00
$lstore_id = $order['lstore_id'];
$StoreVerify = LocalStoreVerify::where([
'user_id' => $user_id,
'lstore_id' => $lstore_id,
'is_delete' => 0
2024-10-03 17:19:54 +08:00
])->find();
if (!$StoreVerify) {
2024-10-03 17:19:54 +08:00
throw new Exception('核销失败,当前用户无权限');
2024-10-03 11:56:44 +08:00
}
2024-10-03 17:19:54 +08:00
LocalGoodsOrder::where('lsg_order_id', $lsg_order_id)->update([
'verify_user_id' => $user_id,
'verify_time' => time(),
'verify_status' => 1
2024-10-03 17:19:54 +08:00
]);
return [];
} catch (Exception $e) {
self::$error = $e->getMessage();
return false;
}
}
public static function verifyOrderList($post)
{
$user_id = $post['user_id'];
$page_no = $post['page_no'];
$page_size = $post['page_size'];
try {
$lists = LocalGoodsOrder::alias('o')
->join('user u', 'u.id = o.user_id')
->page($page_no, $page_size)
->where([
'o.verify_user_id' => $user_id,
'verify_status' => 1
])
2024-10-05 16:54:44 +08:00
->order('id desc')
->field('u.nickname,o.goods_total_price,verify_time,order_no')
->select()
->toArray();
if ($lists) {
foreach ($lists as &$val) {
$val['verify_time'] = date('Y-m-d H:i:s', $val['verify_time']);
}
}
$count = LocalGoodsOrder::alias('o')
->join('user u', 'u.id = o.user_id')
->where([
'o.user_id' => $user_id,
'verify_status' => 1
])->count();
$more = is_more($count, $page_no, $page_size); //是否有下一页
$data = [
'lists' => $lists,
'page_no' => $page_no,
'page_size' => $page_size,
'count' => $count,
'more' => $more
];
return $data;
} catch (Exception $e) {
self::$error = $e->getMessage();
return false;
}
}
public static function StoreList($post){
$user_id = $post['user_id'];
$page_no = $post['page_no'];
$page_size = $post['page_size'];
try {
$lists = LocalStoreVerify::alias('sv')
->join('local_store s','s.lstore_id = sv.lstore_id')
->where([
'sv.user_id'=>$user_id,
'sv.is_delete'=>0,
])
->page($page_no, $page_size)
->field('sv.create_time,s.shopName,shopLogo')
->select()
->toArray();
$count = LocalStoreVerify::alias('sv')
->join('local_store s','s.lstore_id = sv.lstore_id')
->where([
'sv.user_id'=>$user_id,
'sv.is_delete'=>0,
])->count();
$more = is_more($count, $page_no, $page_size); //是否有下一页
$data = [
'lists' => $lists,
'page_no' => $page_no,
'page_size' => $page_size,
'count' => $count,
'more' => $more
];
return $data;
2024-10-03 11:56:44 +08:00
}catch (Exception $e) {
2024-10-03 11:56:44 +08:00
self::$error = $e->getMessage();
return false;
}
}
}