Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-api
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Data-王博
finance-api
Commits
446e95ab
Commit
446e95ab
authored
Jan 04, 2017
by
Data-王博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目初始导入
parents
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
980 additions
and
0 deletions
+980
-0
.classpath
.classpath
+33
-0
.project
.project
+23
-0
pom.xml
pom.xml
+209
-0
AddInterceptor.java
src/main/java/cn/quantgroup/test/AddInterceptor.java
+0
-0
BootStarter.java
src/main/java/cn/quantgroup/test/BootStarter.java
+18
-0
ExtJdbcDaoSupport.java
src/main/java/cn/quantgroup/test/ExtJdbcDaoSupport.java
+137
-0
TestController.java
...in/java/cn/quantgroup/test/controller/TestController.java
+27
-0
UserDao.java
src/main/java/cn/quantgroup/test/dao/UserDao.java
+26
-0
JsonExceptionResolver.java
...n/java/cn/quantgroup/test/json/JsonExceptionResolver.java
+77
-0
JsonResponse.java
src/main/java/cn/quantgroup/test/json/JsonResponse.java
+103
-0
JsonResponseMethodReturnValueHandler.java
...group/test/json/JsonResponseMethodReturnValueHandler.java
+57
-0
User.java
src/main/java/cn/quantgroup/test/model/User.java
+24
-0
TestService.java
src/main/java/cn/quantgroup/test/service/TestService.java
+5
-0
TestServiceImpl.java
...java/cn/quantgroup/test/service/impl/TestServiceImpl.java
+18
-0
JRConstant.java
src/main/java/cn/quantgroup/test/util/JRConstant.java
+15
-0
ResultCode.java
src/main/java/cn/quantgroup/test/util/ResultCode.java
+37
-0
App.java
src/main/java/finance_api/finance_api/App.java
+13
-0
application.properties
src/main/resources/application.properties
+10
-0
applicationContext.xml
src/main/resources/applicationContext.xml
+30
-0
application.properties
src/main/resources/prod/application.properties
+10
-0
applicationContext.xml
src/main/resources/prod/applicationContext.xml
+30
-0
application.properties
src/main/resources/test/application.properties
+10
-0
applicationContext.xml
src/main/resources/test/applicationContext.xml
+30
-0
AppTest.java
src/test/java/finance_api/finance_api/AppTest.java
+38
-0
No files found.
.classpath
0 → 100644
View file @
446e95ab
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry
kind=
"src"
output=
"target/classes"
path=
"src/main/java"
>
<attributes>
<attribute
name=
"optional"
value=
"true"
/>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"src"
output=
"target/test-classes"
path=
"src/test/java"
>
<attributes>
<attribute
name=
"optional"
value=
"true"
/>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
excluding=
"**"
kind=
"src"
output=
"target/classes"
path=
"src/main/resources"
>
<attributes>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"src"
path=
"src/main/resources/test"
/>
<classpathentry
kind=
"src"
path=
"src/main/resources/prod"
/>
<classpathentry
kind=
"con"
path=
"org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"
>
<attributes>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"con"
path=
"org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"
>
<attributes>
<attribute
name=
"maven.pomderived"
value=
"true"
/>
</attributes>
</classpathentry>
<classpathentry
kind=
"output"
path=
"target/classes"
/>
</classpath>
.project
0 → 100644
View file @
446e95ab
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
finance-api
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.jdt.core.javabuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.m2e.core.maven2Builder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
org.eclipse.jdt.core.javanature
</nature>
<nature>
org.eclipse.m2e.core.maven2Nature
</nature>
</natures>
</projectDescription>
pom.xml
0 → 100644
View file @
446e95ab
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
cn.quantgroup
</groupId>
<artifactId>
finance-api
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<packaging>
jar
</packaging>
<name>
finance-api
</name>
<url>
http://maven.apache.org
</url>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<java.version>
1.8
</java.version>
<maven.test.skip>
true
</maven.test.skip>
<start-class>
cn.quantgroup.test.BootStarter
</start-class>
</properties>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
1.2.5.RELEASE
</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.6
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-jdbc
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-mail
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-redis
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.h2database
</groupId>
<artifactId>
h2
</artifactId>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<version>
5.1.38
</version>
</dependency>
<dependency>
<groupId>
com.google.code.gson
</groupId>
<artifactId>
gson
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpcore
</artifactId>
<version>
4.3.3
</version>
</dependency>
<dependency>
<groupId>
commons-lang
</groupId>
<artifactId>
commons-lang
</artifactId>
<version>
2.6
</version>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
<version>
4.3.6
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.4
</version>
</dependency>
<dependency>
<groupId>
commons-beanutils
</groupId>
<artifactId>
commons-beanutils
</artifactId>
<version>
1.9.2
</version>
</dependency>
<dependency>
<groupId>
commons-collections
</groupId>
<artifactId>
commons-collections
</artifactId>
<version>
3.2.1
</version>
</dependency>
<dependency>
<groupId>
commons-httpclient
</groupId>
<artifactId>
commons-httpclient
</artifactId>
<version>
3.1
</version>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-core
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-databind
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-annotations
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
3.12
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
<version>
3.12
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml-schemas
</artifactId>
<version>
3.12
</version>
</dependency>
<dependency>
<groupId>
ch.ethz.ganymed
</groupId>
<artifactId>
ganymed-ssh2
</artifactId>
<version>
262
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
1.16.4
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-compress
</artifactId>
<version>
1.10
</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>
${project.basedir}/src/main/resources
</directory>
</resource>
<resource>
<directory>
${project.build.directory}/target/classes
</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>
prod
</id>
<properties>
<profiles.activation>
prod
</profiles.activation>
</properties>
<build>
<resources>
<resource>
<directory>
${project.basedir}/src/main/resources/prod
</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<id>
test
</id>
<properties>
<profiles.activation>
test
</profiles.activation>
</properties>
<build>
<resources>
<resource>
<directory>
${project.basedir}/src/main/resources/test
</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
</project>
src/main/java/cn/quantgroup/test/AddInterceptor.java
0 → 100644
View file @
446e95ab
src/main/java/cn/quantgroup/test/BootStarter.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.ImportResource
;
import
org.springframework.context.annotation.PropertySource
;
@PropertySource
({
"classpath:application.properties"
})
@ImportResource
(
value
={
"classpath:applicationContext.xml"
})
@SpringBootApplication
@ComponentScan
(
"cn.quantgroup.test"
)
@EnableAutoConfiguration
public
class
BootStarter
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
BootStarter
.
class
,
args
);
}
}
src/main/java/cn/quantgroup/test/ExtJdbcDaoSupport.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.DataRetrievalFailureException
;
import
org.springframework.jdbc.core.BeanPropertyRowMapper
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.RowMapper
;
import
org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport
;
import
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
;
import
org.springframework.jdbc.support.GeneratedKeyHolder
;
import
org.springframework.jdbc.support.KeyHolder
;
import
java.io.Serializable
;
import
java.util.*
;
import
javax.annotation.Resource
;
import
javax.annotation.sql.DataSourceDefinition
;
import
javax.annotation.sql.DataSourceDefinitions
;
/**
*
* @author dave
*
*/
public
abstract
class
ExtJdbcDaoSupport
<
OBJ
extends
Serializable
>
extends
NamedParameterJdbcDaoSupport
{
private
static
final
String
DEFAULT_KEY
=
"id"
;
protected
RowMapper
<
OBJ
>
rowMapper
=
new
BeanPropertyRowMapper
<
OBJ
>(
getObjectClass
());
protected
abstract
Class
<
OBJ
>
getObjectClass
();
protected
int
getInt
(
String
sql
,
Object
...
args
){
return
getJdbcTemplate
().
queryForObject
(
sql
,
args
,
Integer
.
class
);
}
protected
int
getInt
(
String
sql
,
Map
<
String
,
?>
paramMap
){
new
NamedParameterJdbcTemplate
(
getJdbcTemplate
());
return
getNamedParameterJdbcTemplate
().
queryForObject
(
sql
,
paramMap
,
Integer
.
class
);
}
protected
OBJ
getOne
(
String
sql
,
Object
...
args
){
List
<
OBJ
>
result
=
getJdbcTemplate
().
query
(
sql
,
args
,
rowMapper
);
if
(
CollectionUtils
.
isEmpty
(
result
)){
return
null
;
}
return
result
.
get
(
0
);
}
protected
OBJ
getOne
(
String
sql
,
Map
<
String
,
?>
paramMap
){
List
<
OBJ
>
result
=
getNamedParameterJdbcTemplate
().
query
(
sql
,
paramMap
,
rowMapper
);
if
(
CollectionUtils
.
isEmpty
(
result
)){
return
null
;
}
return
result
.
get
(
0
);
}
protected
List
<
OBJ
>
getSome
(
String
sql
,
Object
...
args
){
return
getJdbcTemplate
().
query
(
sql
,
args
,
rowMapper
);
}
protected
List
<
OBJ
>
getSome
(
String
sql
,
Map
<
String
,
?>
paramMap
){
return
getNamedParameterJdbcTemplate
().
query
(
sql
,
paramMap
,
rowMapper
);
}
public
long
insertAndReturnLongKey
(
String
sql
,
OBJ
obj
){
return
insertAndReturnLongKey
(
sql
,
obj
,
DEFAULT_KEY
);
}
public
long
insertAndReturnLongKey
(
String
sql
,
OBJ
obj
,
String
key
)
{
KeyHolder
holder
=
new
GeneratedKeyHolder
();
this
.
getNamedParameterJdbcTemplate
().
update
(
sql
,
new
BeanPropertySqlParameterSource
(
obj
),
holder
,
new
String
[]
{
key
});
if
(
holder
.
getKey
()
!=
null
)
{
return
holder
.
getKey
().
longValue
();
}
return
0
;
}
public
int
insertAndReturnIntKey
(
String
sql
,
OBJ
obj
){
return
insertAndReturnIntKey
(
sql
,
obj
,
DEFAULT_KEY
);
}
public
int
insertAndReturnIntKey
(
String
sql
,
OBJ
obj
,
String
key
)
{
KeyHolder
holder
=
new
GeneratedKeyHolder
();
this
.
getNamedParameterJdbcTemplate
().
update
(
sql
,
new
BeanPropertySqlParameterSource
(
obj
),
holder
,
new
String
[]
{
key
});
if
(
holder
.
getKeyList
().
size
()
>
1
){
Iterator
<
Object
>
keyIter
=
holder
.
getKeyList
().
get
(
0
).
values
().
iterator
();
if
(
keyIter
.
hasNext
())
{
Object
hkey
=
keyIter
.
next
();
if
(!(
hkey
instanceof
Number
))
{
throw
new
DataRetrievalFailureException
(
"The generated key is not of a supported numeric type. "
+
"Unable to cast ["
+
(
hkey
!=
null
?
hkey
.
getClass
().
getName
()
:
null
)
+
"] to ["
+
Number
.
class
.
getName
()
+
"]"
);
}
return
((
Number
)
hkey
).
intValue
();
}
else
{
throw
new
DataRetrievalFailureException
(
"Unable to retrieve the generated key. "
+
"Check that the table has an identity column enabled."
);
}
}
if
(
holder
.
getKey
()
!=
null
)
{
return
holder
.
getKey
().
intValue
();
}
return
0
;
}
protected
Map
<
String
,
Object
>
buildMap
(
String
key1
,
Object
value1
,
Object
...
args
){
if
(
args
==
null
||
args
.
length
==
0
)
{
return
Collections
.
singletonMap
(
key1
,
value1
);
}
if
(
args
.
length
%
2
!=
0
){
throw
new
IllegalArgumentException
(
"Number of args must be even"
);
}
Map
<
String
,
Object
>
result
=
new
HashMap
<
String
,
Object
>();
result
.
put
(
key1
,
value1
);
for
(
int
i
=
0
;
i
<
args
.
length
;
i
+=
2
){
result
.
put
(
args
[
i
].
toString
(),
args
[
i
+
1
]);
}
return
result
;
}
}
src/main/java/cn/quantgroup/test/controller/TestController.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
controller
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
cn.quantgroup.test.json.JsonResponse
;
import
cn.quantgroup.test.service.TestService
;
/**
*
* @author dave
*
*/
@RestController
public
class
TestController
{
@Autowired
private
TestService
testService
;
@RequestMapping
(
"/api"
)
public
JsonResponse
test
(){
testService
.
getUser
();
System
.
out
.
println
(
"ok coming in"
);
return
new
JsonResponse
().
addData
(
"result"
,
"ok"
);
}
}
src/main/java/cn/quantgroup/test/dao/UserDao.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
dao
;
import
org.springframework.stereotype.Repository
;
import
cn.quantgroup.test.ExtJdbcDaoSupport
;
import
cn.quantgroup.test.model.User
;
/**
*
* @author dave
*
*/
@Repository
public
class
UserDao
extends
ExtJdbcDaoSupport
<
User
>{
@Override
protected
Class
<
User
>
getObjectClass
()
{
return
User
.
class
;
}
private
static
final
String
SQL_FIND_BY_PHONE
=
"select * from user where phone = ? "
;
public
User
findByPhone
(
String
phone
)
{
return
getOne
(
SQL_FIND_BY_PHONE
,
phone
);
}
}
src/main/java/cn/quantgroup/test/json/JsonExceptionResolver.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
json
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.TypeMismatchException
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.Ordered
;
import
org.springframework.web.HttpRequestMethodNotSupportedException
;
import
org.springframework.web.bind.MissingServletRequestParameterException
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver
;
import
cn.quantgroup.test.util.ResultCode
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
*
* @author dave
*
*/
public
class
JsonExceptionResolver
extends
AbstractHandlerMethodExceptionResolver
implements
Ordered
{
/**
* Logger for this class
*/
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
JsonExceptionResolver
.
class
);
private
static
final
String
DEFAULT_VIEW_NAME
=
"jsonView"
;
@Value
(
value
=
"0"
)
private
int
order
=
Ordered
.
LOWEST_PRECEDENCE
;
private
String
viewName
=
DEFAULT_VIEW_NAME
;
@Override
protected
boolean
shouldApplyTo
(
HttpServletRequest
request
,
Object
handler
)
{
if
(
super
.
shouldApplyTo
(
request
,
handler
))
{
if
(
handler
!=
null
)
{
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
if
(
JsonResponse
.
class
.
isAssignableFrom
(
handlerMethod
.
getMethod
().
getReturnType
()))
{
return
true
;
}
}
}
return
false
;
}
@Override
protected
ModelAndView
doResolveHandlerMethodException
(
HttpServletRequest
request
,
HttpServletResponse
response
,
HandlerMethod
handlerMethod
,
Exception
ex
)
{
ModelAndView
mv
=
new
ModelAndView
(
viewName
);
JsonResponse
jr
=
null
;
if
(
ex
instanceof
MissingServletRequestParameterException
)
{
jr
=
new
JsonResponse
(
ResultCode
.
MISSING_ARGUMENT
,
ex
.
getMessage
());
}
else
if
(
ex
instanceof
TypeMismatchException
)
{
jr
=
new
JsonResponse
(
ResultCode
.
ARGUMENT_TYPE_ERROR
,
ex
.
getMessage
());
}
else
if
(
ex
instanceof
HttpRequestMethodNotSupportedException
){
jr
=
new
JsonResponse
(
ResultCode
.
METHOD_TYPE_ERROR
,
ex
.
getMessage
());
}
else
{
logger
.
error
(
"occured an exception"
,
ex
);
jr
=
new
JsonResponse
(
ResultCode
.
UNKNOWN_ERROR
,
"未知异常"
);
}
mv
.
addObject
(
JsonResponseMethodReturnValueHandler
.
JR_MODEL_KEY
,
jr
);
return
mv
;
}
public
void
setViewName
(
String
viewName
)
{
this
.
viewName
=
viewName
;
}
}
src/main/java/cn/quantgroup/test/json/JsonResponse.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
json
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
cn.quantgroup.test.util.ResultCode
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
*
* @author dave
*
*/
public
class
JsonResponse
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2666283071500318636L
;
private
boolean
success
=
true
;
private
ResultCode
errCode
=
ResultCode
.
OK
;
private
String
errMsg
=
""
;
private
Object
data
=
null
;
public
JsonResponse
(
ResultCode
errCode
,
String
errMsg
)
{
this
.
success
=
false
;
this
.
errCode
=
errCode
;
this
.
errMsg
=
errMsg
;
}
public
JsonResponse
(
ResultCode
errCode
){
if
(
errCode
!=
ResultCode
.
OK
){
this
.
success
=
false
;
}
this
.
errCode
=
errCode
;
this
.
errMsg
=
errCode
.
getMsg
();
}
public
JsonResponse
(){
}
public
boolean
isSuccess
()
{
return
success
;
}
public
JsonResponse
setSuccess
(
boolean
success
)
{
this
.
success
=
success
;
return
this
;
}
public
int
getErrCode
()
{
return
errCode
.
getCode
();
}
@JsonIgnore
public
ResultCode
getErrCodeEnum
(){
return
errCode
;
}
public
JsonResponse
setErrCode
(
ResultCode
errCode
)
{
this
.
errCode
=
errCode
;
return
this
;
}
public
String
getErrMsg
()
{
return
errMsg
;
}
public
JsonResponse
setErrMsg
(
String
errMsg
)
{
this
.
errMsg
=
errMsg
;
return
this
;
}
public
Object
getData
()
{
return
data
;
}
public
JsonResponse
setData
(
Object
data
)
{
this
.
data
=
data
;
return
this
;
}
public
JsonResponse
addData
(
String
key
,
Object
value
)
{
if
(
this
.
data
==
null
||
!(
this
.
data
instanceof
Map
))
{
this
.
data
=
new
HashMap
<
String
,
Object
>();
}
((
Map
<
String
,
Object
>)
this
.
data
).
put
(
key
,
value
);
return
this
;
}
public
JsonResponse
addAllData
(
Map
<
String
,
Object
>
data
)
{
if
(
this
.
data
==
null
||
!(
this
.
data
instanceof
Map
))
{
this
.
data
=
new
HashMap
<
String
,
Object
>();
}
((
Map
<
String
,
Object
>)
this
.
data
).
putAll
(
data
);
return
this
;
}
}
src/main/java/cn/quantgroup/test/json/JsonResponseMethodReturnValueHandler.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
json
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.web.context.request.NativeWebRequest
;
import
org.springframework.web.method.support.HandlerMethodReturnValueHandler
;
import
org.springframework.web.method.support.ModelAndViewContainer
;
/**
*
* @author dave
*
*/
public
class
JsonResponseMethodReturnValueHandler
implements
HandlerMethodReturnValueHandler
{
/**
* Logger for this class
*/
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
JsonResponseMethodReturnValueHandler
.
class
);
private
static
final
String
DEFAULT_VIEW_NAME
=
"jsonView"
;
public
static
final
String
JR_MODEL_KEY
=
JsonResponse
.
class
.
getName
()
+
"-instance"
;
private
String
viewName
=
DEFAULT_VIEW_NAME
;
@Override
public
boolean
supportsReturnType
(
MethodParameter
returnType
)
{
return
JsonResponse
.
class
.
isAssignableFrom
(
returnType
.
getParameterType
());
}
@Override
public
void
handleReturnValue
(
Object
returnValue
,
MethodParameter
returnType
,
ModelAndViewContainer
mavContainer
,
NativeWebRequest
webRequest
)
throws
Exception
{
if
(
returnValue
==
null
)
{
return
;
}
mavContainer
.
setViewName
(
viewName
);
if
(!(
returnValue
instanceof
JsonResponse
))
{
// should not happen
throw
new
UnsupportedOperationException
(
"Unexpected return type: "
+
returnType
.
getParameterType
().
getName
()
+
" in method: "
+
returnType
.
getMethod
());
}
JsonResponse
jsonResponse
=
(
JsonResponse
)
returnValue
;
mavContainer
.
getModel
().
clear
();
mavContainer
.
addAttribute
(
JR_MODEL_KEY
,
jsonResponse
);
}
public
void
setViewName
(
String
viewName
)
{
this
.
viewName
=
viewName
;
}
}
src/main/java/cn/quantgroup/test/model/User.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
model
;
import
java.io.Serializable
;
public
class
User
implements
Serializable
{
/**
*
*/
private
static
final
long
serialVersionUID
=
2609483140177794335L
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getPhone
()
{
return
phone
;
}
public
void
setPhone
(
String
phone
)
{
this
.
phone
=
phone
;
}
private
String
name
;
private
String
phone
;
}
src/main/java/cn/quantgroup/test/service/TestService.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
service
;
public
interface
TestService
{
void
getUser
();
}
src/main/java/cn/quantgroup/test/service/impl/TestServiceImpl.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
service
.
impl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
cn.quantgroup.test.dao.UserDao
;
import
cn.quantgroup.test.service.TestService
;
@Service
public
class
TestServiceImpl
implements
TestService
{
@Autowired
private
UserDao
userDao
;
@Override
public
void
getUser
()
{
userDao
.
findByPhone
(
"110"
);
}
}
src/main/java/cn/quantgroup/test/util/JRConstant.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
util
;
import
cn.quantgroup.test.json.JsonResponse
;
/**
*
* @author dave
*
*/
public
class
JRConstant
{
public
static
final
JsonResponse
SUCCESS
=
new
JsonResponse
();
public
static
final
JsonResponse
FAILURE
=
new
JsonResponse
(
ResultCode
.
FAILURE
);
}
src/main/java/cn/quantgroup/test/util/ResultCode.java
0 → 100644
View file @
446e95ab
package
cn
.
quantgroup
.
test
.
util
;
/**
*
* @author dave
*
*/
public
enum
ResultCode
{
UNKNOWN_ERROR
(-
1
,
"未知错误"
,
1
),
OK
(
0
,
"OK"
,
1
),
FAILURE
(
1
,
"操作失败"
,
1
),
MISSING_ARGUMENT
(
2
,
"缺少参数"
,
1
),
ARGUMENT_TYPE_ERROR
(
3
,
"参数类型错误"
,
1
),
METHOD_TYPE_ERROR
(
4
,
"请求方法错误"
,
1
),
ARGUMENT_ERROR
(
5
,
"参数错误"
,
1
),
METHOD_NOT_FOUND
(
6
,
"调用接口不存在"
,
1
),
;
private
int
code
;
private
String
msg
;
private
ResultCode
(
int
code
,
String
msg
,
int
level
){
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
int
getCode
(){
return
code
;
}
public
String
getMsg
(){
return
msg
;
}
}
src/main/java/finance_api/finance_api/App.java
0 → 100644
View file @
446e95ab
package
finance_api
.
finance_api
;
/**
* Hello world!
*
*/
public
class
App
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Hello World!"
);
}
}
src/main/resources/application.properties
0 → 100644
View file @
446e95ab
#spring.datasource.url=jdbc:mysql://192.168.192.206:3306/financial_system?useUnicode=true&characterEncoding=UTF8
spring.datasource.url
=
jdbc:mysql://127.0.0.1:3306/ydw?useUnicode=true&characterEncoding=UTF8
spring.datasource.username
=
root
spring.datasource.password
=
dave
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
spring.datasource.xa.data-source-class-name
=
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
spring.datasource.xa.properties.pinGlobalTxToPhysicalConnection
=
true
spring.datasource.xa.properties.autoReconnect
=
true
\ No newline at end of file
src/main/resources/applicationContext.xml
0 → 100644
View file @
446e95ab
<?xml version="1.0" encoding="utf-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
default-autowire=
"byName"
>
<bean
id=
"xyqbDS"
class=
"org.apache.tomcat.jdbc.pool.DataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"${spring.datasource.driver-class-name}"
/>
<property
name=
"url"
value=
"${spring.datasource.url}"
/>
<property
name=
"username"
value=
"${spring.datasource.username}"
/>
<property
name=
"password"
value=
"${spring.datasource.password}"
/>
<!--maxActive: 最大连接数量-->
<property
name=
"maxActive"
value=
"200"
/>
<!--minIdle: 最小空闲连接-->
<property
name=
"minIdle"
value=
"10"
/>
</bean>
<bean
id=
"userDao"
class=
"cn.quantgroup.test.dao.UserDao"
>
<property
name=
"dataSource"
ref=
"xyqbDS"
/>
</bean>
</beans>
\ No newline at end of file
src/main/resources/prod/application.properties
0 → 100644
View file @
446e95ab
#spring.datasource.url=jdbc:mysql://192.168.192.206:3306/financial_system?useUnicode=true&characterEncoding=UTF8
spring.datasource.url
=
jdbc:mysql://127.0.0.1:3306/ydw?useUnicode=true&characterEncoding=UTF8
spring.datasource.username
=
root
spring.datasource.password
=
dave
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
spring.datasource.xa.data-source-class-name
=
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
spring.datasource.xa.properties.pinGlobalTxToPhysicalConnection
=
true
spring.datasource.xa.properties.autoReconnect
=
true
\ No newline at end of file
src/main/resources/prod/applicationContext.xml
0 → 100644
View file @
446e95ab
<?xml version="1.0" encoding="utf-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
default-autowire=
"byName"
>
<bean
id=
"xyqbDS"
class=
"org.apache.tomcat.jdbc.pool.DataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"${spring.datasource.driver-class-name}"
/>
<property
name=
"url"
value=
"${spring.datasource.url}"
/>
<property
name=
"username"
value=
"${spring.datasource.username}"
/>
<property
name=
"password"
value=
"${spring.datasource.password}"
/>
<!--maxActive: 最大连接数量-->
<property
name=
"maxActive"
value=
"200"
/>
<!--minIdle: 最小空闲连接-->
<property
name=
"minIdle"
value=
"10"
/>
</bean>
<bean
id=
"userDao"
class=
"cn.quantgroup.test.dao.UserDao"
>
<property
name=
"dataSource"
ref=
"xyqbDS"
/>
</bean>
</beans>
\ No newline at end of file
src/main/resources/test/application.properties
0 → 100644
View file @
446e95ab
#spring.datasource.url=jdbc:mysql://192.168.192.206:3306/financial_system?useUnicode=true&characterEncoding=UTF8
spring.datasource.url
=
jdbc:mysql://127.0.0.1:3306/ydw?useUnicode=true&characterEncoding=UTF8
spring.datasource.username
=
root
spring.datasource.password
=
dave
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
spring.datasource.xa.data-source-class-name
=
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
spring.datasource.xa.properties.pinGlobalTxToPhysicalConnection
=
true
spring.datasource.xa.properties.autoReconnect
=
true
\ No newline at end of file
src/main/resources/test/applicationContext.xml
0 → 100644
View file @
446e95ab
<?xml version="1.0" encoding="utf-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
default-autowire=
"byName"
>
<bean
id=
"xyqbDS"
class=
"org.apache.tomcat.jdbc.pool.DataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"${spring.datasource.driver-class-name}"
/>
<property
name=
"url"
value=
"${spring.datasource.url}"
/>
<property
name=
"username"
value=
"${spring.datasource.username}"
/>
<property
name=
"password"
value=
"${spring.datasource.password}"
/>
<!--maxActive: 最大连接数量-->
<property
name=
"maxActive"
value=
"200"
/>
<!--minIdle: 最小空闲连接-->
<property
name=
"minIdle"
value=
"10"
/>
</bean>
<bean
id=
"userDao"
class=
"cn.quantgroup.test.dao.UserDao"
>
<property
name=
"dataSource"
ref=
"xyqbDS"
/>
</bean>
</beans>
\ No newline at end of file
src/test/java/finance_api/finance_api/AppTest.java
0 → 100644
View file @
446e95ab
package
finance_api
.
finance_api
;
import
junit.framework.Test
;
import
junit.framework.TestCase
;
import
junit.framework.TestSuite
;
/**
* Unit test for simple App.
*/
public
class
AppTest
extends
TestCase
{
/**
* Create the test case
*
* @param testName name of the test case
*/
public
AppTest
(
String
testName
)
{
super
(
testName
);
}
/**
* @return the suite of tests being tested
*/
public
static
Test
suite
()
{
return
new
TestSuite
(
AppTest
.
class
);
}
/**
* Rigourous Test :-)
*/
public
void
testApp
()
{
assertTrue
(
true
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment