Files
2024-09-27 01:32:49 +08:00

541 lines
15 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\api\controller;
use app\common\service\OrderService;
use think\Db;
use think\Exception;
class OrderController extends CommonController {
protected $noAuth = ['count'];
/**
* @apiDefine Order 订单管理
*/
/**
* @apiVersion 1.0.0
* @api {post} /order/index 1.订单列表(朱晓伟)
* @apiName index
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiParam {Int} [limit] 每页多少条默认20
* @apiParam {Int} [page] 当前页默认1
* @apiSuccessExample Success-Response:
*{
"code": 200,
"message": "成功",
"data": [
{
"order_id": 403,
"order_sn": "20040111571980298718",
"status": 6,
"pay_type": 2,
"pay_status": 1,
"express_status": 0,
"express_name": "",
"express_sn": "",
"shipping_fee": "1.00",
"pay_voucher": "",
"goods_amount": "180500.00",
"total_amount": "180501.00",
"create_time": "2020-04-01 11:57:34",
"deadline_time": "2020-05-01 11:57:34",
"order_contract_url": "",
"need_cs_confirm": 0,
"cancel_flag": 0,
"need_pay": 0,
"agent": 0,
"order_status_str": "待收货",
"order_status": 2,
"goods_list": [
{
"order_id": 403,
"batch_id": "2149",
"type": "",
"extend_data": null,
"goods_number": 100,
"name": "不正常人类研究用药",
"unit": "支",
"spec_desc": "100*100ml",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1566891904416.jpg"
},
{
"order_id": 403,
"batch_id": "2177",
"type": "",
"extend_data": null,
"goods_number": 400,
"name": "手疼药",
"unit": "板",
"spec_desc": "0.1g*100板",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1568255630161.jpg"
},
{
"order_id": 403,
"batch_id": "2167",
"type": "",
"extend_data": null,
"goods_number": 500,
"name": "复古糖片新药",
"unit": "盒",
"spec_desc": "16粒*2板",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1568019676054.png"
},
{
"order_id": 403,
"batch_id": "871",
"type": "",
"extend_data": null,
"goods_number": 80,
"name": "匹多莫德口服溶液",
"unit": "盒",
"spec_desc": "10ml:0.4g*6支",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1545011228838.jpg"
}
]
},
{
"order_id": 339,
"order_sn": "19072216006840298102",
"status": 0,
"pay_type": 2,
"pay_status": 0,
"express_status": 0,
"express_name": "",
"express_sn": "",
"shipping_fee": "0.00",
"pay_voucher": "",
"goods_amount": "10024.00",
"total_amount": "10024.00",
"create_time": "2019-07-22 16:00:21",
"deadline_time": "2019-08-21 16:00:21",
"order_contract_url": "",
"need_cs_confirm": 0,
"cancel_flag": 0,
"need_pay": 0,
"agent": 0,
"order_status_str": "已取消",
"order_status": 3,
"goods_list": [
{
"order_id": 339,
"batch_id": "892",
"type": "",
"extend_data": null,
"goods_number": 200,
"name": "双氯芬酸钠缓释胶囊",
"unit": "盒",
"spec_desc": "50mg*20s",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1543914540595.jpg"
},
{
"order_id": 339,
"batch_id": "f4a0597e522059201811031",
"type": "extend",
"extend_data": "{\"name\": \"黄柏胶囊\", \"unit\": \"盒\", \"price\": \"5.50\", \"sketch\": \"黄柏胶囊\", \"gallery\": [\"http://hyey.cn/uploadpic/400/a0597/e522059/e522059_0.jpg\"], \"can_show\": 1, \"drug_form\": \"胶囊剂\", \"spec_desc\": \"12s*3板\", \"stock_num\": \"900\", \"pc_content\": \"\", \"retail_num\": 10, \"show_price\": \"12.50\", \"retail_flag\": 1, \"batch_number\": \"20181103\", \"country_code\": \"Z61021657\", \"entirety_num\": 300, \"term_validity\": \"2020-11-08\", \"show_price_int\": \"12\", \"extend_goods_id\": \"f4a0597e522059201811031\", \"show_price_float\": \"50\", \"manufacturer_name\": \"陕西盘龙药业集团股份有限公司\"}",
"goods_number": 300,
"name": "黄柏胶囊",
"unit": "盒",
"spec_desc": "12s*3板",
"pc_thumb": "http://hyey.cn/uploadpic/400/a0597/e522059/e522059_0.jpg"
},
{
"order_id": 339,
"batch_id": "b8a0597e522051201712011",
"type": "extend",
"extend_data": "{\"name\": \"丹七片\", \"unit\": \"盒\", \"price\": \"14\", \"sketch\": \"丹七片\", \"gallery\": [\"http://hyey.cn/uploadpic/400/a0597/e522051/e522051_0.jpg\"], \"can_show\": 1, \"drug_form\": \"片剂\", \"spec_desc\": \"0.3g*18s*2板\", \"stock_num\": \"1200\", \"pc_content\": \"\", \"retail_num\": 10, \"show_price\": \"49.98\", \"retail_flag\": 1, \"batch_number\": \"20171201\", \"country_code\": \"Z61021166\", \"entirety_num\": 300, \"term_validity\": \"2020-11\", \"show_price_int\": \"49\", \"extend_goods_id\": \"b8a0597e522051201712011\", \"show_price_float\": \"98\", \"manufacturer_name\": \"陕西盘龙药业集团股份有限公司\"}",
"goods_number": 300,
"name": "丹七片",
"unit": "盒",
"spec_desc": "0.3g*18s*2板",
"pc_thumb": "http://hyey.cn/uploadpic/400/a0597/e522051/e522051_0.jpg"
}
]
}
]
}
*/
public function index() {
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$data = model(OrderService::class)->getOrderList($parames);
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
/**
* @apiVersion 1.0.0
* @api {post} /order/detail 2.订单详情(朱晓伟)
* @apiName detail
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiParam {Int} id 订单id
* @apiSuccessExample Success-Response:
*{
"code": 200,
"message": "成功",
"data": {
"invalid_order_goods": [],
"buyer_info": {
"organization_code": "7864654665456",
"invoice_title": "测试企业"
},
"user_address": {
"area_id": 3,
"address": "广东省汕头市南澳县撒打算",
"consignee": "阿达",
"tel": "17605052525"
},
"order_goods": [
{
"goods_id": "1744",
"batch_id": "2149",
"unit_price": "1500.00",
"spread_unit_price": "0.00",
"spread_flag": 0,
"type": "",
"goods_number": 100,
"is_delete": 0,
"name": "不正常人类研究用药",
"spec_desc": "100*100ml",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1566891904416.jpg",
"app_thumb": "",
"batch_number": "PC20190827",
"manufacturer_name": "安徽双鹤药业有限责任公司",
"term_validity": "2022-08-31",
"retail_flag": 0,
"total": "150000.00"
},
{
"goods_id": "1770",
"batch_id": "2177",
"unit_price": "20.00",
"spread_unit_price": "0.00",
"spread_flag": 0,
"type": "",
"goods_number": 400,
"is_delete": 0,
"name": "手疼药",
"spec_desc": "0.1g*100板",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1568255630161.jpg",
"app_thumb": "",
"batch_number": "2022",
"manufacturer_name": " 广东宏盈科技有限公司 ",
"term_validity": "2023-09-13",
"retail_flag": 1,
"total": "8000.00"
},
{
"goods_id": "1766",
"batch_id": "2167",
"unit_price": "43.40",
"spread_unit_price": "0.00",
"spread_flag": 0,
"type": "",
"goods_number": 500,
"is_delete": 0,
"name": "复古糖片新药",
"spec_desc": "16粒*2板",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1568019676054.png",
"app_thumb": "",
"batch_number": "2019090702",
"manufacturer_name": "安徽安科余良卿药业有限公司",
"term_validity": "2020-09-30",
"retail_flag": 1,
"total": "21700.00"
},
{
"goods_id": "470",
"batch_id": "871",
"unit_price": "10.00",
"spread_unit_price": "0.00",
"spread_flag": 0,
"type": "",
"goods_number": 80,
"is_delete": 0,
"name": "匹多莫德口服溶液",
"spec_desc": "10ml:0.4g*6支",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com/pc_shop_thumb_url_1545011228838.jpg",
"app_thumb": "",
"batch_number": "2017060303",
"manufacturer_name": "江苏吴中医药集团有限公司苏州制药厂",
"term_validity": "2019-06-02",
"retail_flag": 1,
"total": "800.00"
}
],
"order_detail": {
"order_id": 403,
"order_sn": "20040111571980298718",
"status": 6,
"pay_type": 2,
"pay_status": 1,
"express_status": 0,
"shipping_fee": "1.00",
"goods_amount": "180500.00",
"total_amount": "180501.00",
"address_id": 141,
"express_name": "",
"express_sn": "",
"create_time": "2020-04-01 11:57:34",
"shipping_time": "2020-04-13 11:31:02",
"pay_time": "2020-04-01 13:42:56",
"finished_time": "0000-01-01 00:00:00",
"deadline_time": "2020-05-01 11:57:34",
"remark": "",
"count_down": 0,
"agent": 2,
"order_status_str": "待收货",
"order_status": 2,
"can_pay": 0,
"need_cs_confirm": 0,
"cancel_flag": 0
},
"cancel_reason": null
}
}
*/
public function detail() {
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$data = model(OrderService::class)->orderDetail($parames);
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
/**
* @apiVersion 1.0.0
* @api {post} /order/submit 3.创建订单(朱晓伟)
* @apiName submit
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiParam {String} id_group 购物车ID集合 例如"1,2,3,4"
* @apiParam {String} address 详细地址
* @apiParam {String} consignee 收货人
* @apiParam {String} tel 收货人电话
* @apiParam {String} remark 备注
* @apiParam {Int} area_id 区域id
* @apiParam {Int} total_number 总货数
* @apiParam {Int} total_amount 总价格
* @apiSuccessExample Success-Response:
*{
"code": 200,
"message": "成功",
"data": {"order_id":1}}
* */
public function submit() {
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$parames['extend_level'] = Db::name('buyer')->where('buyer_user_id',$this->uid)->value('extend_level');
$parames['user_info'] = $this->getUserInfo();
$data = model(OrderService::class)->submitOrder($parames);
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
$code = $exception->getCode()??0;
if($code){
$res['errcode'] = $code;
$res['errmsg'] = $exception->getMessage();
return self::returnMsg(self::SUCCESS, $exception->getMessage(),$res);
}
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
/**
* @apiVersion 1.0.0
* @api {post} /order/preview 4.预览订单(朱晓伟)
* @apiName preview
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiParam {String} id_group 购物车ID集合 例如"1,2,3,4"
* @apiSuccessExample Success-Response:
* {
"code": 200,
"message": "成功",
"data": {
"address": {
"id": 141,
"area_id": 3,
"address": "广东省汕头市南澳县撒打算",
"consignee": "阿达",
"tel": "17605052525"
},
"goods_list": {
"plat": [{
"id": 106,
"goods_number": 10,
"unit_price": "1.87",
"goods_name": "丙酸氯倍他索乳膏",
"country_code": "H31022876",
"drug_form": "乳膏剂",
"unit": "支",
"spec_desc": "10g2mg",
"manufacturer_name": "上海新亚药业闵行有限公司",
"pc_thumb": "www.hyey.cn\/uploadpic\/600\/a0953\/3359054\/3359054_0.jpg",
"app_thumb": "www.hyey.cn\/uploadpic\/600\/a0953\/3359054\/3359054_0.jpg",
"batch_id": 11817,
"retail_flag": 0,
"batch_number": "190201",
"retail_num": 10,
"entirety_num": 600,
"term_validity": "2021-01-16",
"stock_num": 1300,
"is_buy": 0
}, {
"id": 109,
"goods_number": 100,
"unit_price": "45.00",
"goods_name": "复古糖片新药特制",
"country_code": "GM201909",
"drug_form": "胶囊剂",
"unit": "盒",
"spec_desc": "16粒*4板",
"manufacturer_name": "安国市天下康制药有限公司",
"pc_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com\/pc_shop_thumb_url_1568019676054.png",
"app_thumb": "ydyd-develop-file.oss-cn-hangzhou.aliyuncs.com\/pc_shop_thumb_url_1568019676054.png",
"batch_id": 2168,
"retail_flag": 0,
"batch_number": "2019090705",
"retail_num": 20,
"entirety_num": 500,
"term_validity": "2020-10-01",
"stock_num": 625,
"is_buy": 0
}],
"extend": []
},
"goods_amount": "4518.70",
"total_number": 110,
"shipping_fee": "0.00",
"total_amount": "4518.70",
"is_buy": 0
}
}
* */
public function preview()
{
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$data = model(OrderService::class)->preOrder($parames);
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
/**
* @apiVersion 1.0.0
* @api {post} /order/cancel 5.取消订单(朱晓伟)
* @apiName cancel
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiParam {Int} order_id 订单id
* @apiSuccessExample Success-Response:
*{
"code": 200,
"message": "成功",
"data": {"order_id":1}}
* */
public function cancel() {
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$data = model(OrderService::class)->cancelOrder($parames);
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
/**
* @apiVersion 1.0.0
* @api {post} /order/toPay 6.去支付(朱晓伟)
* @apiName toPay
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiParam {Int} order_id 订单id
* @apiSuccessExample Success-Response:
*{
"code": 200,
"message": "成功",
"data": {"order_id":1}}
* */
public function toPay() {
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$data = model(OrderService::class)->toPay($parames);
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
/**
* @apiVersion 1.0.0
* @api {post} /order/count 7.订单数量(朱晓伟)
* @apiName count
* @apiGroup Order
* @apiHeader {String} authentication 验证
* @apiSuccessExample Success-Response:
*{
"code": 200,
"message": "成功",
"data": [
{
"order_status": 1,
"count": 2
},
{
"order_status": 2,
"count": 2
},
{
"order_status": 6,
"count": 0
},
{
"order_status": 3,
"count": 0
}
]
}
* */
public function count() {
try {
$parames = input('');
$parames['user_id'] = $this->uid;
$parames['order_status'] = 1;
$data = [];
$item['order_status'] = 1;
$item['count'] = model(OrderService::class)->getOrderCount($parames);
$data[] = $item;
$parames['order_status'] = 2;
$item['order_status'] = 2;
$item['count'] = model(OrderService::class)->getOrderCount($parames);
$data[] = $item;
$parames['order_status'] = 6;
$item['order_status'] = 6;
$item['count'] = model(OrderService::class)->getOrderCount($parames);
$data[] = $item;
$parames['order_status'] = 3;
$item['order_status'] = 3;
$item['count'] = model(OrderService::class)->getOrderCount($parames);
$data[] = $item;
return self::returnMsg(self::SUCCESS, self::getMessage('SUCCESS'),$data);
} catch (Exception $exception) {
return self::returnMsg(self::ERR_NONE, $exception->getMessage());
}
}
}