Browse Source

店铺添加账号,优惠券迁移(未完成)

master
liangyuyan 5 years ago
parent
commit
a5ca325dbf
  1. 80
      app/Admin/Controllers/CouponSettingController.php
  2. 134
      app/Admin/Controllers/v3/CouponController.php
  3. 86
      app/Admin/Controllers/v3/CouponSettingController.php
  4. 42
      app/Admin/Controllers/v3/StoreController.php
  5. 6
      app/Admin/Repositories/v3/Coupon.php
  6. 4
      app/Admin/Repositories/v3/CouponSetting.php
  7. 4
      app/Admin/routes.php
  8. 18
      app/Models/CouponReceiveType.php
  9. 17
      app/Models/CouponSetting.php
  10. 14
      app/Models/StoreType.php
  11. 18
      app/Models/v3/Category.php
  12. 54
      app/Models/v3/Coupon.php
  13. 33
      app/Models/v3/CouponReceiveType.php
  14. 60
      app/Models/v3/CouponSetting.php
  15. 4
      app/Models/v3/CouponUse.php
  16. 2
      app/Models/v3/Goods.php
  17. 24
      app/Models/v3/Market.php
  18. 9
      app/Models/v3/Store.php
  19. 43
      app/Models/v3/StoreUsers.php
  20. 10
      config/admin.php
  21. 55
      config/coupon.php
  22. 12
      config/label.php
  23. 3
      resources/lang/zh-CN/coupon-setting.php
  24. 8
      resources/lang/zh-CN/coupon.php

80
app/Admin/Controllers/CouponSettingController.php

@ -1,80 +0,0 @@
<?php
namespace App\Admin\Controllers;
use App\Admin\Repositories\CouponSetting;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
class CouponSettingController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new CouponSetting(), function (Grid $grid) {
$grid->id->sortable();
$grid->name;
$grid->category;
$grid->value;
$grid->desc;
$grid->sort;
$grid->status;
$grid->created_at;
$grid->updated_at->sortable();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new CouponSetting(), function (Show $show) {
$show->id;
$show->name;
$show->category;
$show->value;
$show->desc;
$show->sort;
$show->status;
$show->created_at;
$show->updated_at;
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new CouponSetting(), function (Form $form) {
$form->display('id');
$form->text('name');
$form->text('category');
$form->text('value');
$form->text('desc');
$form->text('sort');
$form->text('status');
$form->display('created_at');
$form->display('updated_at');
});
}
}

134
app/Admin/Controllers/CouponController.php → app/Admin/Controllers/v3/CouponController.php

@ -1,17 +1,17 @@
<?php
namespace App\Admin\Controllers;
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\Coupon;
use App\Admin\Repositories\v3\Coupon;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
use App\Models\CouponReceiveType as ReceiveTypeModel;
use App\Models\CouponSetting as SettingModel;
use App\Models\Coupon as CouponModel;
use App\Models\ImsCjdcMarket as marketModel;
use App\Models\StoreType as storeTypeModel;
use App\Models\v3\CouponReceiveType as ReceiveTypeModel;
use App\Models\v3\CouponSetting as SettingModel;
use App\Models\v3\Coupon as CouponModel;
use App\Models\v3\Market as MarketModel;
use App\Models\v3\Category as CategoryModel;
use Dcat\Admin\Form\NestedForm;
use function GuzzleHttp\json_decode;
@ -26,7 +26,6 @@ class CouponController extends AdminController
*/
protected function grid()
{
// DB::select();
// $model = new CouponModel();
// $list = $model->setAppends([])->select('id','title')->get();
// dd($list->toArray());
@ -46,12 +45,13 @@ class CouponController extends AdminController
$grid->active_type_text;
$grid->status
->using(
config('coupon.status')
CouponModel::$_STATUS
)
->label(
config('coupon.status_label')
config('label.status_label')
);
$grid->model()->orderBy('id','desc');
$grid->filter(function (Grid\Filter $filter) {
$filter->like('title','标题');
$filter->equal('discount_type')->select(config('coupon.discount_type'));
@ -127,17 +127,17 @@ class CouponController extends AdminController
{
$builder = CouponModel::with('receiveType');
return Form::make($builder, function (Form $form) {
$receiveTypeId = 0;
$startTime = null;
$endTime = null;
$usableStartTime = null;
$usableEndTime = null;
if($form->isEditing()){
// $id = $form->getKey();
$id = $form->getKey();
// 查询已选择的领取方式
// $receiveType = ReceiveTypeModel::where('system_coupon_user_id',$id)->first('receive_type');
// $receiveTypeId = $receiveType ? $receiveType->receive_type : $this->receive_type ;
$receiveType = ReceiveTypeModel::getReceiveTypeOne([['coupon_id','=',$id]],'receive_type');
$receiveTypeId = $receiveType ? $receiveType->receive_type : $this->receive_type ;
$startTime = date('Y-m-d H:i:s',$form->model()->start_time);
$endTime = date('Y-m-d H:i:s',$form->model()->end_time);
$usableStartTime = date('Y-m-d H:i:s',$form->model()->usable_start_time);
@ -148,73 +148,77 @@ class CouponController extends AdminController
$form->column(6,function(Form $form){
$form->text('title')->required()->maxLength(255,'最多只能输入500个字');
$form->textarea('introduce')->required();
$form->text('full_amount')->required()->floatTwo();
$form->text('discounts')->required()->floatTwo();
$form->radio('discount_type')->options(config('coupon.discount_type'))->default(1)->required();
$form->text('inventory')->required()->type('number')->attribute('min', 1)->default(1);
$form->text('weigh')->type('number')->attribute('min', 0)->default(0);
$form->currency('full_amount')->required()->floatTwo()->symbol('¥');
$form->currency('discounts')->required()->floatTwo()->symbol('¥');
$form->radio('discount_type')->options(CouponModel::$_DISCOUNTTYPE)->default(1);
$form->number('inventory')->required()->type('number')->attribute('min', 1)->default(1);
$form->number('weigh')->type('number')->attribute('min', 0)->default(0);
$form->radio('is_new_user')->options(CouponModel::$_ISNEWUSER)->default(2)->disable();
});
$form->column(6,function(Form $form){
$form->select('active_type')->options(config('coupon.active_type'))->default(1);
$form->column(6,function(Form $form) use($receiveTypeId){
$form->select('active_type')->required()->options(CouponModel::$_ACTIVETYPE)->default(1);
/* 领取方式 */
$form->hasMany('receive_type',function(NestedForm $form){
$receives = SettingModel::getReceiveTypeArray([]);
$form->select()->options();
});
$receives = SettingModel::getSettingArray([['category','=',1]]);
$form->select('receive_type.receive_type','领取方式')->required()->options($receives)->value($receiveTypeId)->default($receiveTypeId);
// $form->hasMany('receive_type',function(NestedForm $form){
// $form->select('receive_type')->options($receives);
// });
// $receive = SettingModel::select('id','name')->where('category',1)->get()->keyBy('id')->toArray();
// $receive = $this->keyToValue($receive,'id','name');
// $form->select('receive_type')->options($receive)->value($receiveTypeId > 0? $receiveTypeId : 2);
$form->datetimeRange('start_time','end_time','活动时间')->required();
// ->rules('after:now',[
// 'after' => '只能选择今天和之后的时间'
// ]);
$form->datetimeRange('usable_start_time','usable_end_time','可用时间')->required()->rules('after:start_time',[
'after' => '可用时间必须比活动开始时间晚'
]);
// $form->datetime('start_time')->required()->value('2020-08-24T03:18:57.000000Z');
// $form->datetime('end_time')->required()->value($endTime);
// $form->datetime('usable_start_time')->required()->value($usableStartTime);
// $form->datetime('usable_end_time')->required()
// ->value(20200810121222)
// ->value('2020-08-10 10:10:00')
// ->value($usableEndTime)
// ->format('YYYY-MM-DD HH:mm:ss');
$form->select('type')->options(config('coupon.type'))->default(1)->disable();
$form->select('category')->options(config('coupon.category'))->default(1)->disable();
/* 目前默认全平台的市场 2020-08-20*/
$form->multipleSelect('market_ids')->options(['所有市场'])->disable();
/* 目前默认全平台的店铺分类 2020-08-20*/
$form->select('storetype_id')->options(['所有店铺类型'])->disable();
$form->radio('is_new_user')->options(config('coupon.is_new_user'))->default(2)->disable();
$form->text('remark')->maxLength(500,'最多只能输入500个字');
// $form->select('type')->options(CouponModel::$_TYPE)->default(1)->disable();
// $form->select('category')->options(CouponModel::$_CATEGORY)->default(1)->disable();
/* 默认全平台的市场 */
$marketList = MarketModel::getMarketArray();
$form->multipleSelect('market_ids')->options($marketList)->help('不选默认所有市场可用');
/* 目前默认全平台的分类 */
$categoryList = CategoryModel::getCategoryArray();
$form->multipleSelect('category_ids')->options($categoryList)->help('不选默认所有类型可用');
});
$form->column(12,function(Form $form){
$form->tags('activity_available','可用活动')->options(CouponModel::$_ACTIVITY_AVAILABLE);
$form->tags('tags','标签')->options(['新人专享','满39减10','满19减5']);
$form->text('remark')->maxLength(500,'最多只能输入500个字');
});
/* 页面按钮 */
$form->disableResetButton();
$form->disableViewCheck();
$form->disableEditingCheck();
$form->disableCreatingCheck();
/* 不显示字段 */
$form->hidden('id');
// $form->text('usable_number')->width(2)->default(1)->disable();
$form->saving(function (Form $form){
// var_dump($form->discount_type);
// dd($form->discounts);
// var_dump($form->usable_start_time);
// dd($form->receive_type);
if( $form->discount_type == 2 && ($form->discounts <= 0 || $form->discounts >= 10)){
return $form->error('优惠金额请输入1~10之间的数字');
}
// $this->receive_type = $form->receive_type;
// $form->deleteInput('receive_type');
// $this->receive_type = $form->receive_type;
$form->deleteInput('receive_type');
});
$form->saved(function (Form $form, $result){
$id = $form->getKey();
$receiveTypeId = $form->input('receive_type');
// 判断是否是新增操作
if ($form->isCreating()) {
$id = $result;
@ -225,40 +229,20 @@ class CouponController extends AdminController
}
if($form->isEditing()){
// 删除领取方式
$receiveTypeModel = ReceiveTypeModel::where('system_coupon_user_id',$id)->delete();
ReceiveTypeModel::where('coupon_id',$id)->delete();
}
// 添加领取方式
$receiveModel = new ReceiveTypeModel();
$receiveModel->system_coupon_user_id = $id;
$receiveModel->receive_type = $this->receive_type;
$receiveModel->coupon_id = $id;
$receiveModel->receive_type = $receiveTypeId;
// 获取一次可领取数量
$receiveNumber = SettingModel::select('value')->find($this->receive_type);
$receiveModel->one_receive_number = $receiveNumber ? $receiveNumber['value'] :1;
$receiveNumber = SettingModel::getSettingInfo($receiveTypeId,'value');
$receiveModel->one_receive_number = empty($receiveNumber) ? 1 : $receiveNumber->value;
$receiveModel->save();
});
$form->deleting(function (Form $form) {
// 获取待删除行数据,这里获取的是一个二维数组
$data = $form->model()->toArray();
$model = couponModel::find($data[0]['id']);
// 修改优惠券状态
$model->status = -1;
$model->save();
});
});
}
/**
* 组装新数组
*/
public function keyToValue($array, $key, $value){
if(empty($array)){
return $array;
}
$newArray = [];
foreach($array as $v){
$newArray[$v[$key]] = $v[$value];
}
return $newArray;
}
}

86
app/Admin/Controllers/v3/CouponSettingController.php

@ -0,0 +1,86 @@
<?php
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\v3\CouponSetting;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
use App\Models\v3\CouponSetting as SettingModel;
class CouponSettingController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new CouponSetting(), function (Grid $grid) {
$grid->id->sortable();
$grid->category_text;
$grid->name;
$grid->value;
$grid->sort;
$grid->status->switch();
$grid->model()->orderBy('id','desc');
$grid->filter(function (Grid\Filter $filter) {
$filter->like('name');
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new CouponSetting(), function (Show $show) {
$show->row(function (Show\Row $show) {
$show->width(6)->id;
$show->width(6)->category_text;
$show->width(6)->name;
$show->width(6)->value;
});
$show->row(function (Show\Row $show) {
$show->width(6)->sort;
$show->width(6)->status_text;
$show->width(6)->created_at;
$show->width(6)->updated_at;
});
// $show->desc;
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new CouponSetting(), function (Form $form) {
$form->hidden('id');
$form->select('category')->width(6)->options(SettingModel::$_CATEGORY);
$form->text('name')->width(6)->required()->maxLength(50);
$form->number('value')->required()->rules('min:1')->default(1);
// $form->text('desc')->maxLength(500);
$form->number('sort')->rules('min:0');
$form->disableResetButton();
$form->disableViewCheck();
$form->disableEditingCheck();
$form->disableCreatingCheck();
});
}
}

42
app/Admin/Controllers/v3/StoreController.php

@ -14,6 +14,7 @@ use App\Models\v3\Store as StoreModel;
use App\Models\v3\User as UserModel;
use App\Models\v3\Category as CategoryModel;
use App\Models\LanzuUserBalance as UserBalanceModel;
use App\Models\v3\StoreUsers as StoreUsersModel;
class StoreController extends AdminController
{
@ -131,7 +132,7 @@ class StoreController extends AdminController
// 查询市场经理
$mmList = MminfoModel::getMmInfoArray();
// 查询市场
$marketList = MarketModel::getMarket();
$marketList = MarketModel::getMarketArray();
// 查询一级分类
$categoryList = CategoryModel::getCategoryArray([['parent_id','=',0]]);
// 用户
@ -219,7 +220,20 @@ class StoreController extends AdminController
// $form->image('cash_code_img')->crop(270, 270, [5, 5]);
//店长账号
$storeUsersInfo = StoreUsersModel::where('store_id',$id)->where('user_category',1)->first();
if(empty($storeUsersInfo)){
$storeUsersModel = new StoreUsersModel();
$storeUsersModel->store_id = $id;
$storeUsersModel->username = $form->link_tel;
$storeUsersModel->join_ip = $_SERVER['SERVER_NAME'];
$storeUsersModel->user_category = 1;
$storeUsersModel->register_type = 4;
$storeUsersModel->status = 2;
$storeUsersModel->salt = $this->random(8);
$storeUsersModel->password = $this->stringHash(substr($form->link_tel,-1,5),$storeUsersModel->salt);
$storeUsersModel->remark = '入驻店铺注册';
$storeUsersModel->save();
}
}
});
@ -230,4 +244,28 @@ class StoreController extends AdminController
});
}
public function stringHash($password, $salt) {
$authkey = config('admin.setting.authkey');
$password = "{$password}-{$salt}-{$authkey}";
return sha1($password);
}
/**
* 字符串
*/
public function random($length, $numeric = false) {
$seed = base_convert(md5(microtime() . $_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
$seed = $numeric ? (str_replace('0', '', $seed) . '012340567890') : ($seed . 'zZ' . strtoupper($seed));
if ($numeric) {
$hash = '';
} else {
$hash = chr(rand(1, 26) + rand(0, 1) * 32 + 64);
--$length;
}
$max = strlen($seed) - 1;
for ($i = 0; $i < $length; ++$i) {
$hash .= $seed[mt_rand(0, $max)];
}
return $hash;
}
}

6
app/Admin/Repositories/Coupon.php → app/Admin/Repositories/v3/Coupon.php

@ -1,11 +1,11 @@
<?php
namespace App\Admin\Repositories;
namespace App\Admin\Repositories\v3;
use App\Models\Coupon as Model;
use App\Models\v3\Coupon as Model;
use Dcat\Admin\Grid\Model as GridModel;
use Dcat\Admin\Repositories\EloquentRepository;
use App\Models\CouponUse as CouponUseModel;
use App\Models\v3\CouponUse as CouponUseModel;
use Illuminate\Support\Facades\DB;
class Coupon extends EloquentRepository

4
app/Admin/Repositories/CouponSetting.php → app/Admin/Repositories/v3/CouponSetting.php

@ -1,8 +1,8 @@
<?php
namespace App\Admin\Repositories;
namespace App\Admin\Repositories\v3;
use App\Models\CouponSetting as Model;
use App\Models\v3\CouponSetting as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class CouponSetting extends EloquentRepository

4
app/Admin/routes.php

@ -34,8 +34,8 @@ Route::group([
$router->get('/coupon/TieForm', 'CouponTieController@CouponTieForm');
$router->get('/couponTie', 'CouponTieController@CouponTieList');
$router->resource('/couponSetting', 'couponSettingController');
$router->resource('/coupon', 'couponController');
$router->resource('/coupon_setting', 'v3\couponSettingController');
$router->resource('/coupon', 'v3\couponController');
//获取所有市场
$router->any('/api/getAllMarket', 'LanzuServiceSpeakerController@getAllMarkets');

18
app/Models/CouponReceiveType.php

@ -1,18 +0,0 @@
<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use App\Models\CouponSetting as SettingModel;
use Illuminate\Database\Eloquent\Model;
class CouponReceiveType extends Model
{
use HasDateTimeFormatter;
protected $table = 'ims_system_coupon_user_receivetype';
protected $dateFormat = 'U';
public function setting(){
return $this->belongsTo(SettingModel::class,'receive_type','id','inner');
}
}

17
app/Models/CouponSetting.php

@ -1,17 +0,0 @@
<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
class CouponSetting extends Model
{
use HasDateTimeFormatter;
protected $table = 'ims_system_coupon_setting';
public function getReceiveTypeArray($where,$options = [])
{
}
}

14
app/Models/StoreType.php

@ -1,14 +0,0 @@
<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
class StoreType extends Model
{
use HasDateTimeFormatter;
protected $table = 'ims_cjdc_storetype';
}

18
app/Models/v3/Category.php

@ -45,27 +45,23 @@ class Category extends Model
/**
* 获取二级分类数组
* id为键,name为值
* id为键,title为值
* @return array
*/
public static function getCategoryArray($where = [],$options = [])
{
$model = self::select('id','title')
->where('status',1)
$model = self::where('status',1)
->whereNull('deleted_at');
if(count($where) > 0){
$model->where($where);
}
$list = $model->get();
$array = empty($options) ? [] : $options;
if(count($list) > 0){
foreach ($list as $value) {
$array[$value->id] = $value->title;
}
$list = $model->pluck('title','id')->toArray();
if(!empty($options)){
return array_merge($options,$list);
}else{
return $list;
}
return $array;
}
/**

54
app/Models/Coupon.php → app/Models/v3/Coupon.php

@ -1,12 +1,12 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Model;
use App\Models\CouponSetting as SettingModel;
use App\Models\CouponReceiveType as ReceiveTypeModel;
use App\Models\v3\CouponSetting as SettingModel;
use App\Models\v3\CouponReceiveType as ReceiveTypeModel;
class Coupon extends Model
{
@ -14,11 +14,19 @@ class Coupon extends Model
use SoftDeletes;
protected $dateFormat = 'U';
// protected $timestamp = true;
protected $table = 'ims_system_coupon_user';
protected $table = 'lanzu_coupon';
/* 查询记录数 limit */
protected $perPage = 10;
public static $_ACTIVITY_AVAILABLE = ['flash_sale'=>'秒杀','group_buy'=>'团购','new_product'=>'新品'];
public static $_CATEGORY = [1=>'订单'];
public static $_TYPE = [1=>'全平台',2=>'线上', 3=>'线下'];
public static $_ISNEWUSER = [1=>'是',2=>'否'];
public static $_DISCOUNTTYPE = [1=>'金额',2=>'打折(%)'];
public static $_ACTIVETYPE = [1=>'领取活动',2=>'转发活动',3=>'返券专用'];
public static $_STATUS = [ -1=> '已删除', 0=>'草稿', 1=>'正常',2=>'已领完',3=>'禁用'];
/* 添加转换字段 */
protected $appends = [
'status_text',
@ -33,38 +41,51 @@ class Coupon extends Model
'usable_end_time_text',
// 'receive_type_text',
'created_at_text',
'updated_at_text'
'updated_at_text',
'activity_available_text'
];
protected $casts = [
'market_ids'=>'array',
'category_ids'=>'array',
'tags'=>'array',
'activity_available'=>'array'
];
public function getStatusTextAttribute()
{
$value = $this->status;
return isset(config('coupon.status')[$value])?config('coupon.status')[$value]:'';
return isset(self::$_STATUS[$value])?self::$_STATUS[$value]:'';
}
public function getTypeTextAttribute()
{
$value = $this->type;
return isset(config('coupon.type')[$value])?config('coupon.type')[$value]:'';
return isset(self::$_TYPE[$value])?self::$_TYPE[$value]:'';
}
public function getCategoryTextAttribute()
{
$value = $this->category;
return isset(config('coupon.category')[$value])?config('coupon.category')[$value]:'';
return isset(self::$_CATEGORY[$value])?self::$_CATEGORY[$value]:'';
}
public function getIsNewUserTextAttribute()
{
$value = $this->is_new_user;
return isset(config('coupon.is_new_user')[$value])?config('coupon.is_new_user')[$value]:'';
return isset(self::$_ISNEWUSER[$value])?self::$_ISNEWUSER[$value]:'';
}
public function getDiscountTypeTextAttribute()
{
$value = $this->discount_type;
return isset(config('coupon.discount_type')[$value])?config('coupon.discount_type')[$value]:'';
return isset(self::$_DISCOUNTTYPE[$value])?self::$_DISCOUNTTYPE[$value]:'';
}
public function getActiveTypeTextAttribute()
{
$value = $this->active_type;
return isset(config('coupon.active_type')[$value])?config('coupon.active_type')[$value]:'';
return isset(self::$_ACTIVETYPE[$value])?self::$_ACTIVETYPE[$value]:'';
}
public function getActivityAvailableTextAttribute()
{
$value = $this->activity_available;
// return isset(self::$_ACTIVITY_AVAILABLE[$value])?self::$_ACTIVITY_AVAILABLE[$value]:'';
return '';
}
public function getStartTimeTextAttribute()
{
@ -134,13 +155,4 @@ class Coupon extends Model
{
$this->attributes['usable_end_time'] = strtotime($value);
}
protected function setAddtimeAttribute($value)
{
$this->attributes['addtime'] = time();
}
protected function setUpdatetimeAttribute($value)
{
$this->attributes['updatetime'] = time();
}
}

33
app/Models/v3/CouponReceiveType.php

@ -0,0 +1,33 @@
<?php
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use App\Models\v3\CouponSetting as SettingModel;
use Illuminate\Database\Eloquent\Model;
class CouponReceiveType extends Model
{
use HasDateTimeFormatter;
protected $table = 'lanzu_coupon_receive_type';
protected $dateFormat = 'U';
public function setting(){
return $this->belongsTo(SettingModel::class,'receive_type','id','inner');
}
/**
* 根据where获取单条数据
*/
public static function getReceiveTypeOne($where,$field = '*')
{
return self::select($field)->where($where)->first();
}
/**
* 根据id获取单条数据
*/
public static function getReceiveTypeInfo($id,$field = '*')
{
return self::select($field)->find($id);
}
}

60
app/Models/v3/CouponSetting.php

@ -0,0 +1,60 @@
<?php
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
class CouponSetting extends Model
{
use HasDateTimeFormatter;
protected $table = 'lanzu_coupon_setting';
protected $dateFormat = 'U';
public static $_CATEGORY = [1=>'领取方式'];
public static $_STATUS = ['禁用','正常'];
protected $appends = [
'category_text',
'status_text'
];
public function getCategoryTextAttribute($value)
{
$value = $value ? $value : $this->category;
return isset(self::$_CATEGORY[$value]) ? self::$_CATEGORY[$value] : '';
}
public function getStatusTextAttribute($value)
{
$value = $value ? $value : $this->status;
return isset(self::$_STATUS[$value]) ? self::$_STATUS[$value] : '';
}
/**
* 获取数组
*/
public static function getSettingArray($where = [],$options = [])
{
$model = self::where('status',1)
->whereNull('deleted_at');
if(!empty($where)){
$model->where($where);
}
$list = $model->pluck('name','id')->toArray();
if(!empty($options)){
return array_merge($options,$list);
}else{
return $list;
}
}
/**
* 根据id获取单条数据
*/
public static function getSettingInfo($id,$field = '*')
{
// return self::select($field)->find($id);
return self::select($field)->where('id',$id)->first();
}
}

4
app/Models/CouponUse.php → app/Models/v3/CouponUse.php

@ -1,6 +1,6 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
@ -9,6 +9,6 @@ use Illuminate\Database\Eloquent\Model;
class CouponUse extends Model
{
use HasDateTimeFormatter;
protected $table = 'ims_system_coupon_user_use';
protected $table = 'lanzu_coupon_use';
}

2
app/Models/v3/Goods.php

@ -13,6 +13,8 @@ class Goods extends Model
protected $table = 'lanzu_goods';
protected $dateFormat = 'U';
/* 查询记录数 limit */
protected $perPage = 10;
protected $appends = [
'cover_img_url',
'on_sale_text',

24
app/Models/v3/Market.php

@ -30,20 +30,22 @@ class Market extends Model
}
/**
* 获取市场信息
* @return \Illuminate\Http\JsonResponse
* 获取市场数组
*/
public static function getMarket()
public static function getMarketArray($where = [], $options = [])
{
$markets = self::select('id','name')
->where('status',1)
->whereNull('deleted_at')
->get();
$item = [];
foreach ($markets as $market) {
$item[$market->id] = $market->name;
$model = self::where('status',1)
->whereNull('deleted_at');
if(!empty($where)){
$model->where($where);
}
$list = $model->pluck('name','id')->toArray();
if(!empty($options)){
return array_merge($options,$list);
}else{
return $list;
}
return $item;
}
/**

9
app/Models/v3/Store.php

@ -14,15 +14,18 @@ class Store extends Model
protected $table = 'lanzu_store';
protected $dateFormat = 'U';
/* 查询记录数 limit */
protected $perPage = 10;
public static $_isRest= ['否','是'];
public static $_isOpen = ['关闭','开启'];
protected $appends = [
'logo_url',
'is_rest_text',
'is_open_text'
];
public static $_isRest= ['否','是'];
public static $_isOpen = ['关闭','开启'];
public function getLogoUrlAttribute($value)
{
$value = $value ? $value : $this->logo;

43
app/Models/v3/StoreUsers.php

@ -0,0 +1,43 @@
<?php
namespace App\Models\v3;
use Illuminate\Database\Eloquent\Model;
class StoreUsers extends Model
{
protected $table = 'lanzu_store_users';
protected $dateFormat = 'U';
/**
* 获取单个用户信息
* @param int $id
* @param string $field
* @return object
*/
public static function getInfo($id,$field = '*')
{
return self::select($field)->find($id);
}
/**
* 获取用户数组
* id为键,name为值
* @return array
*/
public static function getArray()
{
$list = self::select('id','username')
->where('status',2)
->whereNull('deleted_at')
->get();
$array = [];
if(count($list) > 0){
foreach ($list as $value) {
$array[$value->id] = $value->username;
}
}
return $array;
}
}

10
config/admin.php

@ -369,4 +369,14 @@ return [
'extensions' => [
],
/*
|--------------------------------------------------------------------------
| Settings for password.
|--------------------------------------------------------------------------
|
*/
'setting' => [
'authkey' => '5705e957'
],
];

55
config/coupon.php

@ -1,55 +0,0 @@
<?php
return [
//优惠卷(用户)状态
'status'=>[
-1=> '已删除',
0=>'草稿',
1=>'正常',
2=>'已领完',
3=>'禁用',
],
'status_label'=>[
'default' => 'primary',
0 => 'info',
1 => 'success',
2 => 'warning',
3 => 'danger',
-1=> 'danger'
],
//优惠卷 - 类型 type
'type'=>[
1=>'全平台',
2=>'线上',
3=>'线下',
],
//优惠卷 - 分类 category
'category'=>[
1=>'订单'
],
//优惠卷 - 是否新用户
'is_new_user'=>[
1=>'是',
2=>'否',
],
//优惠卷 - 发布优惠卷时,间隔最少时间
'interval_time_min'=>3600,
//优惠卷 - 设置
'setting_category'=>[
1=>[
'name' => '领取类型',
'active' => true
],
],
//优惠卷 - 折扣类型
'discount_type'=>[
1=>'金额',
2=>'打折(%)',
],
//优惠卷 - 活动类型 active_type
'active_type'=>[
1=>'领取活动',
2=>'转发活动',
3=>'返券专用'
]
];

12
config/label.php

@ -0,0 +1,12 @@
<?php
return [
'status_label'=>[
'default' => 'primary',
0 => 'info',
1 => 'success',
2 => 'warning',
3 => 'danger',
-1=> 'danger'
]
];

3
resources/lang/zh-CN/coupon-setting.php

@ -3,14 +3,17 @@ return [
'labels' => [
'CouponSetting' => '领取方式',
'couponSetting' => '领取方式',
'coupon_setting' => '领取方式',
],
'fields' => [
'name' => '名称',
'category' => '分类',
'category_text' => '分类',
'value' => '值',
'desc' => '描述',
'sort' => '排序',
'status' => '状态',
'status_text' => '状态',
],
'options' => [
],

8
resources/lang/zh-CN/coupon.php

@ -13,14 +13,14 @@ return [
'end_time_text' => '活动结束时间',
'full_amount' => '满金额',
'discounts' => '优惠金额',
'is_new_user' => '是否新用户',
'is_new_user_text' => '是否新用户',
'is_new_user' => '要求新用户',
'is_new_user_text' => '要求新用户',
'inventory' => '发放数量',
'inventory_use' => '已领取数量',
'type' => '类型',
'type_text' => '类型',
'market_id' => '市场',
'storetype_id' => '店铺类型',
'market_ids' => '市场',
'category_ids' => '店铺类型',
'category' => '分类',
'category_text' => '分类',
'active_type' => '活动类型',

Loading…
Cancel
Save