| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- <?php
 
- namespace Combine\Lib;
 
- use Dever;
 
- class Core
 
- {
 
-     # 合并用户数据
 
-     public function handle($uid, $drop)
 
-     {
 
-         $table = array
 
-         (
 
-             'passport/app',
 
-             'passport/wechat',
 
-             'act/feedback',
 
-             'act/comment',
 
-             'act/form_id',
 
-             'act/invite',
 
-             'act/like',
 
-             'act/live_comment',
 
-             'act/live_note',
 
-             //'act/score',//积分相关的要加上,不能直接修改
 
-             'act/share',
 
-             'act/share_reflux',
 
-             'act/subscribe',
 
-             'act/watch',
 
-             'code/info',
 
-             'source/user',
 
-             'score/action_log',
 
-             //'score/user',//积分相关的要加上,不能直接修改
 
-             //'score/user_level',//等级,不做合并,保留即可
 
-             'score/user_log',//积分日志
 
-             'message/inbox',
 
-             'invite/relation',
 
-             //'pay/order',//支付系统单独建立,如果通过接口会有安全问题,因为数据是独立的,暂时不做合并
 
-             'journal/order',
 
-         );
 
-         if (is_string($drop)) {
 
-             $drop = explode(',', $drop);
 
-         }
 
-         foreach ($drop as $k => $v) {
 
-             if ($v == $uid) {
 
-                 continue;
 
-             }
 
-             foreach ($table as $k1 => $v1) {
 
-                 Dever::db($v1)->updates(array('set_uid' => $uid, 'option_uid' => $v));
 
-             }
 
-             # 处理一些特殊的情况
 
-             $this->other($uid, $v);
 
-             # 积分相关 要把积分加上,再删掉之前的
 
-             $this->score($uid, $v, 'score/user');
 
-             $this->score($uid, $v, 'act/score');
 
-         }
 
-     }
 
-     private function other($uid, $drop_uid)
 
-     {
 
-         Dever::db('code/info')->updates(array('set_create_uid' => $uid, 'option_create_uid' => $drop_uid));
 
-         Dever::db('invite/relation')->updates(array('set_to_uid' => $uid, 'option_to_uid' => $drop_uid));
 
-     }
 
-     private function score($uid, $drop_uid, $table, $col = 'score')
 
-     {
 
-         $db = Dever::db($table);
 
-         $user_score = $db->one(array('uid' => $uid));
 
-         $user_drop_score = $db->one(array('uid' => $drop_uid));
 
-         if ($user_score && $user_drop_score) {
 
-             $score = $user_score[$col] + $user_drop_score[$col];
 
-             $update['where_id'] = $user_score['id'];
 
-             $update['score'] = $score;
 
-             $db->update($update);
 
-             
 
-             $db->delete($user_drop_score['id']);
 
-         }
 
-     }
 
- }
 
 
  |