puzhibing
2023-08-10 b58aa9e68a30029423c57886a0a30896d833cb44
合并代码
20个文件已修改
6个文件已添加
693 ■■■■■ 已修改文件
driver/guns-admin/guns-admin.iml 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/RedisUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/.idea/management.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/.idea/misc.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/.idea/modules.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/.idea/vcs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/dao/BranchOfficeMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/model/Driver.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/IBranchOfficeService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/IDriverService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/BranchOfficeServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/DriverRegisterWarpper.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user/guns-admin/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/guns-admin.iml
New file
@@ -0,0 +1,260 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="Spring" name="Spring">
      <configuration />
    </facet>
    <facet type="web" name="Web">
      <configuration>
        <webroots />
        <sourceRoots>
          <root url="file://$MODULE_DIR$/src/main/java" />
          <root url="file://$MODULE_DIR$/src/main/resources" />
          <root url="file://$MODULE_DIR$/src/main/webapp" />
        </sourceRoots>
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
    <output url="file://$MODULE_DIR$/target/classes" />
    <output-test url="file://$MODULE_DIR$/target/test-classes" />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/webapp" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.56" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-core:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-client:1.9.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.jettison:jettison:1.3.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: stax:stax-api:1.0.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-eventbus:0.3.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-infix:0.3.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-jxpath:commons-jxpath:1.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: joda-time:joda-time:2.9.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:antlr-runtime:3.4" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:stringtemplate:3.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: antlr:antlr:2.7.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-math:2.2" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.inject:guice:4.1.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: aopalliance:aopalliance:1.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.vlsi.compactmap:compactmap:1.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.andrewoma.dexx:dexx-collections:0.2" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-core:1.9.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.2.5" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.2.5" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec-http:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-common:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-buffer:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-unix-common:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport:4.1.23.Final" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-resolver:4.1.23.Final" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.2.5" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.2.5" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.2.5" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
    <orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-eureka:2.2.5" level="project" />
    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.10" level="project" />
    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.0.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.12" level="project" />
    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-serialization:1.5.12" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.9.5" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.12" level="project" />
    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.12" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
    <orderEntry type="library" name="Maven: io.reactivex:rxjava-reactive-streams:1.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
    <orderEntry type="module" module-name="guns-core" />
    <orderEntry type="library" name="Maven: com.baomidou:mybatisplus-spring-boot-starter:1.0.5" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:2.3" level="project" />
    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-support:2.3" level="project" />
    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:2.3" level="project" />
    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.1" level="project" />
    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.2" level="project" />
    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.4" level="project" />
    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.11" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.protobuf:protobuf-java:2.6.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:2.7.9" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.10" level="project" />
    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.47" level="project" />
    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
    <orderEntry type="module" module-name="guns-generator" />
    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generate:2.3" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.19" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.13" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.5" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.5" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.5" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.32" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.32" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.11.Final" level="project" />
    <orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.32" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.9.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.15.0" level="project" />
    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.7.11" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.7.11" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.8.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.5.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: org.owasp.encoder:encoder:1.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-ehcache:1.7.0" level="project" />
    <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache-core:2.6.11" level="project" />
    <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.3.1" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
    <orderEntry type="library" name="Maven: com.github.penggle:kaptcha:2.3.2" level="project" />
    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
    <orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235-1" level="project" />
    <orderEntry type="library" name="Maven: com.google.zxing:core:3.2.1" level="project" />
    <orderEntry type="library" name="Maven: com.ibeetl:beetl:2.8.5" level="project" />
    <orderEntry type="library" name="Maven: org.antlr:antlr4-runtime:4.2" level="project" />
    <orderEntry type="library" name="Maven: org.abego.treelayout:org.abego.treelayout.core:1.0.1" level="project" />
    <orderEntry type="library" name="Maven: org.antlr:antlr4-annotations:4.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.0" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.5" level="project" />
    <orderEntry type="library" name="Maven: redis.clients:jedis:2.9.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.5.0" level="project" />
    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
    <orderEntry type="library" name="Maven: com.alipay.sdk:alipay-sdk-java:4.8.10.ALL" level="project" />
    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.62" level="project" />
    <orderEntry type="library" name="Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.10.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.10.0" level="project" />
    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.4.3" level="project" />
    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.6" level="project" />
    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.10" level="project" />
    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.0" level="project" />
    <orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.3" level="project" />
    <orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.gavaghan:geodesy:1.1.3" level="project" />
    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.20" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-mongodb:2.0.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver:3.6.4" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:bson:3.6.4" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver-core:3.6.4" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-mongodb:2.0.6.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.0.5.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.0.6.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: com.github.wechatpay-apiv3:wechatpay-java:0.2.7" level="project" />
    <orderEntry type="library" name="Maven: com.github.wechatpay-apiv3:wechatpay-java-core:0.2.7" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okhttp3:okhttp:3.8.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okio:okio:1.13.0" level="project" />
    <orderEntry type="library" name="Maven: com.github.wechatpay-apiv3:wechatpay-java-shangmi:0.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.tencent.kona:kona-crypto:1.0.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.bouncycastle:bcprov-jdk18on:1.72" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.tencent.kona:kona-pkix:1.0.3" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: com.tencent.kona:kona-provider:1.0.3" level="project" />
    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.7.7" level="project" />
  </component>
</module>
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
@@ -927,6 +927,7 @@
            }
            ResultUtil resultUtil = ResultUtil.success();
            phone = phone.indexOf("+86") < 0 ? "+86" + phone : phone;
            phone = phone.indexOf("+") < 0 ? "+" + phone : phone;
            String value = redisUtil.getValue(phone);
            if(ToolUtil.isEmpty(value) || !value.equals(code)){
                resultUtil = ResultUtil.error("验证码无效");
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java
@@ -268,4 +268,9 @@
     */
    @TableField("carAge")
    private Integer carAge;
    /**
     * 司机推荐二维码
     */
    @TableField("referralCode")
    private String referralCode;
}
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IOrderService.java
@@ -38,7 +38,7 @@
     */
    ResultUtil driverAddOrder(Integer uid, AddOrderWarpper addOrderWarpper) throws Exception;
    Order getOrderPrice(Integer type, Double distance, Integer waitTime, Order order, String city);
    Order getOrderPrice(Integer type, Double distance, Integer waitTime, Order order, String city) throws Exception;
    /**
     * 获取大厅订单列表
     * @param uid
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -15,6 +15,7 @@
import com.supersavedriving.driver.modular.system.util.MallBook.model.*;
import com.supersavedriving.driver.modular.system.util.MallBook.util.TrhRequest;
import com.supersavedriving.driver.modular.system.util.*;
import com.supersavedriving.driver.modular.system.util.huawei.OBSUtil;
import com.supersavedriving.driver.modular.system.util.mongodb.model.Location;
import com.supersavedriving.driver.modular.system.util.rongyun.RongYunUtil;
import com.supersavedriving.driver.modular.system.util.weChat.WeChatUtil;
@@ -41,6 +42,7 @@
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
@@ -162,6 +164,10 @@
            }
            driver.setCreateTime(new Date());
            this.insert(driver);
            String s = wechatMiniProgramORCode(driver.getId());
            driver.setReferralCode(s);
            this.updateById(driver);
            //司机邀请注册奖励
            if(null != driver.getInviterId()){
@@ -190,6 +196,16 @@
    }
    //生成小程序二维码
    public String wechatMiniProgramORCode(Integer driverId) throws Exception{
        InputStream release = weChatUtil.getwxacodeunlimit("pages/index/index", "driverId=" + driverId, "release");
        String s = OBSUtil.putObjectToBucket(release, "driver_" + driverId + "_" + UUIDUtil.getNumberRandom(5) + ".jpg");
        return s;
    }
    /**
     * 组装个人信息
     * @param driver
@@ -198,6 +214,7 @@
     */
    public Driver setDriverParamete(Driver driver, DriverRegisterWarpper driverRegisterWarpper) throws Exception{
        driver.setAvatar(driverRegisterWarpper.getAvatar());
        driver.setName(driverRegisterWarpper.getName());
        driver.setPhone(driverRegisterWarpper.getPhone());
        driver.setEmergencyContact(driverRegisterWarpper.getEmergencyContact());
        driver.setEmergencyPhone(driverRegisterWarpper.getEmergencyPhone());
@@ -293,6 +310,11 @@
            }
        }
        if(ToolUtil.isEmpty(driver.getReferralCode())){
            String s = wechatMiniProgramORCode(driver.getId());
            driver.setReferralCode(s);
            this.updateById(driver);
        }
        return ResultUtil.success(tokenWarpper);
    }
@@ -561,13 +583,19 @@
    @Override
    public PromotionWarpper queryPromotionQRCode(Integer uid) throws Exception {
        PromotionWarpper promotionWarpper = new PromotionWarpper();
        promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid);
        Driver driver1 = this.selectById(uid);
        if(ToolUtil.isEmpty(driver1.getReferralCode())){
            String s = wechatMiniProgramORCode(driver1.getId());
            driver1.setReferralCode(s);
            this.updateById(driver1);
        }
//        promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid);
        promotionWarpper.setUrl(driver1.getReferralCode());
        int user = appUserService.selectCount(new EntityWrapper<AppUser>().eq("inviterType", 2).eq("inviterId", uid).eq("status", 1));
        int driver = this.selectCount(new EntityWrapper<Driver>().eq("inviterType", 2).eq("inviterId", uid).eq("approvalStatus", 2).eq("status", 1));
        promotionWarpper.setTotal(user + driver);
        promotionWarpper.setUser(user);
        promotionWarpper.setDriver(driver);
        Driver driver1 = this.selectById(uid);
        promotionWarpper.setAvatar(driver1.getAvatar());
        promotionWarpper.setName(driver1.getName());
        return promotionWarpper;
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
@@ -48,7 +48,11 @@
    @Override
    public void saveOrderPosition(DriverPositionWarpper driverPositionWarpper) throws Exception {
        Integer orderId = driverPositionWarpper.getOrderId();
        Integer driverId = driverPositionWarpper.getDriverId();
        Order order = orderService.selectById(orderId);
        if(null == order.getDriverId() || order.getDriverId().compareTo(driverId) != 0){
            return;
        }
        if(order.getState() != 105 && order.getState() != 401){
            return;
        }
@@ -136,7 +140,7 @@
            }
        }
        if(50 >= wgs84 && 3 <= (null == num ? 0 : num)){//20秒(5秒上传一次数据)
        if(50 >= wgs84 && 6 <= (null == num ? 0 : num)){//30秒(5秒上传一次数据)
            Integer integer = map.get(order.getId().toString());
            map.put(order.getId().toString(), null == integer ? 0 : integer + 1);
            //进入等待状态
@@ -152,7 +156,7 @@
                e.printStackTrace();
            }
        }
        if(50 >= wgs84 && 3 > (null == num ? 0 : num)){
        if(50 >= wgs84 && 6 > (null == num ? 0 : num)){
            Integer integer = map.get(order.getId().toString());
            map.put(order.getId().toString(), null == integer ? 0 : integer + 1);
        }
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
@@ -363,6 +363,9 @@
            BigDecimal multiply = new BigDecimal(w).divide(new BigDecimal(60), 0, RoundingMode.UP).multiply(new BigDecimal(num4));
            order.setOutWaitTime(w);//等待时长超出分钟
            order.setOutWaitTimePrice(multiply.doubleValue());//等待时长超出费用
        }else{
            order.setWaitTime(waitTime);//等待时长
            order.setWaitTimePrice(num2);//等待费用
        }
        //恶劣天气
@@ -461,12 +464,12 @@
             *        合适司:积分 > 评分 > 距离
             *      3.司机没有接单直接将订单置入大厅
             */
            boolean lock = redisUtil.lock(5);
            boolean lock = redisUtil.lock(orderId.toString(), 5);
            if(!lock){
                int num1 = 1;
                while (num1 <= 10){
                    Thread.sleep(3000);//等待3秒
                    lock = redisUtil.lock(5);
                    lock = redisUtil.lock(orderId.toString(),5);
                    if(lock){
                        break;
                    }else{
@@ -478,11 +481,12 @@
                order.setHallOrder(1);
                this.updateById(order);
                ExtraPushOrder(order);
                redisUtil.unlock();
                redisUtil.unlock(orderId.toString());
                return;
            }
            SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 1));
            if(null == systemConfig){
                redisUtil.unlock();
                redisUtil.unlock(orderId.toString());
                return;
            }
            JSONObject jsonObject = JSON.parseObject(systemConfig.getContent());
@@ -645,10 +649,10 @@
                this.updateById(order);
                ExtraPushOrder(order);
            }
            redisUtil.unlock();
            redisUtil.unlock(orderId.toString());
        }catch (Exception e){
            e.printStackTrace();
            redisUtil.unlock();
            redisUtil.unlock(orderId.toString());
        }
    }
@@ -801,12 +805,12 @@
            if(count > 0){
                return ResultUtil.error("还有未完成的订单");
            }
            boolean lock = redisUtil.lock(5);
            boolean lock = redisUtil.lock(orderId.toString(), 5);
            if(!lock){
                int num1 = 1;
                while (num1 <= 10){
                    Thread.sleep(3000);//等待3秒
                    lock = redisUtil.lock(5);
                    lock = redisUtil.lock(orderId.toString(),5);
                    if(lock){
                        break;
                    }else{
@@ -815,17 +819,18 @@
                }
            }
            if(!lock){
                redisUtil.unlock(orderId.toString());
                return ResultUtil.error("请重试");
            }
            Order order = this.selectById(orderId);
            Integer state = order.getState();
            Integer oldDriverId = order.getDriverId();
            if(state == 301){
                redisUtil.unlock();
                redisUtil.unlock(orderId.toString());
                return ResultUtil.error("订单已被取消");
            }
            if(state != 101 && state != 201){
                redisUtil.unlock();
                redisUtil.unlock(orderId.toString());
                return ResultUtil.error("手速慢了哦");
            }
            order.setDriverId(uid);
@@ -834,7 +839,7 @@
            order.setState(102);
            order.setOrderTakingTime(new Date());
            this.updateById(order);
            redisUtil.unlock();
            redisUtil.unlock(orderId.toString());
            if(null != order.getUserId()){
                AppUser appUser = appUserService.selectById(order.getUserId());
@@ -874,9 +879,10 @@
                    orderTransfer.setSuccessTime(new Date());
                    orderTransferService.insert(orderTransfer);
                }
                pushUtil.pushTransferSuccessful(order.getUserId(), 1, order.getId());
                pushUtil.pushTransferSuccessful(oldDriverId, 2, order.getId());
                if(null != order.getUserId()){
                    pushUtil.pushTransferSuccessful(order.getUserId(), 1, order.getId());
                }
            }
            //推动订单数据
@@ -889,7 +895,7 @@
                pushUtil.pushOrderStatus(order.getUserId(), 1, order.getId(), order.getState());
            }
        }catch (Exception e){
            redisUtil.unlock();
            redisUtil.unlock(orderId.toString());
            e.printStackTrace();
            throw e;
        }
@@ -938,6 +944,7 @@
            Map<String, String> distance1 = MapUtil.getDistance(orderInfoWarpper.getStartLng() + "," + orderInfoWarpper.getStartLat(), value, 0);
            orderInfoWarpper.setPickUpTime(Integer.valueOf(distance1.get("duration")) / 60);
        }
        orderInfoWarpper.setDriverId(order.getDriverId());
        return orderInfoWarpper;
    }
@@ -1005,7 +1012,12 @@
                            .where("'" + geocode.getCity() + "' like CONCAT('%', city, '%') and '" + geocode.getDistrict() + "' like CONCAT('%', district, '%') "));
                    city = null != weatherCity ? weatherCity.getId().toString() : "";
                }
                order = getOrderPrice(2, Double.valueOf(order.getActualMileage()) / 1000, order.getWaitTime(), order, city);
                try {
                    order = getOrderPrice(2, Double.valueOf(order.getActualMileage()) / 1000, order.getWaitTime(), order, city);
                }catch (Exception e){
                    e.printStackTrace();
                    return ResultUtil.error("计算费用异常");
                }
                Coupon coupon = userToCouponService.queryCoupon(order.getUserId(), order.getOrderMoney());
                if(null != coupon){
                    order.setCouponId(coupon.getId());
@@ -1018,10 +1030,6 @@
                    order.setPayMoney(order.getOrderMoney());
                }
                //修改司机状态和积分
                Driver driver = driverService.selectById(order.getDriverId());
                driver.setServerStatus(1);
                driverService.updateById(driver);
                saveIntegral(order);
                redisUtil.delSetValue("orderService", order.getId().toString());
                break;
@@ -1282,6 +1290,9 @@
    @Override
    public ResultUtil driverCancelOrder(Integer uid, Long orderId, String cause) throws Exception {
        Order order = this.selectById(orderId);
        if(null == order){
            return ResultUtil.error("订单数据异常");
        }
        if(uid.compareTo(order.getDriverId()) != 0){
            return ResultUtil.error("无法取消订单");
        }
@@ -1335,11 +1346,13 @@
            orderPriceWarpper.setOverDriveDistance(order.getOverDriveDistance());
            orderPriceWarpper.setMileageFee(order.getOverDrivePrice());
        }else{
            String[] split = order.getLongDistance().split("-");
            orderPriceWarpper.setStartPrice(order.getLongDistancePrice());
            orderPriceWarpper.setStartDistance(Double.valueOf(split[1]));
            orderPriceWarpper.setOverDriveDistance(order.getOverLongDistance());
            orderPriceWarpper.setMileageFee(order.getOverLongDistancePrice());
            if(order.getLongDistance().indexOf("-") >= 0){
                String[] split = order.getLongDistance().split("-");
                orderPriceWarpper.setStartPrice(order.getLongDistancePrice());
                orderPriceWarpper.setStartDistance(Double.valueOf(split[1]));
                orderPriceWarpper.setOverDriveDistance(order.getOverLongDistance());
                orderPriceWarpper.setMileageFee(order.getOverLongDistancePrice());
            }
        }
        Integer waitTime = order.getWaitTime() + order.getOutWaitTime();
        Integer s = waitTime % 60;
@@ -1465,6 +1478,13 @@
            }
            this.updateById(order);
            if((payType == 1 && state == 107) || (payType == 2 && state == 108)){
                //修改司机状态和积分
                Driver driver = driverService.selectById(order.getDriverId());
                driver.setServerStatus(1);
                driverService.updateById(driver);
            }
            if(payType == 2 && state == 108){//计算抽成
                saveRevenue(order);
            }
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/RedisUtil.java
@@ -188,7 +188,6 @@
                timer.schedule(new TimerTask() {
                    @Override
                    public void run() {
                        System.err.println("定时任务启动");
                        Jedis resource = jedisPool.getResource();
                        resource.setex(finalKey, time, value);
                        resource.close();
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java
@@ -16,6 +16,8 @@
    private String code;
    @ApiModelProperty(value = "头像", required = false, dataType = "string")
    private String avatar;
    @ApiModelProperty(value = "姓名", required = false, dataType = "string")
    private String name;
    @ApiModelProperty(value = "手机号码", required = true, dataType = "string")
    private String phone;
    @ApiModelProperty(value = "紧急联系人", required = false, dataType = "string")
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/OrderInfoWarpper.java
@@ -17,6 +17,8 @@
    private String userName;
    @ApiModelProperty("用户电话")
    private String userPhone;
    @ApiModelProperty("司机id")
    private Integer driverId;
    @ApiModelProperty("用户余额")
    private Double balance;
    @ApiModelProperty("下单次数")
driver/guns-admin/src/main/resources/logback-spring.xml
@@ -154,7 +154,7 @@
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
            <maxHistory>200</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档记录除了DEBUG级别的其它高于DEBUG的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
management/.idea/management.iml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
management/.idea/misc.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="JavaScriptSettings">
    <option name="languageLevel" value="ES6" />
  </component>
  <component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>
management/.idea/modules.xml
New file
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectModuleManager">
    <modules>
      <module fileurl="file://$PROJECT_DIR$/.idea/management.iml" filepath="$PROJECT_DIR$/.idea/management.iml" />
    </modules>
  </component>
</project>
management/.idea/vcs.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
  </component>
</project>
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -94,7 +94,7 @@
        }
        model.addAttribute("startPrice",tOrder.getStartPrice());//起步价
        model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice().add(tOrder.getOutWaitTimePrice()));//等待费
        model.addAttribute("badWeatherPrice",tOrder.getBadWeatherPrice());//恶劣天气费用
        model.addAttribute("orderMoney",tOrder.getOrderMoney());//实际费用
        model.addAttribute("payMoney",tOrder.getPayMoney());//实际支付费用
user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java
@@ -561,4 +561,27 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/user/driverRegister")
//    @ServiceLog(name = "注册司机", url = "/api/user/driverRegister")
    @ApiOperation(value = "注册司机", tags = {"用户端-登录注册"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResponseWarpper driverRegister(DriverRegisterWarpper driverRegisterWarpper){
        try {
            Integer uid = appUserService.getUserByRequest();
            if(null == uid){
                return ResponseWarpper.success(ResultUtil.tokenErr());
            }
            ResultUtil resultUtil = driverService.driverRegister(uid, driverRegisterWarpper);
            return ResponseWarpper.success(resultUtil);
        }catch (Exception e){
            e.printStackTrace();
            return new ResponseWarpper(500, e.getMessage());
        }
    }
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/dao/BranchOfficeMapper.java
@@ -1,8 +1,11 @@
package com.supersavedriving.user.modular.system.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.supersavedriving.user.modular.system.model.BranchOffice;
/**
 * @author zhibing.pu
 * @date 2023/8/3 14:20
 */
public interface BranchOfficeMapper extends BaseMapper<BranchOffice> {
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/model/Driver.java
@@ -252,4 +252,9 @@
     */
    @TableField("openOrderQRCode")
    private Integer openOrderQRCode;
    /**
     * 司机推荐二维码
     */
    @TableField("referralCode")
    private String referralCode;
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/IBranchOfficeService.java
@@ -3,13 +3,9 @@
import com.baomidou.mybatisplus.service.IService;
import com.supersavedriving.user.modular.system.model.BranchOffice;
import java.util.List;
/**
* 分公司接口逻辑类
* @author pzb
* @Date 2023/2/3 14:49
*/
 * @author zhibing.pu
 * @date 2023/8/3 14:22
 */
public interface IBranchOfficeService extends IService<BranchOffice> {
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/IDriverService.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.service.IService;
import com.supersavedriving.user.modular.system.model.Driver;
import com.supersavedriving.user.modular.system.util.ResultUtil;
import com.supersavedriving.user.modular.system.warpper.DriverRegisterWarpper;
import com.supersavedriving.user.modular.system.warpper.NearbyDriverWarpper;
import java.util.List;
@@ -20,4 +22,14 @@
     * @throws Exception
     */
    List<NearbyDriverWarpper> queryDriverPosition(String lon, String lat, Double scope) throws Exception;
    /**
     * 司机注册
     * @param driverRegisterWarpper
     * @return
     * @throws Exception
     */
    ResultUtil driverRegister(Integer uid, DriverRegisterWarpper driverRegisterWarpper) throws Exception;
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/BranchOfficeServiceImpl.java
@@ -1,24 +1,15 @@
package com.supersavedriving.user.modular.system.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.supersavedriving.user.modular.system.dao.BranchOfficeMapper;
import com.supersavedriving.user.modular.system.model.BranchOffice;
import com.supersavedriving.user.modular.system.service.IBranchOfficeService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 分公司逻辑类
* @author pzb
* @Date 2023/2/3 14:48
*/
 * @author zhibing.pu
 * @date 2023/8/3 14:22
 */
@Service
public class BranchOfficeServiceImpl extends ServiceImpl<BranchOfficeMapper, BranchOffice> implements IBranchOfficeService {
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java
@@ -5,13 +5,16 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.supersavedriving.user.core.util.ToolUtil;
import com.supersavedriving.user.modular.system.dao.DriverMapper;
import com.supersavedriving.user.modular.system.model.Driver;
import com.supersavedriving.user.modular.system.model.DriverWork;
import com.supersavedriving.user.modular.system.service.IDriverService;
import com.supersavedriving.user.modular.system.service.IDriverWorkService;
import com.supersavedriving.user.modular.system.model.*;
import com.supersavedriving.user.modular.system.service.*;
import com.supersavedriving.user.modular.system.util.GeodesyUtil;
import com.supersavedriving.user.modular.system.util.RedisUtil;
import com.supersavedriving.user.modular.system.util.ResultUtil;
import com.supersavedriving.user.modular.system.util.UUIDUtil;
import com.supersavedriving.user.modular.system.util.huawei.OBSUtil;
import com.supersavedriving.user.modular.system.util.mongodb.model.Location;
import com.supersavedriving.user.modular.system.util.weChat.WeChatUtil;
import com.supersavedriving.user.modular.system.warpper.DriverRegisterWarpper;
import com.supersavedriving.user.modular.system.warpper.NearbyDriverWarpper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.geo.Circle;
@@ -23,7 +26,10 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -44,6 +50,25 @@
    @Autowired
    private RedisUtil redisUtil;
    @Autowired
    private IAppUserService appUserService;
    @Autowired
    private WeChatUtil weChatUtil;
    @Autowired
    private IBranchOfficeService branchOfficeService;
    @Autowired
    private ISystemConfigService systemConfigService;
    @Autowired
    private IAccountChangeDetailService accountChangeDetailService;
    /**
@@ -91,9 +116,139 @@
    }
    /**
     * 注册司机
     * @param uid
     * @param driverRegisterWarpper
     * @return
     * @throws Exception
     */
    @Override
    public ResultUtil driverRegister(Integer uid, DriverRegisterWarpper driverRegisterWarpper) throws Exception {
        Driver driver = this.selectOne(new EntityWrapper<Driver>().eq("phone", driverRegisterWarpper.getPhone()).ne("status", 3));
        if(null != driver && driver.getStatus() == 2){
            return ResultUtil.error("该手机账号已被冻结,请联系管理员。");
        }
        if(null != driver && driver.getApprovalStatus() == 1){
            return ResultUtil.error("该手机账号正在审核中。");
        }
        if(null != driver && driver.getApprovalStatus() == 2){
            return ResultUtil.error("该手机账号已审核通过,请直接登录。");
        }
        //账号审核拒绝后的处理
        if(null != driver && driver.getApprovalStatus() == 3){
            try {
                driver = setDriverParamete(driver, driverRegisterWarpper);
            }catch (Exception e){
                return ResultUtil.error(e.getMessage());
            }
            this.updateAllColumnById(driver);
        }
        AppUser appUser = appUserService.selectById(uid);
        //新账号
        if(null == driver){
            driver = new Driver();
            driver.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5));
            try {
                driver = setDriverParamete(driver, driverRegisterWarpper);
            }catch (Exception e){
                return ResultUtil.error(e.getMessage());
            }
            driver.setCreateTime(new Date());
            driver.setInviterId(appUser.getInviterId());
            driver.setInviterType(appUser.getInviterType());
            this.insert(driver);
            String s = wechatMiniProgramORCode(driver.getId());
            driver.setReferralCode(s);
            this.updateById(driver);
            //司机邀请注册奖励
            if(null != driver.getInviterId()){
                Driver driver1 = this.selectById(driver.getInviterId());
                SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 4));
                if(null != systemConfig){
                    Integer num7 = JSON.parseObject(systemConfig.getContent()).getInteger("num7");
                    if(num7 > 0){
                        AccountChangeDetail accountChangeDetail = new AccountChangeDetail();
                        accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5));
                        accountChangeDetail.setUserType(2);
                        accountChangeDetail.setUserId(driver1.getId());
                        accountChangeDetail.setType(2);
                        accountChangeDetail.setChangeType(5);
                        accountChangeDetail.setOldData(driver1.getIntegral().doubleValue());
                        driver1.setIntegral(driver1.getIntegral() + num7);
                        accountChangeDetail.setNewData(driver1.getIntegral().doubleValue());
                        accountChangeDetail.setExplain("邀请司机注册奖励");
                        accountChangeDetailService.saveData(accountChangeDetail);
                        this.updateById(driver1);
                    }
                }
            }
        }
        return ResultUtil.success();
    }
    /**
     * 组装个人信息
     * @param driver
     * @param driverRegisterWarpper
     * @return
     */
    public Driver setDriverParamete(Driver driver, DriverRegisterWarpper driverRegisterWarpper) throws Exception{
        driver.setAvatar(driverRegisterWarpper.getAvatar());
        driver.setName(driverRegisterWarpper.getName());
        driver.setPhone(driverRegisterWarpper.getPhone());
        driver.setEmergencyContact(driverRegisterWarpper.getEmergencyContact());
        driver.setEmergencyPhone(driverRegisterWarpper.getEmergencyPhone());
        driver.setIdcardBack(driverRegisterWarpper.getIdcardBack());
        driver.setIdcardFront(driverRegisterWarpper.getIdcardFront());
        driver.setDriverLicense(driverRegisterWarpper.getDriverLicense());
        if(ToolUtil.isNotEmpty(driverRegisterWarpper.getFirstCertificateTime())){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            driver.setFirstCertificateTime(sdf.parse(driverRegisterWarpper.getFirstCertificateTime()));
        }
        //注册地
        String code = driverRegisterWarpper.getCode();
        BranchOffice branchOffice = branchOfficeService.selectOne(new EntityWrapper<BranchOffice>().eq("districtCode", code).eq("status", 1));
        if(null == branchOffice){
            branchOffice = branchOfficeService.selectOne(new EntityWrapper<BranchOffice>().eq("cityCode", code).eq("status", 1));
            if(null == branchOffice){
                throw new Exception("该区域无服务商");
            }
        }
        driver.setBranchOfficeId(branchOffice.getId());
        driver.setAgentId(branchOffice.getAgentId());
        driver.setProvinceCode(branchOffice.getProvinceCode());
        driver.setProvinceName(branchOffice.getProvinceName());
        driver.setCityName(branchOffice.getCityName());
        driver.setCityCode(branchOffice.getCityCode());
        driver.setAreaCode(branchOffice.getDistrictCode());
        driver.setAreaName(branchOffice.getDistrictName());
        if(null != driverRegisterWarpper.getInviterId()){
            driver.setInviterType(driverRegisterWarpper.getInviterType());
            driver.setInviterId(driverRegisterWarpper.getInviterId());
        }
        driver.setApprovalStatus(1);
        driver.setApprovalNotes("");
        driver.setApprovalTime(null);
        driver.setApprovalUserId(null);
        driver.setStatus(1);
        driver.setSource(driverRegisterWarpper.getSource());
        return driver;
    }
    //生成小程序二维码
    public String wechatMiniProgramORCode(Integer driverId) throws Exception{
        InputStream release = weChatUtil.getwxacodeunlimit("pages/index/index", "driverId=" + driverId, "release");
        String s = OBSUtil.putObjectToBucket(release, "driver_" + driverId);
        return s;
    }
}
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
@@ -174,7 +174,7 @@
        int i = 0;
        Double scope = 5D;
        while (true){
            List<NearbyDriverWarpper> nearbyDriverWarppers = driverService.queryDriverPosition(estimatedCosts.getLng().toString(), estimatedCosts.getLat().toString(), scope);
            List<NearbyDriverWarpper> nearbyDriverWarppers = driverService.queryDriverPosition(estimatedCosts.getStartLng().toString(), estimatedCosts.getStartLat().toString(), scope);
            if(nearbyDriverWarppers.size() == 0){
                scope += 5;
                i++;
user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/DriverRegisterWarpper.java
New file
@@ -0,0 +1,41 @@
package com.supersavedriving.user.modular.system.warpper;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 司机注册
* @author pzb
* @Date 2023/2/6 9:15
*/
@Data
@ApiModel
public class DriverRegisterWarpper {
    @ApiModelProperty(value = "注册区域code", required = true, dataType = "string")
    private String code;
    @ApiModelProperty(value = "头像", required = false, dataType = "string")
    private String avatar;
    @ApiModelProperty(value = "姓名", required = false, dataType = "string")
    private String name;
    @ApiModelProperty(value = "手机号码", required = true, dataType = "string")
    private String phone;
    @ApiModelProperty(value = "紧急联系人", required = true, dataType = "string")
    private String emergencyContact;
    @ApiModelProperty(value = "紧急联系人电话", required = true, dataType = "string")
    private String emergencyPhone;
    @ApiModelProperty(value = "身份证正面照", required = true, dataType = "string")
    private String idcardFront;
    @ApiModelProperty(value = "身份证背面照", required = true, dataType = "string")
    private String idcardBack;
    @ApiModelProperty(value = "驾驶证领证时间(2023-01-01)", required = true, dataType = "string")
    private String firstCertificateTime;
    @ApiModelProperty(value = "驾驶证照片", required = true, dataType = "string")
    private String driverLicense;
    @ApiModelProperty(value = "邀约人类型(1=用户,2=司机)", required = false, dataType = "int")
    private Integer inviterType;
    @ApiModelProperty(value = "邀约人Id", required = false, dataType = "int")
    private Integer inviterId;
    @ApiModelProperty(value = "注册来源(1=司机端注册,2=其他端注册)", required = true, dataType = "int")
    private Integer source;
}
user/guns-admin/src/main/resources/logback-spring.xml
@@ -154,7 +154,7 @@
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
            <maxHistory>200</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档记录除了DEBUG级别的其它高于DEBUG的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">