Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
b1fe9757
Commit
b1fe9757
authored
Aug 07, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform
into base-modify
parents
e5d71f19
f223f6f3
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
374 additions
and
160 deletions
+374
-160
pom.xml
ace-common/pom.xml
+4
-0
pom.xml
ace-gate/pom.xml
+6
-0
GatewayServerBootstrap.java
.../github/wxiaoqi/security/gate/GatewayServerBootstrap.java
+1
-2
AccessGatewayFilter.java
...hub/wxiaoqi/security/gate/filter/AccessGatewayFilter.java
+78
-32
logback.xml
ace-gate/src/main/resources/logback.xml
+2
-2
AppUserDetailBiz.java
...m/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
+5
-10
AppUserLoginBiz.java
...om/github/wxiaoqi/security/admin/biz/AppUserLoginBiz.java
+34
-0
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+11
-19
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+58
-0
BaseUserMemberController.java
...wxiaoqi/security/admin/rest/BaseUserMemberController.java
+13
-0
AppPermissionService.java
...aoqi/security/admin/rpc/service/AppPermissionService.java
+6
-6
IntegralRule.java
.../java/com/xxfc/platform/activity/entity/IntegralRule.java
+1
-1
IntegralUserStatusBiz.java
...com/xxfc/platform/activity/biz/IntegralUserStatusBiz.java
+4
-0
OrderMsgBiz.java
...n/java/com/xxfc/platform/order/biz/inner/OrderMsgBiz.java
+6
-1
BackStageOrderController.java
...om/xxfc/platform/order/rest/BackStageOrderController.java
+6
-3
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+4
-1
OrderRentVehicleController.java
.../xxfc/platform/order/rest/OrderRentVehicleController.java
+7
-0
OrderVehicleCrosstownController.java
.../platform/order/rest/OrderVehicleCrosstownController.java
+4
-2
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+5
-5
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+6
-2
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+10
-3
OrderRefundBiz.java
.../java/com/xxfc/platform/universal/biz/OrderRefundBiz.java
+2
-3
VehicleModelVo.java
...n/java/com/xxfc/platform/vehicle/pojo/VehicleModelVo.java
+9
-0
BranchCompanyBiz.java
.../java/com/xxfc/platform/vehicle/biz/BranchCompanyBiz.java
+1
-1
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+4
-4
VehicleCataBiz.java
...in/java/com/xxfc/platform/vehicle/biz/VehicleCataBiz.java
+1
-1
VehiclePlatCataBiz.java
...ava/com/xxfc/platform/vehicle/biz/VehiclePlatCataBiz.java
+1
-1
VehicleModelController.java
...om/xxfc/platform/vehicle/rest/VehicleModelController.java
+85
-61
No files found.
ace-common/pom.xml
View file @
b1fe9757
...
...
@@ -38,6 +38,10 @@
<artifactId>
spring-cloud-sleuth-zipkin
</artifactId>
<version>
2.1.0.RELEASE
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-sentinel
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-aop
</artifactId>
...
...
ace-gate/pom.xml
View file @
b1fe9757
...
...
@@ -93,6 +93,12 @@
<artifactId>
ace-interface
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.github.wxiaoqi
</groupId>
<artifactId>
ace-admin-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.github.wxiaoqi
</groupId>
<artifactId>
ace-auth-client
</artifactId>
...
...
ace-gate/src/main/java/com/github/wxiaoqi/security/gate/GatewayServerBootstrap.java
View file @
b1fe9757
...
...
@@ -4,7 +4,6 @@ import com.github.wxiaoqi.security.api.vo.config.HeaderConfig;
import
com.github.wxiaoqi.security.auth.client.EnableAceAuthClient
;
import
com.github.wxiaoqi.security.gate.utils.DBLog
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.client.SpringCloudApplication
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
...
...
@@ -17,7 +16,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringCloudApplication
@EnableDiscoveryClient
@EnableAceAuthClient
@EnableFeignClients
(
value
=
{
"com.github.wxiaoqi.security.auth.client.feign"
,
"com.github.wxiaoqi.security.gate.feign"
},
defaultConfiguration
=
HeaderConfig
.
class
)
@EnableFeignClients
(
value
=
{
"com.github.wxiaoqi.security.auth.client.feign"
,
"com.github.wxiaoqi.security.gate.feign"
,
"com.github.wxiaoqi.security.admin.feign"
},
defaultConfiguration
=
HeaderConfig
.
class
)
public
class
GatewayServerBootstrap
{
public
static
void
main
(
String
[]
args
)
{
DBLog
.
getInstance
().
start
();
...
...
ace-gate/src/main/java/com/github/wxiaoqi/security/gate/filter/AccessGatewayFilter.java
View file @
b1fe9757
package
com
.
github
.
wxiaoqi
.
security
.
gate
.
filter
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.api.vo.authority.PermissionInfo
;
import
com.github.wxiaoqi.security.api.vo.log.LogInfo
;
import
com.github.wxiaoqi.security.auth.client.config.ServiceAuthConfig
;
...
...
@@ -54,7 +57,7 @@ import java.util.stream.Stream;
*/
@Configuration
@Slf4j
public
class
AccessGatewayFilter
implements
GlobalFilter
{
public
class
AccessGatewayFilter
implements
GlobalFilter
{
@Autowired
@Lazy
private
IUserService
userService
;
...
...
@@ -67,6 +70,9 @@ public class AccessGatewayFilter implements GlobalFilter{
@Lazy
private
ILogService
logService
;
@Autowired
UserFeign
userFeign
;
@Value
(
"${gate.ignore.startWith}"
)
private
String
startWith
;
...
...
@@ -113,8 +119,8 @@ public class AccessGatewayFilter implements GlobalFilter{
// IJWTInfo user = null;
// try {
// user = getJWTUser(request, mutate);
// 申请客户端密钥头
mutate
.
header
(
serviceAuthConfig
.
getTokenHeader
(),
serviceAuthUtil
.
getClientToken
());
// 申请客户端密钥头
mutate
.
header
(
serviceAuthConfig
.
getTokenHeader
(),
serviceAuthUtil
.
getClientToken
());
// } catch (Exception e) {
// log.info("调用免登陆接口的用户Token过期异常", e);
// }
...
...
@@ -257,7 +263,7 @@ public class AccessGatewayFilter implements GlobalFilter{
private
boolean
isStartWith
(
String
requestUri
)
{
boolean
flag
=
false
;
for
(
String
s
:
GATE_WAY_UNAUTH
.
split
(
","
))
{
if
(
requestUri
.
contains
(
s
))
{
if
(
requestUri
.
contains
(
s
))
{
return
true
;
}
}
...
...
@@ -281,12 +287,12 @@ public class AccessGatewayFilter implements GlobalFilter{
}
public
void
setLogService
(
ServerWebExchange
exchange
,
GatewayFilterChain
chain
)
{
public
void
setLogService
(
ServerWebExchange
exchange
,
GatewayFilterChain
chain
)
{
MediaType
mediaType
=
exchange
.
getRequest
().
getHeaders
().
getContentType
();
ServerRequest
serverRequest
=
new
DefaultServerRequest
(
exchange
);
// 如果是json格式,将body内容转化为object or map 都可
if
(
MediaType
.
APPLICATION_JSON
.
isCompatibleWith
(
mediaType
)){
if
(
MediaType
.
APPLICATION_JSON
.
isCompatibleWith
(
mediaType
))
{
Mono
<
Object
>
modifiedBody
=
serverRequest
.
bodyToMono
(
Object
.
class
)
.
flatMap
(
body
->
{
recordLog
(
exchange
.
getRequest
(),
body
);
...
...
@@ -295,7 +301,7 @@ public class AccessGatewayFilter implements GlobalFilter{
}
// 如果是表单请求
else
if
(
MediaType
.
APPLICATION_FORM_URLENCODED
.
isCompatibleWith
(
mediaType
))
{
else
if
(
MediaType
.
APPLICATION_FORM_URLENCODED
.
isCompatibleWith
(
mediaType
))
{
Mono
<
String
>
modifiedBody
=
serverRequest
.
bodyToMono
(
String
.
class
)
// .log("modify_request_mono", Level.INFO)
.
flatMap
(
body
->
{
...
...
@@ -310,36 +316,76 @@ public class AccessGatewayFilter implements GlobalFilter{
// 无法兼容的请求,则不读取body,像Get请求这种
recordLog
(
exchange
.
getRequest
(),
""
);
}
private
void
recordLog
(
ServerHttpRequest
request
,
Object
body
)
{
// 记录要访问的url
StringBuilder
builder
=
new
StringBuilder
();
log
.
info
(
"=================请求uri:"
+
request
.
getURI
().
getRawPath
());
// 记录访问的方法
HttpMethod
method
=
request
.
getMethod
();
if
(
null
!=
method
){
log
.
info
(
"=================请求方法:"
+
method
.
name
());
}
// 记录头部信息
builder
.
append
(
", header { "
);
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
request
.
getHeaders
().
entrySet
())
{
builder
.
append
(
entry
.
getKey
()).
append
(
":"
).
append
(
StringUtils
.
join
(
entry
.
getValue
(),
","
)).
append
(
","
);
}
log
.
info
(
"=================请求头header:"
+
builder
.
toString
());
// 记录参数
builder
=
new
StringBuilder
();
// 处理get的请求
if
(
null
!=
method
&&
HttpMethod
.
GET
.
matches
(
method
.
name
()))
{
// 记录请求的参数信息 针对GET 请求
MultiValueMap
<
String
,
String
>
queryParams
=
request
.
getQueryParams
();
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
queryParams
.
entrySet
())
{
builder
.
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
StringUtils
.
join
(
entry
.
getValue
(),
","
)).
append
(
","
);
if
(!
getNotLogUri
().
contains
(
request
.
getURI
().
getRawPath
()))
{
StringBuilder
builder
=
new
StringBuilder
();
log
.
info
(
"=================请求uri:"
+
request
.
getURI
().
getRawPath
());
// 记录访问的方法
HttpMethod
method
=
request
.
getMethod
();
if
(
null
!=
method
)
{
log
.
info
(
"=================请求方法:"
+
method
.
name
());
}
request
.
getHeaders
().
add
(
"uuid"
,
UUID
.
randomUUID
().
toString
());
// 记录头部信息
builder
.
append
(
", header { "
);
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
request
.
getHeaders
().
entrySet
())
{
builder
.
append
(
entry
.
getKey
()).
append
(
":"
).
append
(
StringUtils
.
join
(
entry
.
getValue
(),
","
)).
append
(
","
);
if
(
"uuid"
.
equals
(
entry
.
getKey
()))
{
if
(
entry
.
getValue
()
!=
null
&&
entry
.
getValue
().
size
()
>
0
)
{
log
.
info
(
"=================请求方法uuid:"
+
entry
.
getValue
().
get
(
0
));
}
}
if
(
"Authorization"
.
equals
(
entry
.
getKey
()))
{
if
(
entry
.
getValue
()
!=
null
&&
entry
.
getValue
().
size
()
>
0
)
{
getAdminUserInfo
(
entry
.
getValue
().
get
(
0
));
}
}
}
log
.
info
(
"=================请求头header:"
+
builder
.
toString
());
// 记录参数
builder
=
new
StringBuilder
();
// 处理get的请求
if
(
null
!=
method
&&
HttpMethod
.
GET
.
matches
(
method
.
name
()))
{
// 记录请求的参数信息 针对GET 请求
MultiValueMap
<
String
,
String
>
queryParams
=
request
.
getQueryParams
();
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
queryParams
.
entrySet
())
{
builder
.
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
StringUtils
.
join
(
entry
.
getValue
(),
","
)).
append
(
","
);
}
}
else
{
// 从body中读取参数
builder
.
append
(
body
);
}
log
.
info
(
"=================请求参数:"
+
builder
.
toString
());
}
else
{
// 从body中读取参数
builder
.
append
(
body
);
}
private
void
getAdminUserInfo
(
String
token
)
{
if
(
token
!=
null
)
{
UserDTO
userDTO
=
userFeign
.
userinfoByToken
(
token
).
getData
();
if
(
userDTO
!=
null
)
{
log
.
info
(
"=================后台用户名:username = {}"
,
userDTO
.
getUsername
());
log
.
info
(
"=================后台姓名: name = {}"
,
userDTO
.
getName
());
}
else
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailByToken
(
token
).
getData
();
if
(
appUserDTO
!=
null
)
{
log
.
info
(
"=================APP用户名:userId = {}"
,
appUserDTO
.
getUserid
());
log
.
info
(
"=================APP姓名: name = {}"
,
appUserDTO
.
getRealname
());
log
.
info
(
"=================APP手机号: phone = {}"
,
appUserDTO
.
getUsername
());
}
}
}
log
.
info
(
"=================请求参数:"
+
builder
.
toString
());
}
@Value
(
"${logback.ignore-log-path}"
)
String
[]
path
;
public
List
<
String
>
getNotLogUri
()
{
return
Arrays
.
asList
(
path
);
}
}
ace-gate/src/main/resources/logback.xml
View file @
b1fe9757
...
...
@@ -22,7 +22,7 @@
<filter
class=
"com.github.wxiaoqi.security.common.filter.DenyFilter"
></filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${LOG_HOME}/sys.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件输出的文件名 -->
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
<MaxHistory>
15
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
...
...
@@ -33,7 +33,7 @@
<filter
class=
"com.github.wxiaoqi.security.common.filter.AcceptFilter"
></filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${LOG_HOME}/log.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件输出的文件名 -->
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
<MaxHistory>
15
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
View file @
b1fe9757
...
...
@@ -7,15 +7,17 @@ import com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper;
import
com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.util.ReferralCodeUtil
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.time.Instant
;
import
java.util.*
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
...
...
@@ -29,10 +31,6 @@ import java.util.stream.Collectors;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
AppUserDetailBiz
extends
BaseBiz
<
AppUserDetailMapper
,
AppUserDetail
>
{
@Autowired
private
AppUserLoginBiz
appUserLoginBiz
;
@Override
@CacheClear
(
pre
=
"user{1.userid}"
)
public
void
updateSelectiveById
(
AppUserDetail
entity
)
{
...
...
@@ -105,9 +103,6 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
}
//更新用户信息
public
Map
<
Integer
,
AppUserDetail
>
findUserIdAndUserDetailMapByMemberIds
(
List
<
Integer
>
memberIds
)
{
Map
<
Integer
,
AppUserDetail
>
userIdAndAppUserDetailMap
=
new
HashMap
<>();
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserLoginBiz.java
View file @
b1fe9757
...
...
@@ -33,6 +33,8 @@ import java.util.stream.Collectors;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
AppUserLoginBiz
extends
BaseBiz
<
AppUserLoginMapper
,
AppUserLogin
>
{
private
static
final
String
WX_TYPE
=
"wx"
;
private
static
final
String
QQ_TYPE
=
"q"
;
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
@Override
...
...
@@ -224,4 +226,36 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public
List
<
Integer
>
findAllExistUserIds
(){
return
mapper
.
selectAllExistUserIds
();
}
/**
* 检查第三方是否绑定
* @param wxOpenId
* @param wxUnionId
* @param openId
* @return
*/
public
boolean
checkThirdPartyBindingState
(
String
wxOpenId
,
String
wxUnionId
,
String
openId
)
{
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
appUserLogin
.
setWxOpenid
(
wxOpenId
);
appUserLogin
.
setUnionid
(
wxUnionId
);
appUserLogin
.
setOpenid
(
openId
);
return
mapper
.
selectOne
(
appUserLogin
)
!=
null
;
}
@CacheClear
(
pre
=
"user{2}"
)
public
void
unBindThirdPartyByType
(
String
type
,
String
username
,
Integer
userId
)
{
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
appUserLogin
.
setId
(
userId
);
//微信解绑
if
(
WX_TYPE
.
equals
(
type
)){
appUserLogin
.
setWxOpenid
(
""
);
appUserLogin
.
setUnionid
(
""
);
mapper
.
updateByPrimaryKeySelective
(
appUserLogin
);
}
//qq解绑
if
(
QQ_TYPE
.
equals
(
type
)){
appUserLogin
.
setOpenid
(
""
);
mapper
.
updateByPrimaryKeySelective
(
appUserLogin
);
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
b1fe9757
...
...
@@ -10,6 +10,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.beanutils.BeanUtilsBean
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.aop.framework.AopContext
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.task.TaskExecutor
;
...
...
@@ -146,14 +147,14 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
if
(
freeDays
>
0
&&
freeDays
>=
days
)
{
freeDays
=
freeDays
-
days
;
baseUserMember
.
setRentFreeDays
(
freeDays
);
}
Integer
payCount
=
userMemberVo
.
getPayCount
()
==
null
?
0
:
userMemberVo
.
getPayCount
();
}
Integer
payCount
=
userMemberVo
.
getPayCount
()
==
null
?
0
:
userMemberVo
.
getPayCount
();
/* if (days > 0) {
payCount = payCount + 1;
}*/
baseUserMember
.
setPayCount
(
payCount
);
getMyBiz
().
updateSelectiveById
(
baseUserMember
);
num
=
freeDays
;
baseUserMember
.
setPayCount
(
payCount
);
getMyBiz
().
updateSelectiveById
(
baseUserMember
);
num
=
freeDays
;
}
else
if
(
type
==
2
)
{
/*Integer payCount=userMemberVo.getPayCount()==null?0:userMemberVo.getPayCount();
payCount=payCount+1;
...
...
@@ -220,15 +221,14 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
WeekendSqls
.<
BaseUserMember
>
custom
()
.
andEqualTo
(
BaseUserMember:
:
getUserId
,
baseUserMemberVO
.
getUserId
())
).
build
();
List
<
BaseUserMember
>
baseUserMembers
=
mapper
.
selectByExample
(
exa
);
BaseUserMember
baseUserMember
=
new
BaseUserMember
();
BeanUtilsBean
.
getInstance
().
copyProperties
(
baseUserMember
,
baseUserMemberVO
);
if
(
baseUserMembers
==
null
||
baseUserMembers
.
size
()
==
0
)
{
if
(
baseUserMemberVO
.
getMemberLevel
()
==
null
||
baseUserMember
.
getValidTime
()
==
null
)
return
;
if
(
CollectionUtils
.
isEmpty
(
baseUserMembers
))
{
if
(
baseUserMemberVO
.
getMemberLevel
()
==
null
||
baseUserMember
.
getValidTime
()
==
null
||
baseUserMember
.
getValidTime
()<
0
)
{
throw
new
BaseException
(
"设置无效!无会员等级、会员有效期或会员有效期为负数!"
);
}
baseUserMember
.
setCrtTime
(
System
.
currentTimeMillis
());
baseUserMember
.
setIsDel
(
0
);
baseUserMember
.
setPayCount
(
0
);
...
...
@@ -238,21 +238,13 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
baseUserMember
.
setBuyCount
(
buyCount
+
1
);
insertSelective
(
baseUserMember
);
return
;
}
else
if
(
baseUserMembers
.
size
()
==
1
)
{
if
(
baseUserMemberVO
.
getMemberLevel
()
==
null
||
baseUserMember
.
getValidTime
()
==
null
)
{
baseUserMember
.
setTotalNumber
(
0
);
baseUserMember
.
setRentFreeDays
(
0
);
}
else
{
}
baseUserMember
.
setUpdTime
(
System
.
currentTimeMillis
());
baseUserMember
.
setBuyCount
(
baseUserMembers
.
get
(
0
).
getBuyCount
()
+
1
);
baseUserMember
.
setId
(
baseUserMembers
.
get
(
0
).
getId
());
mapper
.
updateByPrimaryKeySelective
(
baseUserMember
);
}
else
{
throw
new
BaseException
(
"
Member purchase repeat
!"
);
throw
new
BaseException
(
"
错误!该账号有多条会员信息
!"
);
}
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
b1fe9757
...
...
@@ -9,6 +9,8 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import
com.github.wxiaoqi.security.admin.vo.UserMemberVo
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.TableResultResponse
;
import
com.github.wxiaoqi.security.common.rest.CommonBaseController
;
...
...
@@ -18,8 +20,10 @@ import io.swagger.annotations.ApiOperation;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.ws.rs.GET
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -59,6 +63,8 @@ public class AppUserController extends CommonBaseController {
@Autowired
private
MyWaterBiz
myWaterBiz
;
@GetMapping
(
"page"
)
public
TableResultResponse
list
(
@RequestParam
Map
<
String
,
Object
>
params
)
{
Query
query
=
new
Query
(
params
);
...
...
@@ -187,6 +193,58 @@ public class AppUserController extends CommonBaseController {
return
ObjectRestResponse
.
succ
();
}
/**
* 第三方登录绑定
* @param wxOpenId
* @param wxUnionId
* @param openId
* @param request
* @return
*/
@PutMapping
(
"/third_party_binding"
)
public
ObjectRestResponse
bindingThirdParty
(
@RequestParam
(
value
=
"wxOpenId"
,
required
=
false
)
String
wxOpenId
,
@RequestParam
(
value
=
"wxUnionId"
,
required
=
false
)
String
wxUnionId
,
@RequestParam
(
value
=
"openId"
,
required
=
false
)
String
openId
,
HttpServletRequest
request
){
try
{
IJWTInfo
infoFromToken
=
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
));
String
userId
=
infoFromToken
.
getId
();
boolean
isBinding
=
appUserLoginBiz
.
checkThirdPartyBindingState
(
wxOpenId
,
wxUnionId
,
openId
);
if
(
isBinding
){
return
ObjectRestResponse
.
createFailedResult
(
400
,
"该微信已经绑定过"
);
}
else
{
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
appUserLogin
.
setId
(
Integer
.
valueOf
(
userId
));
appUserLogin
.
setWxOpenid
(
wxOpenId
);
appUserLogin
.
setUnionid
(
wxUnionId
);
appUserLogin
.
setOpenid
(
openId
);
appUserLoginBiz
.
bindOpenid
(
appUserLogin
);
}
}
catch
(
Exception
e
)
{
throw
new
BaseException
(
e
);
}
return
ObjectRestResponse
.
succ
();
}
/**
* 第三方登录解绑
* @param request
* @return
*/
@PutMapping
(
"third_party_unbind"
)
public
ObjectRestResponse
unBindingThirdParty
(
@RequestParam
(
"type"
)
String
type
,
HttpServletRequest
request
){
try
{
IJWTInfo
infoFromToken
=
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
));
appUserLoginBiz
.
unBindThirdPartyByType
(
type
,
infoFromToken
.
getUniqueName
(),
Integer
.
valueOf
(
infoFromToken
.
getId
()));
}
catch
(
Exception
e
)
{
throw
new
BaseException
(
e
);
}
return
ObjectRestResponse
.
succ
();
}
/**
* 更新用户信息
* @param username
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/BaseUserMemberController.java
View file @
b1fe9757
...
...
@@ -32,6 +32,19 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz,
// /**
// * 设置用户会员
// * @param userMemberDTO
// * @return
// */
// @PutMapping("/setUserMember")
// public ObjectRestResponse UpdateUserMember(@RequestBody BaseUserMemberVO baseUserMemberVO)
// throws Exception {
// baseBiz.UpdateUserMember(baseUserMemberVO);
// return ObjectRestResponse.succ();
// }
/**
* 设置用户会员
* @param userMemberDTO
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/service/AppPermissionService.java
View file @
b1fe9757
...
...
@@ -3,17 +3,16 @@ package com.github.wxiaoqi.security.admin.rpc.service;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.biz.*
;
import
com.github.wxiaoqi.security.admin.biz.AppUserBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz
;
import
com.github.wxiaoqi.security.admin.biz.ElementBiz
;
import
com.github.wxiaoqi.security.admin.constant.RedisKey
;
import
com.github.wxiaoqi.security.admin.constant.enumerate.UserSourceEnum
;
import
com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO
;
import
com.github.wxiaoqi.security.admin.dto.RegisterParamDTO
;
import
com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.entity.*
;
import
com.github.wxiaoqi.security.admin.entity.AppUser
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.Element
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.admin.vo.ImiVo
;
import
com.github.wxiaoqi.security.api.vo.authority.PermissionInfo
;
...
...
@@ -51,7 +50,8 @@ import javax.annotation.Resource;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
rabbit
.
RabbitConstant
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
rabbit
.
RabbitConstant
.
KEY_APPUSER_AUTH
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
rabbit
.
RabbitConstant
.
KEY_APPUSER_REGISTER
;
/**
* @author keliii
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/IntegralRule.java
View file @
b1fe9757
...
...
@@ -138,6 +138,6 @@ public class IntegralRule{
private
String
btnWord
;
@Transient
private
Boolean
integralStatus
;
private
Boolean
integralStatus
=
false
;
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/IntegralUserStatusBiz.java
View file @
b1fe9757
...
...
@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.entity.IntegralUserStatus
;
import
com.xxfc.platform.activity.mapper.IntegralUserStatusMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -14,6 +15,7 @@ import java.util.TimeZone;
@Service
@Transactional
@Slf4j
public
class
IntegralUserStatusBiz
extends
BaseBiz
<
IntegralUserStatusMapper
,
IntegralUserStatus
>
{
public
ObjectRestResponse
save
(
IntegralUserStatus
integralUserStatus
)
{
...
...
@@ -32,11 +34,13 @@ public class IntegralUserStatusBiz extends BaseBiz<IntegralUserStatusMapper, Int
if
(!
StringUtils
.
isAllBlank
(
code
,
userId
+
""
))
{
long
current
=
System
.
currentTimeMillis
();
long
startTime
=
current
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
();
IntegralUserStatus
integralUserStatus
=
new
IntegralUserStatus
();
integralUserStatus
.
setIntegralRuleCode
(
code
);
integralUserStatus
.
setUserId
(
userId
);
integralUserStatus
.
setStartTime
(
startTime
);
integralUserStatus
.
setEndTime
(
startTime
+
24
*
60
*
60
*
1000
-
1
);
log
.
info
(
"获取用户积分状态:"
+
integralUserStatus
.
toString
());
return
mapper
.
selectByUserAndCode
(
integralUserStatus
);
}
return
null
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderMsgBiz.java
View file @
b1fe9757
...
...
@@ -243,7 +243,7 @@ public class OrderMsgBiz {
}
break
;
case
TOUR:
CompanyDetail
startCompanyDetailTour
=
vehicleFeign
.
getCompanyDetail
(
o
rv
d
.
getStartCompanyId
()).
getData
();
CompanyDetail
startCompanyDetailTour
=
vehicleFeign
.
getCompanyDetail
(
o
t
d
.
getStartCompanyId
()).
getData
();
sms2AppUser
(
startCompanyDetailTour
,
null
,
orvd
,
otd
,
omd
,
baseOrder
,
appUserDTO
,
SmsTemplateDTO
.
PAY_F
,
smsParams
);
break
;
case
MEMBER:
...
...
@@ -511,6 +511,11 @@ public class OrderMsgBiz {
}
private
void
handelSmsParamBg
(
BranchCompany
sCompany
,
BranchCompany
eCompany
,
OrderRentVehicleDetail
orvd
,
BaseOrder
baseOrder
,
List
<
String
>
smsParams
,
AppUserDTO
appUserDTO
,
int
paramHandelType
)
{
if
(
null
==
eCompany
)
{
eCompany
=
new
BranchCompany
();
eCompany
.
setName
(
""
);
eCompany
.
setVehiceServicePhone
(
""
);
}
switch
(
paramHandelType
)
{
case
SmsTemplateDTO
.
PAY_C
:
smsParams
.
add
(
appUserDTO
.
getRealname
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BackStageOrderController.java
View file @
b1fe9757
...
...
@@ -84,9 +84,12 @@ public class BackStageOrderController extends CommonBaseController implements Us
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
succ
(
new
PageDataVO
<>());
}
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setCompanyIds
(
companyIds
);
if
(
dto
.
getType
()
!=
3
)
{
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setCompanyIds
(
companyIds
);
}
Query
query
=
new
Query
(
dto
);
PageDataVO
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
listOrder
(
query
.
getSuper
()));
List
<
OrderListVo
>
list
=
pageDataVO
.
getData
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
b1fe9757
...
...
@@ -301,7 +301,10 @@ public class BaseOrderController extends CommonBaseController implements UserRes
Integer
page
;
@ApiModelProperty
(
"每页限制"
)
Integer
limit
;
/**
* 会员等级
*/
Integer
memberLevel
;
List
<
Integer
>
companyIds
;
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRentVehicleController.java
View file @
b1fe9757
...
...
@@ -6,8 +6,10 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.CommonBaseController
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.order.biz.BaseOrderBiz
;
import
com.xxfc.platform.order.biz.OrderRentVehicleBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
...
...
@@ -21,6 +23,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.Data
;
import
org.mockito.internal.util.collections.Sets
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -53,6 +56,10 @@ public class OrderRentVehicleController extends CommonBaseController {
@ResponseBody
@ApiOperation
(
value
=
"确认租车订单"
)
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
AddRentVehicleDTO
vo
){
if
(
null
==
vo
.
getBookEndDate
()
||
null
==
vo
.
getBookStartDate
()
||
vo
.
getBookStartDate
().
equals
(
0
)
||
vo
.
getBookEndDate
().
equals
(
0
))
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
Sets
.
newSet
(
"公司参数不正确"
));
}
RentVehicleBO
bo
=
BeanUtil
.
toBean
(
vo
,
RentVehicleBO
.
class
);
bo
.
setBookVehicleVO
(
new
BookVehicleVO
(){{
setBookStartDate
(
vo
.
getBookStartDate
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderVehicleCrosstownController.java
View file @
b1fe9757
package
com
.
xxfc
.
platform
.
order
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.user.UserInfoBiz
;
...
...
@@ -49,8 +50,9 @@ public class OrderVehicleCrosstownController {
@ApiOperation
(
value
=
"根据订单Id获取所有记录信息"
)
public
ObjectRestResponse
<
List
<
OrderVehicleCrosstownDto
>>
getByOrderId
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
UserDTO
userDTO
=
userInfoBiz
.
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
508
,
"token is null or invalid"
);
AppUserDTO
appUserDTO
=
userInfoBiz
.
getUserInfo
();
if
(
userDTO
==
null
&&
appUserDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
508
,
"token is null or invalid"
);
}
if
(
orderVehicleCrosstownDto
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"参数orderId为空"
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
b1fe9757
...
...
@@ -268,15 +268,15 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
HandleDiscountDTO
handleDiscountDTO
=
new
HandleDiscountDTO
();
switch
(
MemberEnum
.
getByCode
(
dto
.
getMemberLevel
()))
{
case
NORMAL:
handleDiscountDTO
=
handleDiscount
(
vehicleModel
,
prices
,
NORMAL
);
handleDiscountDTO
=
handleDiscount
(
dto
,
vehicleModel
,
prices
,
NORMAL
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
case
GOLD:
handleDiscountDTO
=
handleDiscount
(
vehicleModel
,
prices
,
GOLD
);
handleDiscountDTO
=
handleDiscount
(
dto
,
vehicleModel
,
prices
,
GOLD
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
case
DIAMOND:
handleDiscountDTO
=
handleDiscount
(
vehicleModel
,
prices
,
DIAMOND
);
handleDiscountDTO
=
handleDiscount
(
dto
,
vehicleModel
,
prices
,
DIAMOND
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
}
...
...
@@ -352,12 +352,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @param memberEnum
* @return
*/
private
HandleDiscountDTO
handleDiscount
(
VehicleModel
vehicleModel
,
String
[]
prices
,
MemberEnum
memberEnum
)
{
private
HandleDiscountDTO
handleDiscount
(
AppUserDTO
dto
,
VehicleModel
vehicleModel
,
String
[]
prices
,
MemberEnum
memberEnum
)
{
BigDecimal
modelAmount
;
//会员比例
BigDecimal
hundred
=
BigDecimal
.
TEN
;
Integer
rebate
=
new
Integer
(
0
);
if
(
DISCOUNT_STATUS_MEMBER
.
equals
(
vehicleModel
.
getRentDiscountStatus
()))
{
rebate
=
memberEnum
.
getPerce
nt
();
rebate
=
dto
.
getDiscou
nt
();
BigDecimal
rebatePercent
=
new
BigDecimal
(
String
.
valueOf
((
rebate
/
100
d
)));
modelAmount
=
rebatePercent
.
multiply
(
vehicleModel
.
getPrice
()).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
b1fe9757
...
...
@@ -115,6 +115,7 @@
from base_order b
LEFT JOIN order_rent_vehicle_detail r on r.order_id = b.id
LEFT JOIN order_tour_detail t on t.order_id = b.id
LEFT JOIN order_member_detail m on m.order_id = b.id
<where>
<if
test=
"crtUser != null"
>
and b.crt_user = #{crtUser}
...
...
@@ -128,7 +129,10 @@
<if
test=
"type != null"
>
and b.type = #{type}
</if>
<if
test=
"no != null"
>
<if
test=
"memberLevel != null and memberLevel != ''"
>
and m.member_level = #{memberLevel}
</if>
<if
test=
"no != null and no != '' "
>
and no like CONCAT ("%", #{no}, "%")
</if>
<if
test=
"name != null"
>
...
...
@@ -179,7 +183,7 @@
<if
test=
"status != null and status != -1"
>
and b.status = #{status}
</if>
<if
test=
"no != null"
>
<if
test=
"no != null
and no != ''
"
>
and no like CONCAT ("%", #{no}, "%")
</if>
<if
test=
"startTime != null and status == 4"
>
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
b1fe9757
...
...
@@ -428,9 +428,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
* @param tradNo 流水号
* @param refundAmount 退款金额
* @param refundReason 退款原因
* outRequestNo 退款请求标示 用于分批退款,每笔退款标示不一样,同样标示不会重复退款
* @return
*/
public
boolean
alipayOrderRefund
(
String
outTradeNo
,
String
tradNo
,
Integer
refundAmount
,
String
refundReason
)
{
public
boolean
alipayOrderRefund
(
String
outTradeNo
,
String
tradNo
,
Integer
refundAmount
,
String
refundReason
,
String
outRequestNo
)
{
AlipayClient
alipayClient
=
getAlipayClient
();
AlipayTradeRefundRequest
request
=
new
AlipayTradeRefundRequest
();
BigDecimal
realAmount
=
new
BigDecimal
(
refundAmount
.
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
...
...
@@ -438,15 +439,16 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
"\"out_trade_no\":\""
+
outTradeNo
+
"\","
+
"\"trade_no\":\""
+
tradNo
+
"\","
+
"\"refund_amount\":"
+
realAmount
+
","
+
"\"out_request_no\":\""
+
refundReason
+
"\""
+
"\"refund_reason\":\""
+
refundReason
+
"\","
+
"\"out_request_no\":\""
+
outRequestNo
+
"\""
+
" }"
);
try
{
log
.
info
(
"支付宝退款中:outTradeNo = {}, tradNo = {}, refundAmount = {}, refundReason = {}"
,
outTradeNo
,
tradNo
,
refundAmount
,
refundReason
);
AlipayTradeRefundResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
response
.
getMsg
());
if
(
response
.
isSuccess
())
{
return
true
;
}
else
{
log
.
info
(
response
.
getBody
());
return
false
;
}
}
catch
(
Exception
e
)
{
...
...
@@ -455,4 +457,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
return
false
;
}
public
static
void
main
(
String
[]
args
)
{
OrderPayBiz
orderPayBiz
=
new
OrderPayBiz
();
orderPayBiz
.
alipayOrderRefund
(
"20190806134440000001"
,
"2019080622001421530542309594"
,
3
,
"xxxx"
,
""
);
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderRefundBiz.java
View file @
b1fe9757
...
...
@@ -91,8 +91,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper, OrderRefund> {
boolean
flag
=
false
;
if
(
orderPay
.
getPayWay
()
==
2
)
{
log
.
info
(
"======支付宝退款中==========="
);
flag
=
payBiz
.
alipayOrderRefund
(
out_trade_no
,
orderPay
.
getSerialNumber
(),
refundAmount
,
refundDesc
);
flag
=
payBiz
.
alipayOrderRefund
(
out_trade_no
,
orderPay
.
getSerialNumber
(),
refundAmount
,
refundDesc
,
out_trade_no
+
System
.
currentTimeMillis
());
}
else
if
(
orderPay
.
getPayWay
()
==
1
){
log
.
info
(
"======微信退款中==========="
);
flag
=
WxPayRefundUtils
.
refund
(
appid
,
mchId
,
partnerKey
,
out_trade_no
,
out_refund_no
,
payAmount
+
""
,
...
...
@@ -113,6 +112,6 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper, OrderRefund> {
insertSelective
(
orderRefund
);
return
JsonResultUtil
.
createSuccessResultWithObj
(
out_refund_no
);
}
return
JsonResultUtil
.
create
DefaultFail
(
);
return
JsonResultUtil
.
create
FailedResult
(
40004
,
"退款失败!"
);
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleModelVo.java
View file @
b1fe9757
...
...
@@ -168,4 +168,13 @@ public class VehicleModelVo extends VehicleModel implements Serializable {
@ApiModelProperty
(
value
=
"品牌"
)
private
String
brandName
;
// @Column(name = "status")
// @ApiModelProperty(value = "状态 0--下架;1--上架")
// private String status;
// @Column(name = "cover_pic")
// @ApiModelProperty(value = "封面图")
// private String coverPic;
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/BranchCompanyBiz.java
View file @
b1fe9757
...
...
@@ -110,7 +110,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
* @param id
* @return
*/
@Cache
(
key
=
RedisKey
.
BRANCH_COMPANY_CACHE
)
@Cache
(
key
=
RedisKey
.
BRANCH_COMPANY_CACHE
+
"{1}"
)
public
CompanyDetail
getDetailById
(
Integer
id
)
{
BranchCompany
branchCompany
=
this
.
getById
(
id
);
CompanyDetail
detail
=
null
;
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
b1fe9757
...
...
@@ -1127,10 +1127,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
//筛选出查询条件所在月份
Set
<
String
>
allYearMonth
=
new
HashSet
<>();
//记录所有年月
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
new
HashMap
<>();
//
预定年月 - 预定日期列表
Map
<
String
,
List
<
String
>>
yearMonthAndDateNotBooked
=
new
HashMap
<>();
//
未预定年月 - 未预定日期列表
//筛选出查询条件所在月份
如 想预定 8月29 ~ 9月 4日
Set
<
String
>
allYearMonth
=
new
HashSet
<>();
//记录所有年月
"2019-08","2019-09"
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
new
HashMap
<>();
//
需比较已预定的年月 - 预定日期列表 为空(拒绝 预约记录时用到)
Map
<
String
,
List
<
String
>>
yearMonthAndDateNotBooked
=
new
HashMap
<>();
//
需比较未预定的年月 - 未预定日期列表 "2019-08-29"...."2019-09-04",
classifyByYearMonth
(
notBookedDates
,
yearMonthAndDateNotBooked
,
allYearMonth
);
if
(
allYearMonth
.
size
()>
MAX_MONTH_COUNT_BOOKED_INFO_QUERY
){
throw
new
CustomIllegalParamException
(
" only 3 month can be included <bookedInfo> param."
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleCataBiz.java
View file @
b1fe9757
...
...
@@ -54,7 +54,7 @@ public class VehicleCataBiz extends BaseBiz<VehicleCataMapper, VehicleCata> {
}
public
void
inserts
(
ArrayList
<
com
.
xxfc
.
platform
.
vehicle
.
entity
.
VehicleCata
>
vcs
)
{
public
void
inserts
(
ArrayList
<
VehicleCata
>
vcs
)
{
mapper
.
addCataList
(
vcs
);
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehiclePlatCataBiz.java
View file @
b1fe9757
...
...
@@ -475,7 +475,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param isMore
* @return
*/
@Transactional
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ObjectRestResponse
setIsore
(
Integer
id
,
Integer
isMore
)
{
VehiclePlatCata
vehiclePlatCata
=
new
VehiclePlatCata
();
vehiclePlatCata
.
setId
(
id
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleModelController.java
View file @
b1fe9757
This diff is collapsed.
Click to expand it.
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