123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- namespace app\common\model;
- /**
- * 订单详情列表
- * Class OrderListModel
- * @package app\common\model
- */
- class OrderListModel extends BaseModel
- {
- protected $table = 'order_list';
- //根据订单详情得到产品的分页
- public function getOrderDetailPage($page,$pageSize,$condition=[],$is_count = false,$order=''){
- $join=[
- ['product product','product.product_no=orderList.product_no','LEFT'],
- ['product_type product_type','product_type.type_id=product.type_id','LEFT'],
- ['doctor','doctor.doctor_no=orderList.doctor_no','LEFT'],
- ];
- $this->alias('orderList')
- ->field('orderList.*,product.product_name,product.images,
- doctor.name doctor_name,
- product.market_price,product.member_price,product.overdue_time,product_type.type_name product_type_name')
- ->join($join);
- if($condition){
- $this->where($condition);
- }
- if($is_count){
- return $this->count();
- }
- if($order){
- $this->order($order);
- }
- return $this->baseModel($this->page($page,$pageSize)->select());
- }
- /**
- * 根据订单详情得到产品
- * @param $condition
- * @return false|\PDOStatement|string|\think\Collection
- */
- public function getOrderListAndProduct($condition=[]){
- $join=[
- ['product product','product.product_no=orderList.product_no','LEFT'],
- ['product_type product_type','product_type.type_id=product.type_id','LEFT'],
- ['doctor','doctor.doctor_no=orderList.doctor_no','LEFT'],
- ];
- $this->alias('orderList')
- ->field('orderList.*,product.product_name,product.images,
- product.market_price,product.member_price,product.overdue_time,product_type.type_name product_type_name')
- ->join($join);
- if($condition){
- $this->where($condition);
- }
- return $this->baseModel($this->select());
- }
- /**
- * 获得购物车商品
- * @param $condition
- * @return false|\PDOStatement|string|\think\Collection
- */
- public function getProductS($condition = []){
- $list = $this->alias('orderList')
- ->field('orderList.*,product.product_name,product.market_price,product.member_price,product.images,product.product_id,dg.price as dg_price,promo.price as promo_price')
- ->join('product product','product.product_no=orderList.product_no','left')
- ->join('doctor_guide dg','dg.doctor_no = orderList.doctor_no and dg.product_no = orderList.product_no','LEFT')
- ->join('product_promo promo','promo.product_no = orderList.product_no','LEFT')
- ->where($condition)
- ->select();
- foreach ($list as &$pro){
- if($pro['dg_price'] != null){
- $member_price = $pro['dg_price'];
- }elseif($pro['promo_price'] != null){
- $member_price = $pro['promo_price'];
- }else{
- $member_price = $pro['member_price'];
- }
- $intPrice = intval($member_price/100);
- $dotPrice = intval($member_price%100);
- $dotPrice = str_pad($dotPrice,2,0);
- $pro['sales_price'] = $intPrice.".".$dotPrice;
- }
- return $list;
- }
- //财务订单导出
- public function getFinanceOrderList($condition=[]){
- $join=[
- ['order order','order.order_no = orderList.order_no','LEFT'],//订单详情
- ['pay_list pay','pay.order_no = order.order_no','LEFT'],//支付记录
- ['product product','product.product_no=orderList.product_no','left'],//商品信息
- ['user user','user.user_no = order.user_no','LEFT'],//会员
- ['doctor doctor','doctor.doctor_no = orderList.doctor_no','LEFT'],//导购
- ['order_sales sales','sales.order_no = order.order_no','LEFT'],//售后
- ];
- $this->alias('orderList')
- ->field('order.add_time,order.order_no,order_status,order.total_number,user.user_name,user.real_name,
- product.product_name,product.erp_no,orderList.number product_number,orderList.actual_price,
- orderList.product_price,order.total_price,logistics_price,wx_price,pay.add_ts pay_time,pay.pay_no,
- order.consignee,order.address order_address,order.address_mobile,order.order_type,order.point,
- sales.sales_price,sales.status sales_status,pay.pay_style,doctor.name doctor_name,doctor.doctor_no
- ')
- ->join($join);
- if($condition){
- $this->where($condition);
- }
- return $this->select();
- }
- public function getOrderListPurchasing($condition=[],$is_count = false){
- $join=[
- ['product product','product.product_no=orderList.product_no','LEFT'],
- ['order order','order.order_no=orderList.order_no','LEFT'],
- ];
- $this->alias('orderList')
- ->field('
- product.product_name,product.product_no,
- order.order_status,order.province_code,order.city_code,order.area_code,order.province,order.city,order.area,
- sum(orderList.number) as product_totalNumber,count(order.order_no) as order_totalNumber
- ')
- ->join($join)->group('order.area_code');
- if($condition){
- $this->where($condition);
- }
- if($is_count){
- return $this->count();
- }
- $this->order('order_totalNumber desc');
- return $this->select();
- }
- }
|