insert into yt_dyz_user (user_id, nick_name, head_img, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, nearly_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, ditch_id, platform_id, app_id, power, phone, phone_json, device_id) values (#{userId}, #{nickName}, #{headImg}, #{registryTime}, #{lastLoginTime}, #{lastLoginIp}, #{loginDays}, #{totalVideo}, #{totalIncome}, #{nearlyIncome}, #{redPacketBalance}, #{redPacketAmount}, #{pointsBalance}, #{pointsTotal}, #{withdrawTotal}, #{signDays}, #{userStatus}, #{riskReason}, #{wxOpenId}, #{ditchId}, #{platformId}, #{appId}, #{power}, #{phone}, #{phoneJson}, #{deviceId}) insert into yt_dyz_power_record ( record_id, user_id, type, remark, add_time ) values ( #{recordId},#{userId},#{type},#{remark},#{addTime} ) insert into yt_app_default_config ( config_name, open_id, secret, app_id, app_key, app_type, ditch_id ) values ( #{configName}, #{openId}, #{secret}, #{appId}, #{appKey}, #{appType}, #{ditchId} ) update yt_app_default_config can_simulator = #{canSimulator}, config_name = #{configName}, open_id = #{openId}, secret = #{secret}, app_key = #{appKey}, app_type = #{appType}, taku_app_id = #{takuAppId}, taku_key = #{takuKey}, taku_banner_pid = #{takuBannerPid}, taku_native_pid = #{takuNativePid}, taku_reward_pid = #{takuRewardPid}, taku_interstitial_pid = #{takuInterstitialPid}, can_use_root = #{canUseRoot}, can_use_adb = #{canUseAdb}, can_use_float = #{canUseFloat}, can_accumulation = #{canAccumulation}, ditch_id = #{ditchId}, power_wait_time = #{powerWaitTime}, interstitial_interval_time = #{interstitialIntervalTime}, flow_interval_time = #{flowIntervalTime}, task_limit_tip = #{taskLimitTip}, low_value_tip = #{lowValueTip}, brush_tip = #{brushTip}, start_wait_time = #{startWaitTime}, can_cache_video = #{canCacheVideo}, can_allow_auto_refresh = #{canAllowAutoRefresh} where app_id = #{appId} update yt_dyz_user set power = power+1 where user_id = #{userId} update yt_dyz_user set power = power-1 where user_id = #{userId} update yt_dyz_user nick_name = #{nickName}, phone = #{phone}, device_id = #{deviceId}, head_img = #{headImg}, power = #{power}, last_login_time = #{lastLoginTime}, last_login_ip = #{lastLoginIp}, login_days = #{loginDays}, total_video = #{totalVideo}, total_income = #{totalIncome}, nearly_income = #{nearlyIncome}, red_packet_balance = #{redPacketBalance}, red_packet_amount = #{redPacketAmount}, points_balance = #{pointsBalance}, points_total = #{pointsTotal}, withdraw_total = #{withdrawTotal}, sign_days = #{signDays}, user_status = #{userStatus}, risk_reason = #{riskReason}, wx_open_id = #{wxOpenId}, phone_json = #{phoneJson}, platform_id = #{platformId} where user_id = #{userId} delete from yt_app_default_config where app_id = #{appId} update yt_dyz_user set user_status = 1 where user_status > 1 and user_id in #{item} UPDATE yt_dyz_user SET -- 处理近4天未登录 或间隔时间超过4天 nearly_income = (CASE WHEN last_login_time DATE_SUB(DATE(NOW()), INTERVAL 4 DAY) OR IFNULL(nearly_begin_time, NOW()) DATE_SUB(DATE(NOW()), INTERVAL 4 DAY) THEN #{revenue} ELSE COALESCE(nearly_income, 0) + #{revenue} END), nearly_begin_time = CASE -- 优先处理重置场景 WHEN last_login_time DATE_SUB(DATE(NOW()), INTERVAL 4 DAY) OR IFNULL(nearly_begin_time, NOW()) DATE_SUB(DATE(NOW()), INTERVAL 4 DAY) THEN NOW() -- 处理初始值为NULL的情况 WHEN nearly_begin_time IS NULL THEN NOW() -- 其他情况保持不变 ELSE nearly_begin_time END, -- 累加统计值 total_video = COALESCE(total_video, 0) + #{videoCount}, total_income = COALESCE(total_income, 0) + #{revenue} WHERE user_id = #{userId};