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
40a0c447
Commit
40a0c447
authored
Jun 18, 2019
by
libin
Browse files
Options
Browse Files
Download
Plain Diff
wg
parents
bc26eb01
39114f9c
Changes
48
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
980 additions
and
169 deletions
+980
-169
CommonConstants.java
...hub/wxiaoqi/security/common/constant/CommonConstants.java
+2
-0
PageParam.java
...java/com/github/wxiaoqi/security/common/vo/PageParam.java
+1
-1
UserFeign.java
...va/com/github/wxiaoqi/security/admin/feign/UserFeign.java
+3
-8
AppUserDetailBiz.java
...m/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
+0
-1
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+23
-0
UserController.java
...om/github/wxiaoqi/security/admin/rest/UserController.java
+1
-0
application.yml
ace-modules/ace-generator/src/main/resources/application.yml
+1
-1
generator.properties
...les/ace-generator/src/main/resources/generator.properties
+9
-9
controller.java.vm
...-generator/src/main/resources/template/controller.java.vm
+2
-1
BaseOrder.java
...c/main/java/com/xxfc/platform/order/entity/BaseOrder.java
+38
-24
OrderRefund.java
...main/java/com/xxfc/platform/order/entity/OrderRefund.java
+87
-0
OrderRentVehicleDetail.java
...om/xxfc/platform/order/entity/OrderRentVehicleDetail.java
+0
-1
OrderVehicaleCrosstown.java
...om/xxfc/platform/order/entity/OrderVehicaleCrosstown.java
+132
-0
AddRentVehicleDTO.java
.../java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
+0
-5
RentVehiclePriceVO.java
...om/xxfc/platform/order/pojo/price/RentVehiclePriceVO.java
+2
-0
pom.xml
xx-order/xx-order-server/pom.xml
+5
-1
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+47
-0
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+18
-0
OrderVehicalCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicalCrosstownBiz.java
+21
-0
FeignHeadConfiguration.java
...om/xxfc/platform/order/config/FeignHeadConfiguration.java
+57
-0
BaseOrderMapper.java
.../java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
+1
-0
OrderRefundMapper.java
...ava/com/xxfc/platform/order/mapper/OrderRefundMapper.java
+15
-0
OrderVehicaleCrosstownMapper.java
...c/platform/order/mapper/OrderVehicaleCrosstownMapper.java
+12
-0
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+129
-51
OrderRefundController.java
...a/com/xxfc/platform/order/rest/OrderRefundController.java
+13
-0
OrderVehicleCrosstownController.java
.../platform/order/rest/OrderVehicleCrosstownController.java
+63
-0
AbstractOrderHandle.java
.../com/xxfc/platform/order/service/AbstractOrderHandle.java
+1
-1
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+22
-15
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+6
-6
generatorConfig.xml
...der-server/src/main/resources/builder/generatorConfig.xml
+2
-2
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+31
-0
OrderRefundMapper.xml
...er-server/src/main/resources/mapper/OrderRefundMapper.xml
+20
-0
OrderVehicaleCrosstownMapper.xml
...rc/main/resources/mapper/OrderVehicaleCrosstownMapper.xml
+50
-0
TourGoodDTO.java
...src/main/java/com/xxfc/platform/tour/dto/TourGoodDTO.java
+5
-0
TourGood.java
...src/main/java/com/xxfc/platform/tour/entity/TourGood.java
+6
-1
TourGoodDetailVo.java
...main/java/com/xxfc/platform/tour/vo/TourGoodDetailVo.java
+4
-0
TourGoodVo.java
...i/src/main/java/com/xxfc/platform/tour/vo/TourGoodVo.java
+4
-5
TourGoodMapper.xml
...-tour-server/src/main/resources/mapper/TourGoodMapper.xml
+3
-1
VehicleFeign.java
...in/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
+12
-2
VehicleUserScoreDTO.java
...m/xxfc/platform/vehicle/pojo/dto/VehicleUserScoreDTO.java
+0
-18
VehicleUserScoreVo.java
...com/xxfc/platform/vehicle/pojo/vo/VehicleUserScoreVo.java
+63
-0
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+2
-0
VehiclePlatCataBiz.java
...ava/com/xxfc/platform/vehicle/biz/VehiclePlatCataBiz.java
+2
-1
VehicleUserScoreBiz.java
...va/com/xxfc/platform/vehicle/biz/VehicleUserScoreBiz.java
+20
-5
VehicleBaseController.java
...m/xxfc/platform/vehicle/common/VehicleBaseController.java
+0
-1
VehicleUserScoreMapper.java
.../xxfc/platform/vehicle/mapper/VehicleUserScoreMapper.java
+14
-1
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+21
-0
VehicleUserScoreController.java
...xfc/platform/vehicle/rest/VehicleUserScoreController.java
+10
-7
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/constant/CommonConstants.java
View file @
40a0c447
...
...
@@ -4,6 +4,8 @@ package com.github.wxiaoqi.security.common.constant;
* Created by ace on 2017/8/29.
*/
public
class
CommonConstants
{
public
static
final
int
SYS_TRUE
=
1
;
public
static
final
int
SYS_FALSE
=
0
;
public
final
static
String
RESOURCE_TYPE_MENU
=
"menu"
;
public
final
static
String
RESOURCE_TYPE_BTN
=
"button"
;
// 用户token异常
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/vo/PageParam.java
View file @
40a0c447
...
...
@@ -8,5 +8,5 @@ public class PageParam {
@ApiModelProperty
(
"当前页码"
)
Integer
page
;
@ApiModelProperty
(
"每页限制"
)
Integer
limit
;
Integer
limit
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/feign/UserFeign.java
View file @
40a0c447
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
feign
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.Map
;
/**
* ${DESCRIPTION}
...
...
@@ -40,9 +38,6 @@ public interface UserFeign {
@RequestMapping
(
value
=
"/member/levels"
,
method
=
RequestMethod
.
GET
)
public
List
<
BaseUserMemberLevel
>
levels
();
@RequestMapping
(
value
=
"/public/app/userinfo-by-id"
)
public
Map
<
Integer
,
AppUserDetail
>
userDetailById
(
List
<
Integer
>
userids
);
@RequestMapping
(
value
=
"/public/getByUserIds"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
List
<
AppUserVo
>>
getByUserIds
(
@RequestParam
(
"ids"
)
List
<
Integer
>
ids
);
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
View file @
40a0c447
...
...
@@ -45,7 +45,6 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
return
null
;
}
public
AppUserVo
getUserInfoById
(
Integer
userid
){
return
mapper
.
getUserInfo
(
userid
);
}
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
40a0c447
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
import
com.ace.cache.annotation.Cache
;
import
com.github.wxiaoqi.security.admin.biz.AppUserBiz
;
import
com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz
;
import
com.github.wxiaoqi.security.admin.entity.AppUser
;
...
...
@@ -20,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -128,5 +130,26 @@ public class AppUserController extends CommonBaseController {
return
ObjectRestResponse
.
succ
();
}
@GetMapping
(
"/findByUserId"
)
public
ObjectRestResponse
<
AppUserDetail
>
findByUserId
(
Integer
id
)
{
if
(
id
==
null
||
id
<
0
)
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"参数id为空"
);
}
AppUserDetail
appUserDetail
=
userDetailBiz
.
getUserByUserid
(
id
);
return
ObjectRestResponse
.
succ
(
appUserDetail
);
}
@GetMapping
(
"/getByUserIds"
)
public
ObjectRestResponse
<
List
<
AppUserDetail
>>
getByUserIds
(
@RequestParam
(
"ids"
)
List
<
Integer
>
ids
)
{
if
(
ids
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"参数id为空"
);
}
List
<
AppUserDetail
>
appUserDetails
=
new
ArrayList
<>();
for
(
Integer
id
:
ids
)
{
AppUserDetail
appUserDetail
=
userDetailBiz
.
getUserByUserid
(
id
);
appUserDetails
.
add
(
appUserDetail
);
}
return
ObjectRestResponse
.
succ
(
appUserDetails
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/UserController.java
View file @
40a0c447
...
...
@@ -104,6 +104,7 @@ public class UserController extends CommonBaseController {
}
}
@RequestMapping
(
value
=
"/front/menus"
,
method
=
RequestMethod
.
GET
)
public
@ResponseBody
List
<
MenuTree
>
getMenusByUsername
(
String
token
)
throws
Exception
{
...
...
ace-modules/ace-generator/src/main/resources/application.yml
View file @
40a0c447
...
...
@@ -10,7 +10,7 @@ spring:
datasource
:
type
:
com.alibaba.druid.pool.DruidDataSource
driverClassName
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://10.5.52.3:3306/
xxfc_order
?useUnicode=true&characterEncoding=UTF-8
url
:
jdbc:mysql://10.5.52.3:3306/
vehicle
?useUnicode=true&characterEncoding=UTF-8
username
:
root
password
:
sslcloud123*()
jackson
:
...
...
ace-modules/ace-generator/src/main/resources/generator.properties
View file @
40a0c447
#
代码生成器,配置信息
#
\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#
包名
package
=
com.xxfc.platform.
order
#
作者
author
=
zjw
#
\u5305\u540D
package
=
com.xxfc.platform.
campsite
#
\u4F5C\u8005
author
=
libin
#Email
email
=
nishijjo@qq
.com
#
表前错误的Unicode字符串
!
email
=
18178966185@163
.com
#
\u8868\u524D\u9519\u8BEF\u7684Unicode\u5B57\u7B26\u4E32
!
tablePrefix
=
#
前端模块前缀
#
\u524D\u7AEF\u6A21\u5757\u524D\u7F00
mainModule
=
auth
#
类型转换,配置信息
#
\u7C7B\u578B\u8F6C\u6362\uFF0C\u914D\u7F6E\u4FE1\u606F
tinyint
=
Integer
smallint
=
Integer
mediumint
=
Integer
...
...
ace-modules/ace-generator/src/main/resources/template/controller.java.vm
View file @
40a0c447
...
...
@@ -5,8 +5,9 @@ import ${package}.biz.${className}Biz;
import
${
package
}.
entity
.${
className
};
import
org
.
springframework
.
stereotype
.
Controller
;
import
org
.
springframework
.
web
.
bind
.
annotation
.
RequestMapping
;
import
org
.
springframework
.
web
.
bind
.
annotation
.
RestController
;
@
Controller
@
Rest
Controller
@
RequestMapping
(
"${secondModuleName}"
)
public
class
${
className
}
Controller
extends
BaseController
<${
className
}
Biz
,${
className
}>
{
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/BaseOrder.java
View file @
40a0c447
...
...
@@ -9,8 +9,8 @@ import lombok.Data;
/**
*
*
*
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-15 11:35:33
...
...
@@ -19,7 +19,7 @@ import lombok.Data;
@Table
(
name
=
"base_order"
)
public
class
BaseOrder
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
...
...
@@ -27,35 +27,35 @@ public class BaseOrder implements Serializable {
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
/**
* 订单号
*/
@Column
(
name
=
"no"
)
@ApiModelProperty
(
value
=
"订单号"
)
private
String
no
;
/**
* 名称
*/
@Column
(
name
=
"name"
)
@ApiModelProperty
(
value
=
"名称"
)
private
String
name
;
/**
* 订单类型 1--租车;2--旅游
*/
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
"订单类型 1--租车;2--旅游"
)
private
Integer
type
;
/**
* 订单详情id
*/
@Column
(
name
=
"detail_id"
)
@ApiModelProperty
(
value
=
"订单详情id"
)
private
Integer
detailId
;
/**
* 订单状态
0--删除
...
...
@@ -76,112 +76,112 @@ public class BaseOrder implements Serializable {
+
"5--出行中(进行中)"
+
"6--已完成"
)
private
Integer
status
;
/**
* 商品价格
*/
@Column
(
name
=
"goods_amount"
)
@ApiModelProperty
(
value
=
"商品价格"
)
private
BigDecimal
goodsAmount
;
/**
* 订单价格
*/
@Column
(
name
=
"order_amount"
)
@ApiModelProperty
(
value
=
"订单价格"
)
private
BigDecimal
orderAmount
;
/**
* 实际价格
*/
@Column
(
name
=
"real_amount"
)
@ApiModelProperty
(
value
=
"实际价格"
)
private
BigDecimal
realAmount
;
/**
* 第三方类型(支付渠道)
*/
@Column
(
name
=
"third_type"
)
@ApiModelProperty
(
value
=
"第三方类型(支付渠道)"
)
private
Integer
thirdType
;
/**
* 流水号
*/
@Column
(
name
=
"out_trade_no"
)
@ApiModelProperty
(
value
=
"流水号"
)
private
String
outTradeNo
;
/**
* 订单图片
*/
@Column
(
name
=
"picture"
)
@ApiModelProperty
(
value
=
"订单图片"
)
private
String
picture
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Date
crtTime
;
/**
* 创建者id
*/
@Column
(
name
=
"crt_user"
)
@ApiModelProperty
(
value
=
"创建者id"
)
private
String
crtUser
;
/**
* 创建者名称
*/
@Column
(
name
=
"crt_name"
)
@ApiModelProperty
(
value
=
"创建者名称"
)
private
String
crtName
;
/**
* 用户id
*/
@Column
(
name
=
"user_id"
)
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userId
;
/**
* 更新时间
*/
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
"更新时间"
,
hidden
=
true
)
private
Date
updTime
;
/**
* 创建者ip
*/
@Column
(
name
=
"crt_host"
)
@ApiModelProperty
(
value
=
"创建者ip"
)
private
String
crtHost
;
/**
* 取消原因
*/
@Column
(
name
=
"cancel_reason"
)
@ApiModelProperty
(
value
=
"取消原因"
)
private
String
cancelReason
;
/**
* 退款流水号
*/
@Column
(
name
=
"refund_trade_no"
)
@ApiModelProperty
(
value
=
"退款流水号"
)
private
String
refundTradeNo
;
/**
* 支付时间
*/
@Column
(
name
=
"pay_time"
)
@ApiModelProperty
(
value
=
"支付时间"
)
private
Long
payTime
;
/**
* 退款时间
*/
...
...
@@ -195,4 +195,18 @@ public class BaseOrder implements Serializable {
@Column
(
name
=
"has_discount"
)
@ApiModelProperty
(
value
=
"是否有优惠"
)
private
Long
hasDiscount
;
/**
* 是否已支付
*/
@Column
(
name
=
"has_pay"
)
@ApiModelProperty
(
value
=
"是否已支付"
)
private
Integer
hasPay
;
@Transient
private
String
username
;
@Transient
private
String
vehicalNumberPlat
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderRefund.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 订单退款记录表
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 11:08:09
*/
@Data
@Table
(
name
=
"order_refund"
)
public
class
OrderRefund
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
/**
* 订单id
*/
@Column
(
name
=
"order_id"
)
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
orderId
;
/**
* 退款对应的流水号
*/
@Column
(
name
=
"trade_no"
)
@ApiModelProperty
(
value
=
"退款对应的流水号"
)
private
Integer
tradeNo
;
/**
* 退款时间
*/
@Column
(
name
=
"refund_time"
)
@ApiModelProperty
(
value
=
"退款时间"
)
private
Long
refundTime
;
/**
* 退款类型 1--订单款;2--押金
*/
@Column
(
name
=
"refund_type"
)
@ApiModelProperty
(
value
=
"退款类型 1--订单款;2--押金"
)
private
Integer
refundType
;
/**
* 退款状态 0--失败;1--成功
*/
@Column
(
name
=
"refund_status"
)
@ApiModelProperty
(
value
=
"退款状态 0--失败;1--成功"
)
private
Integer
refundStatus
;
/**
* 退款金额
*/
@Column
(
name
=
"refund_amount"
)
@ApiModelProperty
(
value
=
"退款金额"
)
private
Integer
refundAmount
;
/**
* 退款说明
*/
@Column
(
name
=
"refund_desc"
)
@ApiModelProperty
(
value
=
"退款说明"
)
private
String
refundDesc
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderRentVehicleDetail.java
View file @
40a0c447
...
...
@@ -2,7 +2,6 @@ package com.xxfc.platform.order.entity;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderVehicaleCrosstown.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.RequiredArgsConstructor
;
import
javax.persistence.*
;
@Table
(
name
=
"order_vehicle_crosstown"
)
@Data
@RequiredArgsConstructor
public
class
OrderVehicaleCrosstown
{
/**
* 主键id
*/
@Id
private
Integer
id
;
/**
* 订单id
*/
@Column
(
name
=
"order_id"
)
private
Integer
orderId
;
/**
* 订单号
*/
@Column
(
name
=
"order_no"
)
private
String
orderNo
;
/**
* 驾驶人
*/
@Column
(
name
=
"license_name"
)
private
String
licenseName
;
/**
* 驾驶人手机号
*/
@Column
(
name
=
"license_phone"
)
private
String
licensePhone
;
/**
* 驾驶证照
*/
@Column
(
name
=
"license_img"
)
private
String
licenseImg
;
/**
* 公里数(公里)
*/
private
Integer
mileage
;
/**
* 公里数取证照
*/
@Column
(
name
=
"mileage_img"
)
private
String
mileageImg
;
/**
* 审核状态;0-未审核;1-已审核
*/
private
Boolean
status
;
/**
* 审核时间
*/
@Column
(
name
=
"status_time"
)
private
Long
statusTime
;
/**
* 审核名称
*/
@Column
(
name
=
"status_name"
)
private
String
statusName
;
/**
* 审核人id
*/
@Column
(
name
=
"status_id"
)
private
Integer
statusId
;
/**
* 是否删除;0-正常;1-删除
*/
@Column
(
name
=
"is_del"
)
private
Boolean
isDel
;
/**
* 取证图片
*/
private
String
imgs
;
/**
* 备注
*/
private
String
remak
;
/**
* 创建时间
*/
private
Long
crtTime
;
/**
* 更新时间
*/
private
Long
updTime
;
/**
* 钥匙图片
*/
private
String
vehicleKey
;
/**
* 是否有扣除项
*/
private
Boolean
isDed
;
/**
* 扣除项明细
*/
private
String
dedDetail
;
/**
* 驾驶人身份证号
*/
private
String
licenseIdCard
;
/**
* 1、交车, 2、还车
*/
private
Integer
type
;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/AddRentVehicleDTO.java
View file @
40a0c447
...
...
@@ -50,11 +50,6 @@ public class AddRentVehicleDTO{
@ApiModelProperty
(
value
=
"还车地点"
)
private
String
endAddr
;
//费用详情
@Column
(
name
=
"cost_detail"
)
@ApiModelProperty
(
value
=
"费用详情"
)
private
String
costDetail
;
//取车城市编号
@Column
(
name
=
"start_city"
)
@ApiModelProperty
(
value
=
"取车城市编号"
)
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/RentVehiclePriceVO.java
View file @
40a0c447
...
...
@@ -17,6 +17,8 @@ public class RentVehiclePriceVO extends OrderPriceVO{
BigDecimal
deposit
;
@ApiModelProperty
(
value
=
"天数"
)
Integer
dayNum
;
@ApiModelProperty
(
value
=
"车辆天数"
)
Integer
vehicleDayNum
;
@ApiModelProperty
(
value
=
"车辆个数"
)
Integer
vehicleNum
;
@ApiModelProperty
(
value
=
"司机个数"
)
...
...
xx-order/xx-order-server/pom.xml
View file @
40a0c447
...
...
@@ -25,7 +25,6 @@
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
...
...
@@ -50,6 +49,11 @@
<version>
5.1.30
</version>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
commons-beanutils
</groupId>
<artifactId>
commons-beanutils
</artifactId>
<version>
1.9.3
</version>
</dependency>
<dependency>
<groupId>
tk.mybatis
</groupId>
<artifactId>
mapper
</artifactId>
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
40a0c447
...
...
@@ -6,15 +6,23 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderRefund
;
import
com.xxfc.platform.order.entity.OrderRentVehicleDetail
;
import
com.xxfc.platform.order.mapper.BaseOrderMapper
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.vo.OrderRefundVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
/**
*
*
...
...
@@ -24,12 +32,25 @@ import java.util.Map;
*/
@Service
public
class
BaseOrderBiz
extends
BaseBiz
<
BaseOrderMapper
,
BaseOrder
>
{
@Autowired
OrderRentVehicleBiz
orderRentVehicleBiz
;
@Autowired
OrderRefundBiz
orderRefundBiz
;
@Autowired
ThirdFeign
thirdFeign
;
public
List
<
OrderPageVO
>
pageByParm
(
Map
<
String
,
Object
>
paramMap
){
return
mapper
.
pageByParm
(
paramMap
);
}
public
List
<
OrderPageVO
>
listOrder
(
Map
<
String
,
Object
>
paramMap
){
return
mapper
.
listOrder
(
paramMap
);
}
public
List
<
OrderPageVO
>
getRentVehicle
(
Map
<
String
,
Object
>
paramMap
)
{
return
mapper
.
getRentVehicle
(
paramMap
);
}
private
static
Map
<
Integer
,
List
<
Integer
>>
cancelAble
;
static
{
cancelAble
=
new
HashMap
<
Integer
,
List
<
Integer
>>();
...
...
@@ -48,6 +69,32 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
setStatus
(
OrderStatusEnum
.
ORDER_CANCEL
.
getCode
());
setCancelReason
(
baseOrder
.
getCancelReason
());
}});
//触发退款流程
//判断是否已支付
if
(
baseOrder
.
getHasPay
().
equals
(
SYS_TRUE
))
{
//判断订单类型
if
(
OrderTypeEnum
.
RentVehicle
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
OrderRentVehicleDetail
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
(){{
setOrderId
(
baseOrder
.
getId
());
}});
//计算退款金额
// 1、押金 + 租金(规则扣除)
BigDecimal
refundAmont
=
orvd
.
getDeposit
().
add
(
baseOrder
.
getGoodsAmount
());
thirdFeign
.
refund
(
new
OrderRefundVo
(){{
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setRefundAmount
(
refundAmont
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
setOrderNo
(
baseOrder
.
getNo
());
setRefundDesc
(
"取消订单退款:"
+
refundAmont
.
toString
());
}});
//创建订单退款记录
}
else
if
(
OrderTypeEnum
.
TOUR
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
}
}
}
else
{
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
);
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
biz
;
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
;
/**
* 订单退款记录表
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 11:08:09
*/
@Service
public
class
OrderRefundBiz
extends
BaseBiz
<
OrderRefundMapper
,
OrderRefund
>
{
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicalCrosstownBiz.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.ace.cache.annotation.Cache
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.OrderVehicaleCrosstown
;
import
com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
OrderVehicalCrosstownBiz
extends
BaseBiz
<
OrderVehicaleCrosstownMapper
,
OrderVehicaleCrosstown
>
{
public
OrderVehicaleCrosstown
get
(
Integer
id
){
return
selectById
(
id
);
}
public
List
<
OrderVehicaleCrosstown
>
selectByOrderId
(
OrderVehicaleCrosstown
orderVehicaleCrosstown
)
{
return
mapper
.
selectByOrderId
(
orderVehicaleCrosstown
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/config/FeignHeadConfiguration.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
config
;
import
feign.RequestInterceptor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Enumeration
;
/**
* 自定义的请求头处理类,处理服务发送时的请求头;
* 将服务接收到的请求头中的uniqueId和token字段取出来,并设置到新的请求头里面去转发给下游服务
* 比如A服务收到一个请求,请求头里面包含uniqueId和token字段,A处理时会使用Feign客户端调用B服务
* 那么uniqueId和token这两个字段就会添加到请求头中一并发给B服务;
*
* @author mozping
* @version 1.0
* @date 2018/6/27 14:13
* @see FeignHeadConfiguration
* @since JDK1.8
*/
@Configuration
@Slf4j
public
class
FeignHeadConfiguration
{
@Bean
public
RequestInterceptor
requestInterceptor
()
{
return
requestTemplate
->
{
ServletRequestAttributes
attrs
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
if
(
attrs
!=
null
)
{
HttpServletRequest
request
=
attrs
.
getRequest
();
Enumeration
<
String
>
headerNames
=
request
.
getHeaderNames
();
if
(
headerNames
!=
null
)
{
while
(
headerNames
.
hasMoreElements
())
{
String
name
=
headerNames
.
nextElement
();
String
value
=
request
.
getHeader
(
name
);
/**
* 遍历请求头里面的属性字段,将logId和token添加到新的请求头中转发到下游服务
* */
if
(
"Authorization"
.
equalsIgnoreCase
(
name
))
{
log
.
debug
(
"添加自定义请求头key:"
+
name
+
",value:"
+
value
);
requestTemplate
.
header
(
name
,
value
);
}
else
{
log
.
debug
(
"FeignHeadConfiguration"
,
"非自定义请求头key:"
+
name
+
",value:"
+
value
+
"不需要添加!"
);
}
}
}
else
{
log
.
warn
(
"FeignHeadConfiguration"
,
"获取请求头失败!"
);
}
}
};
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
View file @
40a0c447
...
...
@@ -17,4 +17,5 @@ import java.util.Map;
public
interface
BaseOrderMapper
extends
Mapper
<
BaseOrder
>
{
public
List
<
OrderPageVO
>
pageByParm
(
Map
<
String
,
Object
>
paramMap
);
public
List
<
OrderPageVO
>
listOrder
(
Map
<
String
,
Object
>
paramMap
);
public
List
<
OrderPageVO
>
getRentVehicle
(
Map
<
String
,
Object
>
paramMap
);
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderRefundMapper.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderRefund
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 订单退款记录表
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 11:08:09
*/
public
interface
OrderRefundMapper
extends
Mapper
<
OrderRefund
>
{
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderVehicaleCrosstownMapper.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderVehicaleCrosstown
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
public
interface
OrderVehicaleCrosstownMapper
extends
Mapper
<
OrderVehicaleCrosstown
>
{
List
<
OrderVehicaleCrosstown
>
selectByOrderId
(
OrderVehicaleCrosstown
orderVehicaleCrosstown
);
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
40a0c447
...
...
@@ -3,7 +3,7 @@ package com.xxfc.platform.order.rest;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.github.
pagehelper.PageHelper
;
import
com.github.
wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
...
...
@@ -26,6 +26,9 @@ import com.xxfc.platform.order.pojo.pay.RentVehicleOrderPayVO;
import
com.xxfc.platform.universal.constant.enumerate.PayChannelEnum
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.vo.OrderPayVo
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -37,40 +40,42 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
@Controller
@RequestMapping
(
"baseOrder"
)
@Api
(
value
=
"订单"
,
tags
=
{
"订单"
})
@Api
(
value
=
"订单"
,
tags
=
{
"订单"
})
@Slf4j
public
class
BaseOrderController
extends
CommonBaseController
{
public
static
final
Integer
STATUS_SUCCESS
=
1
;
@Autowired
BaseOrderBiz
baseOrderBiz
;
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
UserFeign
userFeign
;
@Resource
VehicleFeign
vehicleFeign
;
@Value
(
"${gateway.host}"
)
String
host
;
@Value
(
"${gateway.order}"
)
String
order
;
String
notifyUrl
=
"/baseOrder/app/unauth/notifyUrl"
;
public
static
final
Integer
STATUS_SUCCESS
=
1
;
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ApiOperation
(
value
=
"订单列表"
)
@IgnoreClientToken
public
ObjectRestResponse
<
PageDataVO
<
OrderPageVO
>>
list
(
QueryOrderDTO
dto
){
public
ObjectRestResponse
<
PageDataVO
<
OrderPageVO
>>
list
(
QueryOrderDTO
dto
)
{
//查询列表数据
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
dto
.
setCrtUser
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
...
...
@@ -78,24 +83,81 @@ public class BaseOrderController extends CommonBaseController {
return
new
ObjectRestResponse
<>().
data
(
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
pageByParm
(
query
.
getSuper
())));
}
@RequestMapping
(
value
=
"/list"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/list"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ApiOperation
(
value
=
"订单列表"
)
@IgnoreClientToken
public
ObjectRestResponse
<
PageDataVO
<
OrderPageVO
>>
getOrderList
(
QueryOrderDTO
dto
){
public
ObjectRestResponse
<
PageDataVO
<
OrderPageVO
>>
getOrderList
(
QueryOrderDTO
dto
)
{
Query
query
=
new
Query
(
dto
);
return
new
ObjectRestResponse
<>().
data
(
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
selectListAll
()));
}
@RequestMapping
(
value
=
"/
selectByUser"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/
getOrderList"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ApiOperation
(
value
=
"订单列表"
)
@IgnoreClientToken
public
ObjectRestResponse
<
PageDataVO
<
OrderPageVO
>>
selectByUser
(
QueryOrderList
dto
){
public
ObjectRestResponse
<
PageDataVO
<
OrderPageVO
>>
selectByUser
(
QueryOrderList
dto
)
{
if
(
dto
.
getStartTime
()
!=
null
)
{
if
(
dto
.
getEndTime
()
==
null
)
{
dto
.
setEndTime
(
new
Date
().
getTime
());
}
}
Query
query
=
new
Query
(
dto
);
return
new
ObjectRestResponse
<>().
data
(
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
listOrder
(
query
.
getSuper
())));
PageDataVO
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
listOrder
(
query
.
getSuper
()));
List
<
OrderPageVO
>
list
=
pageDataVO
.
getData
();
List
<
Integer
>
userIds
=
list
.
stream
().
map
(
OrderPageVO:
:
getUserId
).
distinct
().
collect
(
Collectors
.
toList
());
ObjectRestResponse
<
List
<
AppUserDetail
>>
objectRestResponse
=
userFeign
.
getByUserIds
(
userIds
);
for
(
OrderPageVO
orderPageVO
:
list
)
{
if
(
objectRestResponse
.
getData
()
!=
null
&&
objectRestResponse
.
getData
().
size
()
>
0
)
{
for
(
AppUserDetail
appUserDetail
:
objectRestResponse
.
getData
())
{
if
(
appUserDetail
!=
null
&&
appUserDetail
.
getUserid
()
==
orderPageVO
.
getUserId
())
{
orderPageVO
.
setUsername
(
appUserDetail
.
getNickname
());
}
}
}
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getVehicleId
()
!=
null
)
{
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderPageVO
.
getOrderRentVehicleDetail
().
getVehicleId
());
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
if
(
restResponse
.
getData
()
!=
null
)
{
orderPageVO
.
setVehicalNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
}
}
}
return
new
ObjectRestResponse
<>().
data
(
pageDataVO
);
}
@RequestMapping
(
value
=
"/getVehicleList"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ApiOperation
(
value
=
"交还车订单列表"
)
@IgnoreClientToken
public
ObjectRestResponse
<
List
<
OrderPageVO
>>
getVehicleList
(
QueryOrderList
dto
)
{
if
(
dto
.
getStartTime
()
!=
null
)
{
if
(
dto
.
getEndTime
()
==
null
)
{
dto
.
setEndTime
(
new
Date
().
getTime
());
}
}
dto
.
setType
(
1
);
Query
query
=
new
Query
(
dto
);
PageDataVO
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
listOrder
(
query
.
getSuper
()));
return
new
ObjectRestResponse
<>().
data
(
pageDataVO
);
}
@RequestMapping
(
value
=
"/getTourList"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ApiOperation
(
value
=
"交还车订单列表"
)
@IgnoreClientToken
public
ObjectRestResponse
<
List
<
OrderPageVO
>>
getTourList
(
QueryOrderList
dto
)
{
if
(
dto
.
getStartTime
()
!=
null
)
{
if
(
dto
.
getEndTime
()
==
null
)
{
dto
.
setEndTime
(
new
Date
().
getTime
());
}
}
dto
.
setType
(
2
);
Query
query
=
new
Query
(
dto
);
PageDataVO
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
listOrder
(
query
.
getSuper
()));
return
new
ObjectRestResponse
<>().
data
(
pageDataVO
);
}
// @RequestMapping(value = "/company/page",method = RequestMethod.GET)
// @ResponseBody
...
...
@@ -112,36 +174,36 @@ public class BaseOrderController extends CommonBaseController {
// }
@ApiOperation
(
"订单详情"
)
@RequestMapping
(
value
=
"/{no}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/{no}"
,
method
=
RequestMethod
.
GET
)
@IgnoreClientToken
@ResponseBody
public
ObjectRestResponse
<
OrderPageVO
>
get
(
@PathVariable
String
no
){
public
ObjectRestResponse
<
OrderPageVO
>
get
(
@PathVariable
String
no
)
{
//查询列表数据
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
Query
query
=
initQuery
(
no
);
PageDataVO
<
OrderPageVO
>
page
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
pageByParm
(
query
.
getSuper
()));
if
(
page
.
getData
().
isEmpty
())
{
if
(
page
.
getData
().
isEmpty
())
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
return
new
ObjectRestResponse
<>().
data
(
page
.
getData
().
get
(
0
));
}
@ApiOperation
(
"结合后台人员所属公司查询订单详情"
)
@RequestMapping
(
value
=
"/company/{no}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/company/{no}"
,
method
=
RequestMethod
.
GET
)
@IgnoreClientToken
@ResponseBody
public
ObjectRestResponse
<
OrderPageVO
>
companyGet
(
@PathVariable
String
no
){
public
ObjectRestResponse
<
OrderPageVO
>
companyGet
(
@PathVariable
String
no
)
{
//查询列表数据
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
Query
query
=
initCompanyQuery
(
no
);
PageDataVO
<
OrderPageVO
>
page
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
pageByParm
(
query
.
getSuper
()));
if
(
page
.
getData
().
isEmpty
())
{
if
(
page
.
getData
().
isEmpty
())
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
return
new
ObjectRestResponse
<>().
data
(
page
.
getData
().
get
(
0
));
...
...
@@ -186,23 +248,23 @@ public class BaseOrderController extends CommonBaseController {
return
query
;
}
@RequestMapping
(
value
=
"/pay"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/pay"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"订单支付"
)
@IgnoreClientToken
public
ObjectRestResponse
pay
(
@RequestBody
RentVehicleOrderPayVO
vo
){
public
ObjectRestResponse
pay
(
@RequestBody
RentVehicleOrderPayVO
vo
)
{
//查询列表数据
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
OrderPayVo
orderPayVo
=
BeanUtil
.
toBean
(
vo
,
OrderPayVo
.
class
);
BaseOrder
baseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
(){{
BaseOrder
baseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
()
{{
setNo
(
vo
.
getOrderNo
());
}});
if
(
null
==
baseOrder
||
!
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
()))
{
if
(
null
==
baseOrder
||
!
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
()))
{
throw
new
BaseException
(
"订单不可支付"
,
ResultCode
.
EXCEPTION_CODE
);
}
...
...
@@ -210,26 +272,26 @@ public class BaseOrderController extends CommonBaseController {
orderPayVo
.
setBody
(
baseOrder
.
getName
());
orderPayVo
.
setBuyerIp
(
StringUtils
.
defaultIfBlank
(
request
.
getHeader
(
"userHost"
),
ClientUtil
.
getClientIp
(
request
)));
orderPayVo
.
setChannel
(
PayChannelEnum
.
ORDER_CRT
.
getCode
());
orderPayVo
.
setNotifyUrl
(
host
+
order
+
notifyUrl
+
"?orderNo="
+
baseOrder
.
getNo
());
orderPayVo
.
setNotifyUrl
(
host
+
order
+
notifyUrl
+
"?orderNo="
+
baseOrder
.
getNo
());
orderPayVo
.
setSubject
(
baseOrder
.
getName
());
orderPayVo
.
setUserId
(
baseOrder
.
getUserId
());
ObjectRestResponse
response
=
BeanUtil
.
toBean
(
thirdFeign
.
wx
(
orderPayVo
),
ObjectRestResponse
.
class
);
return
response
;
}
@RequestMapping
(
value
=
"/cancel/{no}"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/cancel/{no}"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"取消订单"
)
@IgnoreClientToken
public
ObjectRestResponse
cancel
(
@PathVariable
String
no
,
@RequestBody
CancelOrderDTO
cancelOrderDto
){
public
ObjectRestResponse
cancel
(
@PathVariable
String
no
,
@RequestBody
CancelOrderDTO
cancelOrderDto
)
{
//查询列表数据
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
}
BaseOrder
dbBaseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
(){{
BaseOrder
dbBaseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
()
{{
setNo
(
no
);
}});
if
(
null
==
dbBaseOrder
||
!
BaseContextHandler
.
getUserID
().
equals
(
dbBaseOrder
.
getUserId
().
toString
()))
{
if
(
null
==
dbBaseOrder
||
!
BaseContextHandler
.
getUserID
().
equals
(
dbBaseOrder
.
getUserId
().
toString
()))
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
dbBaseOrder
.
setCancelReason
(
cancelOrderDto
.
getCancelReason
());
...
...
@@ -237,36 +299,46 @@ public class BaseOrderController extends CommonBaseController {
return
ObjectRestResponse
.
succ
();
}
@RequestMapping
(
value
=
"/app/unauth/notifyUrl"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/app/unauth/notifyUrl"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ApiOperation
(
value
=
"订单支付回调"
)
@IgnoreClientToken
@IgnoreUserToken
public
ObjectRestResponse
notifyUrl
(
NotifyUrlDTO
dto
){
public
ObjectRestResponse
notifyUrl
(
NotifyUrlDTO
dto
)
{
//判断是否成功,并且订单是未支付状态,则添加支付编号和修改状态
if
(
StrUtil
.
isNotBlank
(
dto
.
getOrderNo
()))
{
BaseOrder
baseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
(){{
if
(
StrUtil
.
isNotBlank
(
dto
.
getOrderNo
()))
{
BaseOrder
baseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
()
{{
setNo
(
dto
.
getOrderNo
());
}});
if
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
()))
{
if
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
()))
{
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
());
baseOrder
.
setOutTradeNo
(
dto
.
getTradeNo
());
baseOrderBiz
.
updateById
(
baseOrder
);
}
else
{
log
.
error
(
" exception notifyUrl : "
+
JSONUtil
.
toJsonStr
(
dto
));
}
else
{
if
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
()))
{
BaseOrder
updateOrder
=
new
BaseOrder
()
{{
setNo
(
dto
.
getOrderNo
());
setStatus
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
());
setOutTradeNo
(
dto
.
getTradeNo
());
setHasPay
(
SYS_TRUE
);
setPayTime
(
System
.
currentTimeMillis
());
}};
baseOrderBiz
.
updateSelectiveById
(
updateOrder
);
}
else
{
log
.
error
(
" exception notifyUrl : "
+
JSONUtil
.
toJsonStr
(
dto
));
}
}
}
else
{
}
else
{
log
.
error
(
" exception notifyUrl : "
+
JSONUtil
.
toJsonStr
(
dto
));
}
return
new
ObjectRestResponse
().
rel
(
true
);
}
/**
* 订单查询类
*/
@Data
public
class
QueryOrderDTO
extends
PageParam
{
public
class
QueryOrderDTO
extends
PageParam
{
@ApiModelProperty
(
hidden
=
false
)
private
Integer
crtUser
;
...
...
@@ -296,15 +368,21 @@ public class BaseOrderController extends CommonBaseController {
@Data
public
class
QueryOrderList
extends
QueryOrderDetailDTO
{
private
Long
startTime
;
private
Long
startTime
;
private
Long
endTime
;
private
Long
endTime
;
private
Integer
startCompanyId
;
private
Integer
startCompanyId
;
private
Integer
startZoneId
;
private
Integer
userId
;
private
Integer
type
;
}
@Data
public
class
NotifyUrlDTO
{
public
class
NotifyUrlDTO
{
//订单号
@ApiModelProperty
(
value
=
"订单号"
)
private
String
orderNo
;
...
...
@@ -313,4 +391,4 @@ public class BaseOrderController extends CommonBaseController {
@ApiModelProperty
(
value
=
"支付订单(流水)号"
)
private
String
tradeNo
;
}
}
\ No newline at end of file
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRefundController.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
rest
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.order.biz.OrderRefundBiz
;
import
com.xxfc.platform.order.entity.OrderRefund
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Controller
@RequestMapping
(
"orderRefund"
)
public
class
OrderRefundController
extends
BaseController
<
OrderRefundBiz
,
OrderRefund
>
{
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderVehicleCrosstownController.java
0 → 100644
View file @
40a0c447
package
com
.
xxfc
.
platform
.
order
.
rest
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz
;
import
com.xxfc.platform.order.entity.OrderVehicaleCrosstown
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@RestController
@RequestMapping
(
value
=
"/orderVehicle"
)
@Api
(
value
=
"交还车记录"
,
tags
=
{
"交还车记录"
})
@Slf4j
public
class
OrderVehicleCrosstownController
{
@Autowired
OrderVehicalCrosstownBiz
orderVehicalCrosstownBiz
;
@PostMapping
(
value
=
"/add"
)
@ApiOperation
(
value
=
"添加交还车记录"
)
public
ObjectRestResponse
<?>
add
(
OrderVehicaleCrosstown
orderVehicaleCrosstown
)
{
log
.
info
(
"添加的参数:orderVehicaleCrosstown = {}"
,
orderVehicaleCrosstown
);
if
(
orderVehicaleCrosstown
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"参数为空!"
);
}
if
(
orderVehicaleCrosstown
.
getId
()
!=
null
)
{
OrderVehicaleCrosstown
oldValue
=
orderVehicalCrosstownBiz
.
get
(
orderVehicaleCrosstown
.
getId
());
if
(
oldValue
!=
null
)
{
BeanUtil
.
copyProperties
(
orderVehicaleCrosstown
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
orderVehicalCrosstownBiz
.
updateSelectiveById
(
oldValue
);
return
ObjectRestResponse
.
succ
();
}
orderVehicalCrosstownBiz
.
insertSelective
(
orderVehicaleCrosstown
);
return
ObjectRestResponse
.
succ
();
}
else
{
orderVehicalCrosstownBiz
.
insertSelective
(
orderVehicaleCrosstown
);
return
ObjectRestResponse
.
succ
();
}
}
@GetMapping
(
value
=
"/{id}"
)
@ApiOperation
(
value
=
"查询记录信息"
)
public
ObjectRestResponse
<
OrderVehicaleCrosstown
>
get
(
@PathVariable
Integer
id
)
{
return
ObjectRestResponse
.
succ
(
orderVehicalCrosstownBiz
.
get
(
id
));
}
@GetMapping
(
value
=
"/getByOrderId"
)
@ApiOperation
(
value
=
"根据订单Id获取所有记录信息"
)
public
ObjectRestResponse
<
List
<
OrderVehicaleCrosstown
>>
getByOrderId
(
OrderVehicaleCrosstown
orderVehicaleCrosstown
)
{
if
(
orderVehicaleCrosstown
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"参数orderId为空"
);
}
return
ObjectRestResponse
.
succ
(
orderVehicalCrosstownBiz
.
selectByOrderId
(
orderVehicaleCrosstown
));
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/AbstractOrderHandle.java
View file @
40a0c447
...
...
@@ -78,7 +78,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
detail
.
setOrderId
(
detail
.
getOrder
().
getId
());
detailBiz
.
insertSelective
(
detail
);
detail
.
getOrder
().
setDetailId
(
detail
.
getId
());
baseOrderBiz
.
updateById
(
detail
.
getOrder
());
baseOrderBiz
.
update
Selective
ById
(
detail
.
getOrder
());
}
// /**
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
40a0c447
...
...
@@ -97,17 +97,17 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//当前用户
AppUserDTO
dto
=
detail
.
getAppUserDTO
();
//
//如果用户存在,并且为会员,并且车辆有优惠价
//
if(null != dto && detail.getRentFreeDay() > 0 && dto.getRentFreeDays() > 0) {
//
if(detail.getDayNum() > dto.getRentFreeDays()) {
//
freeDayNum = dto.getRentFreeDays();
//
}else {
//
freeDayNum = detail.getDayNum();
//
}
//
vehicleDayNum = detail.getDayNum() - freeDayNum;
//
}else {
//
vehicleDayNum = detail.getDayNum();
//
}
//如果用户存在,并且为会员,并且车辆有优惠价
if
(
null
!=
dto
&&
detail
.
getRentFreeDay
()
>
0
&&
dto
.
getRentFreeDays
()
>
0
)
{
if
(
detail
.
getDayNum
()
>
dto
.
getRentFreeDays
())
{
freeDayNum
=
dto
.
getRentFreeDays
();
}
else
{
freeDayNum
=
detail
.
getDayNum
();
}
vehicleDayNum
=
detail
.
getDayNum
()
-
freeDayNum
;
}
else
{
vehicleDayNum
=
detail
.
getDayNum
();
}
//计算价格
//计算车辆费用
...
...
@@ -130,7 +130,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
else
{
modelAmount
=
vehicleModel
.
getPrice
();
}
vehicleAmount
=
vehicleAmount
.
add
(
modelAmount
.
multiply
(
BigDecimal
.
valueOf
(
detail
.
getDayNum
()
)));
vehicleAmount
=
vehicleAmount
.
add
(
modelAmount
.
multiply
(
BigDecimal
.
valueOf
(
vehicleDayNum
)));
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
//计算司机费用
driverAmount
=
driverAmount
.
add
(
DRIVER_PRICE
.
multiply
(
BigDecimal
.
valueOf
(
detail
.
getDayNum
())));
...
...
@@ -160,11 +160,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp
.
setDamageSafePrice
(
DAMAGE_SAFE
);
rvp
.
setModelName
(
vehicleModel
.
getName
());
rvp
.
setDayNum
(
detail
.
getDayNum
());
rvp
.
setVehicleDayNum
(
vehicleDayNum
);
rvp
.
setVehicleNum
(
1
);
rvp
.
setDriverNum
(
1
);
//设置收费明细
costDetail
(
rvp
,
handlechildren
(
detail
));
costDetail
(
rvp
,
handlechildren
(
detail
,
vehicleDayNum
));
return
rvp
;
}
...
...
@@ -186,8 +187,11 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
return
modelAmount
;
}
private
String
handlechildren
(
RentVehicleBO
detail
)
{
StringBuffer
childrenStr
=
new
StringBuffer
(
"${tem_0101}"
);
private
String
handlechildren
(
RentVehicleBO
detail
,
Integer
vehicleDayNum
)
{
StringBuffer
childrenStr
=
new
StringBuffer
(
""
);
if
(
vehicleDayNum
>
0
)
{
childrenStr
.
append
(
",${tem_0101}"
);
}
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
childrenStr
.
append
(
",${tem_0102}"
);
}
...
...
@@ -195,6 +199,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
if
(
DRIVER_TYPE_DAMAGE_SAFE
.
equals
(
detail
.
getDamageSafe
()))
{
childrenStr
.
append
(
",${tem_0104}"
);
}
if
(
childrenStr
.
length
()
>
0
){
childrenStr
.
deleteCharAt
(
1
);
}
return
childrenStr
.
toString
();
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
40a0c447
...
...
@@ -57,7 +57,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
VehicleFeign
vehicleFeign
;
private
static
Integer
IS_CHILD
=
0
;
private
static
Integer
IS_CHILD
=
1
;
// private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00");
// private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔
...
...
@@ -113,11 +113,11 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
bo
.
setStartCityName
(
sysRegion
.
getName
());
//设置verificationId 核销id
bo
.
setVerificationId
(
tourFeign
.
entityList
(
BeanUtil
.
beanToMap
(
new
TourGoodVerification
(){{
setSpeId
(
bo
.
getSpePriceId
());
setGoodId
(
bo
.
getGoodId
());
setSiteId
(
bo
.
getSiteId
());
}})).
getData
().
get
(
0
).
getId
());
//
bo.setVerificationId(tourFeign.entityList(BeanUtil.beanToMap(new TourGoodVerification(){{
//
setSpeId(bo.getSpePriceId());
//
setGoodId(bo.getGoodId());
//
setSiteId(bo.getSiteId());
//
}})).getData().get(0).getId());
//扣減庫存
tourFeign
.
stock
(
bo
.
getSpePriceId
(),
bo
.
getTotalNumber
());
...
...
xx-order/xx-order-server/src/main/resources/builder/generatorConfig.xml
View file @
40a0c447
...
...
@@ -27,7 +27,7 @@
<javaClientGenerator
targetPackage=
"${targetMapperPackage}"
targetProject=
"${targetJavaProject}"
type=
"XMLMAPPER"
/>
<!-- <table tableName="
vehicle
" domainObjectName="Vehicle">-->
<!-- <table tableName="
order_vehicle_crosstown
" domainObjectName="Vehicle">-->
<!-- </table>-->
<!-- <table tableName="vehicle_book_info" domainObjectName="VehicleBookInfo">-->
<!-- </table>-->
...
...
@@ -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=
"
base_order"
domainObjectName=
"baseOrder
"
></table>
<table
tableName=
"
order_vehicle_crosstown"
domainObjectName=
"OrderVehicaleCrosstown
"
></table>
<!-- <table tableName="vehicle_upkeep_log" domainObjectName="VehicleUpkeepLog"></table>-->
</context>
</generatorConfiguration>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
40a0c447
...
...
@@ -68,6 +68,9 @@
</if>
<if
test=
"status != null"
>
and b.status = #{status}
</if>
<if
test=
"type != null"
>
and b.type = #{type}
</if>
<if
test=
"no != null"
>
and no like CONCAT ("%", #{no}, "%")
...
...
@@ -80,6 +83,34 @@
and r.start_company_id = #{startCompanyId}
or t.start_company_id = #{startCompanyId}
</if>
<if
test=
"startZoneId != null"
>
and r.start_zone_id = #{startZoneId}
or t.start_zone_id = #{startZoneId}
</if>
</where>
order by b.crt_time desc
</select>
<select
id=
"getRentVehicle"
parameterType=
"Map"
resultMap=
"orderPageMap"
>
select b.*
from base_order b
LEFT JOIN order_rent_vehicle_detail r on r.order_id = b.id
<where>
<if
test=
"userId != null"
>
and b.user_id = #{userId}
</if>
<if
test=
"status != null"
>
and b.status = #{status}
</if>
<if
test=
"no != null"
>
and no like CONCAT ("%", #{no}, "%")
</if>
<if
test=
"startTime != null"
>
and r.start_time between #{startTime} and #{endTime}
</if>
<if
test=
"startCompanyId != null"
>
and r.start_company_id = #{startCompanyId}
</if>
</where>
order by b.crt_time desc
</select>
...
...
xx-order/xx-order-server/src/main/resources/mapper/OrderRefundMapper.xml
0 → 100644
View file @
40a0c447
<?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.order.mapper.OrderRefundMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.order.entity.OrderRefund"
id=
"orderRefundMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"orderId"
column=
"order_id"
/>
<result
property=
"tradeNo"
column=
"trade_no"
/>
<result
property=
"refundTime"
column=
"refund_time"
/>
<result
property=
"refundType"
column=
"refund_type"
/>
<result
property=
"refundStatus"
column=
"refund_status"
/>
<result
property=
"refundAmount"
column=
"refund_amount"
/>
<result
property=
"refundDesc"
column=
"refund_desc"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
</resultMap>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/OrderVehicaleCrosstownMapper.xml
0 → 100644
View file @
40a0c447
<?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.order.mapper.OrderVehicaleCrosstownMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.xxfc.platform.order.entity.OrderVehicaleCrosstown"
>
<!--
WARNING - @mbg.generated
-->
<id
column=
"id"
jdbcType=
"INTEGER"
property=
"id"
/>
<result
column=
"order_id"
jdbcType=
"INTEGER"
property=
"orderId"
/>
<result
column=
"order_no"
jdbcType=
"VARCHAR"
property=
"orderNo"
/>
<result
column=
"license_name"
jdbcType=
"VARCHAR"
property=
"licenseName"
/>
<result
column=
"license_phone"
jdbcType=
"VARCHAR"
property=
"licensePhone"
/>
<result
column=
"license_img"
jdbcType=
"VARCHAR"
property=
"licenseImg"
/>
<result
column=
"mileage"
jdbcType=
"INTEGER"
property=
"mileage"
/>
<result
column=
"mileage_img"
jdbcType=
"VARCHAR"
property=
"mileageImg"
/>
<result
column=
"status"
jdbcType=
"BIT"
property=
"status"
/>
<result
column=
"status_time"
jdbcType=
"BIGINT"
property=
"statusTime"
/>
<result
column=
"status_name"
jdbcType=
"VARCHAR"
property=
"statusName"
/>
<result
column=
"status_id"
jdbcType=
"INTEGER"
property=
"statusId"
/>
<result
column=
"is_del"
jdbcType=
"BIT"
property=
"isDel"
/>
<result
column=
"imgs"
jdbcType=
"LONGVARCHAR"
property=
"imgs"
/>
<result
column=
"remak"
jdbcType=
"LONGVARCHAR"
property=
"remak"
/>
<result
column=
"crt_time"
jdbcType=
"BIGINT"
property=
"crtTime"
/>
<result
column=
"upd_time"
jdbcType=
"BIGINT"
property=
"updTime"
/>
<result
column=
"vehicle_key"
jdbcType=
"LONGVARCHAR"
property=
"vehicleKey"
/>
<result
column=
"license_id_card"
jdbcType=
"VARCHAR"
property=
"licenseIdCard"
/>
<result
column=
"is_ded"
jdbcType=
"BIT"
property=
"isDeD"
/>
<result
column=
"ded_detail"
jdbcType=
"LONGVARCHAR"
property=
"dedDetail"
/>
<result
column=
"type"
jdbcType=
"INTEGER"
property=
"type"
/>
</resultMap>
<select
id=
"selectByOrderId"
parameterType=
"com.xxfc.platform.order.entity.OrderVehicaleCrosstown"
resultMap=
"BaseResultMap"
>
select *
from order_vehicle_crosstown
<where>
<if
test=
"status != null"
>
and status = #{status}
</if>
<if
test=
"type != null"
>
and type = #{type}
</if>
<if
test=
"orderId != null"
>
and order_id = #{orderId}
</if>
<if
test=
"orderNo != null"
>
and order_no = #{orderNo}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
xx-tour/xx-tour-api/src/main/java/com/xxfc/platform/tour/dto/TourGoodDTO.java
View file @
40a0c447
...
...
@@ -72,6 +72,11 @@ public class TourGoodDTO {
@ApiModelProperty
(
value
=
"状态:0-未发布;1-上架;2-下架"
)
private
Integer
status
;
//是否省外;0-省内;1-省外
@ApiModelProperty
(
value
=
"是否省外;0-省内;1-省外"
)
private
Integer
isOutside
;
//是否推荐:0-未推荐;1-已推荐
@ApiModelProperty
(
value
=
"是否推荐:0-未推荐;1-已推荐"
)
private
Integer
recommend
;
...
...
xx-tour/xx-tour-api/src/main/java/com/xxfc/platform/tour/entity/TourGood.java
View file @
40a0c447
...
...
@@ -90,7 +90,12 @@ public class TourGood implements Serializable {
@Column
(
name
=
"status"
)
@ApiModelProperty
(
value
=
"状态:0-未发布;1-上架;2-下架"
)
private
Integer
status
;
//是否省外;0-省内;1-省外
@Column
(
name
=
"is_outside"
)
@ApiModelProperty
(
value
=
"是否省外;0-省内;1-省外"
)
private
Integer
isOutside
;
//创建时间
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
...
...
xx-tour/xx-tour-api/src/main/java/com/xxfc/platform/tour/vo/TourGoodDetailVo.java
View file @
40a0c447
...
...
@@ -83,6 +83,10 @@ public class TourGoodDetailVo {
//更新时间
@ApiModelProperty
(
value
=
"更新时间"
,
hidden
=
true
)
private
Long
updTime
;
//是否省外;0-省内;1-省外
@ApiModelProperty
(
value
=
"是否省外;0-省内;1-省外"
)
private
Integer
isOutside
;
//是否推荐:0-未推荐;1-已推荐
@ApiModelProperty
(
value
=
"是否推荐:0-未推荐;1-已推荐"
)
...
...
xx-tour/xx-tour-api/src/main/java/com/xxfc/platform/tour/vo/TourGoodVo.java
View file @
40a0c447
...
...
@@ -2,11 +2,6 @@ package com.xxfc.platform.tour.vo;
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
;
...
...
@@ -74,6 +69,10 @@ public class TourGoodVo implements Serializable {
@ApiModelProperty
(
value
=
"状态:0-未发布;1-上架;2-下架"
)
private
Integer
status
;
//是否省外;0-省内;1-省外
@ApiModelProperty
(
value
=
"是否省外;0-省内;1-省外"
)
private
Integer
isOutside
;
//天数
@ApiModelProperty
(
value
=
"天数"
)
private
Integer
number
;
...
...
xx-tour/xx-tour-server/src/main/resources/mapper/TourGoodMapper.xml
View file @
40a0c447
...
...
@@ -24,6 +24,7 @@
<result
property=
"isMember"
column=
"is_member"
/>
<result
property=
"stock"
column=
"stock"
/>
<result
property=
"unit"
column=
"unit"
/>
<result
property=
"isOutside"
column=
"is_outside"
/>
</resultMap>
<resultMap
type=
"com.xxfc.platform.tour.vo.TourGoodVo"
id=
"tourGoodVoMap"
>
...
...
@@ -47,12 +48,13 @@
<result
property=
"stock"
column=
"stock"
/>
<result
property=
"unit"
column=
"unit"
/>
<result
property=
"tagNames"
column=
"tagNames"
/>
<result
property=
"isOutside"
column=
"is_outside"
/>
</resultMap>
<!--查询旅游路线列表-->
<select
id=
"getGoodList"
parameterType=
"java.util.Map"
resultMap=
"tourGoodMap"
>
SELECT * from tour_good t
where t.is_del=1 AND t.
g.
status=1
where t.is_del=1 AND t.status=1
<if
test=
"params.query != null and params.query != ''"
>
and (t.`name` like CONCAT('%',#{params.query},'%') or t.introduce like CONCAT('%',#{params.query},'%'))
</if>
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
View file @
40a0c447
...
...
@@ -2,14 +2,15 @@ package com.xxfc.platform.vehicle.feign;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.entity.Vehicle
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.pojo.BookVehicleVO
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* Created by ace on 2017/9/15.
*/
...
...
@@ -18,6 +19,15 @@ public interface VehicleFeign {
@GetMapping
(
value
=
"/vehicleModel/{id}"
)
public
ObjectRestResponse
<
VehicleModel
>
get
(
@PathVariable
(
"id"
)
int
id
);
@GetMapping
(
value
=
"/vehicleInfo/{id}"
)
public
ObjectRestResponse
<
Vehicle
>
get
(
@PathVariable
(
"id"
)
String
id
);
@RequestMapping
(
value
=
"/vehicleInfo/findById"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
Vehicle
>
findById
(
@RequestParam
(
"id"
)
String
id
);
@RequestMapping
(
value
=
"/vehicleInfo/getByIds"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
List
<
Vehicle
>>
getByIds
(
@RequestParam
(
"ids"
)
List
<
String
>
id
);
//修改评分
@RequestMapping
(
value
=
"/vehicleModel/app/addScore"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
addScore
(
@RequestParam
(
value
=
"id"
)
Integer
id
,
@RequestParam
(
value
=
"score"
)
Integer
score
);
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/dto/VehicleUserScoreDTO.java
View file @
40a0c447
...
...
@@ -18,24 +18,6 @@ public class VehicleUserScoreDTO {
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
/**
* 用户id
*/
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userId
;
/**
* 订单id
*/
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
orderId
;
/**
* 车型id
*/
@ApiModelProperty
(
value
=
"车型id"
)
private
Integer
modelId
;
/**
* 评分类型
*/
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/vo/VehicleUserScoreVo.java
View file @
40a0c447
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
...
...
@@ -10,4 +11,66 @@ import lombok.Data;
*/
@Data
public
class
VehicleUserScoreVo
{
/**
* 主键id
*/
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
/**
* 用户id
*/
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userId
;
/**
* 用户名
*/
@ApiModelProperty
(
value
=
"用户名"
)
private
String
userName
;
/**
* 用户头像地址
*/
@ApiModelProperty
(
value
=
"用户头像地址"
)
private
String
headUrl
;
/**
* 评分类型
*/
@ApiModelProperty
(
value
=
"评分类型"
)
private
Integer
type
;
/**
* 评价分
*/
@ApiModelProperty
(
value
=
"评价分"
)
private
Integer
aveScore
;
/**
* 是否匿名;0-否;1-是
*/
@ApiModelProperty
(
value
=
"是否匿名;0-否;1-是"
)
private
Integer
isAnony
;
/**
* 评价
*/
@ApiModelProperty
(
value
=
"评价"
)
private
String
comment
;
/**
* 图片
*/
@ApiModelProperty
(
value
=
"图片"
)
private
String
imgs
;
/**
* 创建时间
*/
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
40a0c447
...
...
@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.biz;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.ace.cache.annotation.Cache
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
...
...
@@ -121,6 +122,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
return
new
ResponseEntity
<
byte
[]>(
FileUtils
.
readFileToByteArray
(
file
),
headers
,
HttpStatus
.
CREATED
);
}
@Cache
(
key
=
"vehical"
)
public
Vehicle
get
(
String
id
){
return
mapper
.
selectByPrimaryKey
(
id
);
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehiclePlatCataBiz.java
View file @
40a0c447
...
...
@@ -18,6 +18,7 @@ import com.xxfc.platform.vehicle.pojo.Cascade;
import
com.xxfc.platform.vehicle.pojo.CataVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.assertj.core.util.Arrays
;
import
org.springframework.aop.framework.AopContext
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -148,7 +149,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
//插入一级标签获得id
mapper
.
insertSelective
(
parent
);
Integer
parentId
=
parent
.
getId
();
int
i
=
1
/
0
;
//取出二级标签
List
<
VehiclePlatCata
>
childrens
=
cascade
.
getChildren
();
//逐条插入二级标签
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleUserScoreBiz.java
View file @
40a0c447
package
com
.
xxfc
.
platform
.
vehicle
.
biz
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.entity.VehicleUserScore
;
import
com.xxfc.platform.vehicle.mapper.VehicleUserScoreMapper
;
import
com.xxfc.platform.vehicle.pojo.dto.ScoreTypeDTO
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreDTO
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreListDTO
;
import
com.xxfc.platform.vehicle.pojo.vo.VehicleUserScoreVo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.Instant
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -23,15 +29,18 @@ import java.util.List;
* @date 2019-06-18 15:03:58
*/
@Service
@Slf4j
public
class
VehicleUserScoreBiz
extends
BaseBiz
<
VehicleUserScoreMapper
,
VehicleUserScore
>
{
/**
* 根据车型id查询
* @param modelId
* @return
*/
public
PageDataVO
<
VehicleUserScoreVo
>
findVehicleUserScorePageByModelId
(
Integer
modelId
)
{
public
PageDataVO
<
VehicleUserScoreVo
>
findVehicleUserScorePageByModelId
(
Integer
modelId
,
Integer
pageNo
,
Integer
pageSize
)
{
//根据模型id查找
PageDataVO
<
VehicleUserScoreListDTO
>
vehicleUserScoreDTOPageDataVO
=
PageDataVO
.
pageInfo
(
pageNo
,
pageSize
,()->
mapper
.
findyByModelIdAndApproved
(
modelId
,
1
));
List
<
Integer
>
userIds
=
vehicleUserScoreDTOPageDataVO
.
getData
().
stream
().
map
(
VehicleUserScoreListDTO:
:
getUserId
).
collect
(
Collectors
.
toList
());
return
null
;
}
...
...
@@ -40,14 +49,20 @@ public class VehicleUserScoreBiz extends BaseBiz<VehicleUserScoreMapper, Vehicle
* @param vehicleUserScoreDTO
* @return
*/
public
int
saveVehicleUserScore
(
VehicleUserScoreDTO
vehicleUserScoreDTO
)
{
public
int
saveVehicleUserScore
(
VehicleUserScoreDTO
vehicleUserScoreDTO
,
AppUserDTO
appUserDTO
)
{
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"用户:{},评分的数据:【{}】"
,
appUserDTO
.
getNickname
(),
vehicleUserScoreDTO
);
}
vehicleUserScoreDTO
.
setCrtTime
(
Instant
.
now
().
toEpochMilli
());
List
<
ScoreTypeDTO
>
scoretype
=
vehicleUserScoreDTO
.
getScoretype
();
//评分明细
vehicleUserScoreDTO
.
setComment
(
JSONObject
.
toJSONString
(
scoretype
));
//计算平均分值
double
avgScore
=
scoretype
.
stream
().
mapToInt
(
ScoreTypeDTO:
:
getScore
).
average
().
getAsDouble
();
VehicleUserScore
vehicleUserScore
=
new
VehicleUserScore
();
BeanUtils
.
copyProperties
(
vehicleUserScoreDTO
,
vehicleUserScore
);
//vehicleUserScore.setAveScore();
vehicleUserScore
.
setAveScore
(
Long
.
valueOf
(
Math
.
round
(
avgScore
)).
intValue
());
vehicleUserScore
.
setUserId
(
appUserDTO
.
getUserid
());
return
mapper
.
insertSelective
(
vehicleUserScore
);
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/common/VehicleBaseController.java
View file @
40a0c447
...
...
@@ -23,5 +23,4 @@ public class VehicleBaseController<Biz extends BaseBiz> {
return
userFeign
.
userDetailByToken
(
userAuthConfig
.
getToken
(
request
)).
getData
();
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/VehicleUserScoreMapper.java
View file @
40a0c447
package
com
.
xxfc
.
platform
.
vehicle
.
mapper
;
import
com.xxfc.platform.vehicle.entity.VehicleUserScore
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreListDTO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 用户评分表
*
...
...
@@ -11,5 +16,13 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-06-18 15:03:58
*/
public
interface
VehicleUserScoreMapper
extends
Mapper
<
VehicleUserScore
>
{
/**
* 根据审核状态和车型id查询评论
* @param modelId
* @param status
* @return
*/
@Select
(
"select `user_id` as `userId`,`comment` as `comment`,`ave_score` as `aveScore`,`is_anony` as `isAnony`,`imgs` as `imgs`,`crt_time` as `crtTime` from `vehicle_user_score` where `model_id`=#{modelId} and `status`=#{status}"
)
List
<
VehicleUserScoreListDTO
>
findyByModelIdAndApproved
(
@Param
(
"modelId"
)
Integer
modelId
,
@Param
(
"status"
)
Integer
status
);
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
40a0c447
package
com
.
xxfc
.
platform
.
vehicle
.
rest
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.ace.cache.annotation.Cache
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONException
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
...
...
@@ -94,6 +95,26 @@ public class VehicleController extends BaseController<VehicleBiz> {
return
baseBiz
.
discard
(
idList
);
}
@RequestMapping
(
value
=
"/findById"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
Vehicle
>
findById
(
String
id
)
{
Vehicle
vehicle
=
baseBiz
.
get
(
id
);
return
RestResponse
.
data
(
vehicle
);
}
@RequestMapping
(
value
=
"/vehicleInfo/getByIds"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
List
<
Vehicle
>>
getByIds
(
@RequestParam
(
"ids"
)
List
<
String
>
ids
){
if
(
ids
==
null
)
{
return
RestResponse
.
codeAndMessage
(
500
,
"参数为空!"
);
}
List
<
Vehicle
>
vehicles
=
new
ArrayList
<>();
for
(
String
id
:
ids
)
{
log
.
info
(
"查询车辆信息Id:{}"
,
id
);
Vehicle
vehicle
=
baseBiz
.
get
(
id
);
vehicles
.
add
(
vehicle
);
}
return
RestResponse
.
suc
(
vehicles
);
}
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
PageDataVO
<
QueryVehicleVo
>>
getByPage
(
@RequestParam
String
vehiclePageQueryVoJson
)
throws
Exception
{
VehiclePageQueryVo
vehiclePageQueryVo
=
null
;
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleUserScoreController.java
View file @
40a0c447
package
com
.
xxfc
.
platform
.
vehicle
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
...
...
@@ -12,7 +13,7 @@ import org.springframework.web.bind.annotation.*;
/**
* @author libin
* @version 1.0
* @description 评
分
* @description 评
价
* @data 2019/6/18 15:32
*/
@RestController
...
...
@@ -20,27 +21,29 @@ import org.springframework.web.bind.annotation.*;
public
class
VehicleUserScoreController
extends
BaseController
<
VehicleUserScoreBiz
,
VehicleUserScore
>
{
/**
* 保存评
分
* 保存评
论
* @param vehicleUserScoreDTO
* @return
*/
@PostMapping
(
"/score"
)
public
ObjectRestResponse
<
Void
>
saveVehicleUserScore
(
VehicleUserScoreDTO
vehicleUserScore
DTO
){
int
effectRows
=
getBaseBiz
().
saveVehicleUserScore
(
vehicleUserScoreDTO
);
public
ObjectRestResponse
<
Void
>
saveVehicleUserScore
(
@RequestBody
VehicleUserScoreDTO
vehicleUserScoreDTO
,
AppUserDTO
appUser
DTO
){
int
effectRows
=
getBaseBiz
().
saveVehicleUserScore
(
vehicleUserScoreDTO
,
appUserDTO
);
if
(
effectRows
>
0
){
return
ObjectRestResponse
.
succ
();
}
return
ObjectRestResponse
.
createDefaultFail
();
}
/**
* 根据车型查询评
分列表
* 根据车型查询评
论列表 根据评分时间排序
*
* @param modelId
* @return
*/
@GetMapping
(
"/scores"
)
public
ObjectRestResponse
<
PageDataVO
<
VehicleUserScoreVo
>>
findVehicleUserScorePageByModelId
(
@RequestParam
(
"modelId"
)
Integer
modelId
)
{
PageDataVO
<
VehicleUserScoreVo
>
pageDataVO
=
getBaseBiz
().
findVehicleUserScorePageByModelId
(
modelId
);
public
ObjectRestResponse
<
PageDataVO
<
VehicleUserScoreVo
>>
findVehicleUserScorePageByModelId
(
@RequestParam
(
"modelId"
)
Integer
modelId
,
@RequestParam
(
"pageNo"
)
Integer
pageNo
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
)
{
PageDataVO
<
VehicleUserScoreVo
>
pageDataVO
=
getBaseBiz
().
findVehicleUserScorePageByModelId
(
modelId
,
pageNo
,
pageSize
);
return
ObjectRestResponse
.
succ
(
pageDataVO
);
}
}
\ 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