初始化项目

This commit is contained in:
2026-09-01 22:15:50 +08:00
commit b5a26a8848
11217 changed files with 1710987 additions and 0 deletions
+222
View File
@@ -0,0 +1,222 @@
<?php
declare (strict_types=1);
namespace app\store\model;
use think\Session;
use app\common\model\Code as CodeModel;
use app\common\model\Shop as ShopModel;
use app\store\model\Order as OrderModel;
use think\facade\Cache;
/**
* 商家用户模型
* Class StoreUser
* @package app\store\model
*/
class Code extends CodeModel
{
/**
* 获取支付码列表
* @return \think\Paginator
* @throws \think\exception\DbException
*/
public function getList($where)
{
return $this->where($where)
->field('*,FROM_UNIXTIME(create_time+expiration_time) as expiration_time')
->order(['create_time' => 'desc'])
->with(['shop','user'])
->paginate(15);
}
/**
* 新增记录
* @param $data
* @return bool|false|int
* @throws \think\exception\DbException
*/
public function add($data)
{
if (empty($data['shop_id'])) {
$this->error = '请选择店铺';
return false;
}
if (empty($data['code_account'])) {
$this->error = '请填写产码账号';
return false;
}
if (empty($data['order_no'])) {
$this->error = '请填写订单号';
return false;
}
if (empty($data['passageway'])) {
$this->error = '请选择通道编号';
return false;
}
if (in_array($data['passageway'],['ZFBH5','SNZFBH5']) && empty($data['alipay'])) {
$this->error = '请填写支付宝链接';
return false;
}
if ($data['passageway'] == 'WX' && empty($data['link'])) {
$this->error = '请填写微信链接';
return false;
}
if (empty($data['money'])) {
$this->error = '请填写金额';
return false;
}
//判断微信产码数量是否超限
/*if($data['passageway'] == 'WX'){
$custNo = substr($data['link'],strripos($data['link'],"custNo=")+7,10);
$num = $this->where(
[
'passageway'=>'WX',
'link'=>['like','%'.$custNo.'%'],
])
->count();
if($num >= 8){
$this->error = '账号【'.$custNo.'】已达到产码上限8个';
return false;
}
}*/
if($data['passageway'] == 'ZFBH5'){
$data['link'] = $data['alipay'];
$searchUrl = $data['link'];
}else {
$otherPay = "https://order.suning.com/pay/otherPay.do?{{parameter}}&payChannel=PC";
$parameter = strstr($data['link'], 'orderId');
$searchUrl = str_replace("{{parameter}}", $parameter, $otherPay);
}
$data['search_url'] = $searchUrl;
$this->startTrans();
try {
//$shop = ShopModel::detail($data['shop_id']);
//$data['store_user_id'] = $shop['store_user_id'];
$data['store_id'] = self::$storeId;
$this->save($data);
$this->commit();
return true;
} catch (\Exception $e) {
$this->error = $e->getMessage();
$this->rollback();
return false;
}
}
/**
* 更新记录
* @param array $data
* @return bool
* @throws \think\exception\DbException
*/
public function edit($data)
{
if (empty($data['shop_id'])) {
$this->error = '请选择店铺';
return false;
}
if (empty($data['code_account'])) {
$this->error = '请填写产码账号';
return false;
}
if (empty($data['order_no'])) {
$this->error = '请填写订单号';
return false;
}
if (empty($data['passageway'])) {
$this->error = '请选择通道编号';
return false;
}
if (in_array($data['passageway'],['ZFBH5','SNZFBH5']) && empty($data['alipay'])) {
$this->error = '请填写支付宝链接';
return false;
}
if ($data['passageway'] == 'WX' && empty($data['link'])) {
$this->error = '请填写微信链接';
return false;
}
if (empty($data['money'])) {
$this->error = '请填写金额';
return false;
}
if($data['passageway'] == 'ZFBH5'){
$data['link'] = $data['alipay'];
$searchUrl = $data['link'];
}else {
if($data['passageway'] == 'SNZFBH5')$data['link'] = $data['alipay'];
$otherPay = "https://order.suning.com/pay/otherPay.do?{{parameter}}&payChannel=PC";
$parameter = strstr($data['link'], 'orderId');
$searchUrl = str_replace("{{parameter}}", $parameter, $otherPay);
}
$data['search_url'] = $searchUrl;
$this->startTrans();
try {
//$shop = ShopModel::detail($data['shop_id']);
//$data['store_user_id'] = $shop['store_user_id'];
// 更新管理员记录
$this->save($data);
$this->commit();
return true;
} catch (\Exception $e) {
$this->error = $e->getMessage();
$this->rollback();
return false;
}
}
/**
* 软删除
* @return false|int
*/
public function setDelete()
{
return $this->delete();
}
/**
* 修改码的状态
* @param int $order_id
* @return false|int
*/
public function modifyUsed($order_id)
{
return $this->save([
'status' => 2,
'pay_status' => 1,
'order_id' => $order_id,
'allot_time' => time(),
]);
}
/**
* 切换状态
* @param $status
* @return false|int
*/
public function changeStatus($status)
{
if($this['pay_status'] == 2){
return '当前已是已核销状态';
}
if($bool = $this->save(['pay_status' => $status])){
$bool = true;
}
return $bool;
}
/**
* 切换启停状态
* @param $state
* @return false|int
*/
public function stateSwitch($state)
{
if(!in_array($state,[1,2])){
return '未知状态';
}
if($bool = $this->save(['state' => $state])){
$bool = true;
}
return $bool;
}
}