|
@@ -485,27 +485,182 @@ class Order extends Base
|
|
|
* @return name:id type:int default:-- desc:记录id
|
|
|
* @return name:title type:string default:-- desc:退款原因描述
|
|
|
*/
|
|
|
- public function getRefundCause()
|
|
|
- {
|
|
|
- $list = Db::table('store_order_cause')
|
|
|
- ->field('id,title')
|
|
|
- ->where(['status'=>1])
|
|
|
- ->order('sort desc , id asc')
|
|
|
- ->select();
|
|
|
+ public function getRefundCause(){
|
|
|
+ $list = get_refund_cause();
|
|
|
$this->success('ok',['list'=>$list]);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 获取退款订单详情
|
|
|
- * @param $order_id
|
|
|
+ * @title 提交订单退款
|
|
|
+ * @desc 提交订单退款
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Order/refundOrder
|
|
|
+ * @method POST
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:order_id type:int : default:1 desc:订单id
|
|
|
+ * @param name:cause_id type:int : default:1 desc:退款原因id
|
|
|
+ * @param name:apply_type type:int : default:1 desc:申请类型 1退款,2退货退款
|
|
|
+ * @param name:apply_money type:float : default:1 desc:申请退回金额
|
|
|
+ * @param name:re_desc type:string : default:-- desc:描述
|
|
|
+ * @param name:re_images type:string : default:-- desc:退款图片最多三张(多张用逗号隔开)
|
|
|
+ * @return name:re_id type:int require:0 default:0 desc:成功时返回退款记录id
|
|
|
+ */
|
|
|
+ public function refundOrder()
|
|
|
+ {
|
|
|
+ $order_id = input('post.order_id');
|
|
|
+ $cause_id = input('post.cause_id');
|
|
|
+ $apply_type = input('post.apply_type',1);
|
|
|
+ $apply_money = input('post.apply_money');
|
|
|
+ $re_desc = input('post.re_desc');
|
|
|
+ $re_images = input('post.re_images');
|
|
|
+ $ck_refund = Db::table('order_refund')
|
|
|
+ ->where(['order_id'=>$order_id,'ck_status'=>0])
|
|
|
+ ->value('id');
|
|
|
+ if($ck_refund) $this->error('审核中,请勿重新申请');
|
|
|
+ $ref_data = [
|
|
|
+ 'uid' => $this->uid,
|
|
|
+ 'order_id' => $order_id,
|
|
|
+ 'apply_type' => $apply_type,
|
|
|
+ 'apply_money' => $apply_money,
|
|
|
+ 'create_at' => date("Y-m-d H:i:s"),
|
|
|
+ 'cause_id' => $cause_id,
|
|
|
+ 're_desc' => $re_desc,
|
|
|
+ 're_images' => $re_images,
|
|
|
+ ];
|
|
|
+ Db::table('order_refund')->insert($ref_data);
|
|
|
+ $re_id = Db::getLastInsID();
|
|
|
+ // 更新订单表退款申请状态
|
|
|
+ Db::table('store_order')->where('id',$order_id)->update(['refund_state'=>1]);
|
|
|
+ $this->success('ok',['re_id'=>$re_id]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 获取提交订单退款详情
|
|
|
+ * @desc 获取提交订单退款详情
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Order/getRefundInfo
|
|
|
+ * @method GET
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:id type:int : default:1 desc:退款记录id
|
|
|
+ * @return name:cause_id type:int : default:1 desc:退款原因id
|
|
|
+ * @return name:apply_type type:int : default:1 desc:申请类型 1退款,2退货退款
|
|
|
+ * @return name:apply_money type:float : default:1 desc:申请退回金额
|
|
|
+ * @return name:create_at type:string : default:1 desc:申请时间
|
|
|
+ * @return name:re_desc type:string : default:-- desc:描述
|
|
|
+ * @return name:re_images type:string : default:-- desc:退款图片
|
|
|
+ * @return name:pro_info type:string : default:-- desc:申请订单的商品详情
|
|
|
+ * @return name:goods_num type:string : default:-- desc:购买的商品数量
|
|
|
+ * @return name:ck_status type:int default:0 desc:审核状态(0待审核 ,1 审核通过 , 2 审核不通过),
|
|
|
+ * @return name:refund_money type:float default:0 desc:审核退款金额,
|
|
|
+ * @return name:refund_state type:int default:0 desc:同意退款后的退款状态(0未退款,1待退款,2已退款,3退款失败)
|
|
|
+ * @return name:refund_desc type:int default:0 desc:退款描述
|
|
|
+ * @return name:wl_no type:string default:0 desc:退货物流单号 ( apply_type = 2)
|
|
|
+ * @return name:wl_company type:string default:0 desc:退货物流公司( apply_type = 2)
|
|
|
+ */
|
|
|
+ public function getRefundInfo()
|
|
|
+ {
|
|
|
+ $id = input('post.id');
|
|
|
+ $detail = Db::table('order_refund')
|
|
|
+ ->field('r.*,o.pro_info,o.goods_num')
|
|
|
+ ->alias('r')
|
|
|
+ ->join('store_order o','r.order_id = o.id','LEFT')
|
|
|
+ ->where(['r.order_id'=>$id])
|
|
|
+ ->find();
|
|
|
+ $re_cause = get_refund_cause();
|
|
|
+ $detail['refund_desc'] = array_column($re_cause,null,'id')[$detail['cause_id']]['title'];
|
|
|
+ $this->success('ok',['refund_detail'=>$detail]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 完善退货物流信息
|
|
|
+ * @desc 完善退货物流信息
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Order/completeLogistics
|
|
|
+ * @method POST
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:id type:int default:1 desc:退款记录id
|
|
|
+ * @param name:wl_no type:string default:-- desc:物流单号
|
|
|
+ * @param name:wl_company type:string default:1 desc:物流公司
|
|
|
+ */
|
|
|
+ public function completeLogistics()
|
|
|
+ {
|
|
|
+ $id = input('post.id');
|
|
|
+ $wl_no = input('post.wl_no');
|
|
|
+ $wl_company = input('post.wl_company');
|
|
|
+ $info = $detail = Db::table('order_refund')->find($id);
|
|
|
+ if($info['apply_type'] == 1) $this->error('申请类型不符合,无需物流信息');
|
|
|
+ // 更新物流信息
|
|
|
+ Db::table('order_refund')->where(['id'=>$id])->update(['wl_no'=>$wl_no,'wl_company'=>$wl_company]);
|
|
|
+ $this->success('ok');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 修改订单退款(退货)申请信息
|
|
|
+ * @desc 修改订单退款(退货)申请信息
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Order/modifyRefundInfo
|
|
|
+ * @method POST
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:id type:int default:1 desc:需要修改的退款申请id
|
|
|
+ * @param name:cause_id type:int default:1 desc:退款原因id
|
|
|
+ * @param name:apply_type type:int default:1 desc:申请类型 1退款,2退货退款
|
|
|
+ * @param name:apply_money type:float default:1 desc:申请退回金额
|
|
|
+ * @param name:re_desc type:string default:-- desc:描述
|
|
|
+ * @param name:re_images type:string default:-- desc:退款图片最多三张(多张用逗号隔开)
|
|
|
+ * @param name:wl_no type:string default:-- desc:物流单号
|
|
|
+ * @param name:wl_company type:string default:1 desc:物流公司
|
|
|
+ */
|
|
|
+ public function modifyRefundInfo()
|
|
|
+ {
|
|
|
+ $id = input('post.id');
|
|
|
+ $detail = Db::table('order_refund')->find($id);
|
|
|
+ if($detail['ck_status'] != 0) $this->error('已审核无法修改,请重新提交');
|
|
|
+ $up_data = [];
|
|
|
+ if(input('post.cause_id')) $up_data['cause_id'] = input('post.cause_id');
|
|
|
+ if(input('post.apply_type')) $up_data['apply_type'] = input('post.apply_type');
|
|
|
+ if(input('post.apply_money')) $up_data['apply_money'] = input('post.apply_money');
|
|
|
+ if(input('post.re_desc')) $up_data['re_desc'] = input('post.re_desc');
|
|
|
+ if(input('post.re_images')) $up_data['re_images'] = input('post.re_images');
|
|
|
+ if(input('post.wl_no')) $up_data['wl_no'] = input('post.wl_no');
|
|
|
+ if(input('post.wl_company')) $up_data['wl_company'] = input('post.wl_company');
|
|
|
+ if(!empty($up_data)) {
|
|
|
+ Db::table('order_refund')->where(['id'=>$id])->update($up_data);
|
|
|
+ }
|
|
|
+ $this->success('修改成功');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 取消申请退款(退货)
|
|
|
+ * @desc 取消申请退款(退货)
|
|
|
+ * @author qc
|
|
|
+ * @url /api/Order/cancelRefund
|
|
|
+ * @method POST
|
|
|
+ * @header name:Authorization require:1 desc:Token
|
|
|
+ * @param name:order_id type:int : default:1 desc:订单id
|
|
|
+ */
|
|
|
+ public function cancelRefund(){
|
|
|
+ $order_id = input('post.order_id');
|
|
|
+ $re_info = Db::table('order_refund')->where(['uid'=>$this->uid,'order_id'=>$order_id,'ck_status'=>0])->count();
|
|
|
+ if(!$re_info) $this->error('退款记录不存在');
|
|
|
+ // 删除记录
|
|
|
+ Db::table('order_refund')->where(['order_id'=>$order_id,'ck_status'=>0])->delete();
|
|
|
+ $ck = Db::table('order_refund')->where(['order_id'=>$order_id])->find();
|
|
|
+ $stat = empty($ck) ? 0 : 2 ;
|
|
|
+ Db::table('store_order')->where(['id'=>$order_id])->update(['refund_state'=>$stat]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @title 获取提交订单退款列表 ???
|
|
|
+ * @desc 获取提交订单退款列表 ???
|
|
|
*/
|
|
|
- public function getReturnDetail($order_id)
|
|
|
+ public function getRefundList()
|
|
|
{
|
|
|
- $return_detail = Db::table('order_return')
|
|
|
- ->find($order_id);
|
|
|
- return $return_detail;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|