예제 #1
0
 public function Create()
 {
     $this->LogInfo("APP create order...");
     //验证APP是否登录
     $this->DoAuth();
     $req = $this->GetReqObj();
     //创建订单
     $order = $req->order;
     $orderData = $this->objectToArray($order);
     $orderDao = $this->GetModel();
     do {
         $orderData['order_code'] = date('ymdHis', time()) . rand(1000, 9999);
     } while ($orderDao->where('order_code=' . $orderData['order_code'])->count());
     if (OrderEnum::OnlinePay == $orderData['pay_option']) {
         $orderData['order_status'] = OrderEnum::WaitBuyerPay;
     } else {
         $orderData['order_status'] = OrderEnum::OrderSubmit;
     }
     $orderData['create_time'] = date('Y-m-d H:i:s', time());
     $orderData['company_id'] = $req->app_id;
     $this->LogInfo("order info is " . json_encode($orderData));
     try {
         $result = MispCommonService::Create($orderDao, $orderData);
     } catch (FuegoException $e) {
         $this->errorCode = $e->getCode();
         $this->ReturnJson();
         return;
     }
     //正常下单创建订单详情
     if ($orderData['order_type'] == OrderEnum::NormalOrder) {
         //创建订单详情
         $orderDetailDao = LaundryDaoContext::OrderDetail();
         $orderDetailList = $req->orderDetailList;
         for ($i = 0; $i < count($orderDetailList); $i++) {
             $orderDetailList[$i] = $this->objectToArray($orderDetailList[$i]);
             $orderDetailList[$i]['order_id'] = $result;
         }
         $this->LogInfo("order type is " . OrderEnum::NormalOrder);
         $this->LogInfo("order detail is " . json_encode($orderDetailList));
         try {
             $detailResult = MispCommonService::CreateList($orderDetailDao, $orderDetailList);
         } catch (FuegoException $e) {
             $this->errorCode = $e->getCode();
             $this->ReturnJson();
             return;
         }
     }
     //直接下单
     if (OrderEnum::DirectOrder == $orderData['order_type']) {
         $this->LogInfo("order type is " . OrderEnum::DirectOrder);
     }
     //发出订单邮件通知
     $adminDao = LaundryDaoContext::administrators();
     $CompanyCondition['company_id'] = $req->app_id;
     $Email = $adminDao->where($CompanyCondition)->getField('email');
     $this->LogInfo("admin email is " . $Email);
     if (false == SendMail($Email, OrderEnum::EMAIL_TITLE, "会员:" . $orderData['user_name'] . " 已成功提交订单,订单号为:" . $orderData['order_code'] . "。请及时处理!")) {
         $this->LogErr("Order has create,But send mail failed.");
     }
     //获取订单信息返回
     $orderCondition['order_code'] = $orderData['order_code'];
     try {
         $object = MispCommonService::GetUniRecord($orderDao, $orderCondition);
     } catch (FuegoException $e) {
         $this->errorCode = $e->getCode();
         $this->ReturnJson();
         return;
     }
     $data['obj'] = $object;
     $this->ReturnJson($data);
 }
 public function CreateBasicRole($companyID)
 {
     //创建公司基本角色
     $roleDao = MispDaoContext::SystemRole();
     //创建管理员角色
     $role['role_name'] = "管理员";
     $role['user_type_id'] = UserTypeEnum::ADMIN;
     $role['user_type_name'] = "ADMIN";
     $role['company_id'] = $companyID;
     $adminRoleID = MispCommonService::Create($roleDao, $role);
     //创建管理员权限
     $privilegeDao = MispDaoContext::Privilege();
     $privilegeList = array();
     for ($i = 1; $i < 5; $i++) {
         $privilege['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE;
         $privilege['master_value'] = $adminRoleID;
         $privilege['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_MENU;
         $privilege['access_obj_value'] = $i;
         array_push($privilegeList, $privilege);
     }
     $loginPrivilege['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE;
     $loginPrivilege['master_value'] = $adminRoleID;
     $loginPrivilege['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_LOGIN;
     $loginPrivilege['access_obj_value'] = PrivilegeEnum::ACCESS_VALUE_WEB_LOGIN;
     array_push($privilegeList, $loginPrivilege);
     $result = MispCommonService::CreateList($privilegeDao, $privilegeList);
     //创建消费者角色
     $role['role_name'] = "消费者";
     $role['user_type_id'] = UserTypeEnum::CUSTOMER;
     $role['user_type_name'] = "CUSTOMER";
     $role['company_id'] = $companyID;
     $sellerRoleID = MispCommonService::Create($roleDao, $role);
     //创建消费者权限
     $loginPrivilege['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE;
     $loginPrivilege['master_value'] = $sellerRoleID;
     $loginPrivilege['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_LOGIN;
     $loginPrivilege['access_obj_value'] = PrivilegeEnum::ACCESS_VALUE_APP_LOGIN;
     $result = MispCommonService::Create($privilegeDao, $loginPrivilege);
     return $adminRoleID;
 }