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
58179d87
Commit
58179d87
authored
Aug 02, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
修改订单统计
parents
85a95ae2
64676cda
Changes
52
Show whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
621 additions
and
517 deletions
+621
-517
logback.xml
ace-auth/ace-auth-server/src/main/resources/logback.xml
+2
-2
pom.xml
ace-common/pom.xml
+5
-0
CommonLogServiceImpl.java
...xiaoqi/security/common/log/Impl/CommonLogServiceImpl.java
+1
-1
logback.xml
ace-gate/src/main/resources/logback.xml
+2
-2
AppUserDetailBiz.java
...m/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
+6
-1
AppUserLoginBiz.java
...om/github/wxiaoqi/security/admin/biz/AppUserLoginBiz.java
+5
-0
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+3
-3
BaseUserMemberExportBiz.java
...b/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
+2
-0
AppUserLoginMapper.java
...hub/wxiaoqi/security/admin/mapper/AppUserLoginMapper.java
+2
-0
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+10
-0
UserMemberAdminController.java
.../security/admin/rest/admin/UserMemberAdminController.java
+5
-2
AppPermissionService.java
...aoqi/security/admin/rpc/service/AppPermissionService.java
+1
-1
usermember.xlsx
...modules/ace-admin/src/main/resources/file/usermember.xlsx
+0
-0
logback.xml
ace-modules/ace-admin/src/main/resources/logback.xml
+2
-2
AppUserLoginMapper.xml
...ce-admin/src/main/resources/mapper/AppUserLoginMapper.xml
+4
-0
logback.xml
...ctivity/xx-activity-server/src/main/resources/logback.xml
+2
-2
logback.xml
xx-app/xx-app-server/src/main/resources/logback.xml
+2
-2
logback.xml
...ampsite/xx-campsite-server/src/main/resources/logback.xml
+2
-2
logback.xml
xx-im/xx-im-server/src/main/resources/logback.xml
+2
-2
CrosstownTypeEnum.java
...c/platform/order/contant/enumerate/CrosstownTypeEnum.java
+1
-0
OrderStatusEnum.java
...xfc/platform/order/contant/enumerate/OrderStatusEnum.java
+1
-0
BaseOrder.java
...c/main/java/com/xxfc/platform/order/entity/BaseOrder.java
+7
-0
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+10
-10
OrderVehicalCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicalCrosstownBiz.java
+17
-6
RefundMQHandler.java
...va/com/xxfc/platform/order/mqhandler/RefundMQHandler.java
+1
-1
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+80
-102
AbstractOrderHandle.java
.../com/xxfc/platform/order/service/AbstractOrderHandle.java
+12
-1
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+2
-8
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+33
-17
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+0
-3
logback.xml
xx-order/xx-order-server/src/main/resources/logback.xml
+2
-2
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+2
-2
logback.xml
xx-tour/xx-tour-server/src/main/resources/logback.xml
+40
-40
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+127
-118
CertificationService.java
...xxfc/platform/universal/service/CertificationService.java
+1
-0
logback.xml
...versal/xx-universal-server/src/main/resources/logback.xml
+2
-2
AccompanyingItem.java
...va/com/xxfc/platform/vehicle/entity/AccompanyingItem.java
+36
-5
AdminInfoFeign.java
.../java/com/xxfc/platform/vehicle/feign/AdminInfoFeign.java
+0
-25
VehicleBookRecordQueryVo.java
.../xxfc/platform/vehicle/pojo/VehicleBookRecordQueryVo.java
+1
-3
VehiclePlanDto.java
...va/com/xxfc/platform/vehicle/pojo/dto/VehiclePlanDto.java
+1
-2
AccompanyingItemVo.java
...com/xxfc/platform/vehicle/pojo/vo/AccompanyingItemVo.java
+52
-0
AccompanyingItemBiz.java
...va/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
+28
-0
AreaBiz.java
.../src/main/java/com/xxfc/platform/vehicle/biz/AreaBiz.java
+0
-1
BranchCompanyBiz.java
.../java/com/xxfc/platform/vehicle/biz/BranchCompanyBiz.java
+7
-33
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+36
-32
VehicleBookRecordBiz.java
...a/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
+40
-58
VehicleJobHandler.java
...m/xxfc/platform/vehicle/jobhandler/VehicleJobHandler.java
+2
-0
AccompanyingItemController.java
...xfc/platform/vehicle/rest/AccompanyingItemController.java
+7
-0
logback.xml
xx-vehicle/xx-vehicle-server/src/main/resources/logback.xml
+2
-2
BranchCompanyMapper.xml
...-server/src/main/resources/mapper/BranchCompanyMapper.xml
+1
-1
VehicleBookRecordMapper.xml
...ver/src/main/resources/mapper/VehicleBookRecordMapper.xml
+6
-17
VehicleMapper.xml
...ehicle-server/src/main/resources/mapper/VehicleMapper.xml
+6
-4
No files found.
ace-auth/ace-auth-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
ace-common/pom.xml
View file @
58179d87
...
...
@@ -33,6 +33,11 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-sleuth-zipkin
</artifactId>
<version>
2.1.0.RELEASE
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-aop
</artifactId>
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/log/Impl/CommonLogServiceImpl.java
View file @
58179d87
...
...
@@ -86,7 +86,7 @@ public class CommonLogServiceImpl implements CommonLogService {
}
@Override
public
void
run
()
{
//
mongoTemplate.insert(xxLogEntity, xxLogEntity.getMongoKey());
mongoTemplate
.
insert
(
xxLogEntity
,
xxLogEntity
.
getMongoKey
());
}
}
...
...
ace-gate/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
View file @
58179d87
...
...
@@ -12,7 +12,6 @@ import org.apache.commons.collections.CollectionUtils;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.time.Instant
;
import
java.util.Collection
;
import
java.util.HashMap
;
...
...
@@ -32,6 +31,8 @@ import java.util.stream.Collectors;
public
class
AppUserDetailBiz
extends
BaseBiz
<
AppUserDetailMapper
,
AppUserDetail
>
{
@Override
@CacheClear
(
pre
=
"user{1.userid}"
)
public
void
updateSelectiveById
(
AppUserDetail
entity
)
{
...
...
@@ -96,12 +97,16 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
entity
.
setUpdatetime
(
Instant
.
now
().
toEpochMilli
()
/
1000L
);
super
.
updateSelectiveById
(
entity
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
//更新用户信息
public
Map
<
Integer
,
AppUserDetail
>
findUserIdAndUserDetailMapByMemberIds
(
List
<
Integer
>
memberIds
)
{
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserLoginBiz.java
View file @
58179d87
...
...
@@ -48,6 +48,11 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
super
.
updateSelectiveById
(
entity
);
}
@CacheClear
(
pre
=
"user{1.username}"
)
public
int
bindOpenid
(
AppUserLogin
entity
)
{
return
mapper
.
bindOpenId
(
entity
);
}
@CacheClear
(
pre
=
"user{1.username}"
)
public
void
updatePasswordById
(
AppUserLogin
entity
)
{
String
password
=
new
BCryptPasswordEncoder
(
UserConstant
.
PW_ENCORDER_SALT
).
encode
(
entity
.
getPassword
());
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
58179d87
...
...
@@ -146,14 +146,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
();
if
(
days
>
0
)
{
/*
if (days > 0) {
payCount = payCount + 1;
}
}
*/
baseUserMember
.
setPayCount
(
payCount
);
getMyBiz
().
updateSelectiveById
(
baseUserMember
);
num
=
freeDays
;
}
}
else
if
(
type
==
2
)
{
/*Integer payCount=userMemberVo.getPayCount()==null?0:userMemberVo.getPayCount();
payCount=payCount+1;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
View file @
58179d87
...
...
@@ -62,6 +62,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO
.
setRentFreeDays
(
userMemberSaveDTO
.
getRentFreeDays
());
userMemberDTO
.
setMemberName
(
userMemberSaveDTO
.
getMemberName
());
userMemberDTO
.
setIsBind
(
1
);
userMemberDTO
.
setBuyCount
(
0
);
try
{
baseUserMemberBiz
.
updUserMemberByUserId
(
userMemberDTO
);
}
catch
(
Exception
e
)
{
...
...
@@ -126,6 +127,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO
.
setRentFreeDays
(
Integer
.
valueOf
(
rentFreeDays
));
userMemberDTO
.
setIsBind
(
1
);
userMemberDTO
.
setMemberName
(
memberName
);
userMemberDTO
.
setBuyCount
(
0
);
try
{
baseUserMemberBiz
.
updUserMemberByUserId
(
userMemberDTO
);
}
catch
(
Exception
e
)
{
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/AppUserLoginMapper.java
View file @
58179d87
...
...
@@ -22,4 +22,6 @@ public interface AppUserLoginMapper extends Mapper<AppUserLogin>, SelectByIdList
void
updateLoginUserInfoById
(
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"ip"
)
String
ip
,
@Param
(
"lastTime"
)
long
lastTime
);
List
<
AppUserLogin
>
selectbyPhones
(
@Param
(
"phones"
)
List
<
String
>
phones
);
int
bindOpenId
(
AppUserLogin
appUserLogin
);
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
58179d87
...
...
@@ -174,6 +174,16 @@ public class AppUserController extends CommonBaseController {
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
}
userDetailBiz
.
updUuserInfoById
(
userVo
);
Integer
userid
=
userVo
.
getUserid
();
if
(
userid
!=
null
){
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
appUserLogin
.
setWxOpenid
(
userVo
.
getWxOpenid
());
appUserLogin
.
setUnionid
(
userVo
.
getUnionid
());
appUserLogin
.
setOpenid
(
userVo
.
getOpenid
());
appUserLogin
.
setId
(
userid
);
appUserLogin
.
setUsername
(
userVo
.
getUsername
());
appUserLoginBiz
.
bindOpenid
(
appUserLogin
);
}
return
ObjectRestResponse
.
succ
();
}
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/admin/UserMemberAdminController.java
View file @
58179d87
...
...
@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -71,15 +72,17 @@ public class UserMemberAdminController {
@ApiOperation
(
"会员excel模板下载"
)
@GetMapping
(
"/app/unauth/user/excel_model/dowload
"
)
@GetMapping
(
value
=
"/app/unauth/user/excel_model/dowload"
,
produces
=
"application/vnd.ms-excel
"
)
public
ResponseEntity
<
byte
[]>
dowloadUserMemberExcelModel
(
HttpServletResponse
response
){
// 重置response
response
.
reset
();
response
.
setCharacterEncoding
(
"utf-8"
);
response
.
setContentType
(
"multipart/form-data"
);
// response.setContentType("application/vnd.ms-excel");
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename=usermember.xlsx"
);
InputStream
inputStream
=
AdminBootstrap
.
class
.
getClassLoader
().
getResourceAsStream
(
"file/usermember.xlsx"
);
try
{
response
.
setContentLength
(
inputStream
.
available
());
byte
[]
bytes
=
IOUtils
.
toByteArray
(
inputStream
);
return
ResponseEntity
.
ok
(
bytes
);
}
catch
(
IOException
e
)
{
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/service/AppPermissionService.java
View file @
58179d87
...
...
@@ -750,7 +750,7 @@ public class AppPermissionService {
}
//实名认证
@Transactional
public
ObjectRestResponse
upAuthentication
(
Integer
userid
,
String
name
,
String
idNumber
,
Integer
status
)
{
log
.
error
(
"userid===="
+
userid
+
"-----name===="
+
name
+
"----idNumber==="
+
idNumber
+
"---status==="
+
status
);
if
(
userid
==
null
||
userid
==
0
||
(
status
==
1
&&
StringUtils
.
isBlank
(
idNumber
)
&&
StringUtils
.
isBlank
(
name
)))
{
...
...
ace-modules/ace-admin/src/main/resources/file/usermember.xlsx
View file @
58179d87
No preview for this file type
ace-modules/ace-admin/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
ace-modules/ace-admin/src/main/resources/mapper/AppUserLoginMapper.xml
View file @
58179d87
...
...
@@ -8,4 +8,8 @@
#{phone}
</foreach>
</select>
<update
id=
"bindOpenId"
parameterType=
"com.github.wxiaoqi.security.admin.entity.AppUserLogin"
>
UPDATE app_user_login SET wx_openid=#{wxOpenid},unionid=#{unionid},openid=#{openid} where id=#{id}
</update>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-app/xx-app-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-campsite/xx-campsite-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-im/xx-im-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/CrosstownTypeEnum.java
View file @
58179d87
...
...
@@ -6,6 +6,7 @@ import java.util.Map;
public
enum
CrosstownTypeEnum
{
DEPARTURE
(
1
,
"交车"
),
ARRIVE
(
2
,
"还车"
),
FIXED_LOSS
(
3
,
"定损"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderStatusEnum.java
View file @
58179d87
...
...
@@ -11,6 +11,7 @@ public enum OrderStatusEnum {
ORDER_TOSTART
(
4
,
"待进行(待出行/租车已支付)"
),
ORDER_WAIT
(
5
,
"出行中(进行中)"
),
ORDER_FINISH
(
6
,
"已完成"
),
ORDER_FIXED_LOSS
(-
1
,
"定损"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/BaseOrder.java
View file @
58179d87
...
...
@@ -242,4 +242,11 @@ public class BaseOrder implements Serializable {
@ApiModelProperty
(
value
=
"使用的优惠券票号,逗号分割"
)
@Column
(
name
=
"coupon_ticker_nos"
)
private
String
couponTickerNos
;
/**
* 下单时的会员等级
*/
@ApiModelProperty
(
value
=
"下单时的会员等级"
)
@Column
(
name
=
"member_level"
)
private
Integer
memberLevel
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
View file @
58179d87
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.common.util.IntervalUtil
;
...
...
@@ -196,10 +197,9 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
String
refundTradeNo
=
null
;
//0 小于 退款金额
if
(
BigDecimal
.
ZERO
.
compareTo
(
refundAmount
)
<
0
)
{
OrderRefundVo
orv
=
new
OrderRefundVo
(){{
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setOrderNo
(
baseOrder
.
getNo
());
}};
OrderRefundVo
orv
=
new
OrderRefundVo
();
orv
.
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
orv
.
setOrderNo
(
baseOrder
.
getNo
());
orv
.
setRefundDesc
(
refundDesc
+
refundAmount
.
toString
());
orv
.
setRefundAmount
(
refundAmount
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
refundTradeNo
=
thirdFeign
.
refund
(
orv
).
getData
();
...
...
@@ -209,13 +209,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
Integer
flag
=
addOrderRefund
(
baseOrder
.
getId
(),
refundDesc
,
originalRefundAmount
,
refundAmount
,
refundTradeNo
,
refundType
);
//更新订单的退款状态和退款时间
BaseOrder
updateBaseOrder
=
new
BaseOrder
();
updateBaseOrder
.
setId
(
baseOrder
.
getId
());
updateBaseOrder
.
setRefundStatus
(
refundStatus
);
updateBaseOrder
.
setRefundTime
(
System
.
currentTimeMillis
());
updateBaseOrder
.
setVersion
(
baseOrder
.
getVersion
());
if
(
SYS_TRUE
.
equals
(
flag
)
&&
null
!=
refundStatus
)
{
baseOrderBiz
.
updateSelectiveByIdReT
(
new
BaseOrder
(){{
setId
(
baseOrder
.
getId
());
setRefundStatus
(
refundStatus
);
setRefundTime
(
System
.
currentTimeMillis
());
setVersion
(
baseOrder
.
getVersion
());
}});
BeanUtil
.
copyProperties
(
baseOrderBiz
.
updateSelectiveByIdReT
(
updateBaseOrder
),
baseOrder
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicalCrosstownBiz.java
View file @
58179d87
...
...
@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.user.UserInfoBiz
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.entity.OrderUserLicense
;
...
...
@@ -91,6 +92,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return
ObjectRestResponse
.
createFailedResult
(
500
,
"订单不存在!"
);
}
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
baseOrder
.
getDetailId
());
//调用车辆管理的出车还车
//出车
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
//交车
VehicleDepartureVo
vehicleDepartureVo
=
new
VehicleDepartureVo
();
...
...
@@ -121,7 +123,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
else
if
(
oldValue
.
size
()
<=
0
)
{
getOrderLicense
(
orderVehicleCrosstownDto
);
orderVehicalCrosstownBiz
.
insertSelective
(
orderVehicleCrosstownDto
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
orderVehicleCrosstownDto
.
getType
()
);
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
if
(
restResponse
.
getData
()
!=
null
)
{
orderVehicleCrosstownDto
.
setVehicleNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
...
...
@@ -131,14 +133,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return
ObjectRestResponse
.
createDefaultFail
();
}
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
)
{
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
Integer
type
)
{
//交车完成 设置订单状态为出行中
if
(
baseOrder
.
getStatus
()
==
4
)
{
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
())
{
//交车
//判断是否是今日交车
baseOrder
.
setStatus
(
5
);
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
()
);
baseOrderBiz
.
updateSelectiveById
(
baseOrder
);
}
else
if
(
baseOrder
.
getStatus
()
==
5
)
{
baseOrder
.
setStatus
(
6
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
if
(
type
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
baseOrderBiz
.
updateSelectiveById
(
baseOrder
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
else
if
(
type
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
()){
//定损还车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
());
baseOrderBiz
.
updateSelectiveById
(
baseOrder
);
}
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
())
{
//定损后还车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
baseOrderBiz
.
updateSelectiveById
(
baseOrder
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mqhandler/RefundMQHandler.java
View file @
58179d87
...
...
@@ -28,7 +28,7 @@ public class RefundMQHandler {
OrderRefundBiz
orderRefundBiz
;
/**
*
佣金
*
退款
* @param
*/
@RabbitListener
(
queues
=
ORDER_DEPOSIT_REFUND_QUEUE
)
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
58179d87
...
...
@@ -35,6 +35,7 @@ import com.xxfc.platform.universal.entity.Dictionary;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.vo.OrderPayVo
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
...
...
@@ -54,12 +55,9 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
auth
.
common
.
constatns
.
CommonConstants
.
DATA_ALL_FALSE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Controller
...
...
@@ -96,6 +94,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@Autowired
RabbitProduct
rabbitProduct
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
...
...
@@ -121,8 +120,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreUserToken
public
ObjectRestResponse
<
OrderAboutParamDTO
>
getOrderUnitPrice
()
{
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
return
ObjectRestResponse
.
succ
(
new
OrderAboutParamDTO
(){{
setInsurePrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
INSURE_PRICE
).
getDetail
()));
return
ObjectRestResponse
.
succ
(
new
OrderAboutParamDTO
()
{{
setInsurePrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
INSURE_PRICE
).
getDetail
()));
}});
}
...
...
@@ -133,13 +132,13 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreUserToken
public
ObjectRestResponse
<
OrderAboutParamDTO
>
getOrderParam
()
{
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
return
ObjectRestResponse
.
succ
(
new
OrderAboutParamDTO
(){{
setInsurePrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
INSURE_PRICE
).
getDetail
()));
setActRent
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_RENT
).
getDetail
()));
setActTour
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_TOUR
).
getDetail
()));
setActMember
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
()));
setDamageSafe
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DAMAGE_SAFE
).
getDetail
()));
setDriverPrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DRIVER_PRICE
).
getDetail
()));
return
ObjectRestResponse
.
succ
(
new
OrderAboutParamDTO
()
{{
setInsurePrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
INSURE_PRICE
).
getDetail
()));
setActRent
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_RENT
).
getDetail
()));
setActTour
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_TOUR
).
getDetail
()));
setActMember
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
()));
setDamageSafe
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DAMAGE_SAFE
).
getDetail
()));
setDriverPrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DRIVER_PRICE
).
getDetail
()));
}});
}
...
...
@@ -171,69 +170,45 @@ public class BaseOrderController extends CommonBaseController implements UserRes
dto
.
setEndTime
(
new
Date
().
getTime
());
}
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getPhone
()))
{
if
(
StringUtils
.
isNotBlank
(
dto
.
getPhone
()))
{
AppUserLogin
appUserLogin
=
userFeign
.
one
(
dto
.
getPhone
());
if
(
appUserLogin
!=
null
)
{
if
(
appUserLogin
!=
null
)
{
dto
.
setUserId
(
appUserLogin
.
getId
());
}
}
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
succ
(
new
PageDataVO
<>());
}
if
(
dto
.
getStartZoneId
()
==
null
)
{
//默认查出所有权限内的数据
if
(
DATA_ALL_FALSE
.
equals
(
userDTO
.
getDataAll
()))
{
//不能获取全部数据
String
zoneId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataZone
()))
{
if
(
userDTO
.
getDataZone
().
contains
(
","
))
{
zoneId
=
userDTO
.
getDataZone
();
}
else
{
zoneId
=
userDTO
.
getDataZone
()
+
","
;
}
}
else
{
zoneId
=
userDTO
.
getZoneId
()
+
","
;
}
dto
.
setZoneIds
(
zoneId
.
split
(
","
));
String
companyId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataCompany
()))
{
if
(
userDTO
.
getDataCompany
().
contains
(
","
))
{
companyId
=
userDTO
.
getDataCompany
();
}
else
{
companyId
=
userDTO
.
getDataCompany
()
+
","
;
}
}
else
{
companyId
=
userDTO
.
getCompanyId
()
+
","
;
}
dto
.
setCompanyIds
(
companyId
.
split
(
","
));
}
}
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
();
List
<
Integer
>
userIds
=
list
.
stream
().
map
(
OrderListVo:
:
getUserId
).
distinct
().
collect
(
Collectors
.
toList
());
if
(
userIds
!=
null
&&
userIds
.
size
()
>
0
)
{
if
(
userIds
!=
null
&&
userIds
.
size
()
>
0
)
{
ObjectRestResponse
<
List
<
AppUserVo
>>
objectRestResponse
=
userFeign
.
getByUserIds
(
userIds
);
log
.
info
(
"获取用户信息:objectRestResponse = {}"
,
objectRestResponse
.
getMessage
());
log
.
info
(
"获取用户信息:objectRestResponse = {}"
,
objectRestResponse
.
getData
());
Map
<
String
,
AppUserVo
>
appUserVoMap
=
objectRestResponse
.
getData
()
==
null
?
new
HashMap
<
String
,
AppUserVo
>()
:
objectRestResponse
.
getData
().
parallelStream
().
collect
(
Collectors
.
toMap
(
v
->
v
.
getUserid
().
toString
(),
v
->
v
));
for
(
OrderListVo
orderPageVO
:
list
)
{
if
(
objectRestResponse
.
getData
()
!=
null
&&
objectRestResponse
.
getData
().
size
()
>
0
)
{
for
(
AppUserVo
appUserVo
:
objectRestResponse
.
getData
())
{
if
(
appUserVo
!=
null
)
{
AppUserVo
appUserVo
=
appUserVoMap
.
get
(
orderPageVO
.
getUserId
().
toString
());
if
(
null
!=
appUserVo
)
{
orderPageVO
.
setTelephone
(
appUserVo
.
getUsername
());
orderPageVO
.
setUsername
(
appUserVo
.
getNickname
());
}
}
}
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getVehicleId
()
!=
null
)
{
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderPageVO
.
getOrderRentVehicleDetail
().
getVehicleId
());
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
if
(
restResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setVehicleNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
}
if
(
StringUtils
.
isNotBlank
(
orderPageVO
.
getOrderRentVehicleDetail
().
getMyDriverIds
()))
{
if
(
StringUtils
.
isNotBlank
(
orderPageVO
.
getOrderRentVehicleDetail
().
getMyDriverIds
()))
{
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderPageVO
.
getOrderRentVehicleDetail
().
getMyDriverIds
()).
getData
();
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
...
...
@@ -244,29 +219,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes
}
}
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getStartCompanyId
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getEndCompanyId
()
!=
null
)
{
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getStartCompanyId
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getEndCompanyId
()
!=
null
)
{
ObjectRestResponse
<
CompanyDetail
>
startResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVO
.
getOrderRentVehicleDetail
().
getStartCompanyId
());
if
(
startResponse
.
getData
()
!=
null
)
{
if
(
startResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setStartCompanyName
(
startResponse
.
getData
().
getName
());
}
ObjectRestResponse
<
CompanyDetail
>
restResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndCompanyId
());
if
(
restResponse
.
getData
()
!=
null
)
{
if
(
restResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setEndCompanyName
(
restResponse
.
getData
().
getName
());
}
}
if
(
orderPageVO
.
getOrderTourDetail
()
!=
null
&&
orderPageVO
.
getOrderTourDetail
().
getStartCompanyId
()
!=
null
)
{
//旅游
if
(
orderPageVO
.
getOrderTourDetail
()
!=
null
&&
orderPageVO
.
getOrderTourDetail
().
getStartCompanyId
()
!=
null
)
{
ObjectRestResponse
<
CompanyDetail
>
startResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVO
.
getOrderTourDetail
().
getStartCompanyId
());
if
(
startResponse
.
getData
()
!=
null
)
{
if
(
startResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setStartCompanyName
(
startResponse
.
getData
().
getName
());
}
List
<
Integer
>
tourUserIds
=
Arrays
.
asList
(
orderPageVO
.
getOrderTourDetail
().
getTourUserIds
().
split
(
","
)).
parallelStream
().
map
(
s
->
Integer
.
valueOf
(
s
)).
collect
(
Collectors
.
toList
());
ObjectRestResponse
<
List
<
AppUserVo
>>
users
=
userFeign
.
getByUserIds
(
tourUserIds
);
if
(
users
.
getData
()
!=
null
)
{
orderPageVO
.
getOrderTourDetail
().
setUserVoList
(
users
.
getData
()
==
null
?
users
.
getData
()
:
new
ArrayList
<>());
}
}
}
}
return
new
ObjectRestResponse
<>().
data
(
pageDataVO
);
}
...
...
@@ -283,7 +262,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
}
Query
query
=
new
Query
(
dto
);
PageDataVO
<
OrderPageVO
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
getRentVehicle
(
query
.
getSuper
()));
for
(
OrderPageVO
orderPageVO
:
pageDataVO
.
getData
())
{
for
(
OrderPageVO
orderPageVO
:
pageDataVO
.
getData
())
{
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getVehicleId
()
!=
null
)
{
ObjectRestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
get
(
orderPageVO
.
getOrderRentVehicleDetail
().
getVehicleId
());
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
...
...
@@ -317,7 +296,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreClientToken
@ResponseBody
public
ObjectRestResponse
<
OrderPageVO
>
get
(
@PathVariable
String
no
)
{
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
checkAppUser
();
//查询列表数据
...
...
@@ -326,7 +305,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if
(
page
.
getData
().
isEmpty
())
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
return
new
ObjectRestResponse
<>().
data
(
page
.
getData
().
get
(
0
));
}
...
...
@@ -335,7 +314,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@IgnoreClientToken
@ResponseBody
public
ObjectRestResponse
<
OrderPageVO
>
getOrderDetail
(
String
orderNo
)
{
if
(
StringUtils
.
isBlank
(
orderNo
))
{
if
(
StringUtils
.
isBlank
(
orderNo
))
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
return
baseOrderBiz
.
getOrderDetail
(
orderNo
);
...
...
@@ -443,7 +422,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
//判断是否成功,并且订单是未支付状态,则添加支付编号和修改状态
if
(
StrUtil
.
isNotBlank
(
dto
.
getOrderNo
()))
{
baseOrderBiz
.
payNotifyHandle
(
dto
.
getOrderNo
(),
dto
.
getTradeNo
(),
dto
.
getType
());
}
else
{
}
else
{
log
.
error
(
" exception notifyUrl : "
+
JSONUtil
.
toJsonStr
(
dto
));
}
return
ObjectRestResponse
.
succ
();
...
...
@@ -458,15 +437,15 @@ public class BaseOrderController extends CommonBaseController implements UserRes
rabbitProduct
.
sendDelayMessage
(
baseOrderBiz
.
selectById
(
93
),
1000L
*
60
);
return
ObjectRestResponse
.
succ
();
}
public
UserDTO
getAdminUserInfo
()
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
if
(
request
.
getHeader
(
"Authorization"
)
!=
null
)
{
if
(
request
.
getHeader
(
"Authorization"
)
!=
null
)
{
return
userFeign
.
userinfoByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
}
return
null
;
}
/**
* 订单查询类
*/
...
...
@@ -497,8 +476,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@ApiModelProperty
(
"每页限制"
)
Integer
limit
;
String
[]
companyIds
;
List
<
Integer
>
companyIds
;
String
[]
zoneIds
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/AbstractOrderHandle.java
View file @
58179d87
package
com
.
xxfc
.
platform
.
order
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
...
...
@@ -25,7 +27,7 @@ import java.util.Map;
import
java.util.stream.Collectors
;
@Transactional
public
abstract
class
AbstractOrderHandle
<
Biz
extends
BaseBiz
,
Detail
extends
OrderDetail
>{
public
abstract
class
AbstractOrderHandle
<
Biz
extends
BaseBiz
,
Detail
extends
OrderDetail
>
implements
UserRestInterface
{
public
static
final
int
VERSION_INITIAL
=
0
;
...
...
@@ -46,6 +48,14 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
@Autowired
ActivityFeign
activityFeign
;
@Autowired
protected
UserFeign
userFeign
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
protected
OrderTypeEnum
orderTypeEnum
;
protected
Integer
channel
;
...
...
@@ -76,6 +86,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
//设置用户id
baseOrder
.
setUserId
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
baseOrder
.
setMemberLevel
(
getAppUser
().
getMemberLevel
());
return
baseOrder
;
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
58179d87
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
...
...
@@ -39,7 +40,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@Service
@Log4j
public
class
OrderMemberService
extends
AbstractOrderHandle
<
OrderMemberDetailBiz
,
MemberBO
>
{
public
class
OrderMemberService
extends
AbstractOrderHandle
<
OrderMemberDetailBiz
,
MemberBO
>
implements
UserRestInterface
{
@Autowired
TourFeign
tourFeign
;
...
...
@@ -65,9 +66,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
@Autowired
protected
UserAuthConfig
userAuthConfig
;
@Autowired
UserFeign
userFeign
;
@Autowired
ActivityFeign
activityFeign
;
...
...
@@ -79,10 +77,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
this
.
orderTypeEnum
=
OrderTypeEnum
.
MEMBER
;
}
public
AppUserDTO
getUserInfo
(){
return
userFeign
.
userDetailByToken
(
userAuthConfig
.
getToken
(
request
)).
getData
();
}
@Override
public
void
initDetail
(
MemberBO
bo
)
{
super
.
initDetail
(
bo
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
58179d87
...
...
@@ -33,6 +33,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -72,9 +73,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
@Autowired
OrderTemplateBiz
orderTemplateBiz
;
@Autowired
UserFeign
userFeign
;
@Autowired
ThirdFeign
thirdFeign
;
...
...
@@ -136,8 +134,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//设置订单名称
bo
.
getOrder
().
setName
(
bo
.
getVehicleModel
().
getName
());
//是否有使用会员权益 则调用接口触发新增消费记录次数
//扣减免费天数
if
(
null
!=
bo
.
getFreeDays
()
&&
bo
.
getFreeDays
()
>
0
)
{
if
(
SYS_TRUE
.
equals
(
bo
.
getOrder
().
getHasMemberRight
()))
{
if
(
null
==
bo
.
getFreeDays
())
{
bo
.
setFreeDays
(
0
);
}
int
result
=
userFeign
.
memberDays
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getFreeDays
(),
UserFeign
.
MEMBER_DAYS_LOCK
);
if
(
result
<
0
)
{
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
);
...
...
@@ -176,7 +178,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal
vehicleAmount
=
BigDecimal
.
ZERO
;
BigDecimal
driverAmount
=
BigDecimal
.
ZERO
;
BigDecimal
damageSafeAmount
=
BigDecimal
.
ZERO
;
BigDecimal
modelAmount
=
BigDecimal
.
ZERO
;
//
BigDecimal modelAmount = BigDecimal.ZERO;
BigDecimal
couponAmount
=
BigDecimal
.
ZERO
;
Integer
vehicleDayNum
=
0
;
Integer
freeDayNum
=
0
;
...
...
@@ -224,23 +226,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String
[]
prices
=
StrUtil
.
isBlank
(
vehicleModel
.
getRentDiscountPrice
())
?
new
String
[]{
vehicleModel
.
getPrice
().
toString
(),
vehicleModel
.
getPrice
().
toString
(),
vehicleModel
.
getPrice
().
toString
()}
:
vehicleModel
.
getRentDiscountPrice
().
split
(
","
);
switch
(
MemberEnum
.
getByCode
(
detail
.
getAppUserDTO
().
getMemberLevel
()))
{
HandleDiscountDTO
handleDiscountDTO
=
new
HandleDiscountDTO
();
switch
(
MemberEnum
.
getByCode
(
dto
.
getMemberLevel
()))
{
case
NORMAL:
modelAmount
=
handleDiscount
(
vehicleModel
,
prices
,
NORMAL
);
handleDiscountDTO
=
handleDiscount
(
vehicleModel
,
prices
,
NORMAL
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
case
GOLD:
modelAmount
=
handleDiscount
(
vehicleModel
,
prices
,
GOLD
);
handleDiscountDTO
=
handleDiscount
(
vehicleModel
,
prices
,
GOLD
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
case
DIAMOND:
modelAmount
=
handleDiscount
(
vehicleModel
,
prices
,
DIAMOND
);
handleDiscountDTO
=
handleDiscount
(
vehicleModel
,
prices
,
DIAMOND
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
}
vehicleOrderItem
.
setUnitPrice
(
modelAmount
);
}
else
{
modelAmount
=
vehicleModel
.
getPrice
();
detail
.
setRebate
(
handleDiscountDTO
.
getRebate
());
vehicleOrderItem
.
setUnitPrice
(
handleDiscountDTO
.
getModelAmount
());
}
//如果有使用会员权益或者优惠券,则设置订单已优惠
...
...
@@ -296,7 +298,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp
.
setDriverAmount
(
driverAmount
);
rvp
.
setVehicleAmount
(
vehicleAmount
);
rvp
.
setDamageSafeAmount
(
damageSafeAmount
);
rvp
.
setModelAmount
(
modelAmount
);
rvp
.
setModelAmount
(
vehicleOrderItem
.
getUnitPrice
()
);
rvp
.
setVehicleDayNum
(
vehicleDayNum
);
//设置收费明细
...
...
@@ -311,15 +313,29 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @param memberEnum
* @return
*/
private
BigDecimal
handleDiscount
(
VehicleModel
vehicleModel
,
String
[]
prices
,
MemberEnum
memberEnum
)
{
private
HandleDiscountDTO
handleDiscount
(
VehicleModel
vehicleModel
,
String
[]
prices
,
MemberEnum
memberEnum
)
{
BigDecimal
modelAmount
;
//会员比例
BigDecimal
hundred
=
BigDecimal
.
TEN
;
Integer
rebate
=
new
Integer
(
0
);
if
(
DISCOUNT_STATUS_MEMBER
.
equals
(
vehicleModel
.
getRentDiscountStatus
()))
{
modelAmount
=
new
BigDecimal
(
String
.
valueOf
((
memberEnum
.
getPercent
()/
100
d
))).
multiply
(
vehicleModel
.
getPrice
()).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
rebate
=
memberEnum
.
getPercent
();
BigDecimal
rebatePercent
=
new
BigDecimal
(
String
.
valueOf
((
rebate
/
100
d
)));
modelAmount
=
rebatePercent
.
multiply
(
vehicleModel
.
getPrice
()).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
//会员固定价列表
modelAmount
=
new
BigDecimal
(
prices
[(
memberEnum
.
getCode
()
-
1
)]);
rebate
=
modelAmount
.
divide
(
vehicleModel
.
getPrice
()).
multiply
(
hundred
).
setScale
(
0
,
BigDecimal
.
ROUND_UP
).
intValue
();
}
HandleDiscountDTO
handleDiscountDTO
=
new
HandleDiscountDTO
();
handleDiscountDTO
.
setRebate
(
rebate
);
handleDiscountDTO
.
setModelAmount
(
modelAmount
);
return
handleDiscountDTO
;
}
return
modelAmount
;
@Data
public
class
HandleDiscountDTO
{
BigDecimal
modelAmount
;
Integer
rebate
;
}
private
String
handleChildren
(
RentVehicleBO
detail
,
Integer
vehicleDayNum
)
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
58179d87
...
...
@@ -76,9 +76,6 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
@Autowired
protected
UserAuthConfig
userAuthConfig
;
@Autowired
UserFeign
userFeign
;
@Autowired
ThirdFeign
thirdFeign
;
...
...
xx-order/xx-order-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
58179d87
...
...
@@ -138,7 +138,7 @@
and (r.start_time between #{startTime} and #{endTime}
or t.start_time between #{startTime} and #{endTime})
</if>
<if
test=
"companyIds != null"
>
<if
test=
"companyIds != null
and companyIds.size > 0
"
>
and (r.start_company_id in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
...
...
@@ -149,7 +149,7 @@
</foreach>
)
</if>
<if
test=
"zoneIds != null"
>
<if
test=
"zoneIds != null
and zoneIds.size > 0
"
>
and (r.start_zone_id in
<foreach
collection=
"zoneIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
...
...
xx-tour/xx-tour-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
58179d87
...
...
@@ -51,7 +51,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY;
*/
@Service
@Slf4j
public
class
OrderPayBiz
extends
BaseBiz
<
OrderPayMapper
,
OrderPay
>
{
public
class
OrderPayBiz
extends
BaseBiz
<
OrderPayMapper
,
OrderPay
>
{
@Autowired
DictionaryBiz
dictionaryBiz
;
...
...
@@ -65,126 +65,127 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
String
weixinHost
;
String
notifyUrl
=
weixinHost
+
"/service/payment/notify/alipay"
;
public
JSONObject
preparepay
(
OrderPayVo
orderPayVo
)
{
if
(
null
==
orderPayVo
)
{
public
JSONObject
preparepay
(
OrderPayVo
orderPayVo
)
{
if
(
null
==
orderPayVo
)
{
log
.
error
(
"-----参数为空-----------"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
}
if
(
orderPayVo
.
getAmount
()==
null
||
orderPayVo
.
getAmount
()==
0
)
{
if
(
orderPayVo
.
getAmount
()
==
null
||
orderPayVo
.
getAmount
()
==
0
)
{
log
.
error
(
"-----金额不为为0-----------"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"金额不为为0"
);
}
if
(
StringUtils
.
isBlank
(
orderPayVo
.
getOrderNo
()))
{
if
(
StringUtils
.
isBlank
(
orderPayVo
.
getOrderNo
()))
{
log
.
error
(
"-----订单不能为空-----------"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"订单不能为空"
);
}
log
.
info
(
"订单支付参数:orderVo = {}"
,
orderPayVo
.
toString
());
String
trade_no
=
OrderUtil
.
GetOrderNumber
(
""
);
orderPayVo
.
setTradeNo
(
trade_no
);
String
order_no
=
orderPayVo
.
getOrderNo
();
Integer
amount
=
orderPayVo
.
getAmount
();
log
.
error
(
"---下单---order_no====="
+
order_no
+
"--支付订单号--trade_no===="
+
trade_no
+
"--金额---amount===="
+
amount
);
String
order_no
=
orderPayVo
.
getOrderNo
();
Integer
amount
=
orderPayVo
.
getAmount
();
log
.
error
(
"---下单---order_no====="
+
order_no
+
"--支付订单号--trade_no===="
+
trade_no
+
"--金额---amount===="
+
amount
);
//报名费回调路径
//临时处理
Map
<
String
,
Dictionary
>
dictionaryMap
=
dictionaryBiz
.
getAll4Map
();
Integer
demotion
=
Integer
.
valueOf
(
dictionaryMap
.
get
(
UNIVERSAL_PAY
+
"_"
+
PAY_DEMOTION
).
getDetail
());
amount
=
amount
/
demotion
;
if
(
amount
<=
0
)
{
Integer
demotion
=
Integer
.
valueOf
(
dictionaryMap
.
get
(
UNIVERSAL_PAY
+
"_"
+
PAY_DEMOTION
).
getDetail
());
amount
=
amount
/
demotion
;
if
(
amount
<=
0
)
{
amount
=
1
;
}
Integer
type
=
orderPayVo
.
getType
()==
null
?
1
:
orderPayVo
.
getType
();
String
jsParam
=
""
;
String
notify_url
=
weixinHost
+
"/api/universal/pay/app/unauth/notify"
;
log
.
info
(
"报名费回调路径notify_url:"
+
notify_url
);
Integer
payWay
=
orderPayVo
.
getPayWay
()==
null
?
1
:
orderPayVo
.
getPayWay
();
String
sellerAccount
=
null
;
if
(
type
==
2
&&
payWay
==
1
){
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
jsParam
=
WXPay
.
webPay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
orderPayVo
.
getBuyerAccount
());
}
else
if
(
type
==
1
&&
payWay
==
1
){
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
jsParam
=
WXPay
.
apppay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
0
);
}
else
if
(
type
==
1
&&
payWay
==
2
){
sellerAccount
=
SystemConfig
.
ALIPAY_PID
;
jsParam
=
generateAliPayment
(
orderPayVo
);
}
log
.
info
(
"报名费回调路径jsParam:"
+
jsParam
);
if
(!
StringUtils
.
isBlank
(
jsParam
))
{
Integer
type
=
orderPayVo
.
getType
()
==
null
?
1
:
orderPayVo
.
getType
();
String
jsParam
=
""
;
String
notify_url
=
weixinHost
+
"/api/universal/pay/app/unauth/notify"
;
log
.
info
(
"报名费回调路径notify_url:"
+
notify_url
);
Integer
payWay
=
orderPayVo
.
getPayWay
()
==
null
?
1
:
orderPayVo
.
getPayWay
();
String
sellerAccount
=
null
;
if
(
type
==
2
&&
payWay
==
1
)
{
//微信网页支付
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
jsParam
=
WXPay
.
webPay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
orderPayVo
.
getBuyerAccount
());
}
else
if
(
type
==
1
&&
payWay
==
1
)
{
//微信APP支付
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
jsParam
=
WXPay
.
apppay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
0
);
}
else
if
(
type
==
1
&&
payWay
!=
1
&&
payWay
!=
3
)
{
//支付宝APP支付,或预授权支付
sellerAccount
=
SystemConfig
.
ALIPAY_PID
;
jsParam
=
generateAliPayment
(
orderPayVo
);
}
log
.
info
(
"报名费回调路径jsParam:"
+
jsParam
);
if
(!
StringUtils
.
isBlank
(
jsParam
))
{
try
{
OrderPay
orderPay
=
new
OrderPay
();
BeanUtils
.
copyProperties
(
orderPay
,
orderPayVo
);
OrderPay
orderPay
=
new
OrderPay
();
BeanUtils
.
copyProperties
(
orderPay
,
orderPayVo
);
orderPay
.
setSellerAccount
(
sellerAccount
);
insertSelective
(
orderPay
);
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----成功"
);
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----成功"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----异常---msg==="
+
e
.
getMessage
());
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----异常---msg==="
+
e
.
getMessage
());
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
EXCEPTION_CODE
,
"出现异常"
);
}
if
(
payWay
==
1
)
{
if
(
payWay
==
1
)
{
JSONObject
temp
=
JSON
.
parseObject
(
jsParam
);
return
JsonResultUtil
.
createSuccessResultWithObj
(
temp
);
}
else
{
}
else
{
return
JsonResultUtil
.
createSuccessResultWithObj
(
jsParam
);
}
}
else
{
}
else
{
return
JsonResultUtil
.
createDefaultFail
();
}
}
//支付回调
public
void
notice
(
String
orderNo
,
String
serialNumber
)
{
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----开始处理"
);
Example
example
=
new
Example
(
OrderPay
.
class
);
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
).
andEqualTo
(
"isDel"
,
0
).
andEqualTo
(
"status"
,
0
);
List
<
OrderPay
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()==
0
)
{
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----订单不存在或已处理"
);
public
void
notice
(
String
orderNo
,
String
serialNumber
)
{
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----开始处理"
);
Example
example
=
new
Example
(
OrderPay
.
class
);
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
).
andEqualTo
(
"isDel"
,
0
).
andEqualTo
(
"status"
,
0
);
List
<
OrderPay
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()
==
0
)
{
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----订单不存在或已处理"
);
return
;
}
example
.
clear
();
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
);
OrderPay
orderPay
=
new
OrderPay
();
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
);
OrderPay
orderPay
=
new
OrderPay
();
orderPay
.
setFinishTime
(
System
.
currentTimeMillis
());
orderPay
.
setStatus
(
1
);
orderPay
.
setSerialNumber
(
serialNumber
);
int
num
=
mapper
.
updateByExampleSelective
(
orderPay
,
example
);
int
num
=
mapper
.
updateByExampleSelective
(
orderPay
,
example
);
log
.
error
(
"---支付回调处理---num====="
+
num
+
"----orderNo======="
+
orderNo
);
if
(
num
>
0
)
{
log
.
error
(
"---支付回调处理---num====="
+
num
+
"----orderNo======="
+
orderNo
);
if
(
num
>
0
)
{
//支付成功,添加积分
OrderPay
pay
=
list
.
get
(
0
);
OrderPay
pay
=
list
.
get
(
0
);
OrderPay
newValue
=
mapper
.
selectOne
(
orderPay
);
log
.
info
(
"支付回调信息:newValue = {}"
,
newValue
);
if
(
newValue
.
getStatus
()
==
1
)
{
if
(
newValue
.
getStatus
()
==
1
)
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"userId"
,
newValue
.
getUserId
());
jsonObject
.
put
(
"amount"
,
newValue
.
getAmount
());
jsonObject
.
put
(
"channelId"
,
newValue
.
getOrderNo
());
if
(
newValue
.
getChannel
()
==
1
)
{
//租车
if
(
newValue
.
getChannel
()
==
1
)
{
//租车
jsonObject
.
put
(
"integralRuleCode"
,
"RENTRV"
);
}
else
if
(
newValue
.
getChannel
()
==
2
)
{
//旅游
}
else
if
(
newValue
.
getChannel
()
==
2
)
{
//旅游
jsonObject
.
put
(
"integralRuleCode"
,
"BUYROUT"
);
}
else
if
(
newValue
.
getChannel
()
==
3
)
{
//会员
}
else
if
(
newValue
.
getChannel
()
==
3
)
{
//会员
jsonObject
.
put
(
"integralRuleCode"
,
"BUYMEMBER"
);
}
log
.
info
(
"支付订单号:orderNo = {}, orderType = {}"
,
newValue
.
getOrderNo
(),
newValue
.
getChannel
());
log
.
info
(
"支付成功获取积分:发送消息 exchange = {}, routingKey = {}, json = {}"
,
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
mqServiceBiZ
.
sendMessage
(
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
}
if
(
StringUtils
.
isNotBlank
(
pay
.
getNotifyUrl
()))
{
String
url
=
pay
.
getNotifyUrl
();
Integer
type
=
pay
.
getType
()==
null
?
1
:
pay
.
getType
();
url
+=
"&tradeNo="
+
orderNo
+
"&type="
+
type
;
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"----notifyUrl===="
+
url
);
String
result
=
""
;
if
(
url
.
contains
(
"https"
)||
url
.
contains
(
"HTTPS"
))
{
result
=
HTTPSUtils
.
httpRequest
(
url
,
"GET"
,
null
);
}
else
{
result
=
HTTPUtils
.
doGet
(
url
);
}
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"---result==="
+
result
);
if
(
StringUtils
.
isNotBlank
(
pay
.
getNotifyUrl
()))
{
String
url
=
pay
.
getNotifyUrl
();
Integer
type
=
pay
.
getType
()
==
null
?
1
:
pay
.
getType
();
url
+=
"&tradeNo="
+
orderNo
+
"&type="
+
type
;
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"----notifyUrl===="
+
url
);
String
result
=
""
;
if
(
url
.
contains
(
"https"
)
||
url
.
contains
(
"HTTPS"
))
{
result
=
HTTPSUtils
.
httpRequest
(
url
,
"GET"
,
null
);
}
else
{
result
=
HTTPUtils
.
doGet
(
url
);
}
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"---result==="
+
result
);
}
}
...
...
@@ -192,13 +193,14 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
/**
* 支付宝回调接口
*
* @return
*/
public
String
alipayNotify
()
{
//获取支付宝POST过来反馈信息
Map
<
String
,
String
>
params
=
new
HashMap
<>();
Map
<
String
,
String
>
params
=
new
HashMap
<>();
Map
requestParams
=
request
.
getParameterMap
();
for
(
Iterator
iter
=
requestParams
.
keySet
().
iterator
();
iter
.
hasNext
();)
{
for
(
Iterator
iter
=
requestParams
.
keySet
().
iterator
();
iter
.
hasNext
();
)
{
String
name
=
(
String
)
iter
.
next
();
String
[]
values
=
(
String
[])
requestParams
.
get
(
name
);
String
valueStr
=
""
;
...
...
@@ -260,7 +262,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
String
tradeNo
=
params
.
get
(
"out_order_no"
);
String
operationId
=
params
.
get
(
"operation_id"
);
notice
(
tradeNo
,
operationId
);
notice
(
tradeNo
,
operationId
);
return
ObjectRestResponse
.
succ
().
getMessage
();
}
catch
(
AlipayApiException
e
)
{
log
.
error
(
""
,
e
);
...
...
@@ -270,25 +272,26 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
/**
* 支付宝生成支付信息
*
* @return
*/
@SuppressWarnings
(
"rawtypes"
)
private
String
generateAliPayment
(
OrderPayVo
orderPayVo
)
{
//实例化客户端
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
SystemConfig
.
ALIPAY_PAY_BASE_URL
+
"/gateway.do"
,
SystemConfig
.
ALIPAY_APPID
,
SystemConfig
.
ALIPAY_PRIVATE_KEY
,
AlipayConstants
.
FORMAT_JSON
,
"utf-8"
,
SystemConfig
.
ALIPAY_PUBLIC_KEY
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
//
"UTF-8"
,
SystemConfig
.
ALIPAY_PUBLIC_KEY
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
orderPayVo
.
setNotifyUrl
(
notifyUrl
);
try
{
try
{
if
(
orderPayVo
.
getPayWay
()
==
2
)
{
//支付宝APP支付
log
.
info
(
"=============支付宝APP支付================"
);
return
appOrderPay
(
alipayClient
,
orderPayVo
);
}
else
{
//预授权
log
.
info
(
"=============支付宝预授权支付================"
);
return
fundAuthOrderAppFreeze
(
alipayClient
,
orderPayVo
);
}
catch
(
Exception
e
){
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
//
return
null
;
}
...
...
@@ -297,19 +300,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
().
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
AlipayTradeAppPayRequest
request
=
new
AlipayTradeAppPayRequest
();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
// request.setBizContent("{" +
// "\"total_amount\":\"" + realAmount.toString() + "\"," +
// "\"subject\":\"" + orderPayVo.getSubject() + "\"," +
// "\"body\":\"" + orderPayVo.getBody() + "\"," +
// "\"out_trade_no\":\"" + orderPayVo.getTradeNo() + "\"" +
// " }");
request
.
setBizContent
(
"{"
+
"\"timeout_express\":\"30m\","
+
"\"total_amount\":\""
+
realAmount
.
toString
()
+
"\","
+
"\"subject\":\""
+
orderPayVo
.
getSubject
()
+
"\","
+
"\"body\":\""
+
orderPayVo
.
getBody
()
+
"\","
+
"\"out_trade_no\":\""
+
orderPayVo
.
getTradeNo
()
+
"\""
+
"\"total_amount\":\"0.01\","
+
"\"subject\":\"大乐透\","
+
"\"out_trade_no\":\"70501111111S001111119\""
+
" }"
);
request
.
setNotifyUrl
(
orderPayVo
.
getNotifyUrl
());
log
.
info
(
"请求参数:param = {}"
,
request
.
getBizContent
());
try
{
//这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse
response
=
alipayClient
.
sdkExecute
(
request
);
log
.
info
(
response
.
getBody
());
//就是orderString 可以直接给客户端请求,无需再做处理。
return
response
.
getBody
();
}
catch
(
AlipayApiException
e
)
{
e
.
printStackTrace
();
...
...
@@ -318,11 +325,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
}
//预授权冻结
public
String
fundAuthOrderAppFreeze
(
AlipayClient
alipayClient
,
OrderPayVo
orderPayVo
)
throws
AlipayApiException
{
AlipayFundAuthOrderAppFreezeRequest
request
=
new
AlipayFundAuthOrderAppFreezeRequest
();
AlipayFundAuthOrderAppFreezeModel
model
=
new
AlipayFundAuthOrderAppFreezeModel
();
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
().
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
request
.
setBizContent
(
"{"
+
"\"auth_code\":\""
+
orderPayVo
.
getTradeNo
()
+
"\","
+
...
...
@@ -332,10 +337,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
"\"order_title\":\""
+
orderPayVo
.
getSubject
()
+
"\","
+
"\"product_code\":\"PRE_AUTH_ONLINE\","
+
"\"pay_timeout\":\"1d\","
+
"\"amount\": \""
+
realAmount
.
toString
()
+
"\" }"
);
"\"amount\": \""
+
realAmount
.
toString
()
+
"\" }"
);
request
.
setNotifyUrl
(
orderPayVo
.
getNotifyUrl
());
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOrderAppFreezeResponse
response
=
alipayClient
.
sdkExecute
(
request
);
//注意这里是sdkExecute,可以获取签名参数
if
(
response
.
isSuccess
())
{
if
(
response
.
isSuccess
())
{
log
.
info
(
"调用成功"
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
//签名后的参数,直接入参到
return
response
.
getBody
();
...
...
@@ -344,6 +349,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
return
null
;
}
}
//解冻预授权
public
void
fundAuthOrderUnFreeze
(
AlipayClient
alipayClient
)
throws
AlipayApiException
{
AlipayFundAuthOrderUnfreezeRequest
request
=
new
AlipayFundAuthOrderUnfreezeRequest
();
...
...
@@ -357,11 +363,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request
.
setBizModel
(
model
);
request
.
setNotifyUrl
(
notifyUrl
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOrderUnfreezeResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
//取消预授权
public
void
fundAuthCancel
()
throws
AlipayApiException
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayFundAuthOperationCancelRequest
request
=
new
AlipayFundAuthOperationCancelRequest
();
AlipayFundAuthOperationCancelModel
model
=
new
AlipayFundAuthOperationCancelModel
();
//model.setAuthNo("2017120110002001390206804295"); // 支付宝资金授权订单号,在授权冻结成功时返回参数中获得
...
...
@@ -373,11 +380,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request
.
setNotifyUrl
(
""
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOperationCancelResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
//预授权转支付
public
void
tradePay
()
throws
AlipayApiException
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"utf-8"
,
"alipay_public_key"
,
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"utf-8"
,
"alipay_public_key"
,
"RSA2"
);
AlipayTradePayRequest
request
=
new
AlipayTradePayRequest
();
AlipayTradePayModel
model
=
new
AlipayTradePayModel
();
model
.
setOutTradeNo
(
"20180412100020088982"
);
// 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变;
...
...
@@ -395,16 +403,17 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request
.
setNotifyUrl
(
""
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayTradePayResponse
response
=
alipayClient
.
execute
(
request
);
if
(
response
.
isSuccess
())
{
if
(
response
.
isSuccess
())
{
System
.
out
.
println
(
"调用成功"
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
else
{
System
.
out
.
println
(
"调用失败"
);
}
}
//退款
public
void
testTradeRefund
()
throws
Exception
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayTradeRefundModel
model
=
new
AlipayTradeRefundModel
();
model
.
setOutTradeNo
(
"tradePay000002"
);
//与预授权转支付商户订单号相同,代表对该笔交易退款
model
.
setRefundAmount
(
"0.01"
);
...
...
@@ -413,7 +422,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
AlipayTradeRefundRequest
request
=
new
AlipayTradeRefundRequest
();
request
.
setBizModel
(
model
);
AlipayTradeRefundResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
...
...
@@ -443,7 +452,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
" }"
);
try
{
AlipayFundAuthOrderFreezeResponse
aresponse
=
alipayClient
.
execute
(
arequest
);
if
(
aresponse
.
isSuccess
())
{
if
(
aresponse
.
isSuccess
())
{
System
.
out
.
println
(
"调用成功"
);
}
else
{
System
.
out
.
println
(
"调用失败"
);
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/CertificationService.java
View file @
58179d87
...
...
@@ -415,6 +415,7 @@ public class CertificationService {
idInformation
.
setUpdTime
(
new
Date
());
idInformationMapper
.
updateByPrimaryKeySelective
(
idInformation
);
}
log
.
info
(
"----addIdInformation---userid==="
+
idInformation
.
getUserLonginId
()+
"----name===="
+
idInformation
.
getName
()+
"---IdNumber==="
+
idInformation
.
getIdNumber
());
//认证成功后修改用户,用户认证状态
ObjectRestResponse
authentication
=
userFeign
.
authentication
(
idInformation
.
getUserLonginId
(),
idInformation
.
getName
(),
idInformation
.
getIdNumber
(),
1
);
return
ObjectRestResponse
.
succ
(
idInformation
.
getId
());
...
...
xx-universal/xx-universal-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<
pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<
Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/AccompanyingItem.java
View file @
58179d87
package
com
.
xxfc
.
platform
.
vehicle
.
entity
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
lombok.Data
;
import
tk.mybatis.mapper.annotation.KeySql
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/2 16:52
*/
@Data
public
class
AccompanyingItem
{
public
static
final
Integer
NO_AMOUNT_LIMIT
=
-
1
;
@Id
private
Integer
id
;
/**
* 物品类型,详见{@link AccompanyingItemType}
*/
@Column
(
name
=
"type"
)
private
Integer
type
;
/**
* 物品名称
*/
...
...
@@ -23,18 +35,37 @@ public class AccompanyingItem {
private
String
name
;
/**
*
物品类型,详见AccompanyingItemType
*
标配数量
*/
@Column
(
name
=
"type"
)
private
Integer
type
;
@Column
(
name
=
"number"
)
private
Integer
number
;
@Column
(
name
=
"rank"
)
private
Integer
rank
;
/**
*单位
*/
@Column
(
name
=
"unit"
)
private
String
unit
;
/**
*价格
*/
@Column
(
name
=
"price"
)
private
BigDecimal
price
;
/**
* 备注
*/
@Column
(
name
=
"remark"
)
private
String
remark
;
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
@Column
(
name
=
"update_time"
)
private
Date
updateTime
;
@Column
(
name
=
"is_del"
)
private
Integer
isDel
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/feign/AdminInfoFeign.java
deleted
100644 → 0
View file @
85a95ae2
package
com
.
xxfc
.
platform
.
vehicle
.
feign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
@Component
public
class
AdminInfoFeign
{
@Autowired
UserFeign
userFeign
;
public
UserDTO
getAdminUserInfo
()
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
if
(
request
.
getHeader
(
"Authorization"
)
!=
null
)
{
return
userFeign
.
userinfoByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
}
return
null
;
}
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleBookRecordQueryVo.java
View file @
58179d87
...
...
@@ -46,11 +46,9 @@ public class VehicleBookRecordQueryVo extends PageParam {
*/
private
Integer
bookType
;
private
Integer
zoneId
;
private
Integer
companyId
;
private
List
<
String
>
zoneIds
;
private
List
<
String
>
companyIds
;
private
List
<
Integer
>
companyIds
;
private
String
upkeepIds
;
private
Integer
userCompany
;
}
\ No newline at end of file
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/dto/VehiclePlanDto.java
View file @
58179d87
...
...
@@ -33,7 +33,6 @@ public class VehiclePlanDto extends PageParam {
@ApiModelProperty
(
value
=
"所属分公司大区"
)
private
Integer
zoneId
;
private
List
<
String
>
companyIds
;
private
List
<
Integer
>
companyIds
;
private
List
<
String
>
zoneIds
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/vo/AccompanyingItemVo.java
0 → 100644
View file @
58179d87
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
vo
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/2 16:42
*/
@Data
public
class
AccompanyingItemVo
{
private
Integer
id
;
/**
* 物品类型,详见{@link AccompanyingItemType}
*/
private
Integer
type
;
/**
* 物品名称
*/
private
String
name
;
/**
*标配数量
*/
private
Integer
number
;
/**
*单位
*/
private
String
unit
;
/**
*价格
*/
private
BigDecimal
price
;
/**
* 备注
*/
private
String
remark
;
/**
* 排序
*/
private
Integer
rank
;
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
View file @
58179d87
...
...
@@ -12,12 +12,18 @@ import com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper;
import
com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
@Slf4j
...
...
@@ -85,4 +91,26 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
Integer
effected
=
mapper
.
deleteByPrimaryKey
(
id
);
return
RestResponse
.
suc
();
}
public
List
<
AccompanyingItemVo
>
listAllItem
(){
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
new
ArrayList
<>();
Example
example
=
new
Example
(
AccompanyingItem
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"isDel"
,
0
);
List
<
AccompanyingItem
>
accompanyingItems
=
mapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
accompanyingItems
)){
return
accompanyingItemVos
;
}
List
<
AccompanyingItemVo
>
accompanyingItemVoList
=
accompanyingItems
.
stream
().
map
(
item
->
{
AccompanyingItemVo
accompanyingItemVo
=
new
AccompanyingItemVo
();
org
.
springframework
.
beans
.
BeanUtils
.
copyProperties
(
item
,
accompanyingItemVo
);
return
accompanyingItemVo
;
}).
sorted
(
Comparator
.
comparing
(
AccompanyingItemVo:
:
getType
).
thenComparing
(
AccompanyingItemVo:
:
getRank
)).
collect
(
Collectors
.
toList
());
return
accompanyingItemVoList
;
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/AreaBiz.java
View file @
58179d87
...
...
@@ -7,7 +7,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.Area
;
import
com.xxfc.platform.vehicle.feign.AdminInfoFeign
;
import
com.xxfc.platform.vehicle.mapper.AreaMapper
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/BranchCompanyBiz.java
View file @
58179d87
...
...
@@ -9,19 +9,18 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockInfo
;
import
com.xxfc.platform.vehicle.entity.SysRegion
;
import
com.xxfc.platform.vehicle.feign.AdminInfoFeign
;
import
com.xxfc.platform.vehicle.mapper.BranchCompanyMapper
;
import
com.xxfc.platform.vehicle.util.excel.ExcelImport
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyVo
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.CompanySearchDTO
;
import
com.
github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.
xxfc.platform.vehicle.util.excel.ExcelImport
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections4.map.HashedMap
;
...
...
@@ -45,7 +44,8 @@ import java.util.concurrent.TimeUnit;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
auth
.
common
.
constatns
.
CommonConstants
.
DATA_ALL_FALSE
;
import
static
com
.
xxfc
.
platform
.
vehicle
.
constant
.
DbColumnConstant
.*;
import
static
com
.
xxfc
.
platform
.
vehicle
.
constant
.
DbColumnConstant
.
COMPANY_ZONE_ID
;
import
static
com
.
xxfc
.
platform
.
vehicle
.
constant
.
DbColumnConstant
.
ID
;
import
static
com
.
xxfc
.
platform
.
vehicle
.
constant
.
RedisKey
.
BRANCH_COMPANY_CACHE_DATAZONE
;
@Service
...
...
@@ -93,37 +93,11 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
}
Map
<
String
,
Object
>
map
=
new
HashedMap
<>();
map
.
put
(
"zoneId"
,
zoneId
);
String
ids
=
null
;
List
<
Integer
>
branchCompanies
=
Lists
.
newArrayList
()
;
if
(
DATA_ALL_FALSE
.
equals
(
userDTO
.
getDataAll
()))
{
//不能获取全部数据
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataZone
()))
{
//获取权限大区ID
if
(
userDTO
.
getDataZone
().
contains
(
","
))
{
ids
=
userDTO
.
getDataZone
();
}
else
{
ids
=
userDTO
.
getDataZone
()
+
","
;
}
}
else
{
ids
=
userDTO
.
getZoneId
()
+
","
;
}
String
companyId
=
null
;
if
(
Arrays
.
asList
(
ids
.
split
(
","
)).
contains
(
zoneId
+
""
))
{
//获取权限公司
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataCompany
()))
{
if
(
userDTO
.
getDataCompany
().
contains
(
","
))
{
companyId
=
userDTO
.
getDataCompany
();
}
else
{
companyId
=
userDTO
.
getDataCompany
()
+
","
;
}
}
else
{
companyId
=
userDTO
.
getCompanyId
()
+
","
;
}
map
.
put
(
"ids"
,
companyId
.
split
(
","
));
List
<
BranchCompany
>
list
=
mapper
.
selectByZoneId
(
map
);
//查询对应大区和公司的数据
return
list
;
}
else
{
return
null
;
}
branchCompanies
=
vehicleBiz
.
dataCompany
(
userDTO
.
getDataZone
(),
userDTO
.
getDataCompany
());
}
map
.
put
(
"ids"
,
null
);
map
.
put
(
"ids"
,
branchCompanies
);
return
mapper
.
selectByZoneId
(
map
);
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
58179d87
...
...
@@ -5,7 +5,9 @@ import cn.hutool.core.bean.copier.CopyOptions;
import
cn.hutool.core.util.StrUtil
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
...
...
@@ -17,11 +19,18 @@ import com.google.common.collect.Lists;
import
com.google.common.collect.Maps
;
import
com.xxfc.platform.vehicle.common.CustomIllegalParamException
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.*
;
import
com.xxfc.platform.vehicle.constant.ConstantType
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.feign.AdminInfoFeign
;
import
com.xxfc.platform.vehicle.mapper.*
;
import
com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus
;
import
com.xxfc.platform.vehicle.constant.VehicleStatus
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.entity.VehicleBookInfo
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper
;
import
com.xxfc.platform.vehicle.mapper.VehicleBookInfoMapper
;
import
com.xxfc.platform.vehicle.mapper.VehicleMapper
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -55,11 +64,9 @@ import java.util.*;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
auth
.
common
.
constatns
.
CommonConstants
.
DATA_ALL_FALSE
;
@Service
@Slf4j
public
class
VehicleBiz
extends
BaseBiz
<
VehicleMapper
,
Vehicle
>
{
public
class
VehicleBiz
extends
BaseBiz
<
VehicleMapper
,
Vehicle
>
implements
UserRestInterface
{
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd"
);
public
static
final
DateTimeFormatter
DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
...
...
@@ -84,7 +91,13 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
@Autowired
private
VehicleBookHourInfoBiz
vehicleBookHourInfoBiz
;
@Autowired
AdminInfoFeign
adminInfoFeign
;
UserFeign
userFeign
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
@Value
(
"${vehicle.baseUploadPath}"
)
private
String
baseUploadPath
;
@Value
(
"${vehicle.fristMileage}"
)
...
...
@@ -1266,38 +1279,29 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
Integer
limit
=
vehiclePlanDto
.
getLimit
()
==
null
?
10
:
vehiclePlanDto
.
getLimit
();
vehiclePlanDto
.
setPage
(
page
);
vehiclePlanDto
.
setLimit
(
limit
);
UserDTO
userDTO
=
adminInfoFeign
.
getAdminUserInfo
();
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
235
,
"token失效"
);
}
List
<
String
>
zoneList
=
null
;
List
<
String
>
companyList
=
null
;
if
(
vehiclePlanDto
.
getZoneId
()
==
null
)
{
//默认查出所有权限内的数据
if
(
DATA_ALL_FALSE
.
equals
(
userDTO
.
getDataAll
()))
{
//不能获取全部数据
String
zoneId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataZone
()))
{
zoneId
=
userDTO
.
getDataZone
();
List
<
Integer
>
companyList
=
Lists
.
newArrayList
();
List
<
BranchCompany
>
branchCompany
=
branchCompanyBiz
.
getListByUser
(
userDTO
);
companyList
=
branchCompany
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
vehiclePlanDto
.
getParkBranchCompanyId
()
!=
null
)
{
if
(
companyList
.
size
()
>
0
)
{
if
(
companyList
.
contains
(
vehiclePlanDto
.
getParkBranchCompanyId
()))
{
companyList
.
clear
();
companyList
.
add
(
vehiclePlanDto
.
getParkBranchCompanyId
());
}
else
{
zoneId
=
userDTO
.
getZoneId
()
+
","
;
return
ObjectRestResponse
.
succ
()
;
}
zoneList
=
new
ArrayList
<>(
Arrays
.
asList
(
zoneId
.
split
(
","
)));
String
companyId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataCompany
()))
{
companyId
=
userDTO
.
getDataCompany
();
}
else
{
companyId
=
userDTO
.
getCompanyId
()
+
","
;
}
companyList
=
new
ArrayList
<>(
Arrays
.
asList
(
companyId
.
split
(
","
)));
}
companyList
.
add
(
vehiclePlanDto
.
getParkBranchCompanyId
());
}
if
(
vehiclePlanDto
.
getParkBranchCompanyId
()
!=
null
)
{
if
(
companyList
==
null
)
{
companyList
=
Lists
.
newArrayList
();
}
companyList
.
add
(
vehiclePlanDto
.
getParkBranchCompanyId
()
+
""
);
}
log
.
info
(
"用户权限公司ID: companyList = {}"
,
companyList
);
vehiclePlanDto
.
setCompanyIds
(
companyList
);
vehiclePlanDto
.
setZoneIds
(
zoneList
);
Query
query
=
new
Query
(
vehiclePlanDto
);
PageDataVO
<
VehicleAndModelInfoVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
getVehicle
(
query
.
getSuper
()));
return
ObjectRestResponse
.
succ
(
pageDataVO
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
View file @
58179d87
...
...
@@ -18,8 +18,8 @@ import com.xxfc.platform.vehicle.constant.RedisKey;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus
;
import
com.xxfc.platform.vehicle.entity.BookRecordAccItem
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.feign.AdminInfoFeign
;
import
com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper
;
import
com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xxfc.platform.vehicle.pojo.*
;
...
...
@@ -39,11 +39,11 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
auth
.
common
.
constatns
.
CommonConstants
.
DATA_ALL_FALSE
;
...
...
@@ -65,6 +65,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired
private
BookRecordAccItemMapper
bookRecordAccItemMapper
;
@Autowired
BranchCompanyBiz
branchCompanyBiz
;
@Autowired
UserFeign
userFeign
;
...
...
@@ -106,37 +109,23 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
if
(
userDTO
==
null
)
{
return
RestResponse
.
codeAndMessage
(
235
,
"token失效"
);
}
vehicleBookRecordQueryVo
.
setUserCompany
(
userDTO
.
getCompanyId
());
if
(
vehicleBookRecordQueryVo
.
getZoneId
()
==
null
)
{
//默认查出所有权限内的数据
List
<
Integer
>
companyList
=
Lists
.
newArrayList
();
if
(
DATA_ALL_FALSE
.
equals
(
userDTO
.
getDataAll
()))
{
//不能获取全部数据
String
zoneId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataZone
()))
{
if
(
userDTO
.
getDataZone
().
contains
(
","
))
{
zoneId
=
userDTO
.
getDataZone
();
}
else
{
zoneId
=
userDTO
.
getDataZone
()
+
","
;
}
companyList
=
dataCompany
(
userDTO
.
getDataZone
(),
userDTO
.
getDataCompany
());
if
(
vehicleBookRecordQueryVo
.
getCompanyId
()
!=
null
)
{
if
(
companyList
.
contains
(
vehicleBookRecordQueryVo
.
getCompanyId
()))
{
//如果权限中有这个公司就允许查询, 否则就直接返回空
companyList
.
clear
();
companyList
.
add
(
vehicleBookRecordQueryVo
.
getCompanyId
());
}
else
{
zoneId
=
userDTO
.
getZoneId
()
+
","
;
return
RestResponse
.
suc
()
;
}
vehicleBookRecordQueryVo
.
setZoneIds
(
Arrays
.
asList
(
zoneId
.
split
(
","
)));
String
companyId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataCompany
()))
{
if
(
userDTO
.
getDataCompany
().
contains
(
","
))
{
companyId
=
userDTO
.
getDataCompany
();
}
else
{
companyId
=
userDTO
.
getDataCompany
()
+
","
;
}
}
else
{
companyId
=
userDTO
.
getCompanyId
()
+
","
;
}
vehicleBookRecordQueryVo
.
setCompanyIds
(
Arrays
.
asList
(
companyId
.
split
(
","
)));
if
(
vehicleBookRecordQueryVo
.
getCompanyId
()
!=
null
)
{
companyList
.
add
(
vehicleBookRecordQueryVo
.
getCompanyId
());
}
}
else
{
vehicleBookRecordQueryVo
.
setZoneIds
(
Arrays
.
asList
((
vehicleBookRecordQueryVo
.
getZoneId
()
+
","
).
split
(
","
)));
vehicleBookRecordQueryVo
.
setCompanyIds
(
Arrays
.
asList
((
vehicleBookRecordQueryVo
.
getLiftCompany
()
+
","
).
split
(
","
)));
}
vehicleBookRecordQueryVo
.
getCompanyIds
().
add
(
vehicleBookRecordQueryVo
.
getCompanyId
()
+
""
);
vehicleBookRecordQueryVo
.
setCompanyIds
(
companyList
);
Query
query
=
new
Query
(
vehicleBookRecordQueryVo
);
PageDataVO
<
VehicleBookRecordVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
getBookRecordInfo
(
query
.
getSuper
()));
return
RestResponse
.
suc
(
pageDataVO
);
...
...
@@ -153,41 +142,24 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
return
RestResponse
.
codeAndMessage
(
235
,
"token失效"
);
}
vehicleBookRecordQueryVo
.
setUserCompany
(
userDTO
.
getCompanyId
());
if
(
vehicleBookRecordQueryVo
.
getZoneId
()
==
null
)
{
//默认查出所有权限内的数据
List
<
Integer
>
companyList
=
Lists
.
newArrayList
();
if
(
DATA_ALL_FALSE
.
equals
(
userDTO
.
getDataAll
()))
{
//不能获取全部数据
String
zoneId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataZone
()))
{
if
(
userDTO
.
getDataZone
().
contains
(
","
))
{
zoneId
=
userDTO
.
getDataZone
();
}
else
{
zoneId
=
userDTO
.
getDataZone
()
+
","
;
}
}
else
{
zoneId
=
userDTO
.
getZoneId
()
+
","
;
}
vehicleBookRecordQueryVo
.
setZoneIds
(
Arrays
.
asList
(
zoneId
.
split
(
","
)));
String
companyId
=
null
;
if
(
StringUtils
.
isNotBlank
(
userDTO
.
getDataCompany
()))
{
if
(
userDTO
.
getDataCompany
().
contains
(
","
))
{
companyId
=
userDTO
.
getDataCompany
();
}
else
{
companyId
=
userDTO
.
getDataCompany
()
+
","
;
}
companyList
=
dataCompany
(
userDTO
.
getDataZone
(),
userDTO
.
getDataCompany
());
if
(
vehicleBookRecordQueryVo
.
getCompanyId
()
!=
null
)
{
if
(
companyList
.
contains
(
vehicleBookRecordQueryVo
.
getCompanyId
()))
{
//如果权限中有这个公司就允许查询, 否则就直接返回空
companyList
.
clear
();
companyList
.
add
(
vehicleBookRecordQueryVo
.
getCompanyId
());
}
else
{
companyId
=
userDTO
.
getCompanyId
()
+
","
;
return
RestResponse
.
suc
()
;
}
vehicleBookRecordQueryVo
.
setCompanyIds
(
Arrays
.
asList
(
companyId
.
split
(
","
)));
}
}
else
{
vehicleBookRecordQueryVo
.
setZoneIds
(
Arrays
.
asList
((
vehicleBookRecordQueryVo
.
getZoneId
()
+
","
).
split
(
","
)));
vehicleBookRecordQueryVo
.
setCompanyIds
(
Arrays
.
asList
((
vehicleBookRecordQueryVo
.
getLiftCompany
()
+
","
).
split
(
","
)));
}
if
(
vehicleBookRecordQueryVo
.
getCompanyId
()
!=
null
)
{
if
(
vehicleBookRecordQueryVo
.
getCompanyIds
()
==
null
)
{
vehicleBookRecordQueryVo
.
setCompanyIds
(
new
ArrayList
<>());
companyList
.
add
(
vehicleBookRecordQueryVo
.
getCompanyId
());
}
vehicleBookRecordQueryVo
.
getCompanyIds
().
add
(
vehicleBookRecordQueryVo
.
getCompanyId
()
+
""
);
}
vehicleBookRecordQueryVo
.
setCompanyIds
(
companyList
);
Query
query
=
new
Query
(
vehicleBookRecordQueryVo
);
PageDataVO
<
VehicleBookRecordVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
getBookRecordInfo
(
query
.
getSuper
()));
return
RestResponse
.
suc
(
pageDataVO
);
...
...
@@ -494,6 +466,16 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
private
void
createAccItemTbIfNotExists
(
String
tbName
){
bookRecordAccItemMapper
.
createTbIfNotExists
(
tbName
);
}
public
List
<
Integer
>
dataCompany
(
String
dataZone
,
String
dataCompany
)
{
List
<
BranchCompany
>
zoneCompanys
=
branchCompanyBiz
.
dataCompany
(
dataZone
);
//((VehicleBiz)AopContext.currentProxy()).dataCompany(dataZone);
List
<
Integer
>
zoneCompanyIds
=
zoneCompanys
.
parallelStream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
StringUtils
.
isNotBlank
(
dataCompany
))
{
List
<
Integer
>
dataCompanyIds
=
Arrays
.
asList
(
dataCompany
.
split
(
","
)).
parallelStream
().
map
(
s
->
Integer
.
valueOf
(
s
)).
collect
(
Collectors
.
toList
());
zoneCompanyIds
.
addAll
(
dataCompanyIds
);
}
//去重
return
zoneCompanyIds
.
parallelStream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/jobhandler/VehicleJobHandler.java
View file @
58179d87
...
...
@@ -41,6 +41,7 @@ public class VehicleJobHandler extends IJobHandler {
int
month
=
nowMonth
+
VehicleBookInfoBiz
.
MONTH_INTERVAL
>
12
?
(
VehicleBookInfoBiz
.
MONTH_INTERVAL
+
nowMonth
)
-
12
:
nowMonth
+
VehicleBookInfoBiz
.
MONTH_INTERVAL
;
year
=
month
>
nowMonth
?
year
:
year
+
1
;
String
yearAndMonth
=
String
.
format
(
"%d-%d"
,
year
,
month
);
XxlJobLogger
.
log
(
"----查询到的车型ids:【{}】"
,
existVehicleIds
);
if
(
CollectionUtils
.
isNotEmpty
(
existVehicleIds
))
{
List
<
VehicleBookInfo
>
bookInfos
=
existVehicleIds
.
stream
().
map
(
vehicleId
->
{
VehicleBookInfo
vehicleBookInfo
=
new
VehicleBookInfo
();
...
...
@@ -49,6 +50,7 @@ public class VehicleJobHandler extends IJobHandler {
return
vehicleBookInfo
;
}).
collect
(
Collectors
.
toList
());
vehicleBookInfoBiz
.
InsertBatch
(
bookInfos
);
XxlJobLogger
.
log
(
"----插入车型对象:【{}】"
,
bookInfos
);
}
ReturnT
returnT
=
new
ReturnT
();
returnT
.
setCode
(
100
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/AccompanyingItemController.java
View file @
58179d87
...
...
@@ -12,6 +12,7 @@ import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import
com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -71,4 +72,10 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB
public
RestResponse
<
Integer
>
del
(
@PathVariable
Integer
id
)
throws
Exception
{
return
baseBiz
.
del
(
id
);
}
@GetMapping
(
"/app/unauth/items"
)
public
RestResponse
<
List
<
AccompanyingItemVo
>>
listAccompanyingItemVo
(){
List
<
AccompanyingItemVo
>
accompanyingItemVos
=
baseBiz
.
listAllItem
();
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
accompanyingItemVos
);
}
}
xx-vehicle/xx-vehicle-server/src/main/resources/logback.xml
View file @
58179d87
...
...
@@ -25,7 +25,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
@@ -36,7 +36,7 @@
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
</p
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<Pattern>
${CONSOLE_LOG_PATTERN}
</P
attern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/BranchCompanyMapper.xml
View file @
58179d87
...
...
@@ -42,7 +42,7 @@
<select
id=
"selectByZoneId"
parameterType=
"java.util.Map"
resultType=
"com.xxfc.platform.vehicle.entity.BranchCompany"
>
select * from branch_company
where zone_id = #{zoneId}
<if
test=
"ids != null"
>
<if
test=
"ids != null
and ids.size > 0
"
>
and id in
<foreach
collection=
"ids"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
58179d87
...
...
@@ -387,7 +387,7 @@
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where>
<if
test=
"selectedMonth != null"
>
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_
start
_date like CONCAT(#{selectedMonth}, "%"))
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_
end
_date like CONCAT(#{selectedMonth}, "%"))
</if>
<if
test=
"numberPlate != null"
>
and v3.number_plate = #{numberPlate}
...
...
@@ -395,20 +395,14 @@
<if
test=
"bookType != null"
>
and v1.book_type = #{bookType}
</if>
<if
test=
"companyIds != null"
>
<if
test=
"companyIds != null
and companyIds.size > 0
"
>
and v1.lift_company in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
<if
test=
"zoneIds != null"
>
and bc1.zone_id in
<foreach
collection=
"zoneIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
and v1.status between 1 and 2
and v1.status between 1 and 2 and v1.book_user != -2
</where>
order by create_time DESC
...
...
@@ -425,7 +419,7 @@
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where>
<if
test=
"selectedMonth != null"
>
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_
start
_date like CONCAT(#{selectedMonth}, "%"))
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_
end
_date like CONCAT(#{selectedMonth}, "%"))
</if>
<if
test=
"numberPlate != null"
>
and v3.number_plate = #{numberPlate}
...
...
@@ -433,7 +427,7 @@
<if
test=
"bookType != null"
>
and v1.book_type = #{bookType}
</if>
<if
test=
"companyIds != null"
>
<if
test=
"companyIds != null
and companyIds.size > 0
"
>
and (v1.lift_company in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
...
...
@@ -443,15 +437,10 @@
#{id}
</foreach>
)
</if>
<if
test=
"zoneIds != null"
>
and bc1.zone_id in
<foreach
collection=
"zoneIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
<if
test=
"status != null"
>
and v1.status = #{status}
</if>
and v1.book_user != -2
</where>
group by v1.id
order by create_time DESC
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleMapper.xml
View file @
58179d87
...
...
@@ -227,13 +227,13 @@
</foreach>
</trim>
)
or v.expect_destination_branch_company_id in (
<!--
or v.expect_destination_branch_company_id in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
)
-->
<!-- or v.subordinate_branch in (-->
<!-- <trim suffixOverrides=",">-->
<!-- <foreach collection="companyList" item="companyId">-->
...
...
@@ -463,19 +463,21 @@
<if
test=
"numberPlate != null"
>
and v1.number_plate = #{numberPlate}
</if>
<if
test=
"companyIds != null"
>
<if
test=
"companyIds != null
and companyIds.size > 0
"
>
and v1.park_branch_company_id in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
<if
test=
"zoneIds != null"
>
<if
test=
"zoneIds != null
and zoneIds.size > 0
"
>
and bc3.zone_id in
<foreach
collection=
"zoneIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
and is_del != 1
</where>
ORDER BY parkCompanyName
</select>
<select
id=
"countVehicleByParam"
parameterType=
"com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto"
...
...
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