RuoYi Logs
dev

sys-error.log

job · 最近 500 行 · 已读取 64.0 KiB

            m.enter_invite_code, m.team_code, m.agent_team_id, m.team_role,
            m.team_agent_identity, m.referrer_agent_id,
            m.developer_name, m.recruiter_user_id,
            mt.title AS team_name,
            m.site_code, m.agent_code,
            COALESCE(s.name_zn, m.site_code) AS site_name,
            m.from_source, m.from_domain, m.is_agent, m.from_ip, m.from_ip_region,
            m.is_site_admin_binding,
            m.commission_plan_id, m.google_key,
            case when m.google_key is not null and m.google_key != '' then '0' else '1' end as google_auth_status,
            m.last_active_time, m.last_entry_venue,
            m.user_type, m.agent_level, m.star_level, m.agent_remark,
            m.phone, m.email, m.qq, m.wechat,
            m.promotion_code, m.commission_rate,
            m.bear_all_operation_expense, m.bear_operation_expense_types,
            m.settlement_cycle,
            m.min_withdraw_amount, m.max_withdraw_amount, m.agent_status,
            m.total_valid_bet_amount,
            m.vip_raw_total_valid_bet_amount, m.vip_turnover_adjustment,
            m.remain_level_start_date,
            m.current_remain_level_bet_amount,
            cp.plan_name AS commission_plan_name,
            pu.name AS parent_agent_name,
            pu.agent_level AS parent_agent_level,
            pu.star_level AS parent_agent_star_level,
            m.agent_domain,
            /* 子数量 */
            (SELECT COUNT(*) FROM member_user
            WHERE agent_code = m.id AND IFNULL(user_type,1) = 1) AS sub_agent_count,
            (SELECT COUNT(*) FROM member_user
            WHERE agent_code = m.id AND IFNULL(user_type,0) = 0) AS sub_member_count
            ,
            (SELECT mar.actual_amount
             FROM member_account_record mar
             WHERE mar.member_id = m.id
               AND mar.transaction_type = 1
               AND mar.status = 3
             ORDER BY mar.id ASC
             LIMIT 1) AS first_deposit_amount
        FROM member_user m
            LEFT JOIN member_team mt ON m.team_code = mt.team_code
            LEFT JOIN site s ON m.site_code = s.code
            LEFT JOIN commission_plan cp ON m.commission_plan_id = cp.id
            LEFT JOIN member_user pu ON m.agent_code = pu.id
        ) u

     
        where u.name = ?
          and u.site_code = ?
        order by u.id asc
        limit 1 ["xiuyl666","99999"]
01:35:09.011 [xxl-job, JobThread-74-1787309040024] ERROR c.r.j.s.i.LotteryBetEventSyncService - [processDueInbox,334] - 彩票事件单条处理失败,eventId=BMT2XSARX000007:BET:1, siteCode=99999, orderNo=BMT2XSARX000007, eventSeq=1
org.springframework.dao.DataIntegrityViolationException: 
### Error updating database.  Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
### The error may exist in URL [jar:file:/opt/ruoyi/services/job/releases/prod-job-20260821-1941-49df94d9/ruoyi-job.jar!/BOOT-INF/lib/ruoyi-system-3.9.0.jar!/mapper/system/BetRecordsMapper.xml]
### The error may involve com.ruoyi.system.mapper.BetRecordsMapper.insertBetRecords-Inline
### The error occurred while setting parameters
### SQL: insert into bet_records          ( generated_id,             biz_id,             player_name,             user_name,             venue_code,             venue_name,             game_type_id,             game_type_name,             platform_name,             round_no,             round_id,             play_name,             play_option_name,                                                    series_name,             ticket_plan_no,             bet_model,             odds_value,             bet_content,                          bet_count,             bet_multiple,                                                                              order_detail,             bet_amount,             valid_bet_amount,             net_amount,             pay_amount,             ob_bet_status,             bet_at,                          sync_at,             currency,                                                    site_code,                          venue_type,             member_id,             create_time,             update_time )           values ( ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,                                                    ?,             ?,             ?,             ?,             ?,                          ?,             ?,                                                                              ?,             ?,             ?,             ?,             ?,             ?,             ?,                          ?,             ?,                                                    ?,                          ?,             ?,             sysdate(),             sysdate() )
### Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
; Data truncation: Data too long for column 'play_name' at row 1; nested exception is com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:104)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439)
	at com.sun.proxy.$Proxy119.insert(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152)
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
	at com.sun.proxy.$Proxy166.insertBetRecords(Unknown Source)
	at com.ruoyi.job.service.impl.BetRecordSyncV2PersistenceService.saveOrUpdate(BetRecordSyncV2PersistenceService.java:213)
	at com.ruoyi.job.service.impl.BetRecordSyncV2PersistenceService$$FastClassBySpringCGLIB$$557c1fea.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.framework.aspectj.DataSourceAspect.around(DataSourceAspect.java:51)
	at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
	at com.ruoyi.job.service.impl.BetRecordSyncV2PersistenceService$$EnhancerBySpringCGLIB$$93737acb.saveOrUpdate(<generated>)
	at com.ruoyi.job.service.impl.LotteryBetEventPersistenceService.processInboxRecord(LotteryBetEventPersistenceService.java:100)
	at com.ruoyi.job.service.impl.LotteryBetEventPersistenceService$$FastClassBySpringCGLIB$$a22ee543.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.framework.aspectj.DataSourceAspect.around(DataSourceAspect.java:51)
	at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
	at com.ruoyi.job.service.impl.LotteryBetEventPersistenceService$$EnhancerBySpringCGLIB$$7a016a76.processInboxRecord(<generated>)
	at com.ruoyi.job.service.impl.LotteryBetEventSyncService.processDueInbox(LotteryBetEventSyncService.java:328)
	at com.ruoyi.job.service.impl.LotteryBetEventSyncService.processDueInbox(LotteryBetEventSyncService.java:276)
	at com.ruoyi.job.handler.LotteryBetEventInboxJob.lotteryBetEventInboxJob(LotteryBetEventInboxJob.java:30)
	at com.ruoyi.job.handler.LotteryBetEventInboxJob$$FastClassBySpringCGLIB$$b10e0cf5.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.job.aspectj.XxlJobFailureAlertAspect.around(XxlJobFailureAlertAspect.java:38)
	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
	at com.ruoyi.job.handler.LotteryBetEventInboxJob$$EnhancerBySpringCGLIB$$cdc23ba2.lotteryBetEventInboxJob(<generated>)
	at sun.reflect.GeneratedMethodAccessor888.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:31)
	at com.xxl.job.core.thread.JobThread.run(JobThread.java:166)
Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3462)
	at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3460)
	at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:158)
	at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75)
	at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
	at com.sun.proxy.$Proxy137.update(Unknown Source)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
	at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
	at com.sun.proxy.$Proxy136.update(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
	at com.sun.proxy.$Proxy136.update(Unknown Source)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
	at sun.reflect.GeneratedMethodAccessor316.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425)
	... 86 common frames omitted
01:35:38.632 [xxl-job, JobThread-61-1787333730004] ERROR c.a.d.f.s.StatFilter - [internalAfterStatementExecute,518] - slow sql 8623 millis. SELECT u.* FROM (
        SELECT
            m.id, m.name, m.password, m.withdraw_password, m.real_name, m.avatar, m.parent, m.reg_time, m.last_login_time,
            m.last_login_ip, m.last_login_region, m.app_version, m.status, m.vip_level, m.invite_code,
            m.enter_invite_code, m.team_code, m.agent_team_id, m.team_role,
            m.team_agent_identity, m.referrer_agent_id,
            m.developer_name, m.recruiter_user_id,
            mt.title AS team_name,
            m.site_code, m.agent_code,
            COALESCE(s.name_zn, m.site_code) AS site_name,
            m.from_source, m.from_domain, m.is_agent, m.from_ip, m.from_ip_region,
            m.is_site_admin_binding,
            m.commission_plan_id, m.google_key,
            case when m.google_key is not null and m.google_key != '' then '0' else '1' end as google_auth_status,
            m.last_active_time, m.last_entry_venue,
            m.user_type, m.agent_level, m.star_level, m.agent_remark,
            m.phone, m.email, m.qq, m.wechat,
            m.promotion_code, m.commission_rate,
            m.bear_all_operation_expense, m.bear_operation_expense_types,
            m.settlement_cycle,
            m.min_withdraw_amount, m.max_withdraw_amount, m.agent_status,
            m.total_valid_bet_amount,
            m.vip_raw_total_valid_bet_amount, m.vip_turnover_adjustment,
            m.remain_level_start_date,
            m.current_remain_level_bet_amount,
            cp.plan_name AS commission_plan_name,
            pu.name AS parent_agent_name,
            pu.agent_level AS parent_agent_level,
            pu.star_level AS parent_agent_star_level,
            m.agent_domain,
            /* 子数量 */
            (SELECT COUNT(*) FROM member_user
            WHERE agent_code = m.id AND IFNULL(user_type,1) = 1) AS sub_agent_count,
            (SELECT COUNT(*) FROM member_user
            WHERE agent_code = m.id AND IFNULL(user_type,0) = 0) AS sub_member_count
            ,
            (SELECT mar.actual_amount
             FROM member_account_record mar
             WHERE mar.member_id = m.id
               AND mar.transaction_type = 1
               AND mar.status = 3
             ORDER BY mar.id ASC
             LIMIT 1) AS first_deposit_amount
        FROM member_user m
            LEFT JOIN member_team mt ON m.team_code = mt.team_code
            LEFT JOIN site s ON m.site_code = s.code
            LEFT JOIN commission_plan cp ON m.commission_plan_id = cp.id
            LEFT JOIN member_user pu ON m.agent_code = pu.id
        ) u

     
        where u.id in
         (  
            ?
         , 
            ?
         ) [2528,3753]
01:36:02.231 [xxl-job, JobThread-9-1787333760013] ERROR c.a.d.f.s.StatFilter - [internalAfterStatementExecute,518] - slow sql 2214 millis. select
            s.id as site_id,
            b.site_code,
            b.member_id as user_id,
            m.agent_code as agent_code,
            m.name as member_name,
            max(b.generated_id) as order_no,
            count(1) as record_count,
            coalesce(sum(coalesce(b.net_amount, 0)), 0) as amount
        from bet_records b
        inner join member_user m on m.id = b.member_id
        inner join site s on s.code = b.site_code
        where s.id = ?
        group by s.id, b.site_code, b.member_id, m.agent_code, m.name
        having coalesce(sum(coalesce(b.net_amount, 0)), 0) > ? [8,1000000]
01:36:03.909 [xxl-job, JobThread-56-1787333760010] ERROR c.a.d.f.s.StatFilter - [internalAfterStatementExecute,518] - slow sql 3280 millis. select a.id, a.member_user_id, a.balance, a.commission_amount,
               a.venue_code, a.is_main, a.status, a.amount_frozen,
               a.withdrawable_amount, a.locked_amount, a.full_withdraw_required_turnover,
               a.turnover_rule_version, a.turnover_rule_activated_at,
               a.venue_transfer_revision,
               a.yuebao_principal_amount, a.yuebao_interest_amount
        from member_account a
        where a.member_user_id = ? and a.is_main = 1
        for update [4339]
01:37:05.423 [xxl-job, JobThread-74-1787309040024] ERROR c.a.d.f.s.StatFilter - [internalAfterStatementExecute,518] - slow sql 5412 millis. SELECT u.* FROM (
        SELECT
            m.id, m.name, m.password, m.withdraw_password, m.real_name, m.avatar, m.parent, m.reg_time, m.last_login_time,
            m.last_login_ip, m.last_login_region, m.app_version, m.status, m.vip_level, m.invite_code,
            m.enter_invite_code, m.team_code, m.agent_team_id, m.team_role,
            m.team_agent_identity, m.referrer_agent_id,
            m.developer_name, m.recruiter_user_id,
            mt.title AS team_name,
            m.site_code, m.agent_code,
            COALESCE(s.name_zn, m.site_code) AS site_name,
            m.from_source, m.from_domain, m.is_agent, m.from_ip, m.from_ip_region,
            m.is_site_admin_binding,
            m.commission_plan_id, m.google_key,
            case when m.google_key is not null and m.google_key != '' then '0' else '1' end as google_auth_status,
            m.last_active_time, m.last_entry_venue,
            m.user_type, m.agent_level, m.star_level, m.agent_remark,
            m.phone, m.email, m.qq, m.wechat,
            m.promotion_code, m.commission_rate,
            m.bear_all_operation_expense, m.bear_operation_expense_types,
            m.settlement_cycle,
            m.min_withdraw_amount, m.max_withdraw_amount, m.agent_status,
            m.total_valid_bet_amount,
            m.vip_raw_total_valid_bet_amount, m.vip_turnover_adjustment,
            m.remain_level_start_date,
            m.current_remain_level_bet_amount,
            cp.plan_name AS commission_plan_name,
            pu.name AS parent_agent_name,
            pu.agent_level AS parent_agent_level,
            pu.star_level AS parent_agent_star_level,
            m.agent_domain,
            /* 子数量 */
            (SELECT COUNT(*) FROM member_user
            WHERE agent_code = m.id AND IFNULL(user_type,1) = 1) AS sub_agent_count,
            (SELECT COUNT(*) FROM member_user
            WHERE agent_code = m.id AND IFNULL(user_type,0) = 0) AS sub_member_count
            ,
            (SELECT mar.actual_amount
             FROM member_account_record mar
             WHERE mar.member_id = m.id
               AND mar.transaction_type = 1
               AND mar.status = 3
             ORDER BY mar.id ASC
             LIMIT 1) AS first_deposit_amount
        FROM member_user m
            LEFT JOIN member_team mt ON m.team_code = mt.team_code
            LEFT JOIN site s ON m.site_code = s.code
            LEFT JOIN commission_plan cp ON m.commission_plan_id = cp.id
            LEFT JOIN member_user pu ON m.agent_code = pu.id
        ) u

     
        where u.name = ?
          and u.site_code = ?
        order by u.id asc
        limit 1 ["xiuyl666","99999"]
01:37:05.433 [xxl-job, JobThread-74-1787309040024] ERROR c.r.j.s.i.LotteryBetEventSyncService - [processDueInbox,334] - 彩票事件单条处理失败,eventId=BMT2XSARX000007:BET:1, siteCode=99999, orderNo=BMT2XSARX000007, eventSeq=1
org.springframework.dao.DataIntegrityViolationException: 
### Error updating database.  Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
### The error may exist in URL [jar:file:/opt/ruoyi/services/job/releases/prod-job-20260821-1941-49df94d9/ruoyi-job.jar!/BOOT-INF/lib/ruoyi-system-3.9.0.jar!/mapper/system/BetRecordsMapper.xml]
### The error may involve com.ruoyi.system.mapper.BetRecordsMapper.insertBetRecords-Inline
### The error occurred while setting parameters
### SQL: insert into bet_records          ( generated_id,             biz_id,             player_name,             user_name,             venue_code,             venue_name,             game_type_id,             game_type_name,             platform_name,             round_no,             round_id,             play_name,             play_option_name,                                                    series_name,             ticket_plan_no,             bet_model,             odds_value,             bet_content,                          bet_count,             bet_multiple,                                                                              order_detail,             bet_amount,             valid_bet_amount,             net_amount,             pay_amount,             ob_bet_status,             bet_at,                          sync_at,             currency,                                                    site_code,                          venue_type,             member_id,             create_time,             update_time )           values ( ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,             ?,                                                    ?,             ?,             ?,             ?,             ?,                          ?,             ?,                                                                              ?,             ?,             ?,             ?,             ?,             ?,             ?,                          ?,             ?,                                                    ?,                          ?,             ?,             sysdate(),             sysdate() )
### Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
; Data truncation: Data too long for column 'play_name' at row 1; nested exception is com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:104)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439)
	at com.sun.proxy.$Proxy119.insert(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152)
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
	at com.sun.proxy.$Proxy166.insertBetRecords(Unknown Source)
	at com.ruoyi.job.service.impl.BetRecordSyncV2PersistenceService.saveOrUpdate(BetRecordSyncV2PersistenceService.java:213)
	at com.ruoyi.job.service.impl.BetRecordSyncV2PersistenceService$$FastClassBySpringCGLIB$$557c1fea.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.framework.aspectj.DataSourceAspect.around(DataSourceAspect.java:51)
	at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
	at com.ruoyi.job.service.impl.BetRecordSyncV2PersistenceService$$EnhancerBySpringCGLIB$$93737acb.saveOrUpdate(<generated>)
	at com.ruoyi.job.service.impl.LotteryBetEventPersistenceService.processInboxRecord(LotteryBetEventPersistenceService.java:100)
	at com.ruoyi.job.service.impl.LotteryBetEventPersistenceService$$FastClassBySpringCGLIB$$a22ee543.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.framework.aspectj.DataSourceAspect.around(DataSourceAspect.java:51)
	at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
	at com.ruoyi.job.service.impl.LotteryBetEventPersistenceService$$EnhancerBySpringCGLIB$$7a016a76.processInboxRecord(<generated>)
	at com.ruoyi.job.service.impl.LotteryBetEventSyncService.processDueInbox(LotteryBetEventSyncService.java:328)
	at com.ruoyi.job.service.impl.LotteryBetEventSyncService.processDueInbox(LotteryBetEventSyncService.java:276)
	at com.ruoyi.job.handler.LotteryBetEventInboxJob.lotteryBetEventInboxJob(LotteryBetEventInboxJob.java:30)
	at com.ruoyi.job.handler.LotteryBetEventInboxJob$$FastClassBySpringCGLIB$$b10e0cf5.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.job.aspectj.XxlJobFailureAlertAspect.around(XxlJobFailureAlertAspect.java:38)
	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
	at com.ruoyi.job.handler.LotteryBetEventInboxJob$$EnhancerBySpringCGLIB$$cdc23ba2.lotteryBetEventInboxJob(<generated>)
	at sun.reflect.GeneratedMethodAccessor888.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:31)
	at com.xxl.job.core.thread.JobThread.run(JobThread.java:166)
Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'play_name' at row 1
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3462)
	at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3460)
	at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:158)
	at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75)
	at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
	at com.sun.proxy.$Proxy137.update(Unknown Source)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
	at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
	at com.sun.proxy.$Proxy136.update(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
	at com.sun.proxy.$Proxy136.update(Unknown Source)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
	at sun.reflect.GeneratedMethodAccessor316.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425)
	... 86 common frames omitted
01:37:07.618 [xxl-job, JobThread-58-1787309040018] ERROR c.a.d.f.s.StatFilter - [internalAfterStatementExecute,518] - slow sql 2622 millis. select br.id,
               br.generated_id,
               br.venue_code,
               br.venue_type,
               br.currency,
               br.bet_at,
               br.sync_at,
               br.order_detail
        from bet_records br
        where br.generated_id is not null
          and br.generated_id != ''
          and br.venue_code in
           (  
              ?
           , 
              ?
           , 
              ?
           , 
              ?
           , 
              ?
           , 
              ?
           ) 
          and coalesce(br.sync_at, br.bet_at) >= ?
          and coalesce(br.sync_at, br.bet_at) <= ?
           
              and (
                  coalesce(br.sync_at, br.bet_at) < ?
                  or (coalesce(br.sync_at, br.bet_at) = ? and br.id < ?)
              )
           
        order by coalesce(br.sync_at, br.bet_at) desc, br.id desc
        limit ? ["aaa","dbty","imty","kvty","vmty","sbo_ty","2026-07-23 01:35:00","2026-08-21 23:34:59","2026-07-27 04:24:42","2026-07-27 04:24:42",3459963,300]