where($dis)->find(); return !empty($data)?$data->toArray():[]; } /** * @author chenniang * @DataTime: 2020-09-11 10:29 * @功能说明:下单 */ public function addOrder($stored,$user_id,$staff_id,$share_id){ $member_model = new Member(); $member_info = $member_model->getMemberInfo(['user_id'=>$user_id,'uniacid'=>$stored['uniacid']]); $data = [ 'create_time' => time(), 'status' => 0, 'user_id' => $user_id, 'staff_id' => $staff_id, 'stored_id' => $stored['id'], 'pay_price' => round($stored['pay_price'],2), 'true_price' => round($stored['true_price'],2), 'true_price_before' => round($member_info['stored'],2), 'true_price_after' => round($member_info['stored']+$stored['true_price'],2), 'growth' => $stored['growth'], 'title' => $stored['title'], 'uniacid' => $stored['uniacid'], 'order_code' => orderCode(), 'type' => $stored['stored_type'], 'over_time' => 0, 'share_id' => $share_id ]; //如果是puls会员的,要把过期时间加好 if($stored['stored_type']==1){ $stored_level_model = new StoredLevel(); $level = $stored_level_model->getLevel($stored['id']); if(empty($level)){ return ['code'=>400,'msg'=>'等级未找到']; } $data['over_time'] = $level['over_time']; } $res = $this->insert($data); return $data; } /** * @author chenniang * @DataTime: 2020-09-17 13:48 * @功能说明:订单退款时候处理储值 */ public function orderRefundStore($order_id,$app,$refund_prices){ $order_model = new IndexShopOrder(); $order_info = $order_model->orderInfo(['id'=>$order_id]); //储值支付 $reslut = new IndexPayResunt($app); //储值记录 $res = $reslut->orderStoredResult($order_info,5,$refund_prices); return $res; } /** * @author chenniang * @DataTime: 2020-09-16 10:52 * @功能说明:储值扣款 */ public function desStore($price,$text,$member_info,$controller_type,$controller,$order_code=0,$title=0){ //注意:(3和5的order_code都是商城订单的order_code,其他的都是系统生成的) $order_code = !empty($order_code)?$order_code:orderCode(); //4 是直接修改价格 1、2、3的是扣除 0、5充值是加,6是加 霸王餐优惠;7申请提现;8申请拒绝 switch ($controller_type){ case 0: $true_price_after = round($member_info['stored']+$price,2); break; case 1: $true_price_after = round($member_info['stored']-$price,2); break; case 2: $true_price_after = round($member_info['stored']-$price,2); break; case 3: $true_price_after = round($member_info['stored']-$price,2); break; case 4: $true_price_after = $price; break; case 5: $true_price_after = round($member_info['stored']+$price,2); break; case 6: $true_price_after = round($member_info['stored']+$price,2); break; case 7: $true_price_after = round($member_info['stored']-$price,2); break; case 8: $true_price_after = round($member_info['stored']+$price,2); break; } $data = [ 'create_time' => time(), 'pay_time' => time(), 'status' => 0, 'user_id' => $member_info['user_id'], 'staff_id' => in_array($controller_type,[1,4,6,7,8])?0:$controller, 'stored_id' => 0, 'pay_price' => round($price,2), 'true_price' => round($price,2), 'true_price_before' => round($member_info['stored'],2), //4 是直接修改价格 2、3的是扣除 1充值是加 'true_price_after' => $true_price_after, 'growth' => 0, 'title' => $title, 'uniacid' => $member_info['uniacid'], 'order_code' => $order_code, 'type' => 0, 'over_time' => 0, 'share_id' => 0, 'status' => 2, 'controller_type' => $controller_type, 'controller' => $controller, 'text' => $text ]; $res = $this->insert($data); $id = $this->getLastInsID(); if($res==1){ $member_model = new Member(); if(in_array($controller_type,[4])){ $y_price = $price; }elseif (in_array($controller_type,[1,2,3])){ $y_price = $member_info['stored']-$price; }elseif (in_array($controller_type,[0,5])){ $y_price = $member_info['stored']+$price; //霸王餐 优惠 管理员 }elseif (in_array($controller_type,[6,8])){ $y_price = $member_info['stored']+$price; $member_info['cash_stored'] +=$price; //提现 (霸王餐) }elseif (in_array($controller_type,[7])){ $y_price = $member_info['stored']-$price; $member_info['cash_stored'] -=$price; } $where[] = ['id','=',$member_info['id']]; $where[] = ['stored','>=',0]; $res = $member_model->where($where)->update(['stored'=>$y_price,'cash_stored'=>$member_info['cash_stored']]); //目前只有员工扣款和后台扣款有佣金 if(in_array($controller_type,[1,2])){ $order = $this->orderInfo(['id'=>$id]); //配置模型 $congfig = new Config(); //返佣 $congfig->controllerCommission($order); } } return $res; } /** * @author chenniang * @DataTime: 2020-09-11 10:59 * @功能说明:回调 */ public function orderResult($order_code,$transaction_id){ $order = $this->where(['order_code'=>$order_code])->find(); if(empty($order_code)||$order->status!=0){ return false; } $order = $order->toArray(); //修改订单状态 $this->where(['order_code'=>$order_code])->update(['status'=>2,'pay_time'=>time(),'transaction_id'=>$transaction_id]); //会员模型 $member_model = new Member(); //等级模型 $level_model = new Level(); //获取用户会员信息(没有则创建) $user_info = $member_model->memberUpdateInfo(['user_id'=>$order['user_id'],'uniacid'=>$order['uniacid']]); //送储值 $row['stored'] = $user_info['stored']+$order['true_price']; //0是普通会员,要送成长值 if($order['type']==0){ $row['growth'] = $user_info['growth']+$order['growth']; $growth_model = new Growth(); $growth_model->addUserGrowth($order['uniacid'],$order['user_id'],$order['growth'],$order['id'],2,2); }else{ //1是plus会员,给会员过期时间 if($user_info['over_time']upUserRights('999',$order); } } //编辑用户 $level_model->upUserRightsEnd($row,$order); //返佣 $config_model = new Config(); $config_model->storeOrderCommission($order); $store_coupon = new StoredCoupon(); $store_coupon->insertCoupon($order['stored_id'],$order['user_id'],$order['uniacid']); return true; } /** * @author chenniang * @DataTime: 2020-07-16 16:35 * @功能说明:列表 */ public function recordList($dis,$page){ $data = $this->where($dis)->order(['create_time desc','id desc'])->paginate($page)->toArray(); if(!empty($data['data'])){ foreach ($data['data'] as &$v){ $v = $this->orderText($v['id']); $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); } } return $data; } /** * @author chenniang * @DataTime: 2020-09-27 14:33 * @功能说明:拼接扣款文案 */ public function orderText($order_id){ $v = $this->orderInfo(['id'=>$order_id]); //购买储值套餐 if($v['controller_type']==0){ $v['controller_avatar'] = lbUserAvatar($v['user_id']); $v['controller_name'] = '系统核算'; $icon = $v['true_price']>0?'+':'-'; $growth_add = $v['true_price']>0?$v['true_price']:$v['true_price']*-1; $boj = $this->returnObj($v['type']); $v['admin_text'] = $boj.'【'.$v['title'].'】'.$icon.'¥'.$growth_add.',现余额 ¥'.$v['true_price_after']; $v['index_text'] = $boj.'【'.$v['title'].'】'; }elseif($v['controller_type']==1){ //后台扣款 $v['controller_name'] = Db::name('longbing_admin')->where(['admin_id'=>$v['controller']])->value('account'); $v['controller_avatar'] = 'https://retail.xiaochengxucms.com/defaultAvatar.png'; $v['admin_text'] = '扣除储值 ¥'.$v['true_price'].',现储值 ¥'.$v['true_price_after']; $v['true_price'] = '-'.$v['true_price']; $v['index_text'] = '系统扣除储值'; }elseif($v['controller_type']==2){ //员工扣款 $v['controller_avatar'] = lbUserAvatar($v['controller']); $v['controller_name'] = lbUserName($v['controller']); $v['admin_text'] = '扣除储值 ¥'.$v['true_price'].',现储值 ¥'.$v['true_price_after']; $v['true_price'] = '-'.$v['true_price']; $v['index_text'] = '员工扣除储值'.'【'.$v['controller_name'].'】'; }elseif ($v['controller_type']==3){ //购买套餐 $v['controller_avatar'] = lbUserAvatar($v['user_id']); $v['controller_name'] = '系统核算'; $growth_add = $v['true_price']>0?$v['true_price']:$v['true_price']*-1; $boj = $this->returnObj($v['controller_type']); $v['admin_text'] = $boj.'【'.$v['title'].'】-¥'.$growth_add.',现余额 ¥'.$v['true_price_after']; $v['index_text'] = $boj.'【'.$v['title'].'】'; $v['true_price'] = '-'.$v['true_price']; }elseif ($v['controller_type']==4){ //员工修改 $v['controller_name'] = Db::name('longbing_admin')->where(['admin_id'=>$v['controller']])->value('account'); $v['controller_avatar'] = 'https://retail.xiaochengxucms.com/defaultAvatar.png'; $v['admin_text'] = '储值 ¥'.$v['true_price_before'].',修改为 ¥'.$v['true_price_after']; $v['index_text'] = '系统修改储值'; }elseif ($v['controller_type']==5){ //购买商品退款 $v['controller_avatar'] = lbUserAvatar($v['user_id']); $v['controller_name'] = '系统核算'; $growth_add = $v['true_price']>0?$v['true_price']:$v['true_price']*-1; $boj = $this->returnObj($v['controller_type']); $v['admin_text'] = $boj.'【'.$v['title'].'】+¥'.$growth_add.',现余额 ¥'.$v['true_price_after']; $v['index_text'] = $boj.'【'.$v['title'].'】'; }elseif ($v['controller_type']==6){ //霸王餐优惠 $v['controller_avatar'] = lbUserAvatar($v['user_id']); $v['controller_name'] = is_numeric($v['controller'])?lbUserName($v['controller']):Db::name('longbing_admin')->where(['admin_id'=>$v['controller']])->value('account');; $growth_add = $v['true_price']; $boj = $this->returnObj($v['controller_type']); $atv_model = new Active(); $title = $atv_model->where(['id'=>$v['title']])->value('title'); $v['admin_text'] = $boj.'【'.$title.'】'.'¥'.$growth_add.',现余额 ¥'.$v['true_price_after']; $v['index_text'] = $boj.'【'.$title.'】'; }elseif ($v['controller_type']==7){ //霸王餐优惠(提现) $v['controller_avatar'] = lbUserAvatar($v['user_id']); $v['controller_name'] = is_numeric($v['controller'])?lbUserName($v['controller']):Db::name('longbing_admin')->where(['admin_id'=>$v['controller']])->value('account');; $growth_add = $v['true_price']; $boj = $this->returnObj($v['controller_type']); $v['admin_text'] = $boj.'-¥'.$growth_add.',现余额 ¥'.$v['true_price_after']; $v['true_price'] = '-'.$v['true_price']; $v['index_text'] = $boj; }elseif ($v['controller_type']==8){ //霸王餐优惠(拒绝提现) $v['controller_avatar'] = lbUserAvatar($v['user_id']); $v['controller_name'] = Db::name('longbing_admin')->where(['admin_id'=>$v['controller']])->value('account');; $growth_add = $v['true_price']; $boj = $this->returnObj($v['controller_type']); $v['admin_text'] = $boj.'¥'.$growth_add.',现余额 ¥'.$v['true_price_after']; $v['index_text'] = $boj; } return $v; } /** * @author chenniang * @DataTime: 2020-09-14 15:17 * @功能说明:返回一个对象 */ public function returnObj($type){ switch ($type){ //购买会员商品 case 0: return '购买套餐'; break; //会员购买商品 case 1: return '购买套餐'; break; //购买储值套餐赠送 case 2: return '购买储值套餐赠送'; break; case 3: return '购买商品'; break; case 5: return '商品退款'; break; case 6: return '霸王餐活动'; break; case 7: return '提现申请'; break; case 8: return '拒绝提现'; break; default: return '消费获得'; break; } } }