Commit fb1f070a authored by 164003836@qq.con's avatar 164003836@qq.con

Merge remote-tracking branch 'origin/master'

parents 643572c6 bd4549c9
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
<module>ace-modules</module> <module>ace-modules</module>
<module>xx-member</module> <module>xx-member</module>
<module>xx-member-api</module> <module>xx-member-api</module>
<module>xx-third-party</module>
<module>xx-third-party-api</module>
<module>vehicle</module> <module>vehicle</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>
......
package com.xxfc.member.vo; package com.xxfc.member.vo;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
......
...@@ -11,7 +11,6 @@ import com.xxfc.member.mapper.MemberFamilyInfoMapper; ...@@ -11,7 +11,6 @@ import com.xxfc.member.mapper.MemberFamilyInfoMapper;
import com.xxfc.member.mapper.MemberInfoMapper; import com.xxfc.member.mapper.MemberInfoMapper;
import com.xxfc.member.vo.MemberFamilyInfoVo; import com.xxfc.member.vo.MemberFamilyInfoVo;
import com.xxfc.member.vo.MemberInfoVo; import com.xxfc.member.vo.MemberInfoVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
...@@ -4,7 +4,6 @@ import com.github.wxiaoqi.security.common.msg.BaseResponse; ...@@ -4,7 +4,6 @@ import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse; import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.xxfc.member.MemberApplicationTests; import com.xxfc.member.MemberApplicationTests;
import com.xxfc.member.entity.MemberFamilyInfo;
import com.xxfc.member.vo.MemberFamilyInfoVo; import com.xxfc.member.vo.MemberFamilyInfoVo;
import com.xxfc.member.vo.MemberInfoVo; import com.xxfc.member.vo.MemberInfoVo;
import org.junit.Assert; import org.junit.Assert;
...@@ -14,7 +13,6 @@ import org.junit.Test; ...@@ -14,7 +13,6 @@ import org.junit.Test;
import org.junit.runners.MethodSorters; import org.junit.runners.MethodSorters;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.persistence.Table;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ace-security</artifactId>
<groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-third-party-api</artifactId>
<dependencies>
<!-- ace -->
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-common</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<!-- 持久层 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.xxfc.thirdparty.api;
import com.xxfc.thirdparty.model.JuheResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@FeignClient("xx-third-party")
@RequestMapping("3p/tv")
public interface ITrafficViolationsService {
/**
* 获取支持的城市
* @param province
* @return
*/
@RequestMapping(value = "city", method = RequestMethod.GET)
JuheResult getCityInfo(String province);
/**
* 查违章
* @param city 城市代码
* @param hphm 车牌号码
* @param hpzl 车辆类型 01:大车,02:小车
* @param engineno 发动机号
* @param classno 车架号
* @return
*/
@RequestMapping(value = "trafficViolations", method = RequestMethod.GET)
JuheResult queryTrafficViolations(String city, String hphm, String hpzl, String engineno, String classno);
/**
* 获取剩余查询次数
* @return
*/
@RequestMapping(value = "balance", method = RequestMethod.GET)
JuheResult getBalance();
/**
* 根据车牌查归属地
* @param hphm 车牌号码
* @return
*/
@RequestMapping(value = "carPre", method = RequestMethod.GET)
JuheResult carPre(String hphm);
}
package com.xxfc.thirdparty.model;
import lombok.Data;
/**
* 根据车牌前缀查地区的返回结果
*/
@Data
public class JuheCarPreInfo {
String city_name;
String city_code;
String abbr;
String engine;
String engineno;
String classa;
String classno;
String province;
}
package com.xxfc.thirdparty.model;
import lombok.Data;
@Data
public class JuheResult<T> {
String resultcode;
String reason;
T result;
Integer error_code;
}
package com.xxfc.thirdparty.model;
import lombok.Data;
/**
* 车辆违章查询剩余次数
*/
@Data
public class JuheTrafficViolationsBalanceInfo {
String surplus;
}
package com.xxfc.thirdparty.model;
import lombok.Data;
@Data
public class JuheTrafficViolationsCityInfo {
String city_name;
String city_code;
String abbr;
String engine;
String engineno;
String classa;
String classno;
String regist;
String registno;
}
package com.xxfc.thirdparty.model;
import lombok.Data;
import java.util.List;
/**
* 违章信息
*/
@Data
public class JuheTrafficViolationsInfo {
/**
* 省份代码
*/
String province;
/**
* 城市代码
*/
String city;
/**
* 车牌号码
*/
String hphm;
/**
* 牌类型,默认02:小型车,01:大型车
*/
String hpzl;
/**
* 违章信息列表
*/
List<JuheTrafficViolationsInfoItem> lists;
}
package com.xxfc.thirdparty.model;
import lombok.Data;
/**
* 违章信息项
*/
@Data
public class JuheTrafficViolationsInfoItem {
String data;
String area;
String act;
String code;
String fen;
String wzcity;
String money;
String handled;
String archiveno;
}
package com.xxfc.thirdparty.model;
import lombok.Data;
import java.util.List;
@Data
public class JuheTrafficViolationsProvinceInfo {
String province;
String province_code;
List<JuheTrafficViolationsCityInfo> citys;
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ace-security</artifactId>
<groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-third-party</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- service -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- ace -->
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>xx-third-party-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-common</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-auth-client</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-cache</artifactId>
<version>0.0.2</version>
</dependency>
<!-- 持久层 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- utils -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.33</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- mybatis generator自动生成代码 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<dependencies>
<dependency>
<groupId> mysql</groupId>
<artifactId> mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.4</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!--允许移动生成的文件 -->
<verbose>true</verbose>
<!-- 是否覆盖 -->
<overwrite>true</overwrite>
<!-- 自动生成的配置 -->
<configurationFile>
src/main/resources/builder/mybatis-generator.xml</configurationFile>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.xxfc.thirdparty;
import com.ace.cache.EnableAceCache;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableDiscoveryClient
//@EnableAceAuthClient
@EnableAceCache
@EnableTransactionManagement
@MapperScan("com.xxfc.thirdparty.mapper")
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign"})
public class ThirdPartyApplication {
public static void main(String[] args) {
SpringApplication.run(ThirdPartyApplication.class, args);
}
}
package com.xxfc.thirdparty.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class RestConfiguration {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
package com.xxfc.thirdparty.config;
import com.github.wxiaoqi.security.auth.client.interceptor.ServiceAuthRestInterceptor;
import com.github.wxiaoqi.security.auth.client.interceptor.UserAuthRestInterceptor;
import com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.Collections;
@Configuration("thirdpartyWebConfig")
@Primary
public class WebConfiguration implements WebMvcConfigurer {
@Bean
GlobalExceptionHandler getGlobalExceptionHandler() {
return new GlobalExceptionHandler();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(getServiceAuthRestInterceptor()).
addPathPatterns(getIncludePathPatterns()).addPathPatterns("/3p/**");
registry.addInterceptor(getUserAuthRestInterceptor()).
addPathPatterns(getIncludePathPatterns());
}
@Bean
ServiceAuthRestInterceptor getServiceAuthRestInterceptor() {
return new ServiceAuthRestInterceptor();
}
@Bean
UserAuthRestInterceptor getUserAuthRestInterceptor() {
return new UserAuthRestInterceptor();
}
/**
* 需要用户和服务认证判断的路径
* @return
*/
private ArrayList<String> getIncludePathPatterns() {
ArrayList<String> list = new ArrayList<>();
String[] urls = {
"/3p/**"
};
Collections.addAll(list, urls);
return list;
}
}
package com.xxfc.thirdparty.controller;
import com.xxfc.thirdparty.api.ITrafficViolationsService;
import com.xxfc.thirdparty.model.JuheResult;
import com.xxfc.thirdparty.service.TrafficViolationsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("3p/tv")
public class TrafficViolationsController implements ITrafficViolationsService {
@Autowired
TrafficViolationsService tvService;
@Override
@GetMapping("city")
public JuheResult getCityInfo(String province) {
return tvService.getCity(province);
}
@Override
@GetMapping("trafficViolations")
public JuheResult queryTrafficViolations(String city, String hphm, String hpzl, String engineno, String classno) {
return tvService.queryViolations(city, hphm, hpzl, engineno, classno);
}
@Override
@GetMapping("balance")
public JuheResult getBalance() {
return tvService.queryBalance();
}
@Override
@GetMapping("carPre")
public JuheResult carPre(String hphm) {
return tvService.queryCityByHphm(hphm);
}
}
package com.xxfc.thirdparty.service;
import com.alibaba.fastjson.JSON;
import com.xxfc.thirdparty.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
/**
* 违章查询
*/
@Service
public class TrafficViolationsService {
@Value("${juhe.key}")
private String KEY;
//支持的城市
private static final String URL_GET_CITY = "http://v.juhe.cn/wz/citys?" +
"province={province}&dtype={dtype}&format={format}&callback={callback}&key={key}";
//查违章
private static final String URL_QUERY_WZ = "http://v.juhe.cn/wz/query?" +
"dtype={dtype}&city={city}&hphm={hphm}&hpzl={hpzl}&engineno={engineno}&classno={classno}&key={key}";
//剩余次数
private static final String URL_BALANCE = "http://v.juhe.cn/wz/status?" +
"dtype={dtype}&key={key}";
//根据车牌查城市
private static final String URL_CAR_PRE = "http://v.juhe.cn/wz/carPre?" +
"hphm={hphm}&key={key}";
@Autowired
RestTemplate restTemplate;
/**
* 获取支持城市
* province string N 默认全部,省份简写,如:ZJ、JS
* dtype string N 返回数据格式:json或xml或jsonp,默认json
* format int N 格式选择1或2,默认1
* callback String N 返回格式选择jsonp时,必须传递
* {"resultcode":"101","reason":"error key","result":null,"error_code":10001}
*/
public JuheResult<Map<String, JuheTrafficViolationsProvinceInfo>> getCity(String province) {
Map<String, String> paramsMap = new HashMap<>();
paramsMap.put("key", KEY);
paramsMap.put("province", province == null ? "" : province);
paramsMap.put("dtype", "json");
paramsMap.put("format", "");
paramsMap.put("callback", "");
return query(URL_GET_CITY, paramsMap);
}
/**
* 查违章
* dtype string 否 返回数据格式:默认:json
* city String 是 城市代码 *
* hphm String 是 号牌号码 完整7位 ,需要utf8 urlencode*
* hpzl String 是 号牌类型,默认02:小型车,01:大型车
* engineno String 否 发动机号 (具体是否需要根据城市接口中的参数填写)
* classno String 否 车架号 (具体是否需要根据城市接口中的参数填写)
*/
public JuheResult<JuheTrafficViolationsInfo> queryViolations(String city, String hphm, String hpzl,
String engineno, String classno) {
Map<String, String> paramsMap = new HashMap<>();
paramsMap.put("key", KEY);
paramsMap.put("dtype", "json");
paramsMap.put("city", city);
paramsMap.put("hphm", hphm);
paramsMap.put("hpzl", hpzl);
paramsMap.put("engineno", engineno);
paramsMap.put("classno", classno);
return query(URL_QUERY_WZ, paramsMap);
}
/**
* 查询剩余次数
*/
public JuheResult<JuheTrafficViolationsBalanceInfo> queryBalance() {
Map<String, String> paramsMap = new HashMap<>();
paramsMap.put("key", KEY);
paramsMap.put("dtype", "json");
return query(URL_BALANCE, paramsMap);
}
/**
* 根据车牌前缀查城市参数
*/
public JuheResult<JuheCarPreInfo> queryCityByHphm(String hphm) {
Map<String, String> paramsMap = new HashMap<>();
paramsMap.put("key", KEY);
paramsMap.put("hphm", hphm);
return query(URL_CAR_PRE, paramsMap);
}
private JuheResult query(String url, Map<String, String> paramsMap) {
try {
String responseStr = restTemplate.getForObject(url, String.class, paramsMap);
return JSON.parseObject(responseStr, JuheResult.class);
} catch (RestClientException ex) {
JuheResult result = new JuheResult();
result.setReason("请求错误");
result.setResultcode("500");
return result;
}
}
}
server:
port: 8002
logging:
level:
com.xxfc.member: DEBUG
spring:
application:
name: xx-third-party
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
default-property-inclusion: non_null
datasource:
name: test
url: jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:3306}/ag_admin_v1?useUnicode=true&characterEncoding=UTF8
username: root
password: 123456
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
rabbitmq:
host: ${RABBIT_MQ_HOST:localhost}
port: ${RABBIT_MQ_PORT:5672}
username: guest
password: guest
sleuth:
enabled: true
http:
legacy:
enabled: true
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
sentinel:
transport:
dashboard: localhost:8080
sample:
zipkin:
# When enabled=false, traces log to the console. Comment to send to zipkin
enabled: false
mybatis:
# basepackage: com.github.wxiaoqi.security.admin.mapper
# xmlLocation: classpath:mapper/**/*.xml
mapper-locations: "classpath*:mapper/**/*.xml"
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
mapper:
mappers: com.github.wxiaoqi.security.common.mapper.MysqlMapper
# 必须配置
feign:
httpclient:
enabled: false
okhttp:
enabled: true
ribbon:
eureka:
enabled: true
ReadTimeout: 100000
ConnectTimeout: 100000
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 1
OkToRetryOnAllOperations: false
hystrix:
threadpool:
default:
coreSize: 1000 ##并发执行的最大线程数,默认10
maxQueueSize: 1000 ##BlockingQueue的最大队列数
queueSizeRejectionThreshold: 500 ##即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 110000
# 配置swagger
swagger:
enabled: true
base-package: com.github.wxiaoqi.security.admin
title: ace-admin
version: 1.0.0.SNAPSHOT
description: 管理后端服务
contact:
name: admin
auth:
serviceId: xx-third-party
user:
token-header: Authorization
client:
id: xx-member
secret: 123456
token-header: x-client-token
#redis-cache 相关
redis:
pool:
maxActive: 300
maxIdle: 100
maxWait: 1000
host: ${REDIS_HOST:localhost}
port: ${REDIS_PORT:6379}
password:
timeout: 2000
# 服务或应用名
sysName: xx-member
enable: true
database: 0
management:
endpoints:
web:
exposure:
include: '*'
security:
enabled: false
juhe:
key: 714ac24873c6a8b76114dca575a3748b
\ No newline at end of file
spring:
application:
name: xx-third-party
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
# server-addr: 10.5.52.2:8848
file-extension: yaml
profiles:
active: dev
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="Mysql" targetRuntime="MyBatis3">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<property name="mergeable" value="false" />
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<!-- caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true -->
<property name="caseSensitive" value="false"/>
</plugin>
<!--去除注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ag_admin_v1?useUnicode=true&amp;characterEncoding=UTF8&amp;nullCatalogMeansCurrent=true"
userId="root"
password="123456">
</jdbcConnection>
<!-- Model -->
<javaModelGenerator targetPackage="com.xxfc.member.entity"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- XML -->
<sqlMapGenerator targetPackage="com.xxfc.member.mapper"
targetProject="src/main/resources/mapper">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- Mapper -->
<javaClientGenerator targetPackage="com.xxfc.member.mapper"
targetProject="src/main/java"
type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="member_info" domainObjectName="MemberInfo" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
<table tableName="member_family_info" domainObjectName="MemberFamilyInfo" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>
\ No newline at end of file
package com.xxfc.thirdparty;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class ThirdPartyApplicationTests {
}
package com.xxfc.thirdparty.service;
import com.xxfc.thirdparty.ThirdPartyApplicationTests;
import com.xxfc.thirdparty.model.JuheResult;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
public class TrafficViolationsServiceTest extends ThirdPartyApplicationTests {
@Autowired
TrafficViolationsService service;
@Before
public void setUp() throws Exception {
}
@Test
public void getCity() {
JuheResult result = service.getCity(null);
System.out.println(result);
}
@Test
public void queryViolations() {
JuheResult result = service.queryViolations("GD_DG","粤S0634C","02",
"1615000569","LGWEF6A5XGH002066");
System.out.println(result);
}
@Test
public void queryBalance() {
JuheResult result = service.queryBalance();
System.out.println(result);
}
@Test
public void queryCityByHphm() {
JuheResult result = service.queryCityByHphm("粤S0634C");
System.out.println(result);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment