diff --git a/application/routine/model/store/StoreCart.php b/application/routine/model/store/StoreCart.php
index 14977227..e6713fd7 100644
--- a/application/routine/model/store/StoreCart.php
+++ b/application/routine/model/store/StoreCart.php
@@ -32,7 +32,7 @@ class StoreCart extends ModelBasic
return self::setErrorInfo('该产品已下架或删除');
$userbuycount = StoreOrder::where(['uid'=>$uid,'paid'=>1,'seckill_id'=>$seckill_id])->count();
if($StoreSeckillinfo['num'] <= $userbuycount)
- return self::setErrorInfo('每人限购'.$StoreSeckillinfo['num'].'一件');
+ return self::setErrorInfo('每人限购'.$StoreSeckillinfo['num'].'件');
if(StoreSeckill::getProductStock($seckill_id) < $cart_num)
return self::setErrorInfo('该产品库存不足'.$cart_num);
$where = ['type'=>$type,'uid'=>$uid,'product_id'=>$product_id,'product_attr_unique'=>$product_attr_unique,'is_new'=>$is_new,'is_pay'=>0,'is_del'=>0,'seckill_id'=>$seckill_id];
@@ -134,7 +134,7 @@ class StoreCart extends ModelBasic
}else if(!$product['is_show'] || $product['is_del'] || !$product['stock']){
$invalid[] = $cart;
//商品属性不对应
- }else if(!StoreProductAttr::issetProductUnique($cart['product_id'],$cart['product_attr_unique']) && !$cart['combination_id'] && !$cart['seckill_id']){
+ }else if(!StoreProductAttr::issetProductUnique($cart['product_id'],$cart['product_attr_unique']) && !$cart['combination_id'] && !$cart['seckill_id']&& !$cart['bargain_id']){
$invalid[] = $cart;
//正常商品
}else{
@@ -220,5 +220,27 @@ class StoreCart extends ModelBasic
return compact('valid','invalid');
}
+ /**
+ * TODO 判断购物车产品是否可以继续下单
+ * @param int $id
+ * @return bool|int|string
+ * @throws \think\Exception
+ * @throws \think\db\exception\DataNotFoundException
+ * @throws \think\db\exception\ModelNotFoundException
+ * @throws \think\exception\DbException
+ */
+ public static function decideCartProductOverdue($id = 0){
+ if(!$id) return self::setErrorInfo('参数错误');
+ $cartInfo = self::where('id',$id)->field('cart_num,product_id,combination_id,seckill_id,bargain_id,product_attr_unique')->find();
+ if($cartInfo['combination_id']) return StoreCombination::isValidCartCombination($cartInfo['combination_id'],$cartInfo['cart_num']);
+ else if($cartInfo['seckill_id']) return StoreSeckill::isValidCartSeckill($cartInfo['seckill_id'],$cartInfo['cart_num']);
+ else if($cartInfo['bargain_id']) return StoreBargain::isValidCartBargain($cartInfo['bargain_id'],$cartInfo['cart_num']);
+ else if(strlen(trim($cartInfo['product_attr_unique'])) > 2){
+ if(!StoreProduct::isValidProduct($cartInfo['product_id'])) return self::setErrorInfo('该产品已下架或删除');
+ if(!StoreProductAttr::issetProductUnique($cartInfo['product_id'],$cartInfo['product_attr_unique'])) return self::setErrorInfo('请选择有效的产品属性');
+ if(StoreProduct::getProductStock($cartInfo['product_id'],$cartInfo['product_attr_unique']) < $cartInfo['cart_num']) return self::setErrorInfo('该产品库存不足'.$cartInfo['cart_num']);
+ return true;
+ }else return StoreProduct::isValidCartProduct($cartInfo['product_id'],$cartInfo['cart_num']);
+ }
}
\ No newline at end of file
diff --git a/application/routine/model/store/StoreCouponIssue.php b/application/routine/model/store/StoreCouponIssue.php
index 237cfb1c..af0617a6 100644
--- a/application/routine/model/store/StoreCouponIssue.php
+++ b/application/routine/model/store/StoreCouponIssue.php
@@ -52,7 +52,7 @@ class StoreCouponIssue extends ModelBasic
$issueCouponInfo['remain_count'] -= 1;
$res3 = false !== $issueCouponInfo->save();
}
- $res = $res1 && $res2 & $res3;
+ $res = $res1 && $res2 && $res3;
self::checkTrans($res);
return $res;
}
diff --git a/application/routine/model/store/StoreCouponUser.php b/application/routine/model/store/StoreCouponUser.php
index 31114bb8..f9315c2d 100644
--- a/application/routine/model/store/StoreCouponUser.php
+++ b/application/routine/model/store/StoreCouponUser.php
@@ -127,6 +127,18 @@ class StoreCouponUser extends ModelBasic
return self::where('id',$id)->update(['status'=>1,'use_time'=>time()]);
}
+ /**
+ * TODO 恢复优惠券
+ * @param $id
+ * @return StoreCouponUser|bool
+ */
+ public static function recoverCoupon($id)
+ {
+ $status = self::where('id',$id)->value('status');
+ if($status) return self::where('id',$id)->update(['status'=>0,'use_time'=>'']);
+ else return true;
+ }
+
public static function addUserCoupon($uid,$cid,$type = 'get')
{
$couponInfo = StoreCoupon::find($cid);
diff --git a/application/routine/model/store/StoreOrder.php b/application/routine/model/store/StoreOrder.php
index 68b9cece..59631d34 100644
--- a/application/routine/model/store/StoreOrder.php
+++ b/application/routine/model/store/StoreOrder.php
@@ -30,6 +30,7 @@ use service\RoutineTemplateService;
use think\Cache;
use think\Url;
use traits\ModelTrait;
+use service\MiniProgramService;
class StoreOrder extends ModelBasic
{
@@ -64,20 +65,20 @@ class StoreOrder extends ModelBasic
{
$storePostage = floatval(SystemConfigService::get('store_postage'))?:0;//邮费基础价
$storeFreePostage = floatval(SystemConfigService::get('store_free_postage'))?:0;//满额包邮
- $totalPrice = self::getOrderTotalPrice($cartInfo);//获取订单总金额
- $costPrice = self::getOrderCostPrice($cartInfo);//获取订单成本价
- //如果满额包邮等于0
- if(!$storeFreePostage) {
+ $totalPrice = floatval(self::getOrderTotalPrice($cartInfo));//获取订单总金额
+ $costPrice = floatval(self::getOrderCostPrice($cartInfo));//获取订单成本价
+ //如果订单金额大于满额包邮 邮费等于0
+ if($totalPrice >= $storeFreePostage) {
$storePostage = 0;
}else{
foreach ($cartInfo as $cart){
if(!$cart['productInfo']['is_postage'])//若果产品不包邮
- $storePostage = bcadd($storePostage,$cart['productInfo']['postage'],2);
+ $storePostage = bcadd($storePostage,floatval($cart['productInfo']['postage']),2);
}
if($storeFreePostage <= $totalPrice) $storePostage = 0;//如果总价大于等于满额包邮 邮费等于0
}
-// $totalPrice = bcadd($totalPrice,$storePostage,2);
+ $totalPrice = bcadd($totalPrice,$storePostage,2);
return compact('storePostage','storeFreePostage','totalPrice','costPrice');
}
@@ -210,6 +211,9 @@ class StoreOrder extends ModelBasic
if(!UserAddress::be(['uid'=>$uid,'id'=>$addressId,'is_del'=>0]) || !($addressInfo = UserAddress::find($addressId)))
return self::setErrorInfo('地址选择有误!');
+ //是否包邮
+ //if((isset($other['offlinePostage']) && $other['offlinePostage'] && $payType == 'offline')) $payPostage = 0;
+ //$payPrice = bcadd($payPrice,$payPostage,2);
//使用优惠劵
$res1 = true;
if($couponId){
@@ -217,22 +221,23 @@ class StoreOrder extends ModelBasic
if(!$couponInfo) return self::setErrorInfo('选择的优惠劵无效!');
if($couponInfo['use_min_price'] > $payPrice)
return self::setErrorInfo('不满足优惠劵的使用条件!');
- $payPrice = bcsub($payPrice,$couponInfo['coupon_price'],2);
$res1 = StoreCouponUser::useCoupon($couponId);
- $couponPrice = $couponInfo['coupon_price'];
+ if($payPrice < $couponInfo['coupon_price']) {
+ $couponPrice = $payPrice;
+ $payPrice = 0;
+ }else {
+ $payPrice = bcsub($payPrice,$couponInfo['coupon_price'],2);
+ $couponPrice = $couponInfo['coupon_price'];
+ }
}else{
$couponId = 0;
$couponPrice = 0;
}
if(!$res1) return self::setErrorInfo('使用优惠劵失败!');
- //是否包邮
- if((isset($other['offlinePostage']) && $other['offlinePostage'] && $payType == 'offline')) $payPostage = 0;
- $payPrice = bcadd($payPrice,$payPostage,2);
-
//积分抵扣
$res2 = true;
- if($useIntegral && $userInfo['integral'] > 0){
+ if($useIntegral && $userInfo['integral'] > 0 && $payPrice > 0){
$deductionPrice = bcmul($userInfo['integral'],$other['integralRatio'],2);
if($deductionPrice < $payPrice){
$payPrice = bcsub($payPrice,$deductionPrice,2);
@@ -244,7 +249,7 @@ class StoreOrder extends ModelBasic
$res2 = false !== User::bcDec($userInfo['uid'],'integral',$usedIntegral,'uid');
$payPrice = 0;
}
- $res2 = $res2 && false != UserBill::expend('积分抵扣',$uid,'integral','deduction',$usedIntegral,$key,$userInfo['integral'],'购买商品使用'.floatval($usedIntegral).'积分抵扣'.floatval($deductionPrice).'元');
+ $res2 = $res2 && false != UserBill::expend('积分抵扣',$uid,'integral','deduction',$usedIntegral,$key,bcsub($userInfo['integral'],$usedIntegral,2),'购买商品使用'.floatval($usedIntegral).'积分抵扣'.floatval($deductionPrice).'元');
}else{
$deductionPrice = 0;
$usedIntegral = 0;
@@ -290,13 +295,6 @@ class StoreOrder extends ModelBasic
$order = self::set($orderInfo);
if(!$order)return self::setErrorInfo('订单生成失败!');
$res5 = true;
- foreach ($cartInfo as $cart){
- //减库存加销量
- if($combinationId) $res5 = $res5 && StoreCombination::decCombinationStock($cart['cart_num'],$combinationId);
- else if($seckill_id) $res5 = $res5 && StoreSeckill::decSeckillStock($cart['cart_num'],$seckill_id);
- else if($bargain_id) $res5 = $res5 && StoreBargain::decBargainStock($cart['cart_num'],$bargain_id);
- else $res5 = $res5 && StoreProduct::decProductStock($cart['cart_num'],$cart['productInfo']['id'],isset($cart['productInfo']['attrInfo']) ? $cart['productInfo']['attrInfo']['unique']:'');
- }
//保存购物车商品信息
$res4 = false !== StoreOrderCartInfo::setCartInfo($order['id'],$cartInfo);
//购物车状态修改
@@ -336,7 +334,8 @@ class StoreOrder extends ModelBasic
if($orderInfo['paid']) exception('支付已支付!');
if($orderInfo['pay_price'] <= 0) exception('该支付无需支付!');
$openid = WechatUser::getOpenId($orderInfo['uid']);
- return RoutineService::payRoutine($openid,$orderInfo['order_id'],$orderInfo['pay_price'],'productr',SystemConfigService::get('site_name'));
+ return MiniProgramService::jsPay($openid,$orderInfo['order_id'],$orderInfo['pay_price'],'productr',SystemConfigService::get('site_name'));//2.5.36
+// return RoutineService::payRoutine($openid,$orderInfo['order_id'],$orderInfo['pay_price'],'productr',SystemConfigService::get('site_name'));
}
//TODO 余额支付
public static function yuePay($order_id,$uid,$formId = '')
@@ -350,7 +349,8 @@ class StoreOrder extends ModelBasic
return self::setErrorInfo('余额不足'.floatval($orderInfo['pay_price']));
self::beginTrans();
$res1 = false !== User::bcDec($uid,'now_money',$orderInfo['pay_price'],'uid');
- $res2 = UserBill::expend('购买商品',$uid,'now_money','pay_product',$orderInfo['pay_price'],$orderInfo['id'],$userInfo['now_money'],'余额支付'.floatval($orderInfo['pay_price']).'元购买商品');
+ $balance = bcsub($userInfo['now_money'],$orderInfo['pay_price'],2);
+ $res2 = UserBill::expend('购买商品',$uid,'now_money','pay_product',$orderInfo['pay_price'],$orderInfo['id'],$balance,'余额支付'.floatval($orderInfo['pay_price']).'元购买商品');
$res3 = self::paySuccess($order_id,'yue',$formId);//余额支付成功
try{
// HookService::listen('yue_pay_product',$userInfo,$orderInfo,false,PaymentBehavior::class);
@@ -432,12 +432,21 @@ class StoreOrder extends ModelBasic
$order = self::where('order_id',$orderId)->find();
$resPink = true;
$res1 = self::where('order_id',$orderId)->update(['paid'=>1,'pay_type'=>$paytype,'pay_time'=>time()]);//订单改为支付
+ $cartInfo = self::getDb('StoreOrderCartInfo')->where('oid',$order['id'])->column('cart_info','unique')?:[];
+ foreach ($cartInfo as $k=>&$cart) $cart = json_decode($cart, true);
+ $res2 = true;
+ foreach ($cartInfo as $k=>&$cart){ //减库存加销量
+ if($cart['combination_id']) $res2 = $res2 && StoreCombination::decCombinationStock($cart['cart_num'],$cart['combination_id']);
+ else if($cart['seckill_id']) $res2 = $res2 && StoreSeckill::decSeckillStock($cart['cart_num'],$cart['seckill_id']);
+ else if($cart['bargain_id']) $res2 = $res2 && StoreBargain::decBargainStock($cart['cart_num'],$cart['bargain_id']);
+ else $res2 = $res2 && StoreProduct::decProductStock($cart['cart_num'],$cart['productInfo']['id'],isset($cart['productInfo']['attrInfo']) ? $cart['productInfo']['attrInfo']['unique']:'');
+ }
User::bcInc($order['uid'],'pay_count',1,'uid');
if($order->combination_id && $res1 && !$order->refund_status) $resPink = StorePink::createPink($order);//创建拼团
$oid = self::where('order_id',$orderId)->value('id');
StoreOrderStatus::status($oid,'pay_success','用户付款成功');
RoutineTemplate::sendOrderSuccess($formId,$orderId);
- $res = $res1 && $resPink;
+ $res = $res1 && $resPink && $res2;
return false !== $res;
}
@@ -525,11 +534,37 @@ class StoreOrder extends ModelBasic
$order = self::getUserOrderDetail($uid,$uni);
if(!$order) return self::setErrorInfo('订单不存在!');
$order = self::tidyOrder($order);
- if($order['_status']['_type'] != 0 && $order['_status']['_type']!= -2 && $order['_status']['_type'] != 4)
+ if($order['_status']['_type'] != 0 && $order['_status']['_type']!= -2 && $order['_status']['_type'] != 4)
return self::setErrorInfo('该订单无法删除!');
- if(false !== self::edit(['is_del'=>1],$order['id'],'id') &&
+ if($order['_status']['_type'] == 4 && false !== self::edit(['is_del'=>1],$order['id'],'id') &&
false !==StoreOrderStatus::status($order['id'],'remove_order','删除订单'))
return true;
+ else if($order['_status']['_type'] != 4){//TODO 退款 未支付订单 删除退会积分和优惠券
+ self::beginTrans();
+ $res1 = self::edit(['is_del'=>1],$order['id'],'id');
+ $res2 = StoreOrderStatus::status($order['id'],'remove_order','删除订单');
+ $res3 = true;
+ $res4 = true;
+ $couponPrice = 0;
+ if($order['coupon_id']) {
+ $res3 = StoreCouponUser::recoverCoupon($order['coupon_id']);
+ $couponPrice = $order['coupon_price'];
+ $res4 = self::edit(['coupon_price'=>0.00,'coupon_id'=>0,'pay_price'=>bcadd($order['pay_price'],$couponPrice,2)],$order['id'],'id');
+ }
+ $res5 = true;
+ $res6 = true;
+ $res7 = true;
+ if($order['use_integral']) {
+ $userInfo = User::getUserInfo($order['uid']);
+ $res5 = User::recoverOrderIntegral($order['uid'],$order['use_integral']);// TODO 退会积分到用户
+ $res6 = self::edit(['deduction_price'=>0.00,'use_integral'=>0.00,'back_integral'=>$order['use_integral'],'pay_price'=>bcadd($couponPrice,bcadd($order['pay_price'],$order['deduction_price'],2),2)],$order['id'],'id'); // TODO 修改积分为空
+ $balance = bcadd($userInfo['integral'],$order['use_integral'],2);
+ $res7 = UserBill::income('积分退回',$order['uid'],'integral','recover_deduction',$order['use_integral'],$order['unique'],$balance,'退回购买商品使用'.floatval($order['use_integral']).'积分抵扣'.floatval($order['deduction_price']).'元');
+ }
+ $res = $res1 && $res2 && $res3 && $res4 && $res5 && $res6 && $res7;
+ self::checkTrans($res);
+ return $res;
+ }
else
return self::setErrorInfo('订单删除失败!');
}
@@ -669,7 +704,7 @@ class StoreOrder extends ModelBasic
public static function getUserOrderList($uid,$status = '',$first = 0,$limit = 8)
{
$list = self::statusByWhere($status)->where('is_del',0)->where('uid',$uid)
- ->field('seckill_id,bargain_id,combination_id,id,order_id,pay_price,total_num,total_price,pay_postage,total_postage,paid,status,refund_status,pay_type,coupon_price,deduction_price,pink_id,delivery_type')
+ ->field('add_time,seckill_id,bargain_id,combination_id,id,order_id,pay_price,total_num,total_price,pay_postage,total_postage,paid,status,refund_status,pay_type,coupon_price,deduction_price,pink_id,delivery_type')
->order('add_time DESC')->limit($first,$limit)->select()->toArray();
foreach ($list as $k=>$order){
$list[$k] = self::tidyOrder($order,true);
@@ -722,7 +757,7 @@ class StoreOrder extends ModelBasic
$noBuy = self::where('uid',$uid)->where('paid',0)->where('is_del',0)->where('pay_type','<>','offline')->count();
$noPostageNoPink = self::where('o.uid',$uid)->alias('o')->where('o.paid',1)->where('o.pink_id',0)->where('o.is_del',0)->where('o.status',0)->where('o.pay_type','<>','offline')->count();
$noPostageYesPink = self::where('o.uid',$uid)->alias('o')->join('StorePink p','o.pink_id = p.id')->where('p.status',2)->where('o.paid',1)->where('o.is_del',0)->where('o.status',0)->where('o.pay_type','<>','offline')->count();
- $noPostage = bcadd($noPostageNoPink,$noPostageYesPink);
+ $noPostage = (int)bcadd($noPostageNoPink,$noPostageYesPink,0);
$noTake = self::where('uid',$uid)->where('paid',1)->where('is_del',0)->where('status',1)->where('pay_type','<>','offline')->count();
$noReply = self::where('uid',$uid)->where('paid',1)->where('is_del',0)->where('status',2)->count();
$noPink = self::where('o.uid',$uid)->alias('o')->join('StorePink p','o.pink_id = p.id')->where('p.status',1)->where('o.paid',1)->where('o.is_del',0)->where('o.status',0)->where('o.pay_type','<>','offline')->count();
@@ -736,7 +771,7 @@ class StoreOrder extends ModelBasic
$userInfo = User::getUserInfo($order['uid']);
ModelBasic::beginTrans();
$res1 = false != User::where('uid',$userInfo['uid'])->update(['integral'=>bcadd($userInfo['integral'],$order['gain_integral'],2)]);
- $res2 = false != UserBill::income('购买商品赠送积分',$order['uid'],'integral','gain',$order['gain_integral'],$order['id'],$userInfo['integral'],'购买商品赠送'.floatval($order['gain_integral']).'积分');
+ $res2 = false != UserBill::income('购买商品赠送积分',$order['uid'],'integral','gain',$order['gain_integral'],$order['id'],bcadd($userInfo['integral'],$order['gain_integral'],2),'购买商品赠送'.floatval($order['gain_integral']).'积分');
$res = $res1 && $res2;
ModelBasic::checkTrans($res);
return $res;
diff --git a/application/wap/model/store/StoreOrder.php b/application/wap/model/store/StoreOrder.php
index ba4ebe7b..654f1686 100644
--- a/application/wap/model/store/StoreOrder.php
+++ b/application/wap/model/store/StoreOrder.php
@@ -213,7 +213,7 @@ class StoreOrder extends ModelBasic
$res2 = false !== User::bcDec($userInfo['uid'],'integral',$usedIntegral,'uid');
$payPrice = 0;
}
- $res2 = $res2 && false != UserBill::expend('积分抵扣',$uid,'integral','deduction',$usedIntegral,$key,$userInfo['integral'],'购买商品使用'.floatval($usedIntegral).'积分抵扣'.floatval($deductionPrice).'元');
+ $res2 = $res2 && false != UserBill::expend('积分抵扣',$uid,'integral','deduction',$usedIntegral,$key,bcsub($userInfo['integral'],$usedIntegral,2),'购买商品使用'.floatval($usedIntegral).'积分抵扣'.floatval($deductionPrice).'元');
}else{
$deductionPrice = 0;
$usedIntegral = 0;
@@ -319,7 +319,7 @@ class StoreOrder extends ModelBasic
return self::setErrorInfo('余额不足'.floatval($orderInfo['pay_price']));
self::beginTrans();
$res1 = false !== User::bcDec($uid,'now_money',$orderInfo['pay_price'],'uid');
- $res2 = UserBill::expend('购买商品',$uid,'now_money','pay_product',$orderInfo['pay_price'],$orderInfo['id'],$userInfo['now_money'],'余额支付'.floatval($orderInfo['pay_price']).'元购买商品');
+ $res2 = UserBill::expend('购买商品',$uid,'now_money','pay_product',$orderInfo['pay_price'],$orderInfo['id'],bcsub($userInfo['now_money'],$orderInfo['pay_price'],2),'余额支付'.floatval($orderInfo['pay_price']).'元购买商品');
$res3 = self::paySuccess($order_id);
try{
HookService::listen('yue_pay_product',$userInfo,$orderInfo,false,PaymentBehavior::class);
@@ -684,7 +684,7 @@ class StoreOrder extends ModelBasic
$noBuy = self::where('uid',$uid)->where('paid',0)->where('is_del',0)->where('pay_type','<>','offline')->where('refund_status',0)->count();
$noPostageNoPink = self::where('o.uid',$uid)->alias('o')->where('o.paid',1)->where('o.pink_id',0)->where('o.is_del',0)->where('o.status',0)->where('o.pay_type','<>','offline')->where('o.refund_status',0)->count();
$noPostageYesPink = self::where('o.uid',$uid)->alias('o')->join('StorePink p','o.pink_id = p.id')->where('p.status',2)->where('o.paid',1)->where('o.is_del',0)->where('o.status',0)->where('o.refund_status',0)->where('o.pay_type','<>','offline')->count();
- $noPostage = bcadd($noPostageNoPink,$noPostageYesPink);
+ $noPostage = bcadd($noPostageNoPink,$noPostageYesPink,0);
$noTake = self::where('uid',$uid)->where('paid',1)->where('is_del',0)->where('status',1)->where('pay_type','<>','offline')->where('refund_status',0)->count();
$noReply = self::where('uid',$uid)->where('paid',1)->where('is_del',0)->where('status',2)->where('refund_status',0)->count();
$noPink = self::where('o.uid',$uid)->alias('o')->join('StorePink p','o.pink_id = p.id')->where('p.status',1)->where('o.paid',1)->where('o.is_del',0)->where('o.status',0)->where('o.pay_type','<>','offline')->where('o.refund_status',0)->count();
@@ -697,7 +697,7 @@ class StoreOrder extends ModelBasic
$userInfo = User::getUserInfo($order['uid']);
ModelBasic::beginTrans();
$res1 = false != User::where('uid',$userInfo['uid'])->update(['integral'=>bcadd($userInfo['integral'],$order['gain_integral'],2)]);
- $res2 = false != UserBill::income('购买商品赠送积分',$order['uid'],'integral','gain',$order['gain_integral'],$order['id'],$userInfo['integral'],'购买商品赠送'.floatval($order['gain_integral']).'积分');
+ $res2 = false != UserBill::income('购买商品赠送积分',$order['uid'],'integral','gain',$order['gain_integral'],$order['id'],bcadd($userInfo['integral'],$order['gain_integral'],2),'购买商品赠送'.floatval($order['gain_integral']).'积分');
$res = $res1 && $res2;
ModelBasic::checkTrans($res);
return $res;
diff --git a/extend/behavior/wechat/PaymentBehavior.php b/extend/behavior/wechat/PaymentBehavior.php
index 127d89ef..adc99549 100644
--- a/extend/behavior/wechat/PaymentBehavior.php
+++ b/extend/behavior/wechat/PaymentBehavior.php
@@ -13,20 +13,29 @@ use app\routine\model\store\StoreOrder as StoreOrderRoutineModel;
use app\wap\model\store\StoreOrder as StoreOrderWapModel;
use app\wap\model\user\UserRecharge;
use service\HookService;
-use service\RoutineRefund;
use service\WechatService;
+use service\MiniProgramService;
class PaymentBehavior
{
/**
- * 下单成功之后
+ * 公众号下单成功之后
* @param $order
* @param $prepay_id
*/
public static function wechatPaymentPrepare($order, $prepay_id)
{
+ }
+ /**
+ * 小程序下单成功之后
+ * @param $order
+ * @param $prepay_id
+ */
+ public static function wechatPaymentPrepareProgram($order, $prepay_id)
+ {
+
}
/**
@@ -121,7 +130,8 @@ class PaymentBehavior
public static function routinePayOrderRefund($orderNo, array $opt)
{
$refundDesc = isset($opt['desc']) ? $opt['desc'] : '';
- $res = RoutineRefund::doRefund($opt['pay_price'],$opt['refund_price'],$orderNo,'',$orderNo,$refundDesc);
+ $res = MiniProgramService::payOrderRefund($orderNo,$opt);//2.5.36
+// $res = RoutineRefund::doRefund($opt['pay_price'],$opt['refund_price'],$orderNo,'',$orderNo,$refundDesc);
}
/**
diff --git a/view/crmebN/pages/coupon/coupon.json b/view/crmebN/pages/coupon/coupon.json
index 5210eccf..fc979ccc 100644
--- a/view/crmebN/pages/coupon/coupon.json
+++ b/view/crmebN/pages/coupon/coupon.json
@@ -1,19 +1,3 @@
-{"navigationBarTitleText": "优惠券",
- "list": [
- {
- "term": "满1000元使用",
- "time": "2017/09/26至2017/10/26使用",
- "money": "500"
- },
- {
- "term": "满1000元使用",
- "time": "2017/09/26至2017/10/26使用",
- "money": "500"
- },
- {
- "term": "满1000元使用",
- "time": "2017/09/26至2017/10/26使用",
- "money": "500"
- }
-]
+{
+ "navigationBarTitleText": "优惠券"
}
\ No newline at end of file
diff --git a/view/crmebN/pages/coupon/coupon.wxml b/view/crmebN/pages/coupon/coupon.wxml
index 32a44445..f1b1c69d 100644
--- a/view/crmebN/pages/coupon/coupon.wxml
+++ b/view/crmebN/pages/coupon/coupon.wxml
@@ -10,15 +10,16 @@
-
+
满{{item.use_min_price}}元使用
{{item.add_time}}至{{item.end_time}}使用
-
+
¥{{item.coupon_price}}
- 未使用
- 已使用
- 已过期
+ 未使用
+ 已使用
+ 已过期
+
diff --git a/view/crmebN/pages/coupon/coupon.wxss b/view/crmebN/pages/coupon/coupon.wxss
index 02ac7923..13af97b6 100644
--- a/view/crmebN/pages/coupon/coupon.wxss
+++ b/view/crmebN/pages/coupon/coupon.wxss
@@ -6,8 +6,8 @@
.coupon-text{width:380rpx;height:157rpx;border:1rpx solid #FFC29C;border-radius:8rpx;margin:24rpx 32rpx;text-align:center;}
.coupon-term{margin-top:38rpx;font-size:30rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.coupon-time{font-size:22rpx;margin-top:15rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
-.coupon-money{font-size:46rpx;margin-top:29rpx;}
-.coupon-num{font-size:70rpx;}
+.coupon-money{font-size:46rpx;margin-top:-7rpx;}
+.coupon-num{font-size:60rpx;}
.coupon-text{padding-right:23rpx;}
.coupon-but{font-size:18rpx;border:1rpx solid #FFB9A8;border-radius:20rpx;text-align:center;width:112rpx;height:37rpx;line-height:36rpx;margin:7rpx auto 0 auto;}
.coupon-new{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJEAAACVCAYAAABYSRg1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZGI5NDkyYy0xNjdlLTVmNGUtYmViOS0zNTIxOGIzYjljYWEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUJBRjI5MzU0MkI4MTFFOEIyQUI5REIyOUI0MzhFRDIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUJBRjI5MzQ0MkI4MTFFOEIyQUI5REIyOUI0MzhFRDIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5ZTZiMTY3Yy03NmNjLThlNDItODk1My0wODMzNTk0ZDJmNDciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGRiOTQ5MmMtMTY3ZS01ZjRlLWJlYjktMzUyMThiM2I5Y2Fh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");background-repeat:no-repeat;background-size:100% 100%;width:131rpx;height:135rpx;position:absolute;top:-33rpx;right:-31rpx;}
@@ -15,4 +15,5 @@
.use-text{border:1rpx solid #E9E9E9;}
.use-but{background-color:#AAA9A9;border:1rpx solid #AAA9A9;color:#C4C4C4;}
.loading{font-size:30rpx;width:100%;height:100rpx;line-height:100rpx;justify-content:center;}
-.loadingpic{font-size:40rpx;margin:4rpx 20rpx 0 0;}
\ No newline at end of file
+.loadingpic{font-size:40rpx;margin:4rpx 20rpx 0 0;}
+.coupon-text2{width:200rpx;justify-content:center;flex-direction:column;align-items:center;}
\ No newline at end of file
diff --git a/view/crmebN/pages/order-confirm/order-confirm.js b/view/crmebN/pages/order-confirm/order-confirm.js
index 3f1d2318..da938977 100644
--- a/view/crmebN/pages/order-confirm/order-confirm.js
+++ b/view/crmebN/pages/order-confirm/order-confirm.js
@@ -33,7 +33,9 @@ Page({
addressInfo:[],
mark:'',
payType:'weixin',
- useIntegral:''
+ useIntegral:false,
+ useInegealOrder:0,
+ statusIntegral: false,
},
/**
* 生命周期函数--监听页面加载
@@ -73,6 +75,53 @@ Page({
that.getCouponRope();
},
+ //使用积分
+ checkboxChange: function () {
+ var that = this;
+ that.setData({
+ statusIntegral: !that.data.statusIntegral,//更改是否勾选积分
+ useIntegral: !that.data.useIntegral //是否使用积分
+ });
+ //用户所有计算积分抵扣金额
+ var integralCountPrice = (Number(that.data.userInfo.integral) * Number(that.data.integralRatio)).toFixed(2);
+ console.log(that.data.userInfo.integral);
+ console.log(integralCountPrice);
+ //如果积分抵扣金额能大于订单总金额
+ if (Number(integralCountPrice) >= Number(that.data.totalPrice) && that.data.statusIntegral) {
+ var iCountPrice = Number(that.data.totalPrice);/* priceGroup. */
+ var useinegeal = (Number(that.data.totalPrice) / Number(that.data.integralRatio)).toFixed(2);
+ }else{
+ //实际抵扣的积分金额
+ if (that.data.useInegealOrder > 0){
+ var iCountPrice = (Number(that.data.useInegealOrder) * Number(that.data.integralRatio)).toFixed(2);
+ var useinegeal = that.data.useInegealOrder;
+ }else{
+ var iCountPrice = (Number(that.data.userInfo.integral) * Number(that.data.integralRatio)).toFixed(2);
+ var useinegeal = Number(that.data.userInfo.integral);
+ }
+ }
+ //如果使用积分
+ console.log(useinegeal);
+ console.log(that.data.useInegealOrder);
+ console.log(that.data.totalPrice);
+ console.log(iCountPrice);
+ var totalPrice = 0;
+ if ((Number(that.data.totalPrice) - Number(iCountPrice)).toFixed(2) > 0) totalPrice = (Number(that.data.totalPrice) - Number(iCountPrice)).toFixed(2);
+ if (that.data.statusIntegral) {
+ that.setData({
+ priceIntegral: '-' + useinegeal,
+ totalPrice: totalPrice,
+ useInegealOrder: useinegeal
+ });
+ console.log(that.data.totalPrice);
+ } else {
+ console.log(that.data.totalPrice);
+ that.setData({
+ priceIntegral: '',
+ totalPrice: Number(Number(that.data.totalPrice) + Number(iCountPrice)).toFixed(2)
+ });
+ }
+ },
bindHideKeyboard:function(e){
this.setData({
mark: e.detail.value
@@ -86,7 +135,7 @@ Page({
subOrder:function(e){
var that = this;
var header = {
- 'content-type': 'application/x-www-form-urlencoded',
+ 'content-type': 'application/json',
};
if (that.data.payType == ''){
wx.showToast({
@@ -166,7 +215,7 @@ Page({
} else if (res.data.code == 200 && res.data.data.status == 'WECHAT_PAY'){
var jsConfig = res.data.data.result.jsConfig;
wx.requestPayment({
- timeStamp: jsConfig.timeStamp,
+ timeStamp: jsConfig.timestamp,
nonceStr: jsConfig.nonceStr,
package: jsConfig.package,
signType: jsConfig.signType,
@@ -221,6 +270,7 @@ Page({
})
}
},
+ //使用优惠券
getCouponRope:function(){
var that = this;
if (that.data.couponId){
@@ -232,10 +282,15 @@ Page({
},
success: function (res) {
if (res.data.code == 200) {
+ //原价
+ var totalPrice = that.data.totalPrice;
+ if (Number(res.data.data.coupon_price) > 0){
+ totalPrice = Number(that.data.totalPrice) - Number(res.data.data.coupon_price);
+ }
+ totalPrice = totalPrice > 0 ? totalPrice : 0;
that.setData({
couponInfo: res.data.data,
- // couponPrice: '-' + res.data.data.coupon_price,
- totalPrice: Number(that.data.totalPrice) - Number(res.data.data.coupon_price)
+ totalPrice: totalPrice
})
}else{
that.setData({
@@ -335,7 +390,7 @@ Page({
offlinePostage: res.data.data.offlinePostage,
orderKey: res.data.data.orderKey,
priceGroup: res.data.data.priceGroup,
- totalPrice: Number(res.data.data.priceGroup.totalPrice) + Number(res.data.data.priceGroup.storePostage),
+ totalPrice: res.data.data.priceGroup.totalPrice,
cartId: res.data.data.cartId,
seckillId: res.data.data.seckill_id,
usableCoupon: res.data.data.usableCoupon
@@ -358,9 +413,9 @@ Page({
BargainId: BargainId,
combinationId:combinationId
})
- console.log(that.data.BargainId);
- console.log(that.data.seckillId);
- console.log(that.data.combinationId);
+ // console.log(that.data.BargainId);
+ // console.log(that.data.seckillId);
+ // console.log(that.data.combinationId);
},
/**
* 生命周期函数--监听页面初次渲染完成
diff --git a/view/crmebN/pages/order-confirm/order-confirm.wxml b/view/crmebN/pages/order-confirm/order-confirm.wxml
index c1c9e9b1..5bec4b7a 100644
--- a/view/crmebN/pages/order-confirm/order-confirm.wxml
+++ b/view/crmebN/pages/order-confirm/order-confirm.wxml
@@ -28,11 +28,21 @@
运费
快递¥{{priceGroup.storePostage}}
-
+
优惠券
满{{couponInfo.use_min_price}}减{{couponInfo.coupon_price}}
选择优惠券
+
+
+ 可用积分:{{userInfo.integral}}
+ {{priceIntegral}}
+
+
+
+
+
+
买家留言
diff --git a/view/crmebN/pages/order-confirm/order-confirm.wxss b/view/crmebN/pages/order-confirm/order-confirm.wxss
index 27172d72..0a7025ff 100644
--- a/view/crmebN/pages/order-confirm/order-confirm.wxss
+++ b/view/crmebN/pages/order-confirm/order-confirm.wxss
@@ -58,7 +58,7 @@ radio .wx-radio-input.wx-radio-input-checked::before{
transform:translate(-50%, -50%) scale(1);
-webkit-transform:translate(-50%, -50%) scale(1);
}
-
+checkbox .wx-checkbox-input{border-radius: 50%;width:40rpx;height: 40rpx;}
.foot{position: fixed; left: 0; bottom: 0; width: 100%; border-top: 1px solid #eee; background-color: #fff; justify-content: space-between; align-items: center;}
.foot .submit-btn{width: 275rpx; height: 100rpx; line-height: 100rpx; background-color: #ff3d3d; color: #fff; text-align: center; border-radius:0;
}
diff --git a/view/crmebN/pages/orders-con/orders-con.js b/view/crmebN/pages/orders-con/orders-con.js
index 2f3aec11..c3e5fcf2 100644
--- a/view/crmebN/pages/orders-con/orders-con.js
+++ b/view/crmebN/pages/orders-con/orders-con.js
@@ -48,7 +48,7 @@ Page({
wx.showActionSheet({
itemList: ['微信支付', '余额支付'],
success(res) {
- console.log(res.tapIndex)
+ // console.log(res.tapIndex)
if (res.tapIndex == 0) {//微信支付
wx.request({
url: app.globalData.url + '/routine/auth_api/pay_order?uid=' + app.globalData.uid + '&uni=' + e.target.dataset.id + '&paytype=weixin',
@@ -57,9 +57,9 @@ Page({
var data = res.data.data;
if (res.data.code == 200) {
var jsConfig = res.data.data.result.jsConfig;
- console.log(jsConfig);
+ // console.log(jsConfig);
wx.requestPayment({
- timeStamp: jsConfig.timeStamp,
+ timeStamp: jsConfig.timestamp,
nonceStr: jsConfig.nonceStr,
package: jsConfig.package,
signType: jsConfig.signType,
@@ -95,6 +95,12 @@ Page({
}
},
})
+ }else{
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'fail',
+ duration: 2000
+ })
}
},
fail: function (res) {
@@ -157,7 +163,7 @@ Page({
var jsConfig = res.data.data.result.jsConfig;
console.log(jsConfig);
wx.requestPayment({
- timeStamp: jsConfig.timeStamp,
+ timeStamp: jsConfig.timestamp,
nonceStr: jsConfig.nonceStr,
package: jsConfig.package,
signType: jsConfig.signType,
@@ -345,6 +351,28 @@ Page({
url: '/pages/index/index'
})
},
+ goAgain:function(e){
+ var that = this;
+ var uni = e.currentTarget.dataset.uni;
+ wx.request({
+ url: app.globalData.url + '/routine/auth_api/again_order?uid=' + app.globalData.uid,
+ data: { uni: uni },
+ method: 'get',
+ success: function (res) {
+ if (res.data.code == 200) {
+ wx.navigateTo({
+ url: '/pages/order-confirm/order-confirm?id=' + res.data.data,
+ })
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
+ });
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/view/crmebN/pages/orders-con/orders-con.wxml b/view/crmebN/pages/orders-con/orders-con.wxml
index e2b0cdca..7041f7e4 100644
--- a/view/crmebN/pages/orders-con/orders-con.wxml
+++ b/view/crmebN/pages/orders-con/orders-con.wxml
@@ -52,8 +52,9 @@
{{item.productInfo.store_name}}
- {{item.productInfo.store_name}}
- ¥{{item.productInfo.price}}x{{item.cart_num}}
+ {{item.productInfo.attrInfo.suk}}
+ ¥{{item.productInfo.attrInfo.price}}x{{item.cart_num}}
+ ¥{{item.productInfo.price}}x{{item.cart_num}}
评价
已评价
@@ -85,7 +86,7 @@
折扣价
- ¥{{ordercon.deduction_price}}
+ ¥{{ordercon.favourable_price}}
@@ -117,6 +118,6 @@
查看物流
确认收货
删除订单
- 再次购买
+ 再次购买
\ No newline at end of file