【类 型】:feat
【原 因】:创建店铺时候 顺便创建绑定 不可更改管理员 【过 程】:事务 创建店铺 然后创建管理员用户 有问题回滚 【影 响】:
This commit is contained in:
parent
7e05f09339
commit
9857824e1a
@ -25,32 +25,37 @@ class AdminController extends PublicController
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @description: 单位添加
|
||||
* @description: 单位添加(带事务:添加店铺 + 添加管理员)
|
||||
*/
|
||||
public function addShop()
|
||||
{
|
||||
//非总管理员 直接打断 退出
|
||||
if ($this->tokenShop_id != C('powerId')) { //非总管理员
|
||||
// 非总管理员,拒绝操作
|
||||
if ($this->tokenShop_id != C('powerId')) {
|
||||
echo json_encode(array('status' => 0, 'msg' => '没有权限'));
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($_REQUEST['name'] && $_REQUEST['price_min'] && $_REQUEST['weight_max'] && $_REQUEST['default_transport_price'] && $_REQUEST['default_pack_price']) {
|
||||
//生成shop_id随机值
|
||||
$arr = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
|
||||
$shop_id = "";
|
||||
// shop_id 随机生成
|
||||
$arr = str_split('abcdefghijklmnopqrstuvwxyz0123456789');
|
||||
$shop_id = '';
|
||||
for ($i = 0; $i < 16; $i++) {
|
||||
$rand = rand(0, 36);
|
||||
$shop_id = $shop_id . $arr[$rand];
|
||||
$rand = rand(0, count($arr) - 1);
|
||||
$shop_id .= $arr[$rand];
|
||||
}
|
||||
//如果有上传图片得操作 执行如下
|
||||
if ($_REQUEST['upFile']) { //有新图上传 则把图片从temp目录 复制到目标目录
|
||||
if (!(copy("Data/UploadFiles/temp/" . $_REQUEST['upFile'], "Data/UploadFiles/photo/" . $_REQUEST['upFile']))) {
|
||||
|
||||
// 处理 logo 上传
|
||||
if ($_REQUEST['upFile']) {
|
||||
$from = "Data/UploadFiles/temp/" . $_REQUEST['upFile'];
|
||||
$to = "Data/UploadFiles/photo/" . $_REQUEST['upFile'];
|
||||
if (!copy($from, $to)) {
|
||||
echo json_encode(array('status' => 0, 'msg' => '图片复制失败'));
|
||||
exit;
|
||||
}
|
||||
$data['logo'] = json_encode(array($_REQUEST['upFile'])); //序列化储存
|
||||
$data['logo'] = json_encode(array($_REQUEST['upFile']));
|
||||
}
|
||||
//data数据
|
||||
|
||||
// 组装店铺数据
|
||||
$data['shop_id'] = $shop_id;
|
||||
$data['name'] = $_REQUEST['name'];
|
||||
$data['waiter'] = $_REQUEST['waiter'];
|
||||
@ -66,12 +71,36 @@ class AdminController extends PublicController
|
||||
$data['describe'] = $_REQUEST['desc'];
|
||||
$data['opening_time'] = $_REQUEST['opening_time'];
|
||||
$data['closeing_time'] = $_REQUEST['closeing_time'];
|
||||
//录入数据库
|
||||
|
||||
$shopDb = D('shop');
|
||||
if ($shopDb->data($data)->add()) {
|
||||
echo json_encode(array('status' => 1, 'msg' => '创建成功'));
|
||||
$adminuserDb = D('adminuser');
|
||||
|
||||
// 开启事务
|
||||
$shopDb->startTrans();
|
||||
|
||||
$shopAddResult = $shopDb->data($data)->add();
|
||||
|
||||
if ($shopAddResult) {
|
||||
// 添加管理员数据
|
||||
$adminData['user_name'] = $_REQUEST['admin_name']; // 管理员用户名
|
||||
$adminData['pwd'] = md5(md5($_REQUEST['pwd']));
|
||||
$adminData['shop_id'] = $shop_id;
|
||||
$adminData['addtime'] = time();
|
||||
$adminData['role'] = 5;
|
||||
$adminData['unique'] = 1;
|
||||
|
||||
$adminAddResult = $adminuserDb->data($adminData)->add();
|
||||
|
||||
if ($adminAddResult) {
|
||||
$shopDb->commit();
|
||||
echo json_encode(array('status' => 1, 'msg' => '店铺和管理员创建成功'));
|
||||
} else {
|
||||
$shopDb->rollback();
|
||||
echo json_encode(array('status' => 0, 'msg' => '管理员创建失败,已回滚'));
|
||||
}
|
||||
} else {
|
||||
echo json_encode(array('status' => 0, 'msg' => '创建失败'));
|
||||
$shopDb->rollback();
|
||||
echo json_encode(array('status' => 0, 'msg' => '店铺创建失败'));
|
||||
}
|
||||
} else {
|
||||
echo json_encode(array('status' => 0, 'msg' => '参数有误'));
|
||||
|
Loading…
Reference in New Issue
Block a user