This commit is contained in:
liangzai 2025-01-10 11:15:14 +08:00
parent f54ead0f90
commit 0a2aa69aeb
12 changed files with 241 additions and 226 deletions

View File

@ -14,8 +14,8 @@ VerifyCode:
AccessKeyID: "LTAI5tKGB3TVJbMHSoZN3yr9" AccessKeyID: "LTAI5tKGB3TVJbMHSoZN3yr9"
AccessKeySecret: "OCQ30GWp4yENMjmfOAaagksE18bp65" AccessKeySecret: "OCQ30GWp4yENMjmfOAaagksE18bp65"
EndpointURL: "dysmsapi.aliyuncs.com" EndpointURL: "dysmsapi.aliyuncs.com"
SignName: "全能查" SignName: "天远数据"
TemplateCode: "SMS_473780047" TemplateCode: "SMS_302641455"
ValidTime: 300 ValidTime: 300
Encrypt: Encrypt:
SecretKey: "ff83609b2b24fc73196aac3d3dfb874f" SecretKey: "ff83609b2b24fc73196aac3d3dfb874f"
@ -30,8 +30,8 @@ YushanConfig:
Url: "https://api.yushanshuju.com/credit-gw/service" Url: "https://api.yushanshuju.com/credit-gw/service"
Alipay: Alipay:
AppID: "2021004165608254" AppID: "2021004165608254"
PrivateKey: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvo8TmTNnVguKwMYrX0z01PfUlSS+AqwwCH1+/P39q6No+09yO1bjhy4LowtDfwKX8F+IZLl5Cx06f1M8KzPvjQliBAfMJ1FuTEOOXPmtE1YLAYIUMLbltR6Crnp16T28eF41Uo0PUo2ple/oSjWhYgsTJjyBMXY04f6HM2uZlHOhG2aOUz2CDNbvkEhNddazuPMgo8Xl7vwENGDFTPa85HmSSoDppFowLdYfAw2Jl1ilKNg4sOPc6d507nXdgpMlUguwZxol6OQ2hBS6v9OjII5cJ1tyR/klJRapnIPmFaPvhDozYwjU6Z3jMvcbrByl0qNpLrbEFS4pn9hfRo4YrAgMBAAECggEAZAi0Ri6TCqXnEk7FMzMec0p8auYJ5hCFYFgaIkS5/1vroUjtH3TePcu5HXSHnkiMwM2hepIMIaB+SU3dNduVwtOwsJk5oOmP1m0SErv8QFISjBrs7AjGyVS4T8ahDl5bfRoQ5pmuMld4a6B2x0Y+ndqs1ddsn9HQctNOhexOuFsSjX1N3PZxFzfRTmGzxf7kwZGlXMN7G1r3Rp4koylYHVpqjXIK34Anc8SVljxFVkFOk62QvBdYcCucepymHNl0pYwPDCCylPH8OpIXOErmPldTflmoLRc+ywu9rw4I8UvkoPgTe+16he+jdi/N7cwbMTfixq+/Aeadjv2AgMuwkQKBgQDgLS3dRFAc6FMSJIA0FKgv5D/R3NZgWilbOAF11PtnE4AX4i0yZryGtLq+3NWCWYQF8iI60lIy3rEf9zWncwfadhWTEDUBjjrqqU46N2ddTzHsDw09I56TT2vrEwCdmJ2vh1hxPfgE3fSDnKbP4Wkl77JCTH7v0rA1jb65Plt8TwKBgQDIkrXqe/pVHDdxswoPL6em32TnKiaJ/R/UDDio20mgGG7FWEJAY5yYtu0y9Ug7W8PjJE7/cJ2/dwDSvHZm8R0iq8d6XkzN03Z+uvzGnMdUraXJZHSPZ5L/2ofysXjt/OtpA1Sox5++1+obiq6CZ6IYORLSxSf+it1JUbKXsNcVZQKBgQCTPzm7984DXtqJtS38h4D9jBgbWcn6Gd7GSuAyrIXBa76ccXSsgWzdskJjcZxQdUnRufyf1Fwni7yeOXullFoZNazwHxoh/nFWh4SZmqCrWoR5AF36xbW4HtfM3XtvCLqye90s7L5HPB8Kf8/WBcJSJ8JX5/UMw7/4PTWEaaAf4wKBgQCEXu7YVgIccYbV7wdQhm7q3rxFI7hTkU6UL4ylRDQPCJDyhREUValf0DozS1XkdueM3MWWJ8i0N+G/MsohnjdQTnZT+DBQFqM5eEai/Y1AAWpMw5N5oS2O1barIR1iU2053QzeZwCyfuTuUFRjk+mSevhFSgDfKN5qKRTor7kDUQKBgB3fC6jO8XCwimPvpsiGnuddNAq/w8iqSjSwuSvbI0Q7Lq6rvAIw2AmkC5t4kW4JcZLUgDvAs4GFoPDYhoL73vc1e2c35VTNck6IxZSQzzQ9pfXFiLtTe6eqggN4EOPGHKLd92CMAgoeySsp3NydpGSx2N/NUqp8BkoFLQ/k2W9o" PrivateKey: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIc92zqtkv6YE2xlzGXACdK2KUJ+i8X39Ev6JWItiYCwu4b0fNdKTSggroxaiWDEQtIX8ek3m08ausZDB5mLr3afzTAVFV92rWwseR79c4Hs+Od/S18S2AjOVsaeM1AT2/GhLYbmcZJ5ph45ejYw7Uq5NqpBj2V7JgFTuGx4T2R6jnOnqeKjXYX1BoPWx98CyxroIFGxJinnPmHAq5aoaFltPqf9ugD8eNJUMQqcd6xhOdmTBZTKuslTi2phjO2njp97bBf5MTOCfcKqmCXQ2v0pNYrGBLAZoUgWwn9sQeYE2AALt38Q4A1tg7rrP1/F52sDW3DNEs+irZRDddNLVxAgMBAAECggEARcOVoIdQqY0yLHcjKOIyUIEeAQRWyuDNsYakoCfmjBwkCx+ntMjo6F7cHyFTyE0imTZ0QJcBH8mQfyIrgNZ4E83ucR2fSjUfGPmXbaI0nFKU2DfFkmEK/heLbYz4x6TT8aPIdU0PUsDmyTTlvLaoHbpNRysviOUCrtAU9JaSHwg562PKRTsizAnbGdT6Slcl2BuSk2cDHXCiNq0z7KryZAo8vtTIJ3BKngjhjRFs0KV6Mf/b/OrRlBxAx04AewkicM+EHqswABJtf4BBlpUM+NUb7RMygupq2wABZXk64bsX/HycMl/uz+WsTzAMp/M0/SPfItoxGSqU8ZlQDFoK8QKBgQDqE2OCkk5zv5UuB/ClO48Xhvv5y6Xcwh0t1XhZyL57sb1PZkk1CIcqIKmBs5dP44UZKExU7AjA4k90UvLIbpRPpOK9kU16UJeQwGFm8Lr9pJRMNCNE9GRmjNc18GaV8zK6aMpN3urga+sKOMsdpQ+eT8JawMQGdytEg4EY/IaxrQKBgQDbOkUZXnt4Y6TZCH8akZz7LmKidFG5yp5vxMBwe/V3ePb+Ssxz7Qqj4ooPE50aVTMNNSJR1rasXXMzocUG+/kECqnSdBKj/JH1n6TtmLU/tkeHZV+HIP/h0TFIqdAVcYRQZK7Fgz+yddZgYV2XAxFlfq1Wt40+0JGmrwg6ALdzVQKBgQDVJyjDuzVjo/9V9ncGEDFijFIii3cTi1SE61J3+By1iQpKJmvdtlFXZHzXFlJgtl/6o762ymXCN5OA6xQYvtGhoRW06H80NfV/JCDOW8L7vIYqyoOfhCl1VSWZAbx5Kgh0xX4L4UXjbYKQQV19NlT9pcXnXIhlFtm4v0OtHDAP1QKBgA9k5hlD8zOe+6Jp4FMDSpywwyhZNqvvOHTswf6kFbaP/fgZVIYHbSnY7Izmea+xr+YLhx9sDmPIJCDKCUXWR8Qq44XttKljQPSYg0JT6NZSfG9bhPu+K3m18NoDYqM+12W1zDf+YWissaMO8z15b61K2e0u8nIovzGPNOqtxjQJAoGBAK5F47okw79md18/XLMZ5Cv268tS8PN+YJVHteTgT7gP1bSvk4wqRPZdcmJIjADzEEkHEmvTgqSOtR/5Aw0s2qhyKVV8Q8WnCm+9hELWSKj3D0Fy5Q6By9JjLsZh1C1p1AEA8alrJ3+b7WUBy1/mYaIi3VirW/3mgOKXSBJ0HVuF"
AlipayPublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2CqoCp95w/JV3RT/gzF4/8QmVT1HQNaeW7yUp+mA7x9AbjvlTW/+eRn6oGAL/XhZLjvHD0XjKLVKX0MJVS1aUQHEHEbOJN4Eu8II45OavD4iZISa7Kp9V6AM+i4qTyaeV2wNDnGxHQBaLVUGCfMR+56EK2YpORdE1H9uy72SSQseVb3bmpsV9EW/IJNmcVL/ut3uA1JWAoRmzlQ7ekxg7p8AYXzYPEHQr1tl7W+M4zv9wO9GKZCxIqMA8U3RP5npPfRaCfIRGzXzCqFEEUvWuidOB7frsvN4jiPD07qpL2Bi9LM1X/ee2kC/oM8Uhd7ERZhG8MbZfijZKxgrsDKBcwIDAQAB" AlipayPublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0kkRL7lgKYs7f8Xi4DNKzp2ggjwy4By7RunwT4Ur4A71HVOqRQed9r45a6/W4JPuVv51tiHMojZifEKX7ixSlDG6be677RiNslMJ5G3mjw/+Ku01tV9Qzw5YyhvxbqmS8Qp9vgL8VPYhxqTxKO6WW+xiyVvxko+mrU+dbSFIVbBjp88NVVcquu+vZT/uwtjriKSwsesAm8DkKT6mTqY5P/JroMzTU7xa3/ErAMte6t2dOsxPS7kqWjJyoLBHRk+AH87X5lNBEjLgYPk1ADU7zFsLdC+nv4fm7nihYre7fCrdCTVKguXmPCEFBjqwSkag7BSIxRQjS3qHxi+DUMst7wIDAQAB"
IsProduction: true IsProduction: true
NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/alipay/callback" NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/alipay/callback"
ReturnURL: "http://localhost:5678/inquire" ReturnURL: "http://localhost:5678/inquire"

View File

@ -16,8 +16,8 @@ VerifyCode:
AccessKeyID: "LTAI5tKGB3TVJbMHSoZN3yr9" AccessKeyID: "LTAI5tKGB3TVJbMHSoZN3yr9"
AccessKeySecret: "OCQ30GWp4yENMjmfOAaagksE18bp65" AccessKeySecret: "OCQ30GWp4yENMjmfOAaagksE18bp65"
EndpointURL: "dysmsapi.aliyuncs.com" EndpointURL: "dysmsapi.aliyuncs.com"
SignName: "全能查" SignName: "天远数据"
TemplateCode: "SMS_473780047" TemplateCode: "SMS_302641455"
ValidTime: 300 ValidTime: 300
Encrypt: Encrypt:
SecretKey: "ff83609b2b24fc73196aac3d3dfb874f" SecretKey: "ff83609b2b24fc73196aac3d3dfb874f"
@ -32,19 +32,19 @@ YushanConfig:
Url: "https://api.yushanshuju.com/credit-gw/service" Url: "https://api.yushanshuju.com/credit-gw/service"
Alipay: Alipay:
AppID: "2021004165608254" AppID: "2021004165608254"
PrivateKey: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvo8TmTNnVguKwMYrX0z01PfUlSS+AqwwCH1+/P39q6No+09yO1bjhy4LowtDfwKX8F+IZLl5Cx06f1M8KzPvjQliBAfMJ1FuTEOOXPmtE1YLAYIUMLbltR6Crnp16T28eF41Uo0PUo2ple/oSjWhYgsTJjyBMXY04f6HM2uZlHOhG2aOUz2CDNbvkEhNddazuPMgo8Xl7vwENGDFTPa85HmSSoDppFowLdYfAw2Jl1ilKNg4sOPc6d507nXdgpMlUguwZxol6OQ2hBS6v9OjII5cJ1tyR/klJRapnIPmFaPvhDozYwjU6Z3jMvcbrByl0qNpLrbEFS4pn9hfRo4YrAgMBAAECggEAZAi0Ri6TCqXnEk7FMzMec0p8auYJ5hCFYFgaIkS5/1vroUjtH3TePcu5HXSHnkiMwM2hepIMIaB+SU3dNduVwtOwsJk5oOmP1m0SErv8QFISjBrs7AjGyVS4T8ahDl5bfRoQ5pmuMld4a6B2x0Y+ndqs1ddsn9HQctNOhexOuFsSjX1N3PZxFzfRTmGzxf7kwZGlXMN7G1r3Rp4koylYHVpqjXIK34Anc8SVljxFVkFOk62QvBdYcCucepymHNl0pYwPDCCylPH8OpIXOErmPldTflmoLRc+ywu9rw4I8UvkoPgTe+16he+jdi/N7cwbMTfixq+/Aeadjv2AgMuwkQKBgQDgLS3dRFAc6FMSJIA0FKgv5D/R3NZgWilbOAF11PtnE4AX4i0yZryGtLq+3NWCWYQF8iI60lIy3rEf9zWncwfadhWTEDUBjjrqqU46N2ddTzHsDw09I56TT2vrEwCdmJ2vh1hxPfgE3fSDnKbP4Wkl77JCTH7v0rA1jb65Plt8TwKBgQDIkrXqe/pVHDdxswoPL6em32TnKiaJ/R/UDDio20mgGG7FWEJAY5yYtu0y9Ug7W8PjJE7/cJ2/dwDSvHZm8R0iq8d6XkzN03Z+uvzGnMdUraXJZHSPZ5L/2ofysXjt/OtpA1Sox5++1+obiq6CZ6IYORLSxSf+it1JUbKXsNcVZQKBgQCTPzm7984DXtqJtS38h4D9jBgbWcn6Gd7GSuAyrIXBa76ccXSsgWzdskJjcZxQdUnRufyf1Fwni7yeOXullFoZNazwHxoh/nFWh4SZmqCrWoR5AF36xbW4HtfM3XtvCLqye90s7L5HPB8Kf8/WBcJSJ8JX5/UMw7/4PTWEaaAf4wKBgQCEXu7YVgIccYbV7wdQhm7q3rxFI7hTkU6UL4ylRDQPCJDyhREUValf0DozS1XkdueM3MWWJ8i0N+G/MsohnjdQTnZT+DBQFqM5eEai/Y1AAWpMw5N5oS2O1barIR1iU2053QzeZwCyfuTuUFRjk+mSevhFSgDfKN5qKRTor7kDUQKBgB3fC6jO8XCwimPvpsiGnuddNAq/w8iqSjSwuSvbI0Q7Lq6rvAIw2AmkC5t4kW4JcZLUgDvAs4GFoPDYhoL73vc1e2c35VTNck6IxZSQzzQ9pfXFiLtTe6eqggN4EOPGHKLd92CMAgoeySsp3NydpGSx2N/NUqp8BkoFLQ/k2W9o" PrivateKey: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIc92zqtkv6YE2xlzGXACdK2KUJ+i8X39Ev6JWItiYCwu4b0fNdKTSggroxaiWDEQtIX8ek3m08ausZDB5mLr3afzTAVFV92rWwseR79c4Hs+Od/S18S2AjOVsaeM1AT2/GhLYbmcZJ5ph45ejYw7Uq5NqpBj2V7JgFTuGx4T2R6jnOnqeKjXYX1BoPWx98CyxroIFGxJinnPmHAq5aoaFltPqf9ugD8eNJUMQqcd6xhOdmTBZTKuslTi2phjO2njp97bBf5MTOCfcKqmCXQ2v0pNYrGBLAZoUgWwn9sQeYE2AALt38Q4A1tg7rrP1/F52sDW3DNEs+irZRDddNLVxAgMBAAECggEARcOVoIdQqY0yLHcjKOIyUIEeAQRWyuDNsYakoCfmjBwkCx+ntMjo6F7cHyFTyE0imTZ0QJcBH8mQfyIrgNZ4E83ucR2fSjUfGPmXbaI0nFKU2DfFkmEK/heLbYz4x6TT8aPIdU0PUsDmyTTlvLaoHbpNRysviOUCrtAU9JaSHwg562PKRTsizAnbGdT6Slcl2BuSk2cDHXCiNq0z7KryZAo8vtTIJ3BKngjhjRFs0KV6Mf/b/OrRlBxAx04AewkicM+EHqswABJtf4BBlpUM+NUb7RMygupq2wABZXk64bsX/HycMl/uz+WsTzAMp/M0/SPfItoxGSqU8ZlQDFoK8QKBgQDqE2OCkk5zv5UuB/ClO48Xhvv5y6Xcwh0t1XhZyL57sb1PZkk1CIcqIKmBs5dP44UZKExU7AjA4k90UvLIbpRPpOK9kU16UJeQwGFm8Lr9pJRMNCNE9GRmjNc18GaV8zK6aMpN3urga+sKOMsdpQ+eT8JawMQGdytEg4EY/IaxrQKBgQDbOkUZXnt4Y6TZCH8akZz7LmKidFG5yp5vxMBwe/V3ePb+Ssxz7Qqj4ooPE50aVTMNNSJR1rasXXMzocUG+/kECqnSdBKj/JH1n6TtmLU/tkeHZV+HIP/h0TFIqdAVcYRQZK7Fgz+yddZgYV2XAxFlfq1Wt40+0JGmrwg6ALdzVQKBgQDVJyjDuzVjo/9V9ncGEDFijFIii3cTi1SE61J3+By1iQpKJmvdtlFXZHzXFlJgtl/6o762ymXCN5OA6xQYvtGhoRW06H80NfV/JCDOW8L7vIYqyoOfhCl1VSWZAbx5Kgh0xX4L4UXjbYKQQV19NlT9pcXnXIhlFtm4v0OtHDAP1QKBgA9k5hlD8zOe+6Jp4FMDSpywwyhZNqvvOHTswf6kFbaP/fgZVIYHbSnY7Izmea+xr+YLhx9sDmPIJCDKCUXWR8Qq44XttKljQPSYg0JT6NZSfG9bhPu+K3m18NoDYqM+12W1zDf+YWissaMO8z15b61K2e0u8nIovzGPNOqtxjQJAoGBAK5F47okw79md18/XLMZ5Cv268tS8PN+YJVHteTgT7gP1bSvk4wqRPZdcmJIjADzEEkHEmvTgqSOtR/5Aw0s2qhyKVV8Q8WnCm+9hELWSKj3D0Fy5Q6By9JjLsZh1C1p1AEA8alrJ3+b7WUBy1/mYaIi3VirW/3mgOKXSBJ0HVuF"
AlipayPublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2CqoCp95w/JV3RT/gzF4/8QmVT1HQNaeW7yUp+mA7x9AbjvlTW/+eRn6oGAL/XhZLjvHD0XjKLVKX0MJVS1aUQHEHEbOJN4Eu8II45OavD4iZISa7Kp9V6AM+i4qTyaeV2wNDnGxHQBaLVUGCfMR+56EK2YpORdE1H9uy72SSQseVb3bmpsV9EW/IJNmcVL/ut3uA1JWAoRmzlQ7ekxg7p8AYXzYPEHQr1tl7W+M4zv9wO9GKZCxIqMA8U3RP5npPfRaCfIRGzXzCqFEEUvWuidOB7frsvN4jiPD07qpL2Bi9LM1X/ee2kC/oM8Uhd7ERZhG8MbZfijZKxgrsDKBcwIDAQAB" AlipayPublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0kkRL7lgKYs7f8Xi4DNKzp2ggjwy4By7RunwT4Ur4A71HVOqRQed9r45a6/W4JPuVv51tiHMojZifEKX7ixSlDG6be677RiNslMJ5G3mjw/+Ku01tV9Qzw5YyhvxbqmS8Qp9vgL8VPYhxqTxKO6WW+xiyVvxko+mrU+dbSFIVbBjp88NVVcquu+vZT/uwtjriKSwsesAm8DkKT6mTqY5P/JroMzTU7xa3/ErAMte6t2dOsxPS7kqWjJyoLBHRk+AH87X5lNBEjLgYPk1ADU7zFsLdC+nv4fm7nihYre7fCrdCTVKguXmPCEFBjqwSkag7BSIxRQjS3qHxi+DUMst7wIDAQAB"
IsProduction: true IsProduction: true
NotifyUrl: "https://www.quannengcha.com/api/v1/pay/alipay/callback" NotifyUrl: "https://www.tianyuandb.com/api/v1/pay/alipay/callback"
ReturnURL: "https://www.quannengcha.com/report" ReturnURL: "https://www.tianyuandb.com/report"
Wxpay: Wxpay:
AppID: "1682635136" AppID: "1682635136"
MchID: "1682635136" MchID: "1682635136"
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61" MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f" MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem" MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
NotifyUrl: "https://app.quannengcha.com/api/v1/pay/wechat/callback" NotifyUrl: "https://app.tianyuandb.com/api/v1/pay/wechat/callback"
RefundNotifyUrl: "https://app.quannengcha.com/api/v1/wechat/refund_callback" RefundNotifyUrl: "https://app.tianyuandb.com/api/v1/wechat/refund_callback"
Applepay: Applepay:
ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt" ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt"
SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt" SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt"

View File

@ -78,7 +78,7 @@ func (a *ApiRequestService) ProcessRequests(params []byte, productID int64) ([]b
resultsCh = make(chan APIResponseData, len(featureList)) resultsCh = make(chan APIResponseData, len(featureList))
errorsCh = make(chan error, len(featureList)) errorsCh = make(chan error, len(featureList))
errorCount int32 errorCount int32
errorLimit = 1 errorLimit = len(featureList)
) )
for i, feature := range featureList { for i, feature := range featureList {

View File

@ -7,7 +7,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"tydata-server/deploy/script/model" model2 "tydata-server/deploy/script/model"
"time" "time"
@ -27,8 +27,8 @@ var (
featureRowsExpectAutoSet = strings.Join(stringx.Remove(featureFieldNames, "`id`", "`create_time`", "`update_time`"), ",") featureRowsExpectAutoSet = strings.Join(stringx.Remove(featureFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
featureRowsWithPlaceHolder = strings.Join(stringx.Remove(featureFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" featureRowsWithPlaceHolder = strings.Join(stringx.Remove(featureFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncFeatureIdPrefix = "cache:qnc:feature:id:" cacheTydataFeatureIdPrefix = "cache:tydata:feature:id:"
cacheQncFeatureApiIdPrefix = "cache:qnc:feature:apiId:" cacheTydataFeatureApiIdPrefix = "cache:tydata:feature:apiId:"
) )
type ( type (
@ -77,39 +77,39 @@ func newFeatureModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultFeatureModel
func (m *defaultFeatureModel) Insert(ctx context.Context, session sqlx.Session, data *Feature) (sql.Result, error) { func (m *defaultFeatureModel) Insert(ctx context.Context, session sqlx.Session, data *Feature) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncFeatureApiIdKey := fmt.Sprintf("%s%v", cacheQncFeatureApiIdPrefix, data.ApiId) tydataFeatureApiIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureApiIdPrefix, data.ApiId)
qncFeatureIdKey := fmt.Sprintf("%s%v", cacheQncFeatureIdPrefix, data.Id) tydataFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureIdPrefix, data.Id)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?)", m.table, featureRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?)", m.table, featureRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ApiId, data.Name) return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ApiId, data.Name)
} }
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ApiId, data.Name) return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ApiId, data.Name)
}, qncFeatureApiIdKey, qncFeatureIdKey) }, tydataFeatureApiIdKey, tydataFeatureIdKey)
} }
func (m *defaultFeatureModel) FindOne(ctx context.Context, id int64) (*Feature, error) { func (m *defaultFeatureModel) FindOne(ctx context.Context, id int64) (*Feature, error) {
qncFeatureIdKey := fmt.Sprintf("%s%v", cacheQncFeatureIdPrefix, id) tydataFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureIdPrefix, id)
var resp Feature var resp Feature
err := m.QueryRowCtx(ctx, &resp, qncFeatureIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataFeatureIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", featureRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", featureRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
switch err { switch err {
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultFeatureModel) FindOneByApiId(ctx context.Context, apiId string) (*Feature, error) { func (m *defaultFeatureModel) FindOneByApiId(ctx context.Context, apiId string) (*Feature, error) {
qncFeatureApiIdKey := fmt.Sprintf("%s%v", cacheQncFeatureApiIdPrefix, apiId) tydataFeatureApiIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureApiIdPrefix, apiId)
var resp Feature var resp Feature
err := m.QueryRowIndexCtx(ctx, &resp, qncFeatureApiIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataFeatureApiIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `api_id` = ? AND del_state = ? limit 1", featureRows, m.table) query := fmt.Sprintf("select %s from %s where `api_id` = ? and del_state = ? limit 1", featureRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, apiId, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, apiId, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
} }
@ -119,7 +119,7 @@ func (m *defaultFeatureModel) FindOneByApiId(ctx context.Context, apiId string)
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
@ -130,15 +130,15 @@ func (m *defaultFeatureModel) Update(ctx context.Context, session sqlx.Session,
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncFeatureApiIdKey := fmt.Sprintf("%s%v", cacheQncFeatureApiIdPrefix, data.ApiId) tydataFeatureApiIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureApiIdPrefix, data.ApiId)
qncFeatureIdKey := fmt.Sprintf("%s%v", cacheQncFeatureIdPrefix, data.Id) tydataFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureIdPrefix, data.Id)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, featureRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, featureRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id)
}, qncFeatureApiIdKey, qncFeatureIdKey) }, tydataFeatureApiIdKey, tydataFeatureIdKey)
} }
func (m *defaultFeatureModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Feature) error { func (m *defaultFeatureModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Feature) error {
@ -153,15 +153,15 @@ func (m *defaultFeatureModel) UpdateWithVersion(ctx context.Context, session sql
if err != nil { if err != nil {
return err return err
} }
qncFeatureApiIdKey := fmt.Sprintf("%s%v", cacheQncFeatureApiIdPrefix, data.ApiId) tydataFeatureApiIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureApiIdPrefix, data.ApiId)
qncFeatureIdKey := fmt.Sprintf("%s%v", cacheQncFeatureIdPrefix, data.Id) tydataFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureIdPrefix, data.Id)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ? AND version = ? ", m.table, featureRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, featureRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiId, newData.Name, newData.Id, oldVersion)
}, qncFeatureApiIdKey, qncFeatureIdKey) }, tydataFeatureApiIdKey, tydataFeatureIdKey)
if err != nil { if err != nil {
return err return err
} }
@ -170,7 +170,7 @@ func (m *defaultFeatureModel) UpdateWithVersion(ctx context.Context, session sql
return err return err
} }
if updateCount == 0 { if updateCount == 0 {
return model.ErrNoRowsUpdate return model2.ErrNoRowsUpdate
} }
return nil return nil
@ -384,22 +384,22 @@ func (m *defaultFeatureModel) Delete(ctx context.Context, session sqlx.Session,
return err return err
} }
qncFeatureApiIdKey := fmt.Sprintf("%s%v", cacheQncFeatureApiIdPrefix, data.ApiId) tydataFeatureApiIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureApiIdPrefix, data.ApiId)
qncFeatureIdKey := fmt.Sprintf("%s%v", cacheQncFeatureIdPrefix, id) tydataFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataFeatureIdPrefix, id)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncFeatureApiIdKey, qncFeatureIdKey) }, tydataFeatureApiIdKey, tydataFeatureIdKey)
return err return err
} }
func (m *defaultFeatureModel) formatPrimary(primary interface{}) string { func (m *defaultFeatureModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncFeatureIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataFeatureIdPrefix, primary)
} }
func (m *defaultFeatureModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultFeatureModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", featureRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", featureRows, m.table)
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
} }

View File

@ -27,7 +27,7 @@ var (
globalNotificationsRowsExpectAutoSet = strings.Join(stringx.Remove(globalNotificationsFieldNames, "`id`", "`create_time`", "`update_time`"), ",") globalNotificationsRowsExpectAutoSet = strings.Join(stringx.Remove(globalNotificationsFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
globalNotificationsRowsWithPlaceHolder = strings.Join(stringx.Remove(globalNotificationsFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" globalNotificationsRowsWithPlaceHolder = strings.Join(stringx.Remove(globalNotificationsFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncGlobalNotificationsIdPrefix = "cache:qnc:globalNotifications:id:" cacheTydataGlobalNotificationsIdPrefix = "cache:tydata:globalNotifications:id:"
) )
type ( type (
@ -81,20 +81,20 @@ func newGlobalNotificationsModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultG
func (m *defaultGlobalNotificationsModel) Insert(ctx context.Context, session sqlx.Session, data *GlobalNotifications) (sql.Result, error) { func (m *defaultGlobalNotificationsModel) Insert(ctx context.Context, session sqlx.Session, data *GlobalNotifications) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheQncGlobalNotificationsIdPrefix, data.Id) tydataGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheTydataGlobalNotificationsIdPrefix, data.Id)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, globalNotificationsRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, globalNotificationsRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime) return session.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime)
} }
return conn.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime) return conn.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime)
}, qncGlobalNotificationsIdKey) }, tydataGlobalNotificationsIdKey)
} }
func (m *defaultGlobalNotificationsModel) FindOne(ctx context.Context, id int64) (*GlobalNotifications, error) { func (m *defaultGlobalNotificationsModel) FindOne(ctx context.Context, id int64) (*GlobalNotifications, error) {
qncGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheQncGlobalNotificationsIdPrefix, id) tydataGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheTydataGlobalNotificationsIdPrefix, id)
var resp GlobalNotifications var resp GlobalNotifications
err := m.QueryRowCtx(ctx, &resp, qncGlobalNotificationsIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataGlobalNotificationsIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", globalNotificationsRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", globalNotificationsRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
@ -109,14 +109,14 @@ func (m *defaultGlobalNotificationsModel) FindOne(ctx context.Context, id int64)
} }
func (m *defaultGlobalNotificationsModel) Update(ctx context.Context, session sqlx.Session, data *GlobalNotifications) (sql.Result, error) { func (m *defaultGlobalNotificationsModel) Update(ctx context.Context, session sqlx.Session, data *GlobalNotifications) (sql.Result, error) {
qncGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheQncGlobalNotificationsIdPrefix, data.Id) tydataGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheTydataGlobalNotificationsIdPrefix, data.Id)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, globalNotificationsRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, globalNotificationsRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id) return session.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id)
} }
return conn.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id) return conn.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id)
}, qncGlobalNotificationsIdKey) }, tydataGlobalNotificationsIdKey)
} }
func (m *defaultGlobalNotificationsModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, data *GlobalNotifications) error { func (m *defaultGlobalNotificationsModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, data *GlobalNotifications) error {
@ -127,14 +127,14 @@ func (m *defaultGlobalNotificationsModel) UpdateWithVersion(ctx context.Context,
var sqlResult sql.Result var sqlResult sql.Result
var err error var err error
qncGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheQncGlobalNotificationsIdPrefix, data.Id) tydataGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheTydataGlobalNotificationsIdPrefix, data.Id)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, globalNotificationsRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, globalNotificationsRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id, oldVersion) return session.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id, oldVersion) return conn.ExecCtx(ctx, query, data.Title, data.Content, data.NotificationPage, data.StartDate, data.EndDate, data.StartTime, data.EndTime, data.Status, data.DelState, data.Version, data.DeleteTime, data.Id, oldVersion)
}, qncGlobalNotificationsIdKey) }, tydataGlobalNotificationsIdKey)
if err != nil { if err != nil {
return err return err
} }
@ -352,18 +352,18 @@ func (m *defaultGlobalNotificationsModel) SelectBuilder() squirrel.SelectBuilder
return squirrel.Select().From(m.table) return squirrel.Select().From(m.table)
} }
func (m *defaultGlobalNotificationsModel) Delete(ctx context.Context, session sqlx.Session, id int64) error { func (m *defaultGlobalNotificationsModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
qncGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheQncGlobalNotificationsIdPrefix, id) tydataGlobalNotificationsIdKey := fmt.Sprintf("%s%v", cacheTydataGlobalNotificationsIdPrefix, id)
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("delete from %s where `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncGlobalNotificationsIdKey) }, tydataGlobalNotificationsIdKey)
return err return err
} }
func (m *defaultGlobalNotificationsModel) formatPrimary(primary interface{}) string { func (m *defaultGlobalNotificationsModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncGlobalNotificationsIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataGlobalNotificationsIdPrefix, primary)
} }
func (m *defaultGlobalNotificationsModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultGlobalNotificationsModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", globalNotificationsRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", globalNotificationsRows, m.table)

View File

@ -7,7 +7,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"tydata-server/deploy/script/model" model2 "tydata-server/deploy/script/model"
"time" "time"
@ -27,8 +27,8 @@ var (
orderRowsExpectAutoSet = strings.Join(stringx.Remove(orderFieldNames, "`id`", "`create_time`", "`update_time`"), ",") orderRowsExpectAutoSet = strings.Join(stringx.Remove(orderFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
orderRowsWithPlaceHolder = strings.Join(stringx.Remove(orderFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" orderRowsWithPlaceHolder = strings.Join(stringx.Remove(orderFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncOrderIdPrefix = "cache:qnc:order:id:" cacheTydataOrderIdPrefix = "cache:tydata:order:id:"
cacheQncOrderOrderNoPrefix = "cache:qnc:order:orderNo:" cacheTydataOrderOrderNoPrefix = "cache:tydata:order:orderNo:"
) )
type ( type (
@ -61,7 +61,7 @@ type (
OrderNo string `db:"order_no"` // 自生成的订单号 OrderNo string `db:"order_no"` // 自生成的订单号
UserId int64 `db:"user_id"` // 用户ID UserId int64 `db:"user_id"` // 用户ID
ProductId int64 `db:"product_id"` // 产品ID软关联到产品表 ProductId int64 `db:"product_id"` // 产品ID软关联到产品表
PaymentPlatform string `db:"payment_platform"` // 支付平台(支付宝、微信、其他) PaymentPlatform string `db:"payment_platform"` // 支付平台(支付宝、微信、苹果内购、其他)
PaymentScene string `db:"payment_scene"` // 支付场景App、H5、微信小程序、公众号 PaymentScene string `db:"payment_scene"` // 支付场景App、H5、微信小程序、公众号
PlatformOrderId sql.NullString `db:"platform_order_id"` // 支付平台订单号 PlatformOrderId sql.NullString `db:"platform_order_id"` // 支付平台订单号
Amount float64 `db:"amount"` // 支付金额 Amount float64 `db:"amount"` // 支付金额
@ -86,39 +86,39 @@ func newOrderModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultOrderModel {
func (m *defaultOrderModel) Insert(ctx context.Context, session sqlx.Session, data *Order) (sql.Result, error) { func (m *defaultOrderModel) Insert(ctx context.Context, session sqlx.Session, data *Order) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncOrderIdKey := fmt.Sprintf("%s%v", cacheQncOrderIdPrefix, data.Id) tydataOrderIdKey := fmt.Sprintf("%s%v", cacheTydataOrderIdPrefix, data.Id)
qncOrderOrderNoKey := fmt.Sprintf("%s%v", cacheQncOrderOrderNoPrefix, data.OrderNo) tydataOrderOrderNoKey := fmt.Sprintf("%s%v", cacheTydataOrderOrderNoPrefix, data.OrderNo)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, orderRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, orderRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.OrderNo, data.UserId, data.ProductId, data.PaymentPlatform, data.PaymentScene, data.PlatformOrderId, data.Amount, data.Status, data.DelState, data.Version, data.PayTime, data.RefundTime, data.CloseTime, data.DeleteTime) return session.ExecCtx(ctx, query, data.OrderNo, data.UserId, data.ProductId, data.PaymentPlatform, data.PaymentScene, data.PlatformOrderId, data.Amount, data.Status, data.DelState, data.Version, data.PayTime, data.RefundTime, data.CloseTime, data.DeleteTime)
} }
return conn.ExecCtx(ctx, query, data.OrderNo, data.UserId, data.ProductId, data.PaymentPlatform, data.PaymentScene, data.PlatformOrderId, data.Amount, data.Status, data.DelState, data.Version, data.PayTime, data.RefundTime, data.CloseTime, data.DeleteTime) return conn.ExecCtx(ctx, query, data.OrderNo, data.UserId, data.ProductId, data.PaymentPlatform, data.PaymentScene, data.PlatformOrderId, data.Amount, data.Status, data.DelState, data.Version, data.PayTime, data.RefundTime, data.CloseTime, data.DeleteTime)
}, qncOrderIdKey, qncOrderOrderNoKey) }, tydataOrderIdKey, tydataOrderOrderNoKey)
} }
func (m *defaultOrderModel) FindOne(ctx context.Context, id int64) (*Order, error) { func (m *defaultOrderModel) FindOne(ctx context.Context, id int64) (*Order, error) {
qncOrderIdKey := fmt.Sprintf("%s%v", cacheQncOrderIdPrefix, id) tydataOrderIdKey := fmt.Sprintf("%s%v", cacheTydataOrderIdPrefix, id)
var resp Order var resp Order
err := m.QueryRowCtx(ctx, &resp, qncOrderIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataOrderIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", orderRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", orderRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
switch err { switch err {
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultOrderModel) FindOneByOrderNo(ctx context.Context, orderNo string) (*Order, error) { func (m *defaultOrderModel) FindOneByOrderNo(ctx context.Context, orderNo string) (*Order, error) {
qncOrderOrderNoKey := fmt.Sprintf("%s%v", cacheQncOrderOrderNoPrefix, orderNo) tydataOrderOrderNoKey := fmt.Sprintf("%s%v", cacheTydataOrderOrderNoPrefix, orderNo)
var resp Order var resp Order
err := m.QueryRowIndexCtx(ctx, &resp, qncOrderOrderNoKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataOrderOrderNoKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `order_no` = ? AND del_state = ? limit 1", orderRows, m.table) query := fmt.Sprintf("select %s from %s where `order_no` = ? and del_state = ? limit 1", orderRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, orderNo, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, orderNo, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
} }
@ -128,7 +128,7 @@ func (m *defaultOrderModel) FindOneByOrderNo(ctx context.Context, orderNo string
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
@ -139,15 +139,15 @@ func (m *defaultOrderModel) Update(ctx context.Context, session sqlx.Session, ne
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncOrderIdKey := fmt.Sprintf("%s%v", cacheQncOrderIdPrefix, data.Id) tydataOrderIdKey := fmt.Sprintf("%s%v", cacheTydataOrderIdPrefix, data.Id)
qncOrderOrderNoKey := fmt.Sprintf("%s%v", cacheQncOrderOrderNoPrefix, data.OrderNo) tydataOrderOrderNoKey := fmt.Sprintf("%s%v", cacheTydataOrderOrderNoPrefix, data.OrderNo)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, orderRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, orderRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id) return session.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id) return conn.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id)
}, qncOrderIdKey, qncOrderOrderNoKey) }, tydataOrderIdKey, tydataOrderOrderNoKey)
} }
func (m *defaultOrderModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Order) error { func (m *defaultOrderModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Order) error {
@ -162,15 +162,15 @@ func (m *defaultOrderModel) UpdateWithVersion(ctx context.Context, session sqlx.
if err != nil { if err != nil {
return err return err
} }
qncOrderIdKey := fmt.Sprintf("%s%v", cacheQncOrderIdPrefix, data.Id) tydataOrderIdKey := fmt.Sprintf("%s%v", cacheTydataOrderIdPrefix, data.Id)
qncOrderOrderNoKey := fmt.Sprintf("%s%v", cacheQncOrderOrderNoPrefix, data.OrderNo) tydataOrderOrderNoKey := fmt.Sprintf("%s%v", cacheTydataOrderOrderNoPrefix, data.OrderNo)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ? AND version = ? ", m.table, orderRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, orderRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.OrderNo, newData.UserId, newData.ProductId, newData.PaymentPlatform, newData.PaymentScene, newData.PlatformOrderId, newData.Amount, newData.Status, newData.DelState, newData.Version, newData.PayTime, newData.RefundTime, newData.CloseTime, newData.DeleteTime, newData.Id, oldVersion)
}, qncOrderIdKey, qncOrderOrderNoKey) }, tydataOrderIdKey, tydataOrderOrderNoKey)
if err != nil { if err != nil {
return err return err
} }
@ -179,7 +179,7 @@ func (m *defaultOrderModel) UpdateWithVersion(ctx context.Context, session sqlx.
return err return err
} }
if updateCount == 0 { if updateCount == 0 {
return model.ErrNoRowsUpdate return model2.ErrNoRowsUpdate
} }
return nil return nil
@ -393,22 +393,22 @@ func (m *defaultOrderModel) Delete(ctx context.Context, session sqlx.Session, id
return err return err
} }
qncOrderIdKey := fmt.Sprintf("%s%v", cacheQncOrderIdPrefix, id) tydataOrderIdKey := fmt.Sprintf("%s%v", cacheTydataOrderIdPrefix, id)
qncOrderOrderNoKey := fmt.Sprintf("%s%v", cacheQncOrderOrderNoPrefix, data.OrderNo) tydataOrderOrderNoKey := fmt.Sprintf("%s%v", cacheTydataOrderOrderNoPrefix, data.OrderNo)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncOrderIdKey, qncOrderOrderNoKey) }, tydataOrderIdKey, tydataOrderOrderNoKey)
return err return err
} }
func (m *defaultOrderModel) formatPrimary(primary interface{}) string { func (m *defaultOrderModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncOrderIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataOrderIdPrefix, primary)
} }
func (m *defaultOrderModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultOrderModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", orderRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", orderRows, m.table)
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
} }

View File

@ -7,7 +7,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"tydata-server/deploy/script/model" model2 "tydata-server/deploy/script/model"
"time" "time"
@ -27,8 +27,8 @@ var (
productFeatureRowsExpectAutoSet = strings.Join(stringx.Remove(productFeatureFieldNames, "`id`", "`create_time`", "`update_time`"), ",") productFeatureRowsExpectAutoSet = strings.Join(stringx.Remove(productFeatureFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
productFeatureRowsWithPlaceHolder = strings.Join(stringx.Remove(productFeatureFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" productFeatureRowsWithPlaceHolder = strings.Join(stringx.Remove(productFeatureFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncProductFeatureIdPrefix = "cache:qnc:productFeature:id:" cacheTydataProductFeatureIdPrefix = "cache:tydata:productFeature:id:"
cacheQncProductFeatureProductIdFeatureIdPrefix = "cache:qnc:productFeature:productId:featureId:" cacheTydataProductFeatureProductIdFeatureIdPrefix = "cache:tydata:productFeature:productId:featureId:"
) )
type ( type (
@ -77,39 +77,39 @@ func newProductFeatureModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultProduc
func (m *defaultProductFeatureModel) Insert(ctx context.Context, session sqlx.Session, data *ProductFeature) (sql.Result, error) { func (m *defaultProductFeatureModel) Insert(ctx context.Context, session sqlx.Session, data *ProductFeature) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncProductFeatureIdKey := fmt.Sprintf("%s%v", cacheQncProductFeatureIdPrefix, data.Id) tydataProductFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataProductFeatureIdPrefix, data.Id)
qncProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheQncProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId) tydataProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheTydataProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?)", m.table, productFeatureRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?)", m.table, productFeatureRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.ProductId, data.FeatureId, data.DeleteTime, data.DelState, data.Version) return session.ExecCtx(ctx, query, data.ProductId, data.FeatureId, data.DeleteTime, data.DelState, data.Version)
} }
return conn.ExecCtx(ctx, query, data.ProductId, data.FeatureId, data.DeleteTime, data.DelState, data.Version) return conn.ExecCtx(ctx, query, data.ProductId, data.FeatureId, data.DeleteTime, data.DelState, data.Version)
}, qncProductFeatureIdKey, qncProductFeatureProductIdFeatureIdKey) }, tydataProductFeatureIdKey, tydataProductFeatureProductIdFeatureIdKey)
} }
func (m *defaultProductFeatureModel) FindOne(ctx context.Context, id int64) (*ProductFeature, error) { func (m *defaultProductFeatureModel) FindOne(ctx context.Context, id int64) (*ProductFeature, error) {
qncProductFeatureIdKey := fmt.Sprintf("%s%v", cacheQncProductFeatureIdPrefix, id) tydataProductFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataProductFeatureIdPrefix, id)
var resp ProductFeature var resp ProductFeature
err := m.QueryRowCtx(ctx, &resp, qncProductFeatureIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataProductFeatureIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", productFeatureRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", productFeatureRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
switch err { switch err {
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultProductFeatureModel) FindOneByProductIdFeatureId(ctx context.Context, productId int64, featureId int64) (*ProductFeature, error) { func (m *defaultProductFeatureModel) FindOneByProductIdFeatureId(ctx context.Context, productId int64, featureId int64) (*ProductFeature, error) {
qncProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheQncProductFeatureProductIdFeatureIdPrefix, productId, featureId) tydataProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheTydataProductFeatureProductIdFeatureIdPrefix, productId, featureId)
var resp ProductFeature var resp ProductFeature
err := m.QueryRowIndexCtx(ctx, &resp, qncProductFeatureProductIdFeatureIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataProductFeatureProductIdFeatureIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `product_id` = ? AND `feature_id` = ? AND del_state = ? limit 1", productFeatureRows, m.table) query := fmt.Sprintf("select %s from %s where `product_id` = ? and `feature_id` = ? and del_state = ? limit 1", productFeatureRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, productId, featureId, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, productId, featureId, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
} }
@ -119,7 +119,7 @@ func (m *defaultProductFeatureModel) FindOneByProductIdFeatureId(ctx context.Con
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
@ -130,15 +130,15 @@ func (m *defaultProductFeatureModel) Update(ctx context.Context, session sqlx.Se
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncProductFeatureIdKey := fmt.Sprintf("%s%v", cacheQncProductFeatureIdPrefix, data.Id) tydataProductFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataProductFeatureIdPrefix, data.Id)
qncProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheQncProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId) tydataProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheTydataProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, productFeatureRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, productFeatureRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id) return session.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id) return conn.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id)
}, qncProductFeatureIdKey, qncProductFeatureProductIdFeatureIdKey) }, tydataProductFeatureIdKey, tydataProductFeatureProductIdFeatureIdKey)
} }
func (m *defaultProductFeatureModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *ProductFeature) error { func (m *defaultProductFeatureModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *ProductFeature) error {
@ -153,15 +153,15 @@ func (m *defaultProductFeatureModel) UpdateWithVersion(ctx context.Context, sess
if err != nil { if err != nil {
return err return err
} }
qncProductFeatureIdKey := fmt.Sprintf("%s%v", cacheQncProductFeatureIdPrefix, data.Id) tydataProductFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataProductFeatureIdPrefix, data.Id)
qncProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheQncProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId) tydataProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheTydataProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ? AND version = ? ", m.table, productFeatureRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, productFeatureRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.ProductId, newData.FeatureId, newData.DeleteTime, newData.DelState, newData.Version, newData.Id, oldVersion)
}, qncProductFeatureIdKey, qncProductFeatureProductIdFeatureIdKey) }, tydataProductFeatureIdKey, tydataProductFeatureProductIdFeatureIdKey)
if err != nil { if err != nil {
return err return err
} }
@ -170,7 +170,7 @@ func (m *defaultProductFeatureModel) UpdateWithVersion(ctx context.Context, sess
return err return err
} }
if updateCount == 0 { if updateCount == 0 {
return model.ErrNoRowsUpdate return model2.ErrNoRowsUpdate
} }
return nil return nil
@ -384,22 +384,22 @@ func (m *defaultProductFeatureModel) Delete(ctx context.Context, session sqlx.Se
return err return err
} }
qncProductFeatureIdKey := fmt.Sprintf("%s%v", cacheQncProductFeatureIdPrefix, id) tydataProductFeatureIdKey := fmt.Sprintf("%s%v", cacheTydataProductFeatureIdPrefix, id)
qncProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheQncProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId) tydataProductFeatureProductIdFeatureIdKey := fmt.Sprintf("%s%v:%v", cacheTydataProductFeatureProductIdFeatureIdPrefix, data.ProductId, data.FeatureId)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncProductFeatureIdKey, qncProductFeatureProductIdFeatureIdKey) }, tydataProductFeatureIdKey, tydataProductFeatureProductIdFeatureIdKey)
return err return err
} }
func (m *defaultProductFeatureModel) formatPrimary(primary interface{}) string { func (m *defaultProductFeatureModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncProductFeatureIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataProductFeatureIdPrefix, primary)
} }
func (m *defaultProductFeatureModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultProductFeatureModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", productFeatureRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", productFeatureRows, m.table)
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
} }

View File

@ -7,7 +7,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"tydata-server/deploy/script/model" model2 "tydata-server/deploy/script/model"
"time" "time"
@ -27,8 +27,8 @@ var (
productRowsExpectAutoSet = strings.Join(stringx.Remove(productFieldNames, "`id`", "`create_time`", "`update_time`"), ",") productRowsExpectAutoSet = strings.Join(stringx.Remove(productFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
productRowsWithPlaceHolder = strings.Join(stringx.Remove(productFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" productRowsWithPlaceHolder = strings.Join(stringx.Remove(productFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncProductIdPrefix = "cache:qnc:product:id:" cacheTydataProductIdPrefix = "cache:tydata:product:id:"
cacheQncProductProductEnPrefix = "cache:qnc:product:productEn:" cacheTydataProductProductEnPrefix = "cache:tydata:product:productEn:"
) )
type ( type (
@ -81,39 +81,39 @@ func newProductModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultProductModel
func (m *defaultProductModel) Insert(ctx context.Context, session sqlx.Session, data *Product) (sql.Result, error) { func (m *defaultProductModel) Insert(ctx context.Context, session sqlx.Session, data *Product) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncProductIdKey := fmt.Sprintf("%s%v", cacheQncProductIdPrefix, data.Id) tydataProductIdKey := fmt.Sprintf("%s%v", cacheTydataProductIdPrefix, data.Id)
qncProductProductEnKey := fmt.Sprintf("%s%v", cacheQncProductProductEnPrefix, data.ProductEn) tydataProductProductEnKey := fmt.Sprintf("%s%v", cacheTydataProductProductEnPrefix, data.ProductEn)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, productRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, productRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ProductName, data.ProductEn, data.Description, data.Notes, data.CostPrice, data.SellPrice) return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ProductName, data.ProductEn, data.Description, data.Notes, data.CostPrice, data.SellPrice)
} }
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ProductName, data.ProductEn, data.Description, data.Notes, data.CostPrice, data.SellPrice) return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ProductName, data.ProductEn, data.Description, data.Notes, data.CostPrice, data.SellPrice)
}, qncProductIdKey, qncProductProductEnKey) }, tydataProductIdKey, tydataProductProductEnKey)
} }
func (m *defaultProductModel) FindOne(ctx context.Context, id int64) (*Product, error) { func (m *defaultProductModel) FindOne(ctx context.Context, id int64) (*Product, error) {
qncProductIdKey := fmt.Sprintf("%s%v", cacheQncProductIdPrefix, id) tydataProductIdKey := fmt.Sprintf("%s%v", cacheTydataProductIdPrefix, id)
var resp Product var resp Product
err := m.QueryRowCtx(ctx, &resp, qncProductIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataProductIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", productRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", productRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
switch err { switch err {
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultProductModel) FindOneByProductEn(ctx context.Context, productEn string) (*Product, error) { func (m *defaultProductModel) FindOneByProductEn(ctx context.Context, productEn string) (*Product, error) {
qncProductProductEnKey := fmt.Sprintf("%s%v", cacheQncProductProductEnPrefix, productEn) tydataProductProductEnKey := fmt.Sprintf("%s%v", cacheTydataProductProductEnPrefix, productEn)
var resp Product var resp Product
err := m.QueryRowIndexCtx(ctx, &resp, qncProductProductEnKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataProductProductEnKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `product_en` = ? AND del_state = ? limit 1", productRows, m.table) query := fmt.Sprintf("select %s from %s where `product_en` = ? and del_state = ? limit 1", productRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, productEn, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, productEn, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
} }
@ -123,7 +123,7 @@ func (m *defaultProductModel) FindOneByProductEn(ctx context.Context, productEn
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
@ -134,15 +134,15 @@ func (m *defaultProductModel) Update(ctx context.Context, session sqlx.Session,
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncProductIdKey := fmt.Sprintf("%s%v", cacheQncProductIdPrefix, data.Id) tydataProductIdKey := fmt.Sprintf("%s%v", cacheTydataProductIdPrefix, data.Id)
qncProductProductEnKey := fmt.Sprintf("%s%v", cacheQncProductProductEnPrefix, data.ProductEn) tydataProductProductEnKey := fmt.Sprintf("%s%v", cacheTydataProductProductEnPrefix, data.ProductEn)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, productRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, productRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id)
}, qncProductIdKey, qncProductProductEnKey) }, tydataProductIdKey, tydataProductProductEnKey)
} }
func (m *defaultProductModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Product) error { func (m *defaultProductModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Product) error {
@ -157,15 +157,15 @@ func (m *defaultProductModel) UpdateWithVersion(ctx context.Context, session sql
if err != nil { if err != nil {
return err return err
} }
qncProductIdKey := fmt.Sprintf("%s%v", cacheQncProductIdPrefix, data.Id) tydataProductIdKey := fmt.Sprintf("%s%v", cacheTydataProductIdPrefix, data.Id)
qncProductProductEnKey := fmt.Sprintf("%s%v", cacheQncProductProductEnPrefix, data.ProductEn) tydataProductProductEnKey := fmt.Sprintf("%s%v", cacheTydataProductProductEnPrefix, data.ProductEn)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ? AND version = ? ", m.table, productRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, productRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ProductName, newData.ProductEn, newData.Description, newData.Notes, newData.CostPrice, newData.SellPrice, newData.Id, oldVersion)
}, qncProductIdKey, qncProductProductEnKey) }, tydataProductIdKey, tydataProductProductEnKey)
if err != nil { if err != nil {
return err return err
} }
@ -174,7 +174,7 @@ func (m *defaultProductModel) UpdateWithVersion(ctx context.Context, session sql
return err return err
} }
if updateCount == 0 { if updateCount == 0 {
return model.ErrNoRowsUpdate return model2.ErrNoRowsUpdate
} }
return nil return nil
@ -388,22 +388,22 @@ func (m *defaultProductModel) Delete(ctx context.Context, session sqlx.Session,
return err return err
} }
qncProductIdKey := fmt.Sprintf("%s%v", cacheQncProductIdPrefix, id) tydataProductIdKey := fmt.Sprintf("%s%v", cacheTydataProductIdPrefix, id)
qncProductProductEnKey := fmt.Sprintf("%s%v", cacheQncProductProductEnPrefix, data.ProductEn) tydataProductProductEnKey := fmt.Sprintf("%s%v", cacheTydataProductProductEnPrefix, data.ProductEn)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncProductIdKey, qncProductProductEnKey) }, tydataProductIdKey, tydataProductProductEnKey)
return err return err
} }
func (m *defaultProductModel) formatPrimary(primary interface{}) string { func (m *defaultProductModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncProductIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataProductIdPrefix, primary)
} }
func (m *defaultProductModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultProductModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", productRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", productRows, m.table)
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
} }

View File

@ -7,7 +7,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"tydata-server/deploy/script/model" model2 "tydata-server/deploy/script/model"
"time" "time"
@ -27,8 +27,8 @@ var (
queryRowsExpectAutoSet = strings.Join(stringx.Remove(queryFieldNames, "`id`", "`create_time`", "`update_time`"), ",") queryRowsExpectAutoSet = strings.Join(stringx.Remove(queryFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
queryRowsWithPlaceHolder = strings.Join(stringx.Remove(queryFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" queryRowsWithPlaceHolder = strings.Join(stringx.Remove(queryFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncQueryIdPrefix = "cache:qnc:query:id:" cacheTydataQueryIdPrefix = "cache:tydata:query:id:"
cacheQncQueryOrderIdPrefix = "cache:qnc:query:orderId:" cacheTydataQueryOrderIdPrefix = "cache:tydata:query:orderId:"
) )
type ( type (
@ -81,39 +81,39 @@ func newQueryModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultQueryModel {
func (m *defaultQueryModel) Insert(ctx context.Context, session sqlx.Session, data *Query) (sql.Result, error) { func (m *defaultQueryModel) Insert(ctx context.Context, session sqlx.Session, data *Query) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncQueryIdKey := fmt.Sprintf("%s%v", cacheQncQueryIdPrefix, data.Id) tydataQueryIdKey := fmt.Sprintf("%s%v", cacheTydataQueryIdPrefix, data.Id)
qncQueryOrderIdKey := fmt.Sprintf("%s%v", cacheQncQueryOrderIdPrefix, data.OrderId) tydataQueryOrderIdKey := fmt.Sprintf("%s%v", cacheTydataQueryOrderIdPrefix, data.OrderId)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, queryRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, queryRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.OrderId, data.UserId, data.ProductId, data.QueryParams, data.QueryData, data.QueryState, data.DelState, data.Version, data.DeleteTime) return session.ExecCtx(ctx, query, data.OrderId, data.UserId, data.ProductId, data.QueryParams, data.QueryData, data.QueryState, data.DelState, data.Version, data.DeleteTime)
} }
return conn.ExecCtx(ctx, query, data.OrderId, data.UserId, data.ProductId, data.QueryParams, data.QueryData, data.QueryState, data.DelState, data.Version, data.DeleteTime) return conn.ExecCtx(ctx, query, data.OrderId, data.UserId, data.ProductId, data.QueryParams, data.QueryData, data.QueryState, data.DelState, data.Version, data.DeleteTime)
}, qncQueryIdKey, qncQueryOrderIdKey) }, tydataQueryIdKey, tydataQueryOrderIdKey)
} }
func (m *defaultQueryModel) FindOne(ctx context.Context, id int64) (*Query, error) { func (m *defaultQueryModel) FindOne(ctx context.Context, id int64) (*Query, error) {
qncQueryIdKey := fmt.Sprintf("%s%v", cacheQncQueryIdPrefix, id) tydataQueryIdKey := fmt.Sprintf("%s%v", cacheTydataQueryIdPrefix, id)
var resp Query var resp Query
err := m.QueryRowCtx(ctx, &resp, qncQueryIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataQueryIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", queryRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", queryRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
switch err { switch err {
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultQueryModel) FindOneByOrderId(ctx context.Context, orderId int64) (*Query, error) { func (m *defaultQueryModel) FindOneByOrderId(ctx context.Context, orderId int64) (*Query, error) {
qncQueryOrderIdKey := fmt.Sprintf("%s%v", cacheQncQueryOrderIdPrefix, orderId) tydataQueryOrderIdKey := fmt.Sprintf("%s%v", cacheTydataQueryOrderIdPrefix, orderId)
var resp Query var resp Query
err := m.QueryRowIndexCtx(ctx, &resp, qncQueryOrderIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataQueryOrderIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `order_id` = ? AND del_state = ? limit 1", queryRows, m.table) query := fmt.Sprintf("select %s from %s where `order_id` = ? and del_state = ? limit 1", queryRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, orderId, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, orderId, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
} }
@ -123,7 +123,7 @@ func (m *defaultQueryModel) FindOneByOrderId(ctx context.Context, orderId int64)
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, model.ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
@ -134,15 +134,15 @@ func (m *defaultQueryModel) Update(ctx context.Context, session sqlx.Session, ne
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncQueryIdKey := fmt.Sprintf("%s%v", cacheQncQueryIdPrefix, data.Id) tydataQueryIdKey := fmt.Sprintf("%s%v", cacheTydataQueryIdPrefix, data.Id)
qncQueryOrderIdKey := fmt.Sprintf("%s%v", cacheQncQueryOrderIdPrefix, data.OrderId) tydataQueryOrderIdKey := fmt.Sprintf("%s%v", cacheTydataQueryOrderIdPrefix, data.OrderId)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ?", m.table, queryRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, queryRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id) return session.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id) return conn.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id)
}, qncQueryIdKey, qncQueryOrderIdKey) }, tydataQueryIdKey, tydataQueryOrderIdKey)
} }
func (m *defaultQueryModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Query) error { func (m *defaultQueryModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *Query) error {
@ -157,15 +157,15 @@ func (m *defaultQueryModel) UpdateWithVersion(ctx context.Context, session sqlx.
if err != nil { if err != nil {
return err return err
} }
qncQueryIdKey := fmt.Sprintf("%s%v", cacheQncQueryIdPrefix, data.Id) tydataQueryIdKey := fmt.Sprintf("%s%v", cacheTydataQueryIdPrefix, data.Id)
qncQueryOrderIdKey := fmt.Sprintf("%s%v", cacheQncQueryOrderIdPrefix, data.OrderId) tydataQueryOrderIdKey := fmt.Sprintf("%s%v", cacheTydataQueryOrderIdPrefix, data.OrderId)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("UPDATE %s SET %s WHERE `id` = ? AND version = ? ", m.table, queryRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, queryRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.OrderId, newData.UserId, newData.ProductId, newData.QueryParams, newData.QueryData, newData.QueryState, newData.DelState, newData.Version, newData.DeleteTime, newData.Id, oldVersion)
}, qncQueryIdKey, qncQueryOrderIdKey) }, tydataQueryIdKey, tydataQueryOrderIdKey)
if err != nil { if err != nil {
return err return err
} }
@ -174,7 +174,7 @@ func (m *defaultQueryModel) UpdateWithVersion(ctx context.Context, session sqlx.
return err return err
} }
if updateCount == 0 { if updateCount == 0 {
return model.ErrNoRowsUpdate return model2.ErrNoRowsUpdate
} }
return nil return nil
@ -388,22 +388,22 @@ func (m *defaultQueryModel) Delete(ctx context.Context, session sqlx.Session, id
return err return err
} }
qncQueryIdKey := fmt.Sprintf("%s%v", cacheQncQueryIdPrefix, id) tydataQueryIdKey := fmt.Sprintf("%s%v", cacheTydataQueryIdPrefix, id)
qncQueryOrderIdKey := fmt.Sprintf("%s%v", cacheQncQueryOrderIdPrefix, data.OrderId) tydataQueryOrderIdKey := fmt.Sprintf("%s%v", cacheTydataQueryOrderIdPrefix, data.OrderId)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("DELETE FROM %s WHERE `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncQueryIdKey, qncQueryOrderIdKey) }, tydataQueryIdKey, tydataQueryOrderIdKey)
return err return err
} }
func (m *defaultQueryModel) formatPrimary(primary interface{}) string { func (m *defaultQueryModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncQueryIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataQueryIdPrefix, primary)
} }
func (m *defaultQueryModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultQueryModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("SELECT %s FROM %s WHERE `id` = ? AND del_state = ? limit 1", queryRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", queryRows, m.table)
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
} }

View File

@ -7,6 +7,7 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
model2 "tydata-server/deploy/script/model"
"time" "time"
@ -26,9 +27,9 @@ var (
userAuthRowsExpectAutoSet = strings.Join(stringx.Remove(userAuthFieldNames, "`id`", "`create_time`", "`update_time`"), ",") userAuthRowsExpectAutoSet = strings.Join(stringx.Remove(userAuthFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
userAuthRowsWithPlaceHolder = strings.Join(stringx.Remove(userAuthFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" userAuthRowsWithPlaceHolder = strings.Join(stringx.Remove(userAuthFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncUserAuthIdPrefix = "cache:qnc:userAuth:id:" cacheTydataUserAuthIdPrefix = "cache:tydata:userAuth:id:"
cacheQncUserAuthAuthTypeAuthKeyPrefix = "cache:qnc:userAuth:authType:authKey:" cacheTydataUserAuthAuthTypeAuthKeyPrefix = "cache:tydata:userAuth:authType:authKey:"
cacheQncUserAuthUserIdAuthTypePrefix = "cache:qnc:userAuth:userId:authType:" cacheTydataUserAuthUserIdAuthTypePrefix = "cache:tydata:userAuth:userId:authType:"
) )
type ( type (
@ -79,22 +80,22 @@ func newUserAuthModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultUserAuthMode
func (m *defaultUserAuthModel) Insert(ctx context.Context, session sqlx.Session, data *UserAuth) (sql.Result, error) { func (m *defaultUserAuthModel) Insert(ctx context.Context, session sqlx.Session, data *UserAuth) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey) tydataUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey)
qncUserAuthIdKey := fmt.Sprintf("%s%v", cacheQncUserAuthIdPrefix, data.Id) tydataUserAuthIdKey := fmt.Sprintf("%s%v", cacheTydataUserAuthIdPrefix, data.Id)
qncUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType) tydataUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?)", m.table, userAuthRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?)", m.table, userAuthRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.UserId, data.AuthKey, data.AuthType) return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.UserId, data.AuthKey, data.AuthType)
} }
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.UserId, data.AuthKey, data.AuthType) return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.UserId, data.AuthKey, data.AuthType)
}, qncUserAuthAuthTypeAuthKeyKey, qncUserAuthIdKey, qncUserAuthUserIdAuthTypeKey) }, tydataUserAuthAuthTypeAuthKeyKey, tydataUserAuthIdKey, tydataUserAuthUserIdAuthTypeKey)
} }
func (m *defaultUserAuthModel) FindOne(ctx context.Context, id int64) (*UserAuth, error) { func (m *defaultUserAuthModel) FindOne(ctx context.Context, id int64) (*UserAuth, error) {
qncUserAuthIdKey := fmt.Sprintf("%s%v", cacheQncUserAuthIdPrefix, id) tydataUserAuthIdKey := fmt.Sprintf("%s%v", cacheTydataUserAuthIdPrefix, id)
var resp UserAuth var resp UserAuth
err := m.QueryRowCtx(ctx, &resp, qncUserAuthIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataUserAuthIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userAuthRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userAuthRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
@ -102,16 +103,16 @@ func (m *defaultUserAuthModel) FindOne(ctx context.Context, id int64) (*UserAuth
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultUserAuthModel) FindOneByAuthTypeAuthKey(ctx context.Context, authType string, authKey string) (*UserAuth, error) { func (m *defaultUserAuthModel) FindOneByAuthTypeAuthKey(ctx context.Context, authType string, authKey string) (*UserAuth, error) {
qncUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthAuthTypeAuthKeyPrefix, authType, authKey) tydataUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthAuthTypeAuthKeyPrefix, authType, authKey)
var resp UserAuth var resp UserAuth
err := m.QueryRowIndexCtx(ctx, &resp, qncUserAuthAuthTypeAuthKeyKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataUserAuthAuthTypeAuthKeyKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("select %s from %s where `auth_type` = ? and `auth_key` = ? and del_state = ? limit 1", userAuthRows, m.table) query := fmt.Sprintf("select %s from %s where `auth_type` = ? and `auth_key` = ? and del_state = ? limit 1", userAuthRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, authType, authKey, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, authType, authKey, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
@ -122,16 +123,16 @@ func (m *defaultUserAuthModel) FindOneByAuthTypeAuthKey(ctx context.Context, aut
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
} }
func (m *defaultUserAuthModel) FindOneByUserIdAuthType(ctx context.Context, userId int64, authType string) (*UserAuth, error) { func (m *defaultUserAuthModel) FindOneByUserIdAuthType(ctx context.Context, userId int64, authType string) (*UserAuth, error) {
qncUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthUserIdAuthTypePrefix, userId, authType) tydataUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthUserIdAuthTypePrefix, userId, authType)
var resp UserAuth var resp UserAuth
err := m.QueryRowIndexCtx(ctx, &resp, qncUserAuthUserIdAuthTypeKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataUserAuthUserIdAuthTypeKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("select %s from %s where `user_id` = ? and `auth_type` = ? and del_state = ? limit 1", userAuthRows, m.table) query := fmt.Sprintf("select %s from %s where `user_id` = ? and `auth_type` = ? and del_state = ? limit 1", userAuthRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, userId, authType, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, userId, authType, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
@ -142,7 +143,7 @@ func (m *defaultUserAuthModel) FindOneByUserIdAuthType(ctx context.Context, user
case nil: case nil:
return &resp, nil return &resp, nil
case sqlc.ErrNotFound: case sqlc.ErrNotFound:
return nil, ErrNotFound return nil, model2.ErrNotFound
default: default:
return nil, err return nil, err
} }
@ -153,16 +154,16 @@ func (m *defaultUserAuthModel) Update(ctx context.Context, session sqlx.Session,
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey) tydataUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey)
qncUserAuthIdKey := fmt.Sprintf("%s%v", cacheQncUserAuthIdPrefix, data.Id) tydataUserAuthIdKey := fmt.Sprintf("%s%v", cacheTydataUserAuthIdPrefix, data.Id)
qncUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType) tydataUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, userAuthRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, userAuthRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id)
}, qncUserAuthAuthTypeAuthKeyKey, qncUserAuthIdKey, qncUserAuthUserIdAuthTypeKey) }, tydataUserAuthAuthTypeAuthKeyKey, tydataUserAuthIdKey, tydataUserAuthUserIdAuthTypeKey)
} }
func (m *defaultUserAuthModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *UserAuth) error { func (m *defaultUserAuthModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *UserAuth) error {
@ -177,16 +178,16 @@ func (m *defaultUserAuthModel) UpdateWithVersion(ctx context.Context, session sq
if err != nil { if err != nil {
return err return err
} }
qncUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey) tydataUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey)
qncUserAuthIdKey := fmt.Sprintf("%s%v", cacheQncUserAuthIdPrefix, data.Id) tydataUserAuthIdKey := fmt.Sprintf("%s%v", cacheTydataUserAuthIdPrefix, data.Id)
qncUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType) tydataUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, userAuthRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, userAuthRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.AuthKey, newData.AuthType, newData.Id, oldVersion)
}, qncUserAuthAuthTypeAuthKeyKey, qncUserAuthIdKey, qncUserAuthUserIdAuthTypeKey) }, tydataUserAuthAuthTypeAuthKeyKey, tydataUserAuthIdKey, tydataUserAuthUserIdAuthTypeKey)
if err != nil { if err != nil {
return err return err
} }
@ -195,7 +196,7 @@ func (m *defaultUserAuthModel) UpdateWithVersion(ctx context.Context, session sq
return err return err
} }
if updateCount == 0 { if updateCount == 0 {
return ErrNoRowsUpdate return model2.ErrNoRowsUpdate
} }
return nil return nil
@ -409,20 +410,20 @@ func (m *defaultUserAuthModel) Delete(ctx context.Context, session sqlx.Session,
return err return err
} }
qncUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey) tydataUserAuthAuthTypeAuthKeyKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthAuthTypeAuthKeyPrefix, data.AuthType, data.AuthKey)
qncUserAuthIdKey := fmt.Sprintf("%s%v", cacheQncUserAuthIdPrefix, id) tydataUserAuthIdKey := fmt.Sprintf("%s%v", cacheTydataUserAuthIdPrefix, id)
qncUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheQncUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType) tydataUserAuthUserIdAuthTypeKey := fmt.Sprintf("%s%v:%v", cacheTydataUserAuthUserIdAuthTypePrefix, data.UserId, data.AuthType)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("delete from %s where `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncUserAuthAuthTypeAuthKeyKey, qncUserAuthIdKey, qncUserAuthUserIdAuthTypeKey) }, tydataUserAuthAuthTypeAuthKeyKey, tydataUserAuthIdKey, tydataUserAuthUserIdAuthTypeKey)
return err return err
} }
func (m *defaultUserAuthModel) formatPrimary(primary interface{}) string { func (m *defaultUserAuthModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncUserAuthIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataUserAuthIdPrefix, primary)
} }
func (m *defaultUserAuthModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultUserAuthModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userAuthRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userAuthRows, m.table)

View File

@ -27,8 +27,8 @@ var (
userRowsExpectAutoSet = strings.Join(stringx.Remove(userFieldNames, "`id`", "`create_time`", "`update_time`"), ",") userRowsExpectAutoSet = strings.Join(stringx.Remove(userFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
userRowsWithPlaceHolder = strings.Join(stringx.Remove(userFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" userRowsWithPlaceHolder = strings.Join(stringx.Remove(userFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
cacheQncUserIdPrefix = "cache:qnc:user:id:" cacheTydataUserIdPrefix = "cache:tydata:user:id:"
cacheQncUserMobilePrefix = "cache:qnc:user:mobile:" cacheTydataUserMobilePrefix = "cache:tydata:user:mobile:"
) )
type ( type (
@ -80,21 +80,21 @@ func newUserModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultUserModel {
func (m *defaultUserModel) Insert(ctx context.Context, session sqlx.Session, data *User) (sql.Result, error) { func (m *defaultUserModel) Insert(ctx context.Context, session sqlx.Session, data *User) (sql.Result, error) {
data.DelState = globalkey.DelStateNo data.DelState = globalkey.DelStateNo
qncUserIdKey := fmt.Sprintf("%s%v", cacheQncUserIdPrefix, data.Id) tydataUserIdKey := fmt.Sprintf("%s%v", cacheTydataUserIdPrefix, data.Id)
qncUserMobileKey := fmt.Sprintf("%s%v", cacheQncUserMobilePrefix, data.Mobile) tydataUserMobileKey := fmt.Sprintf("%s%v", cacheTydataUserMobilePrefix, data.Mobile)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, userRowsExpectAutoSet) query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, userRowsExpectAutoSet)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Mobile, data.Password, data.Nickname, data.Info, data.Inside) return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Mobile, data.Password, data.Nickname, data.Info, data.Inside)
} }
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Mobile, data.Password, data.Nickname, data.Info, data.Inside) return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Mobile, data.Password, data.Nickname, data.Info, data.Inside)
}, qncUserIdKey, qncUserMobileKey) }, tydataUserIdKey, tydataUserMobileKey)
} }
func (m *defaultUserModel) FindOne(ctx context.Context, id int64) (*User, error) { func (m *defaultUserModel) FindOne(ctx context.Context, id int64) (*User, error) {
qncUserIdKey := fmt.Sprintf("%s%v", cacheQncUserIdPrefix, id) tydataUserIdKey := fmt.Sprintf("%s%v", cacheTydataUserIdPrefix, id)
var resp User var resp User
err := m.QueryRowCtx(ctx, &resp, qncUserIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { err := m.QueryRowCtx(ctx, &resp, tydataUserIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo)
}) })
@ -109,9 +109,9 @@ func (m *defaultUserModel) FindOne(ctx context.Context, id int64) (*User, error)
} }
func (m *defaultUserModel) FindOneByMobile(ctx context.Context, mobile string) (*User, error) { func (m *defaultUserModel) FindOneByMobile(ctx context.Context, mobile string) (*User, error) {
qncUserMobileKey := fmt.Sprintf("%s%v", cacheQncUserMobilePrefix, mobile) tydataUserMobileKey := fmt.Sprintf("%s%v", cacheTydataUserMobilePrefix, mobile)
var resp User var resp User
err := m.QueryRowIndexCtx(ctx, &resp, qncUserMobileKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { err := m.QueryRowIndexCtx(ctx, &resp, tydataUserMobileKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
query := fmt.Sprintf("select %s from %s where `mobile` = ? and del_state = ? limit 1", userRows, m.table) query := fmt.Sprintf("select %s from %s where `mobile` = ? and del_state = ? limit 1", userRows, m.table)
if err := conn.QueryRowCtx(ctx, &resp, query, mobile, globalkey.DelStateNo); err != nil { if err := conn.QueryRowCtx(ctx, &resp, query, mobile, globalkey.DelStateNo); err != nil {
return nil, err return nil, err
@ -133,15 +133,15 @@ func (m *defaultUserModel) Update(ctx context.Context, session sqlx.Session, new
if err != nil { if err != nil {
return nil, err return nil, err
} }
qncUserIdKey := fmt.Sprintf("%s%v", cacheQncUserIdPrefix, data.Id) tydataUserIdKey := fmt.Sprintf("%s%v", cacheTydataUserIdPrefix, data.Id)
qncUserMobileKey := fmt.Sprintf("%s%v", cacheQncUserMobilePrefix, data.Mobile) tydataUserMobileKey := fmt.Sprintf("%s%v", cacheTydataUserMobilePrefix, data.Mobile)
return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, userRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, userRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id)
}, qncUserIdKey, qncUserMobileKey) }, tydataUserIdKey, tydataUserMobileKey)
} }
func (m *defaultUserModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *User) error { func (m *defaultUserModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *User) error {
@ -156,15 +156,15 @@ func (m *defaultUserModel) UpdateWithVersion(ctx context.Context, session sqlx.S
if err != nil { if err != nil {
return err return err
} }
qncUserIdKey := fmt.Sprintf("%s%v", cacheQncUserIdPrefix, data.Id) tydataUserIdKey := fmt.Sprintf("%s%v", cacheTydataUserIdPrefix, data.Id)
qncUserMobileKey := fmt.Sprintf("%s%v", cacheQncUserMobilePrefix, data.Mobile) tydataUserMobileKey := fmt.Sprintf("%s%v", cacheTydataUserMobilePrefix, data.Mobile)
sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, userRowsWithPlaceHolder) query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, userRowsWithPlaceHolder)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id, oldVersion) return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id, oldVersion)
} }
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id, oldVersion) return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Mobile, newData.Password, newData.Nickname, newData.Info, newData.Inside, newData.Id, oldVersion)
}, qncUserIdKey, qncUserMobileKey) }, tydataUserIdKey, tydataUserMobileKey)
if err != nil { if err != nil {
return err return err
} }
@ -387,19 +387,19 @@ func (m *defaultUserModel) Delete(ctx context.Context, session sqlx.Session, id
return err return err
} }
qncUserIdKey := fmt.Sprintf("%s%v", cacheQncUserIdPrefix, id) tydataUserIdKey := fmt.Sprintf("%s%v", cacheTydataUserIdPrefix, id)
qncUserMobileKey := fmt.Sprintf("%s%v", cacheQncUserMobilePrefix, data.Mobile) tydataUserMobileKey := fmt.Sprintf("%s%v", cacheTydataUserMobilePrefix, data.Mobile)
_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { _, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("delete from %s where `id` = ?", m.table) query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
if session != nil { if session != nil {
return session.ExecCtx(ctx, query, id) return session.ExecCtx(ctx, query, id)
} }
return conn.ExecCtx(ctx, query, id) return conn.ExecCtx(ctx, query, id)
}, qncUserIdKey, qncUserMobileKey) }, tydataUserIdKey, tydataUserMobileKey)
return err return err
} }
func (m *defaultUserModel) formatPrimary(primary interface{}) string { func (m *defaultUserModel) formatPrimary(primary interface{}) string {
return fmt.Sprintf("%s%v", cacheQncUserIdPrefix, primary) return fmt.Sprintf("%s%v", cacheTydataUserIdPrefix, primary)
} }
func (m *defaultUserModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { func (m *defaultUserModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userRows, m.table) query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", userRows, m.table)

View File

@ -63,7 +63,21 @@ services:
depends_on: depends_on:
- redis - redis
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin_container
restart: unless-stopped
environment:
PMA_HOST: tydata_mysql
PMA_PORT: 3306
PMA_USER: tydata
PMA_PASSWORD: 5vg67b3UNHu8
ports:
- "21004:80"
depends_on:
- mysql
networks:
- tydata_net
networks: networks:
tydata_net: tydata_net:
driver: bridge driver: bridge