| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557 |
- <?php
- /**
- * Created by PhpStorm.
- * Author: 芸众商城 www.yunzshop.com
- * Date: 18/04/2017
- * Time: 15:12
- */
- namespace app\backend\controllers;
- use app\backend\modules\charts\modules\member\services\LowerCountService;
- use app\backend\modules\charts\modules\member\services\LowerOrderService;
- use app\backend\modules\member\models\Member;
- use app\backend\modules\order\models\OrderOperationLog;
- use app\backend\modules\uploadVerificate\UploadVerificationBaseController;
- use app\backend\modules\uploadVerificate\UploadVerificationController;
- use app\common\components\BaseController;
- use app\common\events\order\AfterOrderCreatedEvent;
- use app\common\facades\EasyWeChat;
- use app\common\facades\Setting;
- use app\common\helpers\Url;
- use app\common\models\Goods;
- use app\common\models\Income;
- use app\common\models\member\ChildrenOfMember;
- use app\common\models\member\MemberParent;
- use app\common\models\member\ParentOfMember;
- use app\common\models\Order;
- use app\common\models\OrderGoods;
- use app\common\modules\shop\ShopConfig;
- use app\common\services\PayFactory;
- use app\common\services\Session;
- use app\common\services\systemUpgrade;
- use app\common\services\wechatApiV3\ApiV3Config;
- use app\framework\Http\Request;
- use app\framework\Redis\RedisServiceProvider;
- use app\common\services\member\MemberRelation;
- use app\common\services\MessageService;
- use app\frontend\modules\member\models\SubMemberModel;
- use app\Jobs\addReturnIncomeJob;
- use app\Jobs\MemberLowerCountJob;
- use app\Jobs\MemberLowerGroupOrderJob;
- use app\Jobs\MemberLowerOrderJob;
- use business\common\models\Staff;
- use business\common\services\QyWechatRequestService;
- use business\common\services\SettingService;
- use Carbon\Carbon;
- use EasyWeChat\Factory;
- use EasyWeChat\Kernel\Messages\TextCard;
- use Illuminate\Filesystem\Filesystem;
- use Illuminate\Support\Arr;
- use Illuminate\Support\Collection;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Redis;
- use Yunshop\BrowseFootprint\models\BrowseFootprintModel;
- use Yunshop\CityDelivery\models\AnotherOrder;
- use Yunshop\CityDelivery\models\DeliveryOrder;
- use Yunshop\CityDelivery\services\SfService;
- use Yunshop\ClockIn\api\ClockInPayController;
- use Yunshop\Commission\models\AgentLevel;
- use Yunshop\Commission\models\Agents;
- use Yunshop\Commission\models\CommissionOrder;
- use Yunshop\CustomerIncrease\models\Activity;
- use Yunshop\CustomerIncrease\models\ActivityCode;
- use Yunshop\CustomerIncrease\models\ActivityPoster;
- use Yunshop\CustomerIncrease\services\IntroduceService;
- use Yunshop\CustomerIncrease\services\PosterService;
- use Yunshop\CustomerRadar\models\CustomerRadarSet;
- use Yunshop\GroupDevelopUser\common\models\GroupChat;
- use Yunshop\GroupDevelopUser\common\models\GroupCode;
- use Yunshop\GroupDevelopUser\common\services\CodeService;
- use Yunshop\GroupDevelopUser\common\services\GroupChatService;
- use Yunshop\GroupReward\common\services\GroupChatRewardService;
- use Yunshop\MemberTags\Common\models\MemberTagsRelationModel;
- use Yunshop\ProjectManager\events\SaveNoticeEvent;
- use Yunshop\StoreCashier\common\models\StoreSetting;
- use Yunshop\TeamDividend\admin\models\MemberChild;
- use Yunshop\UploadVerification\service\UploadVerificateRoute;
- use app\backend\modules\member\models\MemberShopInfo;
- use app\common\events\member\BecomeAgent;
- use app\common\events\order\AfterOrderPaidEvent;
- use app\common\models\order\OrderDeduction;
- use Yunshop\StoreBusinessAlliance\models\StoreBusinessAlliancePriceDifferenceAwardModel;
- use Yunshop\StoreBusinessAlliance\models\StoreBusinessAllianceRecommendAwardModel;
- use app\common\events\order\AfterOrderReceivedEvent;
- use Exception;
- use Yunshop\WechatCustomers\common\models\Customer;
- use Yunshop\YunChat\common\models\Chats;
- use Yunshop\YunChat\common\service\ChatService;
- use Yunshop\YunChat\common\utils\WechatKf;
- use Yunshop\YunChat\manage\GroupController;
- class TestController extends UploadVerificationBaseController
- {
- use \Illuminate\Foundation\Bus\DispatchesJobs;
- protected $isPublic = true;
- public function t()
- {
- return;
- }
- public function getParams($url)
- {
- $result = array();
- $mr = preg_match('/groupId=([0-9]+)/', $url, $matchs);
- dd($url,$mr,$matchs);
- }
- //生成请求链接
- public function getRequestUrl($base_url, //设置页面的基础链接
- $app_id, //设置页面的app_id
- $app_secret, //设置页面的app_secret
- $user_mobile, //会员的手机号
- $point = 0, //要增加的积分点数,如果设置页面没有开启积分增加开关则无效
- $notify_url = 'https://www.baidu.com' //要增加的积分点数,如果设置页面没有开启积分增加开关则无效
- )
- {
- }
- public function a()
- {
- (new \app\backend\modules\charts\modules\member\services\TimedTaskService())->handle();
- }
- private $amountItems;
- private function getAmountItems()
- {
- if (!isset($this->amountItems)) {
- $this->amountItems = \app\common\models\Withdraw::select(['member_id', DB::raw('sum(`actual_amounts`) as total_amount')])->
- where('type', 'Yunshop\Commission\models\CommissionOrder')
- ->where('status', 2)->groupBy('member_id')
- ->get();
- }
- return $this->amountItems;
- }
- private function getAmountByMemberId($memberId)
- {
- $amountItem = $this->getAmountItems()->where('member_id', $memberId)->first();
- if ($amountItem) {
- return $amountItem['total_amount'];
- }
- return 0;
- }
- public $orderId;
- /**
- * @return bool
- */
- public function index()
- {
- $a = Carbon::createFromTimestamp(1503488629)->diffInDays(Carbon::createFromTimestamp(1504069595), true);
- $member_relation = new MemberRelation();
- $relation = $member_relation->hasRelationOfParent(66, 5, 1);
- dd($relation);
- $text = '{"commission":{"title":"u5206u9500","data":{"0":{"title":"u5206u9500u4f63u91d1","value":"0.01u5143"},"2":{"title":"u4f63u91d1u6bd4u4f8b","value":"0.15%"},"3":{"title":"u7ed3u7b97u5929u6570","value":"0u5929"},"4":{"title":"u4f63u91d1u65b9u5f0f","value":"+u5546u54c1u72ecu7acbu4f63u91d1"},"5":{"title":"u5206u4f63u65f6u95f4","value":"2018-10-24 09:15:31"},"6":{"title":"u7ed3u7b97u65f6u95f4","value":"2018-10-24 09:20:04"}}},"order":{"title":"u8ba2u5355","data":[{"title":"u8ba2u5355u53f7","value":"SN201810 24091508a8"},{"title":"u72b6u6001","value":"u4ea4u6613u5b8cu6210"}]},"goods":{"title":"u5546u54c1","data":[[{"title":"u540du79f0","value":"u8700u9999u98ceu7fd4u8c46u82b1u6ce1u998du5e97"},{"title":"u91d1u989d","value":"4.00u5143"}]]}}';
- $pattern1 = '/\\\u[\d|\w]{4}/';
- preg_match($pattern1, $text, $exists);
- if (empty($exists)) {
- $pattern2 = '/(u[\d|\w]{4})/';
- }
- }
- public function op_database()
- {
- $sub_data = array(
- 'member_id' => 999,
- 'uniacid' => 5,
- 'group_id' => 0,
- 'level_id' => 0,
- );
- SubMemberModel::insertData($sub_data);
- if (SubMemberModel::insertData($sub_data)) {
- echo 'ok';
- } else {
- echo 'ko';
- }
- }
- public function notice()
- {
- $teamDividendNotice = \Setting::get('plugin.team_dividend');
- $member = Member::getMemberById(\YunShop::app()->getMemberId());
- if ($teamDividendNotice['template_id']) {
- $message = $teamDividendNotice['team_agent'];
- $message = str_replace('[昵称]', $member->nickname, $message);
- $message = str_replace('[时间]', date('Y-m-d H:i:s', time()), $message);
- $message = str_replace('[团队等级]', '一级', $message);
- $msg = [
- "first" => '您好',
- "keyword1" => "成为团队代理通知",
- "keyword2" => $message,
- "remark" => "",
- ];
- echo '<pre>';
- print_r($msg);
- MessageService::notice($teamDividendNotice['template_id'], $msg, 'oNnNJwqQwIWjAoYiYfdnfiPuFV9Y');
- }
- return;
- }
- public function fixImage()
- {
- $goods = DB::table('yz_goods')->get();
- $goods_success = 0;
- $goods_error = 0;
- foreach ($goods as $item) {
- if ($item['thumb'] && !preg_match('/^images/', $item['thumb'])) {
- $src = $item['thumb'];
- if (strexists($src, '/addons/') || strexists($src, 'yun_shop/') || strexists($src, '/static/')) {
- continue;
- }
- if (preg_match('/\/images/', $item['thumb'])) {
- $thumb = substr($item['thumb'], strpos($item['thumb'], 'images'));
- $bool = DB::table('yz_goods')->where('id', $item['id'])->update(['thumb' => $thumb]);
- if ($bool) {
- $goods_success++;
- } else {
- $goods_error++;
- }
- }
- }
- }
- $category = DB::table('yz_category')->get();
- $category_success = 0;
- $category_error = 0;
- foreach ($category as $item) {
- $src = $item['thumb'];
- if (strexists($src, 'addons/') || strexists($src, 'yun_shop/') || strexists($src, 'static/')) {
- continue;
- }
- if ($item['thumb'] && !preg_match('/^images/', $item['thumb'])) {
- if (preg_match('/\/images/', $item['thumb'])) {
- $thumb = substr($item['thumb'], strpos($item['thumb'], 'images'));
- $bool = DB::table('yz_category')->where('id', $item['id'])->update(['thumb' => $thumb]);
- if ($bool) {
- $category_success++;
- } else {
- $category_error++;
- }
- }
- }
- }
- echo '商品图片修复成功:' . $goods_success . '个,失败:' . $goods_error . '个';
- echo '<br />';
- echo '分类图片修复成功:' . $category_success . '个,失败:' . $category_error . '个';
- }
- public function tt()
- {
- $member_relation = new MemberRelation();
- $member_relation->createParentOfMember();
- }
- public function fixIncome()
- {
- $count = 0;
- $income = Income::whereBetween('created_at', [1539792000, 1540915200])->get();
- foreach ($income as $value) {
- $pattern1 = '/\\\u[\d|\w]{4}/';
- preg_match($pattern1, $value->detail, $exists);
- if (empty($exists)) {
- $pattern2 = '/(u[\d|\w]{4})/';
- $value->detail = preg_replace($pattern2, '\\\$1', $value->detail);
- $value->save();
- $count++;
- }
- }
- echo "修复了{$count}条";
- }
- public function pp()
- {
- $member_info = Member::getAllMembersInfosByQueue(\YunShop::app()->uniacid);
- $total = $member_info->distinct()->count();
- dd($total);
- $this->chkSynRun(10);
- exit;
- /*$member_relation = new MemberRelation();
- $member_relation->createChildOfMember();*/
- }
- public function synRun($uniacid)
- {
- $parentMemberModle = new ParentOfMember();
- $childMemberModel = new ChildrenOfMember();
- $memberModel = new Member();
- $memberModel->_allNodes = collect([]);
- \Log::debug('--------------清空表数据------------');
- //$parentMemberModle->DeletedData();
- $memberInfo = $memberModel->getTreeAllNodes($uniacid);
- dd($memberInfo);
- if ($memberInfo->isEmpty()) {
- \Log::debug('----is empty-----');
- return;
- }
- foreach ($memberInfo as $item) {
- $memberModel->_allNodes->put($item->member_id, $item);
- }
- \Log::debug('--------queue synRun -----');
- dd(1);
- foreach ($memberInfo as $key => $val) {
- $attr = [];
- $child_attr = [];
- echo $val->member_id . '<BR>';
- \Log::debug('--------foreach start------', $val->member_id);
- $data = $memberModel->chktNodeParents($uniacid, $val->member_id);
- \Log::debug('--------foreach data------', $data->count());
- if (!$data->isEmpty()) {
- \Log::debug('--------insert init------');
- foreach ($data as $k => $v) {
- $attr[] = [
- 'uniacid' => $uniacid,
- 'parent_id' => $k,
- 'level' => $v['depth'] + 1,
- 'member_id' => $val->member_id,
- 'created_at' => time()
- ];
- $child_attr[] = [
- 'uniacid' => $uniacid,
- 'parent_id' => $val->member_id,
- 'level' => $v['depth'] + 1,
- 'member_id' => $k,
- 'created_at' => time()
- ];
- }
- $childMemberModel->createData($attr);
- /*
- foreach ($data as $k => $v) {
- $attr[] = [
- 'uniacid' => $uniacid,
- 'parent_id' => $k,
- 'level' => $v['depth'] + 1,
- 'member_id' => $val->member_id,
- 'created_at' => time()
- ];
- }
- $parentMemberModle->createData($attr);*/
- }
- }
- }
- public function synRun2($uniacid)
- {
- $childMemberModel = new ChildrenOfMember();
- $memberModel = new Member();
- $memberModel->_allNodes = collect([]);
- \Log::debug('--------------清空表数据------------');
- $childMemberModel->DeletedData();
- $memberInfo = $memberModel->getTreeAllNodes($uniacid);
- if ($memberInfo->isEmpty()) {
- \Log::debug('----is empty-----');
- return;
- }
- foreach ($memberInfo as $item) {
- $memberModel->_allNodes->put($item->member_id, $item);
- }
- \Log::debug('--------queue synRun -----');
- foreach ($memberInfo as $key => $val) {
- $attr = [];
- $memberModel->filter = [];
- echo '<pre>';
- print_r($val->member_id);
- \Log::debug('--------foreach start------', $val->member_id);
- $data = $memberModel->getDescendants($uniacid, $val->member_id);
- \Log::debug('--------foreach data------', $data->count());
- if (!$data->isEmpty()) {
- \Log::debug('--------insert init------');
- $data = $data->toArray();
- foreach ($data as $k => $v) {
- if ($k != $val->member_id) {
- $attr[] = [
- 'uniacid' => $uniacid,
- 'child_id' => $k,
- 'level' => $v['depth'] + 1,
- 'member_id' => $val->member_id,
- 'created_at' => time()
- ];
- } else {
- $e = [$k, $v];
- }
- }
- echo '<pre>';
- print_r($attr);
- // $childMemberModel->createData($attr);
- }
- }
- }
- public function cmr()
- {
- $member_relation = new MemberRelation();
- $a = [
- [65, 79],
- [75, 79],
- [37, 65],
- [66, 65],
- [84, 75],
- [13, 37],
- [13090, 66],
- [24122, 66],
- [24132, 66],
- [91, 84],
- [9231, 84],
- [9571, 84],
- [89, 65]
- ];
- $aa = [
- [66, 0]
- ];
- foreach ($a as $item) {
- $member_relation->build($item[0], $item[1]);
- }
- echo 'ok';
- }
- public function chkSynRun()
- {
- //$uniacid = \YunShop::app()->uniacid;
- (new Member())->chkRelationData();
- /*$memberModel->_allNodes = collect([]);
- $memberInfo = $memberModel->getTreeAllNodes($uniacid);
- if ($memberInfo->isEmpty()) {
- \Log::debug('----is empty-----');
- return;
- }
- foreach ($memberInfo as $item) {
- $memberModel->_allNodes->put($item->member_id, $item);
- }
- \Log::debug('--------queue synRun -----');
- foreach ($memberInfo as $key => $val) {
- \Log::debug('--------foreach start------', $val->member_id);
- $memberModel->chkNodeParents($uniacid, $val->member_id);
- }
- echo 'end';*/
- }
- public function generateAddressJs()
- {
- $num = (new \app\common\services\address\GenerateAddressJs())->address();
- echo $num;
- }
- protected $GoodsGroupTable = 'yz_goods_group_goods';
- protected $DesignerTable = 'yz_designer';
- public function test()
- {
- }
- public function fixImg()
- {
- $time = [mktime(23, 59, 59, date('m'), date('d') - date('w') - 7, date('Y')), time()];
- // $time = [mktime(0,0,0,date('m'),1,date('Y')),time()];
- $order = Order::uniacid()->with(['hasManyOrderGoods.goods'])->whereBetween('create_time', $time)->get();
- foreach ($order as $item) {
- foreach ($item['hasManyOrderGoods'] as $it) {
- if (empty($it['thumb'])) {
- $order_goods = OrderGoods::find($it['id']);
- $data['thumb'] = yz_tomedia($it['goods']['thumb']);
- $order_goods->fill($data);
- $validator = $order_goods->validator();
- if ($validator->fails()) {
- throw new AppException($validator->messages()->first());
- }
- if (!$order_goods->save()) {
- \Log::debug('修复图片失败,订单id:' . $item['id']);
- throw new AppException('修复图片失败,订单id:' . $item['id']);
- }
- }
- }
- }
- dd('修复成功');
- }
- public function suser()
- {
- $u = request()->input('u');
- $blank = request()->input('blank');
- if ($blank) {
- Session::set('member_id', $u);
- }
- $a = Session::get('member_id');
- dd($a);
- }
- }
|