签约订单
This commit is contained in:
parent
2e6c04690e
commit
4d7fa19afb
15
models/Signing.php
Normal file
15
models/Signing.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace app\models;
|
||||
|
||||
use yii\db\ActiveRecord;
|
||||
|
||||
class Signing extends ActiveRecord
|
||||
{
|
||||
|
||||
public static function tableName()
|
||||
{
|
||||
return '{{%signing}}';
|
||||
}
|
||||
|
||||
}
|
||||
@ -9,6 +9,7 @@
|
||||
* _____LOG_____
|
||||
*
|
||||
*/
|
||||
|
||||
namespace app\modules\admin\models;
|
||||
|
||||
use app\models\Option;
|
||||
@ -48,6 +49,10 @@ class ThemeCustomiseForm extends AdminModel
|
||||
public $sitePostcode;
|
||||
//公司介绍
|
||||
public $siteCompanyIntro;
|
||||
//签约须知
|
||||
public $siteSigning;
|
||||
//签约类型
|
||||
public $siteSigningType;
|
||||
|
||||
|
||||
public $cx_mch_id;
|
||||
@ -59,8 +64,8 @@ class ThemeCustomiseForm extends AdminModel
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['siteName','siteLogo','siteMiniLogo','siteIco','siteIcp','siteTel','siteAddress','siteEmail','sitePostcode','siteCompanyIntro'],'required'],
|
||||
[['siteDomain','siteWapDomain','siteShortName','siteBriefIntro','siteDescription','siteKeywords','siteCompanyIntro'],'string'],
|
||||
[['siteName', 'siteLogo', 'siteMiniLogo', 'siteIco', 'siteIcp', 'siteTel', 'siteAddress', 'siteEmail', 'sitePostcode', 'siteCompanyIntro','siteSigning','siteSigningType'], 'required'],
|
||||
[['siteDomain', 'siteWapDomain', 'siteShortName', 'siteBriefIntro', 'siteDescription', 'siteKeywords', 'siteCompanyIntro','siteSigning','siteSigningType'], 'string'],
|
||||
[['cx_mch_id'], 'integer'],
|
||||
];
|
||||
}
|
||||
@ -88,6 +93,8 @@ class ThemeCustomiseForm extends AdminModel
|
||||
'siteEmail' => '站点联系邮箱',
|
||||
'sitePostcode' => '站点联系邮编',
|
||||
'siteCompanyIntro' => '公司介绍',
|
||||
'siteSigning' => '签约须知',
|
||||
'siteSigningType' => '签约类型',
|
||||
];
|
||||
}
|
||||
|
||||
@ -95,6 +102,7 @@ class ThemeCustomiseForm extends AdminModel
|
||||
{
|
||||
if ($this->validate()) {
|
||||
$attrs = $this->attributes;
|
||||
|
||||
foreach ($attrs as $key => $value) {
|
||||
if (empty($value))
|
||||
continue;
|
||||
|
||||
@ -137,6 +137,19 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
<textarea name="siteCompanyIntro" placeholder="请输入公司介绍" class="layui-textarea"><?= SiteHelper::getCustomiseOptionByKey("siteCompanyIntro", "hump") ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">签约须知</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="siteSigning" placeholder="请输入签约须知" class="layui-textarea"><?= SiteHelper::getCustomiseOptionByKey("siteSigning", "hump") ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">签约类型</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="siteSigningType" placeholder="请输入签约类型" autocomplete="off" class="layui-input" value="<?= SiteHelper::getCustomiseOptionByKey("siteSigningType", "hump") ?>">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">多个用|隔开</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<div class="" >
|
||||
|
||||
123
modules/api/controllers/SigningController.php
Normal file
123
modules/api/controllers/SigningController.php
Normal file
@ -0,0 +1,123 @@
|
||||
<?php
|
||||
|
||||
namespace app\modules\api\controllers;
|
||||
|
||||
use app\components\SiteHelper;
|
||||
use app\modules\api\models\SigningForm;
|
||||
|
||||
class SigningController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* showdoc
|
||||
* @catalog 签约订单
|
||||
* @title 业务类型
|
||||
* @description 本接口用于签约订单
|
||||
* @method get
|
||||
* @url /api/signing/signing-type
|
||||
* @return {"code":0,"msg":"ok","data":[]}
|
||||
|
||||
* @remark
|
||||
*/
|
||||
public function actionSigningType()
|
||||
{
|
||||
$type = SiteHelper::getCustomiseOptionByKey("siteSigningType", "hump");
|
||||
|
||||
return $this->responseHandler(['data' => explode('|', $type)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* showdoc
|
||||
* @catalog 签约订单
|
||||
* @title 签约协议
|
||||
* @description 本接口用于签约订单
|
||||
* @method get
|
||||
* @url /api/signing/signing
|
||||
* @return {"code":0,"msg":"ok","data":[]}
|
||||
|
||||
* @remark
|
||||
*/
|
||||
public function actionSigning()
|
||||
{
|
||||
$type = SiteHelper::getCustomiseOptionByKey("siteSigning", "hump");
|
||||
|
||||
return $this->responseHandler(['data' => $type]);
|
||||
}
|
||||
|
||||
/**
|
||||
* showdoc
|
||||
* @catalog 签约订单
|
||||
* @title 签约
|
||||
* @description 本接口用于签约订单
|
||||
* @method post
|
||||
* @url /api/signing/signing-add
|
||||
* @param goods_hub_id 必选 int 签约商品id
|
||||
* @param company_name 必选 string 公司名称
|
||||
* @param brand_name 必选 string 品牌名称
|
||||
* @param product 必选 string 主营产品
|
||||
* @param type 必选 int 业务类型
|
||||
* @param number 必选 int 签约年限
|
||||
* @param remark 必选 int 备注
|
||||
* @return {"code":0,"msg":"ok","data":[]}
|
||||
|
||||
* @remark
|
||||
*/
|
||||
public function actionSigningAdd()
|
||||
{
|
||||
if (!\Yii::$app->request->isPost) {
|
||||
$data = $this->invaildRequest();
|
||||
return $this->responseHandler($data);
|
||||
}
|
||||
|
||||
$signingForm = new SigningForm();
|
||||
|
||||
$signingForm->attributes = \Yii::$app->request->post();
|
||||
|
||||
return $signingForm->add();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* showdoc
|
||||
* @catalog 签约订单
|
||||
* @title 签约
|
||||
* @description 本接口用于签约订单
|
||||
* @method get
|
||||
* @url /api/signing/signing-detail
|
||||
* @param order_no 必选 int 订单号
|
||||
* @return {"code":0,"msg":"ok","data":[]}
|
||||
|
||||
* @remark
|
||||
*/
|
||||
|
||||
public function actionSigningDetail()
|
||||
{
|
||||
$orderNo = \Yii::$app->request->get('order_no');
|
||||
|
||||
$signingForm = new SigningForm();
|
||||
|
||||
return $signingForm->orderDetail($orderNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* showdoc
|
||||
* @catalog 签约订单
|
||||
* @title 签约列表
|
||||
* @description 本接口用于签约订单
|
||||
* @method get
|
||||
* @url /api/signing/signing-list
|
||||
* @param status 可选 int 订单状态
|
||||
* @return {"code":0,"msg":"ok","data":[]}
|
||||
|
||||
* @remark
|
||||
*/
|
||||
public function actionSigningList()
|
||||
{
|
||||
$signingForm = new SigningForm();
|
||||
|
||||
$status = \Yii::$app->request->get('status');
|
||||
|
||||
return $signingForm->orderList($status);
|
||||
}
|
||||
|
||||
}
|
||||
103
modules/api/models/SigningForm.php
Normal file
103
modules/api/models/SigningForm.php
Normal file
@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
namespace app\modules\api\models;
|
||||
|
||||
use app\models\GoodsHub;
|
||||
use app\models\Signing;
|
||||
use yii\data\Pagination;
|
||||
|
||||
class SigningForm extends ApiModel
|
||||
{
|
||||
public $goods_hub_id;
|
||||
public $company_name;
|
||||
public $brand_name;
|
||||
|
||||
public $product;
|
||||
|
||||
public $type;
|
||||
|
||||
public $number;
|
||||
|
||||
public $remark;
|
||||
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['goods_hub_id', 'company_name', 'brand_name', 'product', 'type', 'number', 'remark'], 'required'],
|
||||
[['goods_hub_id', 'number'], 'integer']
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (!$this->validate()) {
|
||||
return $this->getModelError();
|
||||
}
|
||||
|
||||
$goods = GoodsHub::findOne($this->goods_hub_id);
|
||||
|
||||
if (!$goods) {
|
||||
return $this->apiReturnError('商品id异常');
|
||||
}
|
||||
|
||||
$signing = new Signing();
|
||||
|
||||
$signing->order_no = $this->orderNo();
|
||||
$signing->user_id = \Yii::$app->user->identity->id;
|
||||
$signing->goods_hub_id = $this->goods_hub_id;
|
||||
$signing->moy = $goods->original_price * $this->number;
|
||||
$signing->company_name = $this->company_name;
|
||||
$signing->brand_name = $this->brand_name;
|
||||
$signing->product = $this->product;
|
||||
$signing->type = $this->type;
|
||||
$signing->number = $this->number;
|
||||
$signing->remark = $this->remark;
|
||||
$signing->create_time = time();
|
||||
|
||||
return $signing->save();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function orderNo()
|
||||
{
|
||||
$orderNo = mt_rand(100000000000, 99999999999);
|
||||
|
||||
if (Signing::find()->where('order_no', $orderNo)->count()) {
|
||||
return $this->orderNo();
|
||||
}
|
||||
return $orderNo;
|
||||
}
|
||||
|
||||
|
||||
public function orderDetail($orderNo)
|
||||
{
|
||||
$order = Signing::find()->where('order_no', $orderNo)
|
||||
->where('user_id', \Yii::$app->user->identity->id)->one()->toArray();
|
||||
|
||||
if (!$order) {
|
||||
return $this->apiReturnError('订单号错误');
|
||||
}
|
||||
|
||||
$order['goods'] = GoodsHub::findOne($order['goods_hub_id']);
|
||||
|
||||
return $this->apiReturnSuccess('success', $order);
|
||||
}
|
||||
|
||||
public function orderList($status)
|
||||
{
|
||||
|
||||
$query = Signing::find()->where('user_id', \Yii::$app->user->identity->id);
|
||||
|
||||
if ($status) {
|
||||
$query->where('status', $status);
|
||||
}
|
||||
|
||||
$pagination = new Pagination(['totalCount' => $query->count(), 'defaultPageSize' => 2]);
|
||||
|
||||
$models = $query->offset($pagination->offset)->limit($pagination->limit)->all();
|
||||
|
||||
return $this->apiReturnSuccess('success', $models);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user