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
c286e249
Commit
c286e249
authored
Oct 08, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform
into base-modify
parents
a6a5f9a4
8fd1d17c
Changes
59
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
59 changed files
with
1674 additions
and
161 deletions
+1674
-161
BaseUserMemberLevel.java
...ub/wxiaoqi/security/admin/entity/BaseUserMemberLevel.java
+11
-5
BaseUserMemberExportBiz.java
...b/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
+0
-2
UserMemberLevelBiz.java
...github/wxiaoqi/security/admin/biz/UserMemberLevelBiz.java
+8
-1
MemberLevelController.java
...ub/wxiaoqi/security/admin/rest/MemberLevelController.java
+4
-0
PublicController.java
.../github/wxiaoqi/security/admin/rest/PublicController.java
+22
-0
AppPermissionService.java
...aoqi/security/admin/rpc/service/AppPermissionService.java
+27
-15
OrderDetail.java
...ava/com/xxfc/platform/order/entity/inter/OrderDetail.java
+5
-0
OrderFeign.java
...c/main/java/com/xxfc/platform/order/feign/OrderFeign.java
+4
-0
CancelOrderDTO.java
...va/com/xxfc/platform/order/pojo/order/CancelOrderDTO.java
+3
-0
MemberBO.java
...ain/java/com/xxfc/platform/order/pojo/order/MemberBO.java
+1
-0
RentVehicleBO.java
...ava/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
+5
-0
AddMemberDTO.java
.../com/xxfc/platform/order/pojo/order/add/AddMemberDTO.java
+1
-4
AddOrderCommonDTO.java
...xxfc/platform/order/pojo/order/add/AddOrderCommonDTO.java
+2
-2
AddRentVehicleDTO.java
...xxfc/platform/order/pojo/order/add/AddRentVehicleDTO.java
+2
-4
AddTourDTO.java
...va/com/xxfc/platform/order/pojo/order/add/AddTourDTO.java
+1
-4
BgAddRentDTO.java
.../com/xxfc/platform/order/pojo/order/add/BgAddRentDTO.java
+12
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+2
-1
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+3
-1
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+9
-4
OrderMsgBiz.java
...n/java/com/xxfc/platform/order/biz/inner/OrderMsgBiz.java
+38
-5
OrderListBiz.java
...in/java/com/xxfc/platform/order/biz/rpc/OrderListBiz.java
+51
-0
RemindMsgJobHandler.java
...m/xxfc/platform/order/jobhandler/RemindMsgJobHandler.java
+1
-1
BaseOrderMapper.java
.../java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
+4
-0
BackStageOrderController.java
...om/xxfc/platform/order/rest/BackStageOrderController.java
+1
-3
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+21
-3
OrderMemberController.java
...a/com/xxfc/platform/order/rest/OrderMemberController.java
+3
-5
OrderRentVehicleController.java
.../xxfc/platform/order/rest/OrderRentVehicleController.java
+50
-32
OrderTourController.java
...ava/com/xxfc/platform/order/rest/OrderTourController.java
+3
-1
OrderListController.java
...c/platform/order/rest/background/OrderListController.java
+26
-0
AbstractOrderHandle.java
.../com/xxfc/platform/order/service/AbstractOrderHandle.java
+12
-8
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+5
-0
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+31
-1
SummitActivityBiz.java
...in/java/com/xxfc/platform/uccn/biz/SummitActivityBiz.java
+6
-0
pom.xml
xx-universal/xx-universal-api/pom.xml
+6
-0
BaseAuthentication.java
...a/com/xxfc/platform/universal/api/BaseAuthentication.java
+0
-14
FQAuthentication.java
...om/xxfc/platform/universal/api/impl/FQAuthentication.java
+0
-13
Authentication.java
.../com/xxfc/platform/universal/api/pojo/Authentication.java
+0
-4
HttpUtils.java
...ain/java/com/xxfc/platform/universal/utils/HttpUtils.java
+312
-0
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+18
-1
UserMessage.java
...ain/java/com/xxfc/platform/universal/biz/UserMessage.java
+13
-0
WeixinService.java
...n/java/com/xxfc/platform/universal/biz/WeixinService.java
+1
-0
UserInfoController.java
...xfc/platform/universal/controller/UserInfoController.java
+4
-1
CertificationService.java
...xxfc/platform/universal/service/CertificationService.java
+38
-18
UserAuthentication.java
...l/service/authenticationInterface/UserAuthentication.java
+18
-0
BJCYAuthentication.java
...vice/authenticationInterface/impl/BJCYAuthentication.java
+73
-0
XCFQAuthentication.java
...vice/authenticationInterface/impl/XCFQAuthentication.java
+91
-0
VehicleCountType.java
.../com/xxfc/platform/vehicle/constant/VehicleCountType.java
+62
-0
VehicleCountRecord.java
.../com/xxfc/platform/vehicle/entity/VehicleCountRecord.java
+81
-0
ExcelParamDto.java
...in/java/com/xxfc/platform/vehicle/pojo/ExcelParamDto.java
+12
-0
VehicleBookRecordVo.java
...a/com/xxfc/platform/vehicle/pojo/VehicleBookRecordVo.java
+3
-0
pom.xml
xx-vehicle/xx-vehicle-server/pom.xml
+5
-0
VehicleBookRecordBiz.java
...a/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
+24
-6
VehicleCountRecordBiz.java
.../com/xxfc/platform/vehicle/biz/VehicleCountRecordBiz.java
+430
-0
VehicleBookRecordMapper.java
...xxfc/platform/vehicle/mapper/VehicleBookRecordMapper.java
+3
-0
VehicleCountRecordMapper.java
...xfc/platform/vehicle/mapper/VehicleCountRecordMapper.java
+13
-0
VehicleCountRecordController.java
...c/platform/vehicle/rest/VehicleCountRecordController.java
+33
-0
generatorConfig.xml
...cle-server/src/main/resources/builder/generatorConfig.xml
+2
-2
VehicleBookRecordMapper.xml
...ver/src/main/resources/mapper/VehicleBookRecordMapper.xml
+20
-0
VehicleCountRecordMapper.xml
...er/src/main/resources/mapper/VehicleCountRecordMapper.xml
+38
-0
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/BaseUserMemberLevel.java
View file @
c286e249
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
entity
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* 会员等级表
...
...
@@ -76,5 +79,8 @@ public class BaseUserMemberLevel implements Serializable {
@ApiModelProperty
(
value
=
"赠送免费天数"
)
private
Integer
number
;
@Column
(
name
=
"big_icon"
)
@ApiModelProperty
(
value
=
"大图标"
)
private
String
bigIcon
;
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
View file @
c286e249
...
...
@@ -4,10 +4,8 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import
com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDataFindDTO
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMember
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.UserMemberLevel
;
import
com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper
;
import
com.github.wxiaoqi.security.admin.vo.BaseUserMemberExportVo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/UserMemberLevelBiz.java
View file @
c286e249
...
...
@@ -2,9 +2,9 @@ package com.github.wxiaoqi.security.admin.biz;
import
com.ace.cache.annotation.Cache
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.UserMemberLevel
;
import
com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
...
...
@@ -51,4 +51,11 @@ public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUs
}
return
levelAndDiscountMap
;
}
public
void
updateMemberBaseInfo
(
BaseUserMemberLevel
baseUserMemberLevel
)
{
int
affectRows
=
mapper
.
updateByPrimaryKeySelective
(
baseUserMemberLevel
);
if
(
affectRows
==
0
){
throw
new
BaseException
(
"更新会员等级失败"
);
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/MemberLevelController.java
View file @
c286e249
...
...
@@ -74,4 +74,8 @@ public class MemberLevelController extends BaseController<UserMemberLevelBiz, Ba
return
ObjectRestResponse
.
succ
();
}
@PutMapping
(
"/update"
)
public
void
updateMemberBaseInfo
(
@RequestBody
BaseUserMemberLevel
baseUserMemberLevel
){
getBaseBiz
().
updateMemberBaseInfo
(
baseUserMemberLevel
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/PublicController.java
View file @
c286e249
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.wxiaoqi.security.admin.biz.*
;
import
com.github.wxiaoqi.security.admin.entity.*
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
...
...
@@ -40,6 +41,10 @@ public class PublicController {
@Autowired
private
AppUserDetailBiz
detailBiz
;
@Autowired
private
AppUserLoginBiz
appUserLoginBiz
;
@Autowired
private
BaseUserMemberBiz
userMemberBiz
;
...
...
@@ -85,6 +90,23 @@ public class PublicController {
return
ObjectRestResponse
.
succ
(
getAppUserInfoById
(
id
));
}
@RequestMapping
(
value
=
"/app/userinfo-by-username"
,
method
=
RequestMethod
.
GET
)
public
@ResponseBody
ObjectRestResponse
<
AppUserDTO
>
userDetailByUsername
(
String
name
)
throws
Exception
{
AppUserLogin
appUserLogin
;
if
(
StrUtil
.
isBlank
(
name
))
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
,
new
HashSet
<
String
>()
{{
add
(
"用户名不存在!"
);}});
}
else
{
appUserLogin
=
appUserLoginBiz
.
selectOne
(
new
AppUserLogin
(){{
setUsername
(
name
);}});
if
(
null
==
appUserLogin
)
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
,
new
HashSet
<
String
>()
{{
add
(
"用户名不存在!"
);}});
}
}
return
ObjectRestResponse
.
succ
(
getAppUserInfoById
(
appUserLogin
.
getId
()));
}
private
AppUserDTO
getAppUserInfoById
(
Integer
userid
)
throws
IllegalAccessException
,
InvocationTargetException
{
AppUserDTO
userDTO
=
new
AppUserDTO
();
//获取用户基础信息
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/service/AppPermissionService.java
View file @
c286e249
...
...
@@ -239,7 +239,7 @@ public class AppPermissionService {
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
public
JSONObject
register
(
String
username
,
String
password
,
String
headimgurl
,
String
nickname
,
String
mobilecode
,
String
openId
,
String
unionid
,
Integer
type
,
String
code
)
{
log
.
info
(
"register------code====="
+
code
);
log
.
info
(
"register------code====="
+
code
+
"----开始进入方法---time===="
+
System
.
currentTimeMillis
()/
1000L
);
String
activityCode
=
null
;
// 判断参数和验证码
if
(
StringUtils
.
isBlank
(
username
)
||
StringUtils
.
isBlank
(
password
)
||
StringUtils
.
isBlank
(
mobilecode
))
{
...
...
@@ -247,7 +247,7 @@ public class AppPermissionService {
}
String
redisLockKey
=
RedisKey
.
CONSTANT_CODE_PREFIX
+
username
+
mobilecode
;
String
mobilecodeRedis
=
userRedisTemplate
.
opsForValue
().
get
(
redisLockKey
)
==
null
?
""
:
userRedisTemplate
.
opsForValue
().
get
(
redisLockKey
).
toString
();
log
.
error
(
"注册接口,获取redis中的验证码:"
+
mobilecodeRedis
);
log
.
info
(
"注册接口,获取redis中的验证码:"
+
mobilecodeRedis
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
// 获取到缓存的验证码后要先清空缓存对应键的值
userRedisTemplate
.
delete
(
redisLockKey
);
if
(
StringUtils
.
isBlank
(
mobilecodeRedis
))
{
...
...
@@ -282,7 +282,7 @@ public class AppPermissionService {
appUserLogin
.
setUpdatetime
(
now
);
appUserLoginBiz
.
insertSelective
(
appUserLogin
);
Integer
userid
=
appUserLogin
.
getId
();
log
.
error
(
"注册:新增登陆用户信息: "
+
userid
);
log
.
info
(
"注册:新增登陆用户信息: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
// 新增用户详情
AppUserDetail
rsUserDetail
=
new
AppUserDetail
();
rsUserDetail
.
setUserid
(
userid
);
...
...
@@ -292,7 +292,9 @@ public class AppPermissionService {
rsUserDetail
.
setUpdatetime
(
now
);
rsUserDetail
.
setIsdel
(
0
);
rsUserDetail
.
setCrtHost
(
getIp
());
setCreateIPInfo
(
rsUserDetail
);
//setCreateIPInfo(rsUserDetail);
log
.
info
(
"注册:解析地址后: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
//邀请人id关系绑定
Integer
parentId
=
0
;
if
(
StringUtils
.
isNotBlank
(
code
)){
...
...
@@ -314,21 +316,27 @@ public class AppPermissionService {
//生成邀请码 长度改为8 不然重复率太高
rsUserDetail
.
setCode
(
ReferralCodeUtil
.
encode
(
userid
));
appUserDetailBiz
.
insertSelective
(
rsUserDetail
);
log
.
error
(
"注册:新增用户详情: "
+
userid
);
log
.
info
(
"注册:新增用户详情: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
/* //绑定上下线关系
if(parentId!=null&&parentId>0){
relationBiz.bindRelation(userid,parentId,1);
}*/
//临时会员绑定
insertUserMemberByUserIdAndPhone
(
userid
,
username
);
log
.
info
(
"注册:临时会员绑定: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
//参加新人活动
jionActivity
(
userid
);
log
.
info
(
"注册:参加新人活动: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
//创建钱包
walletBiz
.
createWalletByUserId
(
appUserLogin
.
getId
());
log
.
info
(
"注册:创建钱包: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
// 登录结果要做做统一处理
JSONObject
data
=
autoLogin
(
userid
,
username
,
headimgurl
,
nickname
,
code
,
activityCode
,
1
);
log
.
info
(
"注册:登录结果要做做统一处理: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
// 到im注册,获取返回结果
Map
<
String
,
Object
>
map
=
registerIm
(
username
,
appUserLogin
.
getPassword
(),
nickname
);
log
.
info
(
"注册:到im注册: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
if
(
map
!=
null
)
{
Integer
imUserId
=
Integer
.
parseInt
(
map
.
get
(
"userId"
).
toString
());
//String access_token=map.get("access_token").toString();
...
...
@@ -345,6 +353,7 @@ public class AppPermissionService {
//data.put("imToken",access_token);
data
.
put
(
"imUserId"
,
imUserId
);
}
log
.
info
(
"注册:处理im账号: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
if
(
data
!=
null
)
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"userId"
,
userid
);
...
...
@@ -352,6 +361,7 @@ public class AppPermissionService {
log
.
info
(
"注册成功获取积分:发送消息 exchange = {}, routingKey = {}, json = {}"
,
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
mqSenderFeign
.
sendMessage
(
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
sendQueue
(
username
,
password
,
headimgurl
,
nickname
,
mobilecode
,
openId
,
unionid
,
type
,
code
,
activityCode
,
userid
,
RegisterQueueDTO
.
SIGN_NEW
);
log
.
info
(
"注册:发消息队列: "
+
userid
+
"---time===="
+
System
.
currentTimeMillis
()/
1000L
);
return
JsonResultUtil
.
createSuccessResultWithObj
(
data
);
}
else
{
return
JsonResultUtil
.
createDefaultFail
();
...
...
@@ -535,7 +545,7 @@ public class AppPermissionService {
userDetail
.
setUpdatetime
(
now
);
userDetail
.
setIsdel
(
0
);
userDetail
.
setCrtHost
(
getIp
());
setCreateIPInfo
(
userDetail
);
//
setCreateIPInfo(userDetail);
appUserDetailBiz
.
insertSelective
(
userDetail
);
}
/*else {
...
...
@@ -949,7 +959,7 @@ public class AppPermissionService {
//设置来源
rsUserDetail
.
setChannel
(
UserSourceEnum
.
APPLET
.
getCode
());
rsUserDetail
.
setCrtHost
(
getIp
());
setCreateIPInfo
(
rsUserDetail
);
//
setCreateIPInfo(rsUserDetail);
rsUserDetail
.
setState
(
1
);
appUserDetailBiz
.
insertSelective
(
rsUserDetail
);
log
.
error
(
"注册:新增用户详情: "
+
userid
);
...
...
@@ -1083,7 +1093,7 @@ public class AppPermissionService {
public
void
setCreateIPInfo
(
AppUserDetail
appUserDetail
)
{
String
crtHost
=
appUserDetail
.
getCrtHost
();
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"解析的地址:【{}】"
,
crtHost
);
log
.
debug
(
"解析的地址:【{}】"
,
crtHost
+
"---time==="
+
System
.
currentTimeMillis
()/
1000L
);
}
try
{
analyticalIPByWebSiteAndIPAddress
(
IPAddress
.
BASE_IP_PARSING_URL2
,
crtHost
,
appUserDetail
);
...
...
@@ -1100,10 +1110,12 @@ public class AppPermissionService {
private
void
analyticalIPByWebSiteAndIPAddress
(
String
url
,
String
crtHost
,
AppUserDetail
appUserDetail
)
{
String
ipAddress
=
restTemplate
.
getForObject
(
String
.
format
(
"%s%s"
,
url
,
crtHost
),
String
.
class
);
log
.
debug
(
"解析的调用网站后:【{}】"
,
crtHost
+
"---time==="
+
System
.
currentTimeMillis
()/
1000L
);
String
data
=
JSONObject
.
parseObject
(
ipAddress
).
getString
(
IPAddress
.
BASE_DATA
);
JSONObject
ipJsonObject
=
JSONObject
.
parseObject
(
data
);
String
cityName
=
ipJsonObject
.
getString
(
IPAddress
.
CITY_NAME
);
RegionDTO
regionDTO
=
regionFeign
.
getRegionByCityName
(
StringUtils
.
isEmpty
(
cityName
)
?
"东莞"
:
cityName
);
log
.
debug
(
"解析的调用服务后:【{}】"
,
crtHost
+
"---time==="
+
System
.
currentTimeMillis
()/
1000L
);
if
(
null
!=
regionDTO
)
{
appUserDetail
.
setProvinceCode
(
Integer
.
valueOf
(
String
.
valueOf
(
regionDTO
.
getParentId
())));
appUserDetail
.
setCityCode
(
Integer
.
valueOf
(
String
.
valueOf
(
regionDTO
.
getId
())));
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/inter/OrderDetail.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
entity
.
inter
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderItem
;
...
...
@@ -28,4 +29,8 @@ public interface OrderDetail extends OrderItemInter {
void
setTickerNo
(
List
<
String
>
tickerNo
);
public
AppUserDTO
getAppUserDTO
();
public
void
setAppUserDTO
(
AppUserDTO
appUserDTO
);
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/feign/OrderFeign.java
View file @
c286e249
...
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.order.feign;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.vo.GoodDataVO
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.pojo.*
;
...
...
@@ -21,4 +22,7 @@ import java.util.Set;
public
interface
OrderFeign
{
@GetMapping
(
"/baseOrder/count"
)
public
ObjectRestResponse
<
Integer
>
baseOrderCount
(
@RequestParam
(
"hasMemberRight"
)
Integer
hasMemberRight
,
@RequestParam
(
"multiStatus"
)
String
multiStatus
,
@RequestParam
(
"multiTypes"
)
String
multiTypes
,
@RequestParam
(
"userId"
)
Integer
userId
);
@GetMapping
(
"/count/list"
)
public
ObjectRestResponse
<
List
<
OrderPageVO
>>
getOrderList
(
@RequestParam
(
"dateTime"
)
Long
dateTime
,
@RequestParam
(
"type"
)
Integer
type
,
@RequestParam
(
"status"
)
Integer
status
);
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/CancelOrderDTO.java
View file @
c286e249
...
...
@@ -7,4 +7,7 @@ import lombok.Data;
public
class
CancelOrderDTO
{
@ApiModelProperty
(
value
=
"取消原因"
)
private
String
cancelReason
;
@ApiModelProperty
(
value
=
"app用户id"
)
private
String
appUserId
;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/MemberBO.java
View file @
c286e249
...
...
@@ -19,6 +19,7 @@ import java.util.List;
public
class
MemberBO
extends
OrderMemberDetail
implements
OrderDetail
{
private
BaseOrder
order
;
private
BaseUserMemberLevel
baseUserMemberLevel
;
AppUserDTO
appUserDTO
;
/**
* 下单来源,1--app;2--小程序
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/RentVehicleBO.java
View file @
c286e249
...
...
@@ -42,4 +42,9 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
@ApiModelProperty
(
value
=
"随车物品"
,
hidden
=
true
)
private
List
<
OrderAccompanyDTO
>
accompanyItems
;
/**
* 创建用户 -1+后台用户id 后台系统
*/
String
crtUser
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddMemberDTO.java
→
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/
order/add/
AddMemberDTO.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
pojo
;
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
.
add
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
java.time.format.DateTimeFormatter
;
@Data
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddOrderCommonDTO.java
→
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/
order/add/
AddOrderCommonDTO.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
pojo
;
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
.
add
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -8,7 +8,7 @@ public class AddOrderCommonDTO {
/**
*
*/
@ApiModelProperty
(
value
=
"下单来源,1--app;2--小程序"
)
@ApiModelProperty
(
value
=
"下单来源,1--app;2--小程序
;3--后台
"
)
private
Integer
orderOrigin
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
→
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/
order/add/
AddRentVehicleDTO.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
pojo
;
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
.
add
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeItem
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddTourDTO.java
→
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/
order/add/
AddTourDTO.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
pojo
;
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
.
add
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
@Data
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/add/BgAddRentDTO.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
.
add
;
import
lombok.Data
;
@Data
public
class
BgAddRentDTO
extends
AddRentVehicleDTO
{
/**
* 用户订单
*/
Integer
appUserId
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
c286e249
...
...
@@ -632,7 +632,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
public
Query
initQuery
(
String
no
)
{
QueryOrderDetailDTO
qodd
=
new
QueryOrderDetailDTO
();
qodd
.
setCrtUser
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
//qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd
.
setUserId
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
qodd
.
setNo
(
no
);
qodd
.
setLimit
(
1
);
qodd
.
setPage
(
1
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
c286e249
...
...
@@ -443,12 +443,14 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
csv
.
initParamJson
();
//设置明细
orderRentVehicleBiz
.
updateSelectiveById
(
new
OrderRentVehicleDetail
(){{
orderRentVehicleBiz
.
updateSelectiveById
Re
(
new
OrderRentVehicleDetail
(){{
setId
(
orderMQDTO
.
getDetailId
());
handelCostDetailExtend
(
csv
);
setBackFreeDays
(
inProgressVO
.
getBackFreeDays
());
}});
orderMQDTO
.
setOrderRentVehicleDetail
(
orderRentVehicleBiz
.
selectById
(
orderMQDTO
.
getDetailId
()));
//捕捉异常
try
{
orderMsgBiz
.
handelMsgDeposit
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
orderMQDTO
,
userFeign
.
userDetailById
(
orderMQDTO
.
getUserId
()).
getData
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
c286e249
...
...
@@ -13,6 +13,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.user.UserInfoBiz
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
import
com.xxfc.platform.order.biz.inner.OrderMsgBiz
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.DepositRefundStatus
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
...
...
@@ -73,6 +74,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BaseOrderBiz
baseOrderBiz
;
@Autowired
OrderItemBiz
orderItemBiz
;
@Autowired
OrderMsgBiz
orderMsgBiz
;
public
OrderVehicleCrosstown
get
(
Integer
id
)
{
return
selectById
(
id
);
...
...
@@ -287,12 +290,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
BeanUtil
.
copyProperties
(
orderVehicleCrosstownDto
,
oldValue
.
get
(
0
),
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
getOrderLicense
(
orderVehicleCrosstownDto
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
oldValue
.
get
(
0
));
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
oldValue
.
get
(
0
)
,
appUserDTO
);
updateSelectiveByIdRe
(
oldValue
.
get
(
0
));
RestResponse
<
Vehicle
>
response
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
if
(
response
.
getData
()
!=
null
)
{
orderVehicleCrosstownDto
.
setVehicleNumberPlat
(
response
.
getData
().
getNumberPlate
());
}
return
ObjectRestResponse
.
succ
(
oldValue
.
get
(
0
));
}
else
if
(
oldValue
.
size
()
<=
0
)
{
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
...
...
@@ -304,7 +308,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
getOrderLicense
(
orderVehicleCrosstownDto
);
orderVehicleCrosstownBiz
.
insertSelective
(
orderVehicleCrosstownDto
);
OrderVehicleCrosstown
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectOne
(
orderVehicleCrosstownDto
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
orderVehicleCrosstown
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
orderVehicleCrosstown
,
appUserDTO
);
orderVehicleCrosstownBiz
.
updateSelectiveByIdRe
(
orderVehicleCrosstown
);
RestResponse
<
Vehicle
>
response
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
if
(
response
.
getData
()
!=
null
)
{
...
...
@@ -312,15 +316,16 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
return
ObjectRestResponse
.
succ
(
orderVehicleCrosstownDto
);
}
return
ObjectRestResponse
.
createDefaultFail
();
}
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
OrderVehicleCrosstown
orderVehicleCrosstown
)
{
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
OrderVehicleCrosstown
orderVehicleCrosstown
,
AppUserDTO
appUserDTO
)
{
//交车完成 设置订单状态为出行中
BigDecimal
totalAmount
=
orderRentVehicleDetail
.
getDeposit
();
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
())
{
//交车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
orderMsgBiz
.
handelMsgWait
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
appUserDTO
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
//添加非定损记录
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderMsgBiz.java
View file @
c286e249
...
...
@@ -235,8 +235,8 @@ public class OrderMsgBiz {
sms2BgUser
(
startCompanyDetail
.
getVehiceServicePhone
(),
startCompanyDetail
,
endCompanyDetail
,
orvd
,
otd
,
baseOrder
,
appUserDTO
,
SmsTemplateDTO
.
PAY_D
,
smsParams
);
//后台发送消息(收车人)
smsParams
.
clear
();
sms2BgUser
(
endCompanyDetail
.
getVehiceServicePhone
(),
startCompanyDetail
,
endCompanyDetail
,
orvd
,
otd
,
baseOrder
,
appUserDTO
,
SmsTemplateDTO
.
PAY_E
,
smsParams
);
//
smsParams.clear();
//
sms2BgUser(endCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_E, smsParams);
}
else
{
log
.
error
(
"通知短信异常,开始公司id 不存在或者为0 订单号:{}"
,
baseOrder
.
getId
());
...
...
@@ -338,7 +338,7 @@ public class OrderMsgBiz {
}
/**
*
取消订单处理
提醒短信的发送
*
订单出发提前
提醒短信的发送
* @param orvd
* @param baseOrder
* @param appUserDTO
...
...
@@ -371,6 +371,39 @@ public class OrderMsgBiz {
}
}
/**
* 订单出发后提醒短信的发送
* @param orvd
* @param baseOrder
* @param appUserDTO
*/
public
void
handelMsgWait
(
OrderRentVehicleDetail
orvd
,
OrderTourDetail
otd
,
OrderMemberDetail
omd
,
BaseOrder
baseOrder
,
AppUserDTO
appUserDTO
)
{
try
{
OrderTypeEnum
orderTypeEnum
=
OrderTypeEnum
.
codeAndDesc
.
get
(
baseOrder
.
getType
());
List
<
String
>
smsParams
=
new
ArrayList
<
String
>();
switch
(
orderTypeEnum
)
{
case
RENT_VEHICLE:
CompanyDetail
startCompanyDetail
=
vehicleFeign
.
getCompanyDetail
(
orvd
.
getStartCompanyId
()).
getData
();
CompanyDetail
endCompanyDetail
=
vehicleFeign
.
getCompanyDetail
(
orvd
.
getEndCompanyId
()).
getData
();
if
(
null
!=
orvd
.
getEndCompanyId
()
&&
!
SYS_FALSE
.
equals
(
orvd
.
getEndCompanyId
()))
{
//后台发送消息(收车人)
sms2BgUser
(
endCompanyDetail
.
getVehiceServicePhone
(),
startCompanyDetail
,
endCompanyDetail
,
orvd
,
otd
,
baseOrder
,
appUserDTO
,
SmsTemplateDTO
.
PAY_E
,
smsParams
);
}
else
{
log
.
error
(
"通知后台客户短信异常,结束公司id 不存在或者为0 订单号:{}"
,
baseOrder
.
getId
());
}
break
;
case
TOUR:
break
;
case
MEMBER:
break
;
default
:
break
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
/**
* 订单完成后处理押金提醒短信的发送
* @param baseOrder
...
...
@@ -616,8 +649,8 @@ public class OrderMsgBiz {
case
SmsTemplateDTO
.
PAY_E
:
smsParams
.
add
(
appUserDTO
.
getRealname
());
smsParams
.
add
(
appUserDTO
.
getUsername
());
smsParams
.
add
(
DateUtil
.
formatDateTime
(
DateUtil
.
date
(
orvd
.
get
Start
Time
())));
smsParams
.
add
(
s
Company
.
getName
());
smsParams
.
add
(
DateUtil
.
formatDateTime
(
DateUtil
.
date
(
orvd
.
get
End
Time
())));
smsParams
.
add
(
e
Company
.
getName
());
smsParams
.
add
(
baseOrder
.
getName
());
break
;
case
SmsTemplateDTO
.
CANCEL_E
:
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/rpc/OrderListBiz.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
biz
.
rpc
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.mapper.BaseOrderMapper
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.TimeZone
;
@Service
public
class
OrderListBiz
extends
BaseBiz
<
BaseOrderMapper
,
BaseOrder
>
{
/**
*
* @param dateTime 筛选的时间
* @param type 筛选的类型, 1,租车,2,旅游
* @return
*/
public
ObjectRestResponse
<
List
<
OrderPageVO
>>
getOrderList
(
Long
dateTime
,
Integer
type
,
Integer
status
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
dateTime
!=
null
)
{
map
.
put
(
"startTime"
,
getDayStart
(
dateTime
));
map
.
put
(
"endTime"
,
getDayStart
(
dateTime
)
+
3600
*
24
*
1000
);
}
map
.
put
(
"status"
,
status
);
if
(
type
==
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
())
{
//租车
List
<
OrderPageVO
>
list
=
mapper
.
selectAllRentVehicleOrder
(
map
);
return
ObjectRestResponse
.
succ
(
list
);
}
else
if
(
type
==
OrderTypeEnum
.
TOUR
.
getCode
())
{
List
<
OrderPageVO
>
list
=
mapper
.
selectAllTourOrder
(
map
);
return
ObjectRestResponse
.
succ
(
list
);
}
else
{
return
ObjectRestResponse
.
succ
();
}
}
public
static
Long
getDayStart
(
Long
datetime
)
{
long
current
=
datetime
;
long
zero
=
current
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
();
return
zero
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/RemindMsgJobHandler.java
View file @
c286e249
...
...
@@ -33,7 +33,7 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.*;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
/**
*
跨平台Http任务
*
订单出车短信提前提醒
*
* @author xuxueli 2018-09-16 03:48:34
*/
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
View file @
c286e249
...
...
@@ -28,4 +28,8 @@ public interface BaseOrderMapper extends Mapper<BaseOrder> {
public
OrderPageVO
getOrderDetail
(
String
no
);
public
List
<
OrderPageVO
>
selectAllRentVehicleOrder
(
Map
<
String
,
Object
>
paramMap
);
public
List
<
OrderPageVO
>
selectAllTourOrder
(
Map
<
String
,
Object
>
paramMap
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BackStageOrderController.java
View file @
c286e249
...
...
@@ -37,7 +37,6 @@ import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.BookVehicleVO
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.QueryMultiDTO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.Data
;
...
...
@@ -49,14 +48,13 @@ import org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.lang.reflect.Array
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
AddRentVehicleDTO
.
DEFAULT_DATE_TIME_FORMATTER
;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
order
.
add
.
AddRentVehicleDTO
.
DEFAULT_DATE_TIME_FORMATTER
;
@Controller
@RequestMapping
(
"baseOrder"
)
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
c286e249
...
...
@@ -149,7 +149,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
dto
.
setCrtUser
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
//dto.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
dto
.
setUserId
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
Query
query
=
new
Query
(
dto
);
PageDataVO
<
OrderPageVO
>
pages
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
pageByParm
(
query
.
getSuper
()));
pages
.
getData
().
parallelStream
().
forEach
(
data
->
data
.
setQrcodeStr
(
qrcodePrefix
));
...
...
@@ -248,16 +249,33 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
cancelCommon
(
no
,
cancelOrderDto
,
BaseContextHandler
.
getUserID
());
return
ObjectRestResponse
.
succ
();
}
@RequestMapping
(
value
=
"/back-stage/cancel/{no}"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"取消订单"
)
@IgnoreClientToken
public
ObjectRestResponse
bgCancel
(
@PathVariable
String
no
,
@RequestBody
CancelOrderDTO
cancelOrderDto
)
{
//查询列表数据
if
(
StringUtils
.
isBlank
(
cancelOrderDto
.
getAppUserId
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
cancelCommon
(
no
,
cancelOrderDto
,
cancelOrderDto
.
getAppUserId
());
return
ObjectRestResponse
.
succ
();
}
private
void
cancelCommon
(
String
no
,
CancelOrderDTO
cancelOrderDto
,
String
userId
)
{
BaseOrder
dbBaseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
()
{{
setNo
(
no
);
}});
if
(
null
==
dbBaseOrder
||
!
BaseContextHandler
.
getUserID
()
.
equals
(
dbBaseOrder
.
getUserId
().
toString
()))
{
if
(
null
==
dbBaseOrder
||
!
userId
.
equals
(
dbBaseOrder
.
getUserId
().
toString
()))
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
dbBaseOrder
.
setCancelReason
(
cancelOrderDto
.
getCancelReason
());
orderCancelBiz
.
cancel
(
dbBaseOrder
);
return
ObjectRestResponse
.
succ
();
}
@RequestMapping
(
value
=
"/app/unauth/notifyUrl"
,
method
=
RequestMethod
.
GET
)
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderMemberController.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
rest
;
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.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.order.biz.OrderMemberDetailBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderMemberDetail
;
import
com.xxfc.platform.order.pojo.AddMemberDTO
;
import
com.xxfc.platform.order.pojo.AddTourDTO
;
import
com.xxfc.platform.order.pojo.order.add.AddMemberDTO
;
import
com.xxfc.platform.order.pojo.order.MemberBO
;
import
com.xxfc.platform.order.pojo.order.TourBO
;
import
com.xxfc.platform.order.service.OrderMemberService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -49,6 +46,7 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,O
// bo.setMemberLevelId(bo.getBaseUserMemberLevel().getId());
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
//查询优惠券
orderMemberService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRentVehicleController.java
View file @
c286e249
...
...
@@ -13,8 +13,9 @@ import com.xxfc.platform.order.biz.BaseOrderBiz;
import
com.xxfc.platform.order.biz.OrderRentVehicleBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.pojo.AddRentVehicleDTO
;
import
com.xxfc.platform.order.pojo.
order.add.
AddRentVehicleDTO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.order.add.BgAddRentDTO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.order.service.OrderRentVehicleService
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
...
...
@@ -59,6 +60,25 @@ public class OrderRentVehicleController extends CommonBaseController {
@ResponseBody
@ApiOperation
(
value
=
"确认租车订单"
)
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
AddRentVehicleDTO
vo
){
RentVehicleBO
bo
=
initRentVehicleBO
(
vo
);
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
orderRentVehicleService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
}
@RequestMapping
(
value
=
"back-stage/add"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"后台人员为客户下租车订单"
)
public
ObjectRestResponse
<
BaseOrder
>
backStagedd
(
@RequestBody
BgAddRentDTO
dto
){
RentVehicleBO
bo
=
initRentVehicleBO
(
dto
);
bo
.
setAppUserDTO
(
userFeign
.
userDetailById
(
dto
.
getAppUserId
()).
getData
());
bo
.
setCrtUser
(
"-1"
+
BaseContextHandler
.
getUserID
());
orderRentVehicleService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
}
private
RentVehicleBO
initRentVehicleBO
(
@RequestBody
AddRentVehicleDTO
vo
)
{
if
(
null
==
vo
.
getEndCompanyId
()
||
vo
.
getEndCompanyId
().
equals
(
0
))
{
if
(
StrUtil
.
isBlank
(
vo
.
getEndAddr
()))
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
Sets
.
newSet
(
"公司参数不正确"
));
...
...
@@ -92,12 +112,10 @@ public class OrderRentVehicleController extends CommonBaseController {
setBookStartDate
(
vo
.
getBookStartDate
());
setBookEndDate
(
vo
.
getBookEndDate
());
}});
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
bo
.
setTickerNo
(
StrUtil
.
isNotBlank
(
vo
.
getTickerNos
())?
StrUtil
.
splitTrim
(
vo
.
getTickerNos
(),
","
):
null
);
bo
.
setAccompanyItems
(
vo
.
getAccompanyItems
());
orderRentVehicleService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
return
bo
;
}
@RequestMapping
(
value
=
"list-by-order/{orderId}"
,
method
=
RequestMethod
.
GET
)
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderTourController.java
View file @
c286e249
...
...
@@ -7,12 +7,13 @@ import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.order.biz.OrderTourDetailBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderTourDetail
;
import
com.xxfc.platform.order.pojo.AddTourDTO
;
import
com.xxfc.platform.order.pojo.
order.add.
AddTourDTO
;
import
com.xxfc.platform.order.pojo.order.TourBO
;
import
com.xxfc.platform.order.pojo.price.TourPriceVO
;
import
com.xxfc.platform.order.service.OrderTourService
;
...
...
@@ -58,6 +59,7 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order
@ApiOperation
(
value
=
"确认旅游订单"
)
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
AddTourDTO
vo
){
TourBO
bo
=
BeanUtil
.
toBean
(
vo
,
TourBO
.
class
);
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
bo
.
setTickerNo
(
StrUtil
.
isNotBlank
(
vo
.
getTickerNos
())?
Arrays
.
asList
(
vo
.
getTickerNos
().
split
(
","
)):
null
);
orderTourService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderListController.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.biz.rpc.OrderListBiz
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@RestController
@RequestMapping
(
value
=
"/count"
)
public
class
OrderListController
{
@Autowired
OrderListBiz
orderListBiz
;
@GetMapping
(
"/list"
)
public
ObjectRestResponse
<
List
<
OrderPageVO
>>
getOrderList
(
@RequestParam
(
"dateTime"
)
Long
dateTime
,
@RequestParam
(
"type"
)
Integer
type
,
@RequestParam
(
"status"
)
Integer
status
)
{
return
orderListBiz
.
getOrderList
(
dateTime
,
type
,
status
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/AbstractOrderHandle.java
View file @
c286e249
package
com
.
xxfc
.
platform
.
order
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
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.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
...
...
@@ -64,7 +66,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
* 创建基础订单
* @return
*/
public
BaseOrder
createBaseOrder
(
Integer
orderOrigin
)
{
public
BaseOrder
createBaseOrder
(
Integer
orderOrigin
,
AppUserDTO
appUserDTO
)
{
BaseOrder
baseOrder
=
new
BaseOrder
();
//设置下单来源
...
...
@@ -85,13 +87,14 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
baseOrder
.
setVersion
(
VERSION_INITIAL
);
//设置用户id
baseOrder
.
setUserId
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()
));
baseOrder
.
setMemberLevel
(
getAppUser
()
.
getMemberLevel
());
baseOrder
.
setUserId
(
appUserDTO
.
getUserid
(
));
baseOrder
.
setMemberLevel
(
appUserDTO
.
getMemberLevel
());
return
baseOrder
;
}
public
void
initDetail
(
Detail
detail
)
{
BaseOrder
order
=
createBaseOrder
(
detail
.
getOrderOrigin
());
// Integer appUserId = (null == detail.getAppUserDTO())? Integer.valueOf(BaseContextHandler.getUserID()): detail.getAppUserDTO().getUserid();
BaseOrder
order
=
createBaseOrder
(
detail
.
getOrderOrigin
(),
detail
.
getAppUserDTO
());
detail
.
setOrder
(
order
);
}
...
...
@@ -118,10 +121,11 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
detail
.
setOrderId
(
detail
.
getOrder
().
getId
());
detailBiz
.
insertSelective
(
detail
);
detail
.
getOrder
().
setDetailId
(
detail
.
getId
());
int
updateResult
=
baseOrderBiz
.
updateSelectiveByIdRe
(
detail
.
getOrder
());
if
(
updateResult
>
0
)
{
detail
.
getOrder
().
setVersion
(
detail
.
getOrder
().
getVersion
()
+
1
);
}
// int updateResult =baseOrderBiz.updateSelectiveByIdRe(detail.getOrder());
// if(updateResult > 0) {
// detail.getOrder().setVersion(detail.getOrder().getVersion() + 1);
// }
detail
.
setOrder
(
baseOrderBiz
.
updateSelectiveByIdReT
(
detail
.
getOrder
()));
//插入item
if
(
null
!=
detail
.
getItems
()
&&
detail
.
getItems
().
size
()
>
0
)
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
c286e249
...
...
@@ -196,6 +196,11 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
accompanyItem
.
setOrderId
(
bo
.
getOrder
().
getId
());
orderItemBiz
.
insertSelective
(
accompanyItem
);
//设置后台系统创建人
if
(
StrUtil
.
isNotBlank
(
bo
.
getCrtUser
()))
{
bo
.
getOrder
().
setCrtUser
(
bo
.
getCrtUser
());
}
super
.
handleDetail
(
bo
);
//发送定时取消订单(数据字典设置--5分钟)
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
c286e249
...
...
@@ -75,6 +75,9 @@
<if
test=
"crtUser != null"
>
and crt_user = #{crtUser}
</if>
<if
test=
"userId != null"
>
and user_id = #{userId}
</if>
<if
test=
"crtCompanyId != null"
>
and crt_company_id = #{crtCompanyId}
</if>
...
...
@@ -205,10 +208,16 @@
and r.end_time between #{startTime} and #{endTime}
</if>
<if
test=
"companyIds != null and companyIds.size > 0"
>
and r.start_company_id in
and (r.start_company_id in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
or
r.end_company_id in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
)
</if>
<if
test=
"status == 4"
>
order by r.start_time
...
...
@@ -248,5 +257,26 @@
where no = #{no}
</select>
<select
id=
"selectAllRentVehicleOrder"
parameterType=
"Map"
resultMap=
"orderPageMap"
>
select b.*
from base_order b
LEFT JOIN order_rent_vehicle_detail r on r.order_id = b.id
where b.type = 2 and b.status
>
= 4
<if
test=
"startTime != null and status == 1"
>
and r.start_time between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and status == 2"
>
and r.start_time between #{startTime} and #{endTime}
</if>
</select>
<select
id=
"selectAllTourOrder"
parameterType=
"Map"
resultMap=
"orderPageMap"
>
select b.*
from base_order b
LEFT JOIN order_tour_detail r on r.order_id = b.id
where b.type = 2 and b.status
>
= 4
<if
test=
"startTime != null"
>
and r.start_time between #{startTime} and #{endTime}
</if>
</select>
</mapper>
\ No newline at end of file
xx-uccn/xx-uccn-server/src/main/java/com/xxfc/platform/uccn/biz/SummitActivityBiz.java
View file @
c286e249
...
...
@@ -113,6 +113,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
public
void
publishSummitActivityById
(
Integer
id
,
Integer
state
)
{
SummitActivity
summitActivity
=
new
SummitActivity
();
summitActivity
.
setIsPublish
(
state
);
summitActivity
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
summitActivity
.
setId
(
id
);
mapper
.
updateByPrimaryKeySelective
(
summitActivity
);
}
...
...
@@ -121,6 +122,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity
summitActivity
=
new
SummitActivity
();
summitActivity
.
setIsShow
(
state
);
summitActivity
.
setId
(
id
);
summitActivity
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
updateByPrimaryKeySelective
(
summitActivity
);
}
...
...
@@ -128,6 +130,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity
summitActivity
=
new
SummitActivity
();
summitActivity
.
setIsHomePage
(
state
);
summitActivity
.
setId
(
id
);
summitActivity
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
updateByPrimaryKeySelective
(
summitActivity
);
}
...
...
@@ -135,6 +138,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity
summitActivity
=
new
SummitActivity
();
summitActivity
.
setIsOpenReg
(
state
);
summitActivity
.
setId
(
id
);
summitActivity
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
updateByPrimaryKeySelective
(
summitActivity
);
}
...
...
@@ -142,6 +146,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity
summitActivity
=
new
SummitActivity
();
summitActivity
.
setIsDel
(
1
);
summitActivity
.
setId
(
id
);
summitActivity
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
updateByPrimaryKeySelective
(
summitActivity
);
}
...
...
@@ -162,6 +167,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity
summitActivity
=
new
SummitActivity
();
summitActivity
.
setId
(
id
);
summitActivity
.
setRank
(
rank
);
summitActivity
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
updateByPrimaryKeySelective
(
summitActivity
);
}
...
...
xx-universal/xx-universal-api/pom.xml
View file @
c286e249
...
...
@@ -83,6 +83,12 @@
<artifactId>
jiguang-common
</artifactId>
<version>
1.1.1
</version>
</dependency>
<dependency>
<groupId>
commons-lang
</groupId>
<artifactId>
commons-lang
</artifactId>
<version>
2.6
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/api/BaseAuthentication.java
deleted
100644 → 0
View file @
a6a5f9a4
package
com
.
xxfc
.
platform
.
universal
.
api
;
import
com.xxfc.platform.universal.api.pojo.Authentication
;
import
com.xxfc.platform.universal.entity.IdInformation
;
/**
* 调用外部接口实现类。调用不同的外部接口,需要编写不同了类实现该类
*/
public
interface
BaseAuthentication
{
Authentication
getAuthentication
(
IdInformation
idInformation
);
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/api/impl/FQAuthentication.java
deleted
100644 → 0
View file @
a6a5f9a4
package
com
.
xxfc
.
platform
.
universal
.
api
.
impl
;
import
com.xxfc.platform.universal.api.BaseAuthentication
;
import
com.xxfc.platform.universal.api.pojo.Authentication
;
import
com.xxfc.platform.universal.entity.IdInformation
;
public
class
FQAuthentication
implements
BaseAuthentication
{
@Override
public
Authentication
getAuthentication
(
IdInformation
idInformation
)
{
return
null
;
}
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/api/pojo/Authentication.java
deleted
100644 → 0
View file @
a6a5f9a4
package
com
.
xxfc
.
platform
.
universal
.
api
.
pojo
;
public
class
Authentication
{
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/utils/HttpUtils.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
universal
.
utils
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.security.KeyManagementException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.cert.X509Certificate
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
javax.net.ssl.SSLContext
;
import
javax.net.ssl.TrustManager
;
import
javax.net.ssl.X509TrustManager
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.HttpDelete
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.methods.HttpPut
;
import
org.apache.http.conn.ClientConnectionManager
;
import
org.apache.http.conn.scheme.Scheme
;
import
org.apache.http.conn.scheme.SchemeRegistry
;
import
org.apache.http.conn.ssl.SSLSocketFactory
;
import
org.apache.http.entity.ByteArrayEntity
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
org.apache.http.message.BasicNameValuePair
;
public
class
HttpUtils
{
/**
* get
*
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @return
* @throws Exception
*/
public
static
HttpResponse
doGet
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpGet
request
=
new
HttpGet
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
return
httpClient
.
execute
(
request
);
}
/**
* post form
*
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @param bodys
* @return
* @throws Exception
*/
public
static
HttpResponse
doPost
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
,
Map
<
String
,
String
>
bodys
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
bodys
!=
null
)
{
List
<
NameValuePair
>
nameValuePairList
=
new
ArrayList
<
NameValuePair
>();
for
(
String
key
:
bodys
.
keySet
())
{
nameValuePairList
.
add
(
new
BasicNameValuePair
(
key
,
bodys
.
get
(
key
)));
}
UrlEncodedFormEntity
formEntity
=
new
UrlEncodedFormEntity
(
nameValuePairList
,
"utf-8"
);
formEntity
.
setContentType
(
"application/x-www-form-urlencoded; charset=UTF-8"
);
request
.
setEntity
(
formEntity
);
}
return
httpClient
.
execute
(
request
);
}
/**
* Post String
*
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @param body
* @return
* @throws Exception
*/
public
static
HttpResponse
doPost
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
,
String
body
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
StringUtils
.
isNotBlank
(
body
))
{
request
.
setEntity
(
new
StringEntity
(
body
,
"utf-8"
));
}
return
httpClient
.
execute
(
request
);
}
/**
* Post stream
*
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @param body
* @return
* @throws Exception
*/
public
static
HttpResponse
doPost
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
,
byte
[]
body
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
body
!=
null
)
{
request
.
setEntity
(
new
ByteArrayEntity
(
body
));
}
return
httpClient
.
execute
(
request
);
}
/**
* Put String
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @param body
* @return
* @throws Exception
*/
public
static
HttpResponse
doPut
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
,
String
body
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPut
request
=
new
HttpPut
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
StringUtils
.
isNotBlank
(
body
))
{
request
.
setEntity
(
new
StringEntity
(
body
,
"utf-8"
));
}
return
httpClient
.
execute
(
request
);
}
/**
* Put stream
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @param body
* @return
* @throws Exception
*/
public
static
HttpResponse
doPut
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
,
byte
[]
body
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPut
request
=
new
HttpPut
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
body
!=
null
)
{
request
.
setEntity
(
new
ByteArrayEntity
(
body
));
}
return
httpClient
.
execute
(
request
);
}
/**
* Delete
*
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @return
* @throws Exception
*/
public
static
HttpResponse
doDelete
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpDelete
request
=
new
HttpDelete
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
return
httpClient
.
execute
(
request
);
}
private
static
String
buildUrl
(
String
host
,
String
path
,
Map
<
String
,
String
>
querys
)
throws
UnsupportedEncodingException
{
StringBuilder
sbUrl
=
new
StringBuilder
();
sbUrl
.
append
(
host
);
if
(!
StringUtils
.
isBlank
(
path
))
{
sbUrl
.
append
(
path
);
}
if
(
null
!=
querys
)
{
StringBuilder
sbQuery
=
new
StringBuilder
();
for
(
Map
.
Entry
<
String
,
String
>
query
:
querys
.
entrySet
())
{
if
(
0
<
sbQuery
.
length
())
{
sbQuery
.
append
(
"&"
);
}
if
(
StringUtils
.
isBlank
(
query
.
getKey
())
&&
!
StringUtils
.
isBlank
(
query
.
getValue
()))
{
sbQuery
.
append
(
query
.
getValue
());
}
if
(!
StringUtils
.
isBlank
(
query
.
getKey
()))
{
sbQuery
.
append
(
query
.
getKey
());
if
(!
StringUtils
.
isBlank
(
query
.
getValue
()))
{
sbQuery
.
append
(
"="
);
sbQuery
.
append
(
URLEncoder
.
encode
(
query
.
getValue
(),
"utf-8"
));
}
}
}
if
(
0
<
sbQuery
.
length
())
{
sbUrl
.
append
(
"?"
).
append
(
sbQuery
);
}
}
return
sbUrl
.
toString
();
}
private
static
HttpClient
wrapClient
(
String
host
)
{
HttpClient
httpClient
=
new
DefaultHttpClient
();
if
(
host
.
startsWith
(
"https://"
))
{
sslClient
(
httpClient
);
}
return
httpClient
;
}
private
static
void
sslClient
(
HttpClient
httpClient
)
{
try
{
SSLContext
ctx
=
SSLContext
.
getInstance
(
"TLS"
);
X509TrustManager
tm
=
new
X509TrustManager
()
{
public
X509Certificate
[]
getAcceptedIssuers
()
{
return
null
;
}
public
void
checkClientTrusted
(
X509Certificate
[]
xcs
,
String
str
)
{
}
public
void
checkServerTrusted
(
X509Certificate
[]
xcs
,
String
str
)
{
}
};
ctx
.
init
(
null
,
new
TrustManager
[]
{
tm
},
null
);
SSLSocketFactory
ssf
=
new
SSLSocketFactory
(
ctx
);
ssf
.
setHostnameVerifier
(
SSLSocketFactory
.
ALLOW_ALL_HOSTNAME_VERIFIER
);
ClientConnectionManager
ccm
=
httpClient
.
getConnectionManager
();
SchemeRegistry
registry
=
ccm
.
getSchemeRegistry
();
registry
.
register
(
new
Scheme
(
"https"
,
443
,
ssf
));
}
catch
(
KeyManagementException
ex
)
{
throw
new
RuntimeException
(
ex
);
}
catch
(
NoSuchAlgorithmException
ex
)
{
throw
new
RuntimeException
(
ex
);
}
}
}
\ No newline at end of file
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
c286e249
...
...
@@ -302,7 +302,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
"utf-8"
,
SystemConfig
.
ALIPAY_PUBLIC_KEY
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
return
alipayClient
;
}
//balance 余额
//moneyFund 余额宝
//coupon 红包
//pcredit 花呗
//pcreditpayInstallment 花呗分期
//creditCard 信用卡
//creditCardExpress 信用卡快捷
//creditCardCartoon 信用卡卡通
//credit_group 信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期)
//debitCardExpress 借记卡快捷
//mcard 商户预存卡
//pcard 个人预存卡
//promotion 优惠(包含实时优惠+商户优惠)
//voucher 营销券
//point 积分
//mdiscount 商户优惠
//bankPay
//支付宝APP支付方法
private
String
appOrderPay
(
AlipayClient
alipayClient
,
OrderPayVo
orderPayVo
,
String
notifyUrl
)
{
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
().
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
...
...
@@ -311,6 +327,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
request
.
setBizContent
(
"{"
+
"\"total_amount\":\""
+
realAmount
+
"\","
+
"\"subject\":\""
+
orderPayVo
.
getSubject
()
+
"\","
+
"\"enable_pay_channels\":\"balance,coupon,creditCard,creditCardExpress,creditCardCartoon,pcredit,credit_group,moneyFund,debitCardExpress\","
+
"\"out_trade_no\":\""
+
orderPayVo
.
getTradeNo
()
+
"\""
+
" }"
);
request
.
setNotifyUrl
(
notifyUrl
);
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/UserMessage.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
universal
.
biz
;
import
lombok.Data
;
/**
* 用户信息类
* @author Administrator
*/
@Data
public
class
UserMessage
{
private
String
name
;
private
String
idNumber
;
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/WeixinService.java
View file @
c286e249
...
...
@@ -76,6 +76,7 @@ public class WeixinService {
try
{
HttpSession
session
=
request
.
getSession
();
String
frontSessionValue1
=
(
String
)
session
.
getAttribute
(
frontSessionKey
);
log
.
info
(
"---session获取===="
+
frontSessionValue1
+
"---sessionId==="
+
session
.
getId
());
if
(
StringUtils
.
isBlank
(
frontSessionValue1
))
{
return
null
;
}
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/UserInfoController.java
View file @
c286e249
...
...
@@ -8,6 +8,7 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.UserAgentUtil
;
import
com.xxfc.platform.universal.biz.WeixinService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -20,6 +21,7 @@ import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping
(
"info"
)
@IgnoreUserToken
@Slf4j
public
class
UserInfoController
{
...
...
@@ -31,11 +33,12 @@ public class UserInfoController {
@RequestMapping
(
value
=
"getOpenId"
,
method
=
RequestMethod
.
GET
)
//匹配的是href中的download请求
public
ObjectRestResponse
sendSms
(
HttpServletRequest
request
)
throws
Exception
{
public
ObjectRestResponse
getOpenId
(
HttpServletRequest
request
)
throws
Exception
{
boolean
isWx
=
UserAgentUtil
.
isWexinBrowser
(
request
);
if
(
isWx
)
{
//session里面获取用户信息
String
openId
=
weixinService
.
getSession
(
request
);
log
.
info
(
"---进入方法getOpenId----openId===="
+
openId
);
if
(
StringUtils
.
isBlank
(
openId
)){
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"sendUrl"
,
sendUrl
);
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/CertificationService.java
View file @
c286e249
...
...
@@ -7,8 +7,10 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.universal.biz.UserMessage
;
import
com.xxfc.platform.universal.entity.IdInformation
;
import
com.xxfc.platform.universal.mapper.IdInformationMapper
;
import
com.xxfc.platform.universal.service.authenticationInterface.UserAuthentication
;
import
com.xxfc.platform.universal.utils.CertifHttpUtils
;
import
com.xxfc.platform.universal.utils.Validation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -21,6 +23,7 @@ import org.apache.http.util.EntityUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
...
...
@@ -31,9 +34,16 @@ import java.text.SimpleDateFormat;
import
java.util.*
;
/**
* 认证业务
* @author Administrator
*/
@Service
@Slf4j
public
class
CertificationService
{
@Autowired
private
UserAuthentication
authentication
;
/**
* 认证相关的数据
*/
...
...
@@ -209,17 +219,20 @@ public class CertificationService {
}
//map携带身份证和姓名进行认证
Map
<
String
,
String
>
authMap
=
new
HashMap
<>();
authMap
.
put
(
idCardName
,
(
String
)
frontData
.
get
(
numberName
));
authMap
.
put
(
cName
,
(
String
)
frontData
.
get
(
cName
));
//3.调用接口进行认证
String
result
=
certificate
(
authMap
);
// Map<String, String> authMap = new HashMap<>();
// authMap.put(idCardName, (String) frontData.get(numberName));
// authMap.put(cName, (String) frontData.get(cName));
// //3.调用接口进行认证
//
// boolean result = certificate(authMap);
boolean
result
=
authentication
.
certificate
(
new
UserMessage
(){{
setIdNumber
(
number
);
setName
(
name
);
}}
);
log
.
info
(
"----认证结果result========="
+
result
);
//认证返回的参数是否为空
if
(!
StringUtils
.
isBlank
(
result
))
{
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
JSONObject
.
parse
(
result
);
log
.
info
(
"----certifRet========="
+
certifRet
);
if
(
MapUtil
.
isNotEmpty
(
map
)
||
certifResultCode
.
equals
(
map
.
get
(
certifRet
)))
{
if
(
result
)
{
//认证成功后存入保存到数据库
//获得身份证正面记录的身份证号和真实姓名
//设置姓名
...
...
@@ -257,9 +270,6 @@ public class CertificationService {
// return ObjectRestResponse.succ(objRR.getData());
// }
}
}
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
INCOMPLETE_DATA
,
"网络异常,请稍后再试"
);
...
...
@@ -267,7 +277,8 @@ public class CertificationService {
//认证
public
String
certificate
(
Map
<
String
,
String
>
querys
)
{
//认证
public
boolean
certificate
(
Map
<
String
,
String
>
querys
)
{
Map
<
String
,
String
>
headers
=
new
HashMap
<
String
,
String
>();
headers
.
put
(
"Authorization"
,
"APPCODE "
+
cAppcode
);
try
{
...
...
@@ -280,15 +291,27 @@ public class CertificationService {
*/
//获取response的body
if
(
statusCode
==
200
)
{
return
EntityUtils
.
toString
(
response
.
getEntity
());
String
result
=
EntityUtils
.
toString
(
response
.
getEntity
());
log
.
info
(
"----认证结果result========="
+
result
);
//认证返回的参数是否为空
if
(!
StringUtils
.
isBlank
(
result
))
{
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
JSONObject
.
parse
(
result
);
log
.
info
(
"----certifRet========="
+
certifRet
);
if
(
MapUtil
.
isNotEmpty
(
map
)
||
certifResultCode
.
equals
(
map
.
get
(
certifRet
)))
{
return
true
;
}
}
}
return
false
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
false
;
}
return
null
;
}
//身份证照片解析
public
String
imageParse
(
String
imageUrl
,
String
type
)
{
Map
<
String
,
String
>
headers
=
new
HashMap
<
String
,
String
>();
...
...
@@ -317,10 +340,7 @@ public class CertificationService {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/authenticationInterface/UserAuthentication.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
universal
.
service
.
authenticationInterface
;
import
com.xxfc.platform.universal.biz.UserMessage
;
import
java.util.Map
;
/**
* 用户认证类
* @author Administrator
*/
public
interface
UserAuthentication
{
/**
* 用户认证方法
* @param message
* @return
*/
boolean
certificate
(
UserMessage
message
)
;
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/authenticationInterface/impl/BJCYAuthentication.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
universal
.
service
.
authenticationInterface
.
impl
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xxfc.platform.universal.biz.UserMessage
;
import
com.xxfc.platform.universal.service.authenticationInterface.UserAuthentication
;
import
com.xxfc.platform.universal.utils.CertifHttpUtils
;
import
com.xxfc.platform.universal.utils.HttpUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.StatusLine
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 调用北京畅游互联科技有限公司接口
*
* @author Administrator
*/
@Service
@Slf4j
@Primary
public
class
BJCYAuthentication
implements
UserAuthentication
{
private
final
String
host
=
"http://aliyunverifyidcard.haoservice.com"
;
private
final
String
path
=
"/idcard/VerifyIdcardv2"
;
private
final
String
method
=
"GET"
;
private
final
String
appcode
=
"ee7710ce92054cae9f6c040f6864e6a7"
;
private
final
String
tokenHead
=
"Authorization"
;
private
final
String
token
=
"APPCODE "
+
appcode
;
private
final
String
cardNo
=
"cardNo"
;
private
final
String
realName
=
"realName"
;
private
final
Integer
resultCode
=
0
;
private
final
String
ret
=
"error_code"
;
@Override
public
boolean
certificate
(
UserMessage
message
)
{
Map
<
String
,
String
>
headers
=
new
HashMap
<
String
,
String
>();
headers
.
put
(
tokenHead
,
token
);
Map
<
String
,
String
>
querys
=
new
HashMap
<
String
,
String
>();
querys
.
put
(
cardNo
,
message
.
getIdNumber
());
querys
.
put
(
realName
,
message
.
getName
());
try
{
HttpResponse
response
=
HttpUtils
.
doGet
(
host
,
path
,
method
,
headers
,
querys
);
StatusLine
statusLine
=
response
.
getStatusLine
();
log
.
error
(
response
.
toString
());
int
statusCode
=
statusLine
.
getStatusCode
();
log
.
error
(
statusCode
+
""
);
//获取response的body
if
(
statusCode
==
200
)
{
String
result
=
EntityUtils
.
toString
(
response
.
getEntity
());
log
.
info
(
"----认证结果result========="
+
result
);
//认证返回的参数是否为空
if
(!
StringUtils
.
isBlank
(
result
))
{
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
JSONObject
.
parse
(
result
);
log
.
info
(
"----certifRet========="
+
map
);
if
(
MapUtil
.
isNotEmpty
(
map
)
||
resultCode
.
equals
(
map
.
get
(
ret
)))
{
return
true
;
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/authenticationInterface/impl/XCFQAuthentication.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
universal
.
service
.
authenticationInterface
.
impl
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xxfc.platform.universal.biz.UserMessage
;
import
com.xxfc.platform.universal.service.authenticationInterface.UserAuthentication
;
import
com.xxfc.platform.universal.utils.CertifHttpUtils
;
import
com.xxfc.platform.universal.utils.HttpUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.StatusLine
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 调用四川涪擎认证接口
*
* @author Administrator
*/
@Service
@Slf4j
public
class
XCFQAuthentication
implements
UserAuthentication
{
private
String
cAppcode
=
"acea1c8811f748b3a65815f11db357c4"
;
/**
* 认证相关的数据
*/
private
String
cHost
=
"https://idcert.market.alicloudapi.com"
;
private
String
cPath
=
"/idcard"
;
private
String
cMethod
=
"GET"
;
//响应:认证错误码字段名
private
String
certifRet
=
"status"
;
//响应:认证通过码
private
String
certifResultCode
=
"01"
;
//请求:身份证号字段名
private
String
idCardName
=
"idCard"
;
//请求:用户姓名字段名
private
String
cName
=
"name"
;
@Override
public
boolean
certificate
(
UserMessage
message
)
{
//map携带身份证和姓名进行认证
Map
<
String
,
String
>
querys
=
new
HashMap
<>();
querys
.
put
(
idCardName
,
message
.
getIdNumber
());
querys
.
put
(
cName
,
message
.
getName
());
Map
<
String
,
String
>
headers
=
new
HashMap
<
String
,
String
>();
headers
.
put
(
"Authorization"
,
"APPCODE "
+
cAppcode
);
try
{
log
.
info
(
"----querys========="
+
querys
);
HttpResponse
response
=
HttpUtils
.
doGet
(
cHost
,
cPath
,
cMethod
,
headers
,
querys
);
StatusLine
statusLine
=
response
.
getStatusLine
();
int
statusCode
=
statusLine
.
getStatusCode
();
/**
* 状态码: 200 正常;400 URL无效;401 appCode错误; 403 次数用完; 500 API网管错误
*/
//获取response的body
if
(
statusCode
==
200
)
{
String
result
=
EntityUtils
.
toString
(
response
.
getEntity
());
log
.
info
(
"----认证结果result========="
+
result
);
//认证返回的参数是否为空
if
(!
StringUtils
.
isBlank
(
result
))
{
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
JSONObject
.
parse
(
result
);
log
.
info
(
"----certifRet========="
+
certifRet
);
if
(
MapUtil
.
isNotEmpty
(
map
)
||
certifResultCode
.
equals
(
map
.
get
(
certifRet
)))
{
return
true
;
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/constant/VehicleCountType.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
vehicle
.
constant
;
import
java.util.HashMap
;
import
java.util.Map
;
public
enum
VehicleCountType
{
RENT_VEHICLE
(
1
,
"租车用车"
),
TOUR
(
2
,
"旅游用车"
),
INNER
(
3
,
"内部用车"
),
;
/**
* 编码
*/
private
Integer
code
;
/**
* 类型描述
*/
private
String
desc
;
public
static
Map
<
Integer
,
VehicleCountType
>
codeAndDesc
=
new
HashMap
<
Integer
,
VehicleCountType
>();
//Maps.newHashMap();
static
{
for
(
VehicleCountType
enumE
:
VehicleCountType
.
values
()){
codeAndDesc
.
put
(
enumE
.
getCode
(),
enumE
);
}
}
VehicleCountType
(
Integer
code
,
String
desc
){
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
Boolean
exists
(
Integer
code
){
return
codeAndDesc
.
containsKey
(
code
);
}
public
static
VehicleCountType
get
(
Integer
code
)
{
for
(
VehicleCountType
enumE
:
VehicleCountType
.
values
())
{
if
(
enumE
.
getCode
().
equals
(
code
))
{
return
enumE
;
}
}
return
null
;
}
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/entity/VehicleCountRecord.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
vehicle
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.persistence.*
;
import
java.util.Date
;
@Table
(
name
=
"vehicle_count_record"
)
@Data
public
class
VehicleCountRecord
{
@Id
private
Integer
id
;
private
Integer
type
;
/**
* 应出车数量
*/
@Column
(
name
=
"departure_num"
)
private
Integer
departureNum
;
/**
* 实际出车数量
*/
@Column
(
name
=
"actual_departure_num"
)
private
Integer
actualDepartureNum
;
/**
* 延期交车数量
*/
@Column
(
name
=
"after_departure_num"
)
private
Integer
afterDepartureNum
;
/**
* 提前交车数
*/
@Column
(
name
=
"before_departure_num"
)
private
Integer
beforeDepartureNum
;
/**
* 应还车数量
*/
@Column
(
name
=
"arrival_num"
)
private
Integer
arrivalNum
;
/**
* 未提前还车数量
*/
@Column
(
name
=
"actual_arrival_num"
)
private
Integer
actualArrivalNum
;
/**
* 延后还车数量
*/
@Column
(
name
=
"after_arrival_num"
)
private
Integer
afterArrivalNum
;
/**
* 提前还车数量
*/
@Column
(
name
=
"before_arrival_num"
)
private
Integer
beforeArrivalNum
;
/**
* 统计日期 yyyy-MM-dd
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
countDate
;
@Transient
private
String
startTime
;
@Transient
private
String
endTime
;
}
\ No newline at end of file
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/ExcelParamDto.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ExcelParamDto
{
List
<
Object
[]>
data
;
String
[]
header
;
String
name
;
}
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/VehicleBookRecordVo.java
View file @
c286e249
...
...
@@ -40,4 +40,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
List
<
VehicleUpkeepItem
>
vehicleUpkeepItems
;
private
String
userCompanyName
;
}
xx-vehicle/xx-vehicle-server/pom.xml
View file @
c286e249
...
...
@@ -29,6 +29,11 @@
<artifactId>
xx-universal-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-order-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
View file @
c286e249
...
...
@@ -149,7 +149,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
vehicleBookRecordQueryVo
.
setCompanyIds
(
companyList
);
Query
query
=
new
Query
(
vehicleBookRecordQueryVo
);
PageDataVO
<
VehicleBookRecordVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
getBookRecordInfo
(
query
.
getSuper
()));
getupKeeps
(
pageDataVO
.
getData
());
getupKeeps
(
pageDataVO
.
getData
()
,
userDTO
);
return
RestResponse
.
suc
(
pageDataVO
);
}
...
...
@@ -198,7 +198,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
List
<
VehicleBookRecordVo
>
list
=
mapper
.
getBookRecordInfo
(
query
.
getSuper
());
removeStatus3
(
list
);
PageInfo
<
VehicleBookRecordVo
>
vehicleBookRecordVoPageInfo
=
new
PageInfo
<>(
list
);
getupKeeps
(
vehicleBookRecordVoPageInfo
.
getList
());
getupKeeps
(
vehicleBookRecordVoPageInfo
.
getList
()
,
userDTO
);
PageDataVO
<
VehicleBookRecordVo
>
vehicleBookRecordVoPageDataVO
=
PageDataVO
.
pageInfo
(
vehicleBookRecordVoPageInfo
);
vehicleBookRecordVoPageDataVO
.
setPageNum
(
pageNo
);
vehicleBookRecordVoPageDataVO
.
setPageSize
(
pageSize
);
...
...
@@ -213,7 +213,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
List
<
VehicleBookRecordVo
>
list
=
mapper
.
getBookRecordInfo
(
query
.
getSuper
());
removeStatus5
(
list
);
PageInfo
<
VehicleBookRecordVo
>
vehicleBookRecordVoPageInfo
=
new
PageInfo
<>(
list
);
getupKeeps
(
vehicleBookRecordVoPageInfo
.
getList
());
getupKeeps
(
vehicleBookRecordVoPageInfo
.
getList
()
,
userDTO
);
PageDataVO
<
VehicleBookRecordVo
>
vehicleBookRecordVoPageDataVO
=
PageDataVO
.
pageInfo
(
vehicleBookRecordVoPageInfo
);
vehicleBookRecordVoPageDataVO
.
setPageNum
(
pageNo
);
vehicleBookRecordVoPageDataVO
.
setPageSize
(
pageSize
);
...
...
@@ -228,7 +228,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
List
<
VehicleBookRecordVo
>
list
=
mapper
.
getBookRecordInfo
(
query
.
getSuper
());
removeStatus7
(
list
);
PageInfo
<
VehicleBookRecordVo
>
vehicleBookRecordVoPageInfo
=
new
PageInfo
<>(
list
);
getupKeeps
(
vehicleBookRecordVoPageInfo
.
getList
());
getupKeeps
(
vehicleBookRecordVoPageInfo
.
getList
()
,
userDTO
);
PageDataVO
<
VehicleBookRecordVo
>
vehicleBookRecordVoPageDataVO
=
PageDataVO
.
pageInfo
(
vehicleBookRecordVoPageInfo
);
vehicleBookRecordVoPageDataVO
.
setPageNum
(
pageNo
);
vehicleBookRecordVoPageDataVO
.
setPageSize
(
pageSize
);
...
...
@@ -239,7 +239,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
}
Query
query
=
new
Query
(
vehicleBookRecordQueryVo
);
PageDataVO
<
VehicleBookRecordVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
getBookRecordInfo
(
query
.
getSuper
()));
getupKeeps
(
pageDataVO
.
getData
());
getupKeeps
(
pageDataVO
.
getData
()
,
userDTO
);
return
RestResponse
.
suc
(
pageDataVO
);
}
...
...
@@ -300,7 +300,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
/**
* 获取随身物品
*/
public
List
<
VehicleBookRecordVo
>
getupKeeps
(
List
<
VehicleBookRecordVo
>
vehicleBookRecordVos
)
{
public
List
<
VehicleBookRecordVo
>
getupKeeps
(
List
<
VehicleBookRecordVo
>
vehicleBookRecordVos
,
UserDTO
userDTO
)
{
for
(
VehicleBookRecordVo
vehicleBookRecordVo
:
vehicleBookRecordVos
)
{
if
(
vehicleBookRecordVo
.
getBookType
()
==
BookType
.
MAINTAIN
.
getCode
())
{
//获取 保养项目
if
(
StringUtils
.
isNotBlank
(
vehicleBookRecordVo
.
getUpkeepIds
()))
{
...
...
@@ -311,10 +311,21 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
}
}
}
if
(
userDTO
.
getCompanyId
()
!=
null
)
{
BranchCompany
branchCompany
=
branchCompanyBiz
.
getById
(
userDTO
.
getCompanyId
());
if
(
branchCompany
!=
null
)
{
vehicleBookRecordVo
.
setUserCompanyName
(
branchCompany
.
getName
());
}
}
}
return
vehicleBookRecordVos
;
}
public
ObjectRestResponse
<
List
<
VehicleBookRecordVo
>>
selectByIds
(
List
<
Long
>
ids
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"ids"
,
ids
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectByIds
(
map
));
}
public
RestResponse
<
Integer
>
lift
(
Integer
operatorId
,
String
userName
,
LiftVehicleVo
liftVehicleVo
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
PropertyUtils
.
describe
(
liftVehicleVo
);
...
...
@@ -499,6 +510,13 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
}
public
ObjectRestResponse
<
List
<
VehicleBookRecordVo
>>
selectAllBookRecord
(
Date
startTime
,
Date
endTime
,
Integer
status
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"startTime"
,
startTime
);
map
.
put
(
"endTime"
,
endTime
);
map
.
put
(
"status"
,
status
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectAllBookRecord
(
map
));
}
/**
* 获取上月数据,并复制到历史表
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleCountRecordBiz.java
0 → 100644
View file @
c286e249
This diff is collapsed.
Click to expand it.
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleBookRecordMapper.java
View file @
c286e249
...
...
@@ -40,4 +40,7 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> {
public
List
<
VehicleBookRecordVo
>
selectZeroHourRecord
(
Map
<
String
,
Object
>
param
);
public
List
<
VehicleBookRecordVo
>
selectAllBookRecord
(
Map
<
String
,
Object
>
param
);
public
List
<
VehicleBookRecordVo
>
selectByIds
(
Map
<
String
,
Object
>
param
);
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleCountRecordMapper.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
vehicle
.
mapper
;
import
com.xxfc.platform.vehicle.entity.VehicleCountRecord
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
VehicleCountRecordMapper
extends
Mapper
<
VehicleCountRecord
>
{
List
<
VehicleCountRecord
>
countDepartureVehicle
(
VehicleCountRecord
vehicleCountRecord
);
List
<
VehicleCountRecord
>
selectByTypeAndTime
(
Map
<
String
,
Object
>
param
);
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleCountRecordController.java
0 → 100644
View file @
c286e249
package
com
.
xxfc
.
platform
.
vehicle
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.vehicle.biz.VehicleCountRecordBiz
;
import
com.xxfc.platform.vehicle.entity.VehicleCountRecord
;
import
com.xxfc.platform.vehicle.pojo.ExcelParamDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
value
=
"/vehicleCount"
)
public
class
VehicleCountRecordController
{
@Autowired
VehicleCountRecordBiz
vehicleCountRecordBiz
;
@GetMapping
(
"/app/unauth/test"
)
public
ObjectRestResponse
add
()
{
vehicleCountRecordBiz
.
add
();
return
ObjectRestResponse
.
succ
();
}
@GetMapping
(
"/app/unauth/get"
)
public
ObjectRestResponse
getByTypeAndDate
(
VehicleCountRecord
vehicleCountRecord
)
{
return
vehicleCountRecordBiz
.
countDepartureVehicle
(
vehicleCountRecord
);
}
@PostMapping
(
"/app/unauth/export"
)
public
ObjectRestResponse
export
(
@RequestBody
ExcelParamDto
excelParamDto
)
{
vehicleCountRecordBiz
.
export
(
excelParamDto
);
return
ObjectRestResponse
.
succ
();
}
}
xx-vehicle/xx-vehicle-server/src/main/resources/builder/generatorConfig.xml
View file @
c286e249
...
...
@@ -15,7 +15,7 @@
</plugin>
<jdbcConnection
driverClass=
"com.mysql.jdbc.Driver"
connectionURL=
"jdbc:mysql://10.5.52.3:3306/vehicle?useUnicode=true&characterEncoding=UTF8"
connectionURL=
"jdbc:mysql://10.5.52.3:3306/
xxfc_
vehicle?useUnicode=true&characterEncoding=UTF8"
userId=
"root"
password=
"sslcloud123*()"
>
</jdbcConnection>
...
...
@@ -37,7 +37,7 @@
<!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<table
tableName=
"vehicle_
book_hour_info"
domainObjectName=
"VehicleBookHourInfo
"
></table>
<table
tableName=
"vehicle_
count_record"
domainObjectName=
"VehicleCountRecord
"
></table>
<!-- <table tableName="vehicle_upkeep_log" domainObjectName="VehicleUpkeepLog"></table>-->
</context>
</generatorConfiguration>
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
c286e249
...
...
@@ -516,6 +516,26 @@
order by create_time DESC
</select>
<select
id=
"selectAllBookRecord"
resultMap=
"searchBookRecord"
parameterType=
"Map"
>
select v1.* from vehicle_book_record v1
where v1.status not in (4,6,7,3)
<if
test=
"startTime != null and status == 1"
>
and v1.book_start_date between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and status == 2"
>
and v1.book_end_date between #{startTime} and #{endTime}
</if>
</select>
<select
id=
"selectByIds"
resultMap=
"searchBookRecord"
parameterType=
"Map"
>
select v1.* from vehicle_book_record v1
where v1.status not in (4,6,7,3)
<if
test=
"ids != null and ids.size > 0"
>
and v1.id in
<foreach
collection=
"ids"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
</select>
<insert
id=
"createTbIfNotExists"
parameterType=
"java.lang.String"
>
CREATE TABLE IF NOT EXISTS ${_parameter} (
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleCountRecordMapper.xml
0 → 100644
View file @
c286e249
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xxfc.platform.vehicle.mapper.VehicleCountRecordMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.xxfc.platform.vehicle.entity.VehicleCountRecord"
>
<!--
WARNING - @mbg.generated
-->
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"type"
property=
"type"
jdbcType=
"INTEGER"
/>
<result
column=
"departure_num"
property=
"departureNum"
jdbcType=
"INTEGER"
/>
<result
column=
"actual_departure_num"
property=
"actualDepartureNum"
jdbcType=
"INTEGER"
/>
<result
column=
"after_departure_num"
property=
"afterDepartureNum"
jdbcType=
"INTEGER"
/>
<result
column=
"before_departure_num"
property=
"beforeDepartureNum"
jdbcType=
"INTEGER"
/>
<result
column=
"arrival_num"
property=
"arrivalNum"
jdbcType=
"INTEGER"
/>
<result
column=
"actual_arrival_num"
property=
"actualArrivalNum"
jdbcType=
"INTEGER"
/>
<result
column=
"after_arrival_num"
property=
"afterArrivalNum"
jdbcType=
"INTEGER"
/>
<result
column=
"before_arrival_num"
property=
"beforeArrivalNum"
jdbcType=
"INTEGER"
/>
<result
column=
"count_date"
property=
"countDate"
jdbcType=
"DATE"
/>
</resultMap>
<select
id =
"countDepartureVehicle"
parameterType =
"com.xxfc.platform.vehicle.entity.VehicleCountRecord"
resultMap =
"BaseResultMap"
>
select * from vehicle_count_record where count_date = #{time}
</select>
<select
id=
"selectByTypeAndTime"
parameterType =
"Map"
resultType=
"com.xxfc.platform.vehicle.entity.VehicleCountRecord"
>
select * from vehicle_count_record
<where>
<if
test=
"type != null"
>
and type = #{type}
</if>
<if
test=
"startTime != null"
>
and count_date
>
= #{startTime} and count_date
<
= #{endTime}
</if>
</where>
order by id DESC
</select>
</mapper>
\ No newline at end of file
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