| @@ -0,0 +1,154 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | |||||
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||||
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||||
| <modelVersion>4.0.0</modelVersion> | |||||
| <parent> | |||||
| <artifactId>mallink</artifactId> | |||||
| <groupId>com.iformall</groupId> | |||||
| <version>1.0</version> | |||||
| </parent> | |||||
| <artifactId>mallinkBApi</artifactId> | |||||
| <dependencies> | |||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mallinkService</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | |||||
| <build> | |||||
| <plugins> | |||||
| <plugin> | |||||
| <groupId>org.springframework.boot</groupId> | |||||
| <artifactId>spring-boot-maven-plugin</artifactId> | |||||
| <configuration> | |||||
| <executable>true</executable> | |||||
| <layout>ZIP</layout> | |||||
| <excludeGroupIds> | |||||
| antlr, | |||||
| cn.afterturn, | |||||
| ch.qos.logback, | |||||
| com.alibaba, | |||||
| com.amazonaws, | |||||
| com.baomidou, | |||||
| com.mchange, | |||||
| com.fasterxml.jackson.core, | |||||
| com.fasterxml.jackson.dataformat, | |||||
| com.fasterxml.jackson.datatype, | |||||
| com.fasterxml.jackson.module, | |||||
| com.fasterxml.uuid, | |||||
| com.fasterxml, | |||||
| com.github.axet, | |||||
| com.github.jsqlparser, | |||||
| com.github.pagehelper, | |||||
| com.github.ulisesbocchio, | |||||
| com.github.virtuald, | |||||
| com.google.code.findbugs, | |||||
| com.google.code.gson, | |||||
| com.google.errorprone, | |||||
| com.google.guava, | |||||
| com.google.protobuf, | |||||
| com.google.zxing, | |||||
| com.jayway.jsonpath, | |||||
| com.jhlabs, | |||||
| com.puppycrawl.tools, | |||||
| com.rabbitmq, | |||||
| com.squareup.okhttp3, | |||||
| com.squareup.okio, | |||||
| com.sun, | |||||
| com.sun.mail, | |||||
| com.thoughtworks.xstream, | |||||
| com.zaxxer, | |||||
| commons-beanutils, | |||||
| commons-cli, | |||||
| commons-codec, | |||||
| commons-collections, | |||||
| commons-fileupload, | |||||
| commons-io, | |||||
| commons-logging, | |||||
| io.lettuce, | |||||
| io.netty, | |||||
| io.projectreactor, | |||||
| io.springfox, | |||||
| io.swagger, | |||||
| io.undertow, | |||||
| javax.activation, | |||||
| javax.annotation, | |||||
| javax.mail, | |||||
| javax.persistence, | |||||
| javax.servlet, | |||||
| javax.validation, | |||||
| javax.xml.bind, | |||||
| javax.xml.soap, | |||||
| javax.xml.ws, | |||||
| joda-time, | |||||
| junit, | |||||
| mysql, | |||||
| net.bytebuddy, | |||||
| net.minidev, | |||||
| net.sf.dozer, | |||||
| net.sf.saxon, | |||||
| ognl, | |||||
| org.antlr, | |||||
| org.apache.commons, | |||||
| org.apache.httpcomponents, | |||||
| org.apache.logging.log4j, | |||||
| org.apache.poi, | |||||
| org.apache.poi.wso2, | |||||
| org.apache.rocketmq, | |||||
| org.apache.shiro, | |||||
| org.apache.tomcat.embed, | |||||
| org.apache.xmlbeans, | |||||
| org.aspectj, | |||||
| org.assertj, | |||||
| org.bouncycastle, | |||||
| org.checkerframework, | |||||
| org.codehaus.mojo, | |||||
| org.crazycake, | |||||
| org.dom4j, | |||||
| org.flowable, | |||||
| org.flywaydb, | |||||
| org.glassfish, | |||||
| org.hibernate.validator, | |||||
| org.jasypt, | |||||
| org.javassist, | |||||
| org.jboss.logging, | |||||
| org.jboss.spec.javax.annotation, | |||||
| org.jboss.spec.javax.websocket, | |||||
| org.jboss.xnio, | |||||
| org.jdom, | |||||
| org.jodd, | |||||
| org.jvnet.mimepull, | |||||
| org.jvnet.staxex, | |||||
| org.mapstruct, | |||||
| org.mockito, | |||||
| org.mybatis, | |||||
| org.mybatis.generator, | |||||
| org.mybatis.spring.boot, | |||||
| org.ow2.asm, | |||||
| org.projectlombok, | |||||
| org.quartz-scheduler, | |||||
| org.reactivestreams, | |||||
| org.reflections, | |||||
| org.rocketmq.spring.boot, | |||||
| org.slf4j, | |||||
| org.springframework, | |||||
| org.springframework.amqp, | |||||
| org.springframework.boot, | |||||
| org.springframework.data, | |||||
| org.springframework.retry, | |||||
| org.springframework.ws, | |||||
| org.yaml, | |||||
| redis.clients, | |||||
| software.amazon.ion, | |||||
| tk.mybatis, | |||||
| xmlpull, | |||||
| xpp3 | |||||
| </excludeGroupIds> | |||||
| </configuration> | |||||
| </plugin> | |||||
| </plugins> | |||||
| </build> | |||||
| </project> | |||||
| @@ -0,0 +1,190 @@ | |||||
| spring: | |||||
| profiles: | |||||
| #include: aliyunRocketMQ | |||||
| include: rabbitMQ | |||||
| # JDBC | |||||
| datasource: | |||||
| url: jdbc:mysql://101.200.130.134:3306/mallink?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useUnicode=true&useSSL=false&useAffectedRows=true | |||||
| username: root | |||||
| password: fm2020test | |||||
| type: com.alibaba.druid.pool.DruidDataSource | |||||
| driver-class-name: com.mysql.cj.jdbc.Driver | |||||
| filters: stat | |||||
| maxActive: 20 | |||||
| initialSize: 1 | |||||
| maxWait: 60000 | |||||
| minIdle: 1 | |||||
| timeBetweenEvictionRunsMillis: 28000 | |||||
| minEvictableIdleTimeMillis: 28000 | |||||
| validationQuery: select 'x' | |||||
| testWhileIdle: true | |||||
| testOnBorrow: false | |||||
| testOnReturn: false | |||||
| poolPreparedStatements: true | |||||
| maxOpenPreparedStatements: 20 | |||||
| #jackson: | |||||
| #date-format: yyyy-MM-dd HH:mm:ss | |||||
| # REDIS | |||||
| redis: | |||||
| host: 101.200.130.134 | |||||
| port: 6379 | |||||
| password: iF0rm@2l2ol9 | |||||
| timeout: 3600 | |||||
| expire: 1800 #30分钟 | |||||
| database: 5 | |||||
| defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| jedis: | |||||
| pool: | |||||
| max-active: 50 | |||||
| max-idle: 30 | |||||
| max-wait: -1 | |||||
| min-idle: 0 | |||||
| # SMS | |||||
| aliyun: | |||||
| sms: | |||||
| accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V | |||||
| accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry | |||||
| product: Dysmsapi | |||||
| domain: dysmsapi.aliyuncs.com | |||||
| regionId: cn-hangzhou | |||||
| dateFormat: yyyyMMdd | |||||
| endpointName: cn-hangzhou | |||||
| oss: | |||||
| endpoint: oss-cn-beijing.aliyuncs.com | |||||
| keyid: LTAI4G7ixY4AhvM35F8o3W3V | |||||
| keysecret: VfWqGb83qIQrS9us45utskl8itd7ry | |||||
| bucketname: formall | |||||
| filehost: malinkbapi | |||||
| filedomain: https://formall.oss-accelerate.aliyuncs.com | |||||
| mail: | |||||
| host: smtp.exmail.qq.com | |||||
| username: service@iformall.com | |||||
| password: jGvApygXN7wc5SzN # 授权密码 | |||||
| properties: | |||||
| mail: | |||||
| smtp: | |||||
| auth: true | |||||
| starttls: | |||||
| enable: true | |||||
| socketFactory: | |||||
| port: 465 | |||||
| class: javax.net.ssl.SSLSocketFactory | |||||
| # ROCKETMQ | |||||
| rocketmq: | |||||
| nameServer: 127.0.0.1:9876 | |||||
| producer: | |||||
| retry-times-when-send-async-failed: 0 | |||||
| send-msg-timeout: 300000 | |||||
| compress-msg-body-over-howmuch: 4096 | |||||
| max-message-size: 4194304 | |||||
| retry-another-broker-when-not-store-ok: false | |||||
| retry-times-when-send-failed: 2 | |||||
| # RABBITMQ | |||||
| rabbitmq: | |||||
| host: 101.200.130.134 | |||||
| port: 5672 | |||||
| username: fumao | |||||
| password: f9l98 | |||||
| publisher-confirms: true | |||||
| publisher-returns: false | |||||
| virtual-host: / | |||||
| aliyunRocketmq: | |||||
| accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" | |||||
| accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" | |||||
| groupId: "GID_P_1" | |||||
| namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" | |||||
| aws: | |||||
| clientRegion: cn-northwest-1 | |||||
| bucketName: iformall-net | |||||
| access: ENC(3gx5ghDFBqGrEhO3Wf8aYmXsnwHO7Cj3HNKJGOeUj0o=) | |||||
| secret: ENC(HVKIJwCJKVXLlUpGlQPwNqJOlnpxn4xYuy91SH0seTSm2uAttIQHvA49fXWWax90v5wloIk0QuU=) | |||||
| jasypt: | |||||
| encryptor: | |||||
| password: oRqdnDbK5pj3eMmB | |||||
| #wechat: | |||||
| # open: | |||||
| # componentAppId: "wxdfc8fb4e62d6b52b" | |||||
| # componentSecret: "98daa62b316dd6feabaad708327ce233" | |||||
| # componentToken: "formall2018" | |||||
| # componentAesKey: "htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN" | |||||
| # redis: | |||||
| # host: 101.201.103.81 | |||||
| # port: 6379 | |||||
| # password: ENC(xPFDlgd6v8zUhJMbcKc0KmmQiqs9qHtk) | |||||
| # timeout: 3600 | |||||
| # expire: 1800 #30分钟 | |||||
| # database: 2 | |||||
| # defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| # jedis: | |||||
| # pool: | |||||
| # max-active: 100 | |||||
| # max-idle: 500 | |||||
| # max-wait: -1 | |||||
| # min-idle: 10 | |||||
| wechat: | |||||
| web: | |||||
| appId: "wx091907dd0bfd3f6b" | |||||
| secret: "2a2ca10738998b9ef92c1fe8a4d366a6" | |||||
| url: "https://admintest.malls.iformall.com" | |||||
| open: | |||||
| componentAppId: wxdfc8fb4e62d6b52b | |||||
| componentSecret: 98daa62b316dd6feabaad708327ce233 | |||||
| componentToken: formall2018 | |||||
| componentAesKey: htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN | |||||
| redis: | |||||
| host: 101.200.130.134 | |||||
| port: 6379 | |||||
| password: iF0rm@2l2ol9 | |||||
| timeout: 3600 | |||||
| expire: 1800 #30分钟 | |||||
| database: 2 | |||||
| defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| jedis: | |||||
| pool: | |||||
| max-active: 100 | |||||
| max-idle: 100 | |||||
| max-wait: -1 | |||||
| min-idle: 10 | |||||
| alipay: | |||||
| open: | |||||
| appId: 2021002137663024 | |||||
| appPrivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI= | |||||
| appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt | |||||
| alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt | |||||
| alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt | |||||
| callback: https://callbacktest.malls.iformall.com/api/alipay/notify/callback | |||||
| video: | |||||
| aliyun: | |||||
| accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V | |||||
| accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry | |||||
| regionId: cn-beijing | |||||
| fm: | |||||
| exception: true | |||||
| exception_emails: xuxiaohu@iformall.com | |||||
| deploy: 1 | |||||
| open: true | |||||
| upload_dir: /home/test/server/uploads | |||||
| videoType: aliyun | |||||
| pos: | |||||
| dev_id: fmpos | |||||
| url: https://pos.youlane.cn/api | |||||
| req_key: ZiGFLC4@3c5sTLZT | |||||
| res_key: ugPAM7wd&%p6I0W8 | |||||
| logging: | |||||
| level: | |||||
| com.iformall.mapper: debug | |||||
| path: ./logs/b | |||||
| @@ -0,0 +1,150 @@ | |||||
| spring: | |||||
| profiles: | |||||
| include: aliyunRocketMQ | |||||
| # JDBC | |||||
| datasource: | |||||
| url: jdbc:mysql://zc349w82qvn56ftl5e64-rw4rm.rwlb.rds.aliyuncs.com:3306/mallink?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true | |||||
| username: ENC(nUefcxWYlMS/1cDxikIKwA==) | |||||
| password: ENC(neToS+hzeFjgSFB/7UEl5qYnW2rUjrPq) | |||||
| type: com.alibaba.druid.pool.DruidDataSource | |||||
| driver-class-name: com.mysql.cj.jdbc.Driver | |||||
| filters: stat | |||||
| maxActive: 20 | |||||
| initialSize: 1 | |||||
| maxWait: 60000 | |||||
| minIdle: 1 | |||||
| timeBetweenEvictionRunsMillis: 28000 | |||||
| minEvictableIdleTimeMillis: 28000 | |||||
| validationQuery: select 'x' | |||||
| testWhileIdle: true | |||||
| testOnBorrow: false | |||||
| testOnReturn: false | |||||
| poolPreparedStatements: true | |||||
| maxOpenPreparedStatements: 20 | |||||
| # REDIS | |||||
| redis: | |||||
| host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com | |||||
| port: 6379 | |||||
| password: mallone:iF0rm@2l2ol9 | |||||
| timeout: 3600 | |||||
| expire: 1800 #30分钟 | |||||
| database: 1 | |||||
| defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| jedis: | |||||
| pool: | |||||
| max-active: 100 | |||||
| max-idle: 20 | |||||
| max-wait: -1 | |||||
| min-idle: 0 | |||||
| # SMS | |||||
| aliyun: | |||||
| sms: | |||||
| accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V | |||||
| accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry | |||||
| product: Dysmsapi | |||||
| domain: dysmsapi.aliyuncs.com | |||||
| regionId: cn-hangzhou | |||||
| dateFormat: yyyyMMdd | |||||
| endpointName: cn-hangzhou | |||||
| oss: | |||||
| endpoint: oss-cn-beijing.aliyuncs.com | |||||
| keyid: LTAI4G7ixY4AhvM35F8o3W3V | |||||
| keysecret: VfWqGb83qIQrS9us45utskl8itd7ry | |||||
| bucketname: formall | |||||
| filehost: malinkadmin | |||||
| filedomain: https://formall.oss-accelerate.aliyuncs.com | |||||
| mail: | |||||
| host: smtp.exmail.qq.com | |||||
| username: sysadministor@iformall.com # 登陆密码sysAd1231 | |||||
| password: SWqPekCEmhUYuYCd # 授权密码 | |||||
| properties: | |||||
| mail: | |||||
| smtp: | |||||
| auth: true | |||||
| starttls: | |||||
| enable: true | |||||
| socketFactory: | |||||
| port: 465 | |||||
| class: javax.net.ssl.SSLSocketFactory | |||||
| # RABBITMQ | |||||
| rabbitmq: | |||||
| host: localhost | |||||
| port: 5672 | |||||
| username: ENC(lRmLd6EzgeY1RT5ktcHv9g==) | |||||
| password: ENC(gBI8mCjr3OC0v57jcnSb660Ux7mW03K2oePgvohhg7w=) | |||||
| publisher-confirms: true | |||||
| publisher-returns: false | |||||
| virtual-host: / | |||||
| aliyunRocketmq: | |||||
| accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" | |||||
| accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" | |||||
| groupId: "GID_P_1" | |||||
| namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" | |||||
| aws: | |||||
| clientRegion: cn-northwest-1 | |||||
| bucketName: iformall-net | |||||
| access: ENC(a6SN1sZ1enNL49ypiOXkg/pPPAnZD8H4buQFTTKN08s=) | |||||
| secret: ENC(5P5ff4bTMJUbXVR4ZsM03UHzOKZ4+Zg5Iutcdkyp/Quny/oXg+A4KpfwEyGarlLu3vQMJahGP5M=) | |||||
| wechat: | |||||
| open: | |||||
| componentAppId: ENC(b3JG0MUZgQfz5Zj+DC2ZM1zDeLOiGTmmeokfe2O8kaM=) | |||||
| componentSecret: ENC(QVyc4BPGdnSjXGs2ivgpDBE1v8wPWHLLRMYI7Vv8uYwC0SiZHQz0QpyyQV/b48Pb) | |||||
| componentToken: ENC(rkxj0733WxFFDLgA9x01m2s5Fi2L+0PC) | |||||
| componentAesKey: ENC(EIbJUBpbYOrLb4YQ/HXLQmxlxgAqIp2ZmpnGICC8pu5xiTz3Cqfkbwd2S8raCcK/IvYcX2GmedI=) | |||||
| redis: | |||||
| host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com | |||||
| port: 6379 | |||||
| password: mallone:iF0rm@2l2ol9 | |||||
| timeout: 3600 | |||||
| expire: 1800 #30分钟 | |||||
| database: 2 | |||||
| defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| jedis: | |||||
| pool: | |||||
| max-active: 100 | |||||
| max-idle: 100 | |||||
| max-wait: -1 | |||||
| min-idle: 10 | |||||
| alipay: | |||||
| open: | |||||
| appId: 2021002140616334 | |||||
| appPrivateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCEJmHIlS0luIH7zJRRVlypCcgiSkqpSlnmgyCEM7nu8IerV8Yf7dMBitBklTpJB+4URV1bW+q6Ijzo8RsCyjm1Kx+EFiKf1PiJXlT0h1+bF3fYdDr6r5GK0/TtB8O80p774NcRD3HgbzUS8AEe/GcBvhiXbDRgJh7yAngW9vxl9u1o5UcaxOXVLWDrjlQGF6qyXUlycCNIdPXj3LduP3PBK5daVZwJm33Pr7kmSI0agZvV267HaTpSKaiXI7Zwo+nFMqx9g9kpzmYRfOgHx3DWpQUFI646IB8nEpLpQp3/0eDocuqiHXYgEpLpPoFKoVE228v74YSFh3Y4fFGX+qtjAgMBAAECggEAIJK9Y42xtSyHjaNdo7bf3CK3HAyn3pafFjyYFT4SxJyxNEDMay5Z5nVq7IAD/+BehMycOFqtvveVf+1+NO/XzZo1iH9URYVfRazkz+lWXYopVkdACm6gN1ILeymAy9g2q+s918ywyxteP668+ABK+5j5wsk/F7wNwKVvKGn0yMT7DP0FAL1e0KWndZCZlF79VnFpBLscDJq28GqRzqYop4CWqHHTA6DBvIqkfQV4U3IzqnzOsxNLEMBwhnbK08XfYZ3DxCPH0jQdA2Jj/aABrntq2EpWjzW5H9iZqrVo33rmsNHUSQvla/333RkbpwGyNhI6kcPBRq4cVSAa3y7dMQKBgQDVfyDUPWKXVwIJUgO1my8WIUu2p6nhuT7Mfnpk4X7ewdFaRVjb/r0KvhLgoz2/KOwkqtWTlEvNaCDDycpLXk+V5ZH833kYsDEmxY7ikOUjCcrfYJgT7P77//cZ4Kx8a5X45SiKAZT2GQv7BTtIfNhrfTUj6AQx/3MP3sa2QAWeNQKBgQCedWoF7t+qyck2hctqtTFC7fRkEk7RNJVph1ZOeTqOIAKhmhkwaOE3joxQ/VqHDy212YdW4hI0BWUzbEdMy0Idz2G3y9ERVD84hZehf5GGRdiSrY9EEQgHlcI6Qb8/AnDdpy1DlKUMwTYjVNzkDL3AzeWn61JS1XQaOzZBsJy2NwKBgFa+pJQXrOtYytcGn8M2Hlebh6vbS8cPAVkNOqWqiWXw0iMfcg9Q3XZz7C+hpAD7m5b6YnToGDSJTma+opck5qk88agRFJ7XV+Es+/VKcg9edzNzh9bwwFmbksbM5shW3kSWt3X7Vo73dkqzwXaeY0CpSuIf7zRxWkrkdVCvipjRAoGAMcJlPN+6VQNwsDJromKryXy31gT5wzBkCvN44sOm46KhsOWXK2CD+NJGtdgZaXgWvphEq7/qP3PCR9ekvDTH2lyZLwJN8Mcn4zPwXcKVjDi6vbTK3HEMuHUKvQiQadT2ZGRvDl3LRqoVuhqYEvT9UWJWz9hRzblB8ErPyukPDRkCgYB7bMv2iflpaGE1J3gkTlVJB+2QSfnAXaUDMLWsZN4gYjwEBVCEJ+mhWL1/GeEIBjSs5/qZIeRsYzlxGEcnsJzRfog6ITBF14AeZ+xNkHq83ja87OGVKMypiccGwRehijDhJi6tgMJ0u0w6PiqcJvh0SX4jBhDDPjuWzK2XD+lx8A== | |||||
| appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002140616334.crt | |||||
| alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt | |||||
| alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt | |||||
| callback: https://callback.malls.iformall.com/api/alipay/notify/callback | |||||
| video: | |||||
| aliyun: | |||||
| accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V | |||||
| accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry | |||||
| regionId: cn-beijing | |||||
| endPoint: https://oss-cn-beijing.aliyuncs.com | |||||
| corePoolSize: 6 | |||||
| maxPoolSize: 20 | |||||
| queueCapacity: 1000 | |||||
| namePrefix: aliyun-video-upload | |||||
| fm: | |||||
| exception: true | |||||
| exception_emails: houtaikaifa@iformall.com | |||||
| deploy: 3 | |||||
| open: true | |||||
| upload_dir: /root/uploads/ | |||||
| videoType: aliyun | |||||
| pos: | |||||
| dev_id: fmpos | |||||
| url: https://pos.malls.iformall.com/api | |||||
| req_key: ZiGFLC4@3c5sTLZT | |||||
| res_key: ugPAM7wd&%p6I0W8 | |||||
| logging: | |||||
| level: | |||||
| com.iformall.mapper: debug | |||||
| path: ./logs/b | |||||
| @@ -0,0 +1,106 @@ | |||||
| spring: | |||||
| profiles: | |||||
| include: rabbitMQ | |||||
| # JDBC | |||||
| datasource: | |||||
| url: jdbc:mysql://formalldb.cfqyqflkdlit.rds.cn-northwest-1.amazonaws.com.cn:3306/mallinkTest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true | |||||
| username: ENC(Uc0AjgkytxHHCwZrmDASWg==) | |||||
| password: ENC(nV4Mi3bEbBx0Fj7uUyYH55eTaqsFMjKvmNzagicH4pc=) | |||||
| type: com.alibaba.druid.pool.DruidDataSource | |||||
| driver-class-name: com.mysql.cj.jdbc.Driver | |||||
| filters: stat | |||||
| maxActive: 20 | |||||
| initialSize: 1 | |||||
| maxWait: 60000 | |||||
| minIdle: 1 | |||||
| timeBetweenEvictionRunsMillis: 28000 | |||||
| minEvictableIdleTimeMillis: 28000 | |||||
| validationQuery: select 'x' | |||||
| testWhileIdle: true | |||||
| testOnBorrow: false | |||||
| testOnReturn: false | |||||
| poolPreparedStatements: true | |||||
| maxOpenPreparedStatements: 20 | |||||
| # REDIS | |||||
| redis: | |||||
| host: 127.0.0.1 | |||||
| port: 6379 | |||||
| password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) | |||||
| timeout: 3600 | |||||
| expire: 1800 #30分钟 | |||||
| database: 1 | |||||
| defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| jedis: | |||||
| pool: | |||||
| max-active: 50 | |||||
| max-idle: 30 | |||||
| max-wait: -1 | |||||
| min-idle: 0 | |||||
| mail: | |||||
| host: smtp.exmail.qq.com | |||||
| username: ENC(TtJQE2C4cWo8CpVGMMl5hiy5eykepd96J5XjsW3Kj5fgP+6+5ctDNQ==) | |||||
| password: ENC(Zh6A6kRtA2ABtH6nzdvsqQSO1/8p3mparJr8neI2BLU=) # 授权密码 | |||||
| properties: | |||||
| mail: | |||||
| smtp: | |||||
| auth: true | |||||
| starttls: | |||||
| enable: true | |||||
| socketFactory: | |||||
| port: 465 | |||||
| class: javax.net.ssl.SSLSocketFactory | |||||
| # RABBITMQ | |||||
| rabbitmq: | |||||
| host: 127.0.0.1 | |||||
| port: 5672 | |||||
| username: ENC(aSRr6mnSryEqzHHz1hJf1g==) | |||||
| password: ENC(GnjF/mdqKdvmDYC0tIIso7+20/jBALPw39tiWCYJ4iw=) | |||||
| publisher-confirms: true | |||||
| publisher-returns: false | |||||
| virtual-host: / | |||||
| aws: | |||||
| clientRegion: cn-northwest-1 | |||||
| bucketName: iformall-net | |||||
| access: ENC(NCLcmjwKpAWdn/abD17OKIY7yKepVLWzEpqRYUlURCw=) | |||||
| secret: ENC(TRcZqql0Rq5PExlMeH/4WiZ/i02b8FXKmLTBChJmbluTa1uoLS9LrHyNEMrqe1DK+QgOAdvqGBo=) | |||||
| wechat: | |||||
| open: | |||||
| componentAppId: ENC(hnH31XdNzArfMfikKgBFpqQuJUl6rVOPFFcAVyb595o=) | |||||
| componentSecret: ENC(t/GUVX5L+U7LCwSvZ5WmxAnmTMrc/Uy1nljsrokuzzsBL2j6BEVnrS/n7DCdGc/G) | |||||
| componentToken: ENC(gUF1m0YgCCI2IY54fX6sGLZVlCswA8tG) | |||||
| componentAesKey: ENC(TYHcrIkICtfrCfGq4HW6s1b/pHf7OD2uyPN11SzJNB0acqJ/4JVX1nuljo/cAtgMG4O05TImLQc=) | |||||
| redis: | |||||
| host: 127.0.0.1 | |||||
| port: 6379 | |||||
| password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) | |||||
| timeout: 3600 | |||||
| expire: 1800 #30分钟 | |||||
| database: 2 | |||||
| defaultExpiration: 2592000 # 默认生命周期30天 | |||||
| jedis: | |||||
| pool: | |||||
| max-active: 100 | |||||
| max-idle: 100 | |||||
| max-wait: -1 | |||||
| min-idle: 10 | |||||
| fm: | |||||
| exception: true | |||||
| exception_emails: houtaikaifa@iformall.com | |||||
| deploy: 2 | |||||
| open: true | |||||
| upload_dir: /home/ec2-user/server/uploads/ | |||||
| pos: | |||||
| dev_id: fmpos | |||||
| url: https://postest.malls.iformall.com/api | |||||
| req_key: ZiGFLC4@3c5sTLZT | |||||
| res_key: ugPAM7wd&%p6I0W8 | |||||
| logging: | |||||
| level: | |||||
| com.iformall: debug | |||||
| path: ./logs/b | |||||
| @@ -0,0 +1,54 @@ | |||||
| server: | |||||
| port: 8000 | |||||
| servlet: | |||||
| context-path: /B | |||||
| spring: | |||||
| application: | |||||
| name: mallink | |||||
| profiles: | |||||
| active: dev | |||||
| jackson: | |||||
| date-format: yyyy-MM-dd HH:mm:ss | |||||
| time-zone: GMT+8 | |||||
| default-property-inclusion: non_null | |||||
| # rocketmq: | |||||
| # nameServer: 127.0.0.1:9876 | |||||
| # producer: | |||||
| # retry-times-when-send-async-failed: 0 | |||||
| # send-msg-timeout: 300000 | |||||
| # compress-msg-body-over-howmuch: 4096 | |||||
| # max-message-size: 4194304 | |||||
| # retry-another-broker-when-not-store-ok: false | |||||
| # retry-times-when-send-failed: 2 | |||||
| # MybatisPlus | |||||
| mybatis-plus: | |||||
| mapper-locations: classpath:mapper/*Mapper.xml | |||||
| global-config: | |||||
| db-config: | |||||
| id-type: id_worker | |||||
| field-strategy: not_null | |||||
| db-type: mysql | |||||
| configuration: | |||||
| jdbc-type-for-null: 'null' | |||||
| cache-enabled: false | |||||
| call-setters-on-nulls: true | |||||
| type-aliases-package: com.iformall.domain.po | |||||
| type-enums-package: com.iformall.enums | |||||
| # PageHelper | |||||
| pagehelper: | |||||
| helperDialect: mysql | |||||
| reasonable: false | |||||
| supportMethodsArguments: true | |||||
| params: count=countSql | |||||
| offset-as-page-num: true | |||||
| page-size-zero: true | |||||
| row-bounds-with-count: true | |||||
| mapper: | |||||
| mappers: | |||||
| - com.iformall.common.CommonMapper | |||||
| version: @project.version@ | |||||
| @@ -0,0 +1,100 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <configuration scan="true" scanPeriod="10 seconds"> | |||||
| <!-- 外部指定路径 --> | |||||
| <springProperty scop="context" name="logPath" source="logging.path" /> | |||||
| <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | |||||
| <encoder> | |||||
| <Pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] --%mdc{client}%msg%n</Pattern> | |||||
| </encoder> | |||||
| </appender> | |||||
| <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |||||
| <file>${logPath}/trace.log</file> | |||||
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |||||
| <FileNamePattern>${logPath}/daily/trace.%d{yyyy-MM-dd}.log</FileNamePattern> | |||||
| <maxHistory>30</maxHistory> <!-- 保留180天 --> | |||||
| </rollingPolicy> | |||||
| <layout> | |||||
| <pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n</pattern> | |||||
| </layout> | |||||
| </appender> | |||||
| <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |||||
| <file>${logPath}/info.log</file> | |||||
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |||||
| <FileNamePattern>${logPath}/daily/info.%d{yyyy-MM-dd}.log</FileNamePattern> | |||||
| <maxHistory>30</maxHistory> <!-- 保留180天 --> | |||||
| </rollingPolicy> | |||||
| <layout> | |||||
| <pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n</pattern> | |||||
| </layout> | |||||
| <filter class="ch.qos.logback.classic.filter.LevelFilter"> | |||||
| <level>INFO</level> | |||||
| <onMatch>ACCEPT</onMatch> | |||||
| <onMismatch>DENY</onMismatch> | |||||
| </filter> | |||||
| </appender> | |||||
| <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |||||
| <file>${logPath}/debug.log</file> | |||||
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |||||
| <FileNamePattern>${logPath}/daily/debug.%d{yyyy-MM-dd}.log</FileNamePattern> | |||||
| <maxHistory>30</maxHistory> <!-- 保留180天 --> | |||||
| </rollingPolicy> | |||||
| <layout> | |||||
| <pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n</pattern> | |||||
| </layout> | |||||
| <filter class="ch.qos.logback.classic.filter.LevelFilter"> | |||||
| <level>DEBUG</level> | |||||
| <onMatch>ACCEPT</onMatch> | |||||
| <onMismatch>DENY</onMismatch> | |||||
| </filter> | |||||
| </appender> | |||||
| <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |||||
| <file>${logPath}/warn.log</file> | |||||
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |||||
| <FileNamePattern>${logPath}/daily/warn.%d{yyyy-MM-dd}.log</FileNamePattern> | |||||
| <maxHistory>30</maxHistory> <!-- 保留180天 --> | |||||
| </rollingPolicy> | |||||
| <layout> | |||||
| <pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n</pattern> | |||||
| </layout> | |||||
| <filter class="ch.qos.logback.classic.filter.LevelFilter"> | |||||
| <level>WARN</level> | |||||
| <onMatch>ACCEPT</onMatch> | |||||
| <onMismatch>DENY</onMismatch> | |||||
| </filter> | |||||
| </appender> | |||||
| <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |||||
| <file>${logPath}/error.log</file> | |||||
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> | |||||
| <FileNamePattern>${logPath}/daily/error.%d{yyyy-MM-dd}.log</FileNamePattern> | |||||
| <maxHistory>30</maxHistory> <!-- 保留180天 --> | |||||
| </rollingPolicy> | |||||
| <layout> | |||||
| <pattern>[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n</pattern> | |||||
| </layout> | |||||
| <filter class="ch.qos.logback.classic.filter.LevelFilter"> | |||||
| <level>ERROR</level> | |||||
| <onMatch>ACCEPT</onMatch> | |||||
| <onMismatch>DENY</onMismatch> | |||||
| </filter> | |||||
| </appender> | |||||
| <root level="TRACE"> | |||||
| <appender-ref ref="TRACE_FILE" /> | |||||
| <appender-ref ref="INFO_FILE" /> | |||||
| <!-- <appender-ref ref="DEBUG_FILE" /> --> | |||||
| <!-- <appender-ref ref="WARN_FILE" /> --> | |||||
| <appender-ref ref="ERROR_FILE" /> | |||||
| </root> | |||||
| <root level="INFO"> | |||||
| <appender-ref ref="STDOUT" /> | |||||
| </root> | |||||
| </configuration> | |||||
| @@ -23,7 +23,6 @@ import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Lazy; | |||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.context.request.RequestContextHolder; | import org.springframework.web.context.request.RequestContextHolder; | ||||
| import org.springframework.web.context.request.ServletRequestAttributes; | import org.springframework.web.context.request.ServletRequestAttributes; | ||||
| @@ -39,31 +38,24 @@ import java.util.Map; | |||||
| public class WxMerchantBUserController extends BaseController { | public class WxMerchantBUserController extends BaseController { | ||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | private final Logger logger = LoggerFactory.getLogger(this.getClass()); | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxMerchantBUserService wxMerchantBUserService; | private WxMerchantBUserService wxMerchantBUserService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxMerchantService wxMerchantService; | private WxMerchantService wxMerchantService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxMallService wxMallService; | private WxMallService wxMallService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxLevelConfigService wxLevelConfigService; | private WxLevelConfigService wxLevelConfigService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxCUserService wxCUserService; | private WxCUserService wxCUserService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxCUserBasicInfoService wxCUserBasicInfoService; | private WxCUserBasicInfoService wxCUserBasicInfoService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| private WxScoreRulesService wxScoreRulesService; | private WxScoreRulesService wxScoreRulesService; | ||||
| @@ -43,8 +43,6 @@ public class WxCouponOrder extends TenantEntity { | |||||
| private Integer couponOrderStatus; | private Integer couponOrderStatus; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") | @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "创建时间数值,供查询优化用", name = "createDateTimes") | |||||
| private Long createDateTimes; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") | @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") | ||||
| private Date updateDate; | private Date updateDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "单券实际购买价格", name = "couponPrice") | @io.swagger.annotations.ApiModelProperty(value = "单券实际购买价格", name = "couponPrice") | ||||
| @@ -72,9 +70,6 @@ public class WxCouponOrder extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="商品数量",name="couponNumber") | @io.swagger.annotations.ApiModelProperty(value="商品数量",name="couponNumber") | ||||
| private Integer couponNumber; | private Integer couponNumber; | ||||
| @io.swagger.annotations.ApiModelProperty(value="补贴",name="subsidy") | |||||
| private Integer subsidy; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String couponName; | private String couponName; | ||||
| @@ -9,7 +9,6 @@ import lombok.EqualsAndHashCode; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| import java.util.UUID; | import java.util.UUID; | ||||
| @TableName(value = "wx_merchant_b_user") | @TableName(value = "wx_merchant_b_user") | ||||
| @@ -25,8 +24,6 @@ public class WxMerchantBUser extends TenantEntity { | |||||
| private String userPwd; | private String userPwd; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId") | @io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId") | ||||
| private Long merchantId; | private Long merchantId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> merchantIds; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") | @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") | @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") | ||||
| @@ -1,13 +1,11 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @TableName(value = "wx_merchant_shop") | @TableName(value = "wx_merchant_shop") | ||||
| @Data | @Data | ||||
| @@ -20,9 +18,6 @@ public class WxMerchantShop extends TenantEntity { | |||||
| private Long merchantId; | private Long merchantId; | ||||
| @io.swagger.annotations.ApiModelProperty(value="商铺ID",name="shopId") | @io.swagger.annotations.ApiModelProperty(value="商铺ID",name="shopId") | ||||
| private Long shopId; | private Long shopId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> shopIdList; | |||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") | @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") | ||||
| @@ -141,8 +141,7 @@ public class WxCouponOrderBVo extends WxCouponOrder { | |||||
| @Excel(name = "所属商户", width = 50, orderNum = "3") | @Excel(name = "所属商户", width = 50, orderNum = "3") | ||||
| @io.swagger.annotations.ApiModelProperty(value="使用券商户名",name="merchantName") | @io.swagger.annotations.ApiModelProperty(value="使用券商户名",name="merchantName") | ||||
| private String merchantName; | private String merchantName; | ||||
| @TableField(exist = false) | |||||
| private List<Long> bUserIdList; | |||||
| @Excel(name = "发券商户(商户注券)", width = 50, orderNum = "3") | @Excel(name = "发券商户(商户注券)", width = 50, orderNum = "3") | ||||
| @io.swagger.annotations.ApiModelProperty(value="发券商户(商户注券)",name="sendMerchantName") | @io.swagger.annotations.ApiModelProperty(value="发券商户(商户注券)",name="sendMerchantName") | ||||
| @@ -171,13 +170,9 @@ public class WxCouponOrderBVo extends WxCouponOrder { | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Date startDate; | private Date startDate; | ||||
| @TableField(exist = false) | |||||
| private Long startDateTimes; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Date endDate; | private Date endDate; | ||||
| @TableField(exist = false) | |||||
| private Long endDateTimes; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Long merchantId; | private Long merchantId; | ||||
| @@ -197,8 +192,6 @@ public class WxCouponOrderBVo extends WxCouponOrder { | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Long couponId; | private Long couponId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> couponIds; | |||||
| @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) | @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @@ -1,31 +0,0 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| @JsonIgnoreProperties(value = {"handler"}) | |||||
| @Data | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class WxMerchantProductVo extends TenantEntity { | |||||
| /** | |||||
| * | |||||
| */ | |||||
| private static final long serialVersionUID = -367003237067255221L; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "券编码", name = "productId") | |||||
| private Long productId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "商户编码", name = "merchantId") | |||||
| private Long merchantId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "商户数", name = "merchantId") | |||||
| private Integer mc; | |||||
| } | |||||
| @@ -22,8 +22,6 @@ public interface WxCUserBasicInfoMapper extends CommonMapper<WxCUserBasicInfo, S | |||||
| List<WxCUserBasicInfo> findList(WxCUserBasicInfo wxCUserBasicInfo); | List<WxCUserBasicInfo> findList(WxCUserBasicInfo wxCUserBasicInfo); | ||||
| List<WxCUserBasicInfo> findList1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfo wxCUserBasicInfo); | List<WxCUserBasicInfo> findList1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfo wxCUserBasicInfo); | ||||
| List<WxCUserBasicInfo> findListPhoneAndNameByIds(WxCUserBasicInfo wxCUserBasicInfo); | |||||
| WxCUserBasicInfo selectById(@Param("id")Long id,@Param("finalTenantId")String finalTenantId); | WxCUserBasicInfo selectById(@Param("id")Long id,@Param("finalTenantId")String finalTenantId); | ||||
| void updateScore(WxCUserBasicInfo record); | void updateScore(WxCUserBasicInfo record); | ||||
| @@ -15,10 +15,6 @@ public interface WxCouponMapper extends CommonMapper<WxCoupon, Long> { | |||||
| List<WxCouponStatisVo> findCountData(@Param("tenantEntitys")List<TenantEntity> tenantEntitys, @Param("wxCoupon")WxCoupon wxCoupon); | List<WxCouponStatisVo> findCountData(@Param("tenantEntitys")List<TenantEntity> tenantEntitys, @Param("wxCoupon")WxCoupon wxCoupon); | ||||
| List<WxCoupon> findList(WxCoupon wxCoupon); | List<WxCoupon> findList(WxCoupon wxCoupon); | ||||
| List<WxCoupon> findTenantSimpleList(WxCoupon wxCoupon); | |||||
| List<Long> findIdList(WxCoupon wxCoupon); | |||||
| List<WxCoupon> findCouponList(WxCoupon wxCoupon); | List<WxCoupon> findCouponList(WxCoupon wxCoupon); | ||||
| WxCoupon selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | WxCoupon selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | ||||
| @@ -3,7 +3,6 @@ package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.po.WxCouponMerchant; | import com.iformall.domain.po.WxCouponMerchant; | ||||
| import com.iformall.domain.vo.WxMerchantProductVo; | |||||
| import com.iformall.domain.vo.WxMerchantVo; | import com.iformall.domain.vo.WxMerchantVo; | ||||
| import java.util.List; | import java.util.List; | ||||
| @@ -17,6 +16,4 @@ public interface WxCouponMerchantMapper extends CommonMapper<WxCouponMerchant, L | |||||
| List<WxMerchantVo> findMerchantVoList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | List<WxMerchantVo> findMerchantVoList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantVo> findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | List<WxMerchantVo> findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantVo> findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | List<WxMerchantVo> findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantProductVo> findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List<Long> merchantIdList); | |||||
| List<Long> findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List<Long> merchantIdList); | |||||
| } | } | ||||
| @@ -32,7 +32,6 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> { | |||||
| int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder); | int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder); | ||||
| int updateVerifyCouponOrderStatusForMicroPay(WxCouponOrder wxCouponOrder); | int updateVerifyCouponOrderStatusForMicroPay(WxCouponOrder wxCouponOrder); | ||||
| int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder); | int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder); | ||||
| int updateVerifyCouponOrderSubsidy(WxCouponOrder wxCouponOrder); | |||||
| //统一的计数接口 | //统一的计数接口 | ||||
| int findCount(WxCouponOrder wxCouponOrder); | int findCount(WxCouponOrder wxCouponOrder); | ||||
| @@ -8,10 +8,6 @@ import com.iformall.domain.vo.WxMerchantBuInfoVo; | |||||
| public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Long> { | public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Long> { | ||||
| List<WxMerchantBUser> findList(WxMerchantBUser wxMerchantBUser); | List<WxMerchantBUser> findList(WxMerchantBUser wxMerchantBUser); | ||||
| List<Long> findIdList(WxMerchantBUser wxMerchantBUser); | |||||
| List<WxMerchantBUser> findMerchantIdListByIds(WxMerchantBUser wxMerchantBUser); | |||||
| List<WxMerchantBuInfoVo> findSelMerchantList(WxMerchantBUser wxMerchantBUser); | List<WxMerchantBuInfoVo> findSelMerchantList(WxMerchantBUser wxMerchantBUser); | ||||
| @@ -16,8 +16,6 @@ import java.util.Map; | |||||
| public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> { | public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> { | ||||
| List<WxMerchant> findList(WxMerchant wxMerchant); | List<WxMerchant> findList(WxMerchant wxMerchant); | ||||
| List<Long> findIdList(WxMerchant wxMerchant); | |||||
| List<WxMerchant> findIdNameList(WxMerchant wxMerchant); | List<WxMerchant> findIdNameList(WxMerchant wxMerchant); | ||||
| @@ -11,8 +11,6 @@ public interface WxMerchantShopMapper extends CommonMapper<WxMerchantShop, Strin | |||||
| List<WxMerchantShop> findList(WxMerchantShop wxMerchantShop); | List<WxMerchantShop> findList(WxMerchantShop wxMerchantShop); | ||||
| List<Long> findMerchantIdList(WxMerchantShop wxMerchantShop); | |||||
| List<Long> findShopIds(@Param("merchantId") Long merchantId); | List<Long> findShopIds(@Param("merchantId") Long merchantId); | ||||
| void delShops(@Param("merchantId") Long merchantId,@Param("shopList") List<Long> shopIds); | void delShops(@Param("merchantId") Long merchantId,@Param("shopList") List<Long> shopIds); | ||||
| @@ -16,8 +16,6 @@ import java.util.Map; | |||||
| public interface WxShopMapper extends CommonMapper<WxShop, String> { | public interface WxShopMapper extends CommonMapper<WxShop, String> { | ||||
| List<WxShop> findList(WxShop wxShop); | List<WxShop> findList(WxShop wxShop); | ||||
| List<Long> findIdList(WxShop wxShop); | |||||
| List<Map<String,Object>> findListMap(WxShop record); | List<Map<String,Object>> findListMap(WxShop record); | ||||
| @@ -44,8 +44,6 @@ public interface WxCUserBasicInfoService { | |||||
| */ | */ | ||||
| PageInfo<WxCUserBasicInfo> listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize); | PageInfo<WxCUserBasicInfo> listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize); | ||||
| PageInfo<WxCUserBasicInfo> listAsPage(TenantEntity tenantInfo, WxCUserBasicInfo wxCUserBasicInfo, Integer pageIndex, Integer pageSize); | PageInfo<WxCUserBasicInfo> listAsPage(TenantEntity tenantInfo, WxCUserBasicInfo wxCUserBasicInfo, Integer pageIndex, Integer pageSize); | ||||
| List<WxCUserBasicInfo> listPhoneAndNameByIds(WxCUserBasicInfo record); | |||||
| /** | /** | ||||
| * 根据实体查询列表 | * 根据实体查询列表 | ||||
| @@ -585,11 +585,6 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicInfoMapper.findList(wxCUserBasicInfo)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicInfoMapper.findList(wxCUserBasicInfo)); | ||||
| } | } | ||||
| } | } | ||||
| @Override | |||||
| public List<WxCUserBasicInfo> listPhoneAndNameByIds(WxCUserBasicInfo record) { | |||||
| return wxCUserBasicInfoMapper.findListPhoneAndNameByIds(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public int countUser(WxCUserBasicInfo record) { | public int countUser(WxCUserBasicInfo record) { | ||||
| @@ -171,11 +171,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| SysConfigService sysConfigService; | SysConfigService sysConfigService; | ||||
| @Autowired | @Autowired | ||||
| WxMerchantBUserService wxMerchantBUserService; | WxMerchantBUserService wxMerchantBUserService; | ||||
| @Autowired | |||||
| WxShopMapper wxShopMapper; | |||||
| @Autowired | |||||
| WxMerchantShopMapper wxMerchantShopMapper; | |||||
| private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
| @@ -340,15 +335,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Override | @Override | ||||
| public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { | public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { | ||||
| long times1 = System.currentTimeMillis(); | |||||
| handleWxCouponOrderBVoQueryParam(wxCouponOrderBVo); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>#### init queryparam:"+(System.currentTimeMillis()-times1)); | |||||
| long times2 = System.currentTimeMillis(); | |||||
| PageInfo<WxCouponOrderBVo> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); | PageInfo<WxCouponOrderBVo> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); | ||||
| logger.info(">>>>>>>>>>>>>>>>>>>##### query:"+(System.currentTimeMillis()-times2)); | |||||
| if (null != pageInfo && null != pageInfo.getList()){ | |||||
| handleQueryResult(pageInfo.getList(), wxCouponOrderBVo); | |||||
| } | |||||
| return new ResultData(pageInfo); | return new ResultData(pageInfo); | ||||
| } | } | ||||
| @@ -361,354 +348,46 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| return new ResultData(wxCouponOrderBVo); | return new ResultData(wxCouponOrderBVo); | ||||
| } | } | ||||
| private List<Long> getMerchantIdsQueryParam(WxCouponOrderBVo wxCouponOrder) { | |||||
| List<Long> retMerchantIdList = new ArrayList<Long>(); | |||||
| boolean isConditiondQquery = false; | |||||
| //根据名称查询商户 | |||||
| String merchantName = StringUtils.trimToNull(wxCouponOrder.getMerchantName()); | |||||
| if (null != merchantName) { | |||||
| WxMerchant merchantQ1 = new WxMerchant(); | |||||
| merchantQ1.updateTenantInfo(wxCouponOrder); | |||||
| merchantQ1.setName(merchantName); | |||||
| List<Long> merchantIdList = wxMerchantMapper.findIdList(merchantQ1); | |||||
| if (null == merchantIdList || merchantIdList.size() <= 0) { | |||||
| retMerchantIdList.add(-999L); | |||||
| return retMerchantIdList; | |||||
| } | |||||
| retMerchantIdList.addAll(merchantIdList); | |||||
| isConditiondQquery = true; | |||||
| } | |||||
| //楼层楼座查询商户 | |||||
| if (null != wxCouponOrder.getBuilding() || null != wxCouponOrder.getFloor()) { | |||||
| WxShop shopQ = new WxShop(); | |||||
| shopQ.updateTenantInfo(wxCouponOrder); | |||||
| if (null != wxCouponOrder.getBuilding()) { | |||||
| shopQ.setBuilding(Long.parseLong(String.valueOf(wxCouponOrder.getBuilding()))); | |||||
| } | |||||
| if (null != wxCouponOrder.getFloor()) { | |||||
| shopQ.setFloor(Long.parseLong(String.valueOf(wxCouponOrder.getFloor()))); | |||||
| } | |||||
| List<Long> shopIds = wxShopMapper.findIdList(shopQ); | |||||
| if (null == shopIds || shopIds.size() <= 0 ){ | |||||
| retMerchantIdList.add(-999L); | |||||
| return retMerchantIdList; | |||||
| } | |||||
| WxMerchantShop wxMerchantShopQ = new WxMerchantShop(); | |||||
| wxMerchantShopQ.updateTenantInfo(wxCouponOrder); | |||||
| wxMerchantShopQ.setShopIdList(shopIds); | |||||
| wxMerchantShopQ.setIsDel(0); | |||||
| List<Long> buildMerchantIdList = wxMerchantShopMapper.findMerchantIdList(wxMerchantShopQ); | |||||
| if (null == buildMerchantIdList || buildMerchantIdList.size() <= 0 ){ | |||||
| retMerchantIdList.add(-999L); | |||||
| return retMerchantIdList; | |||||
| } | |||||
| retMerchantIdList.retainAll(buildMerchantIdList); | |||||
| isConditiondQquery = true; | |||||
| } | |||||
| if (isConditiondQquery) { | |||||
| if (retMerchantIdList.size() <= 0 ) { | |||||
| retMerchantIdList.add(-999L); | |||||
| return retMerchantIdList; | |||||
| }else { | |||||
| return retMerchantIdList; | |||||
| } | |||||
| }else { | |||||
| return null; | |||||
| } | |||||
| } | |||||
| private void handleWxCouponOrderBVoQueryParam(WxCouponOrderBVo wxCouponOrder) { | |||||
| //优化时间段查询 | |||||
| if(null == wxCouponOrder.getStartDate()) { | |||||
| wxCouponOrder.setStartDate(DateUtils.getFirstDayForCurrMonth()); | |||||
| } | |||||
| wxCouponOrder.setStartDateTimes(wxCouponOrder.getStartDate().getTime()); | |||||
| wxCouponOrder.setStartDate(null); | |||||
| if(null == wxCouponOrder.getEndDate()) { | |||||
| wxCouponOrder.setEndDate(DateUtils.getLastDayForMonth(new Date())); | |||||
| } | |||||
| wxCouponOrder.setEndDateTimes(wxCouponOrder.getEndDate().getTime()); | |||||
| wxCouponOrder.setEndDate(null); | |||||
| String cuserPhone = StringUtils.trimToNull(wxCouponOrder.getcuserPhone()); | |||||
| if (null != cuserPhone) { | |||||
| WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(wxCouponOrder, cuserPhone); | |||||
| if (null != basicInfo) { | |||||
| wxCouponOrder.setCUserId(basicInfo.getId()); | |||||
| }else { | |||||
| wxCouponOrder.setCUserId(-999L); | |||||
| return; | |||||
| } | |||||
| } | |||||
| List<Long> merchantIdListQueryParam = getMerchantIdsQueryParam(wxCouponOrder); | |||||
| List<Long> merchantProductIds = null; | |||||
| if (null != merchantIdListQueryParam) { | |||||
| //查询商户券 | |||||
| merchantProductIds = wxCouponMerchantMapper.findMerchantProductIds(wxCouponOrder.getTenantId(), merchantIdListQueryParam); | |||||
| if (null == merchantProductIds || merchantProductIds.size() <= 0) { | |||||
| List<Long> tempCouponIds = new ArrayList<Long>(); | |||||
| tempCouponIds.add(-999L); | |||||
| wxCouponOrder.setCouponIds(tempCouponIds); | |||||
| return; | |||||
| } | |||||
| } | |||||
| List<Long> couponIds = null; | |||||
| String title = StringUtils.trimToNull(wxCouponOrder.getTitle()); | |||||
| if (null != title || null != wxCouponOrder.getType() || null != wxCouponOrder.getBusiness() || null != wxCouponOrder.getSourceType()) { | |||||
| WxCoupon wxCouponQuery = new WxCoupon(); | |||||
| wxCouponQuery.updateTenantInfo(wxCouponOrder); | |||||
| wxCouponQuery.setTitle(title); | |||||
| wxCouponQuery.setType(wxCouponOrder.getType()); | |||||
| wxCouponQuery.setBusiness(wxCouponOrder.getBusiness()); | |||||
| wxCouponQuery.setSourceType(wxCouponOrder.getSourceType()); | |||||
| couponIds = wxCouponMapper.findIdList(wxCouponQuery); | |||||
| if (null == couponIds || couponIds.size() <= 0) { | |||||
| List<Long> tempCouponIds = new ArrayList<Long>(); | |||||
| tempCouponIds.add(-999L); | |||||
| wxCouponOrder.setCouponIds(tempCouponIds); | |||||
| return; | |||||
| } | |||||
| } | |||||
| //merchantProducts 和 couponIds 取交集 | |||||
| if (null != merchantProductIds) { | |||||
| if (null != couponIds) { | |||||
| //取交集 | |||||
| merchantProductIds.retainAll(couponIds); | |||||
| } | |||||
| wxCouponOrder.setCouponIds(merchantProductIds); | |||||
| }else { | |||||
| if (null != couponIds) { | |||||
| wxCouponOrder.setCouponIds(couponIds); | |||||
| } | |||||
| } | |||||
| //核销商户 | |||||
| String verifyMerchantName = StringUtils.trimToNull(wxCouponOrder.getVerifyMerchantName()); | |||||
| if (null != verifyMerchantName) { | |||||
| WxMerchant merchantQ2 = new WxMerchant(); | |||||
| merchantQ2.updateTenantInfo(wxCouponOrder); | |||||
| merchantQ2.setName(verifyMerchantName); | |||||
| List<Long> merchantIds = wxMerchantMapper.findIdList(merchantQ2); | |||||
| if (null == merchantIds || merchantIds.size() <= 0 ){ | |||||
| List<Long> tempBUserIds = new ArrayList<Long>(); | |||||
| tempBUserIds.add(-999L); | |||||
| wxCouponOrder.setBUserIdList(tempBUserIds); | |||||
| return; | |||||
| } | |||||
| WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); | |||||
| merchantBUserQ.setMerchantIds(merchantIds); | |||||
| List<Long> bUserIdList = wxMerchantBUserMapper.findIdList(merchantBUserQ); | |||||
| if (null == bUserIdList || bUserIdList.size() <= 0 ){ | |||||
| List<Long> tempBUserIds = new ArrayList<Long>(); | |||||
| tempBUserIds.add(-999L); | |||||
| wxCouponOrder.setBUserIdList(tempBUserIds); | |||||
| return; | |||||
| } | |||||
| wxCouponOrder.setBUserIdList(bUserIdList); | |||||
| } | |||||
| } | |||||
| private void handleQueryResult(List<WxCouponOrderBVo> list,TenantEntity tenantEntity) { | |||||
| if (null != list ) { | |||||
| long times1 = System.currentTimeMillis(); | |||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.updateTenantInfo(tenantEntity); | |||||
| List<WxMerchant> merchantList = wxMerchantMapper.findIdNameList(merchantQ); | |||||
| Map<Long,String> merchantNameMap = new HashMap<Long,String>(); | |||||
| if (null != merchantList) { | |||||
| for (int i = 0 ; i < merchantList.size() ; i ++) { | |||||
| WxMerchant m = merchantList.get(i); | |||||
| merchantNameMap.put(m.getId(), m.getName()); | |||||
| } | |||||
| } | |||||
| long times2 = System.currentTimeMillis(); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>>>> query merchant :"+(times2-times1)); | |||||
| WxCoupon couponQ = new WxCoupon(); | |||||
| couponQ.updateTenantInfo(tenantEntity); | |||||
| List<WxCoupon> couponList = wxCouponMapper.findTenantSimpleList(couponQ); | |||||
| Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>(); | |||||
| if (null != couponList) { | |||||
| for (int i = 0 ; i < couponList.size() ; i ++) { | |||||
| WxCoupon c = couponList.get(i); | |||||
| couponMap.put(c.getId(), c); | |||||
| } | |||||
| } | |||||
| long times3 = System.currentTimeMillis(); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>>>> query coupon :"+(times3-times2)); | |||||
| List<WxMerchantProductVo> merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), null); | |||||
| Map<Long,Long> merchantProductIdMap = new HashMap<Long,Long>(); | |||||
| if (null != merchantProductVos) { | |||||
| for (int i = 0 ; i < merchantProductVos.size(); i ++) { | |||||
| WxMerchantProductVo mp = merchantProductVos.get(i); | |||||
| if (mp.getMc() > 1) { | |||||
| merchantProductIdMap.put(mp.getProductId(), -999L); | |||||
| }else { | |||||
| merchantProductIdMap.put(mp.getProductId(), mp.getMerchantId()); | |||||
| } | |||||
| } | |||||
| } | |||||
| long times4 = System.currentTimeMillis(); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>>>> query merchantProductVos :"+(times4-times3)); | |||||
| //循环list,获取 cUserId | |||||
| List<Long> cUserIdList = new ArrayList<Long>(); | |||||
| List<Long> bUserIdList = new ArrayList<Long>(); | |||||
| for (int i = 0 ; i < list.size() ; i ++ ) { | |||||
| WxCouponOrderBVo bo = list.get(i); | |||||
| Long cusrid = bo.getcUserId(); | |||||
| if (null != cusrid && (!cUserIdList.contains(cusrid))) { | |||||
| cUserIdList.add(cusrid); | |||||
| } | |||||
| Long busrid = bo.getBUserId(); | |||||
| if (null != busrid && (!bUserIdList.contains(busrid))) { | |||||
| bUserIdList.add(busrid); | |||||
| } | |||||
| } | |||||
| Map<Long,WxCUserBasicInfo> cUserMap = new HashMap<Long,WxCUserBasicInfo>(); | |||||
| if (cUserIdList.size() > 0) { | |||||
| WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo(); | |||||
| cUserBasicInfoQ.setIds(cUserIdList); | |||||
| cUserBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId());; | |||||
| List<WxCUserBasicInfo> cuserList = wxCUserBasicInfoService.listPhoneAndNameByIds(cUserBasicInfoQ); | |||||
| if (null != cuserList) { | |||||
| for (int i = 0 ; i < cuserList.size() ; i++) { | |||||
| WxCUserBasicInfo cbi = cuserList.get(i); | |||||
| cUserMap.put(cbi.getId(), cbi); | |||||
| } | |||||
| } | |||||
| } | |||||
| long times5 = System.currentTimeMillis(); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>>>> query cUserBasicInfo :"+(times5-times4)); | |||||
| Map<Long,Long> buserMerchantIdMap = new HashMap<Long,Long>(); | |||||
| if (bUserIdList.size() > 0 ) { | |||||
| WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); | |||||
| merchantBUserQ.setIds(bUserIdList); | |||||
| merchantBUserQ.updateTenantInfo(tenantEntity); | |||||
| List<WxMerchantBUser> busrlist = wxMerchantBUserMapper.findMerchantIdListByIds(merchantBUserQ); | |||||
| if (null != busrlist ) { | |||||
| for (int i = 0 ; i < busrlist.size() ; i ++) { | |||||
| WxMerchantBUser buser = busrlist.get(i); | |||||
| buserMerchantIdMap.put(buser.getId(), buser.getMerchantId()); | |||||
| } | |||||
| } | |||||
| } | |||||
| long times6 = System.currentTimeMillis(); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>>>> query buserMerchantId :"+(times6-times5)); | |||||
| for (int i = 0 ; i < list.size() ; i ++) { | |||||
| WxCouponOrderBVo co = list.get(i); | |||||
| if (co.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { | |||||
| co.setUpdateDate(null); | |||||
| } | |||||
| if (null != co.getSendMerchantId()) { | |||||
| co.setSendMerchantName(merchantNameMap.get(co.getSendMerchantId())); | |||||
| } | |||||
| WxCoupon coupon = couponMap.get(co.getCouponId()); | |||||
| if (null != coupon) { | |||||
| co.setTitle(coupon.getTitle()); | |||||
| co.setSalePrice(coupon.getSalePrice()); | |||||
| co.setUsePrice(coupon.getUsePrice()); | |||||
| co.setPrice(coupon.getPrice()); | |||||
| co.setAutoRefund(coupon.getAutoRefund()); | |||||
| co.setBusiness(coupon.getBusiness()); | |||||
| co.setSubsidyType(coupon.getSubsidyType()); | |||||
| co.setSourceType(coupon.getSourceType()); | |||||
| } | |||||
| co.setSubsidyNum(co.getSubsidy()); | |||||
| // WxMerchantSubsidy merchantSubsidyQ = new WxMerchantSubsidy(); | |||||
| // merchantSubsidyQ.setCouponOrderId(co.getId()); | |||||
| // merchantSubsidyQ.setCouponType(co.getCouponType()); | |||||
| // merchantSubsidyQ.setType(EnumMerchantSubsidyType.MANUAL.getCode()); | |||||
| // merchantSubsidyQ.updateTenantInfo(co); | |||||
| // List<WxMerchantSubsidy> msList = wxMerchantSubsidyMapper.selectList(new QueryWrapper<WxMerchantSubsidy>(merchantSubsidyQ)); | |||||
| // if (msList.size() > 0) { | |||||
| // co.setSubsidyNum(msList.get(0).getSubsidy()); | |||||
| // } | |||||
| Long merchanId = merchantProductIdMap.get(co.getCouponId()); | |||||
| if (null != merchanId) { | |||||
| if (merchanId == -999L) { | |||||
| co.setMerchantName("多商户通用"); | |||||
| co.setMerchantId(0L); | |||||
| }else { | |||||
| co.setMerchantName(merchantNameMap.get(merchanId)); | |||||
| co.setMerchantId(merchanId); | |||||
| } | |||||
| } | |||||
| // WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(co.getCUserId(), co.getFinalTenantId()); | |||||
| WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId()); | |||||
| if (null != basicInfo) { | |||||
| co.setcuserPhone(basicInfo.getPhone()); | |||||
| co.setUserNickName(basicInfo.getNickName()); | |||||
| } | |||||
| //WxMerchantBUser buser = wxMerchantBUserService.getById(co.getBUserId()); | |||||
| Long buserMechantId = buserMerchantIdMap.get(co.getBUserId()); | |||||
| if (null != buserMechantId) { | |||||
| co.setVerifyMerchantName(merchantNameMap.get(buserMechantId)); | |||||
| } | |||||
| //co.setChannelType();) | |||||
| // if (!c.getMerchantId().equals(0L)) { | |||||
| // List<WxMerchantVo> merchantVoList = c.getMerchantVoList(); | |||||
| // if (!CollectionUtils.isEmpty(merchantVoList)) { | |||||
| // StringBuilder shopNumber = new StringBuilder(); | |||||
| // StringBuilder building = new StringBuilder(); | |||||
| // WxMerchantVo wxMerchantVo = merchantVoList.get(0); | |||||
| // List<WxShopVo> shopVoList = wxMerchantVo.getShopVoList(); | |||||
| // for (WxShopVo wxShopVo : shopVoList) { | |||||
| // shopNumber.append(wxShopVo.getShopNumber()).append(";"); | |||||
| // building.append(wxShopVo.getBuildingName()).append(wxShopVo.getFloorName()).append(";"); | |||||
| // } | |||||
| // c.setShopNumber(shopNumber.toString()); | |||||
| // c.setBuildingStr(building.toString()); | |||||
| // } | |||||
| // } | |||||
| } | |||||
| long times7 = System.currentTimeMillis(); | |||||
| logger.info(">>>>>>>>>>>>>>>>>>>>>> handle list :["+list.size()+"]"+(times7-times6)); | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| public void exportData(WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { | public void exportData(WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { | ||||
| String filename = "券订单"; | String filename = "券订单"; | ||||
| if(EnumCouponType.COUPON_DISTRIBUTION.getCode().equals(wxCouponOrder.getCouponType())){ | if(EnumCouponType.COUPON_DISTRIBUTION.getCode().equals(wxCouponOrder.getCouponType())){ | ||||
| filename = "商品订单"; | filename = "商品订单"; | ||||
| } | } | ||||
| handleWxCouponOrderBVoQueryParam(wxCouponOrder); | |||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.updateTenantInfo(wxCouponOrder); | |||||
| List<WxMerchant> merchantList = wxMerchantMapper.findIdNameList(merchantQ); | |||||
| Map<Long,String> merchantNameMap = new HashMap<Long,String>(); | |||||
| if (null != merchantList) { | |||||
| merchantList.parallelStream().forEach(m -> { | |||||
| merchantNameMap.put(m.getId(), m.getName()); | |||||
| }); | |||||
| } | |||||
| List<WxCouponOrderBVo> list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); | List<WxCouponOrderBVo> list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); | ||||
| handleQueryResult(list,wxCouponOrder); | |||||
| list.parallelStream().forEach(c -> { | |||||
| if (c.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { | |||||
| c.setUpdateDate(null); | |||||
| } | |||||
| if (null != c.getSendMerchantId()) { | |||||
| c.setSendMerchantName(merchantNameMap.get(c.getSendMerchantId())); | |||||
| } | |||||
| // if (!c.getMerchantId().equals(0L)) { | |||||
| // List<WxMerchantVo> merchantVoList = c.getMerchantVoList(); | |||||
| // if (!CollectionUtils.isEmpty(merchantVoList)) { | |||||
| // StringBuilder shopNumber = new StringBuilder(); | |||||
| // StringBuilder building = new StringBuilder(); | |||||
| // WxMerchantVo wxMerchantVo = merchantVoList.get(0); | |||||
| // List<WxShopVo> shopVoList = wxMerchantVo.getShopVoList(); | |||||
| // for (WxShopVo wxShopVo : shopVoList) { | |||||
| // shopNumber.append(wxShopVo.getShopNumber()).append(";"); | |||||
| // building.append(wxShopVo.getBuildingName()).append(wxShopVo.getFloorName()).append(";"); | |||||
| // } | |||||
| // c.setShopNumber(shopNumber.toString()); | |||||
| // c.setBuildingStr(building.toString()); | |||||
| // } | |||||
| // } | |||||
| }); | |||||
| excelService.exportCsv(list, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false); | excelService.exportCsv(list, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false); | ||||
| } | } | ||||
| @@ -1345,15 +1024,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| try { | try { | ||||
| wxMerchantSubsidyMapper.insert(merchantSubsidy); | wxMerchantSubsidyMapper.insert(merchantSubsidy); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("数据库插入错误:" + e.getMessage(),e); | |||||
| throw new MallinkException(ErrorCode.DB_FAIL); | |||||
| } | |||||
| try { | |||||
| couponOrder.setSubsidy(subsidyNum); | |||||
| wxCouponOrderMapper.updateVerifyCouponOrderSubsidy(couponOrder); | |||||
| } catch (Exception e) { | |||||
| logger.error("数据库插入错误:" + e.getMessage(),e); | |||||
| logger.error("数据库插入错误:" + e.getMessage()); | |||||
| throw new MallinkException(ErrorCode.DB_FAIL); | throw new MallinkException(ErrorCode.DB_FAIL); | ||||
| } | } | ||||
| } | } | ||||
| @@ -70,7 +70,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { | |||||
| @Autowired | @Autowired | ||||
| WxTemplateMsgService wxTemplateMsgService; | WxTemplateMsgService wxTemplateMsgService; | ||||
| @Autowired | @Autowired | ||||
| WxMsgService wxMsgService; | |||||
| private WxMsgService wxMsgService; | |||||
| @Override | @Override | ||||
| public PageInfo<WxCouponSendVo> listAsPage(WxCouponSend record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxCouponSendVo> listAsPage(WxCouponSend record, Integer pageIndex, Integer pageSize) { | ||||
| @@ -25,7 +25,6 @@ import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Lazy; | |||||
| import org.springframework.scheduling.annotation.Async; | import org.springframework.scheduling.annotation.Async; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| @@ -41,55 +40,42 @@ import java.util.stream.Collectors; | |||||
| public class WxMsgServiceImpl implements WxMsgService { | public class WxMsgServiceImpl implements WxMsgService { | ||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | private final Logger logger = LoggerFactory.getLogger(this.getClass()); | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxMsgMapper wxMsgMapper; | WxMsgMapper wxMsgMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxCUserMapper wxCUserMapper; | WxCUserMapper wxCUserMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxMsgConfigMapper wxMsgConfigMapper; | WxMsgConfigMapper wxMsgConfigMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxCUserTagsService wxCUserTagsService; | WxCUserTagsService wxCUserTagsService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxCUserBasicInfoMapper wxCUserBasicInfoMapper; | WxCUserBasicInfoMapper wxCUserBasicInfoMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxMsgCallbackMapper wxMsgCallbackMapper; | WxMsgCallbackMapper wxMsgCallbackMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxMsgModelMapper wxMsgModelMapper; | WxMsgModelMapper wxMsgModelMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxTemplateMsgMapper wxTemplateMsgMapper; | WxTemplateMsgMapper wxTemplateMsgMapper; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| MqBaseProducer mqBaseProducer; | MqBaseProducer mqBaseProducer; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxCUserBasicInfoService wxCUserBasicInfoService; | WxCUserBasicInfoService wxCUserBasicInfoService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| PushLimitService pushLimitService; | PushLimitService pushLimitService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxAppinfoService wxAppinfoService; | WxAppinfoService wxAppinfoService; | ||||
| @Lazy | |||||
| @Autowired | @Autowired | ||||
| WxCUserService wxCUserService; | WxCUserService wxCUserService; | ||||
| @@ -1087,7 +1087,6 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); | couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); | ||||
| } | } | ||||
| couponOrder.setCreateDate(curr); | couponOrder.setCreateDate(curr); | ||||
| couponOrder.setCreateDateTimes(curr.getTime()); | |||||
| couponOrder.setUpdateDate(curr); | couponOrder.setUpdateDate(curr); | ||||
| couponOrder.setCouponPrice(order.getPayment()); | couponOrder.setCouponPrice(order.getPayment()); | ||||
| wxCouponOrderMapper.insert(couponOrder); | wxCouponOrderMapper.insert(couponOrder); | ||||
| @@ -1194,7 +1193,6 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); | couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); | ||||
| } | } | ||||
| couponOrder.setCreateDate(curr); | couponOrder.setCreateDate(curr); | ||||
| couponOrder.setCreateDateTimes(curr.getTime()); | |||||
| couponOrder.setUpdateDate(curr); | couponOrder.setUpdateDate(curr); | ||||
| couponOrder.setCouponPrice(order.getPayment()); | couponOrder.setCouponPrice(order.getPayment()); | ||||
| couponOrder.setComposeOrderType(order.getComposeOrderType()); | couponOrder.setComposeOrderType(order.getComposeOrderType()); | ||||
| @@ -155,18 +155,6 @@ | |||||
| and r.level =#{level} | and r.level =#{level} | ||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| <select id="findListPhoneAndNameByIds" parameterType="com.iformall.domain.po.WxCUserBasicInfo" resultMap="BaseResultMap"> | |||||
| select id, phone, nick_name | |||||
| from wx_c_user_basic_info wcubi | |||||
| where wcubi.`final_tenant_id` = #{finalTenantId} | |||||
| <if test=" null != ids "> | |||||
| and wcubi.id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| </select> | |||||
| <sql id="dynamicWhereConditions1"> | <sql id="dynamicWhereConditions1"> | ||||
| where 1 = 1 | where 1 = 1 | ||||
| @@ -323,17 +323,6 @@ | |||||
| from wx_coupon c | from wx_coupon c | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findTenantSimpleList" parameterType="com.iformall.domain.po.WxCoupon" resultMap="BaseResultMap"> | |||||
| select id,title,sale_price,use_price,price,auto_refund,business,subsidy_type,source_type | |||||
| from wx_coupon c where c.`tenant_id` = #{tenantId} | |||||
| </select> | |||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxCoupon" resultType="Long"> | |||||
| select id | |||||
| from wx_coupon c | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <update id="updateStockAndValidDate" parameterType="com.iformall.domain.po.WxCoupon"> | <update id="updateStockAndValidDate" parameterType="com.iformall.domain.po.WxCoupon"> | ||||
| update wx_coupon | update wx_coupon | ||||
| @@ -133,43 +133,6 @@ | |||||
| where cm.status = 0 | where cm.status = 0 | ||||
| and cm.product_id = #{productId} and cm.tenant_id = #{tenantId} | and cm.product_id = #{productId} and cm.tenant_id = #{tenantId} | ||||
| </select> | </select> | ||||
| <resultMap id="MerchantProductVoResultMap" type="com.iformall.domain.vo.WxMerchantProductVo"> | |||||
| <result column="product_id" jdbcType="BIGINT" property="productId"/> | |||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | |||||
| <result column="mc" jdbcType="INTEGER" property="mc"/> | |||||
| </resultMap> | |||||
| <select id = "findMerchantProduct" parameterType="java.util.Map" resultMap="MerchantProductVoResultMap"> | |||||
| SELECT wcm.product_id,wcm.merchant_id,COUNT(1) AS mc | |||||
| FROM wx_coupon_merchant wcm | |||||
| WHERE wcm.STATUS = 0 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and wcm.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != merchantIdList"> | |||||
| and wcm.merchant_id in | |||||
| <foreach collection="merchantIdList" index="index" item="merchantIdItem" open="(" separator="," close=")"> | |||||
| #{merchantIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| GROUP BY product_id | |||||
| </select> | |||||
| <select id = "findMerchantProductIds" parameterType="java.util.Map" resultType="Long"> | |||||
| SELECT distinct wcm.product_id | |||||
| FROM wx_coupon_merchant wcm | |||||
| WHERE wcm.STATUS = 0 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and wcm.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != merchantIdList"> | |||||
| and wcm.merchant_id in | |||||
| <foreach collection="merchantIdList" index="index" item="merchantIdItem" open="(" separator="," close=")"> | |||||
| #{merchantIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||
| @@ -15,7 +15,6 @@ | |||||
| <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" /> | <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" /> | ||||
| <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" /> | <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" /> | ||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | ||||
| <result column="create_date_times" jdbcType="BIGINT" property="createDateTimes" /> | |||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> | <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> | ||||
| <result column="coupon_price" jdbcType="INTEGER" property="couponPrice" /> | <result column="coupon_price" jdbcType="INTEGER" property="couponPrice" /> | ||||
| <result column="auto_refund" jdbcType="INTEGER" property="autoRefund" /> | <result column="auto_refund" jdbcType="INTEGER" property="autoRefund" /> | ||||
| @@ -28,7 +27,6 @@ | |||||
| <result column="compose_order_id" jdbcType="BIGINT" property="composeOrderId" /> | <result column="compose_order_id" jdbcType="BIGINT" property="composeOrderId" /> | ||||
| <result column="parent_coupon_order_id" jdbcType="BIGINT" property="parentCouponOrderId" /> | <result column="parent_coupon_order_id" jdbcType="BIGINT" property="parentCouponOrderId" /> | ||||
| <result column="coupon_number" jdbcType="BIGINT" property="couponNumber" /> | <result column="coupon_number" jdbcType="BIGINT" property="couponNumber" /> | ||||
| <result column="subsidy" jdbcType="INTEGER" property="subsidy" /> | |||||
| <result column="freight_price" jdbcType="INTEGER" property="freightPrice"/> | <result column="freight_price" jdbcType="INTEGER" property="freightPrice"/> | ||||
| <result column="shipping_type" jdbcType="INTEGER" property="shippingType"/> | <result column="shipping_type" jdbcType="INTEGER" property="shippingType"/> | ||||
| @@ -40,7 +38,7 @@ | |||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_type`,`c_user_id`,`owner_id`,`b_user_id`,`order_id`,`expired_time`,`coupon_order_status`,`create_date`,`update_date`,`coupon_price`, `auto_refund`, | `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_type`,`c_user_id`,`owner_id`,`b_user_id`,`order_id`,`expired_time`,`coupon_order_status`,`create_date`,`update_date`,`coupon_price`, `auto_refund`, | ||||
| `verify_type`,`verify_remark`,`pay_vendor`,`send_merchant_id`,`send_merchant_user_id`,`compose_order_type`,`compose_order_id`,`parent_coupon_order_id`,`coupon_number`, | `verify_type`,`verify_remark`,`pay_vendor`,`send_merchant_id`,`send_merchant_user_id`,`compose_order_type`,`compose_order_id`,`parent_coupon_order_id`,`coupon_number`, | ||||
| `freight_price`,`shipping_type`,`shipping_address`,`shipping_status`,`delivery_info`,`subsidy` | |||||
| `freight_price`,`shipping_type`,`shipping_address`,`shipping_status`,`delivery_info` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -243,12 +241,6 @@ | |||||
| and `parent_tenant_id` = #{parentTenantId} | and `parent_tenant_id` = #{parentTenantId} | ||||
| </if> | </if> | ||||
| </update> | </update> | ||||
| <update id="updateVerifyCouponOrderSubsidy" parameterType="com.iformall.domain.po.WxCouponOrder"> | |||||
| update wx_coupon_order | |||||
| set `subsidy` = #{subsidy} | |||||
| where id=#{id} | |||||
| </update> | |||||
| <select id="couponDataMap" resultType="com.iformall.domain.vo.MarkingCouponDataReportVo" parameterType="hashmap"> | <select id="couponDataMap" resultType="com.iformall.domain.vo.MarkingCouponDataReportVo" parameterType="hashmap"> | ||||
| SELECT DATE_FORMAT(create_date,'%m/%d') as createTime, | SELECT DATE_FORMAT(create_date,'%m/%d') as createTime, | ||||
| @@ -438,7 +430,7 @@ | |||||
| </select> | </select> | ||||
| <select id="findCount" parameterType="com.iformall.domain.po.WxCouponOrder" resultType="java.lang.Integer"> | <select id="findCount" parameterType="com.iformall.domain.po.WxCouponOrder" resultType="java.lang.Integer"> | ||||
| select COUNT(1) FROM wx_coupon_order co | |||||
| select COUNT(*) FROM wx_coupon_order co | |||||
| <if test=" null != businessId "> | <if test=" null != businessId "> | ||||
| inner join wx_coupon c | inner join wx_coupon c | ||||
| on c.id = co.coupon_id | on c.id = co.coupon_id | ||||
| @@ -849,12 +841,13 @@ | |||||
| <result column="pay_vendor" jdbcType="INTEGER" property="payVendor" /> | <result column="pay_vendor" jdbcType="INTEGER" property="payVendor" /> | ||||
| <result column="verify_type" jdbcType="INTEGER" property="verifyType" /> | <result column="verify_type" jdbcType="INTEGER" property="verifyType" /> | ||||
| <result column="verify_remark" jdbcType="VARCHAR" property="verifyRemark" /> | <result column="verify_remark" jdbcType="VARCHAR" property="verifyRemark" /> | ||||
| <result column="freight_price" jdbcType="INTEGER" property="freightPrice"/> | <result column="freight_price" jdbcType="INTEGER" property="freightPrice"/> | ||||
| <result column="shipping_type" jdbcType="INTEGER" property="shippingType"/> | <result column="shipping_type" jdbcType="INTEGER" property="shippingType"/> | ||||
| <result column="shipping_address" jdbcType="VARCHAR" property="shippingAddress"/> | <result column="shipping_address" jdbcType="VARCHAR" property="shippingAddress"/> | ||||
| <result column="shipping_status" jdbcType="INTEGER" property="shippingStatus"/> | <result column="shipping_status" jdbcType="INTEGER" property="shippingStatus"/> | ||||
| <result column="delivery_info" jdbcType="VARCHAR" property="deliveryInfo"/> | <result column="delivery_info" jdbcType="VARCHAR" property="deliveryInfo"/> | ||||
| <result column="subsidy" jdbcType="INTEGER" property="subsidy"/> | |||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | ||||
| <result column="type" jdbcType="INTEGER" property="type" /> | <result column="type" jdbcType="INTEGER" property="type" /> | ||||
| @@ -879,6 +872,34 @@ | |||||
| <result column="send_merchant_id" jdbcType="INTEGER" property="sendMerchantId" /> | <result column="send_merchant_id" jdbcType="INTEGER" property="sendMerchantId" /> | ||||
| </resultMap> | </resultMap> | ||||
| <sql id="allAdminCouponOrderListColumns"> | |||||
| <!-- | |||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price, | |||||
| c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type,ms.subsidy subsidy_num, | |||||
| (case when com.mc=1 then | |||||
| (select m.name from wx_merchant m, wx_coupon_merchant cm | |||||
| where m.id = cm.merchant_id and cm.product_id=co.coupon_id and cm.status = 0) else '[多商户通用]' end) as merchant_name, | |||||
| (case when com.mc = 1 then (select m.id from wx_merchant m, | |||||
| wx_coupon_merchant cm where m.id = cm.merchant_id and cm.product_id = co.coupon_id | |||||
| and cm.status = 0) else 0 end) as merchant_id, | |||||
| cu.phone,bu.verify_merchant_name,cal.channel_type | |||||
| (case when couc.mc = 1 then m1.name else '[多商户通用]' end) as merchant_name, | |||||
| (case when couc.mc = 1 then m1.id else 0 end) as merchant_id, | |||||
| cu.phone,m2.name as verify_merchant_name,cal.channel_type | |||||
| --> | |||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.order_id, | |||||
| co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor, | |||||
| co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, | |||||
| c.title,c.sale_price,c.use_price,c.price, | |||||
| co.send_merchant_id,c.unit,c.auto_refund,c.business,c.subsidy_type,c.source_type,ms.subsidy subsidy_num, | |||||
| (CASE WHEN couc.mc = 1 THEN m1.name ELSE '[多商户通用]' END) AS merchant_name, | |||||
| (CASE WHEN couc.mc = 1 THEN m1.id ELSE 0 END) AS merchant_id, | |||||
| cu.phone,cu.nick_name,m2.name AS verify_merchant_name,cal.channel_type | |||||
| </sql> | |||||
| <sql id="allAdminCouponOrderDetailColumns"> | <sql id="allAdminCouponOrderDetailColumns"> | ||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | ||||
| co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, | co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, | ||||
| @@ -890,13 +911,39 @@ | |||||
| </sql> | </sql> | ||||
| <select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | <select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | ||||
| select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.expired_time,co.coupon_order_status,co.order_id, | |||||
| co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor, | |||||
| co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,co.send_merchant_id,co.subsidy | |||||
| FROM wx_coupon_order co WHERE co.`tenant_id` = #{tenantId} | |||||
| select <include refid="allAdminCouponOrderListColumns" /> | |||||
| FROM ( | |||||
| SELECT wcm.product_id,wcm.merchant_id,COUNT(1) AS mc | |||||
| FROM wx_coupon_merchant wcm | |||||
| WHERE STATUS = 0 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and wcm.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and wcm.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| GROUP BY product_id) couc | |||||
| RIGHT JOIN ( | |||||
| SELECT co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.c_user_id,co.b_user_id,co.order_id,co.coupon_type, | |||||
| co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.auto_refund,co.verify_type,co.verify_remark,co.pay_vendor | |||||
| ,co.send_merchant_id,co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` | |||||
| FROM wx_coupon_order co WHERE 1=1 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and co.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | <if test=" null != parentTenantId and '' != parentTenantId"> | ||||
| and co.`parent_tenant_id` = #{parentTenantId} | and co.`parent_tenant_id` = #{parentTenantId} | ||||
| </if> | </if> | ||||
| ) co | |||||
| ON co.coupon_id = couc.product_id | |||||
| LEFT JOIN wx_c_user_basic_info cu ON cu.id=co.c_user_id | |||||
| LEFT JOIN wx_coupon c ON c.id = co.coupon_id | |||||
| LEFT JOIN wx_merchant m1 ON m1.id = couc.merchant_id | |||||
| LEFT JOIN wx_merchant_subsidy ms ON co.id = ms.coupon_order_id AND ms.type = 1 | |||||
| LEFT JOIN wx_merchant_b_user mbu ON mbu.id = co.b_user_id LEFT JOIN wx_merchant m2 ON m2.id = mbu.merchant_id | |||||
| LEFT JOIN wx_coupon_action_log cal ON cal.coupon_order_id = co.id AND cal.coupon_id = co.coupon_id | |||||
| where 1=1 | |||||
| <choose> | <choose> | ||||
| <when test=" null != couponType"> | <when test=" null != couponType"> | ||||
| and co.coupon_type = #{couponType} | and co.coupon_type = #{couponType} | ||||
| @@ -915,6 +962,10 @@ | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | <if test=" null != parentTenantId and '' != parentTenantId"> | ||||
| and co.`parent_tenant_id` = #{parentTenantId} | and co.`parent_tenant_id` = #{parentTenantId} | ||||
| </if> | </if> | ||||
| <if test=" null != cUserPhone and '' != cUserPhone"> | |||||
| and cu.`phone` = #{cUserPhone} | |||||
| </if> | |||||
| <if test=" null != couponOrderStatus "> | <if test=" null != couponOrderStatus "> | ||||
| and co.coupon_order_status = #{couponOrderStatus} | and co.coupon_order_status = #{couponOrderStatus} | ||||
| </if> | </if> | ||||
| @@ -926,21 +977,28 @@ | |||||
| <if test=" null != shippingStatus "> | <if test=" null != shippingStatus "> | ||||
| and co.`shipping_status` = #{shippingStatus} | and co.`shipping_status` = #{shippingStatus} | ||||
| </if> | </if> | ||||
| <if test=" null != merchantName and merchantName!=''"> | |||||
| and (case when couc.mc=1 | |||||
| then | |||||
| m1.name | |||||
| <!--(select m.name from wx_merchant m, wx_coupon_merchant cm | |||||
| where m.id = cm.merchant_id | |||||
| and cm.product_id=co.coupon_id | |||||
| and cm.status = 0)--> | |||||
| else'[多商户通用]' end) | |||||
| like concat('%', #{merchantName},'%') | |||||
| </if> | |||||
| <if test="startDate != null"> | <if test="startDate != null"> | ||||
| AND co.create_date > #{startDate,jdbcType=TIMESTAMP} | AND co.create_date > #{startDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| <if test="startDateTimes != null"> | |||||
| AND co.create_date_times > #{startDateTimes} | |||||
| </if> | |||||
| <if test="endDate != null"> | <if test="endDate != null"> | ||||
| AND co.create_date < #{endDate,jdbcType=TIMESTAMP} | AND co.create_date < #{endDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| <if test="endDateTimes != null"> | |||||
| AND co.create_date_times < #{endDateTimes} | |||||
| </if> | |||||
| <if test="verifyStartDate != null"> | <if test="verifyStartDate != null"> | ||||
| AND co.update_date > #{verifyStartDate,jdbcType=TIMESTAMP} | AND co.update_date > #{verifyStartDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| @@ -948,6 +1006,7 @@ | |||||
| <if test="verifyEndDate != null"> | <if test="verifyEndDate != null"> | ||||
| AND co.update_date < #{verifyEndDate,jdbcType=TIMESTAMP} | AND co.update_date < #{verifyEndDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| <if test=" null != id "> | <if test=" null != id "> | ||||
| and co.id = #{id} | and co.id = #{id} | ||||
| </if> | </if> | ||||
| @@ -955,30 +1014,46 @@ | |||||
| and co.order_id = #{orderId} | and co.order_id = #{orderId} | ||||
| </if> | </if> | ||||
| <if test=" null != couponId "> | <if test=" null != couponId "> | ||||
| and co.coupon_id = #{couponId} | |||||
| and c.id = #{couponId} | |||||
| </if> | </if> | ||||
| <if test=" null != cUserId and '' != cUserId"> | |||||
| and co.c_user_id = #{cUserId} | |||||
| <if test=" null != title "> | |||||
| and c.title like concat('%', #{title},'%') | |||||
| </if> | </if> | ||||
| <if test=" null != couponIds"> | |||||
| and co.coupon_id in | |||||
| <foreach collection="couponIds" index="index" item="couponIdItem" open="(" separator="," close=")"> | |||||
| #{couponIdItem} | |||||
| </foreach> | |||||
| <if test=" null != type "> | |||||
| and c.`type` = #{type} | |||||
| </if> | |||||
| <if test=" null != business "> | |||||
| and c.business = #{business} | |||||
| </if> | |||||
| <if test=" null != sourceType "> | |||||
| and c.`source_type` = #{sourceType} | |||||
| </if> | |||||
| <if test=" null != verifyMerchantName and ''!= verifyMerchantName "> | |||||
| and bu.verify_merchant_name = #{verifyMerchantName} | |||||
| </if> | </if> | ||||
| <if test=" null != bUserIdList"> | |||||
| and co.b_user_id in | |||||
| <foreach collection="bUserIdList" index="index" item="bUserIdItem" open="(" separator="," close=")"> | |||||
| #{bUserIdItem} | |||||
| </foreach> | |||||
| <if test="null!=building"> | |||||
| and co.coupon_id in( | |||||
| select cm.product_id from wx_merchant_shop ms left join wx_merchant m on ms.merchant_id=m.id | |||||
| left join wx_shop s on ms.shop_id=s.id | |||||
| left join wx_coupon_merchant cm on ms.merchant_id=cm.merchant_id | |||||
| where ms.is_del=0 and s.building=#{building} | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and ms.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and ms.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test="null!=floor"> | |||||
| and s.floor=#{floor} | |||||
| </if> | |||||
| ) | |||||
| </if> | </if> | ||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | <if test=" null != sortColumns"> order by ${sortColumns} </if> | ||||
| <if test=" null == sortColumns">order by co.create_date desc,co.id desc</if> | |||||
| <if test=" null == sortColumns">order by co.create_date desc,co.id desc</if> | |||||
| </select> | </select> | ||||
| <select id="findGoodsList" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | <select id="findGoodsList" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="AdminBVoResultMap"> | ||||
| select | select | ||||
| co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, | ||||
| @@ -78,12 +78,6 @@ | |||||
| #{idItem} | #{idItem} | ||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| <if test=" null != merchantIds "> | |||||
| and merchant_id in | |||||
| <foreach collection="merchantIds" index="index" item="merchantIdItem" open="(" separator="," close=")"> | |||||
| #{merchantIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns">order by ${sortColumns}</if> | <if test=" null != sortColumns">order by ${sortColumns}</if> | ||||
| </sql> | </sql> | ||||
| @@ -94,24 +88,6 @@ | |||||
| from wx_merchant_b_user | from wx_merchant_b_user | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="Long"> | |||||
| select id | |||||
| from wx_merchant_b_user | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <select id="findMerchantIdListByIds" parameterType="com.iformall.domain.po.WxMerchantBUser" resultMap="BaseResultMap"> | |||||
| select id, merchant_id | |||||
| from wx_merchant_b_user | |||||
| where `tenant_id` = #{tenantId} | |||||
| <if test=" null != ids "> | |||||
| and id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| </select> | |||||
| <select id="findSelMerchantList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="com.iformall.domain.vo.WxMerchantBuInfoVo"> | <select id="findSelMerchantList" parameterType="com.iformall.domain.po.WxMerchantBUser" resultType="com.iformall.domain.vo.WxMerchantBuInfoVo"> | ||||
| select | select | ||||
| @@ -207,12 +207,6 @@ | |||||
| from wx_merchant m | from wx_merchant m | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxMerchant" resultType="Long"> | |||||
| select id | |||||
| from wx_merchant m | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <select id="findFollowList" parameterType="com.iformall.domain.po.WxMerchant" resultMap="BaseResultMap"> | <select id="findFollowList" parameterType="com.iformall.domain.po.WxMerchant" resultMap="BaseResultMap"> | ||||
| select | select | ||||
| @@ -60,14 +60,7 @@ | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| #{idItem} | #{idItem} | ||||
| </foreach> | </foreach> | ||||
| </if> | |||||
| <if test=" null != shopIdList "> | |||||
| and shop_id in | |||||
| <foreach collection="shopIdList" index="index" item="shopIdItem" open="(" separator="," close=")"> | |||||
| #{shopIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| </if> | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | <if test=" null != sortColumns"> order by ${sortColumns} </if> | ||||
| </sql> | </sql> | ||||
| @@ -78,12 +71,6 @@ | |||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| </select> | </select> | ||||
| <select id="findMerchantIdList" parameterType="com.iformall.domain.po.WxMerchantShop" resultType="Long"> | |||||
| select distinct merchant_id | |||||
| from wx_merchant_shop | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| <select id="findShopIds" parameterType="Long" resultType="Long"> | <select id="findShopIds" parameterType="Long" resultType="Long"> | ||||
| select shop_id from wx_merchant_shop where `merchant_id` = #{merchantId} and is_del = 0 | select shop_id from wx_merchant_shop where `merchant_id` = #{merchantId} and is_del = 0 | ||||
| </select> | </select> | ||||
| @@ -145,12 +145,6 @@ | |||||
| from wx_shop | from wx_shop | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="findIdList" parameterType="com.iformall.domain.po.WxShop" resultType="Long"> | |||||
| select id | |||||
| from wx_shop | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| <select id="selectBatchByIds" resultMap="BaseResultMap"> | <select id="selectBatchByIds" resultMap="BaseResultMap"> | ||||
| select | select | ||||