From 4131f1ac50b63318a09a96f91bbc0fb3fc5a03ae Mon Sep 17 00:00:00 2001
From: Jerry Yan <792602257@qq.com>
Date: Sun, 27 Oct 2019 20:15:29 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=88=E6=9E=81=E6=8F=90=E4=BA=A4=EF=BD=9E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hyhproject/admin/model/Orders.php | 12 +-
hyhproject/admin/view/orders/view.html | 34 +++-
hyhproject/app/controller/Orders.php | 92 ++++++---
hyhproject/app/controller/Shopping.php | 8 +
hyhproject/app/controller/UserLevel.php | 37 ++--
hyhproject/app/controller/Users.php | 3 +-
hyhproject/app/controller/Uservouchers.php | 15 +-
hyhproject/common/model/Carts.php | 2 +-
hyhproject/common/model/Orders.php | 209 +++++++++++++++++++--
hyhproject/common/model/Settlements.php | 23 ++-
hyhproject/common/model/Shopping.php | 27 ++-
hyhproject/common/model/Shops.php | 7 +-
hyhproject/common/model/UserTrees.php | 64 ++++++-
hyhproject/common/model/UserVouchers.php | 159 +++++++++++++---
hyhproject/common/model/Users.php | 2 +
hyhproject/home/controller/Index.php | 8 +-
thinkphp/library/think/File.php | 4 +-
17 files changed, 588 insertions(+), 118 deletions(-)
diff --git a/hyhproject/admin/model/Orders.php b/hyhproject/admin/model/Orders.php
index cd75905..a35d505 100755
--- a/hyhproject/admin/model/Orders.php
+++ b/hyhproject/admin/model/Orders.php
@@ -68,7 +68,7 @@ class Orders extends Base{
//添加对接人员查询 mark 20180514
$page = $this->alias('o')->join('__USERS__ u','o.userId=u.userId','left')->join('__SHOPS__ s','o.shopId=s.shopId','left')->join('__SHOP_EXTRAS__ se','o.shopId=se.shopId','left')->where($where)
->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.userId shopUserId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,
- o.orderStatus,o.userName,o.payable,o.deliverType,o.productNum,o.couponsNum,o.wangNum,o.moneyNum,o.productHandlingFee,o.productTaxFee,o.couponsHandlingFee,o.couponsTaxFee,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode,se.investmentStaff')
+ o.orderStatus,o.userName,o.payable,o.deliverType,o.goodsType,o.helpUserId,o.productNum,o.couponsNum,o.wangNum,o.moneyNum,o.productHandlingFee,o.productTaxFee,o.couponsHandlingFee,o.couponsTaxFee,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode,se.investmentStaff')
->order($order)
->paginate(input('limit/d'))->toArray();
if(count($page['Rows'])>0){
@@ -79,6 +79,12 @@ class Orders extends Base{
$page['Rows'][$key]['shopLoginName'] = "【".$shopUserInfo['loginName']."】";
$page['Rows'][$key]['payType'] = WSTLangPayType($v['payType']);
$page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1);
+ if($v["helpUserId"]!=0){
+ $page['Rows'][$key]['helpUser']=Db::name('users')->where('userId','=',$v["helpUserId"])
+ ->field("userName")->find();
+ }else{
+ $page['Rows'][$key]['helpUser']=["userName"=>''];
+ }
$page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']);
$page['Rows'][$key]['orderCodeTitle'] = WSTOrderCodeTitle($v['orderCode']);
}
@@ -257,6 +263,10 @@ class Orders extends Base{
//获取订单信息
$orders['log'] = Db::name('log_orders')->where('orderId',$orderId)->order('logId asc')->select();
//获取订单商品
+ if($orders["helpUserId"]!=0){
+ $orders["helpUser"]=Db::name('users')->where('userId','=',$orders["helpUserId"])
+ ->field("userName")->find();
+ }
$orders['goods'] = Db::name('order_goods')->where('orderId',$orderId)->order('id asc')->select();
$orders['userCertificate'] = Db::name('order_certificate')->where(['orderId'=>$orderId,'isShop'=>0])->order('id desc')->select();
//$orders['shopCertificate'] = Db::name('order_certificate')->where(['orderId'=>$orderId,'isShop'=>1])->order('id desc')->select();
diff --git a/hyhproject/admin/view/orders/view.html b/hyhproject/admin/view/orders/view.html
index cc54e2c..4e55018 100755
--- a/hyhproject/admin/view/orders/view.html
+++ b/hyhproject/admin/view/orders/view.html
@@ -220,7 +220,39 @@
{/if}
-
+
+ {if $object['goodsType']==3}
+
+
+
+
+
+ {/if}
+
diff --git a/hyhproject/app/controller/Orders.php b/hyhproject/app/controller/Orders.php
index 8acb05e..4e0b372 100755
--- a/hyhproject/app/controller/Orders.php
+++ b/hyhproject/app/controller/Orders.php
@@ -114,32 +114,61 @@ class Orders extends Base{
$flag = -1;
$type = input('param.type');
$status = [];
- switch ($type) {
- case 'waitPay':
- $status=[-2];
- break;
- case 'waitDeliver':
- $status=[0];
- break;
- case 'waitReceive':
- $status=[1];
- break;
- case 'waitAppraise':
- $status=[2];
- $flag=0;
- break;
- case 'finish':
- $status=[2];
- break;
- case 'abnormal': // 退款/拒收 与取消合并
- $status=[-1,-3];
- break;
- default:
- $status=[-5,-4,-3,-2,-1,0,1,2];
- break;
- }
- $m = new M();
- $rs = $m->userOrdersByPage($status,$flag);
+ $m = new M();
+ if(strpos($type, "zg")===0){
+ switch ($type) {
+ case 'zgwaitPay':
+ $status=[-2];
+ break;
+ case 'zgwaitDeliver':
+ $status=[0];
+ break;
+ case 'zgwaitReceive':
+ $status=[1];
+ break;
+ case 'zgwaitAppraise':
+ $status=[2];
+ $flag=0;
+ break;
+ case 'zgfinish':
+ $status=[2];
+ break;
+ case 'zgabnormal': // 退款/拒收 与取消合并
+ $status=[-1,-3];
+ break;
+ case 'zgall':
+ default:
+ $status=[-5,-4,-3,-2,-1,0,1,2];
+ break;
+ }
+ $rs = $m->userZgOrdersByPage($status,$flag);
+ }else{
+ switch ($type) {
+ case 'waitPay':
+ $status=[-2];
+ break;
+ case 'waitDeliver':
+ $status=[0];
+ break;
+ case 'waitReceive':
+ $status=[1];
+ break;
+ case 'waitAppraise':
+ $status=[2];
+ $flag=0;
+ break;
+ case 'finish':
+ $status=[2];
+ break;
+ case 'abnormal': // 退款/拒收 与取消合并
+ $status=[-1,-3];
+ break;
+ default:
+ $status=[-5,-4,-3,-2,-1,0,1,2];
+ break;
+ }
+ $rs = $m->userOrdersByPage($status,$flag);
+ }
foreach($rs['Rows'] as $k=>$v){
if(!empty($v['list'])){
foreach($v['list'] as $k1=>$v1){
@@ -152,6 +181,17 @@ class Orders extends Base{
exit(jsonReturn('',1,$rs));
}
+ public function confirmHelpSale(){
+ $m = new M();
+ $id = (int)input('orderId');
+ exit(jsonReturn('',1,$m->confirmHelpSale($id)));
+
+ }
+ public function cancelHelpSale(){
+ $m = new M();
+ $id = (int)input('orderId');
+ exit(jsonReturn('',1,$m->cancelHelpSale($id)));
+ }
/**
* 订单详情
*/
diff --git a/hyhproject/app/controller/Shopping.php b/hyhproject/app/controller/Shopping.php
index c9f4b9c..83bab1d 100755
--- a/hyhproject/app/controller/Shopping.php
+++ b/hyhproject/app/controller/Shopping.php
@@ -14,6 +14,14 @@ class Shopping extends Base{
public function getHelpCarousel(){
$m = new M();
exit(json_encode($m->getHelpCarousel()));
+ }
+ /**
+ * 获取助微吧轮播
+ * @return [type] [description]
+ */
+ public function getHelpShopCarousel(){
+ $m = new M();
+ exit(json_encode($m->getHelpShopCarousel()));
}
/**
* 搜索助微吧商品列表
diff --git a/hyhproject/app/controller/UserLevel.php b/hyhproject/app/controller/UserLevel.php
index ae5b1f8..a436e5b 100644
--- a/hyhproject/app/controller/UserLevel.php
+++ b/hyhproject/app/controller/UserLevel.php
@@ -2,6 +2,7 @@
namespace wstmart\app\controller;
+use think\Db;
use wstmart\app\model\Users;
use wstmart\common\model\UserLevel as UL;
use wstmart\common\model\UserTrees as UT;
@@ -30,7 +31,7 @@ class UserLevel extends Base
public function index()
{
$userId = get_my_id();
- $User = UT::getMyLevel($userId);
+ $User = UT::realGetMyChildren($userId, [$userId]);
return $User;
}
@@ -45,24 +46,28 @@ class UserLevel extends Base
public function TreeList()
{
$userId = get_my_id();
- $count = UL::where(['uid' => $userId])->group("level")->count();
$treeArr = [];
- $newLevel = 1;
+ $goodsType = 3;
+ $min = Db::name('orders')->where(compact('userId','goodsType'))->min('helpUserLevel');
+ if(0 == $min){$min = 1;}
+ $max = Db::name('orders')->where(compact('userId','goodsType'))->max('helpUserLevel');
+ $newLevel = 0;
do {
- if ($newLevel > 10) break;
- $treeArr[$newLevel]['level'] = UT::$level[$newLevel];
- $ptree = UT::where(['uid' => $userId])->find();// 找到我的层级
- $userId = $ptree->pid;// 上级uid
- if ($userId == 0) $userId = 1;// 上级uid
- $plevel = UL::where(['uid' => $userId, 'level' => $newLevel])->find();// 查看上级是否有权限助购
- if ($plevel) {// 如果有,则使用上级信息
+ $newLevel++;
+ $userId = UT::getUpperId($userId);// 找到我的层级
+ if ($userId == null) $userId = 1;// 上级uid
+ if (($newLevel >= $min) && UT::checkUserCanDisplay($userId)) {// 如果有,则使用上级信息
+ if($newLevel>10){
+ $treeArr[$newLevel]['level'] = "第".$newLevel."层";
+ }else{
+ $treeArr[$newLevel]['level'] = UT::$level[$newLevel];
+ }
+ $treeArr[$newLevel]['level_id'] = $newLevel;
$treeArr[$newLevel]['userId'] = $userId;
- $user = Users::where(['userId' => $plevel->uid])->find();
- $treeArr[$newLevel]['userName'] = $user->userName ?: $user->loginName;
- $newLevel++;
- }
- // 如果没有,则递归查询上级信息
- } while ($newLevel < ($count + 2));
+ $treeArr[$newLevel]['userName'] = '';
+ }else{$newLevel--;}
+ if ($userId <= 1)break;
+ } while (($newLevel <= $max) && ($newLevel <= (int)dataConf("helpSaleMaxLevel")));
// pd($treeArr);
return $treeArr;
}
diff --git a/hyhproject/app/controller/Users.php b/hyhproject/app/controller/Users.php
index 28553d0..ef7ab09 100755
--- a/hyhproject/app/controller/Users.php
+++ b/hyhproject/app/controller/Users.php
@@ -228,7 +228,8 @@ class Users extends Base{
$userId = $this->getUserId();
$m = Model('common/Table');
$m->setTable('user_vouchers_summary');
- $data = $m->getInfo(['userId'=>$userId],'expectedProductNum,expectedCouponsNum');
+ $data = $m->getInfo(['userId'=>$userId],'expectedProductNum,expectedCouponsNum,alreadyProductNum,alreadyCouponsNum');
+ $data = $m->getInfo(['userId'=>$userId],'expectedProductNum,expectedCouponsNum,alreadyProductNum,alreadyCouponsNum');
$m->setTable('shops');
$shopIds = $m->getColumn(['status'=>1,'userId'=>$userId],'shopId');
if($shopIds){
diff --git a/hyhproject/app/controller/Uservouchers.php b/hyhproject/app/controller/Uservouchers.php
index d3de113..3957369 100755
--- a/hyhproject/app/controller/Uservouchers.php
+++ b/hyhproject/app/controller/Uservouchers.php
@@ -57,10 +57,23 @@ class Uservouchers extends Base{
$m->setTable('shops');
$shopIds = $m->getColumn(['status'=>1,'userId'=>$userId],'shopId');
$m->setTable('log_moneys');
- $list = db('log_moneys')->where("((targetType = 0 AND targetId = $userId ) OR (targetType = 1 AND targetId IN (".implode(',',$shopIds) ."))) AND moneyName = $vouchersType AND dataFlag=1")->field('money num,remark,moneyType,createTime')->order('id DESC')->paginate(input('pageSize/d',10))->toArray();
+ $list = db('log_moneys')->where("((targetType = 0 AND targetId = $userId ) OR (targetType = 1 AND targetId IN ('".implode("','",$shopIds) ."'))) AND moneyName = $vouchersType AND dataFlag=1")->field('money num,remark,moneyType,createTime')->order('id DESC')->paginate(input('pageSize/d',10))->toArray();
//dump(db()->_sql());
// $list = $m->getSelect(['targetType'=>0,'targetId'=>$userId,'moneyName'=>$vouchersType,'dataFlag'=>1],'money num,remark,moneyType,createTime','id DESC');
}
exit(jsonReturn('',1,$list));
}
+ public function getHelpGet(){
+ $m = Model('common/Table');
+ $userId = $this->getUserId();
+ $list = [];
+ $m->setTable('user_help_get_notice');
+ $list = $m->getSelect(['userId'=>$userId,'isShow'=>1],'helpGet,remark,isAdd,createTime','id DESC');
+ if(!empty($list['Rows'])){
+ foreach ($list['Rows'] as &$v) {
+ $v['createTime'] = date('Y-m-d H:i:s',$v['createTime']);
+ }
+ }
+ exit(jsonReturn('',1,$list));
+ }
}
diff --git a/hyhproject/common/model/Carts.php b/hyhproject/common/model/Carts.php
index 42d2f05..f2f25d4 100755
--- a/hyhproject/common/model/Carts.php
+++ b/hyhproject/common/model/Carts.php
@@ -204,7 +204,7 @@ class Carts extends Base{
->join('__SHOPS__ s','s.shopId=g.shopId','left')
->join('__GOODS_SPECS__ gs','c.goodsSpecId=gs.id','left')
->where($where)
- ->field('c.goodsSpecId,c.cartId,s.userId,s.shopId,s.shopName,g.goodsId,s.shopQQ,shopWangWang,g.goodsName,g.shopPrice,g.goodsStock,g.isSpec,gs.specPrice,gs.specStock,g.goodsImg,c.isCheck,gs.specIds,c.cartNum,g.goodsCatId,g.freight,g.isFreeShipping,gs.initNum,gs.whslePrice,g.marketPrice')
+ ->field('c.goodsSpecId,c.goodsType,c.cartId,s.userId,s.shopId,s.shopName,g.goodsId,s.shopQQ,shopWangWang,g.goodsName,g.shopPrice,g.goodsStock,g.isSpec,gs.specPrice,gs.specStock,g.goodsImg,c.isCheck,gs.specIds,c.cartNum,g.goodsCatId,g.freight,g.isFreeShipping,gs.initNum,gs.whslePrice,g.marketPrice')
->select();//添加返回起批量和批发价 mark hsf 20171117
//dump($rs);die;
$carts = [];
diff --git a/hyhproject/common/model/Orders.php b/hyhproject/common/model/Orders.php
index b292cda..0826a7e 100755
--- a/hyhproject/common/model/Orders.php
+++ b/hyhproject/common/model/Orders.php
@@ -282,12 +282,21 @@ class Orders extends Base{
}
if(empty($carts['carts']))return WSTReturn("请选择要购买的商品");
$carts['ect_pay'] = isset($carts['ect_pay']) ? (int)$carts['ect_pay'] : 0;
- $carts['goodsType'] = isset($carts['goodsType']) ? $carts['goodsType'] : 0;
+ $carts['goodsType'] = isset($carts['goodsType']) ? $carts['goodsType'] : 1;
if(1 == $carts['ect_pay'] || (isset($carts['is_seckilling']) && $carts['is_seckilling'] == 1) || (isset($carts['promotion_goods']) && $carts['promotion_goods'] == 1)){//不可抵用惠宝
$isUseScore=0;
$useScore=0;
}
-
+ $from = (int)input('post.from');
+ if(3 == $from){
+ $carts['goodsType'] = $from;
+ $helpUserId = (int)input('post.helpUserId');//助购用户ID
+ $helpLevel = (int)input('post.helpLevel');//助购用户ID
+ if($helpUserId<=0){
+ return WSTReturn("请选择助购用户");
+ }
+ if($helpUserId == $userId && $userId!=1){$helpLevel=0;}
+ }
$pay_code = input('payCode');
//$carts['ect_pay']=0;
// if($carts['ect_pay'] == 1 && $pay_code !='ect'){
@@ -382,6 +391,8 @@ class Orders extends Base{
//计算运费和总金额
$order['deliverType'] = $deliverType;
$order['deliverMoney']=0;
+ $order['helpUserId']=isset($helpUserId)?$helpUserId:0;//助购用户,只有助购的时候有
+ $order['helpUserLevel']=isset($helpLevel)?$helpLevel:0;//助购用户,只有助购的时候有
if($shopOrder['isFreeShipping']){
$order['deliverMoney'] = 0;
}else{
@@ -1016,7 +1027,84 @@ class Orders extends Base{
}
return WSTReturn('操作失败',-1);
}
- /**
+ /**
+ * 助购吧获取用户订单列表
+ */
+ public function userZgOrdersByPage($orderStatus, $isAppraise = -1, $uId=0){
+ $userId = ($uId==0)?(int)session('WST_USER.userId'):$uId;
+ $orderNo = input('post.orderNo');
+ $shopName = input('post.shopName');
+ $isRefund = (int)input('post.isRefund',-1);
+ $where = ['o.userId'=>$userId,'o.dataFlag'=>1];
+ if(is_array($orderStatus)){
+ $where['orderStatus'] = ['in',$orderStatus];
+ }else{
+ $where['orderStatus'] = $orderStatus;
+ }
+ if($isAppraise!=-1)$where['isAppraise'] = $isAppraise;
+ if($orderNo!=''){
+ $where['o.orderNo'] = ['like',"%$orderNo%"];
+ }
+ if($shopName != ''){
+ $where['s.shopName'] = ['like',"%$shopName%"];
+ }
+ if(in_array($isRefund,[0,1])){
+ $where['isRefund'] = $isRefund;
+ }
+ $where["o.goodsType"]=3;
+ $page = $this->alias('o')->join('__SHOPS__ s','o.shopId=s.shopId','left')
+ ->join('__ORDER_COMPLAINS__ oc','oc.orderId=o.orderId','left')
+ ->join('__ORDERS_ECT__ ore','ore.orderId=o.orderId','left')
+ ->join('__ORDER_REFUNDS__ orf','orf.orderId=o.orderId and orf.refundStatus!=-1','left')
+ ->where($where)
+ ->field('ore.orderEctNum,o.pay_name,ore.ectPrice,o.orderRemarks,o.noticeDeliver,o.orderId,o.orderNo,o.shopConfirm,s.shopName,s.shopId,s.shopQQ,s.phone,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,
+ o.orderStatus,o.deliverType,o.helpUserId,o.helpUserLevel,o.goodsType,deliverMoney,isPay,payType,payFrom,o.orderStatus,needPay,isAppraise,isRefund,orderSrc,o.createTime,o.useScore,oc.complainId,orf.id refundId,o.orderCode')
+ ->order('o.createTime', 'desc')
+ ->paginate(input('pagesize/d'))->toArray();
+ if(count($page['Rows'])>0){
+ $orderIds = [];
+ foreach ($page['Rows'] as $v){
+ $orderIds[] = $v['orderId'];
+ }
+ $goods = Db::name('order_goods')->where('orderId','in',$orderIds)->select();
+ $goodsMap = [];
+ foreach ($goods as $v){
+ $v['goodsSpecNames'] = str_replace('@@_@@','、',$v['goodsSpecNames']);
+ $v['marketPrice'] = Db::name('goods')->where(['goodsId'=>$v['goodsId']])->value('marketPrice');//添加返回市场价 mark hsf 20180112
+ $goodsMap[$v['orderId']][] = $v;
+ }
+ foreach ($page['Rows'] as $key => $v){
+ $page['Rows'][$key]['allowRefund'] = 0;
+ //只要是已支付的,并且没有申请退款的,都可以申请退款操作
+ if($v['isPay']==1 && $v['refundId']==''){
+ $page['Rows'][$key]['allowRefund'] = 1;
+ }
+ if($v["helpUserId"]!=0){
+ $page['Rows'][$key]['helpUser']=Db::name('users')->where('userId','=',$v["helpUserId"])
+ ->field("userName")->find();
+ }else{
+ $page['Rows'][$key]['helpUser']=["userName"=>''];
+ }
+ //货到付款中使用了惠宝支付的也可以申请退款
+ if($v['payType']==0 && $v['refundId']=='' && $v['useScore']>0){
+ $page['Rows'][$key]['allowRefund'] = 1;
+ }
+ $page['Rows'][$key]['list'] = $goodsMap[$v['orderId']];
+ $page['Rows'][$key]['isComplain'] = 1;
+ if(($v['complainId']=='') && ($v['payType']==0 || ($v['payType']==1 && $v['orderStatus']!=-2))){
+ $page['Rows'][$key]['isComplain'] = '';
+ }
+ $page['Rows'][$key]['payTypeName'] = WSTLangPayType($v['payType']);
+ $page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1);
+ $page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']);
+ $page['Rows'][$key]['orderCodeTitle'] = WSTOrderCodeTitle($v['orderCode']);
+ }
+ hook('afterQueryUserOrders',['page'=>&$page]);
+ }
+ return $page;
+ }
+
+ /**
* 获取用户订单列表
*/
public function userOrdersByPage($orderStatus, $isAppraise = -1, $uId=0){
@@ -1047,7 +1135,7 @@ class Orders extends Base{
->join('__ORDER_REFUNDS__ orf','orf.orderId=o.orderId and orf.refundStatus!=-1','left')
->where($where)
->field('ore.orderEctNum,o.pay_name,ore.ectPrice,o.orderRemarks,o.noticeDeliver,o.orderId,o.orderNo,o.shopConfirm,s.shopName,s.shopId,s.shopQQ,s.phone,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,
- o.orderStatus,o.deliverType,deliverMoney,isPay,payType,payFrom,o.orderStatus,needPay,isAppraise,isRefund,orderSrc,o.createTime,o.useScore,oc.complainId,orf.id refundId,o.orderCode')
+ o.orderStatus,o.deliverType,o.helpUserId,o.helpUserLevel,o.goodsType,deliverMoney,isPay,payType,payFrom,o.orderStatus,needPay,isAppraise,isRefund,orderSrc,o.createTime,o.useScore,oc.complainId,orf.id refundId,o.orderCode')
->order('o.createTime', 'desc')
->paginate(input('pagesize/d'))->toArray();
if(count($page['Rows'])>0){
@@ -1068,6 +1156,7 @@ class Orders extends Base{
if($v['isPay']==1 && $v['refundId']==''){
$page['Rows'][$key]['allowRefund'] = 1;
}
+ $page['Rows'][$key]['helpUser']=["userName"=>''];
//货到付款中使用了惠宝支付的也可以申请退款
if($v['payType']==0 && $v['refundId']=='' && $v['useScore']>0){
$page['Rows'][$key]['allowRefund'] = 1;
@@ -1081,7 +1170,6 @@ class Orders extends Base{
$page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1);
$page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']);
$page['Rows'][$key]['orderCodeTitle'] = WSTOrderCodeTitle($v['orderCode']);
-
}
hook('afterQueryUserOrders',['page'=>&$page]);
}
@@ -1346,7 +1434,7 @@ class Orders extends Base{
}
$order = $this->alias('o')->join('__SHOPS__ s','o.shopId=s.shopId','left')
->where(['o.userId'=>$userId,'o.orderId'=>$orderId,'o.orderStatus'=>1])
- ->field('o.orderId,o.orderNo,o.payType,s.userId,s.shopId,o.orderScore,o.payFrom,o.realTotalMoney,o.goodsType,commissionFee')->find();
+ ->field('o.orderId,o.orderNo,o.helpUserId,o.helpUserLevel,o.payType,s.userId,s.shopId,o.orderScore,o.payFrom,o.goodsMoney,o.realTotalMoney,o.goodsType,commissionFee')->find();
if(!empty($order)){
Db::startTrans();
try{
@@ -1372,9 +1460,9 @@ class Orders extends Base{
model('common/Settlements')->speedySettlement($orderId);
}
}
+ $m = Model('common/Table');
+ $userInfo = getUserInfo(['userId'=>$userId],'userName,userType,buyHelpMoney,helpMaxSaleMoney');
if (2 == $order['goodsType']){//助微吧购物
- $m = Model('common/Table');
- $userInfo = getUserInfo(['userId'=>$userId],'userType,buyHelpMoney,helpMaxSaleMoney');
if (1 == $userInfo['userType']){//是商户购物
//加助微吧购物金额
$m->setTable('users');
@@ -1406,7 +1494,91 @@ class Orders extends Base{
}else{
$m->insertInfo(['userId'=>$userId,'ectNum'=>$order['realTotalMoney'],'ectType'=>1,'dataRemarks'=>'购户购物']);
}
- }
+ }
+ elseif (3 == $order['goodsType']){//助购吧购物
+ // 计算 SUM(商品*优惠率) 的值
+ $calBaseNum = Db::table("__ORDERS__ o")->join("__ORDER_GOODS__ g", "g.orderId=o.orderId", 'inner')
+ ->where(['o.userId'=>$userId,'o.orderId'=>$orderId])
+ ->sum('g.goodsPrice*g.discountRate*0.01');
+// foreach ($orderGoods as $orderGood) {
+// // 在不考虑数据库变更的情况下,这两个值都是存储的数字类型,所以不做特殊处理
+// $calBaseNum += (float)$orderGood['goodsPrice'] * (float)$orderGood['discountRate'] / 100;
+// }
+
+ $sm = Model('common/SysSummary');
+
+ // step 2 商户支付优惠款给平台:10000×0.4=4000
+ // 10.15添加 优惠款 全额进入 代快付值
+ $sm->addSysSummary($calBaseNum,0,1);
+
+ $vm = new UserVouchers();
+
+
+ // step 4 平台送商户的推荐人:当消费超过限制值时10000×0.4×0.5×0.5=1000“预获产品券”。
+ // 当消费低于限制值时10000×0.4×0.5×0.2=400“预获产品券”。
+ $uUserId = UserTrees::getUpperId($order["userId"]);
+ if($uUserId == null){$uUserId = 1;}
+ $data = Db::query('SELECT count(`goodsMoney`) as `total` FROM `hyh_orders` WHERE DATE_FORMAT(`createTime`,"%Y%m%d")=DATE_FORMAT(DATE_SUB(now(),INTERVAL 1 day),"%Y%m%d") and `userId`="'.$uUserId.'"');
+ // 因为count一定会有数据所以不判断了
+ if($data[0]["total"]<=dataConf("refPreProductYdGTMoney")){
+ $vm->insertVouchersNotice($uUserId, $orderId,$calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100)*((float)dataConf("refPreProductNoInSaleScale")/100),
+ 0,'交易订单【'.$order['orderNo'].'】推荐商户所得',1);
+ }else{
+ $vm->insertVouchersNotice($uUserId, $orderId,$calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100)*((float)dataConf("refPreProductYesInSaleScale ")/100),
+ 0,'交易订单【'.$order['orderNo'].'】推荐商户所得',1);
+ }
+
+ // step 5 平台送自己:10000×N“助购预获”,
+ // 10000“预获产品券”;
+ // 10000×0.4×0.5×0.5=1000“预获优惠券”。
+ $vm->insertHelpSaleNotice($userId, $orderId, $order['goodsMoney']*((int)$order["helpUserLevel"])*(float)dataConf("helpSaleCalBase"),
+ '交易订单【'.$order['orderNo'].'】购户购物所得', 1);
+ $vm->insertVouchersNotice($userId, $orderId, $order['goodsMoney'], $calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100)*(1-((float)dataConf("helpSaleChildrenGet")/100)),
+ '您的订单编号'.$order['orderNo'].'完成添加',1);
+
+ // step 6 平台送自己的推荐人:当消费超过限制值时10000×0.4×0.5×0.5=1000“预获产品券”;
+ // 当消费低于限制值时10000×0.4×0.5×0.2=400“预获产品券”。
+ $uUserId = UserTrees::getUpperId($userId);
+ if($uUserId === null){$uUserId = 1;}
+ $data = Db::query('SELECT count(`goodsMoney`) as `total` FROM `hyh_orders` WHERE DATE_FORMAT(`createTime`,"%Y%m%d")=DATE_FORMAT(DATE_SUB(now(),INTERVAL 1 day),"%Y%m%d") and `userId`="'.$uUserId.'"');
+ // 因为count一定会有数据所以不判断了
+ if($data[0]["total"]<=dataConf("refPreProductYdGTMoney")){
+ $vm->insertVouchersNotice($uUserId, $orderId,$calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100)*((float)dataConf("refPreProductNoInSaleScale")/100),
+ 0,'交易订单【'.$order['orderNo'].'】推荐购户所得',1);
+ }else{
+ $vm->insertVouchersNotice($uUserId, $orderId,$calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100)*((float)dataConf("refPreProductYesInSaleScale ")/100),
+ 0,'交易订单【'.$order['orderNo'].'】推荐购户所得',1);
+ }
+
+ // step 7 平台送自己的被推荐人:10000×0.4×0.5×0.5÷5=200“预获产品券”。
+ $childes = DB::table("hyh_user_trees")->where(["pid"=>$userId])->field("uid")->select();
+ foreach ($childes as $child){
+ $vm->insertVouchersNotice($child['uid'], $orderId,
+ $calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100)*((float)dataConf("helpSaleChildrenGet")/100)/sizeof($childes), 0,
+ '交易订单【'.$order['orderNo'].'】被推荐所得',1);
+ }
+
+ // step 8 平台送自己的上第N层:扣减“助购预获”、“预获产品券”各10000×0.4×0.5=2000,
+ // 同时添加10000×0.4×0.5=2000“已获产品券”。
+ if((int)$order["helpUserLevel"]!==0){
+ $vm->insertHelpSaleNotice($order["helpUserId"], $orderId, $calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100),
+ '预获助购转换所扣', 0);
+ $sm->addSysSummary($calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100),0,2);
+ $vm->insertVouchersNotice($order['helpUserId'], $orderId, $calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100), 0,
+ '预获产品券转换所扣',0);
+ $vm->insertAlreadyVouchersNotice($order['helpUserId'], $orderId, $calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100), 0,
+ '预获产品券转换所得',1);
+ }else{
+ $vm->insertHelpSaleNotice($order["helpUserId"], $orderId, 0,
+ '预获产品券转换所扣', 0);
+ }
+
+ // 10.15添加:助购户的 助购预获 减少的同时 代快付值等额减少
+ Db::name("orders")->where(compact('orderId'))->update([
+ "helpGetCount"=>$order['goodsMoney']*((int)$order["helpUserLevel"])*(float)dataConf("helpSaleCalBase"),
+ "helpGetCount2"=>$calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100),
+ ]);
+ }
//新增订单日志
$logOrder = [];
$logOrder['orderId'] = $orderId;
@@ -1458,10 +1630,15 @@ class Orders extends Base{
}
Db::commit();
return WSTReturn('操作成功',1);
- }
+ }else{
+ // 避免多次事物重叠
+ Db::rollback();
+ return WSTReturn('操作失败',-1);
+ }
}catch (\Exception $e) {
- Db::rollback();errLog($e);
- // dump($e);
+ Db::rollback();
+ dump($e);die();
+ errLog($e);
return WSTReturn('操作失败',-1);
}
}
@@ -3022,8 +3199,8 @@ class Orders extends Base{
//产品券
$buyerMaxProductScale = $this->round(dataConf('buyerMaxProductScale')*0.01,2);
$pay['maxProduct'] = $this->round($needPay * $buyerMaxProductScale,2);//最大可用产品券
- $pay['productHandlingFee'] = $this->round(dataConf('useHasProductHandlingFee')*0.01,2);//产品券手续费
- $pay['productTaxFee'] = $this->round(dataConf('useHasProductTaxFee')*0.01,2);//产品券税费
+ $pay['productHandlingFee'] = $this->round(dataConf('useHasHandlingFee')*0.01,2);//产品券手续费
+ $pay['productTaxFee'] = $this->round(dataConf('useHasTaxFee')*0.01,2);//产品券税费
//获取最大可用券值
//$allProductNum = $this->getMaxNum($pay['maxProduct'],(1-$pay['productHandlingFee']-$pay['productTaxFee'] ));
$allProductNum = $this->round($pay['maxProduct'] + ($pay['maxProduct'] / (1 - $pay['productHandlingFee'] - $pay['productTaxFee'])) * ($pay['productHandlingFee']+ $pay['productTaxFee']),2);
@@ -3039,8 +3216,8 @@ class Orders extends Base{
$pay['product']['useProductTaxFee'] = $this->round($pay['product']['useProduct'] * $pay['productTaxFee'],2);
$pay['product']['useProductOk'] = $this->round($pay['product']['useProduct'] - $pay['product']['useProductHandlingFee'] - $pay['product']['useProductTaxFee'],3);
//优惠券
- $pay['coupousHandlingFee'] = $this->round(dataConf('useHasCoupousHandlingFee')*0.01,2);//优惠券手续费
- $pay['coupousTaxFee'] = $this->round(dataConf('useHasCoupousTaxFee')*0.01,2);//优惠券税费
+ $pay['coupousHandlingFee'] = $this->round(dataConf('useHasHandlingFee')*0.01,2);//优惠券手续费
+ $pay['coupousTaxFee'] = $this->round(dataConf('useHasTaxFee')*0.01,2);//优惠券税费
$pay['maxCoupons'] = $this->round($needPay - $pay['product']['useProductOk'],2) ;//最大可用其他券,优惠券+旺旺券+现金券
//获取最大可用券值
//$allCouponsNum = $this->getMaxNum($pay['maxCoupons'],(1-$pay['coupousHandlingFee']-$pay['coupousTaxFee'] ));
diff --git a/hyhproject/common/model/Settlements.php b/hyhproject/common/model/Settlements.php
index b08d251..e73c178 100755
--- a/hyhproject/common/model/Settlements.php
+++ b/hyhproject/common/model/Settlements.php
@@ -42,10 +42,10 @@ class Settlements extends Base
$buyerPreProductNum = round(($totalMoney + $order->deliverMoney)* (dataConf('buyerPreProductInProductScale')*0.01),2);//1
$buyerPreCoupousNum = round($discountMoney * (dataConf('buyerPreCoupousInSaleScale')*0.01),2);//2
- $buyerPreProductNum += round($order->productHandlingFee * (dataConf('buyerPreProductInHandlingFeeScale')*0.01),2);//3
- $buyerPreProductNum += round($order->productTaxFee * (dataConf('buyerPreProductInTaxFeeScale')*0.01),2);//4
- $buyerPreProductNum += round($order->couponsHandlingFee * (dataConf('buyerPreProductInProductHandlingFeeScale')*0.01),2);//5
- $buyerPreProductNum += round($order->couponsTaxFee * (dataConf('buyerPreProductInProductTaxFeeScale')*0.01),2);//6
+// $buyerPreProductNum += round($order->productHandlingFee * (dataConf('buyerPreProductInHandlingFeeScale')*0.01),2);//3
+// $buyerPreProductNum += round($order->productTaxFee * (dataConf('buyerPreProductInTaxFeeScale')*0.01),2);//4
+// $buyerPreProductNum += round($order->couponsHandlingFee * (dataConf('buyerPreProductInProductHandlingFeeScale')*0.01),2);//5
+// $buyerPreProductNum += round($order->couponsTaxFee * (dataConf('buyerPreProductInProductTaxFeeScale')*0.01),2);//6
if($buyerPreProductNum >= 0.01 || $buyerPreCoupousNum>=0.01){
Model('common/UserVouchers')->insertVouchersNotice($order->userId,$orderId,$buyerPreProductNum,$buyerPreCoupousNum,'交易订单【'.$order->orderNo.'】购户购物所得');
}
@@ -60,7 +60,17 @@ class Settlements extends Base
$sellerPreProductNum = round($discountMoney * (dataConf('sellerPreProductInProductScale')*0.01),2);//1
$sellerPreCoupousNum = round($discountMoney * (dataConf('sellerPreCoupousInSaleScale')*0.01),2);//2
if($sellerPreProductNum >= 0.01 || $sellerPreCoupousNum>=0.01){
- Model('common/UserVouchers')->insertVouchersNotice($shops['userId'],$orderId,$sellerPreProductNum,$sellerPreCoupousNum,'交易订单【'.$order->orderNo.'】商户售物所得');
+ if(3 != $order->goodsType){
+ // step 3 平台送商户:10000×0.4=4000“预获产品券”
+ // 10000×0.4=4000“预获优惠券”
+ $calBaseNum = Db::table("__ORDERS__ o")->join("__ORDER_GOODS__ g", "g.orderId=o.orderId", 'inner')
+ ->where(['o.orderId'=>$orderId])
+ ->sum('g.goodsPrice*g.discountRate*0.01');
+ Model('common/UserVouchers')->insertVouchersNotice($order['userId'], $orderId, $calBaseNum, $calBaseNum,
+ '交易订单【'.$order->orderNo.'】商户售物所得',1);
+ }else{
+ Model('common/UserVouchers')->insertVouchersNotice($shops['userId'],$orderId,$sellerPreProductNum,$sellerPreCoupousNum,'交易订单【'.$order->orderNo.'】商户售物所得');
+ }
}
@@ -138,9 +148,8 @@ class Settlements extends Base
// 2,推荐人获得预获产品券时限上日有消费<10元为优惠款的25% refPreProductNoInSaleScale
$m->setTable('user_trees');
$pid = $m->getField(['uid'=>$shops['userId']],'pid');
- if($pid && $pInfo = getUserInfo(['userId'=>$pid,'dataFlag'=>1,'userStatus'=>1],'userId')){//有推荐人并且推荐人状态正常
+ if($pid && $pInfo = getUserInfo(['userId'=>$pid,'dataFlag'=>1,'userStatus'=>1],'userId') && 3 != $order->goodsType){//有推荐人并且推荐人状态正常
$yesterdayBuyMoney = Model('common/Orders')->getYesterdayBuyMoney($pid,'realTotalMoney');
- $refProductMoney = 0;
if($yesterdayBuyMoney >= dataConf('refPreProductYdGTMoney')){//大于设定值
$refProductMoney = round($discountMoney * (dataConf('refPreProductYesInSaleScale')*0.01),2);//1
}else{
diff --git a/hyhproject/common/model/Shopping.php b/hyhproject/common/model/Shopping.php
index de31827..62fffbe 100755
--- a/hyhproject/common/model/Shopping.php
+++ b/hyhproject/common/model/Shopping.php
@@ -45,7 +45,7 @@ class Shopping extends Base{
}
return WSTReturn('',1,$rs);
}
- /**
+ /**
* 获取列表
*/
public function searchHelpGoods($goodsCatIds = []){
@@ -87,6 +87,13 @@ class Shopping extends Base{
public function getHelpCarousel(){
return WSTReturn('',1,listAds('ads-qlghelp',6,86400));
}
+ /**
+ * 获取助购吧轮播
+ * @return [type] [description]
+ */
+ public function getHelpShopCarousel(){
+ return WSTReturn('',1,listAds('ads-qlghelpshop',6,86400));
+ }
/**
* 获取逛商铺商铺列表
@@ -158,9 +165,11 @@ class Shopping extends Base{
$scale = 0;
if(1 == $type){
$scale = dataConf('discountRateGtToShopping');
- }else{
+ }elseif(2 == $type){
$scale = dataConf('discountRateGtToHelp');
- }
+ }else{
+ $scale = dataConf('discountRateGtToHelpShopping');
+ }
$cacheData = cache('QLG_SHOPPING_GOODS_'.$type.'_'.$page);
if($cacheData)return $cacheData;
$rs = Db::name('goods')
@@ -181,11 +190,13 @@ class Shopping extends Base{
$where['g.goodsStatus'] = 1;
$where['g.isSale'] = 1;
$scale = 0;
- if(1 == $type){
- $scale = dataConf('discountRateGtToShopping');
- }else{
- $scale = dataConf('discountRateGtToHelp');
- }
+ if(1 == $type){
+ $scale = dataConf('discountRateGtToShopping');
+ }elseif(2 == $type){
+ $scale = dataConf('discountRateGtToHelp');
+ }else{
+ $scale = dataConf('discountRateGtToHelpShopping');
+ }
$rs = Db::name('shops')->alias('s')
->join('__GOODS__ g','s.shopId=g.shopId','inner')
->field($field)
diff --git a/hyhproject/common/model/Shops.php b/hyhproject/common/model/Shops.php
index 7cdb351..ec4edf3 100755
--- a/hyhproject/common/model/Shops.php
+++ b/hyhproject/common/model/Shops.php
@@ -451,11 +451,14 @@ class Shops extends Base{
/**
* 获取店铺首页商品列表
*/
- public function getShopIndexGoodsList($shopId=0,$field='*',$order='goodsId DESC'){
+ public function getShopIndexGoodsList($shopId=0,$field='*',$order='goodsId DESC', $from=0){
$shopId = empty($shopId) ? (int)input('post.shopId') : $shopId;
+ $from = empty($from) ? (int)input('post.from_id', 0) : $from;
$m = new TM();
$m->setTable('goods');
- $rs = $m->getSelect(['shopId'=>$shopId,'isSale'=>1,'goodsStatus'=>1,'dataFlag'=>1],$field,$order);
+ $where = ['shopId'=>$shopId,'isSale'=>1,'goodsStatus'=>1,'dataFlag'=>1];
+ if($from==3){$where['discountRate'] = [">=", dataConf('discountRateGtToHelpShopping')];}
+ $rs = $m->getSelect($where,$field,$order);
foreach ($rs['Rows'] as &$v) {
$v['goodsImg'] = WSTImg($v['goodsImg'],3);
}
diff --git a/hyhproject/common/model/UserTrees.php b/hyhproject/common/model/UserTrees.php
index 3328581..07e8407 100755
--- a/hyhproject/common/model/UserTrees.php
+++ b/hyhproject/common/model/UserTrees.php
@@ -1,6 +1,8 @@
where($where)->field($field)->find();
}
+ public static function getUpperId($userId){
+ $data = self::where(["uid"=>$userId])->find();
+ return (null == $data)?$data:$data->pid;
+
+ }
+ public static function realGetMyChildren($myUserId, $users, $level = 1, &$data = []){
+ $inUser = implode("','",$users);
+ $_childes = self::where("pid in('$inUser')")->select();
+ $nextUsers = [];
+ foreach ($_childes as $_child){$nextUsers[] = $_child["uid"];}
+ $data[$level-1]["count"]=sizeof($_childes);
+ $data[$level-1]["total"]=self::realGetUsersHelpSaleNum($myUserId, $level);
+ if($level <= 10){$data[$level-1]["level"]=self::$level[$level];}
+ else{$data[$level-1]["level"]="第".$level."层";}
+ $data[$level-1]["level_no"]=$level;
+ return $level < (int)dataConf("helpSaleMaxLevel") ? self::realGetMyChildren($myUserId, $nextUsers, ++$level, $data) : $data;
+ }
+
+ public static function checkUserCanDisplay($userId){
+ if($userId == 1)return true;
+ $data = Db::name("user_vouchers_summary")->where(compact('userId'))->find();
+ if($data===null){$userHelpGet=0;}
+ else{$userHelpGet = (float)$data['helpSaleNum'];}
+ return ($userHelpGet >= 0);
+ }
+
+ public static function realGetUsersHelpSaleNum($fromUsers, $level){
+ $count = DB::table("hyh_orders")->where("userId='$fromUsers' and helpUserLevel='$level' and orderStatus=2")->sum("helpGetCount");
+ $count -= DB::table("hyh_orders")->where("helpUserId='$fromUsers' and helpUserLevel='$level' and orderStatus=2")->sum("helpGetCount2");
+ return round($count, 2);
+ }
+
+ public static function realGetLevelsDownBetween($fromUser, $toUser, $level=0){
+ if($level === 0 && $fromUser == $toUser)return 0;
+ if(!is_array($fromUser))$fromUser=[$fromUser];
+ if(sizeof($fromUser)==0)return 0;
+ if(is_array($toUser))$toUser=$toUser[0];
+ $inUser = implode("','",$fromUser);
+ $_childes = self::where("pid in('$inUser')")->select();
+ $nextUsers = [];
+ foreach ($_childes as $_child){$nextUsers[] = $_child["uid"];}
+ return in_array($toUser, $nextUsers) ? ++$level : self::realGetLevelsDownBetween($nextUsers, $toUser, ++$level);
+ }
+
+ public static function realGetLevelsBetween($fromUser, $toUser, $level=0){
+ if($level === 0 && $fromUser == $toUser)return 0;
+ $parent = self::where("uid = '$fromUser'")->find();
+ $nextUsers = $parent->value("pid");
+ return $nextUsers != null ? ($nextUsers == $toUser ? ++$level : self::realGetLevelsBetween($nextUsers, $toUser, ++$level)) : $level;
+ }
/**
* getMyLevel
* @RequestMapping("getMyLevel")
@@ -49,7 +101,7 @@ class UserTrees extends Base
$levelArr[$level]['total'] = 0;
$level++;
- if ($level <= 10) {
+ if ($level <= (int)dataConf("helpSaleMaxLevel")) {
return self::getMyLevel(implode(',', $ids), $level, $levelArr);
} else {
return self::getMyProductNum($levelArr);
@@ -79,8 +131,14 @@ class UserTrees extends Base
if(!$ids){
$ids = 0;
}
- $levelArr[$key]['total'] += \wstmart\app\model\Users::where("userId in($ids)")->sum("productNum");
- $levelArr[$key]['level'] = self::$level[$key];
+ // Fix Injection
+ $levelArr[$key]['total'] = DB::table("hyh_user_vouchers_summary")->where("userId in('$ids')")->sum("helpSaleNum");
+ if($key>10){
+ $levelArr[$key]['level'] = "第".$key."层";
+ }else{
+ $levelArr[$key]['level'] = self::$level[$key];
+ }
+ $levelArr[$key]['level_id'] = $key;
}
return $levelArr;
}
diff --git a/hyhproject/common/model/UserVouchers.php b/hyhproject/common/model/UserVouchers.php
index a2b2369..d2a5747 100755
--- a/hyhproject/common/model/UserVouchers.php
+++ b/hyhproject/common/model/UserVouchers.php
@@ -128,7 +128,27 @@ class UserVouchers extends Base{
$data['giveDay'] = $v['giveDay'] + 1;
$m->updateInfo(['id'=>$v['id']],$data);
}
- Db::commit();
+
+ // 每次所得值(费、税前)同时扣减“助购预获”值和“预获产品券”值,直至减为负数为止,负数部分按每天0.1%耗损。
+ // A、当“助购预获”值为负数时,每天0.1%耗损在“预获产品券”值扣减。
+ // B、当“预获产品券”值为负数时,每天0.1%耗损在“预获优惠券”值扣减。
+ // C、当“助购预获”值和“预获产品券”值同为负数时,每天0.1%耗损在“预获优惠券”值同时扣减。
+ $vm = Model('common/Table');
+ $vm->setTable('user_vouchers_summary');
+ $data = $vm->whereOr(["helpSaleNum"=>["lt", 0]])->whereOr(["expectedProductNum"=>["lt", 0]])->select();
+ foreach ($data as $_each){
+ if($_each["expectedProductNum"]<0){
+ $count = (float)$_each["expectedProductNum"];
+ if($_each["helpSaleNum"] < 0)$count+=(float)$_each["helpSaleNum"];
+ $this->insertVouchersNotice($_each["userId"], 0, 0, $count*((float)dataConf("deductionRateWhennegPreCoupons")/100),
+ "预获产品券为负,每天耗损预获优惠券", 0);
+ }else{
+ $count = (float)$_each["helpSaleNum"];
+ $this->insertVouchersNotice($_each["userId"], 0, $count*((float)dataConf("deductionRateWhennegPreCoupons")/100),
+ 0, "助购预获为负,每天耗损预获产品券", 0);
+ }
+ }
+ Db::commit();
return WSTReturn("ok", 1);
}catch (\Exception $e) {
dump($e);
@@ -136,6 +156,87 @@ class UserVouchers extends Base{
return WSTReturn($e->getMessage(),-1);
}
}
+ /**
+ * 插入已获会员券值记录
+ * @param [type] $userId [会员ID]
+ * @param [type] $orderId [订单ID]
+ * @param integer $expectedProductNum [预获产品券]
+ * @param integer $expectedCouponsNum [预获优惠券]
+ * @param string $desc [备注]
+ * @param string $isAdd [1增加0扣除]
+ * @return [type] [description]
+ */
+ public function insertAlreadyVouchersNotice($userId,$orderId,$alreadyProductNum=0,$alreadyCouponsNum=0,$desc='',$isAdd=1,$isShow=1){
+ //插入详细表
+ $m = Model('common/Table');
+ $m->setTable('log_moneys');
+ if($alreadyProductNum>0){
+ $m->insertInfo(['targetType'=>0,'targetId'=>$userId,'dataSrc'=>1,'money'=>$alreadyProductNum,'moneyName'=>1,'remark'=>$desc,'moneyType'=>$isAdd,'payType'=>'qlgpay','createTime'=>date('Y/m/d H:i:s')]);
+ }
+ if($alreadyCouponsNum>0){
+ $m->insertInfo(['targetType'=>0,'targetId'=>$userId,'dataSrc'=>1,'money'=>$alreadyProductNum,'moneyName'=>2,'remark'=>$desc,'moneyType'=>$isAdd,'payType'=>'qlgpay','createTime'=>date('Y/m/d H:i:s')]);
+
+ }
+ //插入或更新详细表
+ $m->setTable('user_vouchers_summary');
+ if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,alreadyProductNum,alreadyCouponsNum')){
+ if(1 == $isAdd){
+ $data['alreadyProductNum'] = $summaryInfo['alreadyProductNum'] + $alreadyProductNum;
+ $data['alreadyCouponsNum'] = $summaryInfo['alreadyCouponsNum'] + $alreadyCouponsNum;
+ }else{
+ $data['alreadyProductNum'] = $summaryInfo['alreadyProductNum'] - $alreadyProductNum;
+ $data['alreadyCouponsNum'] = $summaryInfo['alreadyCouponsNum'] - $alreadyCouponsNum;
+ }
+ $m->updateInfo(['id'=>$summaryInfo['id']],$data);
+ }else{
+ if(0 == $isAdd){
+ $alreadyProductNum *= -1;
+ $alreadyCouponsNum *= -1;
+ }
+ $data = compact('userId','alreadyProductNum','alreadyCouponsNum');
+ $data['isGive'] = 1;
+ $data['giveDate'] = time();
+ $data['giveDay'] = 0;
+ $m->insertInfo($data);
+ }
+ }
+
+ /**
+ * 插入已获会员券值记录
+ * @param [type] $userId [会员ID]
+ * @param [type] $orderId [订单ID]
+ * @param integer $expectedProductNum [预获产品券]
+ * @param integer $expectedCouponsNum [预获优惠券]
+ * @param string $desc [备注]
+ * @param string $isAdd [1增加0扣除]
+ * @return [type] [description]
+ */
+ public function insertHelpSaleNotice($userId,$orderId,$helpSaleNum=0,$desc='',$isAdd=1,$isShow=1){
+ //插入详细表
+ $m = Model('common/Table');
+ $m->setTable('user_help_get_notice');
+ $m->insertInfo(['userId'=>$userId,'orderId'=>$orderId,'helpGet'=>$helpSaleNum,'remark'=>$desc,'isAdd'=>$isAdd,'isShow'=>$isShow,'createTime'=>time()]);
+
+
+
+ $m = Model('common/Table');
+ $m->setTable('user_vouchers_summary');
+ if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,helpSaleNum')){
+ if(1 == $isAdd){
+ $data['helpSaleNum'] = $summaryInfo['helpSaleNum'] + $helpSaleNum;
+ }else{
+ $data['helpSaleNum'] = $summaryInfo['helpSaleNum'] - $helpSaleNum;
+ }
+ $m->updateInfo(['id'=>$summaryInfo['id']],$data);
+ }else{
+ if(0 == $isAdd){
+ $helpSaleNum *= -1;
+ }
+ $data = compact('userId','helpSaleNum');
+ $m->insertInfo($data);
+ }
+ }
+
/**
* 插入会员券值记录
* @param [type] $userId [会员ID]
@@ -147,33 +248,33 @@ class UserVouchers extends Base{
* @return [type] [description]
*/
public function insertVouchersNotice($userId,$orderId,$expectedProductNum=0,$expectedCouponsNum=0,$desc='',$isAdd=1,$isShow=1){
- //插入详细表
- $m = Model('common/Table');
- $m->setTable('user_vouchers_notice');
- $m->insertInfo(['userId'=>$userId,'orderId'=>$orderId,'expectedProductNum'=>$expectedProductNum,'expectedCouponsNum'=>$expectedCouponsNum,'remark'=>$desc,'moneyType'=>$isAdd,'isShow'=>$isShow,'createTime'=>time()]);
- //插入或更新详细表
- $m->setTable('user_vouchers_summary');
- if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,expectedProductNum,expectedCouponsNum')){
- if(1 == $isAdd){
- $data['expectedProductNum'] = $summaryInfo['expectedProductNum'] + $expectedProductNum;
- $data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] + $expectedCouponsNum;
- }else{
- $data['expectedProductNum'] = $summaryInfo['expectedProductNum'] - $expectedProductNum;
- $data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] - $expectedCouponsNum;
- }
- $m->updateInfo(['id'=>$summaryInfo['id']],$data);
- }else{
- if(0 == $isAdd){
- $expectedProductNum *= -1;
- $expectedCouponsNum *= -1;
- }
- $data = compact('userId','expectedProductNum','expectedCouponsNum');
- $data['alreadyProductNum'] = 0;
- $data['alreadyCouponsNum'] = 0;
- $data['isGive'] = 1;
- $data['giveDate'] = time();
- $data['giveDay'] = 0;
- $m->insertInfo($data);
- }
+ //插入详细表
+ $m = Model('common/Table');
+ $m->setTable('user_vouchers_notice');
+ $m->insertInfo(['userId'=>$userId,'orderId'=>$orderId,'expectedProductNum'=>$expectedProductNum,'expectedCouponsNum'=>$expectedCouponsNum,'remark'=>$desc,'moneyType'=>$isAdd,'isShow'=>$isShow,'createTime'=>time()]);
+ //插入或更新详细表
+ $m->setTable('user_vouchers_summary');
+ if($summaryInfo = $m->getInfo(['userId'=>$userId],'id,expectedProductNum,expectedCouponsNum')){
+ if(1 == $isAdd){
+ $data['expectedProductNum'] = $summaryInfo['expectedProductNum'] + $expectedProductNum;
+ $data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] + $expectedCouponsNum;
+ }else{
+ $data['expectedProductNum'] = $summaryInfo['expectedProductNum'] - $expectedProductNum;
+ $data['expectedCouponsNum'] = $summaryInfo['expectedCouponsNum'] - $expectedCouponsNum;
+ }
+ $m->updateInfo(['id'=>$summaryInfo['id']],$data);
+ }else{
+ if(0 == $isAdd){
+ $expectedProductNum *= -1;
+ $expectedCouponsNum *= -1;
+ }
+ $data = compact('userId','expectedProductNum','expectedCouponsNum');
+ $data['alreadyProductNum'] = 0;
+ $data['alreadyCouponsNum'] = 0;
+ $data['isGive'] = 1;
+ $data['giveDate'] = time();
+ $data['giveDay'] = 0;
+ $m->insertInfo($data);
+ }
}
}
diff --git a/hyhproject/common/model/Users.php b/hyhproject/common/model/Users.php
index edf202f..367dda4 100755
--- a/hyhproject/common/model/Users.php
+++ b/hyhproject/common/model/Users.php
@@ -17,6 +17,8 @@ class Users extends Base{
$pInfo = getUserInfo(['userId'=>$pid],'trueName,userPhone,userLevel,userStatus');
if($pInfo)
$rs['pInfo'] = ['trueName'=>$pInfo['trueName'],'userPhone'=>$pInfo['userPhone'],'userLevel'=>$this->getUserLevelName($pInfo['userLevel']),'userStatus'=>$this->getUserStatusName($pInfo['userStatus'])];
+ else
+ $rs['pInfo'] = ['trueName'=>'无上级账号','userPhone'=>'','userLevel'=>'','userStatus'=>$this->getUserStatusName($pInfo['userStatus'])];
}
$rs['lockUserCount'] = Db::name('users u')
->join('user_trees t','u.userId=t.uid')
diff --git a/hyhproject/home/controller/Index.php b/hyhproject/home/controller/Index.php
index f63ec19..4540b25 100755
--- a/hyhproject/home/controller/Index.php
+++ b/hyhproject/home/controller/Index.php
@@ -14,14 +14,14 @@ class Index extends Base{
//产品券
$buyerMaxProductScale = round(dataConf('buyerMaxProductScale')*0.01,2);
$pay['maxProduct'] = $pay['needPay'] * $buyerMaxProductScale;//最大可用产品券
- $pay['productHandlingFee'] = round(dataConf('useHasProductHandlingFee')*0.01,2);//产品券手续费
- $pay['productTaxFee'] = round(dataConf('useHasProductTaxFee')*0.01,2);//产品券税费
+ $pay['productHandlingFee'] = round(dataConf('useHasHandlingFee')*0.01,2);//产品券手续费
+ $pay['productTaxFee'] = round(dataConf('useHasTaxFee')*0.01,2);//产品券税费
$pay['maxAllProduct'] = $this->getMaxNum($pay['maxProduct'],(1-$pay['productHandlingFee']-$pay['productTaxFee'] ));//加上手续费,税费最多扣除产品券
//优惠券
$pay['maxCoupons'] = $pay['needPay'] - $pay['maxProduct'] ;//最大可用其他券,优惠券+旺旺券+现金券
- $pay['coupousHandlingFee'] = round(dataConf('useHasCoupousHandlingFee')*0.01,2);//优惠券手续费
- $pay['coupousTaxFee'] = round(dataConf('useHasCoupousTaxFee')*0.01,2);//优惠券税费
+ $pay['coupousHandlingFee'] = round(dataConf('useHasHandlingFee')*0.01,2);//优惠券手续费
+ $pay['coupousTaxFee'] = round(dataConf('useHasTaxFee')*0.01,2);//优惠券税费
$pay['maxAllCoupons'] = $this->getMaxNum($pay['maxCoupons'],(1-$pay['coupousHandlingFee']-$pay['coupousTaxFee'] ));//加上手续费,税费最多扣除优惠券
$pay['money']['useMoney'] = 0;
diff --git a/thinkphp/library/think/File.php b/thinkphp/library/think/File.php
index 8e606f7..2f86315 100755
--- a/thinkphp/library/think/File.php
+++ b/thinkphp/library/think/File.php
@@ -131,8 +131,8 @@ class File extends SplFileObject
*/
public function getMime()
{
- $finfo = finfo_open(FILEINFO_MIME_TYPE);
- return finfo_file($finfo, $this->filename);
+ $finfo = \finfo_open(FILEINFO_MIME_TYPE);
+ return \finfo_file($finfo, $this->filename);
}
/**