签约订单
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_____
|
* _____LOG_____
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace app\modules\admin\models;
|
namespace app\modules\admin\models;
|
||||||
|
|
||||||
use app\models\Option;
|
use app\models\Option;
|
||||||
@ -48,6 +49,10 @@ class ThemeCustomiseForm extends AdminModel
|
|||||||
public $sitePostcode;
|
public $sitePostcode;
|
||||||
//公司介绍
|
//公司介绍
|
||||||
public $siteCompanyIntro;
|
public $siteCompanyIntro;
|
||||||
|
//签约须知
|
||||||
|
public $siteSigning;
|
||||||
|
//签约类型
|
||||||
|
public $siteSigningType;
|
||||||
|
|
||||||
|
|
||||||
public $cx_mch_id;
|
public $cx_mch_id;
|
||||||
@ -59,8 +64,8 @@ class ThemeCustomiseForm extends AdminModel
|
|||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
[['siteName','siteLogo','siteMiniLogo','siteIco','siteIcp','siteTel','siteAddress','siteEmail','sitePostcode','siteCompanyIntro'],'required'],
|
[['siteName', 'siteLogo', 'siteMiniLogo', 'siteIco', 'siteIcp', 'siteTel', 'siteAddress', 'siteEmail', 'sitePostcode', 'siteCompanyIntro','siteSigning','siteSigningType'], 'required'],
|
||||||
[['siteDomain','siteWapDomain','siteShortName','siteBriefIntro','siteDescription','siteKeywords','siteCompanyIntro'],'string'],
|
[['siteDomain', 'siteWapDomain', 'siteShortName', 'siteBriefIntro', 'siteDescription', 'siteKeywords', 'siteCompanyIntro','siteSigning','siteSigningType'], 'string'],
|
||||||
[['cx_mch_id'], 'integer'],
|
[['cx_mch_id'], 'integer'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@ -88,20 +93,23 @@ class ThemeCustomiseForm extends AdminModel
|
|||||||
'siteEmail' => '站点联系邮箱',
|
'siteEmail' => '站点联系邮箱',
|
||||||
'sitePostcode' => '站点联系邮编',
|
'sitePostcode' => '站点联系邮编',
|
||||||
'siteCompanyIntro' => '公司介绍',
|
'siteCompanyIntro' => '公司介绍',
|
||||||
|
'siteSigning' => '签约须知',
|
||||||
|
'siteSigningType' => '签约类型',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function save()
|
public function save()
|
||||||
{
|
{
|
||||||
if($this->validate()){
|
if ($this->validate()) {
|
||||||
$attrs = $this->attributes;
|
$attrs = $this->attributes;
|
||||||
foreach ($attrs as $key => $value){
|
|
||||||
if(empty($value))
|
foreach ($attrs as $key => $value) {
|
||||||
|
if (empty($value))
|
||||||
continue;
|
continue;
|
||||||
$key = Utils::hump2underline($key);
|
$key = Utils::hump2underline($key);
|
||||||
$key = strtoupper($key);
|
$key = strtoupper($key);
|
||||||
$f = Option::setOption($key, $value, $this->cx_mch_id);
|
$f = Option::setOption($key, $value, $this->cx_mch_id);
|
||||||
if(!$f){
|
if (!$f) {
|
||||||
return [
|
return [
|
||||||
'code' => 1,
|
'code' => 1,
|
||||||
'msg' => $key . '保存失败'
|
'msg' => $key . '保存失败'
|
||||||
|
|||||||
@ -137,6 +137,19 @@ $this->params['breadcrumbs'][] = $this->title;
|
|||||||
<textarea name="siteCompanyIntro" placeholder="请输入公司介绍" class="layui-textarea"><?= SiteHelper::getCustomiseOptionByKey("siteCompanyIntro", "hump") ?></textarea>
|
<textarea name="siteCompanyIntro" placeholder="请输入公司介绍" class="layui-textarea"><?= SiteHelper::getCustomiseOptionByKey("siteCompanyIntro", "hump") ?></textarea>
|
||||||
</div>
|
</div>
|
||||||
</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-form-item">
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<div class="" >
|
<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