From c8638bb17163cc95e9063c358eb92cada1474102 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期一, 12 六月 2023 09:00:05 +0800
Subject: [PATCH] 用户端代码

---
 src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java     |    2 
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java   |   16 
 guns-company.iml                                                                      |  268 ++++++++++++++++++++++
 src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java      |  320 ++++++++++++++++++--------
 src/main/java/com/stylefeng/guns/modular/system/model/Relation.java                   |    2 
 src/main/java/com/stylefeng/guns/modular/system/controller/TUserController.java       |    3 
 src/main/java/com/stylefeng/guns/modular/system/model/UserChildVo.java                |    1 
 src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java         |    2 
 src/main/java/com/stylefeng/guns/modular/system/utils/AddressLookup.java              |   62 ++---
 src/main/java/com/stylefeng/guns/modular/system/model/PriceInfo.java                  |    5 
 src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TQuoteMapper.xml          |    1 
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TCompanyServiceImpl.java |   10 
 src/main/java/com/stylefeng/guns/modular/system/controller/RoleController.java        |   11 
 src/main/java/com/stylefeng/guns/modular/api/ApiController.java                       |    2 
 src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java       |    9 
 src/main/java/com/stylefeng/guns/modular/system/model/Menu.java                       |    2 
 16 files changed, 547 insertions(+), 169 deletions(-)

diff --git a/guns-company.iml b/guns-company.iml
new file mode 100644
index 0000000..c81c49d
--- /dev/null
+++ b/guns-company.iml
@@ -0,0 +1,268 @@
+<?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="web" name="Web">
+      <configuration>
+        <webroots />
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+    <facet type="Spring" name="Spring">
+      <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/test/java" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="guns-core-1.0.0" 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: org.springframework:spring-tx: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.apache.logging.log4j:log4j-api: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.openjfx:javafx.base:11.0.0-SNAPSHOT" level="project" />
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:linux:11.0.0-SNAPSHOT" level="project" />
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:mac:11.0.0-SNAPSHOT" level="project" />
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:win:11.0.0-SNAPSHOT" 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: org.ow2.asm:asm:5.0.4" 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: org.apache.shiro:shiro-core:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-ehcache:1.4.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: cn.hutool:hutool-all:4.1.1" 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: com.fasterxml.jackson.core:jackson-annotations:2.9.0" 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: com.fasterxml.jackson.core:jackson-core:2.9.5" level="project" />
+    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.16.22" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.9" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.10" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
+    <orderEntry type="library" name="Maven: com.google.maps:google-maps-services:2.0.0" level="project" />
+    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.8.1" level="project" />
+    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.13.0" level="project" />
+    <orderEntry type="library" name="Maven: io.opencensus:opencensus-api:0.30.0" level="project" />
+    <orderEntry type="library" name="Maven: io.grpc:grpc-context:1.27.2" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk:1.9.2" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-logs:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-core:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: software.amazon.ion:ion-java:1.0.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.9.5" level="project" />
+    <orderEntry type="library" name="Maven: joda-time:joda-time:2.9.9" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:jmespath-java:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-elasticache:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-elastictranscoder:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-route53:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-datapipeline:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cloudwatchmetrics:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cloudwatch:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-dynamodb:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-rds:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-storagegateway:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-swf-libraries:1.11.22" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-simpleworkflow:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-directconnect:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-iam:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-ec2:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cloudformation:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-ses:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cognitosync:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cloudtrail:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-elasticbeanstalk:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-simpledb:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-opsworks:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-autoscaling:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-sts:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cloudfront:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-importexport:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-emr:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cloudsearch:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-glacier:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-sqs:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-sns:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-s3:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-kms:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-kinesis:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-redshift:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-support:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: com.amazonaws:aws-java-sdk-cognitoidentity:1.11.336" level="project" />
+    <orderEntry type="library" name="Maven: org.jodd:jodd-all:5.0.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.mail:mail:1.4.5" level="project" />
+    <orderEntry type="library" name="Maven: javax.activation:activation:1.1" level="project" />
+    <orderEntry type="library" name="Maven: redis.clients:jedis:3.1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.5.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:5.0.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-lite:5.0.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:4.0.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.20" level="project" />
+    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" />
+    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.68" level="project" />
+    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.68" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.santuario:xmlsec:2.2.1" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.woodstox:woodstox-core:5.2.1" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:4.2" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-all:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-anim:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-shared-resources:1.13" level="project" />
+    <orderEntry type="library" name="Maven: xml-apis:xml-apis-ext:1.3.04" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-awt-util:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:xmlgraphics-commons:2.4" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:1.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-bridge:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-codec:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-constants:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-css:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-dom:1.13" level="project" />
+    <orderEntry type="library" name="Maven: xalan:xalan:2.7.2" level="project" />
+    <orderEntry type="library" name="Maven: xalan:serializer:2.7.2" level="project" />
+    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ext:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-extension:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-gui-util:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-gvt:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-i18n:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-parser:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-rasterizer-ext:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-rasterizer:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-script:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-slideshow:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-squiggle-ext:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-squiggle:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svg-dom:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svgbrowser:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svggen:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svgpp:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svgrasterizer:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-swing:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-transcoder:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-util:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ttf2svg:1.13" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-xml:1.13" level="project" />
+    <orderEntry type="library" name="Maven: de.rototor.pdfbox:graphics2d:0.30" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.pdfbox:pdfbox:2.0.22" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.pdfbox:fontbox:2.0.22" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/src/main/java/com/stylefeng/guns/modular/api/ApiController.java b/src/main/java/com/stylefeng/guns/modular/api/ApiController.java
index 1412846..37ea751 100644
--- a/src/main/java/com/stylefeng/guns/modular/api/ApiController.java
+++ b/src/main/java/com/stylefeng/guns/modular/api/ApiController.java
@@ -105,7 +105,7 @@
                 result.put("userInfo", 2);
             }
 
-            return result;
+            return new SuccessTip(result);
         }
     }
 
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java
index d5ab164..1c6862b 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java
@@ -115,13 +115,6 @@
     @ResponseBody
     @Transactional(propagation = Propagation.REQUIRES_NEW)
     public Object addDemand(@RequestBody DemandDto demandDto) throws Exception {
-        Integer userId1 = demandDto.getUserId();
-
-        TUser tUser1 = userService.selectById(userId1);
-        if(tUser1.getPhone()==null){
-            return new ErrorTip(5008,"It is necessary to complete the information before issuing the quotation demand");
-        }
-
 
         int breakNum=0;
         // 计数
@@ -140,15 +133,15 @@
         tQuote.setUserId(demandDto.getUserId());
         quoteService.insert(tQuote);
 
-        List<TUserFeeSetting> tUserFeeSettings=null;
-        //获取当前用户的sale
-        Integer userId = demandDto.getUserId();
-        TUser tUser = userService.selectById(userId);
-        if(tUser.getGroupId()!=null){
-            TGroup tGroup = groupService.selectById(tUser.getGroupId());
-            tUserFeeSettings = userFeeSettingService.selectList(new EntityWrapper<TUserFeeSetting>().eq("user_id",tGroup.getSalesId()));
-
-        }
+//        List<TUserFeeSetting> tUserFeeSettings=null;
+//        //获取当前用户的sale
+//        Integer userId = demandDto.getUserId();
+//        TUser tUser = userService.selectById(userId);
+//        if(tUser.getGroupId()!=null){
+//            TGroup tGroup = groupService.selectById(tUser.getGroupId());
+//             tUserFeeSettings = userFeeSettingService.selectList(new EntityWrapper<TUserFeeSetting>().eq("user_id",tGroup.getSalesId()));
+//
+//        }
 
 
         String accessorialStr = demandDto.getAccessorialStr();
@@ -162,8 +155,14 @@
         }
 
         List<TCompanyService> companyServiceList = new ArrayList<>();
+
+        String accessorialStr1 = getStr(demandDto.getAccessorialStr());
+
+
+
+
         //
-        if(ToolUtil.isNotEmpty(demandDto.getAccessorialStr())){
+        if(ToolUtil.isNotEmpty(accessorialStr1) && !"".equals(accessorialStr1)){
             for (Map.Entry<String, String> entry : map.entrySet()) {
                 if(!entry.getKey().equals("CTF")&& !entry.getKey().equals("URGENT FEE")&&!entry.getKey().equals("PIPERPASS")) {
                     companyServiceList.addAll(tCompanyServiceService.selectList(new EntityWrapper<TCompanyService>()
@@ -183,15 +182,15 @@
 
         List<TCompany> tCompanyList = new ArrayList<>();
         for (Integer companyId : companyIds) {
-            List<TCompanyService> collect = companyServiceList.stream().filter(company -> company.getCompanyId().equals(companyId)).collect(Collectors.toList());
-            if(map.size() == collect.size()){
-                // 找出符合规则的公司
-                TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("status", 1)
-                        .eq("id",companyId).eq("work",1));
-                if(Objects.nonNull(company)){
-                    tCompanyList.add(company);
-                }
+//            List<TCompanyService> collect = companyServiceList.stream().filter(company -> company.getCompanyId().equals(companyId)).collect(Collectors.toList());
+//            if(map.size() == collect.size()){
+            // 找出符合规则的公司
+            TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("status", 1)
+                    .eq("id",companyId).eq("work",1));
+            if(Objects.nonNull(company)){
+                tCompanyList.add(company);
             }
+//            }
         }
 
         // 符合规则的公司id集合
@@ -218,6 +217,9 @@
         Integer portId = demandDto.getPortId();
         TPort tPort = itPortService.selectById(portId);
 
+        GeocodeVo geocode = googleMapUtil.getGeocode(tPort.getAddress());
+
+
         // 获取码头上级id
         TCountry city = countryService.selectById(tPort.getCity());
         TCountry state = countryService.selectById(city.getParentId());
@@ -230,7 +232,7 @@
         // 没有满足公司
         if(CollectionUtils.isEmpty(set)){
             quoteService.deleteById(tQuote.getId());
-            return  new ErrorTip(5001,"No truck company was matched to meet the demand");
+            return  new com.stylefeng.guns.modular.system.utils.tips.ErrorTip(5001,"No truck company was matched to meet the demand");
         }else {
             List<TCompany> companies = companyService.selectList(new EntityWrapper<TCompany>().in("id", set));
             for (TCompany company : companies) {
@@ -246,7 +248,12 @@
                 if(tRates1!=null){
                     ratesId=tRates1.getId();
                 }else {
-                    ratesId=tCountry.getId();
+                    tRates1 = ratesService.selectOne(new EntityWrapper<TRates>().eq("metro_id", tCountry.getId()).eq("type", 1).eq("company_id", company.getId()));
+                    if(tRates1!=null){
+                        ratesId=tRates1.getId();
+                    }else {
+                        break;
+                    }
                 }
 
                 for (GoodsListDto goodsListDto : list1) {
@@ -254,28 +261,6 @@
                         break;
                     }
                     ArrayList<TPrice> tPrices = new ArrayList<>();
-                    // 生成订单
-//                    TOrder tOrder = new TOrder();
-//                    tOrder.setUserId(demandDto.getUserId());
-//                    tOrder.setAccessorial(demandDto.getAccessorial());
-//                    tOrder.setAccessorialStr(demandDto.getAccessorialStr());
-//                    tOrder.setPort(demandDto.getPortId());
-//                    tOrder.setShipmentDate(demandDto.getShipmentDate());
-//                    tOrder.setDeliveryDate(demandDto.getDeliveryDate());
-//                    tOrder.seteZipZ(s1);
-//                    tOrder.setCreateTime(new Date());
-//                    tOrder.setStartLat("1");
-//                    tOrder.setStartLon("1");
-//                    tOrder.setDeliveryStr(demandDto.getDelivery());
-//                    tOrder.setType(demandDto.getType());
-//                    tOrder.setZipCode(demandDto.getZipCode());
-//                    tOrder.setWarehouse(demandDto.getWarehouse());
-//                    tOrder.setStatus("0");
-//                    tOrder.setInvoiceNumber(s2);
-//                    tOrder.setCompanyId(company.getId());
-//                    tOrder.setCreateTime(new Date());
-//                    orderService.insert(tOrder);
-//                    tOrders.add(tOrder);
 
                     List<GoodsDto> list = goodsListDto.getList();
                     ArrayList<TGoods> tGoods1 = new ArrayList<>();
@@ -283,15 +268,25 @@
                         TCompanyResp tCompanyResp = new TCompanyResp();
                         if("0".equals(demandDto.getWarehouse())){
                             tCompanyResp=new TCompanyResp();
-                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", demandDto.getDelivery())).getSetValue();
-                            tCompanyResp.setName(demandDto.getDelivery());
-                            tCompanyResp.setPrice(setValue1);
-                            objects.add(tCompanyResp);
+                            TCompanyFeeSetting feeSetting = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", demandDto.getDelivery()));
+                            if(feeSetting==null){
+                                breakNum=1;
+                                count++;
+                                break;
+                            }else {
+                                tCompanyResp.setName(demandDto.getDelivery());
+                                tCompanyResp.setPrice(feeSetting.getSetValue());
+                                objects.add(tCompanyResp);
+                            }
 
                             // 基础价格
                             String zipCode = demandDto.getZipCode();
                             // 地址信息
                             String address1 = AddressLookup.getAddress(zipCode);
+
+                            if(address1==null){
+                                return new com.stylefeng.guns.modular.system.utils.tips.ErrorTip(5001,"Please enter the correct zipcode");
+                            }
 
                             List<TCompanyBasic> tCompanyBasic = companyBasicService.selectList(new EntityWrapper<TCompanyBasic>().eq("port_id",ratesId).eq("zip_code", zipCode).eq("type", 1));
                             if(tCompanyBasic.size()>0){
@@ -303,7 +298,7 @@
                                 // 画圈 拿到的zipcode集合 去对比当前zipcode是否在集合中
                                 List<TCompanyBasic> type = companyBasicService.selectList(new EntityWrapper<TCompanyBasic>().eq("type", 2).eq("port_id",ratesId).orderBy("fee",true));
                                 if(type.size()>0){
-                                    GeocodeVo geocode1 = googleMapUtil.getGeocode(zipCode);
+                                    GeocodeVo geocode1 = googleMapUtil.getGeocode(address1  );
                                     for (TCompanyBasic companyBasic : type) {
                                         boolean inPolygon = PointInPolygon.isInPolygon(geocode1.getLat(), geocode1.getLng(), companyBasic.getLonLat());
                                         if(inPolygon){
@@ -369,26 +364,60 @@
                         // 是否超重
                         Integer weight = goodsDto.getWeight();
                         long between = DateUtil.between(demandDto.getShipmentDate(), demandDto.getDeliveryDate(), DateUnit.DAY);
+                        String arg1 = tPort.getName();
+                        String arg2="";
+                        if(!"0".equals(demandDto.getWarehouse())){
+                            TWarehouse tWarehouse = warehouseService.selectOne(new EntityWrapper<TWarehouse>().eq("company_id", company.getId()).eq("code", demandDto.getWarehouse()).eq("port_id",ratesId));
+                            arg2=tWarehouse.getCity();
+                        }else {
+                            arg2 = AddressLookup.getAddress(demandDto.getZipCode());
+                        }
+//                        DistancematrixVo distancematrix = googleMapUtil.getDistancematrix(tPort.getAddress(), arg2);
+//                        String arg3=String.valueOf(distancematrix.getDistance());
+//                        String arg4= demandDto.getList().get(0).getShippingLine();
+//                        String arg5 = demandDto.getType();
+//                        GoodsDto goodsDto1 = demandDto.getList().get(0).getList().get(0);
+//                        String arg6 =goodsDto1.getType();
+//                        String arg7="None";
+//                        String arg8 = goodsDto1.getKg();
+//                        BigDecimal days = new BigDecimal(ChassisRentalDaysUtil.chassisRentalDays(1, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8));
                         if(between==0){
                             between=1;
                         }
                         if(weight==1){
                             TCompanyFeeSetting feeSetting = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.OVERWEIGHT.getDesc()));
-                            tCompanyResp.setName(UserFeeSettingEnum.OVERWEIGHT.getDesc());
-                            tCompanyResp.setPrice(feeSetting.getSetValue());
-                            objects.add(tCompanyResp);
+                            if(feeSetting==null){
+                                breakNum=1;
+                                count++;
+                                break;
+                            }else {
+                                tCompanyResp=new TCompanyResp();
+                                tCompanyResp.setName(UserFeeSettingEnum.OVERWEIGHT.getDesc());
+                                tCompanyResp.setPrice(feeSetting.getSetValue());
+                                objects.add(tCompanyResp);
+                            }
                             TCompanyFeeSetting feeSetting1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", "trl-axle chassis"));
-                            tCompanyResp=new TCompanyResp();
-                            tCompanyResp.setName(UserFeeSettingEnum.CHASSIS_FEE.getDesc());
-                            tCompanyResp.setPrice(feeSetting1.getSetValue().multiply(new BigDecimal(between)));
-                            objects.add(tCompanyResp);
+                            if(feeSetting1==null){
+                                breakNum=1;
+                                count++;
+                                break;
+                            }else {
+                                tCompanyResp=new TCompanyResp();
+                                tCompanyResp.setName(UserFeeSettingEnum.CHASSIS_FEE.getDesc());
+//                                tCompanyResp.setPrice(feeSetting1.getSetValue().multiply(days));
+                                tCompanyResp.setPrice(feeSetting1.getSetValue().multiply(new BigDecimal(between)));
+                                objects.add(tCompanyResp);
+                            }
                         }else {
                             tCompanyResp=new TCompanyResp();
                             tCompanyResp.setName(UserFeeSettingEnum.CHASSIS_FEE.getDesc());
                             TCompanyFeeSetting feeSetting = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", "Pool chassis"));
                             if(feeSetting==null){
-
+                                breakNum=1;
+                                count++;
+                                break;
                             }else {
+//                                tCompanyResp.setPrice(feeSetting.getSetValue().multiply(days));
                                 tCompanyResp.setPrice(feeSetting.getSetValue().multiply(new BigDecimal(between)));
                             }
                             objects.add(tCompanyResp);
@@ -397,45 +426,105 @@
                         if ("Live Unload".equals(demandDto.getType())) {
                             // 计算当前公司的价格
                             tCompanyResp=new TCompanyResp();
-                            BigDecimal setValue = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.PREPULL.getDesc())).getSetValue();
-                            tCompanyResp.setName(UserFeeSettingEnum.PREPULL.getDesc());
-                            tCompanyResp.setPrice(setValue);
+                            TCompanyFeeSetting feeSetting = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.PREPULL.getDesc()));
+                            if(feeSetting==null){
+                                tCompanyResp.setName(UserFeeSettingEnum.PREPULL.getDesc());
+                                tCompanyResp.setPrice(new BigDecimal(0));
+                            }else {
+                                BigDecimal setValue = feeSetting.getSetValue();
+                                tCompanyResp.setName(UserFeeSettingEnum.PREPULL.getDesc());
+                                tCompanyResp.setPrice(setValue);
+                            }
+//                            BigDecimal setValue = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.PREPULL.getDesc())).getSetValue();
+
                             objects.add(tCompanyResp);
                         }
                         // 滞留费
                         tCompanyResp=new TCompanyResp();
-                        BigDecimal setValue = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.DETENTION_CONGESTION.getDesc())).getSetValue();
-                        tCompanyResp.setName(UserFeeSettingEnum.DETENTION_CONGESTION.getDesc());
-                        tCompanyResp.setPrice(setValue);
+                        TCompanyFeeSetting feeSetting = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.DETENTION_CONGESTION.getDesc()));
+                        if(feeSetting!=null){
+                            tCompanyResp.setName(UserFeeSettingEnum.DETENTION_CONGESTION.getDesc());
+                            tCompanyResp.setPrice(feeSetting.getSetValue());
+                        }else {
+                            tCompanyResp.setName(UserFeeSettingEnum.DETENTION_CONGESTION.getDesc());
+                            tCompanyResp.setPrice(new BigDecimal(0));
+                        }
+//                        BigDecimal setValue = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.DETENTION_CONGESTION.getDesc())).getSetValue();
+
                         objects.add(tCompanyResp);
+
+                        // 仓储费
+//                        tCompanyResp=new TCompanyResp();
+//                        days = new BigDecimal(ChassisRentalDaysUtil.chassisRentalDays(3, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8));
+//                        TCompanyFeeSetting storage = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.STORAGE.getDesc()));
+//                        if(storage!=null){
+//                            tCompanyResp.setName(UserFeeSettingEnum.STORAGE.getDesc());
+//                            tCompanyResp.setPrice(feeSetting.getSetValue().multiply(days));
+//                        }else {
+//                            tCompanyResp.setName(UserFeeSettingEnum.STORAGE.getDesc());
+//                            tCompanyResp.setPrice(new BigDecimal(0));
+//                        }
 
                         if(goodsDto.getDanger()==1){
                             tCompanyResp=new TCompanyResp();
-                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.HAZMAT.getDesc())).getSetValue();
-                            tCompanyResp.setName(UserFeeSettingEnum.HAZMAT.getDesc());
-                            tCompanyResp.setPrice(setValue1);
-                            objects.add(tCompanyResp);
+                            TCompanyFeeSetting feeSetting1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.HAZMAT.getDesc()));
+                            if(feeSetting1!=null){
+                                tCompanyResp.setName(UserFeeSettingEnum.HAZMAT.getDesc());
+                                tCompanyResp.setPrice(feeSetting1.getSetValue());
+                                objects.add(tCompanyResp);
+                            }else {
+                                breakNum=1;
+                                count++;
+                                break;
+                            }
+//                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.HAZMAT.getDesc())).getSetValue();
+
                         }
                         if(demandDto.getUrgent()==1){
                             tCompanyResp=new TCompanyResp();
-                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.URGENT_SEE.getDesc())).getSetValue();
-                            tCompanyResp.setName(UserFeeSettingEnum.URGENT_SEE.getDesc());
-                            tCompanyResp.setPrice(setValue1);
-                            objects.add(tCompanyResp);
+                            TCompanyFeeSetting feeSetting1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.URGENT_SEE.getDesc()));
+                            if(feeSetting1!=null){
+                                tCompanyResp.setName(UserFeeSettingEnum.URGENT_SEE.getDesc());
+                                tCompanyResp.setPrice(feeSetting1.getSetValue());
+                                objects.add(tCompanyResp);
+                            }else {
+                                breakNum=1;
+                                count++;
+                                break;
+                            }
+//                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.URGENT_SEE.getDesc())).getSetValue();
+
                         }
                         if(demandDto.getPiperpass()==1){
                             tCompanyResp=new TCompanyResp();
-                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.PIERPASS.getDesc())).getSetValue();
-                            tCompanyResp.setName(UserFeeSettingEnum.PIERPASS.getDesc());
-                            tCompanyResp.setPrice(setValue1);
-                            objects.add(tCompanyResp);
+                            TCompanyFeeSetting feeSetting1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.PIERPASS.getDesc()));
+                            if(feeSetting1!=null){
+                                tCompanyResp.setName(UserFeeSettingEnum.PIERPASS.getDesc());
+                                tCompanyResp.setPrice(feeSetting1.getSetValue());
+                                objects.add(tCompanyResp);
+                            }else {
+                                breakNum=1;
+                                count++;
+                                break;
+                            }
+//                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.PIERPASS.getDesc())).getSetValue();
                         }
                         if(demandDto.getCTF()==1){
                             tCompanyResp=new TCompanyResp();
-                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.CTF.getDesc())).getSetValue();
-                            tCompanyResp.setName(UserFeeSettingEnum.CTF.getDesc());
-                            tCompanyResp.setPrice(setValue1);
-                            objects.add(tCompanyResp);
+                            TCompanyFeeSetting feeSetting1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id", ratesId).eq("set_name", UserFeeSettingEnum.CTF.getDesc()));
+                            if(feeSetting1!=null){
+                                tCompanyResp.setName(UserFeeSettingEnum.CTF.getDesc());
+                                tCompanyResp.setPrice(feeSetting1.getSetValue());
+                                objects.add(tCompanyResp);
+                            }else {
+                                breakNum=1;
+                                count++;
+                                break;
+                            }
+//                            BigDecimal setValue1 = companyFeeSettingService.selectOne(new EntityWrapper<TCompanyFeeSetting>().eq("company_id", company.getId()).eq("rates_id",ratesId).eq("set_name", UserFeeSettingEnum.CTF.getDesc())).getSetValue();
+//                            tCompanyResp.setName(UserFeeSettingEnum.CTF.getDesc());
+//                            tCompanyResp.setPrice(setValue1);
+//                            objects.add(tCompanyResp);
                         }
 
 
@@ -453,8 +542,9 @@
                         tOrder.setDeliveryDate(demandDto.getDeliveryDate());
                         tOrder.seteZipZ(s1);
                         tOrder.setCreateTime(new Date());
-                        tOrder.setStartLat("1");
-                        tOrder.setStartLon("1");
+
+                        tOrder.setStartLat(String.valueOf(geocode.getLat()));
+                        tOrder.setStartLon(String.valueOf(geocode.getLng()));
                         tOrder.setDeliveryStr(demandDto.getDelivery());
                         tOrder.setType(demandDto.getType());
                         tOrder.setZipCode(demandDto.getZipCode());
@@ -488,10 +578,13 @@
                         tGoods.setLineStr(goodsDto.getLineStr());
                         tGoods1.add(tGoods);
                     }
-                    goodsService.insertBatch(tGoods1);
+                    if(tGoods1.size()>0){
+
+                        goodsService.insertBatch(tGoods1);
+                    }
 
 
-                    String randomNumber = getRandomNumber(10);
+                    String randomNumber = ToolUtil.getRandomNumber(10);
                     for (TCompanyResp object : objects) {
                         TPrice tPrice = new TPrice();
                         tPrice.setCreateTime(new Date());
@@ -503,7 +596,9 @@
                         tPrice.setNumber(randomNumber);
                         tPrices.add(tPrice);
                     }
-                    priceService.insertBatch(tPrices);
+                    if(tPrices.size()>0){
+                        priceService.insertBatch(tPrices);
+                    }
                 }
 
                 tCompanyCalculationResp.setOrderList(tOrders);
@@ -550,36 +645,63 @@
                 tCompanyCalculationResp.setStartLat(String.valueOf(1));
 
                 // 目的地经纬度
-                if("0".equals(demandDto.getWarehouse())){
+                if(!"0".equals(demandDto.getWarehouse())){
                     TWarehouse tWarehouse = warehouseService.selectOne(new EntityWrapper<TWarehouse>().eq("company_id", company.getId()).eq("code", demandDto.getWarehouse()).eq("port_id",ratesId));
+                    System.out.println(company.getId());
+                    System.out.println(ratesId);
                     GeocodeVo geocode1 = googleMapUtil.getGeocode(tWarehouse.getAddress());
                     tCompanyCalculationResp.setEndLon(String.valueOf(geocode1.getLng()));
                     tCompanyCalculationResp.setEndLat(String.valueOf(geocode1.getLat()));
                     tCompanyCalculationRespList.add(tCompanyCalculationResp);
                 }else {
                     String zipCode = demandDto.getZipCode();
-//                    GeocodeVo geocode1 = googleMapUtil.getGeocode(zipCode);
-//                    tCompanyCalculationResp.setEndLat(String.valueOf(geocode1.getLat()));
-//                    tCompanyCalculationResp.setEndLon(String.valueOf(geocode1.getLng()));
-                    tCompanyCalculationResp.setEndLat(String.valueOf(1));
-                    tCompanyCalculationResp.setEndLon(String.valueOf(1));
+                    GeocodeVo geocode1 = googleMapUtil.getGeocode(AddressLookup.getAddress(zipCode));
+                    tCompanyCalculationResp.setEndLon(String.valueOf(geocode1.getLng()));
+                    tCompanyCalculationResp.setEndLat(String.valueOf(geocode1.getLat()));
+//                    tCompanyCalculationResp.setEndLon(String.valueOf(1));
+//                    tCompanyCalculationResp.setEndLat(String.valueOf(1));
                     tCompanyCalculationRespList.add(tCompanyCalculationResp);
                 }
 
 
             }
             if(count==companies.size()){
-                return  new ErrorTip(5001,"No truck company was matched to meet the demand");
+                return  new com.stylefeng.guns.modular.system.utils.tips.ErrorTip(5001,"No truck company was matched to meet the demand");
             }
-
         }
         for (TCompanyCalculationResp tCompanyCalculationResp : tCompanyCalculationRespList) {
             tCompanyCalculationResp.setQuoteId(tQuote.getId());
+        }
+        if(0==tCompanyCalculationRespList.size()){
+            return  new com.stylefeng.guns.modular.system.utils.tips.ErrorTip(5001,"No truck company was matched to meet the demand");
         }
         return new SuccessTip(tCompanyCalculationRespList);
     }
 
 
+    private String getStr(String str){
+        String s = "";
+        String[] split = str.split(",");
+        if(split.length==1){
+            if(split[0].equals("CTF") || split[0].equals("URGENT FEE") || split[0].equals("PIPERPASS")){
+                return s;
+            }else {
+                s=split[0];
+                return s;
+            }
+        }else {
+            for (int i = 0; i < split.length; i++) {
+                if(!split[i].equals("CTF")&&!split[i].equals("URGENT FEE") && !split[i].equals("CTF")){
+                    if(i==split.length-1){
+                        s+=split[i];
+                    }else {
+                        s+=split[i]+",";
+                    }
+                }
+            }
+            return s;
+        }
+    }
 
     public static String getRandomNumber(int length) {
         String base = "0123456789";
@@ -875,9 +997,9 @@
         Page<TWarehouse> tWarehousePage = new Page<>(pageNumber, pageSize);
 
         EntityWrapper<TWarehouse> tWarehouseEntityWrapper = new EntityWrapper<>();
-        tWarehouseEntityWrapper.eq("company_id",1);
+        tWarehouseEntityWrapper.eq("company_id",0);
         if(Objects.nonNull(address)){
-            tWarehouseEntityWrapper.like("address",address);
+            tWarehouseEntityWrapper.like("code",address);
         }
         Page<TWarehouse> tWarehousePage1 = warehouseService.selectPage(tWarehousePage, tWarehouseEntityWrapper);
 
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
index 50ec3ef..c72b4de 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
@@ -396,13 +396,7 @@
                             double v = ((double) tUserFeeSetting.getFee()) / 100;
                             BigDecimal multiply = price.getPrice().multiply(new BigDecimal(v));
                             BigDecimal subtract = price.getPrice().subtract(multiply);
-                            priceInfo.setCarrierCost(subtract);
-                            priceInfo.setSalesProfit(new BigDecimal(commission));
-                            priceInfo.setMargin(multiply);
                         }else {
-                            priceInfo.setMargin(new BigDecimal(0));
-                            priceInfo.setSalesProfit(new BigDecimal(commission));
-                            priceInfo.setCarrierCost(price.getPrice());
                         }
                         priceInfos.add(priceInfo);
                         break;
@@ -412,11 +406,8 @@
         }else {
             for (TPrice price : prices) {
                 PriceInfo priceInfo = new PriceInfo();
-                priceInfo.setCarrierCost(price.getPrice());
                 priceInfo.setCustomerCost(price.getPrice());
                 priceInfo.setName(price.getType());
-                priceInfo.setSalesProfit(new BigDecimal(0));
-                priceInfo.setMargin(new BigDecimal(0));
                 priceInfos.add(priceInfo);
             }
         }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/RoleController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/RoleController.java
index 11fb3a9..ec1fb8d 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/RoleController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/RoleController.java
@@ -15,6 +15,7 @@
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.IRoleService;
+import com.stylefeng.guns.modular.system.service.ITUserService;
 import com.stylefeng.guns.modular.system.service.IUserService;
 import com.stylefeng.guns.modular.system.service.SysOperationService;
 import com.stylefeng.guns.modular.system.utils.tips.SuccessTip;
@@ -53,6 +54,9 @@
 
     @Autowired
     private SysOperationService sysOperation;
+
+    @Autowired
+    private ITUserService itUserService;
 
 
 
@@ -217,13 +221,12 @@
     @GetMapping("/getAuthority")
     @ResponseBody
     public Object getAuthority(Integer userId) {
-        User user = userService.selectById(userId);
+        TUser user = itUserService.selectById(userId);
         if(user==null){
             throw new GunsException(BizExceptionEnum.NO_THIS_USER);
         }
-        String roleid = user.getRoleid();
         // 当前拥有的
-        List<Relation> relations = roleService.selectAuthority(roleid);
+        List<Relation> relations = roleService.selectAuthority(String.valueOf(userId));
         List<Menu> menuList = roleService.getRelation1(relations.stream().map(Relation::getMenuid).collect(Collectors.toList()));
         List<Menu> parent = menuList.stream().filter(role -> role.getPcode().equals("0")).collect(Collectors.toList());
         getChildren(parent,menuList);
@@ -247,7 +250,7 @@
     @ApiOperation(value = "根据角色id获取权限信息",notes="根据角色id获取权限信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
-            @ApiImplicitParam(name = "roleId", value = "角色Id", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "roleId", value = "用户Id", required = true, dataType = "int"),
     })
     @GetMapping("/getAuthorityFromRole")
     @ResponseBody
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/TUserController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/TUserController.java
index dd08eb8..c7d5a02 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/TUserController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/TUserController.java
@@ -78,7 +78,7 @@
     @PostMapping(value = "/getUserList")
     @ResponseBody
     public Object getUserList(Integer tUserId,int pageNumber,int pageSize) {
-        Page<TUser> tUserPage = tUserService.selectPage(new Page<>(pageNumber, pageNumber), new EntityWrapper<TUser>().eq("parent_id", tUserId).eq("remove", 0).eq("status", 1));
+        Page<TUser> tUserPage = tUserService.selectPage(new Page<>(pageNumber, pageSize), new EntityWrapper<TUser>().eq("parent_id", tUserId).eq("remove", 0).eq("status", 1));
         List<TUser> records = tUserPage.getRecords();
         Page<UserChildVo> userChildVoPage = new Page<>();
         BeanUtil.copyProperties(tUserPage,userChildVoPage);
@@ -88,6 +88,7 @@
             userChildVo.setName(record.getCompanyName());
             userChildVo.setPhone(record.getPhone());
             userChildVo.setAccount(record.getAccount());
+            userChildVo.setId(record.getId());
             userChildVos.add(userChildVo);
         }
         userChildVoPage.setRecords(userChildVos);
diff --git a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TQuoteMapper.xml b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TQuoteMapper.xml
index b8bfad6..85eb9df 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TQuoteMapper.xml
+++ b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TQuoteMapper.xml
@@ -40,6 +40,7 @@
             and t2.account =#{account}
         </if>
         group by t1.id
+        order by t1.create_time desc
     </select>
     <select id="queryDemandListExport" resultType="com.stylefeng.guns.modular.system.model.DemandListVo">
         select t1.id,t2.id userId,t2.company_name companyName,
diff --git a/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java b/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java
index 68754b8..d658d16 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java
@@ -2,7 +2,7 @@
 
 public enum UserFeeSettingEnum {
 
-    LH_FSH(1, "LH-FSH"),
+    LH_FSH(1, "LH+FSH"),
     CHASSIS_FEE(2, "Chassis fee"),
     PREPULL(3, "Prepull"),
     CHASSIS_SPLIT(4, "Chassis split"),
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/Menu.java b/src/main/java/com/stylefeng/guns/modular/system/model/Menu.java
index c8ca7c2..8608c4d 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/Menu.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/Menu.java
@@ -20,7 +20,7 @@
  * @author stylefeng
  * @since 2017-07-11
  */
-@TableName("sys_menu")
+@TableName("sys_menu_user")
 public class Menu extends Model<Menu> {
 
     private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/PriceInfo.java b/src/main/java/com/stylefeng/guns/modular/system/model/PriceInfo.java
index 91c89bc..be4db12 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/PriceInfo.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/PriceInfo.java
@@ -11,9 +11,4 @@
 
     private BigDecimal customerCost;
 
-    private BigDecimal carrierCost;
-
-    private BigDecimal salesProfit=new BigDecimal(BigInteger.ZERO);
-
-    private BigDecimal margin;
 }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/Relation.java b/src/main/java/com/stylefeng/guns/modular/system/model/Relation.java
index a241149..692a366 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/Relation.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/Relation.java
@@ -15,7 +15,7 @@
  * @author stylefeng
  * @since 2017-07-11
  */
-@TableName("sys_relation")
+@TableName("sys_relation_user")
 public class Relation extends Model<Relation> {
 
     private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/UserChildVo.java b/src/main/java/com/stylefeng/guns/modular/system/model/UserChildVo.java
index 5089582..8039bd0 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/UserChildVo.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/UserChildVo.java
@@ -4,6 +4,7 @@
 
 @Data
 public class UserChildVo {
+    private Integer id;
     private String name;
 
     private String phone;
diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java
index b953e55..cad0944 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java
@@ -128,7 +128,7 @@
 
     @Override
     public List<Menu> getRelation1(List<Long> collect) {
-        return menuMapper.selectList(new EntityWrapper<Menu>().in("id",collect));
+        return menuMapper.selectList(new EntityWrapper<Menu>().in("id",collect).orderBy("num",true));
     }
 
 }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCompanyServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCompanyServiceImpl.java
index d00e22f..30b60d9 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCompanyServiceImpl.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCompanyServiceImpl.java
@@ -155,11 +155,19 @@
                 tCompanyResp.setPrice(price.getCarPrice());
                 tCompanyRespList.add(tCompanyResp);
             }
-            BigDecimal bigDecimal = tCompanyRespList.stream().map(TCompanyResp::getPrice).reduce(BigDecimal::add).orElse(new BigDecimal(0.00));
+            BigDecimal bigDecimal = tCompanyRespList.stream().map(e->e.getPrice()==null?new BigDecimal(0):e.getPrice()).reduce(BigDecimal::add).orElse(new BigDecimal(0.00));
             tCompanyCalculationResp.setAllTotal(bigDecimal);
             tCompanyCalculationResp.setList(tCompanyRespList);
             // 过滤订单
             List<TOrder> orderList = orders.stream().filter(o -> o.getCompanyId().equals(company.getId())).collect(Collectors.toList());
+            for (TOrder tOrder2 : orderList) {
+                Integer port2 = tOrder2.getPort();
+                TPort tPort2 = tPortMapper.selectById(port2);
+                TCountry tCountry3 = tCountryMapper.selectById(tPort2.getCity());
+                tOrder2.setCity(tCountry3.getId());
+                TCountry tCountry4 = tCountryMapper.selectById(tCountry3.getParentId());
+                tOrder2.setState(tCountry4.getId());
+            }
             tCompanyCalculationResp.setOrderList(orderList);
 
             companyInfos.add(tCompanyCalculationResp);
diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
index 143bd67..73deee3 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -9,6 +9,7 @@
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.utils.GoogleMap.GeocodeVo;
 import com.stylefeng.guns.modular.system.utils.GoogleMap.GoogleMapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -480,15 +481,15 @@
         lonLat.setLng(tOrder.getStartLon());
         lonLats.add(lonLat);
         String s = tOrder.geteAddress();
-//        GeocodeVo geocode = googleMapUtil.getGeocode(s);
-//        orderInfo.setElat(String.valueOf(geocode.getLat()));
-//        orderInfo.setElon(String.valueOf(geocode.getLng()));
+        GeocodeVo geocode = googleMapUtil.getGeocode(s);
+        orderInfo.setElat(String.valueOf(geocode.getLat()));
+        orderInfo.setElon(String.valueOf(geocode.getLng()));
         lonLat=new LonLat();
-        lonLat.setLng("-113.066919618184");
-        lonLat.setLat("37.684389618184");
+        lonLat.setLng(tOrder.getStartLon());
+        lonLat.setLat(tOrder.getStartLat());
         lonLats.add(lonLat);
-        orderInfo.setElat("37.684389618184");
-        orderInfo.setElon("-113.066919618184");
+        orderInfo.setElat(String.valueOf(geocode.getLat()));
+        orderInfo.setElon(String.valueOf(geocode.getLng()));
 
         orderInfo.setLonLats(lonLats);
         Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId();
@@ -541,6 +542,7 @@
         ArrayList<String> strings = new ArrayList<>();
         goods.forEach(e->{
             strings.add(e.getContainerNumber());
+            strings.add(String.valueOf(e.getOrderId()));
             orderInfo.setBl(e.getBillNumber());
         });
         orderInfo.setContainer(strings);
diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/AddressLookup.java b/src/main/java/com/stylefeng/guns/modular/system/utils/AddressLookup.java
index 45782f6..65e1ffd 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/utils/AddressLookup.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/utils/AddressLookup.java
@@ -8,46 +8,32 @@
 public class AddressLookup {
     
     public static String getAddress(String administrativeCode) {
+        String apiKey = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss";
+
+        // 创建GeoApiContext实例
         GeoApiContext context = new GeoApiContext.Builder()
-            .apiKey("AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss") // REPLACE WITH YOUR API KEY
-            .build();
-        
-        GeocodingResult[] results = GeocodingApi.geocode(context, "EN " + administrativeCode).awaitIgnoreError();
-        
-        if (results == null || results.length == 0) {
-            return null;
+                .apiKey(apiKey)
+                .build();
+
+        // 设置邮政编码
+        String zipcode = administrativeCode;
+
+        try {
+            // 发起逆地理编码请求
+            GeocodingResult[] results = GeocodingApi.geocode(context, zipcode).await();
+
+            // 提取结果
+            if (results.length > 0) {
+                String formattedAddress = results[0].formattedAddress;
+                System.out.println("地址:" + formattedAddress);
+                return formattedAddress;
+            } else {
+                System.out.println("未找到地址");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
-        
-        AddressComponent[] components = results[0].addressComponents;
-        String province = getComponent(components, "administrative_area_level_1");
-        String city = getComponent(components, "locality");
-        String district = getComponent(components, "administrative_area_level_3");
-        String street = getComponent(components, "route");
-        String number = getComponent(components, "street_number");
-        
-        StringBuilder builder = new StringBuilder();
-        
-        if (province != null) {
-            builder.append(province);
-        }
-        
-        if (city != null && !city.equals(province)) {
-            builder.append(city);
-        }
-        
-        if (district != null && !district.equals(city)) {
-            builder.append(district);
-        }
-        
-        if (street != null) {
-            builder.append(street);
-        }
-        
-        if (number != null) {
-            builder.append(number);
-        }
-        
-        return builder.toString();
+        return null;
     }
     
     private static String getComponent(AddressComponent[] components, String type) {

--
Gitblit v1.7.1