/** * @param string regions_en 国家或地区英文 * @return Boolean * @author yxd */ public function checkIsExists($country) { $checkdata = $this->sql("SELECT * FROM " . $this->getTableName() . " WHERE regions_en='{$country}' AND is_delete=0")->select(); if (empty($checkdata)) { self::$errMsg[10017] = get_promptmsg(10017, '系统不存在此国家'); return true; } return false; }
/** * 实例化父类,完成数据库插入判断 * @see commonModel::checkIsExists() * @param string $data * @return bool * @author lzx */ public function checkIsExists($data) { $checkdata = $this->sql("SELECT * FROM " . C('DB_PREFIX') . "platform WHERE platform='{$data['platform']}' AND is_delete=0")->select(); if (!empty($checkdata)) { self::$errMsg[10017] = get_promptmsg(10017, $data['platform']); return true; } return false; }
/** * 执行修改 */ public function view_update() { if (!A('PromptMsg')->act_update()) { $errorinfo = A('PromptMsg')->act_getErrorMsg(); $msg = empty($errorinfo) ? get_promptmsg(10103) : implode('<br>', $errorinfo); $this->error($msg, 'index.php?mod=PromptMsg&act=index'); } else { $this->success(get_promptmsg(200, '修改成功'), 'index.php?mod=PromptMsg&act=index&rc=reset'); } }
public function view_insert() { if (!A('StatusMenu')->act_insert()) { $errorinfo = A('StatusMenu')->act_getErrorMsg(); $msg = empty($errorinfo) ? get_promptmsg(10021) : implode('<br>', $errorinfo); $this->error($msg, 'index.php?mod=StatusMenu&act=index'); } else { $this->success(get_promptmsg(200, "新增成功"), "index.php?mod=StatusMenu&act=index&rc=reset"); } }
public function view_delete() { if (!A('Platform')->act_delete()) { $errorinfo = A('Platform')->act_getErrorMsg(); $msg = empty($errorinfo) ? get_promptmsg(10021) : implode('<br>', $errorinfo); $this->error($msg, 'index.php?mod=platform&act=index'); } else { $this->success(get_promptmsg(200, '删除平台'), 'index.php?mod=platform&act=index&rc=reset'); } }
public function view_insert() { if (!A('Currency')->act_insert()) { $errorinfo = A('Curecny')->act_getErrorMsg(); $msg = empty($errorinfo) ? get_promptmsg(10021) : implode('<br>', $errorinfo); $this->error($msg, 'index.php?mod=FromOpenConfig&act=index'); } else { $this->success(get_promptmsg(200, "新增成功"), "index.php?mod=Currency&act=index&re=reset"); } }
/** * 根据Id删除文件信息 异步实现 * @return array * @author yxd */ public function act_delete() { $id = trim($_POST['id']); if (M('StatusMenu')->deleteData($id)) { self::$errMsg[200] = get_promptmsg(200, "删除"); return array('state' => 'ok'); } else { return array('state' => 'no'); } }
public function view_saveEub() { if (A('EubAccount')->act_saveEub()) { $this->success(get_promptmsg(200, '保存成功'), 'index.php?mod=Account&act=index&rc=reset'); } else { $errorinfo = A('Account')->act_getErrorMsg(); $msg = empty($errorinfo) ? get_promptmsg(10110, "更新EUB") : implode('<br>', $errorinfo); $this->error($msg, 'index.php?mod=Account&act=index'); } }
/** * 综合调用函数返回最后计算出来的运费和运输方式 */ public function calcOrderCarrierAndShippingFee() { if (empty($this->orderData)) { $this->errMsg[10118] = get_promptmsg(10118); return false; } $carriers = $this->calcOrderCarriers(); if (!($shippingfees = $this->calcOrderShippingFee($carriers))) { //记录错误,需要自己写到消息提示配置里面。 return false; } return $this->chooseOrderShipping($shippingfees); }
public function act_updateData() { $id = $_REQUEST['id']; $data = array("functionname" => trim($_REQUEST['functionname']), "name" => trim($_REQUEST['name']), "requesturl" => trim($_REQUEST['requesturl']), "method" => trim($_REQUEST['method']), "format" => trim($_REQUEST['format']), "v" => trim($_REQUEST['v']), "username" => empty($_REQUEST['username']) ? 'purchase' : $_REQUEST['username'], "getOrPost" => $_REQUEST['getOrPost'] == '2' ? '2' : '1', "cachetime" => (int) $_REQUEST['cachetime']); $ret = M($this->act_getModel())->getData("id", "functionname='" . mysql_real_escape_string($data['functionname']) . "' or method='" . mysql_real_escape_string($data['method']) . "'"); foreach ($ret as $k => $v) { if ($v['id'] != $id) { self::$errMsg[10119] = get_promptmsg(10119, "函数名称或请求API"); return false; } } return M($this->act_getModel())->updateData($id, $data); }
public function act_changePassWord() { $curPwd = trim($_POST['curPwd']); $newPwd = trim($_POST['newPwd']); $repPwd = trim($_POST['repPwd']); if ($newPwd == $repPwd) { $userInfor = M('Developer')->getDeveloper("*", "id = " . $this->act_getUserInfor("id")); $pwdIsRight = false; $powerInfo = M("interfacePower")->getUserInfoByLoginEmail($this->act_getUserInfor("email")); if (!empty($powerInfo)) { //以鉴权为准 if ($powerInfo['loginPsd'] == md5(md5(trim($curPwd)))) { $pwdIsRight = true; } } else { //以本系统为准 if ($userInfor[0]['login_pwd'] == md5(md5(trim($curPwd)))) { $pwdIsRight = true; } } if ($pwdIsRight) { M('Developer')->begin(); $updatePwd = M('Developer')->updateDataByColumn("id", $this->act_getUserInfor("id"), array("login_pwd" => md5(md5($newPwd)))); if ($updatePwd > 0) { if (!empty($powerInfo)) { //以鉴权为准 $loginName = $this->act_getUserInfor("email"); $psw = $newPwd; $updateStatus = M('interfacePower')->updateGlobalUserPsw($loginName, $psw); if ($updateStatus['errCode'] == "0") { M('Developer')->commit(); self::$errMsg[200] = get_promptmsg(200); } else { M('Developer')->rollback(); self::$errMsg[1903] = '密码同步到鉴权系统失败!'; } } else { M('Developer')->commit(); self::$errMsg[200] = get_promptmsg(200); } } else { self::$errMsg[10151] = get_promptmsg(10151); } } else { self::$errMsg[10152] = get_promptmsg(10152); } } else { self::$errMsg[10153] = get_promptmsg(10153); } }
public function act_getAccountListByPlatform($uid, $platformId) { $accountList = M('UserCompetence')->getAcountPowerByUserId($uid, $platformId); $returnArr = array(); if (!empty($accountList)) { foreach ($accountList as $accountId) { $accountInfo = M('Account')->getAccountById($accountId); $returnArr[$accountId] = $accountInfo['account']; } self::$errMsg[200] = get_promptmsg(200, '获取账号信息'); } else { self::$errMsg[10040] = get_promptmsg(10040); } return $returnArr; }
/** * 仓库订单拆分逻辑,调用该方法前必须调用FormatOrder中的MarkOverSeaOrder标记订单仓库类型并插入到数据库中,然后再进行拆分 */ public function splitOrderForStore() { $orderData = $this->orderData; if (empty($orderData) || empty($orderData['order']['id'])) { $this->errMsg[10118] = get_promptmsg(10118); return false; } $orderStore = $orderData['order']['orderStore']; if (empty($orderStore)) { $this->errMsg[10126] = get_promptmsg(10126); //异常仓库订单 return false; } elseif (in_array($orderStore, array(2))) { //判断该订单是否处于包含海外料号和国内料号订单(orderStore=2),后面可能会扩展多个仓混合订单,所以这里用in_array $storeIdArr = array(); //定义一个数组存放orderData中sku所在仓库id; $orderDetail = $orderData['orderDetail']; if (!empty($orderDetail)) { $returnArr = array(); //要返回的订单数组信息,可能返回多个(拆分后)也可能只返回一个(不拆分) $detailArr = array(); //这个是模拟orderManage发货单拆分的格式(将storeId当成是虚拟发货单id),按照sku及数量对订单进行拆分 foreach ($orderDetail as $value) { $storeIdArr[] = intval($value['orderDetail']['storeId']) > 0 ? $value['orderDetail']['storeId'] : 0; } $storeIdArr = array_unique($storeIdArr); foreach ($storeIdArr as $storeId) { foreach ($orderDetail as $value) { if ($storeId == $value['orderDetail']['storeId']) { $detailArr[$storeId] = array($value['orderDetail']['sku'] => $value['orderDetail']['amount']); } } } $newOrderDataArr = M('OrderManage')->splitOrderWithOrderDetail($orderData['order']['id'], $detailArr); return 'SPLITTED'; } else { $this->errMsg[10075] = get_promptmsg(10075); //明细为空,不能拆 return false; } } else { $this->errMsg[10127] = get_promptmsg(10127); //不是混合仓订单,不需要拆分 return false; } }
/** * 提供给仓库上传EUB跟踪号,获取EUB参数的接口 * @param accountId * @return aray * @author zqt */ public function act_getEubAccountByAccountId() { $accountId = intval($_GET['accountId']) ? intval($_GET['accountId']) : 0; if ($accountId <= 0) { self::$errMsg[10046] = get_promptmsg(10046); return false; } else { $accountEUBList = M('EubAccount')->geteubAccountByAcid($accountId); if (empty($accountEUBList[0])) { self::$errMsg[10140] = get_promptmsg(10140); return false; } else { $conditionArr = array('id' => array('$e' => $accountId)); $AccountList = M('Account')->getAccountList($conditionArr); if (!empty($AccountList)) { $accountEUBList[0]['suffix'] = $AccountList[0]['suffix']; } return $accountEUBList[0]; } } }
/** * 根据开始和结束时间,抓取订单抓取号 * @param datetime $starttime * @param datetime $endtime * @return bool * @author lzx */ public function spiderOrderId($starttime, $endtime) { $OrderObject = F('ebay.package.GetOrders'); $OrderObject->setRequestConfig($this->authorize); $page = 1; $hasmore = true; $simplelists = array(); while ($hasmore) { $receivelists = $OrderObject->getOrderIds($starttime, $endtime, $page); $receivelists = XML_unserialize($receivelists); if (!isset($receivelists['GetOrdersResponse']['Ack']) || $receivelists['GetOrdersResponse']['Ack'] == 'Failure') { self::$errMsg[10095] = get_promptmsg(10095); break; } if ($receivelists['GetOrdersResponse']['PaginationResult']['TotalNumberOfPages'] < $page) { self::$errMsg[10096] = get_promptmsg(10096, $page, $receivelists['GetOrdersResponse']['PaginationResult']['TotalNumberOfPages']); break; } $page++; $hasmore = $receivelists['GetOrdersResponse']['HasMoreOrders'] == 'true' ? true : false; foreach ($receivelists['GetOrdersResponse']['OrderArray']['Order'] as $simpleorder) { /*参考变量 * $orderid = $simpleorder['OrderID']; $eBayPaymentStatus = $simpleorder['CheckoutStatus']['eBayPaymentStatus']; $OrderStatus = $simpleorder['CheckoutStatus']['Status']; $PaidTime = $simpleorder['PaidTime']; $ShippedTime = isset($simpleorder['ShippedTime']) ? $simpleorder['ShippedTime'] : '';*/ if ($simpleorder['CheckoutStatus']['Status'] != 'Complete') { continue; } /*//如果要抓取刷单的这里需要做修改 if ($simpleorder['CheckoutStatus']['eBayPaymentStatus']!='NoPaymentFailure') { break; }*/ $simplelists[] = array('ebay_orderid' => $simpleorder['OrderID'], 'ebay_account' => $this->authorize['account']); } } return $simplelists; }
public function act_login() { $userName = trim($_REQUEST['useremail']); $password = trim($_REQUEST['userpassword']); $where = 'is_delete=0 AND email="' . $userName . '"'; $ret = M("BacksatagesLogin")->getAdmin("*", $where); if (empty($ret)) { self::$errMsg[10135] = get_promptmsg(10135); //self::$errMsg=g; return false; } $loginInfo = M("interfacePower")->userLogin($userName, $password); if (!$loginInfo) { self::$errMsg[10136] = get_promptmsg(10136); return false; } else { //登录成功 $tmp = array("userId" => $loginInfo['userId'], "userToken" => $loginInfo['userToken'], "userName" => $loginInfo['userName'], "userCnName" => $loginInfo['userCnName'], "globalUserId" => $loginInfo['globalUserId']); setcookie('hcAdmin', _authcode(json_encode($tmp), 'ENCODE'), 0, "/"); $_SESSION['loginStatus'] = "in"; self::$errMsg[200] = get_promptmsg(200); return true; } }
/** * sql记录条数统计 * @param array $data * @author lzx */ public function replaceSql2Count($sql) { if (preg_match("/(`[a-z]*`)\\.\\*/", $sql) > 0) { return preg_replace("/(`[a-z]*`)\\.\\*/", "COUNT(\$1.id) AS count", $sql); } else { if (preg_match("/^SELECT\\s*\\*/i", $sql) > 0) { return preg_replace("/^SELECT\\s*\\*/i", "SELECT COUNT(*) AS count", $sql); } else { self::$errMsg[10111] = get_promptmsg(10111); return false; } } }
/** * 验证基础信息是否完整 */ protected function act_checkBaseInfo() { $type = trim($_REQUEST['type']); //开发者类型 $company = trim($_REQUEST['company']); //公司名称 $companyShortName = trim($_REQUEST['companyShortName']); //公司英文简称 $companyLegalPerson = trim($_REQUEST['companyLegalPerson']); //公司法人 $companyAddressProvince = trim($_REQUEST['companyAddressProvince']); //地址-省 $companyAddressCity = trim($_REQUEST['companyAddressCity']); //地址-市 $companyAddressDistrict = trim($_REQUEST['companyAddressDistrict']); //地址-区 $companyAddressExtend = trim($_REQUEST['companyAddressExtend']); //地址-详细 $contactPerson = trim($_REQUEST['contactPerson']); //联系人 $contactPersonPhone = trim($_REQUEST['contactPersonPhone']); //联系人电话 $contactPersonExt = $_REQUEST['contactPersonExt']; //其他联系人 $contactPersonPhoneExt = $_REQUEST['contactPersonPhoneExt']; //其他联系人电话 $mainProducts = $_REQUEST['mainProducts']; //主销产品 $soldToCountries = trim($_REQUEST['soldToCountries']); //卖往国家 if (strlen($company) < 2 || empty($company)) { $this::$errMsg[10112] = get_promptmsg(10112, "名称"); return false; } if (strlen($companyShortName) < 2 || empty($companyShortName)) { $this::$errMsg[10112] = get_promptmsg(10112, "简称"); return false; } if (empty($companyAddressProvince) || empty($companyAddressCity) || empty($companyAddressDistrict)) { $this::$errMsg[10112] = get_promptmsg(10112, "地址"); return false; } if (strlen($companyAddressExtend) < 5 || empty($companyAddressExtend)) { $this::$errMsg[10112] = get_promptmsg(10112, "详细地址"); return false; } if (strlen($contactPerson) < 4 || empty($contactPerson)) { $this::$errMsg[10112] = get_promptmsg(10112, "联系人名字"); return false; } if (!preg_match_all('/^[0-9]{6,20}$/i', $contactPersonPhone, $tmp)) { $this::$errMsg[10112] = get_promptmsg(10112, "联系人电话不"); return false; } foreach ($contactPersonExt as $k => $v) { if (!empty($v) || !empty($contactPersonPhoneExt[$k])) { if (strlen($v) < 4 || empty($v)) { $this::$errMsg[10112] = get_promptmsg(10112, "其他联系人名字"); return false; } if (!preg_match_all('/^[0-9]{6,20}$/i', $contactPersonPhoneExt[$k], $tmp)) { $this::$errMsg[10112] = get_promptmsg(10112, "其他联系人电话"); return false; } } } if (empty($mainProducts)) { $this::$errMsg[10115] = get_promptmsg(10115); return false; } $pcApi = M('InterfacePc'); $category = $pcApi->getRootCategoryInfo(); $category = array_flip($category); foreach ($mainProducts as $v) { if (!in_array($v, $category)) { $this::$errMsg[10114] = get_promptmsg(10114); return false; } } if ($type == '1') { if (strlen($companyLegalPerson) < 4 || empty($companyLegalPerson)) { //公司法人 $this::$errMsg[10112] = get_promptmsg(10112, "公司法人"); return false; } } if ($type != '2' && $type != '1') { $this::$errMsg[10113] = get_promptmsg(10113); return false; } return true; }
if (empty($ret)) { $errmsg = A($class)->act_getErrorMsg(); if (!empty($errmsg)) { json_return($errmsg); } } //对返回数据进行封装 $package = !empty($data[0]['extend_package']) ? $data[0]['extend_package'] : 'Package:commonPackage'; list($pclass, $pfun) = explode(':', $package); $pmethod = ucfirst($pclass . "Act"); $pfun = 'act_' . $pfun; if (!class_exists($pmethod)) { json_return(10176); } if (!method_exists($pmethod, $pfun)) { json_return(10176); } $ret = A($pclass)->{$pfun}($ret); $callback = isset($_GET['callback']) ? $_GET['callback'] : ""; $jsonp = isset($_GET['jsonp']) ? $_GET['jsonp'] : ""; $data = array("errCode" => 200, "errMsg" => get_promptmsg(10172), "status" => true, "data" => $ret); if (!empty($callback)) { if (!empty($jsonp)) { echo "try{ " . $callback . "(" . json_encode($data) . "); }catch(){alert(e);}"; } else { echo $callback . "(" . json_encode($data) . ");"; } } else { echo json_encode($data); } exit;
/** * 订单拦截总流程 */ public function interceptOrder($orderData = array()) { if (!empty($orderData)) { $this->setOrder($orderData); } if (empty($this->orderData)) { $this->errMsg[10118] = get_promptmsg(10118); return false; } $tmp_order_id = $this->orderData['order']['id']; //可以根据这个获取orderstatus所以只需要这一个就可以了 $StatusMenu = M('StatusMenu'); $ORDER_PENDING = $StatusMenu->getOrderStatusByStatusCode('ORDER_PENDING', 'id'); $ORDER_NO_NEED_SHIP = $StatusMenu->getOrderStatusByStatusCode('ORDER_NO_NEED_SHIP', 'id'); $ORDER_INVALID_ORDER = $StatusMenu->getOrderStatusByStatusCode('ORDER_INVALID_ORDER', 'id'); $ORDER_BLACKLIST = $StatusMenu->getOrderStatusByStatusCode('ORDER_BLACKLIST', 'id'); $ORDER_AUTOMATIC = $StatusMenu->getOrderStatusByStatusCode('ORDER_AUTOMATIC', 'id'); $order_type = 0; $result_status_type_arr = array(); $order_log = ""; $stmOb = F('SpecialTransportMethod'); $stmOb->setOrder($orderData); $stmOb->updateOrderUsefulTransportId(); $orderData = $stmOb->getOrder(); $this->setOrder($orderData); M('orderLog')->orderOperatorLog('no sql', '物流策略拦截完成,开始其他拦截:', $tmp_order_id); //amazon平台无需发货订单 if ($this->isfulfillByAmazon()) { $order_log .= "该订单是Amazon发货订单;"; $result_status_type_arr = array('status' => $ORDER_PENDING, 'type' => $ORDER_NO_NEED_SHIP); } //ebay平台检查paypal账号是否合法 if (empty($result_status_type_arr) && !$this->isValidPaypalAccount()) { $order_log .= "该订单paypal账号非法;"; $result_status_type_arr = array('status' => $ORDER_PENDING, 'type' => $ORDER_INVALID_ORDER); } //检查是否在黑名单 $error = $this->isInBlackList(); if (empty($result_status_type_arr) && false !== $error) { $order_log .= "该订单的买家信息在黑名单中:" . $error . ";"; $result_status_type_arr = array('status' => $ORDER_PENDING, 'type' => $ORDER_BLACKLIST); } //检查订单信息是否完整 $error = $this->isMissingInfoOrder(); if (empty($result_status_type_arr) && false !== $error) { $order_log .= "该订单信息不完整:" . $error . ";"; $ORDER_MISSING_INFO = $StatusMenu->getOrderStatusByStatusCode('ORDER_MISSING_INFO', 'id'); $result_status_type_arr = array('status' => $ORDER_PENDING, 'type' => $ORDER_MISSING_INFO); } //检查订单sku信息是否完整 $error = $this->isContainInvalidSkuOrder(); if (empty($result_status_type_arr) && false !== $error) { $order_log .= "该订单sku信息错误:" . $error . ";"; $ORDER_INVALID_SKU = $StatusMenu->getOrderStatusByStatusCode('ORDER_INVALID_SKU', 'id'); $result_status_type_arr = array('status' => $ORDER_PENDING, 'type' => $ORDER_INVALID_SKU); } //检查订单是否有留言 if (empty($result_status_type_arr) && $this->isLeaveWordOrder()) { $order_log .= "该订单有留言;"; $ORDER_LEAVE_WORD = $StatusMenu->getOrderStatusByStatusCode('ORDER_LEAVE_WORD', 'id'); $result_status_type_arr = array('status' => $ORDER_PENDING, 'type' => $ORDER_LEAVE_WORD); } //检查订单是否是超大订单 if (empty($result_status_type_arr) && $this->isSuperLargeOrder()) { $order_log .= "该订单是超大订单;"; $ORDER_SUPER_LARGE = $StatusMenu->getOrderStatusByStatusCode('ORDER_SUPER_LARGE', 'id'); $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $ORDER_SUPER_LARGE); } //检查订单是否缺货 if (empty($result_status_type_arr) && ($outOfStockResult = $this->isOutOfStockOrder())) { if ($outOfStockResult === 'ORDER_EXPRESS_OUT_OF_STOCK') { $order_log .= "该订单是快递缺货订单,需手动拆分;"; $ORDER_EXPRESS_OUT_OF_STOCK = $StatusMenu->getOrderStatusByStatusCode('ORDER_EXPRESS_OUT_OF_STOCK', 'id'); $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $ORDER_EXPRESS_OUT_OF_STOCK); } else { if (is_array($outOfStockResult)) { $orderId = $this->order_id; $error_tmp = A('orderManage')->act_splitOrderWithOrderDetail($orderId, $outOfStockResult); M('Base')->begin(); M('orderLog')->orderOperatorLog('no sql', '自动拆分全部完成,返回数据:' . json_encode($error_tmp), $orderId); if (is_string($error_tmp)) { $order_log .= $error_tmp; } $ORDER_PACKAGE_OUT_OF_STOCK = $StatusMenu->getOrderStatusByStatusCode('ORDER_PACKAGE_OUT_OF_STOCK', 'id'); //原订单虽然已经删除,还是需要更新原订单的状态,防止下面的超重拆分 $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $ORDER_PACKAGE_OUT_OF_STOCK); } else { if ($outOfStockResult === true) { $order_log .= "该订单是小包缺货订单,订单不能自动拆分;"; $ORDER_PACKAGE_OUT_OF_STOCK = $StatusMenu->getOrderStatusByStatusCode('ORDER_PACKAGE_OUT_OF_STOCK', 'id'); $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $ORDER_PACKAGE_OUT_OF_STOCK); } else { $order_log .= "该订单是小包缺货订单,自动拆分失败;"; $ORDER_PACKAGE_OUT_OF_STOCK = $StatusMenu->getOrderStatusByStatusCode('ORDER_PACKAGE_OUT_OF_STOCK', 'id'); $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $ORDER_PACKAGE_OUT_OF_STOCK); } } } //缺货同样占用库存 , 更新该订单中sku的待发货数量 F('SkuDailyInfo')->updateDailyAverageInfoByOrder($this->order_id); } if (empty($result_status_type_arr)) { //超重订单处理(超重订单自动拆分,包括修改主订单和子订单的状态) $is_over_weight = M('orderManage')->handleOverWeightOrder($this->orderData); //订单只有一个sku,并且超重 if ($is_over_weight === 'ONLY_ONE_SKU_OVER_HEIGHT') { $order_log .= "该订单是单sku超重订单,不能拆分;"; $ONLY_ONE_SKU_OVER_HEIGHT = $StatusMenu->getOrderStatusByStatusCode('ONLY_ONE_SKU_OVER_HEIGHT', 'id'); $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $ONLY_ONE_SKU_OVER_HEIGHT); } else { if ($is_over_weight === true) { $order_log .= "该订单是超重订单,已经自动拆分;"; $NO_NEED_SHIP = $StatusMenu->getOrderStatusByStatusCode('NO_NEED_SHIP', 'id'); $result_status_type_arr = array('status' => $ORDER_AUTOMATIC, 'type' => $NO_NEED_SHIP); } else { $order_log .= $is_over_weight; } } } if (empty($order_log)) { $order_log = "订单拦截结果:正常订单"; //进入待发货状态 $ORDER_WAIT_SHIP = $StatusMenu->getOrderStatusByStatusCode('ORDER_WAIT_SHIP', 'id'); $result_status_type_arr = array('status' => $ORDER_WAIT_SHIP, 'type' => $ORDER_WAIT_SHIP); } else { $order_log = "订单拦截结果:" . $order_log; } $order_log = $order_log . json_encode($result_status_type_arr); M('orderLog')->orderOperatorLog('no sql', $order_log, $tmp_order_id); if (!empty($result_status_type_arr)) { $update_data = array('orderStatus' => $result_status_type_arr['status'], 'orderType' => $result_status_type_arr['type']); M('orderModify')->updateOrderInfo($tmp_order_id, $update_data); //更新该订单中sku的待发货数量 F('SkuDailyInfo')->updateDailyAverageInfoByOrder($this->order_id); } M('Base')->commit(); /** //为后面的超大订单拦截和缺货拦截使用 $this->orderbelong = $this->MarkOverSeaOrder(); if ($ordertype = $this->interceptLargeOrder()){ return $ordertype; } if ($ordertype = $this->interceptOutOfStockOrder()){ return $ordertype; } /**/ ##### 其他需要拦截的以此类推 ###### //通过所有拦截为正常待处理订单 return true; }
/** * 提供给运输方式管理系统及仓库系统接口,批量根据订单编号获取申请跟踪号所需信息 * @return array * @author zqt */ public function act_getOrderInfoListByOmOrderIds() { $omOrderIdArr = explode(',', $_REQUEST['omOrderIds'] ? $_REQUEST['omOrderIds'] : ''); if (empty($omOrderIdArr[0])) { self::$errMsg[10027] = get_promptmsg(10027); return false; } $orderData = M('Order')->getFullUnshippedOrderById($omOrderIdArr); foreach ($orderData as $omOrderId => $orderArr) { foreach ($orderArr['orderDetail'] as $orderdetailIndex => $detailArr) { $orderData[$omOrderId]['orderDetail'][$orderdetailIndex]['skuDetail'] = M('InterfacePc')->getSkuInfo($detailArr['orderDetail']['sku']); } $orderCalcList = M('Order')->getOrderCalcListById($omOrderId); if (!empty($orderCalcList[0])) { $orderData[$omOrderId]['orderCalculation'] = $orderCalcList[0]; } $orderDeclarationContentList = M('ExpressRemark')->getRemarkById($omOrderId); if (!empty($orderDeclarationContentList)) { $orderData[$omOrderId]['orderDeclarationContent'] = $orderDeclarationContentList; } } return $orderData; }
protected function ajaxReturn($data = '', $prompt = 'auto') { header('Content-Type:application/json; charset=utf-8'); //设置格式 $result = array(); //设置成{"errCode":"","errMsg":"","data":""}这种格式 if ($prompt == 'auto') { $prompt = A('Common')->act_getErrorMsg(); if (empty($prompt)) { $result['errCode'] = "200"; $result['errMsg'] = get_promptmsg(200); } } foreach ($prompt as $key => $msg) { //只要其中有出现非200的就拦截 if ($key != '200') { $result['errCode'] = $key; $result['errMsg'] = $msg; break; } //只判断最后一个错误码 $result['errCode'] = $key; $result['errMsg'] = $msg; } $result['data'] = $data; return json_encode($result); }
/** * 根据鉴权的公司ID更新本地ebay申请状态 * @return array * @author wcx */ public function act_updateOpenServiceStatus() { $companyId = trim($_REQUEST['companyId']); $serverId = trim($_REQUEST['serverId']); $status = trim($_REQUEST['status']); $allInfo = M("InterfacePower")->getCompanyInfo(); $company = ""; foreach ($allInfo as $k => $v) { if ($v['companyId'] == $companyId) { $company = $v['companyName']; break; } } if (empty($company)) { self::$errMsg[10133] = get_promptmsg(10133); return false; } $ret = M("Developer")->getDeveloper("id", "company='{$company}'"); if (empty($ret)) { self::$errMsg[10134] = get_promptmsg(10134); return false; } else { $whereData = array("dp_id" => $ret[0]['id'], "open_service_id" => $serverId); $data = array('status' => $status, 'apply_time' => time()); return M('MyEmpower')->updateMyEmpower($whereData, $data); } }
/** * 根据查询条件组装查询SQL语句 * @param array $conditions * @return string 查询语句 * @author lzx */ private function getOrderSQL($conditions) { $this->tablekey = $this->getOrderTableKey(isset($conditions['order']['completeTime']) ? $conditions['order']['completeTime'] : 0); if (!$this->tablekey) { return false; } $tablelist = $this->getOrderTable(); if (!in_array($tablelist['order'], $this->getOrderTableList())) { self::$errMsg[10024] = get_promptmsg(10024, json_encode($conditions['order']['completeTime']), $tablelist['order']); return false; } $mainkey = ''; $wherearray = array(); foreach ($conditions as $key => $condition) { $formatwhere = $this->formatWhereField($tablelist[$key], $condition); if (!$formatwhere) { return false; } if ($key == 'order') { $mainkey = $key; $sql = "SELECT `{$key}`.* FROM `{$tablelist[$key]}` AS `{$key}` "; } else { $sql .= " LEFT JOIN `{$tablelist[$key]}` AS `{$key}` ON `{$mainkey}`.id=`{$key}`.omOrderId "; } $wherearray = array_merge($wherearray, array2where($formatwhere, "`{$key}`")); } return "{$sql} WHERE " . implode(' AND ', $wherearray) . (isset($conditions['detail']) ? "GROUP BY `{$mainkey}`.id" : ''); }
/** * 获取取消的合并订单 */ public function view_findCombineOrder() { $this->ajaxReturn(A('OrderManage')->act_findCombineOrder(), array('200' => get_promptmsg(200, '获取合并订单'))); }
/** * 实例化父类,完成数据库插入判断 * @see commonModel::checkIsExists() * @param string $data * @return bool * @author lzx */ public function checkIsExists($data) { $checkdata = $this->sql("SELECT * FROM " . $this->getTableName() . " WHERE account='{$data['account']}' AND is_delete=0")->select(); if (!empty($checkdata)) { self::$errMsg[10017] = get_promptmsg(10017, $data['account']); return true; } return false; }
/** * API接口返回函数封装 * @param int|array $message 信息编码 匹配表---om_prompt_msg * @param array $data * @author lzx */ function json_return($message, $data = '') { if (is_array($message)) { $msgNo = array_shift(array_keys($message)); $msg = implode('<br>', $message); } else { $msgNo = intval($message); $numargs = func_num_args(); if ($numargs < 3) { $msg = get_promptmsg($msgNo); } else { $arg_list = func_get_args(); $varlist = array_slice($arg_list, 2); $varstr = implode(',', array2strarray(array_map('addslashes', array_map('htmlspecialchars', $varlist)))); eval("\$msg = get_promptmsg({$msgNo}, {$varstr});"); } } echo json_encode(array("errCode" => $msgNo, "errMsg" => $msg, "status" => $msg == 'Success' ? true : false, "data" => $data)); exit; }
public function act_synDistributorOpenCategoryToPaSys() { $dpId = $_REQUEST['dpId']; $developerMod = M('Developer'); if (!$dpId) { self::$errMsg[10147] = get_promptmsg(10147); return false; } $dpInfor = $developerMod->getDeveloper("*", "id = {$dpId}"); if (empty($dpInfor)) { self::$errMsg[10131] = get_promptmsg(10131, '分销商店铺'); return false; } //获取鉴权公司id $companyName = $dpInfor[0]['company']; $ret = $this->act_getPowerCompanyInfo($companyName); if (empty($ret)) { //鉴权系统不存在该公司 self::$errMsg[10133] = get_promptmsg(10133); return false; } else { $companyId = $ret['companyId']; } if (!empty($dpInfor)) { if (!empty($dpInfor[0]['intention_products'])) { //开始同步 $synRes = M('interfacePa')->synDistributorOpenCategory($companyId, $dpInfor[0]['intention_products']); if (!$synRes) { self::$errMsg[10148] = get_promptmsg(10148); return false; } else { self::$errMsg[200] = get_promptmsg(200); return true; } } else { self::$errMsg[10115] = get_promptmsg(10115); return false; } } else { self::$errMsg[10118] = get_promptmsg(10118, '店铺'); return false; } }
/** * 重新封装sql语句删除函数,逻辑删除 * @return bool 执行结果 * @author lzx */ protected function delete() { $sql = isset($this->options['sql']) ? trim($this->options['sql']) : ''; $this->options = array(); self::$_sql[] = $sql; if (empty($sql)) { self::$errMsg[10020] = get_promptmsg(10020, 'delete'); return false; } if (preg_match("/^\\s*update.*is_delete\\s*=\\s*1/i", $sql) == 0) { self::$errMsg[10019] = get_promptmsg(10019, 'delete', $sql); return false; } $ret = $this->dbConn->query($sql); if ($ret) { self::$errMsg[200] = get_promptmsg(200); return true; } else { self::$errMsg[10021] = get_promptmsg(10021, 'delete'); return false; } }
/** * 添加速卖通订单 */ public function view_insertAliexpressOrder() { A('OrderAdd')->act_insertAliexpressOrder(); $errorinfo = A('OrderAdd')->act_getErrorMsg(); $msg = empty($errorinfo) ? get_promptmsg(10016) : implode('<br>', $errorinfo); $this->notJump($msg, 'index.php?mod=orderAdd&act=addAliexpressOrder'); }