|
|
@@ -15,6 +15,7 @@ namespace app\api\controller;
|
|
|
use app\BaseController;
|
|
|
|
|
|
use app\model\api\User as UserModel;
|
|
|
+use app\model\api\UserDetail as UserDetailModel;
|
|
|
use app\model\api\ServiceType as ServiceTypeModel;
|
|
|
use app\model\api\InfoAudit;
|
|
|
use app\model\api\TypeAudit;
|
|
|
@@ -135,6 +136,8 @@ class User extends BaseController
|
|
|
['birthday',''],
|
|
|
['service_type',''],
|
|
|
['service_price',''],
|
|
|
+ ['service_min_price',''],
|
|
|
+ ['service_max_price',''],
|
|
|
['service_area',[]],
|
|
|
['service_project',[]],
|
|
|
['service_intro_content',''],
|
|
|
@@ -157,6 +160,8 @@ class User extends BaseController
|
|
|
}
|
|
|
//服务价格区间
|
|
|
$save["service_price"] = empty($post["service_price"]) ? "" : $post["service_price"];
|
|
|
+ $save["service_min_price"] = empty($post["service_min_price"]) ? 0 : $post["service_min_price"];
|
|
|
+ $save["service_max_price"] = empty($post["service_max_price"]) ? 0 : $post["service_max_price"];
|
|
|
//服务区域
|
|
|
$cityModel = new CityModel();
|
|
|
if(!empty($post["service_area"]) && is_array($post["service_area"])){
|
|
|
@@ -334,16 +339,21 @@ class User extends BaseController
|
|
|
$payMoney = $total_money;//订单需支付费用
|
|
|
$payMoney = $payMoney <= 0 ? 0 : $payMoney;
|
|
|
$nowTime = time();
|
|
|
+
|
|
|
+ //余额支付验证
|
|
|
+ if($pay_type=="balance" && $payMoney > $request->user["money"]){
|
|
|
+ return app('json')->fail("当前余额不足");
|
|
|
+ }
|
|
|
|
|
|
//主订单数据
|
|
|
$save=[];
|
|
|
$save['uid'] = $request->user['uid'];
|
|
|
$save['order_id'] = makeOrderId($request->user['uid'],"ST");
|
|
|
- $save['pay_type'] = $pay_type;//目前只支持微信支付
|
|
|
+ $save['pay_type'] = $pay_type;//
|
|
|
$save['total_money'] = $total_money;//订单总金额
|
|
|
$save['all_money'] = $allMoney;//商品中金额
|
|
|
$save['pay_money'] = $payMoney;//实际支付金额
|
|
|
- $save['balance'] = 0;//余额支付了多少(目前没有余额支付)
|
|
|
+ $save['balance'] = 0;//余额支付了多少(目前不用)
|
|
|
$save['status'] = $payMoney <= 0 ? 1 : 0;
|
|
|
$save['pay_time'] = $payMoney <= 0 ? time() : 0;
|
|
|
$save['time'] = $nowTime;
|
|
|
@@ -353,6 +363,11 @@ class User extends BaseController
|
|
|
$save['show_template_price'] = $proData["price"];
|
|
|
$save['show_template_img'] = empty($proData["imgs"]) ? "" : explode(",", $proData["imgs"])[0];
|
|
|
$save['show_template_code'] = $proData["code"];
|
|
|
+ //余额实时支付
|
|
|
+ if($pay_type=="balance"){
|
|
|
+ $save['status'] = 1;
|
|
|
+ $save['pay_time'] = time();
|
|
|
+ }
|
|
|
try{
|
|
|
Db::startTrans();
|
|
|
$o_id = (new ShowTemplateOrder)->insertGetId($save);
|
|
|
@@ -360,10 +375,26 @@ class User extends BaseController
|
|
|
return app('json')->fail("订单提交失败");
|
|
|
}
|
|
|
//不需要支付
|
|
|
- if($save['status']==1){
|
|
|
+ if($payMoney<=0 && $save['status']==1){
|
|
|
+ //验证并绑定当前模板
|
|
|
+ (new UserShowTemplate)->userBindTemp($save["show_template_id"],$save['uid']);
|
|
|
+ Db::commit();
|
|
|
+ return app("json")->success(["order_id"=>$save['order_id'],"money"=>$payMoney,"status"=>$save['status']]);
|
|
|
+ }
|
|
|
+ //余额支付
|
|
|
+ if($pay_type=="balance"){
|
|
|
+ //验证并绑定当前模板
|
|
|
+ (new UserShowTemplate)->userBindTemp($save["show_template_id"],$save['uid']);
|
|
|
+ //修改用户余额
|
|
|
+ $res = (new UserDetailModel)->balancePay($request->user["uid"],$payMoney,"show_temp_pay",["to_id"=>$o_id]);
|
|
|
+ if(!$res){
|
|
|
+ Db::rollback();
|
|
|
+ return app('json')->fail("余额支付失败");
|
|
|
+ }
|
|
|
Db::commit();
|
|
|
return app("json")->success(["order_id"=>$save['order_id'],"money"=>$payMoney,"status"=>$save['status']]);
|
|
|
}
|
|
|
+ //微信支付
|
|
|
if(empty($request->user['openid'])){
|
|
|
Db::rollback();
|
|
|
return app('json')->fail('用户还未绑定微信!');
|