diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/contant/CommonStatusEnum.java b/online-taxi-public/internal-common/src/main/java/com/internal/contant/CommonStatusEnum.java index fb3b29b..bf9d21d 100644 --- a/online-taxi-public/internal-common/src/main/java/com/internal/contant/CommonStatusEnum.java +++ b/online-taxi-public/internal-common/src/main/java/com/internal/contant/CommonStatusEnum.java @@ -1,7 +1,8 @@ package com.internal.contant; -public enum CommonStatusEnum { +public enum +CommonStatusEnum { /** *TOKEN类提示:1100 - 1199 */ @@ -11,6 +12,11 @@ public enum CommonStatusEnum { * */ VERIFICATION_CODE_ERROR(1099,"验证码错误"), + + /** + *计价规则:1300-1399 + */ + PRICE_RULE_EMPTY(1300,"规则不存在"), /** * 成功 */ @@ -24,6 +30,8 @@ public enum CommonStatusEnum { + + private int code; private String message; diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/dto/PriceRule.java b/online-taxi-public/internal-common/src/main/java/com/internal/dto/PriceRule.java new file mode 100644 index 0000000..093d37b --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/dto/PriceRule.java @@ -0,0 +1,16 @@ +package com.internal.dto; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class PriceRule { + + private String cityCode; + private String vehicleType; + private Double startFare; + private int startMile; + private double unitPricePerMile; + private double unitPricePerMinute; +} diff --git a/online-taxi-public/servcie-price/pom.xml b/online-taxi-public/servcie-price/pom.xml index 1d547dd..af854f4 100644 --- a/online-taxi-public/servcie-price/pom.xml +++ b/online-taxi-public/servcie-price/pom.xml @@ -35,5 +35,16 @@ io.github.openfeign feign-httpclient + + + com.baomidou + mybatis-plus-boot-starter + 3.4.3.1 + + + + mysql + mysql-connector-java + \ No newline at end of file diff --git a/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/ServicePriceApplication.java b/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/ServicePriceApplication.java index 57f15d2..f2253b5 100644 --- a/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/ServicePriceApplication.java +++ b/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/ServicePriceApplication.java @@ -1,5 +1,6 @@ package com.taxi.serviceprice; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @@ -8,6 +9,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableDiscoveryClient//服务发现 @EnableFeignClients +@MapperScan("com.taxi.serviceprice.mapper") public class ServicePriceApplication { public static void main(String[] args) { diff --git a/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/mapper/PriceRuleMapper.java b/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/mapper/PriceRuleMapper.java new file mode 100644 index 0000000..5b2c84e --- /dev/null +++ b/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/mapper/PriceRuleMapper.java @@ -0,0 +1,9 @@ +package com.taxi.serviceprice.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.internal.dto.PriceRule; +import org.springframework.stereotype.Repository; + +@Repository +public interface PriceRuleMapper extends BaseMapper { +} diff --git a/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/service/ForecastPriceService.java b/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/service/ForecastPriceService.java index f2eec3f..62df458 100644 --- a/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/service/ForecastPriceService.java +++ b/online-taxi-public/servcie-price/src/main/java/com/taxi/serviceprice/service/ForecastPriceService.java @@ -1,13 +1,20 @@ package com.taxi.serviceprice.service; +import com.internal.contant.CommonStatusEnum; +import com.internal.dto.PriceRule; import com.internal.dto.ResponseResult; import com.internal.request.ForecastPriceDTO; import com.internal.response.DirectionResponse; +import com.taxi.serviceprice.mapper.PriceRuleMapper; import com.taxi.serviceprice.remote.ServiceMapClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Service @Slf4j public class ForecastPriceService { @@ -15,6 +22,9 @@ public class ForecastPriceService { @Autowired private ServiceMapClient serviceMapClient; + @Autowired + private PriceRuleMapper priceRuleMapper; + /** * 根据 出发地和目的的经纬度,计算预估价格 * @param depLongitude @@ -42,6 +52,16 @@ public class ForecastPriceService { log.info("距离"+directionResponse.getData().getDistance()); log.info("时间"+directionResponse.getData().getDuration()); log.info("读取计价规则"); + Map queryMap = new HashMap<>(); + queryMap.put("city_code","11000"); + queryMap.put("vehicle_type","1"); + List pricetRules = priceRuleMapper.selectByMap(queryMap); + log.info("读取计价规则count = "+pricetRules.size()); + if(pricetRules.size() < 1){ + ResponseResult.fail(CommonStatusEnum.PRICE_RULE_EMPTY); + }else{ + + } log.info("根据距离、时长,计价规则;计算价格"); return ResponseResult.success(); } diff --git a/online-taxi-public/servcie-price/src/main/resources/application.yaml b/online-taxi-public/servcie-price/src/main/resources/application.yaml index 4211a0f..b559308 100644 --- a/online-taxi-public/servcie-price/src/main/resources/application.yaml +++ b/online-taxi-public/servcie-price/src/main/resources/application.yaml @@ -2,6 +2,11 @@ server: port: 8084 spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/service-price?characterEncoding=utf-8&serverTimezone=GMT%2B8 + username: root + password: topsun123 cloud: nacos: discovery: diff --git a/online-taxi-public/servcie-price/target/classes/application.yaml b/online-taxi-public/servcie-price/target/classes/application.yaml index 4211a0f..b559308 100644 --- a/online-taxi-public/servcie-price/target/classes/application.yaml +++ b/online-taxi-public/servcie-price/target/classes/application.yaml @@ -2,6 +2,11 @@ server: port: 8084 spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/service-price?characterEncoding=utf-8&serverTimezone=GMT%2B8 + username: root + password: topsun123 cloud: nacos: discovery: