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
b62a6bb5
Commit
b62a6bb5
authored
Jul 22, 2019
by
libin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/base-modify' into base-modify
parents
27f1faed
21641c58
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
310 additions
and
147 deletions
+310
-147
application.yml
ace-gate/src/main/resources/application.yml
+10
-0
AppFormat.java
...com/github/wxiaoqi/security/admin/constant/AppFormat.java
+1
-1
AppUserManageDTO.java
...m/github/wxiaoqi/security/admin/dto/AppUserManageDTO.java
+4
-4
AppUserManageBiz.java
...m/github/wxiaoqi/security/admin/biz/AppUserManageBiz.java
+1
-1
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+2
-2
AppUserRest.java
...va/com/github/wxiaoqi/security/admin/rpc/AppUserRest.java
+20
-0
AppUserDetailMapper.xml
...e-admin/src/main/resources/mapper/AppUserDetailMapper.xml
+1
-4
ActivityFeign.java
.../java/com/xxfc/platform/activity/feign/ActivityFeign.java
+2
-1
ActivityUserJoinBiz.java
...a/com/xxfc/platform/activity/biz/ActivityUserJoinBiz.java
+23
-0
UserCouponBiz.java
...in/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
+19
-19
UserCouponController.java
...com/xxfc/platform/activity/rest/UserCouponController.java
+14
-2
AppVersionBiz.java
...rc/main/java/com/xxfc/platform/app/biz/AppVersionBiz.java
+2
-4
AppVersionController.java
...java/com/xxfc/platform/app/rest/AppVersionController.java
+37
-34
application.yml
xx-app/xx-app-server/src/main/resources/application.yml
+1
-1
RefundTypeEnum.java
...xxfc/platform/order/contant/enumerate/RefundTypeEnum.java
+2
-2
OrderViolation.java
...n/java/com/xxfc/platform/order/entity/OrderViolation.java
+2
-1
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+27
-2
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+25
-30
RentDepositJobHandler.java
...xxfc/platform/order/jobhandler/RentDepositJobHandler.java
+31
-30
RefundMQHandler.java
...va/com/xxfc/platform/order/mqhandler/RefundMQHandler.java
+68
-0
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+4
-3
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+4
-3
DictionaryKey.java
...a/com/xxfc/platform/universal/constant/DictionaryKey.java
+5
-0
UploadService.java
...va/com/xxfc/platform/universal/service/UploadService.java
+4
-2
application.yml
...al/xx-universal-server/src/main/resources/application.yml
+1
-1
No files found.
ace-gate/src/main/resources/application.yml
View file @
b62a6bb5
...
...
@@ -88,6 +88,16 @@ auth:
token-header
:
x-client-token
id
:
ace-gate
#不填则默认读取spring.application.name
secret
:
123456
servlet
:
multipart
:
# 启用上传处理,默认是true
enabled
:
true
# 当上传文件达到20MB的时候进行磁盘写入
file-size-threshold
:
20MB
# 设置最大的请求文件的大小
max-request-size
:
50MB
# 设置单个文件的最大长度
max-file-size
:
50MB
#
#
#ribbon:
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/constant/AppFormat.java
View file @
b62a6bb5
...
...
@@ -6,7 +6,7 @@ import java.util.List;
import
java.util.Set
;
public
class
AppFormat
{
private
static
final
String
[]
format
=
{
"
ipa"
,
"apk"
,
"
pxl"
};
private
static
final
String
[]
format
=
{
"
.ipa"
,
".apk"
,
".
pxl"
};
private
static
final
Set
formatSet
=
new
HashSet
(
Arrays
.
asList
(
format
));
public
static
Set
<
String
>
getFormatSet
()
{
return
formatSet
;
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/AppUserManageDTO.java
View file @
b62a6bb5
...
...
@@ -52,10 +52,10 @@ public class AppUserManageDTO {
*/
private
Integer
source
;
/**
* 接收前台时间范围
*/
private
String
[]
registrationDate
;
//
/**
//
* 接收前台时间范围
//
*/
//
private String[] registrationDate;
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserManageBiz.java
View file @
b62a6bb5
...
...
@@ -57,7 +57,7 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
List
<
AppUserManageVo
>
appUserManageVos
=
mapper
.
selectAppUserManage
(
appUserManageDTO
);
PageInfo
<
AppUserManageVo
>
pageInfo
=
PageInfo
.
of
(
appUserManageVos
);
if
(
pageInfo
.
getList
()==
null
||
pageInfo
.
getList
().
size
()==
0
)
{
return
null
;
return
pageInfo
;
}
List
<
Integer
>
Citys
=
pageInfo
.
getList
().
parallelStream
().
map
(
AppUserManageVo:
:
getCityCode
).
collect
(
Collectors
.
toList
());
HashSet
<
Integer
>
set
=
new
HashSet
<>();
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
b62a6bb5
...
...
@@ -235,9 +235,9 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
}
else
if
(
baseUserMembers
.
size
()==
1
){
if
(
baseUserMemberVO
.
getMemberLevel
()
==
null
||
baseUserMember
.
getValidTime
()
==
null
){
baseUserMember
.
setIsDel
(
1
);
baseUserMember
.
setTotalNumber
(
0
);
baseUserMember
.
setRentFreeDays
(
0
);
}
else
{
baseUserMember
.
setIsDel
(
0
);
}
baseUserMember
.
setUpdTime
(
System
.
currentTimeMillis
());
baseUserMember
.
setBuyCount
(
baseUserMembers
.
get
(
0
).
getBuyCount
()+
1
);
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/AppUserRest.java
View file @
b62a6bb5
...
...
@@ -2,6 +2,8 @@ package com.github.wxiaoqi.security.admin.rpc;
import
com.ace.cache.annotation.Cache
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService
;
import
com.github.wxiaoqi.security.admin.rpc.service.PermissionService
;
import
com.github.wxiaoqi.security.admin.vo.ImiVo
;
...
...
@@ -16,6 +18,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.SystemConfig
;
import
com.github.wxiaoqi.security.common.util.result.JsonResultUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -40,6 +43,8 @@ public class AppUserRest {
@Autowired
private
UserAuthConfig
userAuthConfig
;
@Autowired
private
AppUserLoginBiz
appUserLoginBiz
;
// @Cache(key="permission")
// @RequestMapping(value = "/permissions", method = RequestMethod.GET)
...
...
@@ -235,4 +240,19 @@ public class AppUserRest {
public
ImiVo
findUserInfoByImiId
(
@PathVariable
(
value
=
"imiId"
)
Integer
imiId
){
return
appPermissionService
.
findUserInoByImiId
(
imiId
);
}
@ApiModelProperty
(
"检查手机号是否注册过"
)
@GetMapping
(
"/unauth/check"
)
public
ObjectRestResponse
check
(
@RequestParam
(
value
=
"phone"
)
String
phone
){
if
(
StringUtils
.
isBlank
(
phone
)){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
}
AppUserLogin
rsUserLogin
=
appUserLoginBiz
.
checkeUserLogin
(
phone
);
if
(
rsUserLogin
==
null
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NOTEXIST_CODE
,
"手机号未注册"
);
}
return
ObjectRestResponse
.
succ
();
}
}
ace-modules/ace-admin/src/main/resources/mapper/AppUserDetailMapper.xml
View file @
b62a6bb5
...
...
@@ -95,8 +95,7 @@
) m
on
l.id = m.user_id
and m.is_del=0
where 1=1
<if
test=
"mobile !=null"
>
and l.username like CONCAT('%',#{mobile},'%')
</if>
...
...
@@ -115,8 +114,6 @@
<if
test=
"source !=null"
>
and d.source = #{source}
</if>
order by l.id ASC
</select>
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/feign/ActivityFeign.java
View file @
b62a6bb5
...
...
@@ -7,6 +7,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
...
...
@@ -34,7 +35,7 @@ public interface ActivityFeign {
@RequestMapping
(
value
=
"/user/use"
,
method
=
RequestMethod
.
POST
)
public
BigDecimal
use
(
@RequestParam
(
value
=
"userId"
)
Integer
userId
,
@RequestParam
(
value
=
"tickerNo
"
)
String
tickerNo
,
@RequestParam
(
value
=
"tickerNo
s"
)
List
<
String
>
tickerNos
,
@RequestParam
(
value
=
"orderNo"
)
String
orderNo
,
@RequestParam
(
value
=
"channel"
)
Integer
channel
,
@RequestParam
(
value
=
"amount"
)
BigDecimal
amount
,
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityUserJoinBiz.java
View file @
b62a6bb5
...
...
@@ -93,6 +93,29 @@ public class ActivityUserJoinBiz extends BaseBiz<ActivityUserJoinMapper,Activity
return
ObjectRestResponse
.
succ
();
}
//判断用户是否已领取或无法领取优惠卷
public
ObjectRestResponse
checkUserCoupon
(
Integer
userId
){
ActivityRule
rule
=
ruleBiz
.
getActity
();
if
(
rule
==
null
)
{
log
.
error
(
"----没有开启的活动----"
);
return
ObjectRestResponse
.
createFailedResult
(
101
,
"无有效活动"
);
}
Integer
activityId
=
rule
.
getId
();
ActivityUserJoin
userJoin
=
new
ActivityUserJoin
();
userJoin
.
setActivityId
(
activityId
);
userJoin
.
setUserId
(
userId
);
userJoin
=
selectOne
(
userJoin
);
if
(
userJoin
==
null
)
{
log
.
error
(
"----用户没有此参与活动----userId===="
+
userId
);
return
ObjectRestResponse
.
createFailedResult
(
102
,
"不是新用户,无法参与此活动"
);
}
if
(
userJoin
.
getStatus
()!=
0
){
log
.
error
(
"----用户已领取----userId===="
+
userId
);
return
ObjectRestResponse
.
createFailedResult
(
103
,
"用户已领取"
);
}
return
ObjectRestResponse
.
succ
();
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
View file @
b62a6bb5
...
...
@@ -11,6 +11,7 @@ import com.xxfc.platform.activity.vo.UserCouponVo;
import
com.xxfc.platform.universal.weixin.util.Snowflake
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.assertj.core.util.Arrays
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.mapper.UserCouponMapper
;
...
...
@@ -147,38 +148,37 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
return
mapper
.
getUserCoupon
(
tickerNo
);
}
//支付后更新优惠卷状态
public
BigDecimal
useTickerNo
(
Integer
userId
,
String
TickerNo
,
String
orderNo
,
Integer
channel
,
BigDecimal
amout
,
Integer
type
){
//支付后更新优惠卷状态
:type.1-
public
BigDecimal
useTickerNo
(
Integer
userId
,
List
<
String
>
tickerNos
,
String
orderNo
,
Integer
channel
,
BigDecimal
amout
,
Integer
type
){
BigDecimal
couponAmout
=
new
BigDecimal
(
"0.00"
);
if
(
couponAmout
.
compareTo
(
amout
)
>=
0
)
{
return
BigDecimal
.
ZERO
;
}
if
(
userId
==
null
||
userId
==
0
||
StringUtils
.
isBlank
(
TickerNo
)
){
if
(
userId
==
null
||
userId
==
0
||
tickerNos
==
null
||
tickerNos
.
size
()==
0
){
log
.
error
(
"----参数不能为空"
);
return
couponAmout
;
}
Example
example
=
new
Example
(
UserCoupon
.
class
);
example
.
createCriteria
().
and
EqualTo
(
"tickerNo"
,
TickerNo
).
andEqualTo
(
"isDel"
,
0
);
example
.
createCriteria
().
and
In
(
"tickerNo"
,
tickerNos
).
andEqualTo
(
"isDel"
,
0
);
List
<
UserCoupon
>
list
=
selectByExample
(
example
);
if
(
list
.
size
()==
0
){
log
.
error
(
userId
+
"----没有可用优惠卷--
tickerNo==="
+
TickerNo
);
log
.
error
(
userId
+
"----没有可用优惠卷--
"
);
return
couponAmout
;
}
UserCoupon
userCoupon
=
list
.
get
(
0
);
if
(
userCoupon
!=
null
&&
userCoupon
.
getIsUse
()==
1
){
log
.
error
(
userId
+
"----该优惠卷已使用--tickerNo=="
+
TickerNo
);
return
couponAmout
;
}
if
(
type
==
1
){
userCoupon
.
setIsUse
(
1
);
userCoupon
.
setOrderNo
(
orderNo
);
userCoupon
.
setUseTime
(
System
.
currentTimeMillis
());
updateSelectiveById
(
userCoupon
);
for
(
UserCoupon
userCoupon:
list
)
{
if
(
userCoupon
!=
null
&&
userCoupon
.
getIsUse
()==
1
){
log
.
error
(
userId
+
"----该优惠卷已使用--tickerNo=="
);
continue
;
}
if
(
type
==
1
){
userCoupon
.
setIsUse
(
1
);
userCoupon
.
setOrderNo
(
orderNo
);
userCoupon
.
setUseTime
(
System
.
currentTimeMillis
());
updateSelectiveById
(
userCoupon
);
}
couponAmout
=
couponAmout
.
add
(
getCouponAmout
(
userCoupon
.
getCouponId
(),
channel
,
amout
));
}
return
getCouponAmout
(
userCoupon
.
getCouponId
(),
channel
,
amout
);
return
couponAmout
;
}
public
BigDecimal
getCouponAmout
(
Integer
couponId
,
Integer
channel
,
BigDecimal
amout
)
{
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/UserCouponController.java
View file @
b62a6bb5
...
...
@@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.util.List
;
@RestController
@RequestMapping
(
"user"
)
...
...
@@ -57,13 +58,13 @@ public class UserCouponController extends ActivityBaseController<UserCouponBiz>
@RequestMapping
(
value
=
"/use"
,
method
=
RequestMethod
.
POST
)
public
BigDecimal
use
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
,
@RequestParam
(
value
=
"tickerNo
"
,
defaultValue
=
""
)
String
tickerNo
,
@RequestParam
(
value
=
"tickerNo
s"
,
defaultValue
=
""
)
List
<
String
>
tickerNos
,
@RequestParam
(
value
=
"orderNo"
,
defaultValue
=
""
)
String
orderNo
,
@RequestParam
(
value
=
"channel"
,
defaultValue
=
"1"
)
Integer
channel
,
@RequestParam
(
value
=
"amount"
,
defaultValue
=
"0.00"
)
BigDecimal
amount
,
@RequestParam
(
value
=
"type"
,
defaultValue
=
"1"
)
Integer
type
)
{
return
baseBiz
.
useTickerNo
(
userId
,
tickerNo
,
orderNo
,
channel
,
amount
,
type
);
return
baseBiz
.
useTickerNo
(
userId
,
tickerNo
s
,
orderNo
,
channel
,
amount
,
type
);
}
@ApiOperation
(
"优惠卷取消使用"
)
...
...
@@ -85,6 +86,17 @@ public class UserCouponController extends ActivityBaseController<UserCouponBiz>
return
joinBiz
.
receiveCoupn
(
userId
);
}
@ApiOperation
(
"检查用户是否可领取"
)
@RequestMapping
(
value
=
"/coupon/check"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
check
()
{
AppUserDTO
userInfo
=
getUserInfo
();
Integer
userId
=
userInfo
.
getUserid
();
if
(
userId
==
null
)
{
return
ObjectRestResponse
.
createDefaultFail
();
}
return
joinBiz
.
checkUserCoupon
(
userId
);
}
...
...
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/biz/AppVersionBiz.java
View file @
b62a6bb5
...
...
@@ -100,16 +100,14 @@ public class AppVersionBiz extends BaseBiz<AppVersionMapper,AppVersion> {
public
ObjectRestResponse
uploadDrivingLicense
(
MultipartFile
file
)
throws
IOException
{
DateTime
now
=
DateTime
.
now
();
String
dirPathToday
=
File
.
separator
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
String
redisNoKey
=
RedisKey
.
UPLOAD_FILE_NO_PREFIX
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
//
String redisNoKey = RedisKey.UPLOAD_FILE_NO_PREFIX + now.toString(DEFAULT_DATE_TIME_FORMATTER);
// Long no = redisTemplate.opsForValue().increment(redisNoKey);
// if(no.equals(1L)){
// redisTemplate.expire(redisNoKey,1, TimeUnit.DAYS);
// }
String
fileName
=
file
.
getOriginalFilename
();
String
realFileRelPath
=
dirPathToday
+
File
.
separator
+
fileName
.
substring
(
fileName
.
lastIndexOf
(
"/"
));
String
realFileRelPath
=
dirPathToday
+
File
.
separator
+
fileName
;
String
filePath
=
uploadPath
+
realFileRelPath
;
FileUtils
.
copyInputStreamToFile
(
file
.
getInputStream
(),
new
File
(
filePath
));
return
ObjectRestResponse
.
succ
(
filePath
);
}
...
...
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/rest/AppVersionController.java
View file @
b62a6bb5
...
...
@@ -33,83 +33,87 @@ import org.springframework.web.multipart.MultipartFile;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
@RestController
@RequestMapping
(
"version"
)
@IgnoreClientToken
@Slf4j
public
class
AppVersionController
extends
BaseController
<
AppVersionBiz
,
AppVersion
>
{
//最大上传500MB
private
Long
MAX_DRIVING_LICENSE_SIZE
=
1024
*
1024
*
500L
;
private
int
id
;
public
class
AppVersionController
extends
BaseController
<
AppVersionBiz
,
AppVersion
>
{
/**
* 最大上传500MB
*/
private
Long
MAX_DRIVING_LICENSE_SIZE
=
1024
*
1024
*
500L
;
@ApiModelProperty
(
"app自动更新"
)
@RequestMapping
(
value
=
"/app/unauth/info"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/app/unauth/info"
,
method
=
RequestMethod
.
GET
)
@IgnoreUserToken
public
ObjectRestResponse
info
(
@RequestParam
(
value
=
"type"
,
defaultValue
=
"0"
)
Integer
type
,
@RequestParam
(
value
=
"version"
,
defaultValue
=
""
)
String
version
,
@RequestParam
(
value
=
"isH5"
,
defaultValue
=
"0"
)
Integer
isH5
){
ObjectRestResponse
restResponse
=
null
;
if
(
isH5
!=
null
&&
isH5
==
1
)
{
restResponse
=
baseBiz
.
getVersionH5
(
type
);
}
else
{
restResponse
=
baseBiz
.
getVersion
(
version
,
type
);
}
@RequestParam
(
value
=
"type"
,
defaultValue
=
"0"
)
Integer
type
,
@RequestParam
(
value
=
"version"
,
defaultValue
=
""
)
String
version
,
@RequestParam
(
value
=
"isH5"
,
defaultValue
=
"0"
)
Integer
isH5
)
{
ObjectRestResponse
restResponse
=
null
;
if
(
isH5
!=
null
&&
isH5
==
1
)
{
restResponse
=
baseBiz
.
getVersionH5
(
type
);
}
else
{
restResponse
=
baseBiz
.
getVersion
(
version
,
type
);
}
return
restResponse
;
}
@Override
@ApiOperation
(
"添加"
)
@RequestMapping
(
value
=
"/background/add"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
<
AppVersion
>
add
(
@RequestBody
AppVersion
appVersion
){
@RequestMapping
(
value
=
"/background/add"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
<
AppVersion
>
add
(
@RequestBody
AppVersion
appVersion
)
{
baseBiz
.
insertAppVersion
(
appVersion
);
return
new
ObjectRestResponse
<
AppVersion
>();
}
@ApiOperation
(
"查询一条"
)
@RequestMapping
(
value
=
"/background/getAppVersion/{id}"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
AppVersion
>
getAppVersion
(
@PathVariable
Integer
id
){
@RequestMapping
(
value
=
"/background/getAppVersion/{id}"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
AppVersion
>
getAppVersion
(
@PathVariable
Integer
id
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
get
(
id
));
}
@ApiOperation
(
"查询所有"
)
@RequestMapping
(
value
=
"/background/getAppVersions"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
<
PageInfo
<
AppVersion
>>
getAppVersions
(
@RequestBody
appVersionQuery
query
){
@RequestMapping
(
value
=
"/background/getAppVersions"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
<
PageInfo
<
AppVersion
>>
getAppVersions
(
@RequestBody
appVersionQuery
query
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getAll
(
query
));
}
@Override
@ApiOperation
(
"修改"
)
@RequestMapping
(
value
=
"/background/update"
,
method
=
RequestMethod
.
PUT
)
public
ObjectRestResponse
<
AppVersion
>
update
(
@RequestBody
AppVersion
appVersion
){
@RequestMapping
(
value
=
"/background/update"
,
method
=
RequestMethod
.
PUT
)
public
ObjectRestResponse
<
AppVersion
>
update
(
@RequestBody
AppVersion
appVersion
)
{
baseBiz
.
updateAppVersionById
(
appVersion
);
return
new
ObjectRestResponse
<
AppVersion
>();
}
@ApiOperation
(
"删除"
)
@DeleteMapping
(
value
=
"/background/remove/{id}"
)
public
ObjectRestResponse
<
AppVersion
>
remove
(
@PathVariable
Integer
id
){
public
ObjectRestResponse
<
AppVersion
>
remove
(
@PathVariable
Integer
id
)
{
baseBiz
.
remove
(
id
);
return
new
ObjectRestResponse
<
AppVersion
>();
}
@PostMapping
(
value
=
"/upload/installationPackage"
)
@ApiOperation
(
value
=
"上传app安装包"
)
public
ObjectRestResponse
uploadInstallationPackage
(
@RequestParam
(
"file"
)
MultipartFile
file
)
public
ObjectRestResponse
uploadInstallationPackage
(
@RequestParam
MultipartFile
file
)
throws
Exception
{
Assert
.
notNull
(
file
);
//文件类型
String
contentType
=
file
.
getContentType
();
log
.
debug
(
"contentType"
+
contentType
);
//判断上传的文件格式
if
(!
judgeFormat
(
contentType
)||
file
.
getSize
()
>
MAX_DRIVING_LICENSE_SIZE
)
{
String
name
=
file
.
getOriginalFilename
();
String
content
=
name
.
substring
(
name
.
lastIndexOf
(
"."
));
System
.
out
.
println
(
"file.getSize()"
+
file
.
getSize
());
System
.
out
.
println
(
"content"
+
content
);
System
.
out
.
println
(
"contentType"
+
contentType
);
//判断上传的文件格式
if
(!
judgeFormat
(
content
)
||
file
.
getSize
()
>
MAX_DRIVING_LICENSE_SIZE
)
{
return
ObjectRestResponse
.
createDefaultFail
();
}
...
...
@@ -117,8 +121,6 @@ public class AppVersionController extends BaseController<AppVersionBiz,AppVersio
}
@IgnoreUserToken
@GetMapping
(
value
=
"/download/installationPackage/{realFileRelPath}"
)
//匹配的是href中的download请求
@ApiOperation
(
value
=
"下载app安装包"
)
...
...
@@ -128,11 +130,12 @@ public class AppVersionController extends BaseController<AppVersionBiz,AppVersio
/**
* 判断上传的文件格式
*
* @param contentType
* @return
*/
private
boolean
judgeFormat
(
String
contentType
){
if
(
AppFormat
.
getFormatSet
().
size
()
==
0
)
{
private
boolean
judgeFormat
(
String
contentType
)
{
if
(
AppFormat
.
getFormatSet
().
size
()
==
0
)
{
return
true
;
}
for
(
String
format
:
AppFormat
.
getFormatSet
())
{
...
...
xx-app/xx-app-server/src/main/resources/application.yml
View file @
b62a6bb5
...
...
@@ -2,7 +2,7 @@ servlet:
multipart
:
# 启用上传处理,默认是true
enabled
:
true
# 当上传文件达到
1
MB的时候进行磁盘写入
# 当上传文件达到
20
MB的时候进行磁盘写入
file-size-threshold
:
20MB
# 设置最大的请求文件的大小
max-request-size
:
50MB
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/RefundTypeEnum.java
View file @
b62a6bb5
...
...
@@ -4,8 +4,8 @@ import java.util.HashMap;
import
java.util.Map
;
public
enum
RefundTypeEnum
{
RentVehicle
(
1
,
"订单款"
),
TOUR
(
2
,
"押金"
),
ORDER_FUND
(
1
,
"订单款"
),
DEPOSIT
(
2
,
"押金"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderViolation.java
View file @
b62a6bb5
...
...
@@ -5,6 +5,7 @@ import javax.persistence.Column;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
@Data
...
...
@@ -19,7 +20,7 @@ public class OrderViolation {
* 违章总金额
*/
@Column
(
name
=
"price"
)
private
Double
price
;
private
BigDecimal
price
;
/**
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
b62a6bb5
...
...
@@ -326,7 +326,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
//退款金额
BigDecimal
refundAmount
=
depositAmount
.
add
(
refundGoodsAmount
);
//退款子流程: 订单基础,退款描述,退款金额
refundSubProcess
(
baseOrder
,
refundDesc
,
refundAmount
,
RefundTypeEnum
.
RentVehicle
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
());
refundSubProcess
(
baseOrder
,
refundDesc
,
refundAmount
,
RefundTypeEnum
.
ORDER_FUND
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
());
}
public
BigDecimal
calculateRefund
(
BigDecimal
goodsAmount
,
Long
timeLag
,
String
dicParentKey
,
String
refundDesc
)
{
...
...
@@ -412,7 +412,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
setOrderId
(
orderId
);
setRefundTime
(
System
.
currentTimeMillis
());
setTradeNo
(
refundTradeNo
);
setRefundType
(
RefundTypeEnum
.
RentVehicle
.
getCode
());
setRefundType
(
RefundTypeEnum
.
ORDER_FUND
.
getCode
());
}};
orderRefund
.
setRefundAmount
(
refundAmount
);
orderRefund
.
setRefundDesc
(
refundDesc
);
...
...
@@ -523,6 +523,18 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
* @return
*/
public
BaseOrder
updateSelectiveByIdReT
(
BaseOrder
baseOrder
)
{
return
updateSelectiveByIdReT
(
baseOrder
,
false
);
}
/**
* 更新(不成功抛异常)
* @param baseOrder
* @return
*/
public
BaseOrder
updateSelectiveByIdReT
(
BaseOrder
baseOrder
,
boolean
needVersion
)
{
if
(
needVersion
)
{
baseOrder
.
setVersion
(
selectById
(
baseOrder
.
getId
()).
getVersion
());
}
if
(
updateSelectiveByIdRe
(
baseOrder
)
>
0
)
{
return
selectById
(
baseOrder
.
getId
());
}
else
{
...
...
@@ -530,6 +542,19 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
}
}
// /**
// * 更新(不成功抛异常)
// * @param baseOrder
// * @return
// */
// public BaseOrder updateSelectiveByIdReT(BaseOrder baseOrder) {
// if(updateSelectiveByIdRe(baseOrder) > 0) {
// return selectById(baseOrder.getId());
// }else {
// throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE);
// }
// }
public
boolean
getTodyTime
(
Long
time
)
{
Long
startTime
=
getDayStart
();
if
(
time
>
startTime
&&
time
<
startTime
+
24
*
60
*
60
*
1000
-
1
)
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
View file @
b62a6bb5
...
...
@@ -6,6 +6,7 @@ import com.xxfc.platform.order.entity.BaseOrder;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.entity.OrderVehicleCrosstown
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
...
...
@@ -15,8 +16,6 @@ import org.springframework.stereotype.Service;
import
com.xxfc.platform.order.entity.OrderRefund
;
import
com.xxfc.platform.order.mapper.OrderRefundMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.weekend.WeekendSqls
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
@@ -45,39 +44,35 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
@Autowired
OrderVehicalCrosstownBiz
crosstownBiz
;
public
void
refundDeposit
(){
public
void
refundDeposit
(
OrderMQDTO
orderMQDTO
){
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
List
<
BaseOrder
>
lists
=
baseOrderBiz
.
selectByExample
(
new
Example
.
Builder
(
BaseOrder
.
class
)
//订单已完成的租车订单
.
where
(
WeekendSqls
.<
BaseOrder
>
custom
().
andEqualTo
(
BaseOrder:
:
getType
,
OrderTypeEnum
.
RENT_VEHICLE
)
.
andEqualTo
(
BaseOrder:
:
getStatus
,
OrderStatusEnum
.
ORDER_FINISH
)
// .andLike(BaseOrder::getId, "%"+ String.valueOf(i))
).
build
());
//处理自动退押金
for
(
BaseOrder
baseOrder
:
lists
)
{
OrderRentVehicleDetail
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
()
{{
setOrderId
(
baseOrder
.
getId
());
//未退还, 进行保留违章预备金 的退还
if
(
RefundStatusEnum
.
NONE
.
getCode
().
equals
(
orderMQDTO
.
getRefundStatus
()))
{
OrderVehicleCrosstown
crosstown
=
crosstownBiz
.
selectOne
(
new
OrderVehicleCrosstown
(){{
setOrderId
(
orderMQDTO
.
getId
());
setType
(
CrosstownTypeEnum
.
TOUR
.
getCode
());
}});
//未退还, 进行保留违章预备金 的退还
if
(
RefundStatusEnum
.
NONE
.
getCode
().
equals
(
baseOrder
.
getRefundStatus
()))
{
OrderVehicleCrosstown
crosstown
=
crosstownBiz
.
selectOne
(
new
OrderVehicleCrosstown
(){{
setOrderId
(
baseOrder
.
getId
());
setType
(
CrosstownTypeEnum
.
TOUR
.
getCode
());
}});
BigDecimal
refundAmont
=
crosstown
.
getRestDeposit
().
subtract
(
illegalReserve
);
List
<
DedDetailDTO
>
dddList
=
JSONUtil
.
toBean
(
crosstown
.
getDedDetail
(),
List
.
class
);
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章预备金:"
+
illegalReserve
.
toString
();
for
(
DedDetailDTO
ddd
:
dddList
)
{
refundDesc
+=
", "
+
ddd
.
getDeductions
()+
":"
+
ddd
.
getCost
();
}
refundDesc
+=
")"
;
//退款子流程: 订单基础,退款描述,退款金额
baseOrderBiz
.
refundSubProcess
(
baseOrder
,
refundDesc
,
refundAmont
,
RefundTypeEnum
.
RentVehicle
.
getCode
(),
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
());
//设置剩余
//还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal
refundAmont
=
crosstown
.
getRestDeposit
().
subtract
(
illegalReserve
);
List
<
DedDetailDTO
>
dddList
=
JSONUtil
.
toBean
(
crosstown
.
getDedDetail
(),
List
.
class
);
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章预备金:"
+
illegalReserve
.
toString
();
for
(
DedDetailDTO
ddd
:
dddList
)
{
refundDesc
+=
", "
+
ddd
.
getDeductions
()+
":"
+
ddd
.
getCost
();
}
refundDesc
+=
")"
;
refundTrigger
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
illegalReserve
,
refundAmont
,
refundDesc
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
());
}
}
public
void
refundTrigger
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orvd
,
BigDecimal
residueAmount
,
BigDecimal
refundAmont
,
String
refundDesc
,
Integer
refundStatus
)
{
//退款子流程: 订单基础,退款描述,退款金额
baseOrderBiz
.
refundSubProcess
(
baseOrder
,
refundDesc
,
refundAmont
,
RefundTypeEnum
.
DEPOSIT
.
getCode
(),
refundStatus
);
//设置剩余没有返还的钱
orderRentVehicleBiz
.
updateSelectiveById
(
new
OrderRentVehicleDetail
(){{
setId
(
orvd
.
getId
());
setReturnPayResidue
(
residueAmount
);
}});
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/RentDepositHandler.java
→
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/RentDeposit
Job
Handler.java
View file @
b62a6bb5
...
...
@@ -2,13 +2,12 @@ package com.xxfc.platform.order.jobhandler;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.common.util.IntervalUtil
;
import
com.xxfc.platform.order.biz.BaseOrderBiz
;
import
com.xxfc.platform.order.biz.OrderRentVehicleBiz
;
import
com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz
;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.entity.OrderVehicleCrosstown
;
import
com.xxfc.platform.order.entity.OrderViolation
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.entity.Dictionary
;
...
...
@@ -27,6 +26,7 @@ import java.math.BigDecimal;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
/**
...
...
@@ -37,7 +37,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@JobHandler
(
value
=
"rentDepositHandler"
)
@Component
@Slf4j
public
class
RentDepositHandler
extends
IJobHandler
{
public
class
RentDeposit
Job
Handler
extends
IJobHandler
{
@Autowired
BaseOrderBiz
baseOrderBiz
;
...
...
@@ -48,50 +48,51 @@ public class RentDepositHandler extends IJobHandler {
@Autowired
OrderVehicalCrosstownBiz
crosstownBiz
;
@Autowired
OrderViolationBiz
orderViolationBiz
;
@Autowired
OrderRefundBiz
orderRefundBiz
;
@Autowired
ThirdFeign
thirdFeign
;
@Override
public
ReturnT
<
String
>
execute
(
String
idLastNumInterval
)
throws
Exception
{
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERV
E
).
getDetail
());
Integer
rentDepositAutoRefundTime
=
new
Integer
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
RENT_DEPOSIT_AUTO_REFUND_TIM
E
).
getDetail
());
try
{
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
if
(
IntervalUtil
.
staticIsInTheInterval
(
String
.
valueOf
(
i
),
idLastNumInterval
))
{
//三十天
List
<
BaseOrder
>
lists
=
baseOrderBiz
.
selectByExample
(
new
Example
.
Builder
(
BaseOrder
.
class
)
//订单已完成的租车订单
.
where
(
WeekendSqls
.<
BaseOrder
>
custom
().
andEqualTo
(
BaseOrder:
:
getType
,
OrderTypeEnum
.
RENT_VEHICLE
)
.
andEqualTo
(
BaseOrder:
:
getStatus
,
OrderStatusEnum
.
ORDER_FINISH
)
.
andLike
(
BaseOrder:
:
getId
,
"%"
+
String
.
valueOf
(
i
))).
build
());
.
andEqualTo
(
BaseOrder:
:
getStatus
,
OrderStatusEnum
.
ORDER_FINISH
)
//已完成的订单
.
andEqualTo
(
BaseOrder:
:
getRefundStatus
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
)
//已归还了部分押金
.
andLessThanOrEqualTo
(
BaseOrder:
:
getRefundTime
,
System
.
currentTimeMillis
()
-
(
rentDepositAutoRefundTime
*
60
*
60
*
1000
))
.
andLike
(
BaseOrder:
:
getId
,
"%"
+
i
)).
build
());
//处理自动退押金
//处理自动退
剩余
押金
for
(
BaseOrder
baseOrder
:
lists
)
{
OrderRentVehicleDetail
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
()
{{
setOrderId
(
baseOrder
.
getId
());
}});
//未退还, 进行保留违章预备金 的退还
if
(
RefundStatusEnum
.
NONE
.
getCode
().
equals
(
baseOrder
.
getRefundStatus
()))
{
OrderVehicleCrosstown
crosstown
=
crosstownBiz
.
selectOne
(
new
OrderVehicleCrosstown
(){{
setOrderId
(
baseOrder
.
getId
());
setType
(
CrosstownTypeEnum
.
TOUR
.
getCode
());
}});
BigDecimal
refundAmont
=
crosstown
.
getRestDeposit
().
subtract
(
illegalReserve
);
List
<
DedDetailDTO
>
dddList
=
JSONUtil
.
toBean
(
crosstown
.
getDedDetail
(),
List
.
class
);
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章预备金:"
+
illegalReserve
.
toString
();
for
(
DedDetailDTO
ddd
:
dddList
)
{
refundDesc
+=
", "
+
ddd
.
getDeductions
()+
":"
+
ddd
.
getCost
();
}
refundDesc
+=
")"
;
//退款子流程: 订单基础,退款描述,退款金额
baseOrderBiz
.
refundSubProcess
(
baseOrder
,
refundDesc
,
refundAmont
,
RefundTypeEnum
.
RentVehicle
.
getCode
(),
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
());
//设置剩余
}
else
if
(
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
().
equals
(
baseOrder
.
getRefundStatus
())){
//判断是否违章
//扣违章的钱
//baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont, RefundTypeEnum.RENT_VEHICLE.getCode(), RefundStatusEnum.RESIDUE_ILLEGAL.getCode());
}
// baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont);
OrderViolation
orderViolation
=
orderViolationBiz
.
selectOne
(
new
OrderViolation
(){{
setDetailId
(
orvd
.
getId
());
setIsDel
(
SYS_FALSE
);
}});
//还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal
refundAmont
=
orvd
.
getReturnPayResidue
().
subtract
(
orderViolation
.
getPrice
());
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章扣款:"
+
refundAmont
.
toString
();
// for(DedDetailDTO ddd : dddList) {
// refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
// }
refundDesc
+=
")"
;
orderRefundBiz
.
refundTrigger
(
baseOrder
,
orvd
,
refundAmont
,
refundAmont
,
refundDesc
,
RefundStatusEnum
.
REFUND_DEPOSIT
.
getCode
());
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mqhandler/RefundMQHandler.java
0 → 100644
View file @
b62a6bb5
package
com
.
xxfc
.
platform
.
order
.
mqhandler
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO
;
import
com.github.wxiaoqi.security.admin.dto.OrderWaterDTO
;
import
com.rabbitmq.client.Channel
;
import
com.xxfc.platform.order.biz.OrderRefundBiz
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.support.AmqpHeaders
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.messaging.handler.annotation.Headers
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
static
com
.
xxfc
.
platform
.
order
.
config
.
RabbitOrderConfig
.
ORDER_DEPOSIT_REFUND_QUEUE
;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
mq
.
OrderMQDTO
.*;
@Component
@Slf4j
public
class
RefundMQHandler
{
@Autowired
OrderRefundBiz
orderRefundBiz
;
/**
* 佣金
* @param
*/
@RabbitListener
(
queues
=
ORDER_DEPOSIT_REFUND_QUEUE
)
public
void
integralHandler
(
Message
message
,
@Headers
Map
<
String
,
Object
>
headers
,
Channel
channel
)
{
ExecutorService
executorService
=
Executors
.
newCachedThreadPool
();
executorService
.
execute
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
String
messageId
=
message
.
getMessageProperties
().
getMessageId
();
String
msg
=
new
String
(
message
.
getBody
(),
"UTF-8"
);
OrderMQDTO
orderMQDTO
=
JSONUtil
.
toBean
(
msg
,
OrderMQDTO
.
class
);
orderRefundBiz
.
refundDeposit
(
orderMQDTO
);
executorService
.
shutdown
();
Long
deliveryTag
=
(
Long
)
headers
.
get
(
AmqpHeaders
.
DELIVERY_TAG
);
// 手动签收
channel
.
basicAck
(
deliveryTag
,
false
);
}
catch
(
Exception
e
)
{
log
.
info
(
"接收到的消息失败"
);
try
{
channel
.
basicNack
(
message
.
getMessageProperties
().
getDeliveryTag
(),
false
,
false
);
}
catch
(
IOException
i
)
{
i
.
printStackTrace
();
}
e
.
printStackTrace
();
}
}
});
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
b62a6bb5
...
...
@@ -39,6 +39,7 @@ import java.math.BigDecimal;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
...
...
@@ -141,7 +142,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//如果有使用优惠券,则扣减
if
(
BigDecimal
.
ZERO
.
compareTo
(
bo
.
getOrder
().
getCouponAmount
())
<
0
)
{
activityFeign
.
use
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getTickerNo
()
.
get
(
0
)
,
bo
.
getOrder
().
getNo
(),
channel
,
bo
.
getOrder
().
getGoodsAmount
(),
ActivityFeign
.
TYPE_USE
);
activityFeign
.
use
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getTickerNo
(),
bo
.
getOrder
().
getNo
(),
channel
,
bo
.
getOrder
().
getGoodsAmount
(),
ActivityFeign
.
TYPE_USE
);
}
//获取可用车辆
...
...
@@ -245,9 +246,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//优惠券处理
//待完成
if
(
null
!=
detail
.
getTickerNo
()
&&
detail
.
getTickerNo
().
size
()
>
0
)
{
couponAmount
=
activityFeign
.
use
(
dto
.
getUserid
(),
detail
.
getTickerNo
()
.
get
(
0
)
,
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
couponAmount
=
activityFeign
.
use
(
dto
.
getUserid
(),
detail
.
getTickerNo
(),
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
get
(
0
));
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
stream
().
collect
(
Collectors
.
joining
(
","
)
));
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
b62a6bb5
...
...
@@ -140,7 +140,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//如果有使用优惠券,则扣减
if
(
BigDecimal
.
ZERO
.
compareTo
(
bo
.
getOrder
().
getCouponAmount
())
<
0
)
{
activityFeign
.
use
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getTickerNo
()
.
get
(
0
)
,
bo
.
getOrder
().
getNo
(),
channel
,
bo
.
getOrder
().
getGoodsAmount
(),
ActivityFeign
.
TYPE_USE
);
activityFeign
.
use
(
bo
.
getAppUserDTO
().
getUserid
(),
bo
.
getTickerNo
(),
bo
.
getOrder
().
getNo
(),
channel
,
bo
.
getOrder
().
getGoodsAmount
(),
ActivityFeign
.
TYPE_USE
);
}
super
.
handleDetail
(
bo
);
...
...
@@ -217,9 +217,10 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//优惠券处理
//待完成
if
(
null
!=
detail
.
getTickerNo
()
&&
detail
.
getTickerNo
().
size
()
>
0
)
{
couponAmount
=
activityFeign
.
use
(
dto
.
getUserid
(),
detail
.
getTickerNo
()
.
get
(
0
)
,
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
couponAmount
=
activityFeign
.
use
(
dto
.
getUserid
(),
detail
.
getTickerNo
(),
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
get
(
0
));
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
()
.
stream
().
collect
(
Collectors
.
joining
(
","
)));
}
}
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/constant/DictionaryKey.java
View file @
b62a6bb5
...
...
@@ -42,4 +42,9 @@ public class DictionaryKey {
* 支付价格减低
*/
public
static
final
String
PAY_DEMOTION
=
"PAY_DEMOTION"
;
/**
* 自动退款保留押金的时间(小时)
*/
public
static
final
String
RENT_DEPOSIT_AUTO_REFUND_TIME
=
"RENT_DEPOSIT_AUTO_REFUND_TIME"
;
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/UploadService.java
View file @
b62a6bb5
...
...
@@ -80,9 +80,11 @@ public class UploadService {
file
.
mkdirs
();
}
realFileRelPath
=
filePath
+
"/"
+
no
+
".jpg"
;
String
str
=
"/"
+
no
+
".jpg"
;
realFileRelPath
=
realFileRelPath
+
str
;
filePath
=
filePath
+
str
;
//将文件写入指定位置
ImgBase64Util
.
generateImage
(
imgFile
,
realFileRel
Path
);
ImgBase64Util
.
generateImage
(
imgFile
,
file
Path
);
realFileRelPath
=
xx_url
+
SystemConfig
.
XXMP_URL
+
realFileRelPath
;
return
realFileRelPath
;
}
...
...
xx-universal/xx-universal-server/src/main/resources/application.yml
View file @
b62a6bb5
...
...
@@ -9,7 +9,7 @@ servlet:
multipart
:
# 启用上传处理,默认是true
enabled
:
true
# 当上传文件达到
1
MB的时候进行磁盘写入
# 当上传文件达到
20
MB的时候进行磁盘写入
file-size-threshold
:
20MB
# 设置最大的请求文件的大小
max-request-size
:
50MB
...
...
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