123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- namespace console\index\controller;
- use huo\controller\agent\AgentCache;
- use huo\controller\common\CommonFunc;
- use huo\controller\member\MemCache;
- use huo\model\integral\MemItgLogModel;
- use huo\model\user\UserModel;
- use huolib\constant\IaConst;
- use huomp\model\member\UnusualMemModel;
- use think\console\Command;
- use think\console\Input;
- use think\console\Output;
- use think\Log;
- class ReturnUserReward extends Command {
- protected function configure() {
- $this->setName('return_user_reward')->setDescription('新用户奖励bug,数据修复');
- }
- protected function execute(Input $input, Output $output) {
- set_time_limit(0);
- $_mil_model = new MemItgLogModel();
- $_agent_model = new UserModel();
- $_um_model = new UnusualMemModel();
- $_all_list = $_mil_model->field('mem_id,count(mem_id) AS mem_count')
- ->where(
- 'itg_type = 1 AND sub_ia_id = 81234671 AND ia_id = 12 AND create_time > 1540396800 AND is_delete=2'
- )
- ->group('mem_id')
- ->having('count(mem_id) > 1')->select();
- foreach ($_all_list as $member) {
- $_agent_id = $_agent_model->getIdByMemId($member['mem_id']);
- if (empty($_agent_id)) {
- Log::write('新用户奖励bug,数据修复,set1玩家信息'.json_encode($member), Log::ERROR);
- continue;
- }
- $_where = [
- 'mem_id' => $member['mem_id'],
- 'is_delete' => 2,
- ];
- $_field = ['id,itg_type,integral_total,my_integral,integral,ia_id'];
- $_list = $_mil_model->where($_where)->field($_field)->order('id asc')->select();
- if (!empty($_list)) {
- $_list = $_list->toArray();
- $_itg_total = 0;
- $_my_integral = 0;
- $_err_total = 0;
- foreach ($_list as $_k => $_v) {
- $_err_total = $_v['integral_total'];
- if (0 == $_k || 1 == $_k) {
- $_itg_total = $_v['integral_total'];
- $_my_integral = $_v['my_integral'];
- continue;
- }
- $_map = ['id' => $_v['id']];
- $_time = time();
- if (IaConst::IA_OPEN_GAME == $_v['ia_id']) {
- $_up_data = [
- 'is_delete' => 1,
- 'delete_time' => $_time
- ];
- } else {
- if (1 == $_v['itg_type']) {
- $_itg_total += $_v['integral'];
- $_my_integral += $_v['integral'];
- $_up_data = [
- 'integral_total' => $_itg_total,
- 'my_integral' => $_my_integral,
- ];
- } else {
- $_up_data = [
- 'integral_total' => $_itg_total,
- 'my_integral' => $_my_integral - $_v['integral'],
- ];
- }
- }
- $_mil_model->where($_map)->update($_up_data);
- }
- $_cha_total = $_err_total - $_itg_total;
- if (!empty($_cha_total)) {
-
- $_money = ($_cha_total / CommonFunc::getGoldRmbRate());
- $_ae_data = AgentCache::ins()->getAgentExtByAgentId($_agent_id);
- $_share_total = $_ae_data['share_total'];
- $_share_remain = $_ae_data['share_remain'];
- $_share_total -= $_money;
- $_share_remain -= $_money;
- $_ae_data['share_total'] = $_share_total > 0 ? $_share_total : 0;
- $_ae_data['share_remain'] = $_share_remain > 0 ? $_share_remain : 0;
- AgentCache::ins()->updateAgentExt($_agent_id, $_ae_data, true);
-
- $_me_data = MemCache::ins()->getMeInfoById($member['mem_id']);
- $_me_data['integral_total'] = $_itg_total > 0 ? $_itg_total : 0;
- $_me_data['my_integral'] = $_my_integral > 0 ? $_my_integral : 0;
- MemCache::ins()->updateMeCache($member['mem_id'], $_me_data);
- }
- }
-
- $_um_model->deleteByAgentId($_agent_id);
- }
- }
- }
|