You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
5.6 KiB
156 lines
5.6 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | 天诚科技 [ 刘海东 17600099397赋能开发者,助力企业发展 ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2016~2020 https://www.tczxkj.com All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed 该系统并不是自由软件,未经许可不能去掉相关版权
|
|
// +----------------------------------------------------------------------
|
|
// | Author:甘肃天诚志信电子商务有限公司 刘海东 联系电话维系17600099397
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace app\admin\controller\user;
|
|
|
|
use app\admin\model\user\MemberCardBatch;
|
|
use app\admin\model\user\MemberCard as MemberCardModel;
|
|
use app\admin\controller\AuthController;
|
|
use service\JsonService as Json;
|
|
use service\FormBuilder as Form;
|
|
use think\Db;
|
|
use think\Url;
|
|
|
|
/**
|
|
* 会员卡管理控制器
|
|
* Class MemberCard
|
|
* @package app\admin\controller\user
|
|
*/
|
|
class MemberCard extends AuthController
|
|
{
|
|
public function index()
|
|
{
|
|
$this->assign(['activity_type' => 1]);
|
|
return $this->fetch('batch_index');
|
|
}
|
|
|
|
public function batch_list()
|
|
{
|
|
$where = parent::getMore([
|
|
['title', ''],
|
|
['page', 1],
|
|
['limit', 20],
|
|
]);
|
|
$batch_list = MemberCardBatch::getBatchList($where);
|
|
return Json::successlayui($batch_list);
|
|
}
|
|
|
|
public function add_batch()
|
|
{
|
|
return $this->fetch();
|
|
}
|
|
|
|
public function save_batch()
|
|
{
|
|
$data = parent::postMore([
|
|
['title', ''],
|
|
['use_day', 1],
|
|
['total_num', 1],
|
|
['status', 0],
|
|
['remark', '']
|
|
]);
|
|
if (!isset($data['use_day']) || $data['use_day'] <= 0 || !is_numeric($data['use_day'])) return Json::fail('体验时间未填写或不合法');
|
|
if (!isset($data['total_num']) || $data['total_num'] <= 0 || !is_numeric($data['total_num'])) return Json::fail('制卡未填写或不合法');
|
|
if ($data['total_num'] > 6000) return Json::fail('单次制卡数量最高不得超过6000张');
|
|
try {
|
|
MemberCardBatch::beginTrans();
|
|
$data['create_time'] = time();
|
|
$batch_id = MemberCardBatch::addBatch($data);
|
|
$batch_card = MemberCardModel::addCard($batch_id, $data['total_num']);
|
|
if ($batch_id && $batch_card) {
|
|
$qrcodeUrl = MemberCardBatch::qrcodes_url($batch_id, 5);
|
|
MemberCardBatch::where('id', $batch_id)->update(['qrcode' => $qrcodeUrl]);
|
|
}
|
|
MemberCardBatch::commitTrans();
|
|
return Json::successful('添加成功');
|
|
} catch (\Exception $e) {
|
|
MemberCardBatch::rollbackTrans();
|
|
return Json::fail('添加失败');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 快速编辑
|
|
* @param string $field 字段名
|
|
* @param int $id 修改的主键
|
|
* @param string value 修改后的值
|
|
* @return json
|
|
*/
|
|
public function set_value($field = '', $id, $value = '', $model_type)
|
|
{
|
|
if ($field == "use_day" && $id) {
|
|
if (!$value || !is_numeric($value) || $value <= 0) return Json::fail('非法数值');
|
|
$get_one = MemberCardModel::getCardOne(['card_batch_id' => $id, 'use_uid' => ['>', 0]]);
|
|
if ($get_one) {
|
|
return Json::fail('此批次卡片已经在使用当中,无法进行此非法操作');
|
|
}
|
|
}
|
|
if ($model_type == 'member_card_batch' && $field != 'remark') {
|
|
$use = MemberCardModel::where('card_batch_id', $id)->where('use_uid', '>', 0)->count();
|
|
if ($use) return Json::fail('此批次卡片已经在使用当中,无法进行此非法操作');
|
|
}
|
|
if ($model_type == 'member_card' && $id) {
|
|
$card = MemberCardModel::where(['id' => $id, 'use_uid' => ['>', 0]])->find();
|
|
if ($card) return Json::fail('此卡片已经在使用当中,无法进行此非法操作');
|
|
}
|
|
$res = parent::getDataModification($model_type, $id, $field, $value);
|
|
if ($res)
|
|
return Json::successful('保存成功');
|
|
else
|
|
return Json::fail('保存失败');
|
|
}
|
|
|
|
public function card_index()
|
|
{
|
|
$data = parent::getMore([
|
|
['activity_type', 2],
|
|
['card_batch_id', 0],
|
|
|
|
]);
|
|
$batch_list = MemberCardBatch::getBatchAll([]);
|
|
$this->assign([
|
|
'activity_type' => $data['activity_type'],
|
|
'card_batch_id' => $data['card_batch_id'],
|
|
'batch_list' => $batch_list ? $batch_list->toArray() : [],
|
|
]);
|
|
return $this->fetch();
|
|
}
|
|
|
|
public function card_list()
|
|
{
|
|
$card_batch_id = $this->request->param('card_batch_id', 0);
|
|
$excel = $this->request->param('excel', 0);
|
|
$where = parent::getMore([
|
|
['card_number', ""],
|
|
['phone', ""],
|
|
['card_batch_id', $card_batch_id],
|
|
['is_use', ""],
|
|
['is_status', ""],
|
|
['page', 1],
|
|
['limit', 20],
|
|
['excel', $excel],
|
|
]);
|
|
$card_list = MemberCardModel::getCardList($where);
|
|
return Json::successlayui($card_list);
|
|
}
|
|
|
|
/**删除
|
|
* @param int $id
|
|
*/
|
|
public function delete($id = 0)
|
|
{
|
|
$res = MemberCardBatch::delMemberCard($id);
|
|
if (!$res)
|
|
return Json::fail(MemberCardModel::getErrorInfo('删除失败,请稍候再试!'));
|
|
else
|
|
return Json::successful('删除成功!');
|
|
}
|
|
}
|
|
|