Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴学德
gdtel-gztel-school-center
Commits
4918f6fb
Commit
4918f6fb
authored
Dec 29, 2020
by
陈浩建
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
一人一码订单调整(部分)
parent
a81ae18b
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
2481 additions
and
38 deletions
+2481
-38
apply-net/src/main/resources/application-prod.yml
+2
-2
apply-net/src/main/resources/application.yml
+2
-2
common/src/main/java/com/winsun/bean/Page.java
+266
-0
common/src/main/java/com/winsun/mapper/Basemapper.java
+492
-0
common/src/main/java/com/winsun/mapper/OrderMapper.java
+17
-0
common/src/main/java/com/winsun/utils/Is.java
+427
-0
core-service/src/main/resources/application-prod.yml
+2
-2
core-service/src/main/resources/application.yml
+2
-2
gateway/src/main/resources/application-prod.yml
+4
-2
gateway/src/main/resources/application.yml
+4
-2
new-user/src/main/resources/application-prod.yml
+2
-2
new-user/src/main/resources/application.yml
+2
-2
old-user/src/main/resources/application-prod.yml
+2
-2
old-user/src/main/resources/application.yml
+2
-2
renewal-user/src/main/resources/application-prod.yml
+2
-2
renewal-user/src/main/resources/application.yml
+2
-2
service-manager/src/main/java/com/winsun/controller/OrderController.java
+627
-6
service-manager/src/main/java/com/winsun/utils/Constant.java
+104
-0
service-manager/src/main/java/com/winsun/utils/Is.java
+427
-0
service-manager/src/main/java/com/winsun/utils/Md5.java
+70
-0
service-manager/src/main/resources/application-prod.yml
+2
-2
service-manager/src/main/resources/application.yml
+2
-2
service-manager/src/main/resources/txtfiledetail.properties
+15
-0
task/src/main/resources/application-prod.yml
+2
-2
task/src/main/resources/application.yml
+2
-2
No files found.
apply-net/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
apply-net/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
common/src/main/java/com/winsun/bean/Page.java
0 → 100644
View file @
4918f6fb
package
com
.
winsun
.
bean
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.List
;
/**
*
*
* 注意所有序号从1开始.
*
* @param <T> Page中记录的类型.
*
* @author
*/
public
class
Page
<
T
>
{
//-- 公共变量 --//
public
static
final
String
ASC
=
"asc"
;
public
static
final
String
DESC
=
"desc"
;
public
static
final
int
NON_PAGE
=
0
;
//-- 分页参数 --//
protected
int
pageNo
=
1
;
protected
int
pageSize
=
-
1
;
protected
String
orderBy
=
null
;
protected
String
order
=
null
;
protected
boolean
autoCount
=
true
;
//-- 返回结果 --//
protected
List
<
T
>
result
=
Lists
.
newArrayList
();
protected
long
totalCount
=
-
1
;
//-- 构造函数 --//
public
Page
()
{
this
.
pageSize
=
10
;
}
public
Page
(
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
//-- 分页参数访问函数 --//
/**
* 获得当前页的页号,序号从1开始,默认为1.
*/
public
int
getPageNo
()
{
return
pageNo
;
}
/**
* 设置当前页的页号,序号从1开始,低于1时自动调整为1.
*/
public
void
setPageNo
(
final
int
pageNo
)
{
this
.
pageNo
=
pageNo
;
if
(
pageNo
<
1
)
{
this
.
pageNo
=
1
;
}
}
/**
* 返回Page对象自身的setPageNo函数,可用于连续设置。
*/
public
Page
<
T
>
pageNo
(
final
int
thePageNo
)
{
setPageNo
(
thePageNo
);
return
this
;
}
/**
* 获得每页的记录数量, 默认为-1.
*/
public
int
getPageSize
()
{
return
pageSize
;
}
/**
* 设置每页的记录数量.
*/
public
void
setPageSize
(
final
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
/**
* 返回Page对象自身的setPageSize函数,可用于连续设置。
*/
public
Page
<
T
>
pageSize
(
final
int
thePageSize
)
{
setPageSize
(
thePageSize
);
return
this
;
}
/**
* 根据pageNo和pageSize计算当前页第一条记录在总结果集中的位置,序号从1开始.
*/
public
int
getFirst
()
{
return
((
pageNo
-
1
)
*
pageSize
)
+
1
;
}
/**
* 获得排序字段,无默认值. 多个排序字段时用','分隔.
*/
public
String
getOrderBy
()
{
return
orderBy
;
}
/**
* 设置排序字段,多个排序字段时用','分隔.
*/
public
void
setOrderBy
(
final
String
orderBy
)
{
this
.
orderBy
=
orderBy
;
}
/**
* 返回Page对象自身的setOrderBy函数,可用于连续设置。
*/
public
Page
<
T
>
orderBy
(
final
String
theOrderBy
)
{
setOrderBy
(
theOrderBy
);
return
this
;
}
/**
* 获得排序方向, 无默认值.
*/
public
String
getOrder
()
{
return
order
;
}
/**
* 设置排序方式向.
*
* @param order 可选值为desc或asc,多个排序字段时用','分隔.
*/
public
void
setOrder
(
final
String
order
)
{
String
lowcaseOrder
=
StringUtils
.
lowerCase
(
order
);
//检查order字符串的合法值
String
[]
orders
=
StringUtils
.
split
(
lowcaseOrder
,
','
);
for
(
String
orderStr
:
orders
)
{
if
(!
StringUtils
.
equals
(
DESC
,
orderStr
)
&&
!
StringUtils
.
equals
(
ASC
,
orderStr
))
{
throw
new
IllegalArgumentException
(
"排序方向"
+
orderStr
+
"不是合法值"
);
}
}
this
.
order
=
lowcaseOrder
;
}
/**
* 返回Page对象自身的setOrder函数,可用于连续设置。
*/
public
Page
<
T
>
order
(
final
String
theOrder
)
{
setOrder
(
theOrder
);
return
this
;
}
/**
* 是否已设置排序字段,无默认值.
*/
public
boolean
isOrderBySetted
()
{
return
(
StringUtils
.
isNotBlank
(
orderBy
)
&&
StringUtils
.
isNotBlank
(
order
));
}
/**
* 获得查询对象时是否先自动执行count查询获取总记录数, 默认为false.
*/
public
boolean
isAutoCount
()
{
return
autoCount
;
}
/**
* 设置查询对象时是否自动先执行count查询获取总记录数.
*/
public
void
setAutoCount
(
final
boolean
autoCount
)
{
this
.
autoCount
=
autoCount
;
}
/**
* 返回Page对象自身的setAutoCount函数,可用于连续设置。
*/
public
Page
<
T
>
autoCount
(
final
boolean
theAutoCount
)
{
setAutoCount
(
theAutoCount
);
return
this
;
}
//-- 访问查询结果函数 --//
/**
* 获得页内的记录列表.
*/
public
List
<
T
>
getResult
()
{
return
result
;
}
/**
* 设置页内的记录列表.
*/
public
void
setResult
(
final
List
<
T
>
result
)
{
this
.
result
=
result
;
}
/**
* 获得总记录数, 默认值为-1.
*/
public
long
getTotalCount
()
{
return
totalCount
;
}
/**
* 设置总记录数.
*/
public
void
setTotalCount
(
final
long
totalCount
)
{
this
.
totalCount
=
totalCount
;
}
/**
* 根据pageSize与totalCount计算总页数, 默认值为-1.
*/
public
long
getTotalPages
()
{
if
(
totalCount
<
0
)
{
return
-
1
;
}
long
count
=
totalCount
/
pageSize
;
if
(
totalCount
%
pageSize
>
0
)
{
count
++;
}
return
count
;
}
/**
* 是否还有下一页.
*/
public
boolean
isHasNext
()
{
return
(
pageNo
+
1
<=
getTotalPages
());
}
/**
* 取得下页的页号, 序号从1开始.
* 当前页为尾页时仍返回尾页序号.
*/
public
int
getNextPage
()
{
if
(
isHasNext
())
{
return
pageNo
+
1
;
}
else
{
return
pageNo
;
}
}
/**
* 是否还有上一页.
*/
public
boolean
isHasPre
()
{
return
(
pageNo
-
1
>=
1
);
}
/**
* 取得上页的页号, 序号从1开始.
* 当前页为首页时返回首页序号.
*/
public
int
getPrePage
()
{
if
(
isHasPre
())
{
return
pageNo
-
1
;
}
else
{
return
pageNo
;
}
}
}
common/src/main/java/com/winsun/mapper/Basemapper.java
0 → 100644
View file @
4918f6fb
package
com
.
winsun
.
mapper
;
import
com.winsun.bean.Page
;
import
com.winsun.utils.Is
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.jdbc.core.BeanPropertyRowMapper
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.RowMapper
;
import
org.springframework.jdbc.support.lob.DefaultLobHandler
;
import
org.springframework.jdbc.support.lob.LobHandler
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
/**
* springjdbc baseDao
* @author lisilin
* @since 0.1
*/
public
abstract
class
Basemapper
<
T
>
{
@Autowired
protected
JdbcTemplate
jdbcTemplate
;
public
LobHandler
lobHandler
=
new
DefaultLobHandler
();
/**
* 适用于更新数据库,insert,update, delete
*
* @param namedSql:命名参数的SQL语句,而且参数的命名必须和JavaBean中的属性名对应
* @param javaBean
* @return
*/
/**
* 带参数更新
* @param sql
* @param paramValue
* @return
*/
protected
int
update
(
String
sql
,
Object
...
paramValue
)
{
return
jdbcTemplate
.
update
(
sql
,
paramValue
);
}
/**
* 批量带参数更新(针对更新SQL一致,参数不一致)
* @param sql
* @param paramValue
* @return
*/
protected
int
[]
batchUpdate
(
String
sql
,
List
<
Object
[]>
paramValue
)
{
return
jdbcTemplate
.
batchUpdate
(
sql
,
paramValue
);
}
/**
* 批量sql更新(针对更新SQL不一致)
* @param sql
* @return
*/
protected
int
[]
batchUpdate
(
String
[]
sql
)
{
return
jdbcTemplate
.
batchUpdate
(
sql
);
}
@SuppressWarnings
(
"unchecked"
)
protected
Page
<?>
findDwon
(
@SuppressWarnings
(
"rawtypes"
)
Page
page
,
String
sql
,
Object
[]
pars
,
RowMapper
<
T
>
rowMapper
)
throws
Exception
{
String
pageQueryString
=
getMysqlPageSQL
(
sql
);
String
countSql
=
this
.
getCountQuerySQL
(
sql
);
if
(
null
==
rowMapper
){
List
<
Map
<
String
,
Object
>>
list
=
jdbcTemplate
.
queryForList
(
pageQueryString
,
pars
);
page
.
setResult
(
list
);
}
else
{
List
<
T
>
list
=
jdbcTemplate
.
query
(
pageQueryString
,
pars
,
rowMapper
);
page
.
setResult
(
list
);
}
int
count
=
jdbcTemplate
.
queryForObject
(
countSql
,
pars
,
Integer
.
class
);
if
(
count
>
0
)
{
page
.
setTotalCount
(
count
);
}
else
{
page
.
setTotalCount
(
0
);
}
return
page
;
}
/**
* 构造Mysql数据分页SQL
* @param queryString
* @param startIndex
* @param pageSize
* @return
*/
protected
String
getMysqlPageSQL
(
String
queryString
,
Integer
startIndex
,
Integer
pageSize
)
{
if
(
StringUtils
.
isEmpty
(
queryString
))
{
return
null
;
}
startIndex
=
(
startIndex
-
1
)
*
pageSize
;
int
endIndex
=
pageSize
;
String
endSql
=
queryString
;
if
(
endIndex
>
0
){
endSql
+=
" limit "
+
startIndex
+
","
+
endIndex
;
}
return
endSql
;
}
protected
String
getMysqlPageSQL
(
String
queryString
)
{
if
(
StringUtils
.
isEmpty
(
queryString
))
{
return
null
;
}
return
queryString
;
}
/**
* 构造 Oracle数据分页SQL
* @param queryString
* @param startIndex
* @param pageSize
* @return
*/
protected
String
getOraclePageSQL
(
String
queryString
,
Integer
startIndex
,
Integer
pageSize
)
{
if
(
StringUtils
.
isEmpty
(
queryString
))
{
return
null
;
}
// String itemSource =
queryString
.
toLowerCase
();
startIndex
=
(
startIndex
-
1
)
*
pageSize
;
int
endIndex
=
startIndex
+
pageSize
+
1
;
String
endSql
=
"select * from (select rOraclePageSQL.*,ROWNUM as currentRow from ("
+
queryString
+
") rOraclePageSQL where rownum <="
+
endIndex
+
") where currentRow>"
+
startIndex
;
return
endSql
;
}
/**
* 构造统计SQL
* @param queryString
* @return
*/
protected
String
getCountQuerySQL
(
String
queryString
)
{
String
sql
=
""
;
if
(
StringUtils
.
isNotEmpty
(
queryString
))
{
sql
=
"select count(*) from ("
+
queryString
+
") xCount"
;
}
return
sql
;
}
/**
* 带条件查询,组装并返回sql
* @param map
* @return
* @throws Exception
*/
public
Map
<
String
,
Object
>
select
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"select * from "
+
table
+
" where 1=1"
);
if
(
null
!=
map
){
/*Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(Is.isNoEmpty(map.get(key))){
sf.append(" and "+key+" like ? ");
pars.add("%"+map.get(key)+"%");
}
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(
Is
.
isNoEmpty
(
entry
.
getValue
())){
sf
.
append
(
" and "
+
key
+
" like ? "
);
pars
.
add
(
"%"
+
entry
.
getValue
()+
"%"
);
}
}
/* for (Entry<String, Object> entry : map.entrySet()) {
if(!entry.getKey().equals("id")){
sf.append(entry.getKey()+"=?,");
pars.add(entry.getValue());
}
}*/
}
map
.
put
(
"sql"
,
sf
.
toString
());
map
.
put
(
"pars"
,
pars
);
return
map
;
}
/**
* 带条件查询
* @param map
* @return
* @throws Exception
*/
public
List
<
Map
<
String
,
Object
>>
selectList
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"select * from "
+
table
+
" where 1=1"
);
if
(
null
!=
map
){
/* Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(Is.isNoEmpty(map.get(key))){
sf.append(" and "+key+" like ? ");
pars.add("%"+map.get(key)+"%");
}
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(
Is
.
isNoEmpty
(
entry
.
getValue
())){
sf
.
append
(
" and "
+
key
+
" like ? "
);
pars
.
add
(
"%"
+
entry
.
getValue
()+
"%"
);
}
}
}
return
jdbcTemplate
.
queryForList
(
sf
.
toString
(),
pars
.
toArray
());
}
/**
* 带条件查询
* @param map
* @return
* @throws Exception
*/
public
List
<
Map
<
String
,
Object
>>
selectListForEquest
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"select * from "
+
table
+
" where 1=1"
);
if
(
null
!=
map
){
/*Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(Is.isNoEmpty(map.get(key))){
sf.append(" and "+key+" = ? ");
pars.add(map.get(key));
}
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(
Is
.
isNoEmpty
(
entry
.
getValue
())){
sf
.
append
(
" and "
+
key
+
" = ? "
);
pars
.
add
(
entry
.
getValue
());
}
}
}
return
jdbcTemplate
.
queryForList
(
sf
.
toString
(),
pars
.
toArray
());
}
/**
* 带参数插入
* @param map
* @throws Exception
*/
public
void
insert
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
map
.
remove
(
"color"
);
//去除多余的参数
map
.
remove
(
"phoneLogo"
);
map
.
remove
(
"rom"
);
map
.
remove
(
"price"
);
map
.
remove
(
"packageName"
);
String
sql
=
" values("
;
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"insert into "
+
table
+
"("
);
if
(
null
!=
map
){
/*Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
sf.append(key+",");
sql+="?,";
pars.add(map.get(key)==null?"":map.get(key));
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
sf
.
append
(
key
+
","
);
sql
+=
"?,"
;
pars
.
add
(
entry
.
getValue
()==
null
?
""
:
entry
.
getValue
());
}
sql
=
sql
.
substring
(
0
,
sql
.
length
()-
1
)+
")"
;
sql
=
sf
.
substring
(
0
,
sf
.
length
()-
1
).
toString
()+
")"
+
sql
;
}
jdbcTemplate
.
update
(
sql
,
pars
.
toArray
());
}
/**
* 带参数插入
* @param table
* @param list
* @param pars
* @throws Exception
*/
public
void
insert
(
String
table
,
List
<
Object
>
list
,
List
<
Object
[]>
pars
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
String
sql
=
" values("
;
sf
.
append
(
"insert into "
+
table
+
"("
);
if
(
null
!=
list
){
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
sf
.
append
(
list
.
get
(
i
)+
","
);
sql
+=
"?,"
;
}
sql
=
sql
.
substring
(
0
,
sql
.
length
()-
1
)+
")"
;
sql
=
sf
.
substring
(
0
,
sf
.
length
()-
1
).
toString
()+
")"
+
sql
;
}
jdbcTemplate
.
batchUpdate
(
sql
,
pars
);
}
/**
* 修改
* @param map
* @throws Exception
*/
public
int
update
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
String
sql
=
""
;
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"update "
+
table
+
" set "
);
if
(
null
!=
map
){
/* Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(!key.equals("id")){
sf.append(key+"=?,");
pars.add(map.get(key));
}
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
if
(!
entry
.
getKey
().
equals
(
"id"
)){
sf
.
append
(
entry
.
getKey
()+
"=?,"
);
pars
.
add
(
entry
.
getValue
());
}
}
pars
.
add
(
map
.
get
(
"id"
));
sql
=
sf
.
substring
(
0
,
sf
.
length
()-
1
)+
" where id=?"
;
}
return
jdbcTemplate
.
update
(
sql
,
pars
.
toArray
());
}
public
int
updateOrderView
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
String
sql
=
""
;
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"update "
+
table
+
" set "
);
if
(
null
!=
map
){
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
if
(!
entry
.
getKey
().
equals
(
"order_id"
)){
sf
.
append
(
entry
.
getKey
()+
"=?,"
);
pars
.
add
(
entry
.
getValue
());
}
}
pars
.
add
(
map
.
get
(
"order_id"
));
sql
=
sf
.
substring
(
0
,
sf
.
length
()-
1
)+
" where order_id=?"
;
}
return
jdbcTemplate
.
update
(
sql
,
pars
.
toArray
());
}
/**
* 修改
* @throws Exception
*/
public
void
updateBatch
(
String
sql
,
List
<
Object
[]>
pars
)
throws
Exception
{
jdbcTemplate
.
batchUpdate
(
sql
,
pars
);
}
/**
* 带参数修改,自带where条件
* @param table
* @param map
* @param id
* @throws Exception
*/
public
void
update
(
String
table
,
Map
<
String
,
Object
>
map
,
String
id
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
String
sql
=
""
;
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"update "
+
table
+
" set "
);
if
(
null
!=
map
){
/*Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(!key.equals(id)){
sf.append(key+"=?,");
pars.add(map.get(key));
}
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(!
key
.
equals
(
"id"
)){
sf
.
append
(
key
+
"=?,"
);
pars
.
add
(
entry
.
getValue
());
}
}
pars
.
add
(
map
.
get
(
id
));
sql
=
sf
.
substring
(
0
,
sf
.
length
()-
1
)+
" where "
+
id
+
"=?"
;
}
jdbcTemplate
.
update
(
sql
,
pars
.
toArray
());
}
public
int
updatebyId
(
String
table
,
Map
<
String
,
Object
>
map
,
String
id
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
String
sql
=
""
;
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"update "
+
table
+
" set "
);
if
(
null
!=
map
){
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
String
value
=
entry
.
getValue
().
toString
();
sf
.
append
(
key
+
"="
);
sf
.
append
(
"'"
);
sf
.
append
(
value
);
sf
.
append
(
"'"
);
sf
.
append
(
","
);
}
pars
.
add
(
id
);
sql
=
sf
.
substring
(
0
,
sf
.
length
()-
1
)+
" where id='"
+
id
+
"'"
;
}
return
jdbcTemplate
.
update
(
sql
);
}
public
void
delete
(
String
table
,
String
id
)
throws
Exception
{
String
sql
=
"delete from "
+
table
+
" where id=?"
;
if
(
StringUtils
.
isNotBlank
(
id
)){
jdbcTemplate
.
update
(
sql
,
id
);
}
}
public
void
delete
(
String
table
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
StringBuffer
sf
=
new
StringBuffer
();
List
<
Object
>
pars
=
new
ArrayList
<
Object
>();
sf
.
append
(
"delete from "
+
table
+
" where 1=1 "
);
if
(
null
!=
map
){
/*Set<String> set = map.keySet();
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(Is.isNoEmpty(map.get(key))){
sf.append(" and "+key+" = ? ");
pars.add(map.get(key));
}
}*/
for
(
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(
Is
.
isNoEmpty
(
entry
.
getValue
())){
sf
.
append
(
" and "
+
key
+
" = ? "
);
pars
.
add
(
entry
.
getValue
());
}
}
}
jdbcTemplate
.
update
(
sf
.
toString
(),
pars
.
toArray
());
}
public
void
createField
(
String
table
,
List
<
Map
<
String
,
Object
>>
fieldName
){
String
sql
=
"SELECT COLUMN_NAME FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = '"
+
table
+
"' "
;
List
<
Map
<
String
,
Object
>>
list
=
jdbcTemplate
.
queryForList
(
sql
);
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"alter table "
+
table
);
int
i
=
0
;
for
(
i
=
0
;
i
<
fieldName
.
size
();
i
++){
boolean
falg
=
true
;
for
(
int
j
=
0
;
j
<
list
.
size
();
j
++){
if
(
fieldName
.
get
(
i
).
get
(
"fieldEngName"
).
equals
(
list
.
get
(
j
).
get
(
"COLUMN_NAME"
)))
falg
=
false
;
}
if
(
falg
){
sb
.
append
(
" add "
+
fieldName
.
get
(
i
).
get
(
"fieldEngName"
)+
" VARCHAR(100) DEFAULT NULL COMMENT '"
+
fieldName
.
get
(
i
).
get
(
"fieldName"
)+
"'"
);
if
(
i
<
fieldName
.
size
()-
1
){
sb
.
append
(
","
);
}
}
}
jdbcTemplate
.
update
(
sb
.
toString
());
}
}
\ No newline at end of file
common/src/main/java/com/winsun/mapper/OrderMapper.java
View file @
4918f6fb
...
@@ -16,6 +16,7 @@ import com.winsun.bean.OrderView;
...
@@ -16,6 +16,7 @@ import com.winsun.bean.OrderView;
@Component
@Component
public
interface
OrderMapper
extends
BaseMapper
<
Order
>
{
public
interface
OrderMapper
extends
BaseMapper
<
Order
>
{
@Insert
(
"insert into `hhr_order_history` values(#{id},#{status},#{date},#{operator}) "
)
@Insert
(
"insert into `hhr_order_history` values(#{id},#{status},#{date},#{operator}) "
)
Integer
inserOrderHis
(
@Param
(
"id"
)
String
id
,
@Param
(
"status"
)
String
status
,
@Param
(
"date"
)
Date
date
,
@Param
(
"operator"
)
String
operator
);
Integer
inserOrderHis
(
@Param
(
"id"
)
String
id
,
@Param
(
"status"
)
String
status
,
@Param
(
"date"
)
Date
date
,
@Param
(
"operator"
)
String
operator
);
...
@@ -59,6 +60,22 @@ public interface OrderMapper extends BaseMapper<Order> {
...
@@ -59,6 +60,22 @@ public interface OrderMapper extends BaseMapper<Order> {
@Select
(
"select xb_order_id xbOrderId from `hhr_order` where order_number = #{orderNumber}"
)
@Select
(
"select xb_order_id xbOrderId from `hhr_order` where order_number = #{orderNumber}"
)
String
selectxbOrderIdByOrderNumber
(
String
orderNumber
);
String
selectxbOrderIdByOrderNumber
(
String
orderNumber
);
@Select
(
"select * from `hhr_order` where order_number = #{orderNumber}"
)
List
<
Map
<
String
,
Object
>>
selectOrderIdByOrderNumber
(
String
orderNumber
);
@Select
(
" SELECT id,order_status,hehuoren_id,package_id,customer_name,business_number, "
+
" contact_number,site,address,id_card,parent_name,business_iccid,kapin,id_cardz,id_cardf,id_cardzs,studen_card, "
+
" create_time FROM hhr_order where id= #{id} "
)
Map
<
String
,
Object
>
selectOrderById
(
String
id
);
@Select
(
"SELECT u.*,s.service_qrcode,s.kdsl,s.net_type,s.is_xb,s.jilt_kd,s.jilt_kdy,s.net_phone "
+
"FROM hhr_user u LEFT JOIN hhr_user_school us ON u.id=us.user_id "
+
"LEFT JOIN hhr_school s ON us.school_id=s.id WHERE u.id= #{hehuoren_id} "
)
Map
<
String
,
Object
>
findPartnerById
(
String
hehuoren_id
);
@Select
(
"SELECT * FROM hhr_ysm_user WHERE id = #{id}"
)
Map
<
String
,
Object
>
findYsmById
(
int
id
);
@Select
(
"select ysm from `hhr_user` where id = #{id}"
)
@Select
(
"select ysm from `hhr_user` where id = #{id}"
)
String
selectYsmById
(
String
id
);
String
selectYsmById
(
String
id
);
}
}
common/src/main/java/com/winsun/utils/Is.java
0 → 100644
View file @
4918f6fb
package
com
.
winsun
.
utils
;
import
java.lang.reflect.Array
;
import
java.util.Collection
;
import
java.util.Map
;
/**
* 判断非空工具类
*
* @author hjh
*
* @version v1.4 2016-12-19
* @since 2016-2-12
*/
public
class
Is
{
/**
* 私有化构造对象,不能创建对象
*/
private
Is
()
{
super
();
throw
new
UnsupportedOperationException
(
"cannot be instantiated"
);
}
/**
* 判断是否大于0
*
* @param num
* 整形
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
byte
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
byte
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
byte
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 整形
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
short
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
short
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
short
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 整数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
int
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
int
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
int
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 浮点数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
float
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
float
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
float
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 双精度浮点数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
double
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
double
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
double
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 长整数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
long
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
long
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
long
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 数字
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
Number
num
)
{
boolean
flag
=
false
;
if
(
null
!=
num
)
{
if
(
num
.
doubleValue
()
>
0
)
{
flag
=
true
;
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
Number
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
Number
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param str
* 字符串
* @return 如果str不为空返回true
*/
public
static
boolean
isNoEmpty
(
String
str
)
{
boolean
flag
=
false
;
if
(
str
!=
null
&&
str
.
replaceAll
(
"//s*"
,
""
).
length
()
>
0
)
{
flag
=
true
;
}
return
flag
;
}
/**
* 判断是否为空
*
* @param strs
* 字符串数组
* @return 如果strs不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
String
[]
strs
)
{
boolean
flag
=
false
;
if
(
strs
!=
null
&&
strs
.
length
>
0
)
{
for
(
String
s
:
strs
)
{
if
(
Is
.
isNoEmpty
(
s
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param list
* list集合或set集合
* @return 如果list不为空(list存在至少有一个值不为空)返回true
*/
public
static
<
T
>
boolean
isNoEmpty
(
Collection
<
T
>
list
)
{
boolean
flag
=
false
;
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
for
(
T
l
:
list
)
{
if
(
Is
.
isNoEmpty
(
l
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param map
* map集合
* @return 如果map不为空(map存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
Map
<?,
?>
map
)
{
boolean
flag
=
false
;
if
(
map
!=
null
&&
map
.
size
()
>
0
)
{
for
(
Map
.
Entry
<?,
?>
entry
:
map
.
entrySet
())
{
if
(
Is
.
isNoEmpty
(
entry
.
getValue
()))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param objs
* 数据集
* @return 如果都不为空且有值且不为负数返回true
*/
public
static
boolean
isNoEmpty
(
Object
...
objs
)
{
boolean
flag
=
true
;
if
(
objs
!=
null
){
for
(
Object
obj
:
objs
)
{
// 任意一项都不能为空
if
(
obj
==
null
)
{
flag
=
false
;
break
;
}
// 判断不同数据是否符合规则
if
(
obj
instanceof
Number
)
{
// 数字
if
(((
Number
)
obj
).
doubleValue
()
<=
0
)
{
flag
=
false
;
break
;
}
}
else
if
(
obj
instanceof
String
)
{
// 字符
if
(((
String
)
obj
).
replaceAll
(
"//s*"
,
""
).
length
()
<=
0
)
{
flag
=
false
;
break
;
}
}
else
if
(
obj
instanceof
Collection
)
{
// 集合
if
(!
Is
.
isNoEmpty
((
Collection
<?>)
obj
))
{
flag
=
false
;
break
;
}
}
else
if
(
obj
instanceof
Map
)
{
// 集合
if
(!
Is
.
isNoEmpty
((
Map
<?,
?>)
obj
))
{
flag
=
false
;
break
;
}
}
else
if
(
obj
.
getClass
().
isArray
())
{
// 数组
if
(
Array
.
getLength
(
obj
)
<=
0
)
{
flag
=
false
;
break
;
}
}
}
}
else
{
flag
=
false
;
}
return
flag
;
}
/**
* 为空或为零时返回默认值
*
* @param t
* 参数
* @param def
* 默认值
* @return t为空时返回def
*/
public
static
<
T
>
T
ifNull
(
T
t
,
T
def
)
{
if
(!
Is
.
isNoEmpty
(
t
))
{
// 为空
t
=
def
;
}
return
t
;
}
/**
* 去除所有空格,换行符,换页符
*
* @param str
* 字符串
* @return 去除后的字符串
*/
public
static
String
trim
(
String
str
)
{
return
str
!=
null
?
str
.
replaceAll
(
"\\s*|\t|\r|\n"
,
""
)
:
str
;
}
public
static
Object
ifValue
(
Object
obj
){
if
(
obj
==
""
||
null
==
obj
||
obj
==
" "
){
return
null
;
}
return
obj
;
}
public
static
boolean
isEmpty
(
Object
str
){
if
(
Is
.
isNoEmpty
(
str
))
{
return
false
;
}
return
true
;
}
/**
* obj转str
* @param obj
* @return
*/
public
static
String
parseStr
(
Object
obj
){
return
Is
.
ifNull
(
obj
,
""
).
toString
();
}
}
core-service/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -96,8 +96,8 @@ spring:
...
@@ -96,8 +96,8 @@ spring:
prohibition
:
600
prohibition
:
600
datasource
:
datasource
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
#用来搜集数据库的所有表
#用来搜集数据库的所有表
db-name
:
guns
db-name
:
guns
filters
:
wall,mergeStat
filters
:
wall,mergeStat
...
...
core-service/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -96,8 +96,8 @@ spring:
...
@@ -96,8 +96,8 @@ spring:
datasource
:
datasource
:
# 由于父框架的问题,这里本来不应该这样写的
# 由于父框架的问题,这里本来不应该这样写的
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
db-name
:
guns
#用来搜集数据库的所有表
db-name
:
guns
#用来搜集数据库的所有表
filters
:
wall,mergeStat
filters
:
wall,mergeStat
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
...
...
gateway/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -30,8 +30,10 @@ spring:
...
@@ -30,8 +30,10 @@ spring:
datasource
:
datasource
:
driver-class-name
:
com.mysql.jdbc.Driver
driver-class-name
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/school_center?useSSL=false
url
:
jdbc:mysql://localhost:3306/school_center?useSSL=false
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
# username: root
# password: AMrGBg6ZSsRrDLs6
zuul
:
zuul
:
ribbon
:
ribbon
:
eager-load
:
eager-load
:
...
...
gateway/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -30,8 +30,10 @@ spring:
...
@@ -30,8 +30,10 @@ spring:
datasource
:
datasource
:
driver-class-name
:
com.mysql.jdbc.Driver
driver-class-name
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://172.18.101.171:3306/school_center?useSSL=false
url
:
jdbc:mysql://172.18.101.171:3306/school_center?useSSL=false
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
# username: root
# password: AMrGBg6ZSsRrDLs6
zuul
:
zuul
:
ribbon
:
ribbon
:
eager-load
:
eager-load
:
...
...
new-user/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -131,8 +131,8 @@ spring:
...
@@ -131,8 +131,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
new-user/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -131,8 +131,8 @@ spring:
...
@@ -131,8 +131,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
old-user/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
old-user/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
renewal-user/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
renewal-user/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
service-manager/src/main/java/com/winsun/controller/OrderController.java
View file @
4918f6fb
...
@@ -19,26 +19,47 @@ import com.winsun.bean.SysUser;
...
@@ -19,26 +19,47 @@ import com.winsun.bean.SysUser;
import
com.winsun.bean.YrymReport
;
import
com.winsun.bean.YrymReport
;
import
com.winsun.mapper.*
;
import
com.winsun.mapper.*
;
import
com.winsun.rabbitmq.RabbitProducer
;
import
com.winsun.rabbitmq.RabbitProducer
;
import
com.winsun.utils.ImportExcel
;
import
com.winsun.utils.*
;
import
com.winsun.utils.MyBatisPlusUpdateUtils
;
import
com.winsun.utils.YrymReportUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.sf.json.JSONArray
;
import
net.sf.json.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpHost
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.ContentType
;
import
org.apache.http.entity.mime.MultipartEntityBuilder
;
import
org.apache.http.entity.mime.content.ContentBody
;
import
org.apache.http.entity.mime.content.FileBody
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.protocol.HTTP
;
import
org.apache.http.util.EntityUtils
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.ss.util.CellRangeAddressList
;
import
org.apache.poi.ss.util.CellRangeAddressList
;
import
org.apache.poi.xssf.usermodel.*
;
import
org.apache.poi.xssf.usermodel.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.net.ssl.SSLHandshakeException
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.nio.charset.Charset
;
import
java.security.NoSuchAlgorithmException
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.util.*
;
...
@@ -71,6 +92,13 @@ public class OrderController extends BaseController {
...
@@ -71,6 +92,13 @@ public class OrderController extends BaseController {
private
static
String
SL_COMPANY
=
"快递公司(快递方式为快递必须填写)"
;
private
static
String
SL_COMPANY
=
"快递公司(快递方式为快递必须填写)"
;
private
static
String
SL_KUAIDORDER
=
"快递单号(快递方式为快递必须填写)"
;
private
static
String
SL_KUAIDORDER
=
"快递单号(快递方式为快递必须填写)"
;
/**
* 预制卡清单模板列名
*/
private
static
String
YZK_ORDERNUMBER
=
"订单编号(必填)"
;
private
static
String
BUSINESS_NUMBER
=
"办理号码(必填)"
;
private
static
String
BUSINESS_ICCID
=
"iccid(必填)"
;
private
static
OrderMapper
orderMapper
;
private
static
OrderMapper
orderMapper
;
private
static
SchoolMapper
schoolMapper
;
private
static
SchoolMapper
schoolMapper
;
...
@@ -81,9 +109,16 @@ public class OrderController extends BaseController {
...
@@ -81,9 +109,16 @@ public class OrderController extends BaseController {
private
ExportExcelMapper
exportExcelMapper
;
private
ExportExcelMapper
exportExcelMapper
;
protected
ThreadPoolTaskExecutor
threadPool
;
protected
static
Basemapper
basemapper
;
@Autowired
@Autowired
private
RabbitProducer
taskImport
;
private
RabbitProducer
taskImport
;
private
InputStream
in
=
this
.
getClass
().
getResourceAsStream
(
"/txtfiledetail.properties"
);
private
Properties
prop
=
new
Properties
();
@Autowired
@Autowired
public
OrderController
(
OrderMapper
orderMapper
,
SchoolMapper
schoolMapper
,
SysUserMapper
sysUserMapper
,
public
OrderController
(
OrderMapper
orderMapper
,
SchoolMapper
schoolMapper
,
SysUserMapper
sysUserMapper
,
AppMapper
appMapper
,
ExportExcelMapper
exportExcelMapper
)
{
AppMapper
appMapper
,
ExportExcelMapper
exportExcelMapper
)
{
...
@@ -176,19 +211,24 @@ public class OrderController extends BaseController {
...
@@ -176,19 +211,24 @@ public class OrderController extends BaseController {
//@RequestMapping(value="list", method = RequestMethod.POST)
//@RequestMapping(value="list", method = RequestMethod.POST)
public
ResponseData
<
Page
<
Order
>>
listOrder
(
public
ResponseData
<
Page
<
Order
>>
listOrder
(
@RequestParam
(
name
=
"createTimeStart"
,
required
=
false
)
String
createTimeStart
,
@RequestParam
(
name
=
"createTimeStart"
,
required
=
false
)
String
createTimeStart
,
@RequestParam
(
name
=
"createTimeEnd"
,
required
=
false
)
String
createTimeEnd
,
@RequestParam
(
name
=
"successTimeStart"
,
required
=
false
)
String
successTimeStart
,
@RequestParam
(
name
=
"createTimeEnd"
,
required
=
false
)
String
createTimeEnd
,
@RequestParam
(
name
=
"successTimeEnd"
,
required
=
false
)
String
successTimeEnd
,
@RequestParam
(
"userType"
)
String
userType
,
@RequestParam
(
name
=
"successTimeStart"
,
required
=
false
)
String
successTimeStart
,
@RequestParam
(
name
=
"successTimeEnd"
,
required
=
false
)
String
successTimeEnd
,
@RequestParam
(
"userType"
)
String
userType
,
@RequestParam
(
name
=
"orderNumber"
,
required
=
false
)
String
orderNumber
,
@RequestParam
(
name
=
"kapin"
,
required
=
false
)
String
kapin
,
@RequestParam
(
name
=
"orderNumber"
,
required
=
false
)
String
orderNumber
,
@RequestParam
(
name
=
"kapin"
,
required
=
false
)
String
kapin
,
@RequestParam
(
name
=
"businessNumber"
,
required
=
false
)
String
businessNumber
,
@RequestParam
(
name
=
"contactNumber"
,
required
=
false
)
String
contactNumber
,
@RequestParam
(
name
=
"businessNumber"
,
required
=
false
)
String
businessNumber
,
@RequestParam
(
name
=
"contactNumber"
,
required
=
false
)
String
contactNumber
,
@RequestParam
(
name
=
"hehuorenSchool"
,
required
=
false
)
String
hehuorenSchool
,
@RequestParam
(
name
=
"hehuorenName"
,
required
=
false
)
String
hehuorenName
,
@RequestParam
(
name
=
"hehuorenSchool"
,
required
=
false
)
String
hehuorenSchool
,
@RequestParam
(
name
=
"hehuorenName"
,
required
=
false
)
String
hehuorenName
,
@RequestParam
(
name
=
"orderStatus"
,
required
=
false
)
String
orderStatus
,
@RequestParam
(
name
=
"orderStatus"
,
required
=
false
)
String
orderStatus
,
@RequestParam
(
name
=
"hehuorenArea"
,
required
=
false
)
String
hehuorenArea
,
@RequestParam
(
name
=
"customerName"
,
required
=
false
)
String
customerName
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
int
pageNo
,
@RequestParam
(
name
=
"customerName"
,
required
=
false
)
String
customerName
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
int
pageNo
,
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
int
pageSize
)
{
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
int
pageSize
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
return
ResponseData
.
error
(
"无数据权限"
);
return
ResponseData
.
error
(
"无数据权限"
);
}
}
Wrapper
<
Order
>
wrapper
=
new
EntityWrapper
();
Wrapper
<
Order
>
wrapper
=
new
EntityWrapper
();
wrapper
.
isNull
(
"kd_order_id"
);
wrapper
.
notIn
(
"user_type"
,
3
,
5
,
9
,
10
);
wrapper
.
ge
(
StringUtils
.
isNotBlank
(
createTimeStart
),
"create_time"
,
createTimeStart
);
wrapper
.
ge
(
StringUtils
.
isNotBlank
(
createTimeStart
),
"create_time"
,
createTimeStart
);
wrapper
.
le
(
StringUtils
.
isNotBlank
(
createTimeEnd
),
"create_time"
,
createTimeEnd
);
wrapper
.
le
(
StringUtils
.
isNotBlank
(
createTimeEnd
),
"create_time"
,
createTimeEnd
);
wrapper
.
ge
(
StringUtils
.
isNotBlank
(
successTimeStart
),
"success_time"
,
successTimeStart
);
wrapper
.
ge
(
StringUtils
.
isNotBlank
(
successTimeStart
),
"success_time"
,
successTimeStart
);
...
@@ -201,11 +241,13 @@ public class OrderController extends BaseController {
...
@@ -201,11 +241,13 @@ public class OrderController extends BaseController {
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
contactNumber
),
"contact_number"
,
contactNumber
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
contactNumber
),
"contact_number"
,
contactNumber
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
hehuorenSchool
),
"hehuoren_school"
,
hehuorenSchool
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
hehuorenSchool
),
"hehuoren_school"
,
hehuorenSchool
);
wrapper
.
like
(
StringUtils
.
isNotBlank
(
hehuorenName
),
"hehuoren_name"
,
hehuorenName
,
SqlLike
.
DEFAULT
);
wrapper
.
like
(
StringUtils
.
isNotBlank
(
hehuorenName
),
"hehuoren_name"
,
hehuorenName
,
SqlLike
.
DEFAULT
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
hehuorenArea
),
"hehuoren_area"
,
hehuorenArea
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
orderStatus
),
"order_status"
,
orderStatus
).
orderBy
(
"create_time"
,
false
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
orderStatus
),
"order_status"
,
orderStatus
).
orderBy
(
"create_time"
,
false
);
Page
<
Order
>
page
=
new
Page
<>(
pageNo
,
pageSize
);
Page
<
Order
>
page
=
new
Page
<>(
pageNo
,
pageSize
);
List
<
Order
>
aPackage
=
orderMapper
.
selectPage
(
page
,
wrapper
);
List
<
Order
>
aPackage
=
orderMapper
.
selectPage
(
page
,
wrapper
);
page
.
setRecords
(
aPackage
);
page
.
setRecords
(
aPackage
);
return
ResponseData
.
success
(
page
,
"查询完毕!"
);
return
ResponseData
.
success
(
page
,
"查询完毕!"
);
}
}
...
@@ -692,6 +734,213 @@ public class OrderController extends BaseController {
...
@@ -692,6 +734,213 @@ public class OrderController extends BaseController {
}
}
/**
/**
* 上传快递清单
*
* @param file 上传预制卡批量选号的数据文件
* @return
*/
@Permission
(
menuname
=
"上传预制卡批量选号清单"
,
value
=
"importPrefabrication"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
importPrefabrication
(
@RequestParam
(
name
=
"file"
)
MultipartFile
file
)
{
StringBuffer
error
=
new
StringBuffer
();
if
(!
StringUtils
.
endsWithAny
(
file
.
getOriginalFilename
(),
"xlsx"
,
"xls"
))
{
return
ResponseData
.
error
(
"手工上传数据仅支持Excel文件,其他格式不支持!"
);
}
if
((
double
)
file
.
getSize
()
/
1048576
>
100
)
{
return
ResponseData
.
error
(
"文件过大,无法上传"
);
}
ShiroUser
user
=
getShiroUser
();
// 当前是否有数据权限
boolean
hasDataPermission
=
user
.
getRoleNames
().
stream
().
anyMatch
(
data
->
StringUtils
.
equalsAny
(
data
,
"活动上单员"
,
"数据管理员"
,
"超级管理员"
));
if
(!
hasDataPermission
)
{
return
ResponseData
.
error
(
"无数据权限!"
);
}
ImportExcel
importExcel
=
null
;
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
log
.
error
(
"预制卡批量选号清单导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
}
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
if
(
listMap
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"文件不能为空"
);
}
if
(
listMap
.
get
(
0
).
size
()
!=
3
)
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"a"
).
toString
().
equals
(
YZK_ORDERNUMBER
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"b"
).
toString
().
equals
(
BUSINESS_NUMBER
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"c"
).
toString
().
equals
(
BUSINESS_ICCID
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
//校验数据
try
{
//校验数据
for
(
int
i
=
1
;
i
<
listMap
.
size
();
i
++)
{
Map
<
String
,
Object
>
temp
=
listMap
.
get
(
i
);
if
(!
temp
.
containsKey
(
"a"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的订单编号不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"a"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的订单编号不能为空"
);
}
if
(!
temp
.
containsKey
(
"b"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的办理号码不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"b"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的办理号码不能为空"
);
}
if
(!
temp
.
containsKey
(
"c"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的iccid不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"c"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的iccid不能为空"
);
}
}
//检查excel表中是否有重复人员编号
int
size
=
listMap
.
size
();
Set
<
String
>
accountSet
=
new
HashSet
<>(
size
);
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
Map
<
String
,
Object
>
temp
=
listMap
.
get
(
i
);
accountSet
.
add
((
String
)
temp
.
get
(
"a"
));
}
if
(
accountSet
.
size
()
!=
size
)
{
return
ResponseData
.
error
(
"文件中有重复的订单编号,请确认订单编号不能重复!"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"预制卡批量选号清单导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
}
int
number
=
0
;
Date
successTime
=
new
Date
();
Integer
integer
=
null
;
for
(
int
i
=
1
;
i
<
listMap
.
size
();
i
++)
{
Map
<
String
,
Object
>
map
=
listMap
.
get
(
i
);
String
orderNumber
=
map
.
get
(
"a"
).
toString
();
String
businessNumber
=
map
.
get
(
"b"
).
toString
();
String
iccid
=
map
.
get
(
"c"
).
toString
();
List
<
Map
<
String
,
Object
>>
orderByNumber
=
orderMapper
.
selectOrderIdByOrderNumber
(
orderNumber
);
if
(
orderByNumber
.
size
()==
0
){
continue
;
}
Map
<
String
,
Object
>
map1
=
orderByNumber
.
get
(
0
);
map1
.
put
(
"business_number"
,
number
);
map1
.
put
(
"business_iccid"
,
iccid
);
map1
.
put
(
"send_type"
,
"快递"
);
map1
.
put
(
"order_status"
,
"提交中"
);
threadPool
.
execute
(
new
Runnable
()
{
@Override
public
void
run
()
{
String
id
=
map1
.
get
(
"id"
).
toString
();
Map
<
String
,
Object
>
orderMap
=
orderMapper
.
selectOrderById
(
map1
.
get
(
"id"
).
toString
());
String
hehuoren_id
=
orderMap
.
get
(
"hehuoren_id"
).
toString
();
String
business_number
=
orderMap
.
get
(
"business_number"
).
toString
();
String
business_iccid
=
orderMap
.
get
(
"business_iccid"
).
toString
();
Map
<
String
,
Object
>
partnerById
=
orderMapper
.
findPartnerById
(
hehuoren_id
);
String
name
=
partnerById
.
get
(
"name"
).
toString
();
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
int
ysm
=
Integer
.
parseInt
(
partnerById
.
get
(
"ysm"
).
toString
());
Map
<
String
,
Object
>
ysmById
=
orderMapper
.
findYsmById
(
ysm
);
map1
.
put
(
"ysmUser"
,
ysmById
.
get
(
"user_name"
));
map1
.
put
(
"sign"
,
ysmById
.
get
(
"sign"
));
map1
.
put
(
"idCardUrl1"
,
orderMap
.
get
(
"id_cardz"
));
map1
.
put
(
"idCardUrl2"
,
orderMap
.
get
(
"id_cardf"
));
map1
.
put
(
"idCardUrl3"
,
orderMap
.
get
(
"id_cardzs"
));
map1
.
put
(
"idCardUrl4"
,
orderMap
.
get
(
"id_cardzs"
));
map1
.
put
(
"cardType"
,
orderMap
.
get
(
"kapin"
));
if
(
orderMap
.
get
(
"package_id"
).
equals
(
"49"
)){
map1
.
put
(
"userName"
,
orderMap
.
get
(
"parent_name"
));
}
else
{
map1
.
put
(
"userName"
,
orderMap
.
get
(
"customer_name"
));
}
map1
.
put
(
"linkPhone"
,
orderMap
.
get
(
"contact_number"
));
map1
.
put
(
"idCard"
,
orderMap
.
get
(
"id_card"
));
map1
.
put
(
"orderPhone"
,
business_number
);
map1
.
put
(
"iccId"
,
business_iccid
);
String
site
=
orderMap
.
get
(
"site"
).
toString
();
String
[]
split
=
site
.
split
(
" "
);
map1
.
put
(
"sheng"
,
split
[
0
]);
map1
.
put
(
"shi"
,
split
[
1
]);
map1
.
put
(
"xian"
,
split
[
2
]);
map1
.
put
(
"address"
,
orderMap
.
get
(
"address"
));
String
result
=
""
;
result
=
sendOrder
(
map1
);
JSONObject
resultDataJson
=
JSONObject
.
fromObject
(
result
);
String
orderNum
=
resultDataJson
.
getString
(
"orderNumber"
);
Map
<
String
,
Object
>
map3
=
new
HashMap
<>();
if
(
Is
.
isNoEmpty
(
orderNum
))
{
map3
.
put
(
"id"
,
id
);
map3
.
put
(
"send_type"
,
"快递"
);
map3
.
put
(
"order_status"
,
"审核中"
);
map3
.
put
(
"order_id"
,
orderNum
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
map3
.
put
(
"update_time"
,
sdf
.
format
(
new
Date
()));
}
else
{
map3
.
put
(
"id"
,
id
);
map3
.
put
(
"order_status"
,
"异常单"
);
String
msg
=
resultDataJson
.
getString
(
"msg"
);
map3
.
put
(
"msg"
,
msg
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
map3
.
put
(
"update_time"
,
sdf
.
format
(
new
Date
()));
try
{
orderMapper
.
inserOrderHis
(
id
,
"审核失败"
,
new
Date
(),
"智能平台审核"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
try
{
basemapper
.
update
(
"hhr_order"
,
map3
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
});
int
num
=
0
;
try
{
num
=
basemapper
.
update
(
"hhr_order"
,
map1
)
>
0
?
1
:
0
;
number
+=
num
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
Map
<
String
,
Object
>
history
=
new
HashMap
<
String
,
Object
>();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
history
.
put
(
"order_id"
,
map1
.
get
(
"id"
));
history
.
put
(
"create_date"
,
sdf
.
format
(
new
Date
()));
history
.
put
(
"status"
,
"实名验证中"
);
try
{
basemapper
.
insert
(
"hhr_order_history"
,
history
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(
integer
==
1
)
{
number
++;
}
else
{
error
.
append
(
"第"
+
(
i
+
1
)
+
"行的更新失败,"
);
}
}
error
.
append
(
"成功更新"
+
number
+
"条数据!"
);
return
ResponseData
.
success
(
error
.
toString
(),
"导入完成"
);
}
/**
* 受理订单模板下载
* 受理订单模板下载
*
*
* @return
* @return
...
@@ -786,6 +1035,44 @@ public class OrderController extends BaseController {
...
@@ -786,6 +1035,44 @@ public class OrderController extends BaseController {
return
ResponseData
.
error
(
"快递模板出错"
);
return
ResponseData
.
error
(
"快递模板出错"
);
}
}
@Permission
(
menuname
=
"预制卡批量填号导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBanYZK"
)
public
ResponseData
downloadMoBanYZK
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
YZK_ORDERNUMBER
);
columns
.
add
(
BUSINESS_NUMBER
);
columns
.
add
(
BUSINESS_ICCID
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"预制卡批量填号清单"
);
sheet
.
setColumnWidth
(
0
,
5000
);
sheet
.
setColumnWidth
(
1
,
4000
);
sheet
.
setColumnWidth
(
2
,
9000
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
XSSFCellStyle
cellStyle
=
workbook
.
createCellStyle
();
cellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
columns
.
forEach
(
val
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
val
);
});
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;fileName=data.xlsx"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
IOException
e
)
{
log
.
error
(
"预制卡批量填号模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
return
ResponseData
.
error
(
"预制卡批量填号模板出错"
);
}
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
if
(
datas
.
size
()
==
0
)
{
if
(
datas
.
size
()
==
0
)
{
...
@@ -802,4 +1089,338 @@ public class OrderController extends BaseController {
...
@@ -802,4 +1089,338 @@ public class OrderController extends BaseController {
sheet
.
addValidationData
(
validation
);
sheet
.
addValidationData
(
validation
);
return
sheet
;
return
sheet
;
}
}
// 预实名接口发起
public
String
sendOrder
(
Map
<
String
,
Object
>
map
)
{
try
{
prop
.
load
(
in
);
}
catch
(
IOException
e1
)
{
e1
.
printStackTrace
();
}
String
hhr_img
=
prop
.
getProperty
(
"hhr_img"
);
String
str
=
""
;
try
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMddHHmmssSSS"
);
String
timeStr
=
simpleDateFormat
.
format
(
new
Date
());
String
cardType
=
(
String
)
map
.
get
(
"cardType"
);
if
(
cardType
.
contains
(
"大王卡"
))
{
map
.
put
(
"productId"
,
"483"
);
map
.
put
(
"salesId"
,
"1185"
);
}
else
if
(
cardType
.
contains
(
"天翼学生证"
))
{
map
.
put
(
"productId"
,
"1327"
);
map
.
put
(
"salesId"
,
"4453"
);
}
else
{
map
.
put
(
"productId"
,
"727"
);
map
.
put
(
"salesId"
,
"2137"
);
}
map
.
put
(
"timeStr"
,
timeStr
);
map
.
put
(
"orderNum"
,
"XY"
+
timeStr
);
map
.
put
(
"imgUrl1"
,
(
String
)
map
.
get
(
"idCardUrl1"
));
map
.
put
(
"imgUrl2"
,
(
String
)
map
.
get
(
"idCardUrl2"
));
map
.
put
(
"imgUrl3"
,
(
String
)
map
.
get
(
"idCardUrl3"
));
map
.
put
(
"imgUrl4"
,
(
String
)
map
.
get
(
"idCardUrl4"
));
str
=
sendAitransOrder
(
map
,
0
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
str
;
}
// 保存卡品认证信息
public
String
sendAitransOrder
(
Map
<
String
,
Object
>
map
,
int
count
)
throws
NoSuchAlgorithmException
,
UnsupportedEncodingException
{
HttpHost
proxy
=
new
HttpHost
(
"172.18.101.170"
,
3128
);
RequestConfig
defaultRequestConfig
=
RequestConfig
.
custom
().
setSocketTimeout
(
600000
).
setConnectTimeout
(
600000
)
.
setConnectionRequestTimeout
(
600000
).
setProxy
(
proxy
).
build
();
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
setDefaultRequestConfig
(
defaultRequestConfig
).
build
();
String
resultStr
=
""
;
HttpEntity
entity
=
null
;
// https://ismart.mini189.cn/api/create-order.action
// https://ismarttest.mini189.cn/api/create-order.action
HttpPost
httpPost
=
new
HttpPost
(
"https://ismart.mini189.cn/api/create-order.action"
);
RequestConfig
requestConfig
=
RequestConfig
.
copy
(
defaultRequestConfig
).
build
();
httpPost
.
setConfig
(
requestConfig
);
Map
<
String
,
String
>
signMap
=
new
HashMap
<
String
,
String
>();
MultipartEntityBuilder
builder
=
MultipartEntityBuilder
.
create
();
ContentType
contentType
=
ContentType
.
create
(
HTTP
.
PLAIN_TEXT_TYPE
,
Charset
.
forName
(
"UTF-8"
));
builder
.
addTextBody
(
"service"
,
"order.prepaidgift.create"
,
contentType
);
// api标识,必填且唯一
signMap
.
put
(
"service"
,
"order.prepaidgift.create"
);
builder
.
addTextBody
(
"userName"
,
(
String
)
map
.
get
(
"ysmUser"
),
contentType
);
// 用户名,必填
signMap
.
put
(
"userName"
,
(
String
)
map
.
get
(
"ysmUser"
));
builder
.
addTextBody
(
"timeStamp"
,
(
String
)
map
.
get
(
"timeStr"
),
contentType
);
// 时间戳(YYYYMMDDHHMMSS),必填
signMap
.
put
(
"timeStamp"
,
(
String
)
map
.
get
(
"timeStr"
));
builder
.
addTextBody
(
"productCategory"
,
"预付费礼包"
,
contentType
);
// 业务类型,必填且唯一
signMap
.
put
(
"productCategory"
,
"预付费礼包"
);
builder
.
addTextBody
(
"govEntCustomer"
,
"0"
,
contentType
);
// 是否政企客户下单:0:否,1:是,必填
signMap
.
put
(
"govEntCustomer"
,
"0"
);
builder
.
addTextBody
(
"agentName"
,
""
,
contentType
);
// 代办人姓名(若是政企客户下单必填)
signMap
.
put
(
"agentName"
,
""
);
builder
.
addTextBody
(
"agentCardNum"
,
""
,
contentType
);
// 代办人身份证号码(若是政企客户下单必填)
signMap
.
put
(
"agentCardNum"
,
""
);
builder
.
addTextBody
(
"customerName"
,
(
String
)
map
.
get
(
"userName"
),
contentType
);
// 客户姓名,必填
signMap
.
put
(
"customerName"
,
(
String
)
map
.
get
(
"userName"
));
builder
.
addTextBody
(
"customerPhone"
,
(
String
)
map
.
get
(
"linkPhone"
),
contentType
);
// 客户(代办人)电话,必填
signMap
.
put
(
"customerPhone"
,
(
String
)
map
.
get
(
"linkPhone"
));
builder
.
addTextBody
(
"customerCardType"
,
"身份证"
,
contentType
);
// 证件类型,必填
signMap
.
put
(
"customerCardType"
,
"身份证"
);
builder
.
addTextBody
(
"customerCardNum"
,
(
String
)
map
.
get
(
"idCard"
),
contentType
);
// 证件号码,必填
signMap
.
put
(
"customerCardNum"
,
(
String
)
map
.
get
(
"idCard"
));
builder
.
addTextBody
(
"landId"
,
"44094951"
,
contentType
);
// 揽装工号,必填
signMap
.
put
(
"landId"
,
"44094951"
);
builder
.
addTextBody
(
"comarketingLanId"
,
""
,
contentType
);
// 协销工号,选填
signMap
.
put
(
"comarketingLanId"
,
""
);
builder
.
addTextBody
(
"groupComarketingLanId"
,
""
,
contentType
);
//集团协销工号,选填
signMap
.
put
(
"groupComarketingLanId"
,
""
);
builder
.
addTextBody
(
"orderOutNum"
,
(
String
)
map
.
get
(
"orderNum"
),
contentType
);
//外部订单编号,选填!;
//通过API接口下单,必须传入一个外部接入商的订单编号,该编号与智能营销系统编号一一对应
signMap
.
put
(
"orderOutNum"
,
(
String
)
map
.
get
(
"orderNum"
));
builder
.
addTextBody
(
"orderSource"
,
""
,
contentType
);
// 订单来源 ,选填
signMap
.
put
(
"orderSource"
,
""
);
builder
.
addTextBody
(
"orderSourceNum"
,
""
,
contentType
);
//
//订单来源单号,选填;与订单来源对应,用于业务上记录订单的来源订单编号
signMap
.
put
(
"orderSourceNum"
,
""
);
builder
.
addTextBody
(
"salePointCode"
,
""
,
contentType
);
// 销售点编码,选填
signMap
.
put
(
"salePointCode"
,
""
);
builder
.
addTextBody
(
"personCode"
,
""
,
contentType
);
// 人员编码,选填
signMap
.
put
(
"personCode"
,
""
);
builder
.
addTextBody
(
"distributorSmsReceive"
,
""
,
contentType
);
// 分销商短信接收号码,选填
signMap
.
put
(
"distributorSmsReceive"
,
""
);
builder
.
addTextBody
(
"batchPickUp"
,
"0"
,
contentType
);
// 是否批量提货,必填
// 0:否,1:是
signMap
.
put
(
"batchPickUp"
,
"0"
);
builder
.
addTextBody
(
"deliveryProvince"
,
(
String
)
map
.
get
(
"sheng"
),
contentType
);
// 配送地址-省,必填
signMap
.
put
(
"deliveryProvince"
,
(
String
)
map
.
get
(
"sheng"
));
builder
.
addTextBody
(
"deliveryCity"
,
(
String
)
map
.
get
(
"shi"
),
contentType
);
// 配送地址-市,必填
signMap
.
put
(
"deliveryCity"
,
(
String
)
map
.
get
(
"shi"
));
builder
.
addTextBody
(
"deliveryDistrict"
,
(
String
)
map
.
get
(
"xian"
),
contentType
);
// 配送地址-区,必填
signMap
.
put
(
"deliveryDistrict"
,
(
String
)
map
.
get
(
"xian"
));
builder
.
addTextBody
(
"deliveryAddress"
,
(
String
)
map
.
get
(
"address"
),
contentType
);
// 配送地址-详细地址,必填
signMap
.
put
(
"deliveryAddress"
,
(
String
)
map
.
get
(
"address"
));
builder
.
addTextBody
(
"deliveryContact"
,
(
String
)
map
.
get
(
"userName"
),
contentType
);
// 联系人,必填
signMap
.
put
(
"deliveryContact"
,
(
String
)
map
.
get
(
"userName"
));
builder
.
addTextBody
(
"deliveryContactPhone"
,
(
String
)
map
.
get
(
"linkPhone"
),
contentType
);
// 联系电话,必填
signMap
.
put
(
"deliveryContactPhone"
,
(
String
)
map
.
get
(
"linkPhone"
));
builder
.
addTextBody
(
"deliveryContactPhone2"
,
""
,
contentType
);
// 联系电话2,选填
signMap
.
put
(
"deliveryContactPhone2"
,
""
);
builder
.
addTextBody
(
"invoiced"
,
"0"
,
contentType
);
// 是否需要发票,必填 0:不需要;1:一次性发票;2:分月发票
signMap
.
put
(
"invoiced"
,
"0"
);
builder
.
addTextBody
(
"invoiceTitle"
,
""
,
contentType
);
// 发票抬头,若需要发票必填
signMap
.
put
(
"invoiceTitle"
,
""
);
builder
.
addTextBody
(
"invoiceDeliveryAddress"
,
""
,
contentType
);
// 电子邮箱,若需要发票必填
signMap
.
put
(
"invoiceDeliveryAddress"
,
""
);
builder
.
addTextBody
(
"deliveryType"
,
"代理商自行发货"
,
contentType
);
// 发货类型,必填,填写只能填同德仓发货或者代理商自行发货或者 现场派卡(其它信息的要求与代理商自行发货类似)
signMap
.
put
(
"deliveryType"
,
"代理商自行发货"
);
// 若填写代理商自行发货或现场派卡,则下单时有几个产品,就需要填写多少个实物串号
builder
.
addTextBody
(
"deliveryCompany"
,
""
,
contentType
);
// 配送公司,必填,填写只能填顺丰速运或者如风达或者京东快递或者EMS
signMap
.
put
(
"deliveryCompany"
,
""
);
// 若发货类型选择代理商自行发货,则不用填写(填写也无效)
builder
.
addTextBody
(
"collection"
,
""
,
contentType
);
// 回收资料,选填,若填写只能填写1(表示身份证复印件)
signMap
.
put
(
"collection"
,
""
);
builder
.
addTextBody
(
"gift"
,
""
,
contentType
);
// 礼品,选填,请通过礼品列表接口获取
signMap
.
put
(
"gift"
,
""
);
builder
.
addTextBody
(
"giftNum"
,
""
,
contentType
);
// 礼品数量,选填,若礼品填写则必填且为正整数
signMap
.
put
(
"giftNum"
,
""
);
List
<
Map
<
String
,
Object
>>
productList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 产品信息
List
<
Map
<
String
,
Object
>>
paymentList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 销售品信息(费用项)
List
<
Map
<
String
,
Object
>>
inPropertyList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 产品属性
List
<
Map
<
String
,
Object
>>
appendPropertyList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 产品附加扩展属性
List
<
Map
<
String
,
Object
>>
addPropertyList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 自定义产品属性
// 下单产品(如有多个请建立多个map,但产品总数不能超过5个)
Map
<
String
,
Object
>
productMap
=
new
HashMap
<
String
,
Object
>();
// 产品
productMap
.
put
(
"productId"
,
map
.
get
(
"productId"
));
// 产品id,必填,请通过产品列表接口获取
productMap
.
put
(
"count"
,
""
);
// 产品数量,选填(若不填默认为1)
// 该数量仅供发货类型为同德仓发货且批量提货为否时填写,若选择代理商自行发货或批量提货为是,则填写无效
productMap
.
put
(
"count2"
,
""
);
// 产品数量,选填(若不填默认为1);该数量仅供批量提货为是时使用
// 若选择批量提货为否时,则填写无效
productMap
.
put
(
"sn"
,
map
.
get
(
"iccId"
));
// 实物串号,选填(若选择代理商自行发货,必填;其他情况填写无效)
// 销售品信息(费用项)必填,若有终端,请将费用项填写在此
Map
<
String
,
Object
>
paymentListMap
=
new
HashMap
<
String
,
Object
>();
paymentListMap
.
put
(
"id"
,
map
.
get
(
"salesId"
));
// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap
.
put
(
"saleName"
,
""
);
// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
// paymentListMap.put("saleAmount", "");// 售价,选填
paymentListMap
.
put
(
"payType"
,
"3"
);
// 缴费方式,必填(例:payType:3)3:代理商打款4:穗易付7:货到付款9:第三方托收
paymentListMap
.
put
(
"payAmount"
,
"0"
);
// 打款金额(支付金额),若选择代理商打款或者穗易付,此项必填
paymentListMap
.
put
(
"saleAmount"
,
""
);
// 打款金额,若选择货到付款,此项必填
paymentListMap
.
put
(
"payPlatform"
,
""
);
// 支付平台,若选择穗易付,此项必填
paymentListMap
.
put
(
"electronicPayNumber"
,
""
);
// 支付流水号,若选择穗易付,此项必填
paymentListMap
.
put
(
"payOrderNumber"
,
""
);
// 穗易付订单号,若选择穗易付,此项必填
paymentListMap
.
put
(
"monthUserid"
,
""
);
//用户ID,缴费方式为“第三方托收”时必填
paymentListMap
.
put
(
"monthPlatform"
,
""
);
//签约平台,缴费方式为“第三方托收”时必填
paymentListMap
.
put
(
"monthFlowno"
,
""
);
//签约流水号,缴费方式为“第三方托收”时必填
paymentListMap
.
put
(
"monthNumber"
,
""
);
//签约协议号,缴费方式为“第三方托收”时必填
paymentListMap
.
put
(
"monthTime"
,
""
);
//签约时间,缴费方式为“第三方托收”时必填
paymentListMap
.
put
(
"monthEffectiveTime"
,
""
);
//签约生效时间,缴费方式为“第三方托收”时必填
paymentListMap
.
put
(
"monthUneffectiveTime"
,
""
);
//签约失效时间,缴费方式为“第三方托收”时必填
paymentList
.
add
(
paymentListMap
);
productMap
.
put
(
"payment"
,
paymentList
);
// 产品属性 必填业务号码属性,name=业务号码,value=11位数字或者随机;若还有其他属性可建立多个map添加
// 若发货类型选择代理商自行发货,则该value值必须填写11位数字
Map
<
String
,
Object
>
inPropertyListMap
=
new
HashMap
<
String
,
Object
>();
inPropertyListMap
.
put
(
"name"
,
"业务号码"
);
inPropertyListMap
.
put
(
"value"
,
map
.
get
(
"orderPhone"
));
inPropertyList
.
add
(
inPropertyListMap
);
productMap
.
put
(
"inpProperties"
,
inPropertyList
);
// 产品自定义属性;选填,没有则为null
// 注:若填写请属性名和属性值都填写,若只填写其中一项则无效
Map
<
String
,
Object
>
addPropertyListMap
=
new
HashMap
<
String
,
Object
>();
addPropertyListMap
.
put
(
"name"
,
null
);
addPropertyListMap
.
put
(
"value"
,
null
);
addPropertyList
.
add
(
addPropertyListMap
);
productMap
.
put
(
"addProperties"
,
addPropertyList
);
productList
.
add
(
productMap
);
// 将对象装换为json字符串
String
productJson
=
JSONArray
.
fromObject
(
productList
).
toString
();
try
{
builder
.
addTextBody
(
"productJson"
,
URLEncoder
.
encode
(
productJson
,
"UTF-8"
),
contentType
);
// 产品信息,必填
signMap
.
put
(
"productJson"
,
URLEncoder
.
encode
(
productJson
,
"UTF-8"
));
}
catch
(
UnsupportedEncodingException
e1
)
{
// TODO Auto-generated catch block
e1
.
printStackTrace
();
}
//身份证正面,选填
File
file1
=
new
File
((
String
)
map
.
get
(
"imgUrl1"
));
//身份证背面,选填
File
file2
=
new
File
((
String
)
map
.
get
(
"imgUrl2"
));
//手持证件,选填
File
file3
=
new
File
((
String
)
map
.
get
(
"imgUrl3"
));
//手持证件2,选填
File
file4
=
new
File
((
String
)
map
.
get
(
"imgUrl4"
));
if
(
file1
!=
null
)
{
ContentBody
sfzzmFile
=
new
FileBody
(
file1
);
builder
.
addPart
(
"sfzzmFile"
,
sfzzmFile
);
}
if
(
file2
!=
null
)
{
ContentBody
sfzbmFile
=
new
FileBody
(
file2
);
builder
.
addPart
(
"sfzbmFile"
,
sfzbmFile
);
}
if
(
file3
!=
null
)
{
ContentBody
sfzscFile
=
new
FileBody
(
file3
);
builder
.
addPart
(
"sfzscFile"
,
sfzscFile
);
}
if
(
file4
!=
null
)
{
ContentBody
sfzsc2File
=
new
FileBody
(
file4
);
builder
.
addPart
(
"sfzsc2File"
,
sfzsc2File
);
}
List
<
String
>
keys
=
new
ArrayList
<
String
>();
keys
.
addAll
(
signMap
.
keySet
());
Collections
.
sort
(
keys
);
// key按字符串升序
String
value
,
plaintext
=
""
;
for
(
String
key
:
keys
)
{
value
=
signMap
.
get
(
key
);
plaintext
=
plaintext
.
concat
(
value
);
}
plaintext
=
plaintext
.
concat
((
String
)
map
.
get
(
"sign"
));
String
sign
=
Md5
.
encryption
(
plaintext
);
// md5加密
builder
.
addTextBody
(
"sign"
,
sign
,
contentType
);
// 签名,必填
try
{
//httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
httpPost
.
setEntity
(
builder
.
build
());
//System.out.println("[CREATE_ORDER]移动产品下单接口,提交参数" + EntityUtils.toString(httpPost.getEntity(), "UTF-8"));
long
startTime
=
System
.
currentTimeMillis
();
Constant
.
trustEveryone
();
HttpResponse
response
=
httpclient
.
execute
(
httpPost
);
long
endTime
=
System
.
currentTimeMillis
();
log
.
info
(
"接口调用时间:"
+
(
endTime
-
startTime
)
+
"ms"
);
entity
=
response
.
getEntity
();
String
httpResult
=
EntityUtils
.
toString
(
entity
,
"UTF-8"
);
resultStr
=
httpResult
;
log
.
info
(
"[CREATE_ORDER]预付费下单接口,返回信息:"
+
httpResult
);
httpclient
.
close
();
JSONObject
resultDataJson
=
JSONObject
.
fromObject
(
httpResult
);
String
isSuccess
=
resultDataJson
.
getString
(
"status"
);
String
orderNum
=
resultDataJson
.
getString
(
"orderNumber"
);
if
(
"000001"
.
equals
(
isSuccess
))
{
log
.
info
(
"[CREATE_ORDER]下单成功,orderNum="
+
orderNum
);
}
}
catch
(
SSLHandshakeException
s
)
{
count
++;
if
(
count
<
20
)
{
resultStr
=
sendAitransOrder
(
map
,
count
);
}
else
{
log
.
error
(
"[HTTP] [CREATE_ORDER] 预付费下单接口异常20次"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"[HTTP] [CREATE_ORDER] 预付费下单接口异常"
);
e
.
printStackTrace
();
}
finally
{
httpPost
.
releaseConnection
();
}
return
resultStr
;
}
}
}
service-manager/src/main/java/com/winsun/utils/Constant.java
0 → 100644
View file @
4918f6fb
package
com
.
winsun
.
utils
;
import
javax.net.ssl.*
;
import
java.security.SecureRandom
;
import
java.security.cert.CertificateException
;
import
java.security.cert.X509Certificate
;
/**
* @author ljh
* @Description:常量类
* @Title: Constant
* @date 2018年5月16日下午6:55:54
* @version 1.0
*/
public
class
Constant
{
/* 默认一页显示10条数据 */
public
final
static
Integer
PAGENUM
=
2
;
/* 默认第一页 */
public
final
static
Integer
FROMPAGE
=
0
;
/*用户状态*/
public
final
static
String
USERQIDONG
=
"1"
;
//启用
public
final
static
String
USERJINYONG
=
"0"
;
//禁用
/*支付参数*/
public
final
static
String
CLIENTNUMBER
=
"xyzxyql"
;
//商户标识,由穗易付平台统一分配
public
final
static
String
KEY
=
"E805F0305C455BA7C5BAE3796C6500BD"
;
//商户标识,由穗易付平台统一分配
public
final
static
String
USERNAME
=
"apitest"
;
//智能平台提供测试的账号
public
final
static
String
USERNAMEKEY
=
"46b97294d4dac3f62ee42f3ab2804f68"
;
//智能平台提供的测试key
public
final
static
String
ZHENGSHIAUCCON
=
"ruany"
;
//智能平台提供的正式账号
public
final
static
String
ZHANGSHIKEY
=
"3df143292455bfea88bc613c53004d36"
;
//智能平台提供的正式key
// public final static String ZHENGSHIAUCCON = "xiaoykd"; //智能平台提供的正式账号
// public final static String ZHANGSHIKEY = "d345040accff0421d03f760a03e5cbd9"; //智能平台提供的正式key
public
final
static
String
ZHANGSHIURL
=
"https://ismart.mini189.cn/api/"
;
//智能平台提供的正式key
public
final
static
String
PRODUCTCATEGORY
=
"单宽带"
;
//只能平台提供的key
// public final static String TOMCATURL = "http://183.57.78.132:8080"; //Linux外网服务器地址
// public final static String INTRANETURL = "http://10.3.1.21:8080"; //Linux内网服务器地址
public
final
static
String
TOMCATURL
=
"http://yrym.winsun-aly.com"
;
//省windows外网服务器地址
public
final
static
String
INTRANETURL
=
"http://172.51.229.10:8081"
;
//省windows内网服务器地址
// public final static String TOMCATURL = "http://ue189.com:8529"; //服务器地址
// public final static String INTRANETURL = "http://ue189.com:8529"; //服务器地址
// public final static String TOMCATURL = "http://127.0.0.1:8080"; //服务器地址
// public final static String INTRANETURL = "http://127.0.0.1:8080"; //服务器地址
public
final
static
String
PRODUCTSKU481
=
"481"
;
//产品sku:校园宽带300元/年
public
final
static
String
PRODUCTSKU479
=
"479"
;
//产品sku:校园宽带30元/月
public
final
static
String
PRODUCTSKU479Str
=
"30元"
;
//产品sku:校园宽带30元/月
public
final
static
String
PRODUCTSKU481Str
=
"300元"
;
//产品sku:校园宽带30元/月
public
final
static
String
Payment0
=
"0"
;
//支付方式:为翼支付网厅
public
final
static
String
Payment1
=
"1"
;
//支付方式:为支付宝
public
final
static
String
Payment3
=
"3"
;
//支付方式:为微信支付
public
static
final
String
VALIDATECODE_SESSION_KEY
=
"validatecode"
;
// 验证码 session key
/*宽带图片*/
public
final
static
String
KUANDAIIMAGE
=
"kuandai"
;
//封面图
public
final
static
String
IMGBDURL
=
"/static/images/temp/"
;
//图片存放位置
public
final
static
String
KDIMGBDURL
=
"/static/images/kuandai/"
;
//图片存放位置
public
final
static
String
ORDERSTATUS1
=
"1"
;
// 待提交
public
final
static
String
ORDERSTATUS2
=
"2"
;
// 待受理
public
final
static
String
ORDERSTATUS3
=
"3"
;
// 受理成功【待收费】
public
final
static
String
ORDERSTATUS4
=
"4"
;
// 归档
public
final
static
String
ORDERSTATUS5
=
"5"
;
// 作废
public
final
static
String
ORDERSTATUS9
=
"9"
;
// 已收费【待竣工】
public
final
static
String
ORDERSTATUS10
=
"10"
;
// 受理异常
public
final
static
String
ORDERSTATUS100
=
"100"
;
// 未支付
public
final
static
String
ROLE1
=
"1"
;
// 用户权限:1管理员 2测试人员 3工作人员 4学校人员
public
final
static
String
ROLE2
=
"2"
;
// 用户权限:1管理员 2测试人员 3工作人员 4学校人员
public
final
static
String
ROLE3
=
"3"
;
// 用户权限:1管理员 2测试人员 3工作人员 4学校人员
public
final
static
String
ROLE4
=
"4"
;
// 用户权限:1管理员 2测试人员 3工作人员 4学校人员
/** 信任任何站点 */
public
static
void
trustEveryone
()
{
try
{
HttpsURLConnection
.
setDefaultHostnameVerifier
(
new
HostnameVerifier
()
{
@Override
public
boolean
verify
(
String
hostname
,
SSLSession
session
)
{
return
true
;
}
});
SSLContext
context
=
SSLContext
.
getInstance
(
"TLS"
);
context
.
init
(
null
,
new
X509TrustManager
[]
{
new
X509TrustManager
()
{
@Override
public
void
checkClientTrusted
(
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
}
@Override
public
void
checkServerTrusted
(
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
}
@Override
public
X509Certificate
[]
getAcceptedIssuers
()
{
return
new
X509Certificate
[
0
];
}
}
},
new
SecureRandom
());
HttpsURLConnection
.
setDefaultSSLSocketFactory
(
context
.
getSocketFactory
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
service-manager/src/main/java/com/winsun/utils/Is.java
0 → 100644
View file @
4918f6fb
package
com
.
winsun
.
utils
;
import
java.lang.reflect.Array
;
import
java.util.Collection
;
import
java.util.Map
;
/**
* 判断非空工具类
*
* @author hjh
*
* @version v1.4 2016-12-19
* @since 2016-2-12
*/
public
class
Is
{
/**
* 私有化构造对象,不能创建对象
*/
private
Is
()
{
super
();
throw
new
UnsupportedOperationException
(
"cannot be instantiated"
);
}
/**
* 判断是否大于0
*
* @param num
* 整形
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
byte
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
byte
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
byte
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 整形
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
short
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
short
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
short
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 整数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
int
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
int
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
int
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 浮点数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
float
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
float
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
float
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 双精度浮点数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
double
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
double
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
double
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 长整数
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
long
num
)
{
return
num
>
0
?
true
:
false
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
long
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
long
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否大于0
*
* @param num
* 数字
* @return true为大于0,false为小于0
*/
public
static
boolean
isNoEmpty
(
Number
num
)
{
boolean
flag
=
false
;
if
(
null
!=
num
)
{
if
(
num
.
doubleValue
()
>
0
)
{
flag
=
true
;
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param nums
* 数组
* @return 如果array不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
Number
[]
nums
)
{
boolean
flag
=
false
;
if
(
nums
!=
null
&&
nums
.
length
>
0
)
{
for
(
Number
i
:
nums
)
{
if
(
Is
.
isNoEmpty
(
i
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param str
* 字符串
* @return 如果str不为空返回true
*/
public
static
boolean
isNoEmpty
(
String
str
)
{
boolean
flag
=
false
;
if
(
str
!=
null
&&
str
.
replaceAll
(
"//s*"
,
""
).
length
()
>
0
)
{
flag
=
true
;
}
return
flag
;
}
/**
* 判断是否为空
*
* @param strs
* 字符串数组
* @return 如果strs不为空(存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
String
[]
strs
)
{
boolean
flag
=
false
;
if
(
strs
!=
null
&&
strs
.
length
>
0
)
{
for
(
String
s
:
strs
)
{
if
(
Is
.
isNoEmpty
(
s
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param list
* list集合或set集合
* @return 如果list不为空(list存在至少有一个值不为空)返回true
*/
public
static
<
T
>
boolean
isNoEmpty
(
Collection
<
T
>
list
)
{
boolean
flag
=
false
;
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
for
(
T
l
:
list
)
{
if
(
Is
.
isNoEmpty
(
l
))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param map
* map集合
* @return 如果map不为空(map存在至少有一个值不为空)返回true
*/
public
static
boolean
isNoEmpty
(
Map
<?,
?>
map
)
{
boolean
flag
=
false
;
if
(
map
!=
null
&&
map
.
size
()
>
0
)
{
for
(
Map
.
Entry
<?,
?>
entry
:
map
.
entrySet
())
{
if
(
Is
.
isNoEmpty
(
entry
.
getValue
()))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
/**
* 判断是否为空
*
* @param objs
* 数据集
* @return 如果都不为空且有值且不为负数返回true
*/
public
static
boolean
isNoEmpty
(
Object
...
objs
)
{
boolean
flag
=
true
;
if
(
objs
!=
null
){
for
(
Object
obj
:
objs
)
{
// 任意一项都不能为空
if
(
obj
==
null
)
{
flag
=
false
;
break
;
}
// 判断不同数据是否符合规则
if
(
obj
instanceof
Number
)
{
// 数字
if
(((
Number
)
obj
).
doubleValue
()
<=
0
)
{
flag
=
false
;
break
;
}
}
else
if
(
obj
instanceof
String
)
{
// 字符
if
(((
String
)
obj
).
replaceAll
(
"//s*"
,
""
).
length
()
<=
0
)
{
flag
=
false
;
break
;
}
}
else
if
(
obj
instanceof
Collection
)
{
// 集合
if
(!
Is
.
isNoEmpty
((
Collection
<?>)
obj
))
{
flag
=
false
;
break
;
}
}
else
if
(
obj
instanceof
Map
)
{
// 集合
if
(!
Is
.
isNoEmpty
((
Map
<?,
?>)
obj
))
{
flag
=
false
;
break
;
}
}
else
if
(
obj
.
getClass
().
isArray
())
{
// 数组
if
(
Array
.
getLength
(
obj
)
<=
0
)
{
flag
=
false
;
break
;
}
}
}
}
else
{
flag
=
false
;
}
return
flag
;
}
/**
* 为空或为零时返回默认值
*
* @param t
* 参数
* @param def
* 默认值
* @return t为空时返回def
*/
public
static
<
T
>
T
ifNull
(
T
t
,
T
def
)
{
if
(!
Is
.
isNoEmpty
(
t
))
{
// 为空
t
=
def
;
}
return
t
;
}
/**
* 去除所有空格,换行符,换页符
*
* @param str
* 字符串
* @return 去除后的字符串
*/
public
static
String
trim
(
String
str
)
{
return
str
!=
null
?
str
.
replaceAll
(
"\\s*|\t|\r|\n"
,
""
)
:
str
;
}
public
static
Object
ifValue
(
Object
obj
){
if
(
obj
==
""
||
null
==
obj
||
obj
==
" "
){
return
null
;
}
return
obj
;
}
public
static
boolean
isEmpty
(
Object
str
){
if
(
Is
.
isNoEmpty
(
str
))
{
return
false
;
}
return
true
;
}
/**
* obj转str
* @param obj
* @return
*/
public
static
String
parseStr
(
Object
obj
){
return
Is
.
ifNull
(
obj
,
""
).
toString
();
}
}
service-manager/src/main/java/com/winsun/utils/Md5.java
0 → 100644
View file @
4918f6fb
package
com
.
winsun
.
utils
;
import
java.io.UnsupportedEncodingException
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
/**
* md5类
*
* @author 董有沛
*
*/
public
class
Md5
{
// 32位大写明文加密
public
static
String
encryption
(
String
str
)
throws
NoSuchAlgorithmException
,
UnsupportedEncodingException
{
String
result
=
""
;
MessageDigest
md5
=
MessageDigest
.
getInstance
(
"MD5"
);
md5
.
update
((
str
).
getBytes
(
"UTF-8"
));
byte
b
[]
=
md5
.
digest
();
int
i
;
StringBuffer
buf
=
new
StringBuffer
(
""
);
for
(
int
offset
=
0
;
offset
<
b
.
length
;
offset
++)
{
i
=
b
[
offset
];
if
(
i
<
0
)
{
i
+=
256
;
}
if
(
i
<
16
)
{
buf
.
append
(
"0"
);
}
buf
.
append
(
Integer
.
toHexString
(
i
));
}
result
=
buf
.
toString
().
toUpperCase
();
return
result
;
}
/*public final static String encode(String s) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F' };
try {
byte[] btInput = s.getBytes("UTF-8");
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance("MD5");
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}*/
}
service-manager/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -129,8 +129,8 @@ spring:
...
@@ -129,8 +129,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
service-manager/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -131,8 +131,8 @@ spring:
...
@@ -131,8 +131,8 @@ spring:
datasource
:
datasource
:
master
:
master
:
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
devtools
:
devtools
:
restart
:
restart
:
...
...
service-manager/src/main/resources/txtfiledetail.properties
0 → 100644
View file @
4918f6fb
#############################################################################
#ػFTP
#
ftp_host
=
127.0.0.1
ftp_port
=
21
ftp_username
=
root
ftp_password
=
qUDZj/w2Rus=
ftp_sys
=
E:/FTP
hhr_img
=
/datas/apps/web/tomcats/apache-tomcat-7.0.100-hhr/hhrphoto
#hhr_img=D:/a
sign_img
=
/datas/apps/web/tomcats/apache-tomcat-7.0.100-hhr/hhr-sign-img
#sign_img=D:/a
yrym_sign
=
rQXPSHvWvHasj17#5L70ux3KvlWNqoVQ
task/src/main/resources/application-prod.yml
View file @
4918f6fb
...
@@ -122,8 +122,8 @@ spring:
...
@@ -122,8 +122,8 @@ spring:
prohibition
:
600
prohibition
:
600
datasource
:
datasource
:
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://localhost:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
filters
:
wall,mergeStat
filters
:
wall,mergeStat
max-active
:
20
max-active
:
20
devtools
:
devtools
:
...
...
task/src/main/resources/application.yml
View file @
4918f6fb
...
@@ -121,8 +121,8 @@ spring:
...
@@ -121,8 +121,8 @@ spring:
prohibition
:
600
prohibition
:
600
datasource
:
datasource
:
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://172.18.101.171:3306/school_center?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username
:
root
username
:
yzzx
password
:
AMrGBg6ZSsRrDLs6
password
:
yzzx123!@#
filters
:
wall,mergeStat
filters
:
wall,mergeStat
max-active
:
20
max-active
:
20
devtools
:
devtools
:
...
...
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