* @version : HUOSDK 8.0 */ namespace huo\logic\shop; use huo\model\common\CommonModel; use huo\model\shop\GoodsModel; use huo\model\shop\ItgOrderModel; use huolib\constant\MemItgConst; class ItgOrderLogic extends CommonModel { protected $base_field = [ 'id' => 'id', 'order_id' => 'order_id', 'mem_id' => 'mem_id', 'flag' => 'flag', 'goods_id' => 'goods_id', 'integral' => 'integral', 'status' => 'status', 'shipping_status' => 'shipping_status', ]; /** * 获取兑换订单列表 * * @throws \think\exception\DbException */ public function getList($_param = []) { $_map = array(); $_offset = isset($_param['list_rows']) ? $_param['list_rows'] : 50; if (isset($_param['goods_name']) && !empty($_param['goods_name'])) { $_ids = (new GoodsModel())->where(['goods_name' => ['like', '%'.$_param['goods_name'].'%']])->column('id'); $_map['goods_id'] = array('in', $_ids); } if (isset($_param['order_id'])) { $_map['order_id'] = ['like', '%'.$_param['order_id'].'%']; } if (isset($_param['flag']) && !empty($_param['flag'])) { $_map['flag'] = $_param['flag']; } if (isset($_param['pay_status']) && !empty($_param['pay_status'])) { $_map['status'] = $_param['pay_status']; } if (isset($_param['shipping_status']) && !empty($_param['shipping_status'])) { $_map['shipping_status'] = $_param['shipping_status']; } $_item = (new ItgOrderModel())->getList($_map, 'shipping_status asc,id desc', $_offset); return $_item; } public function getDetail($_where) { $_itg_order_model = new ItgOrderModel(); $_data = $_itg_order_model->where($_where)->limit(1)->find(); if (is_object($_data)) { return $_data->toArray(); } else { return null; } } /** * 获取奖品订单表 * * @param array $_where * @param $_page * * @return array */ public function getAwardOrderList($_where = [], $_page) { $_where['flag'] = MemItgConst::SHOP_FLAG_LOTTERY; $_where['goods_id'] = array('gt', MemItgConst::AWARD_LOSE_GOODS_ID); $_order = '-id'; $_itg_order_model = new ItgOrderModel(); $_cnt = $_itg_order_model->where($_where)->count(); if (empty($_cnt)) { return [ 'count' => 0, 'list' => [] ]; } $_field = $this->base_field; $_order = $this->orderFilter($_order); $_list = $_itg_order_model ->with('goods') ->with('mem') ->field($_field) ->where($_where) ->order($_order) ->page($_page) ->select(); if (is_object($_list)) { $_list = $_list->toArray(); } if (empty($_list)) { $_list = null; } $_data_list = []; foreach ($_list as $_k => $_v) { $_data['id'] = $_v['id']; $_data['order_id'] = $_v['order_id']; $_data['mem_id'] = $_v['mem_id']; $_data['flag'] = $_v['flag']; $_data['goods_id'] = $_v['goods_id']; $_data['integral'] = $_v['integral']; $_data['status'] = $_v['status']; $_data['shipping_status'] = $_v['shipping_status']; $_data['award_name'] = get_val($_v['goods'], 'goods_name', ''); $_data['username'] = isset($_v['mem']) ? get_val($_v['mem'], 'nickname', '') : ''; $_data['avatar'] = isset($_v['mem']['avatar']) ? cmf_get_image_url($_v['mem']['avatar']) : ''; $_data['original_img'] = get_val($_v['goods'], 'original_img', ''); $_data['object_type'] = get_val($_v['goods'], 'object_type', ''); $_data['is_real'] = get_val($_v['goods'], 'is_real', ''); $_data['object_type'] = get_val($_v['goods'], 'object_type', ''); $_data_list[] = $_data; } $_rdata['count'] = $_cnt; $_rdata['list'] = $_data_list; return $_rdata; } }