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
2f18740e
Commit
2f18740e
authored
Jul 10, 2019
by
libin
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
d5d230d6
53ef0ac8
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
451 additions
and
11 deletions
+451
-11
SystemConfig.java
...ub/wxiaoqi/security/common/util/process/SystemConfig.java
+29
-0
systemconfig.properties
...mon/src/main/resources/properties/systemconfig.properties
+7
-0
UserMemberDTO.java
.../com/github/wxiaoqi/security/admin/dto/UserMemberDTO.java
+4
-0
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+6
-2
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+1
-1
PublicController.java
.../github/wxiaoqi/security/admin/rest/PublicController.java
+1
-1
AppPermissionService.java
...aoqi/security/admin/rpc/service/AppPermissionService.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
+2
-2
BuyVehicleForm.java
...ain/java/com/xxfc/platform/app/entity/BuyVehicleForm.java
+87
-0
BuyVehicleFormBiz.java
...ain/java/com/xxfc/platform/app/biz/BuyVehicleFormBiz.java
+18
-0
BuyVehicleFormMapper.java
...va/com/xxfc/platform/app/mapper/BuyVehicleFormMapper.java
+15
-0
BuyVehicleFormController.java
.../com/xxfc/platform/app/rest/BuyVehicleFormController.java
+15
-0
BuyVehicleFormMapper.xml
...server/src/main/resources/mapper/BuyVehicleFormMapper.xml
+20
-0
OrderAboutParamDTO.java
...om/xxfc/platform/order/pojo/order/OrderAboutParamDTO.java
+9
-0
RabbitConsumer.java
...ava/com/xxfc/platform/order/mqhandler/RabbitConsumer.java
+1
-1
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+5
-0
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+15
-1
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+1
-1
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+1
-1
DictionaryKey.java
...a/com/xxfc/platform/universal/constant/DictionaryKey.java
+1
-0
pom.xml
xx-universal/xx-universal-server/pom.xml
+5
-0
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+191
-0
OrderPayController.java
...xfc/platform/universal/controller/OrderPayController.java
+15
-0
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/process/SystemConfig.java
View file @
2f18740e
...
...
@@ -61,6 +61,35 @@ public class SystemConfig {
// 存放退款证书目录
public
static
String
APICLIENT_CERT
=
SystemProperty
.
getConfig
(
"APICLIENT_CERT"
);
/**
* 支付宝支付相关配置
*/
public
static
final
String
ALIPAY_APPID
=
SystemProperty
.
getConfig
(
"ALIPAY_APPID"
);
public
static
final
String
ALIPAY_PID
=
SystemProperty
.
getConfig
(
"ALIPAY_PID"
);
public
static
final
String
ALIPAY_PUBLIC_KEY
=
SystemProperty
.
getConfig
(
"ALIPAY_PUBLIC_KEY"
);
public
static
final
String
ALIPAY_ACOUNT
=
SystemProperty
.
getConfig
(
"ALIPAY_ACOUNT"
);
public
static
final
String
ALIPAY_PRIVATE_KEY
=
SystemProperty
.
getConfig
(
"ALIPAY_PRIVATE_KEY"
);
/**
* 交易创建,等待买家付款
*/
public
static
final
String
ALIPAY_WAIT_BUYER_PAY
=
"WAIT_BUYER_PAY"
;
/**
* 未付款交易超时关闭,或支付完成后全额退款
*/
public
static
final
String
ALIPAY_TRADE_CLOSED
=
"TRADE_CLOSED"
;
/**
* 交易支付成功
*/
public
static
final
String
ALIPAY_TRADE_SUCCESS
=
"TRADE_SUCCESS"
;
/**
* 交易结束,不可退款
*/
public
static
final
String
ALIPAY_TRADE_FINISHED
=
"TRADE_FINISHED"
;
public
static
final
String
ALIPAY_PAY_BASE_URL
=
"https://openapi.alipay.com"
;
public
static
final
String
ALIPAY
=
"alipay"
;
public
static
final
String
WXPAY
=
"wxpay"
;
}
ace-common/src/main/resources/properties/systemconfig.properties
View file @
2f18740e
...
...
@@ -35,3 +35,10 @@ APP_TRADE_TYPE=APP
weixinHost
=
xxtest.upyuns.com
#证书存放目录
APICLIENT_CERT
=
D:
\\
cert
\\
1514583081_20181017_cert.p12
#支付宝配置
ALIPAY_APPID
=
2019070965781964
ALIPAY_PID
=
2088531634846583
ALIPAY_PUBLIC_KEY
=
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj/EMaAD2iJP3I5M0g6pssDDe3RxF5I3ECM/Kz/btM0RiW2g5oRrHSjtGuos9l1QhQAY0SrVqa2eZdPKUB3ZqJdimQiXr3dbiMvG9UCs8vVUcrtCHCBjDllKQLiYzboxE6JLXyfII5tIXbFKiGyiEyXQnffUhQ9uGyT2EGWGecz6PLIjDdbwpxuzF2gIUzV3bPxb+0axejBxJ/3zKnWrsbyq2nvs8XrzrR2CEggNqgqsKzaacCL1yZjXzQRseSnCMtgSxR5W5afbdY0zqbUlLHUrUZ8ycCRC0ECuI9HyTbuqtdWHEZH7vIH44wEQWZPDRhMfMZvzmPUgpTWZLv5BtaQIDAQAB
ALIPAY_ACOUNT
=
xxfc810@163.com
ALIPAY_PRIVATE_KEY
=
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3bANag6my6pjHWqwnSCffRonvOXE6uQgNNb+V23PV55zfcuC+jIgl9BRrIf4tax5f2itfDmlOdAX6mK8WJ620SHg777Q2KlgNTa25ta3xiEfgkb01SX9VyiaLPpP2TEo5LhhRcT+cUomIufQbVbm/jS8mRQ0qBoofbMfr7n9fBSiVDx/QX07qcJTc/MGCy79H5gUiy2fTOEMhTuNtPkoU3az7jXMQ5U/33ILFAJzPCMNJvQnCYxs/y5loxxHdVqV8FnuCWGEWNViuuBtFRVRNXkrs/x99nF0V5/FHnOZzdM3SWrKCpA/52G5QQrbhZXUhMyCs9stXvH+iVUC1JJ9DAgMBAAECggEAOGRf/5MdOGHCCQCKjyUzBQVV4RPDCS/cFtughH1M9sXXyCc0i8D/FtQc9vcjg2k8lHGqBfaTT8iCEhKhOemHETd6p8rBmCmamrR4JfGCghDJMHT+PATVvlWBViwuJ3o7E6tlVJzB1tjVahDpyQGpMwhAJ77xFiueiZzTNmlEBb02ByCG95vkBV7NQT8yO9/1i3eq/tMoY7FfJP5O4LQ41RmqU9TVaAnTfuE6gs5hJboNGbmSMs2w2M0tldibmWcsQsFFPLwbUz042czSVb9J7lsGJjCtsaBeUiJ15y66W9D3587JJar9p+EyA2LNbolgrrNi2AA9KU5wEW2w8XyoOQKBgQDZamXDQZK3N5E46Hp/79o0Q99jqj9sL/HCYB4+Z8dG/Mgs43HHpgd+gHVeSOgxXS7RxsLyjCsM97ysWk7sbafvqtsnYmPU2MzumykVVpgWO6dpBcwmf2Ygk2i2W77oEqIi2IUmzkvDhw9C8A8/oh+IuoyRouPGRHpykAF+uXKVhwKBgQDX+TfQDDPniSnA9kTlW5I44glRgogA4xJtAYLtEr2fH9Pys+lkOyRqQH5wbJVj27jzJ0lffNyyMxgbZ8KRiH+3qRa8wNazwwXlXmj4DQWZedkULOpgMdU4EbbkTQRU3onEpMAZhAmVvAV1KTozs4RKi+1fFZ9V6ZOtmvapNJuXZQKBgQC7Xb0rQ3SMHwAxGfCQFwVma2O2AX883iisCaemwkrze1+Lh8uDcisdMtlzEsO/3v09XdydqHxlZY6cvgssJ+hFXGoXi+xa/yfFLcR/FixlZK2Gja99MeeyhTcFiRWB7KT8ALrnUXvrmpZlanrJrQ8eBx6jV8ySDmu0FTSkoG8GOwKBgE5toxX7CHJBPhdjlvtPOJdNhiLCaw8fZpaNIPVkg9WgIkCVkuCiFYQ8LW44EDv2E4DBOITje+V+Zne1Q1PEJNUWIzqiMJWQ8bgsg6PoXqswM2N/OBF8pzg4PplDWppTQeZWCah6aVylrbmxIgCaZSUJEUchO/5f1xAJIR+rCgF9AoGBAKJVVbrKPWshQ4cTL6VzanowjpWCRUDR22Oz3nKIdRl1FX+DTXYE4Dwl38iiNHOJptS7VjU553BUZl7HxCmSBWUmtnV78NNnRKrFVUhQhIRYBjMn1W6MD0jlBkky6yXmXkPtlqU6vU19RzGrvv6fDdBf6v4AkD8kWXiH5j4XEiQS
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/UserMemberDTO.java
View file @
2f18740e
...
...
@@ -53,6 +53,10 @@ public class UserMemberDTO {
@ApiModelProperty
(
value
=
"折扣"
)
private
Integer
discount
;
//购买次数
@ApiModelProperty
(
value
=
"购买次数"
)
private
Integer
buyCount
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
2f18740e
...
...
@@ -72,9 +72,13 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
if
(
freeDays
==
null
||
freeDays
==
0
){
freeDays
=
totalNumber
;
}
Integer
buyCount
=
1
;
if
(
userMemberDTO
.
getBuyCount
()!=
null
){
buyCount
=
userMemberDTO
.
getBuyCount
();
}
if
(
userMemberVo
==
null
){
baseUserMember
.
setRentFreeDays
(
freeDays
);
baseUserMember
.
setBuyCount
(
1
);
baseUserMember
.
setBuyCount
(
buyCount
);
insertSelective
(
baseUserMember
);
}
else
{
Integer
discount
=
userMemberVo
.
getDiscount
()==
null
?
0
:
userMemberVo
.
getDiscount
();
...
...
@@ -90,7 +94,7 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
baseUserMember
.
setId
(
userMemberVo
.
getId
());
totalNumber
+=
userMemberVo
.
getTotalNumber
()==
null
?
0
:
userMemberVo
.
getTotalNumber
();
freeDays
+=
userMemberVo
.
getRentFreeDays
()==
null
?
0
:
userMemberVo
.
getRentFreeDays
();
baseUserMember
.
setBuyCount
(
userMemberVo
.
getBuyCount
()+
1
);
baseUserMember
.
setBuyCount
(
userMemberVo
.
getBuyCount
()+
buyCount
);
baseUserMember
.
setTotalNumber
(
totalNumber
);
baseUserMember
.
setRentFreeDays
(
freeDays
);
getMyBiz
().
updateSelectiveById
(
baseUserMember
);
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
2f18740e
...
...
@@ -129,7 +129,7 @@ public class AppUserController extends CommonBaseController {
}
}
AppUserPosition
userPosition
=
positionBiz
.
selectById
(
positionId
);
if
(
userPosition
!=
null
){
if
(
userPosition
!=
null
&&
userPosition
.
getLevel
()>
0
){
userDTO
.
setPositionName
(
userPosition
.
getName
());
}
userDTO
.
setId
(
id
);
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/PublicController.java
View file @
2f18740e
...
...
@@ -90,7 +90,7 @@ public class PublicController {
}
}
AppUserPosition
userPosition
=
positionBiz
.
selectById
(
positionId
);
if
(
userPosition
!=
null
){
if
(
userPosition
!=
null
&&
userPosition
.
getLevel
()>
0
){
userDTO
.
setPositionName
(
userPosition
.
getName
());
}
userDTO
.
setId
(
id
);
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/service/AppPermissionService.java
View file @
2f18740e
...
...
@@ -869,6 +869,7 @@ public class AppPermissionService {
userMemberDTO
.
setMemberLevel
(
userMemberExportDTO
.
getMemberLevel
());
userMemberDTO
.
setTotalNumber
(
userMemberExportDTO
.
getTotalNumber
());
userMemberDTO
.
setDiscount
(
userMemberExportDTO
.
getDiscount
());
userMemberDTO
.
setBuyCount
(
0
);
userMemberDTO
.
setIsBind
(
1
);
baseUserMemberBiz
.
updUserMemberByUserId
(
userMemberDTO
);
}
...
...
ace-modules/ace-generator/src/main/resources/application.yml
View file @
2f18740e
...
...
@@ -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_a
ctivity
?useUnicode=true&characterEncoding=UTF-8
url
:
jdbc:mysql://10.5.52.3:3306/xxfc_a
pp
?useUnicode=true&characterEncoding=UTF-8
username
:
root
password
:
sslcloud123*()
jackson
:
...
...
ace-modules/ace-generator/src/main/resources/generator.properties
View file @
2f18740e
#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#\u5305\u540D
package
=
com.xxfc.platform.a
ctivity
package
=
com.xxfc.platform.a
pp
#\u4F5C\u8005
author
=
libin
author
=
zjw
#Email
email
=
18178966185@163.com
#\u8868\u524D\u9519\u8BEF\u7684Unicode\u5B57\u7B26\u4E32!
...
...
xx-app/xx-app-api/src/main/java/com/xxfc/platform/app/entity/BuyVehicleForm.java
0 → 100644
View file @
2f18740e
package
com
.
xxfc
.
platform
.
app
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 购房车提交表单
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-09 19:39:47
*/
@Data
@Table
(
name
=
"buy_vehicle_form"
)
public
class
BuyVehicleForm
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
/**
* 更新时间
*/
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
value
=
"更新时间"
,
hidden
=
true
)
private
Long
updTime
;
/**
* 车型id
*/
@Column
(
name
=
"model_id"
)
@ApiModelProperty
(
value
=
"车型id"
)
private
Integer
modelId
;
/**
* 联系人名称
*/
@Column
(
name
=
"contact_name"
)
@ApiModelProperty
(
value
=
"联系人名称"
)
private
String
contactName
;
/**
* 联系人电话
*/
@Column
(
name
=
"contact_phone"
)
@ApiModelProperty
(
value
=
"联系人电话"
)
private
String
contactPhone
;
/**
* 预约时间
*/
@Column
(
name
=
"book_time"
)
@ApiModelProperty
(
value
=
"预约时间"
)
private
Long
bookTime
;
/**
* 公司id
*/
@Column
(
name
=
"company_id"
)
@ApiModelProperty
(
value
=
"公司id"
)
private
Integer
companyId
;
/**
* 备注
*/
@Column
(
name
=
"remark"
)
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
}
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/biz/BuyVehicleFormBiz.java
0 → 100644
View file @
2f18740e
package
com
.
xxfc
.
platform
.
app
.
biz
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.app.entity.BuyVehicleForm
;
import
com.xxfc.platform.app.mapper.BuyVehicleFormMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
/**
* 购房车提交表单
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-09 19:39:47
*/
@Service
public
class
BuyVehicleFormBiz
extends
BaseBiz
<
BuyVehicleFormMapper
,
BuyVehicleForm
>
{
}
\ No newline at end of file
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/mapper/BuyVehicleFormMapper.java
0 → 100644
View file @
2f18740e
package
com
.
xxfc
.
platform
.
app
.
mapper
;
import
com.xxfc.platform.app.entity.BuyVehicleForm
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 购房车提交表单
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-09 19:39:47
*/
public
interface
BuyVehicleFormMapper
extends
Mapper
<
BuyVehicleForm
>
{
}
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/rest/BuyVehicleFormController.java
0 → 100644
View file @
2f18740e
package
com
.
xxfc
.
platform
.
app
.
rest
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.app.biz.BuyVehicleFormBiz
;
import
com.xxfc.platform.app.entity.BuyVehicleForm
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"buyVehicleForm"
)
public
class
BuyVehicleFormController
extends
BaseController
<
BuyVehicleFormBiz
,
BuyVehicleForm
>
{
}
\ No newline at end of file
xx-app/xx-app-server/src/main/resources/mapper/BuyVehicleFormMapper.xml
0 → 100644
View file @
2f18740e
<?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.app.mapper.BuyVehicleFormMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.app.entity.BuyVehicleForm"
id=
"buyVehicleFormMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"updTime"
column=
"upd_time"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"modelId"
column=
"model_id"
/>
<result
property=
"contactName"
column=
"contact_name"
/>
<result
property=
"contactPhone"
column=
"contact_phone"
/>
<result
property=
"bookTime"
column=
"book_time"
/>
<result
property=
"companyId"
column=
"company_id"
/>
<result
property=
"remark"
column=
"remark"
/>
</resultMap>
</mapper>
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderAboutParamDTO.java
View file @
2f18740e
...
...
@@ -15,4 +15,13 @@ public class OrderAboutParamDTO {
@ApiModelProperty
(
value
=
"旅游订单自动取消时间(毫秒)"
)
private
Long
actTour
;
@ApiModelProperty
(
value
=
"会员订单自动取消时间(毫秒)"
)
private
Long
actMember
;
@ApiModelProperty
(
value
=
"平台司机单价"
)
private
BigDecimal
driverPrice
;
@ApiModelProperty
(
value
=
"免赔费用"
)
private
BigDecimal
damageSafe
;
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mqhandler/RabbitConsumer.java
View file @
2f18740e
...
...
@@ -46,7 +46,7 @@ public class RabbitConsumer {
baseOrderBiz
.
cancel
(
baseOrder
);
}
catch
(
BaseException
e
)
{
if
(
ResultCode
.
DB_OPERATION_FAIL_CODE
==
e
.
getStatus
())
{
log
.
info
(
"取消操作被取消
"
);
log
.
info
(
"取消操作被取消
;订单id:"
+
baseOrder
.
getId
()
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"============消费失败,尝试消息补发再次消费!=============="
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
2f18740e
...
...
@@ -113,6 +113,9 @@ public class BaseOrderController extends CommonBaseController {
setInsurePrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
INSURE_PRICE
).
getDetail
()));
setActRent
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_RENT
).
getDetail
()));
setActTour
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_TOUR
).
getDetail
()));
setActMember
(
new
Long
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
()));
setDamageSafe
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DAMAGE_SAFE
).
getDetail
()));
setDriverPrice
(
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
DRIVER_PRICE
).
getDetail
()));
}});
}
...
...
@@ -236,6 +239,7 @@ public class BaseOrderController extends CommonBaseController {
@IgnoreClientToken
@ResponseBody
public
ObjectRestResponse
<
OrderPageVO
>
get
(
@PathVariable
String
no
)
{
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
//查询列表数据
if
(
StringUtils
.
isBlank
(
BaseContextHandler
.
getUserID
()))
{
throw
new
BaseException
(
ResultCode
.
AJAX_WECHAT_NOTEXIST_CODE
);
...
...
@@ -246,6 +250,7 @@ public class BaseOrderController extends CommonBaseController {
if
(
page
.
getData
().
isEmpty
())
{
throw
new
BaseException
(
ResultCode
.
NOTEXIST_CODE
);
}
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
return
new
ObjectRestResponse
<>().
data
(
page
.
getData
().
get
(
0
));
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
2f18740e
...
...
@@ -15,6 +15,8 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import
com.xxfc.platform.order.pojo.order.MemberBO
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.log4j.Log4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -26,6 +28,8 @@ import java.math.BigDecimal;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
@Log4j
public
class
OrderMemberService
extends
AbstractOrderHandle
<
OrderMemberDetailBiz
,
MemberBO
>
{
...
...
@@ -36,10 +40,14 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
@Autowired
VehicleFeign
vehicleFeign
;
@Autowired
ThirdFeign
thirdFeign
;
private
static
Integer
IS_CHILD
=
1
;
private
static
Integer
LEVEL_DEFAULT
=
0
;
private
static
Integer
NUMBER_ZERO
=
0
;
private
static
Long
autoCancelTime
;
@Autowired
OrderCostDetailBiz
orderCostDetailBiz
;
...
...
@@ -68,6 +76,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
@Override
public
void
initDetail
(
MemberBO
bo
)
{
super
.
initDetail
(
bo
);
initDictionary
();
BaseUserMemberLevel
buml
=
userFeign
.
level
(
bo
.
getMemberLevel
());
if
(!
bo
.
getMemberLevelId
().
equals
(
buml
.
getId
()))
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
new
HashSet
<
String
>(){{
...
...
@@ -79,6 +88,11 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
bo
.
setRebate
(
buml
.
getDiscount
());
}
public
void
initDictionary
()
{
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
());
}
@Override
public
void
handleDetail
(
MemberBO
bo
)
{
//设置订单状态为3
...
...
@@ -91,7 +105,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
super
.
handleDetail
(
bo
);
//发送定时取消订单(30分钟)
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
1000L
*
60
*
30
);
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
autoCancelTime
);
}
@Override
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
2f18740e
...
...
@@ -166,7 +166,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
VehicleModel
vehicleModel
=
vehicleFeign
.
get
(
detail
.
getModelId
()).
getData
();
//如果用户存在,并且为会员,并且车辆有优惠价
if
(
null
!=
dto
&&
!
NONE
.
getCode
().
equals
(
dto
.
getMemberLevel
())
&&
!
DISCOUNT_STATUS_NONE
.
equals
(
vehicleModel
.
getRentDiscountStatus
()))
{
if
(
null
!=
dto
&&
SYS_TRUE
.
equals
(
dto
.
getIsMember
())
&&
!
NONE
.
getCode
().
equals
(
dto
.
getMemberLevel
())
&&
!
DISCOUNT_STATUS_NONE
.
equals
(
vehicleModel
.
getRentDiscountStatus
()))
{
String
[]
prices
=
StrUtil
.
isBlank
(
vehicleModel
.
getRentDiscountPrice
())
?
new
String
[]{
vehicleModel
.
getPrice
().
toString
(),
vehicleModel
.
getPrice
().
toString
(),
vehicleModel
.
getPrice
().
toString
()}
:
vehicleModel
.
getRentDiscountPrice
().
split
(
","
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
2f18740e
...
...
@@ -197,7 +197,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//总价格
orderAmount
=
orderAmount
.
add
(
goodsAmount
).
add
(
insureAmount
);
//真实价格
realAmount
=
realAmount
.
add
(
tourSpePriceVo
.
getRealPrice
()).
add
(
tourSpePriceVo
.
getRealChildPrice
());
realAmount
=
realAmount
.
add
(
tourSpePriceVo
.
getRealPrice
()).
add
(
tourSpePriceVo
.
getRealChildPrice
())
.
add
(
insureAmount
)
;
//生成订单明细
TourPriceVO
tpv
=
BeanUtil
.
toBean
(
tourSpePriceVo
,
TourPriceVO
.
class
);
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/constant/DictionaryKey.java
View file @
2f18740e
...
...
@@ -35,6 +35,7 @@ public class DictionaryKey {
*/
public
static
final
String
ACT_RENT
=
"ACT_RENT"
;
public
static
final
String
ACT_TOUR
=
"ACT_TOUR"
;
public
static
final
String
ACT_MEMBER
=
"ACT_MEMBER"
;
/**
* 支付价格减低
...
...
xx-universal/xx-universal-server/pom.xml
View file @
2f18740e
...
...
@@ -78,6 +78,11 @@
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.alipay.sdk
</groupId>
<artifactId>
alipay-sdk-java
</artifactId>
<version>
3.7.26.ALL
</version>
</dependency>
<dependency>
<groupId>
antlr
</groupId>
<artifactId>
antlr
</artifactId>
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
2f18740e
...
...
@@ -2,6 +2,17 @@ package com.xxfc.platform.universal.biz;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alipay.api.AlipayApiException
;
import
com.alipay.api.AlipayClient
;
import
com.alipay.api.AlipayConstants
;
import
com.alipay.api.DefaultAlipayClient
;
import
com.alipay.api.domain.AlipayTradeAppPayModel
;
import
com.alipay.api.internal.util.AlipaySignature
;
import
com.alipay.api.request.AlipayFundAuthOrderFreezeRequest
;
import
com.alipay.api.request.AlipayTradeAppPayRequest
;
import
com.alipay.api.response.AlipayFundAuthOrderFreezeResponse
;
import
com.alipay.api.response.AlipayTradeAppPayResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.HTTPSUtils
;
import
com.github.wxiaoqi.security.common.util.OrderUtil
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
...
...
@@ -20,6 +31,11 @@ import com.xxfc.platform.universal.entity.OrderPay;
import
com.xxfc.platform.universal.mapper.OrderPayMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -40,6 +56,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
@Autowired
DictionaryBiz
dictionaryBiz
;
@Autowired
HttpServletRequest
request
;
public
JSONObject
preparepay
(
OrderPayVo
orderPayVo
)
{
if
(
null
==
orderPayVo
)
{
log
.
error
(
"-----参数为空-----------"
);
...
...
@@ -131,6 +150,178 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
}
}
/**
* 支付宝回调接口
* @return
*/
public
String
alipayNotify
()
{
//获取支付宝POST过来反馈信息
Map
<
String
,
String
>
params
=
new
HashMap
<>();
Map
requestParams
=
request
.
getParameterMap
();
for
(
Iterator
iter
=
requestParams
.
keySet
().
iterator
();
iter
.
hasNext
();)
{
String
name
=
(
String
)
iter
.
next
();
String
[]
values
=
(
String
[])
requestParams
.
get
(
name
);
String
valueStr
=
""
;
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
{
valueStr
=
(
i
==
values
.
length
-
1
)
?
valueStr
+
values
[
i
]
:
valueStr
+
values
[
i
]
+
","
;
}
log
.
info
(
valueStr
);
//乱码解决,这段代码在出现乱码时使用。
//valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
params
.
put
(
name
,
valueStr
);
}
String
msg
=
JSONObject
.
toJSONString
(
params
);
log
.
info
(
"alipay notify message={}"
,
msg
);
// //添加回调记录
// PaymentCallbackLog callbackLog = new PaymentCallbackLog();
// callbackLog.setPayCode(rstradeNo);
// callbackLog.setPayType(SystemConstant.PayType.ALIPAY);
// callbackLog.setOrderCode(rsOrderCode);
// callbackLog.setMessage(msg);
// paymentCallbackLogRepository.save(callbackLog);
//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
//boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)
try
{
boolean
flag
=
AlipaySignature
.
rsaCheckV1
(
params
,
""
,
AlipayConstants
.
CHARSET_UTF8
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
if
(!
flag
)
{
log
.
info
(
"alipay order rsaCheckV1 fail, result={}"
,
msg
);
return
ObjectRestResponse
.
createDefaultFail
().
getMessage
();
}
String
rsTradeStatus
=
params
.
get
(
"trade_status"
);
if
(!
SystemConfig
.
ALIPAY_TRADE_FINISHED
.
equals
(
rsTradeStatus
)
&&
!
SystemConfig
.
ALIPAY_TRADE_SUCCESS
.
equals
(
rsTradeStatus
))
{
log
.
info
(
"alipay order trade_status has problem, result={}"
,
msg
);
return
ObjectRestResponse
.
createDefaultFail
().
getMessage
();
}
//String rsSellerId = params.get("seller_id");
//
// PaymentRecord paymentRecord = paymentRecordRepository.findOneByOrderCode(rsOrderCode);
// //验证付款信息
// if (paymentRecord == null || !paymentRecord.getAmount().toString().equals(rsAmount)
// || !aliPayConfig.getAppId().equals(rsAppId)) {
// log.info("alipay order notify fail, result={}", msg);
// return Response.FAILURE.getHeader().getMessage();
// }
// //重复回调
// if (paymentRecord.getStatus().intValue() != 1) {
// log.info("alipay order repeat notify, result={}", msg);
// return Response.SUCCESS().getHeader().getMessage();
// }
//
// paymentRecord.setPayCode(rstradeNo);
// paymentRecord.setStatus(2);
// paymentRecordRepository.save(paymentRecord);
// Map<String, Object> sendMap = DataUtils.objectToMap(paymentRecord);
// sendMap.put("amount", new BigDecimal(rsAmount).multiply(new BigDecimal(100)).intValue());
// sendMsgToOrder(JSONObject.toJSONString(sendMap));
return
ObjectRestResponse
.
succ
().
getMessage
();
}
catch
(
AlipayApiException
e
)
{
log
.
error
(
""
,
e
);
}
return
ObjectRestResponse
.
createDefaultFail
().
getMessage
();
}
/**
* 支付宝生成支付信息
* @param orderCode
* @param description
* @param payType
* @param amount
* @return
*/
@SuppressWarnings
(
"rawtypes"
)
private
ObjectRestResponse
generateAliPayment
(
String
orderCode
,
String
description
,
String
payType
,
Integer
amount
)
{
BigDecimal
realAmount
=
new
BigDecimal
(
amount
.
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
String
notifyUrl
=
SystemConfig
.
weixinHost
+
"/service/payment/notify/alipay"
;
//实例化客户端
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
SystemConfig
.
ALIPAY_PAY_BASE_URL
+
"/gateway.do"
,
SystemConfig
.
ALIPAY_APPID
,
SystemConfig
.
ALIPAY_PRIVATE_KEY
,
AlipayConstants
.
FORMAT_JSON
,
AlipayConstants
.
CHARSET_UTF8
,
SystemConfig
.
ALIPAY_PUBLIC_KEY
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
AlipayTradeAppPayRequest
request
=
new
AlipayTradeAppPayRequest
();
// //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeAppPayModel
model
=
new
AlipayTradeAppPayModel
();
//model.setBody("我是测试数据");
model
.
setSubject
(
description
);
model
.
setOutTradeNo
(
orderCode
);
model
.
setTimeoutExpress
(
"30m"
);
model
.
setTotalAmount
(
realAmount
.
toString
());
model
.
setProductCode
(
"QUICK_MSECURITY_PAY"
);
request
.
setBizModel
(
model
);
request
.
setNotifyUrl
(
notifyUrl
);
// AlipayFundAuthOrderFreezeRequest request = new AlipayFundAuthOrderFreezeRequest();
// String contentString = "{" +
// "\"auth_code\":\"" + orderCode + "\"," +
// "\"auth_code_type\":\"bar_code\"," +
// "\"out_order_no\":\"8077735255938023\"," +
// "\"out_request_no\":\"8077735255938032\"," +
// "\"order_title\":\"预授权冻结\"," +
// "\"amount\":0.01," +
// "\"payee_logon_id\":\"" + SystemConfig.ALIPAY_ACOUNT + "\"," +
// "\"payee_user_id\":\"" + SystemConfig.ALIPAY_PID + "\"," +
// "\"pay_timeout\":\"2d\"," +
// "\"extra_param\":\"{\\\"secondaryMerchantId\\\":\\\"17320004886\\\"}\"," +
// "\"product_code\":\"PRE_AUTH\"" ;
// log.info("content = {}", contentString);
// request.setBizContent(contentString);
// AlipayFundAuthOrderFreezeResponse response;
// try {
// response = alipayClient.execute(request);
// if(response.isSuccess()){
// System.out.println("调用成功");
// Map<String, Object> rt = new HashMap<>();
// rt.put("payType", payType);
// rt.put("payData", response.getBody());
// return ObjectRestResponse.succ(rt);
// } else {
// System.out.println("调用失败");
// }
// } catch (AlipayApiException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
try
{
//这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse
response
=
alipayClient
.
sdkExecute
(
request
);
System
.
out
.
println
(
response
.
getBody
());
//就是orderString 可以直接给客户端请求,无需再做处理。
log
.
info
(
"alipay result={}"
,
response
.
getMsg
());
log
.
info
(
"alipay result={}"
,
response
.
getCode
());
log
.
info
(
"alipay result={}"
,
response
.
getBody
());
Map
<
String
,
Object
>
rt
=
new
HashMap
<>();
rt
.
put
(
"payType"
,
payType
);
rt
.
put
(
"payData"
,
response
.
getBody
());
return
ObjectRestResponse
.
succ
(
rt
);
}
catch
(
AlipayApiException
e
)
{
e
.
printStackTrace
();
}
return
ObjectRestResponse
.
createDefaultFail
();
}
public
ObjectRestResponse
generatePayment
(
String
orderCode
,
String
description
,
String
payType
,
Integer
amount
)
{
ObjectRestResponse
objectRestResponse
=
ObjectRestResponse
.
createDefaultFail
();
switch
(
payType
)
{
case
SystemConfig
.
ALIPAY
:
objectRestResponse
=
generateAliPayment
(
orderCode
,
description
,
payType
,
amount
);
break
;
default
:
log
.
info
(
"不支持的付款类型,payType={}"
,
payType
);
break
;
}
return
objectRestResponse
;
}
public
static
void
main
(
String
[]
args
)
{
String
url
=
"https://xxtest.upyuns.com/api/order/baseOrder/app/unauth/notifyUrl?orderNo=20190603141137010007&tradeNo=20190603141137000002"
;
String
result
=
""
;
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/OrderPayController.java
View file @
2f18740e
...
...
@@ -35,6 +35,7 @@ public class OrderPayController extends BaseController<OrderPayBiz,OrderPay> {
return
baseBiz
.
preparepay
(
orderPayVo
);
}
/**
* 支付回调
*
...
...
@@ -80,4 +81,18 @@ public class OrderPayController extends BaseController<OrderPayBiz,OrderPay> {
out
.
print
(
"<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[]]></return_msg></xml>"
);
}
@PostMapping
(
value
=
"/app/notify/alipay"
)
@IgnoreUserToken
public
String
alipayNotify
(){
return
baseBiz
.
alipayNotify
();
}
@PostMapping
(
value
=
"/app/generate_payment"
)
public
Object
generatePayment
(
@RequestParam
(
"orderCode"
)
String
orderCode
,
@RequestParam
(
"description"
)
String
description
,
@RequestParam
(
"payType"
)
String
payType
,
@RequestParam
(
"amount"
)
Integer
amount
)
{
Object
resp
=
baseBiz
.
generatePayment
(
orderCode
,
description
,
payType
,
amount
);
return
resp
;
}
}
\ 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