public function currentAction() { //取出起始时间 $beginTime = $this->dateArr['endTime']; $endTime = time(); //取出当前时间段的数据 $orderRelation = new OrderRelationModel(); $orderRelation->setBeginTime($beginTime); $orderRelation->setEndTime($endTime); $currentSettles = $orderRelation->getPayedOrder(); //添加用户信息 $key = '_customer_id'; $currentSettles = get_customer_info_by_id($currentSettles, $key); //添加系数信息 $rebate = new RebateModel(); $key = 'totalGoodsFee'; $keyRes = '_totalGoodsFee_rebate'; $currentSettles = $rebate->getRatioByMoney($currentSettles, $key, $keyRes); $key = 'lineTotalGoodsFee'; $keyRes = '_lineTotalGoodsFee_rebate'; $currentSettles = $rebate->getRatioByMoney($currentSettles, $key, $keyRes); //计算佣金 foreach ($currentSettles as $key => $value) { $currentSettles[$key]['commission'] = floor($value['totalDirectFee'] * $value['_totalGoodsFee_rebate']['direct_ratio'] + $value['lineTotalLineFee'] * $value['_lineTotalGoodsFee_rebate']['line_ratio']); } //数据分页 $currentPage = I('get.p', 1); $this->page->setCounts(count($currentSettles)); $this->page->setCurrentpage($currentPage); $this->page->setPageStyle(2); $pageSize = $this->page->getPageSize(); //截取本页内容 $currentSettles = array_slice($currentSettles, ($currentPage - 1) * $pageSize, $pageSize); $this->assign('beginTime', $beginTime); $this->assign('endTime', $endTime); $pageStr = $this->page->fetch(); $this->assign('page', $pageStr); $this->assign('data', $currentSettles); $this->assign('YZRight', $this->fetch()); $this->display(YZ_TEMPLATE); }
public function cancelPayAction() { $payId = I('get.payid', ''); if ($payId == '') { die("系统错误:未接收到payid"); } $page = I('get.p', 1); //删除支付订单表 $relation = new OrderRelationModel(); $relation->setPayId($payId); $key = 'id'; $relation->setKey($key); $relation->cancleInfoByPayid(); //删除订单表 $orderForm = new OrderFormModel(); $orderForm->setPayid($payId); $key = 'id'; $orderForm->setPayidKey($key); $orderForm->cancelDataByPayid(); //设置跳转URL $jumpUrl = U("nopay?payid=" . $payid . "&p=" . $page); $this->success('订单已取消', $jumpUrl); }
private function _getInfoBetweenTime($beginTime, $endTime) { //取出当前时间段的数据 $orderRelation = new OrderRelationModel(); $orderRelation->setBeginTime($beginTime); $orderRelation->setEndTime($endTime); $currentSettles = $orderRelation->getPayedOrder(); //添加用户信息 $key = '_customer_id'; $currentSettles = get_customer_info_by_id($currentSettles, $key); //添加系数信息 $rebate = new RebateModel(); $key = 'totalGoodsFee'; $keyRes = '_totalGoodsFee_rebate'; $currentSettles = $rebate->getRatioByMoney($currentSettles, $key, $keyRes); $key = 'lineTotalGoodsFee'; $keyRes = '_lineTotalGoodsFee_rebate'; $currentSettles = $rebate->getRatioByMoney($currentSettles, $key, $keyRes); //计算佣金 foreach ($currentSettles as $key => $value) { $currentSettles[$key]['commission'] = floor($value['totalDirectFee'] * $value['_totalGoodsFee_rebate']['direct_ratio'] + $value['lineTotalLineFee'] * $value['_lineTotalGoodsFee_rebate']['line_ratio']); } $key1 = '_customer_id'; $key2 = 'openid'; $currentSettles = change_key_by_key1_key2($currentSettles, $key1, $key2); return $currentSettles; }
private function _getCurrentCustomerCurrentAchievement() { /* 取用户基本信息**** */ $openid = (string) $this->postObj->FromUserName; //获取当前周期的开始结束日期 $config = new ConfigModel(); $times = $config->getBeginTimeAndEndTime(); $beginTime = $times['endTime']; $endTime = time(); //取当期业绩信息中直销业绩 $relationForm = new OrderRelationModel(); $currentAchievement['direct'] = $relationForm->getAchievementByOpenid($openid, $beginTime, $endTime); //取出上线为自已的所有用户的业绩 $customer = new CustomerModel(); $openids = $customer->getLineOpenids($openid); $currentAchievement['line'] = $relationForm->getAchievementByOpenid($openids, $beginTime, $endTime); //添加直销,线销系数 $rebate = new RebateModel(); //取直销系数 $dataArr[0] = $currentAchievement['direct']; $key = '_totalGoodsFee'; $keyReturn = '_direct_radio'; $dataArr = $rebate->getRatioByMoney($dataArr, $key, $keyReturn); $currentAchievement['_direct_radio'] = $dataArr[0][$keyReturn]; //取线销系数 $dataArr[0] = $currentAchievement['line']; $keyReturn = '_line_radio'; $dataArr = $rebate->getRatioByMoney($dataArr, $key, $keyReturn); $currentAchievement['_line_radio'] = $dataArr[0][$keyReturn]; return $currentAchievement; }
private function _addInfo($allOrderArr) { //拼接订单中的商品信息 $orderGoods = new OrderGoodsModel(); $key = 'id'; $resKey = '_goods'; $allOrderArr = $orderGoods->getGoodsArrByOrderIdArr($allOrderArr, $key, $resKey); //拼接支付订单信息 $orderRelation = new OrderRelationModel(); $key = 'payid'; $resKey = '_payid'; $allOrderArr = $orderRelation->getPayInfoArrByPayIdArr($allOrderArr, $key, $resKey); //拼接支付URL $allOrderArr = $this->_addPayUrl($allOrderArr); return $allOrderArr; }
public function payNowAction() { $openid = get_openid(); $ids = I('get.ids', '', false); $counts = I('get.counts', '', false); $coupon = I("get.coupons", '', false); //字符串转为数组 if ($ids == '') { $ids = array(); } else { $ids = explode("-", $ids); } if ($counts == '') { $counts = array(); } else { $counts = explode("-", $counts); } if ($coupon == '') { $coupon = array(); } else { $coupon = explode("-", $coupon); } //取出商品信息,总计信息 $group = new SubmitController(); $product = $group->dataAccess($ids, $counts); if ($product == false) { return; } $goods = $product[0]; $totalInfo = $product[1]; $countTotal = $totalInfo['totalCount']; //看优惠券数量是否大于商品数量 if (count($coupon) > $countTotal) { //跳转至报错界面 return; } //送入优惠券ID组成的数组,按ID值取出优惠券信息 $couponModel = new CouponModel(); $couponInfo = $couponModel->getInfo($coupon, $openid); //利用foreach,计算优惠券总金额(过期优惠券\已使用优惠券直接抛弃) $couponTotal = 0; foreach ($couponInfo as $key => $value) { /* 优惠券使用为0,未使用为1*/ if ($value['end_time'] > time() && (int) $value['state'] & 1 == 1) { $couponTotal += $value['cover']; } } $totalInfo['totalCoupon'] = $couponTotal; $totalInfo['totalPayable'] -= $couponTotal; $totalInfo['totalPayable'] = $totalInfo['totalPayable'] > 0 ? $totalInfo['totalPayable'] : 1; //接收收货地址信息,通过收货地址,取详细信息 $addressId = I('get.addressId', ''); $address = new CustomerAddressModel(); $address->setId($addressId); $addressInfo = $address->getAddress(); $totalInfo['addressInfo'] = $addressInfo; $totalInfo['buyOpenid'] = $openid; //接收支付类型,类型为0为微信支付,类型为1为其它支付方式 // $payType = I('get.payType','0'); //传入总金额,生成订单支付数据 $orderRelation = new OrderRelationModel(); $orderRelation->setTotalInfo($totalInfo); $payId = $orderRelation->addOrder(); //传入订单信息,生成订单数据,返回订单ID /* * $payid, 支付id * $openid, * $logisticsMode, 物流方式 * $source, 来源 * $payable, 总金额 * $weightTotal, 总重量 * $countTotal,商品总数量 * $address,收货地址 * $telephone, 收货电话 * $name,则货人姓名 * $frontId, 身份证正面ID * $backId, 身份证反面ID * $idNo, 身份证号 * $couponTotal, 优惠总数 * $directTotal, 直销返点总数 * $lineTotal,线销返点总数 * $logisticFee,物流费用 * $maxAmonut,最大优惠金额 * $coupon,使用优惠券信息 */ $orderForm = new OrderFormModel(); $orderForm->setPayid($payId); $orderForm->setOpenid($openid); foreach ($goods as $key => $value) { $orderForm->setLogisticsMode($value['logisticType']['name']); $orderForm->setSource($value['source']['name']); $orderForm->setPayable($value['payable']); $orderForm->setWeight($value['weightTotal']); $orderForm->setCountTotal($value['countTotal']); $orderForm->setDirectFee($value['directTotal']); $orderForm->setLineFee($value['lineTotal']); $orderForm->setLogisticFee($value['logisticFee']); $orderForm->setMaxAmonut($value['maxAmonut']); $orderId = $orderForm->addOrder(); /*生成订单-商品数据**************/ $orderGoods = new OrderGoodsModel(); $orderGoods->addOrderGoods($orderId, $value['goods']); /*添加商品的销量********************/ $goodsM = new GoodsModel(); $goodsM->updateSaled($value['goods']); } /*删除购物车数据******************/ $shoppingCart = new ShoppingCartModel(); $shoppingCart->deleteGoods($openid, $goods); /*将当前使用优惠券做使用处理*/ $couponModel->updateUsed($coupon); /* 判断支付类型,拼接好URL后跳转 1为其它支付方式 0为微信支付 * 注意,在不同模式下,U方法将生成不同的路径,必须按U方法生成的目录设置微信的授权目录 * 否则将导致出现 get_brand_wcpay_request:fail_invalid appid错误( */ // if($payType == 1) // { // $url = U('WxPay/OtherPay/payNow?payid=' . $payId); // } // else // { // $url = U('WxPay/Pay/payNow?payid=' . $payId); // //$url1 = U('WxPay/Pay/payNow') . '?payid=' . $payId; // } $url = U('Pay/Index/index') . '?payid=' . $payId; redirect_url($url); }
public function indexAction() { /* 取用户基本信息**** */ $customerInfo = $this->customerInfo; //设置用户状态,用以显示“修改个人信息还是请完善个人信息” if (trim($customerInfo['phone_number']) == '' || trim($customerInfo['account']) == '') { $customerInfo['flag'] = 1; } else { $customerInfo['flag'] = 0; } $this->assign('customer', $customerInfo); $openid = get_openid(); //取订单数量 $orderForm = new OrderFormModel(); $noPayOrderCount = $orderForm->getNopayOrderCountByOpenid($openid); $payedOrderCount = $orderForm->getPayedOrderCountByOpenid($openid); //传订单数量数据 $this->assign('noPayOrderCount', $noPayOrderCount); $this->assign('payedOrderCount', $payedOrderCount); //获取当前周期的开始结束日期 $config = new ConfigModel(); $times = $config->getBeginTimeAndEndTime(); $beginTime = $times['endTime']; $endTime = time(); //取当期业绩信息中直销业绩 $relationForm = new OrderRelationModel(); $currentAchievement['direct'] = $relationForm->getAchievementByOpenid($openid, $beginTime, $endTime); //取出上线为自已的所有用户的业绩 $customer = new CustomerModel(); $openids = $customer->getLineOpenids($openid); $currentAchievement['line'] = $relationForm->getAchievementByOpenid($openids, $beginTime, $endTime); //添加直销,线销系数 $rebate = new RebateModel(); //取直销系数 $dataArr[0] = $currentAchievement['direct']; $key = '_totalGoodsFee'; $keyReturn = '_direct_radio'; $dataArr = $rebate->getRatioByMoney($dataArr, $key, $keyReturn); $currentAchievement['_direct_radio'] = $dataArr[0][$keyReturn]; //取线销系数 $dataArr[0] = $currentAchievement['line']; $keyReturn = '_line_radio'; $dataArr = $rebate->getRatioByMoney($dataArr, $key, $keyReturn); $currentAchievement['_line_radio'] = $dataArr[0][$keyReturn]; $this->assign('achievement', $currentAchievement); $changeUrl = U('ChangePhone/index'); $this->assign('changeUrl', $changeUrl); $account = U('Account/index'); $couponUrl = U('User/Coupon/index'); $this->assign('couponUrl', $couponUrl); $this->assign('wangqiurl', U('User/Achievement/pastData')); $finishedOrderUrl = U('UserCenter/OrderManage/finishedOrder'); $payedOrderUrl = U('UserCenter/OrderManage/payedOrder'); $unpayOrderUrl = U('UserCenter/OrderManage/unpayedOrder'); $allOrderUrl = U('UserCenter/OrderManage/allOrder'); $this->assign('finishedOrderUrl', $finishedOrderUrl); $this->assign('payedOrderUrl', $payedOrderUrl); $this->assign('unpayOrderUrl', $unpayOrderUrl); $this->assign('allOrderUrl', $allOrderUrl); $this->assign('count', $count); $css = $this->fetch('indexCss'); $this->assign('indexCss', $css); $this->assign("YZBody", $this->fetch()); $this->display(YZ_TEMPLATE); }