Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
Overview
Details
Activity
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
haoban3.0
haoban-manage3.0
Commits
5a9409be
Commit
5a9409be
authored
Apr 27, 2023
by
王祖波
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/许可账号购买二期' into 'master'
Feature/许可账号购买二期 See merge request
!1212
parents
3e42e9c0
696d3790
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
226 additions
and
35 deletions
+226
-35
LicenceOrderDTO.java
...om/gic/haoban/manage/api/dto/licence/LicenceOrderDTO.java
+12
-0
LicenceOrderPageDTO.java
...ic/haoban/manage/api/dto/licence/LicenceOrderPageDTO.java
+12
-0
LicenceOrderQDTO.java
.../haoban/manage/api/dto/qdto/licence/LicenceOrderQDTO.java
+12
-0
LicenceOrderApiService.java
...an/manage/api/service/licence/LicenceOrderApiService.java
+6
-0
LicenceOrderController.java
.../haoban/manage/web/controller/LicenceOrderController.java
+14
-0
LicenceOrderPageVO.java
.../gic/haoban/manage/web/vo/licence/LicenceOrderPageVO.java
+8
-0
LicenceOrderVO.java
.../com/gic/haoban/manage/web/vo/licence/LicenceOrderVO.java
+4
-0
TabHaobanLicenceOrder.java
.../manage/service/entity/licence/TabHaobanLicenceOrder.java
+4
-0
LicenceOrderServiceImpl.java
...service/service/licence/impl/LicenceOrderServiceImpl.java
+4
-7
LicenceOrderApiServiceImpl.java
.../service/out/impl/licence/LicenceOrderApiServiceImpl.java
+94
-7
TabHaobanLicenceOrderMapper.xml
.../resources/mapper/licence/TabHaobanLicenceOrderMapper.xml
+8
-4
LicenceOrderServiceTest.java
...anage3-service/src/test/java/LicenceOrderServiceTest.java
+15
-0
LicenceOrderController.java
...manage/web/controller/licence/LicenceOrderController.java
+29
-17
LicenceOrderVO.java
.../com/gic/haoban/manage/web/vo/licence/LicenceOrderVO.java
+4
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/licence/LicenceOrderDTO.java
View file @
5a9409be
...
...
@@ -153,6 +153,18 @@ public class LicenceOrderDTO implements Serializable {
* 微信url
*/
private
String
wxUrl
;
/**
* 企业微信订单过期时间
*/
private
Date
qywxExpireTime
;
public
Date
getQywxExpireTime
()
{
return
qywxExpireTime
;
}
public
void
setQywxExpireTime
(
Date
qywxExpireTime
)
{
this
.
qywxExpireTime
=
qywxExpireTime
;
}
public
String
getWxUrl
()
{
return
wxUrl
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/licence/LicenceOrderPageDTO.java
View file @
5a9409be
...
...
@@ -131,6 +131,18 @@ public class LicenceOrderPageDTO implements Serializable {
* 微信订单id
*/
private
String
wxOrderId
;
/**
* 企业微信订单过期时间
*/
private
Date
qywxExpireTime
;
public
Date
getQywxExpireTime
()
{
return
qywxExpireTime
;
}
public
void
setQywxExpireTime
(
Date
qywxExpireTime
)
{
this
.
qywxExpireTime
=
qywxExpireTime
;
}
public
String
getWxOrderId
()
{
return
wxOrderId
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/licence/LicenceOrderQDTO.java
View file @
5a9409be
...
...
@@ -101,6 +101,18 @@ public class LicenceOrderQDTO implements Serializable {
* 创建人名称
*/
private
String
creatorName
;
/**
* 企业微信订单id
*/
private
String
qywxOrderId
;
public
String
getQywxOrderId
()
{
return
qywxOrderId
;
}
public
void
setQywxOrderId
(
String
qywxOrderId
)
{
this
.
qywxOrderId
=
qywxOrderId
;
}
public
Long
getOrderId
()
{
return
orderId
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/licence/LicenceOrderApiService.java
View file @
5a9409be
...
...
@@ -151,5 +151,11 @@ public interface LicenceOrderApiService {
*/
ServiceResponse
<
HashMap
<
String
,
Integer
>>
hasPopup
(
String
wxEnterpriseId
);
/**
* 查询企业微信订单状态是否过期
* @return
*/
ServiceResponse
<
Boolean
>
checkQywxOrderStatus
(
Long
orderId
);
}
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/controller/LicenceOrderController.java
View file @
5a9409be
...
...
@@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -92,6 +93,7 @@ public class LicenceOrderController {
if
(
ObjectUtil
.
isNotNull
(
wxEnterpriseDTO
))
{
vo
.
setWxEnterpriseName
(
wxEnterpriseDTO
.
getCorpName
());
}
vo
.
setNowTime
(
new
Date
());
}
}
return
RestResponse
.
successResult
(
result
);
...
...
@@ -193,6 +195,18 @@ public class LicenceOrderController {
}
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
/**
* 获取当前系统时间
*/
@RequestMapping
(
"get-system-date"
)
public
RestResponse
<
Date
>
getSystemDate
(
HttpServletRequest
request
)
{
AuthcenterUserDetails
loginUser
=
(
AuthcenterUserDetails
)
SessionContextUtil
.
getUser
(
request
);
if
(
loginUser
==
null
)
{
return
RestResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCode
.
ERR_4
.
getCode
()),
HaoBanErrCode
.
ERR_4
.
getMsg
());
}
return
RestResponse
.
successResult
(
new
Date
());
}
}
...
...
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/vo/licence/LicenceOrderPageVO.java
View file @
5a9409be
...
...
@@ -132,6 +132,14 @@ public class LicenceOrderPageVO implements Serializable {
* 微信订单id
*/
private
String
wxOrderId
;
/**
* 企业微信订单过期时间
*/
private
Date
qywxExpireTime
;
/**
* 当前时间
*/
private
Date
nowTime
;
}
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/vo/licence/LicenceOrderVO.java
View file @
5a9409be
...
...
@@ -154,5 +154,9 @@ public class LicenceOrderVO implements Serializable {
* 订单进度list
*/
private
List
<
LicenceOrderProgressVO
>
OrderProgressList
;
/**
* 企业微信订单过期时间
*/
private
Date
qywxExpireTime
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/licence/TabHaobanLicenceOrder.java
View file @
5a9409be
...
...
@@ -170,6 +170,10 @@ public class TabHaobanLicenceOrder implements Serializable {
* 微信url
*/
private
String
wxUrl
;
/**
* 企业微信订单过期时间
*/
private
Date
qywxExpireTime
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/licence/impl/LicenceOrderServiceImpl.java
View file @
5a9409be
...
...
@@ -83,8 +83,10 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
order
.
setOrderId
(
orderId
);
//默认支付状态为待支付
order
.
setOrderStatus
(
0
);
order
.
setQywxOrderStatus
(
0
);
order
.
setCreateTime
(
now
);
order
.
setUpdateTime
(
now
);
order
.
setQywxExpireTime
(
DateUtil
.
addDay
(
now
,
10
));
//生成订单编号
String
num
=
"ZH"
+
orderId
;
order
.
setOrderNumber
(
num
);
...
...
@@ -98,6 +100,8 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
tabHaobanLicenceOrderMapper
.
insert
(
order
);
//记录订单进度
saveOrderProgress
(
orderId
,
"创建订单"
,
licenceOrderQDTO
.
getEnterpriseId
(),
licenceOrderQDTO
.
getWxEnterpriseId
(),
licenceOrderQDTO
.
getCreatorName
(),
1
,
null
,
null
);
//记录企业微信订单进度
saveOrderProgress
(
orderId
,
"创建订单"
,
licenceOrderQDTO
.
getEnterpriseId
(),
licenceOrderQDTO
.
getWxEnterpriseId
(),
licenceOrderQDTO
.
getCreatorName
(),
2
,
null
,
null
);
return
String
.
valueOf
(
orderId
);
}
...
...
@@ -223,13 +227,6 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
}
PageHelper
.
startPage
(
qdto
);
List
<
TabHaobanLicenceOrder
>
licenceOrderPage
=
tabHaobanLicenceOrderMapper
.
getLicenceOrderPage
(
qdto
);
//判断订单状态,支付时间已过的订单的需要更改订单状态为已过期
for
(
TabHaobanLicenceOrder
dto
:
licenceOrderPage
){
if
(
dto
.
getExpireTime
().
before
(
new
Date
())
&&
dto
.
getOrderStatus
()
==
0
){
dto
.
setOrderStatus
(
3
);
updateLicenceOrderType
(
dto
.
getOrderId
(),
3
,
dto
.
getEnterpriseId
(),
dto
.
getWxEnterpriseId
(),
"系统"
,
1
);
}
}
return
PageHelperUtils
.
changePageHelperToCurrentPage
(
licenceOrderPage
,
LicenceOrderPageDTO
.
class
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/licence/LicenceOrderApiServiceImpl.java
View file @
5a9409be
...
...
@@ -124,15 +124,71 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
@Override
public
ServiceResponse
<
String
>
saveOrUpdateLicenceOrder
(
LicenceOrderQDTO
licenceOrderQDTO
)
{
//创建企业微信订单,查询企业微信订单详情,返回订单金额
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseService
.
selectById
(
licenceOrderQDTO
.
getWxEnterpriseId
());
if
(
wxEnterpriseDTO
==
null
)
{
return
ServiceResponse
.
failure
(
"-9999"
,
"企业微信不存在!!"
);
}
String
openCorpid
=
wxEnterpriseDTO
.
getOpenCorpid
();
String
serviceCorpid
=
config
.
getCorpid
();
CreateOrderQDTO
orderQDTO
=
new
CreateOrderQDTO
();
orderQDTO
.
setBaseCount
(
0
);
orderQDTO
.
setExternalCount
(
licenceOrderQDTO
.
getExternalContactCount
());
orderQDTO
.
setBuyerUserid
(
config
.
getBuyerUserid
());
if
(
licenceOrderQDTO
.
getTimeType
()
==
1
)
{
orderQDTO
.
setMonths
(
licenceOrderQDTO
.
getTimeValue
());
orderQDTO
.
setDays
(
0
);
}
else
{
orderQDTO
.
setMonths
(
0
);
orderQDTO
.
setDays
(
licenceOrderQDTO
.
getTimeValue
());
}
ServiceResponse
<
CreateOrderResponseDTO
>
newOrder
=
qywxOrderApiService
.
createNewOrder
(
serviceCorpid
,
openCorpid
,
orderQDTO
);
logger
.
info
(
"企业微信订单返回信息:{}"
,
JSON
.
toJSONString
(
newOrder
));
if
(
newOrder
.
isSuccess
())
{
//更新企业微信订单状态,保存企业微信订单id
String
qywxOrderId
=
newOrder
.
getResult
().
getOrderId
();
//查询订单详情,获取订单金额
FeeOrderDeatilResponseDTO
dto
=
qywxUserApiService
.
getOrder
(
openCorpid
,
serviceCorpid
,
qywxOrderId
);
logger
.
info
(
"查询企业微信订单详情返回信息:{}"
,
JSON
.
toJSONString
(
dto
));
if
(
null
!=
dto
&&
0
==
dto
.
getErrcode
()){
Integer
price
=
dto
.
getOrder
().
getPrice
();
licenceOrderQDTO
.
setQywxOrderId
(
qywxOrderId
);
licenceOrderQDTO
.
setPrice
(
price
);
String
s
=
licenceOrderService
.
saveOrUpdateLicenceOrder
(
licenceOrderQDTO
);
return
ServiceResponse
.
success
(
s
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"orderId"
,
s
);
jsonObject
.
put
(
"price"
,
price
);
return
ServiceResponse
.
success
(
JSON
.
toJSONString
(
jsonObject
));
}
return
ServiceResponse
.
failure
(
String
.
valueOf
(
dto
.
getErrcode
()),
dto
.
getErrmsg
());
}
return
ServiceResponse
.
failure
(
newOrder
.
getCode
(),
newOrder
.
getMessage
());
}
@Override
public
ServiceResponse
<
Page
<
LicenceOrderPageDTO
>>
getLicenceOrderPage
(
LicenceOrderPageQDTO
licenceOrderPageQDTO
)
{
Page
<
LicenceOrderPageDTO
>
licenceOrderPage
=
licenceOrderService
.
getLicenceOrderPage
(
licenceOrderPageQDTO
);
List
<
LicenceOrderPageDTO
>
list
=
licenceOrderPage
.
getResult
();
if
(
CollUtil
.
isNotEmpty
(
list
)){
//判断订单状态,支付时间已过的订单的需要更改订单状态为已过期
for
(
LicenceOrderPageDTO
dto
:
list
){
Date
now
=
new
Date
();
if
(
null
!=
dto
.
getExpireTime
()
&&
dto
.
getExpireTime
().
before
(
now
)
&&
dto
.
getOrderStatus
()
==
0
){
dto
.
setOrderStatus
(
3
);
updateLicenceOrderType
(
dto
.
getOrderId
(),
3
,
dto
.
getEnterpriseId
(),
dto
.
getWxEnterpriseId
(),
"系统"
,
1
);
//取消企业微信订单
cancelQywxOrder
(
dto
.
getOrderId
());
}
if
(
null
!=
dto
.
getQywxExpireTime
()
&&
dto
.
getQywxExpireTime
().
before
(
now
)
&&
dto
.
getQywxOrderStatus
()
==
0
){
dto
.
setQywxOrderStatus
(
3
);
updateLicenceOrderType
(
dto
.
getOrderId
(),
3
,
dto
.
getEnterpriseId
(),
dto
.
getWxEnterpriseId
(),
"系统"
,
0
);
}
}
licenceOrderPage
.
setResult
(
list
);
return
ServiceResponse
.
success
(
licenceOrderPage
);
}
return
ServiceResponse
.
success
(
new
Page
<>());
}
@Override
public
ServiceResponse
<
Boolean
>
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
,
Integer
wxFlag
)
{
...
...
@@ -142,8 +198,11 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
@Override
public
ServiceResponse
<
Boolean
>
uploadLicenceOrderVoucher
(
Long
orderId
,
String
voucher
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
)
{
ServiceResponse
<
Boolean
>
response
=
checkQywxOrderStatus
(
orderId
);
if
(
response
.
isSuccess
()){
licenceOrderService
.
uploadLicenceOrderVoucher
(
orderId
,
voucher
,
enterpriseId
,
wxEnterpriseId
,
creatorName
);
return
ServiceResponse
.
success
(
true
);
}
return
response
;
}
@Override
...
...
@@ -285,12 +344,14 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
String
date_time
=
formatter
.
format
(
new
Date
(
Long
.
valueOf
(
timeStamp
)
*
1000L
));
Date
date
=
DateUtil
.
strToDate
(
date_time
,
DateUtil
.
FORMAT_DATETIME_19
);
if
(
order
==
null
)
{
logger
.
info
(
"该笔订单不存在!"
);
RedisUtil
.
unlock
(
key
);
return
ServiceResponse
.
success
(
false
);
}
if
(
"license_pay_success"
.
equals
(
infoType
))
{
if
(
order
.
getQywxPayTime
()
!=
null
)
{
if
(
order
.
getQywxPayTime
()
!=
null
&&
order
.
getQywxOrderStatus
()
!=
0
)
{
//该笔订单已处理
logger
.
info
(
"该笔订单已处理!"
);
RedisUtil
.
unlock
(
key
);
return
ServiceResponse
.
success
(
false
);
}
...
...
@@ -302,6 +363,7 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
if
(
"license_refund"
.
equals
(
infoType
))
{
if
(
order
.
getQywxRefundTime
()
!=
null
)
{
//该笔订单已处理
logger
.
info
(
"该笔订单已处理!"
);
RedisUtil
.
unlock
(
key
);
return
ServiceResponse
.
success
(
false
);
}
...
...
@@ -350,8 +412,8 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
4
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
1
);
return
ServiceResponse
.
success
(
true
);
}
if
(
4
=
=
order
.
getOrderStatus
()){
return
ServiceResponse
.
failure
(
"-9999"
,
"该笔订单
已退款
!"
);
if
(
1
!
=
order
.
getOrderStatus
()){
return
ServiceResponse
.
failure
(
"-9999"
,
"该笔订单
不是已支付状态
!"
);
}
RefundReqDataDTO
reqData
=
new
RefundReqDataDTO
(
order
.
getWxOrderId
(),
null
,
null
,
String
.
valueOf
(
orderId
),
order
.
getPrice
(),
order
.
getPrice
(),
null
,
null
);
...
...
@@ -412,8 +474,8 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
if
(
wxEnterpriseDTO
==
null
)
{
return
ServiceResponse
.
failure
(
"-9999"
,
"微信企业不存在!!"
);
}
//
先申请微信退款,再取消企业微信订单
wxRefund
(
orderId
);
//
取消企业微信订单,退款由财务人员手动触发
//
wxRefund(orderId);
String
openCorpid
=
wxEnterpriseDTO
.
getOpenCorpid
();
String
serviceCorpid
=
config
.
getCorpid
();
ServiceResponse
<
QywxResponseDTO
>
response
=
qywxOrderApiService
.
cancelOrder
(
serviceCorpid
,
openCorpid
,
order
.
getQywxOrderId
());
...
...
@@ -450,4 +512,29 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
return
ServiceResponse
.
success
(
map
);
}
@Override
public
ServiceResponse
<
Boolean
>
checkQywxOrderStatus
(
Long
orderId
)
{
//查询企业微信订单状态是否过期,过期则不能上传订单支付凭证
TabHaobanLicenceOrder
order
=
licenceOrderService
.
getLicenceOrderDetail
(
orderId
);
if
(
null
==
order
){
return
ServiceResponse
.
failure
(
"9999"
,
"订单不存在!!"
);
}
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseService
.
selectById
(
order
.
getWxEnterpriseId
());
if
(
wxEnterpriseDTO
==
null
)
{
return
ServiceResponse
.
failure
(
"9999"
,
"微信企业不存在!!"
);
}
String
openCorpid
=
wxEnterpriseDTO
.
getOpenCorpid
();
String
serviceCorpid
=
config
.
getCorpid
();
FeeOrderDeatilResponseDTO
dto
=
qywxUserApiService
.
getOrder
(
openCorpid
,
serviceCorpid
,
order
.
getQywxOrderId
());
if
(
null
!=
dto
&&
null
!=
dto
.
getOrder
()
&&
dto
.
getOrder
().
getOrderStatus
()
==
3
){
//订单失效,记录订单状态
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
3
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
0
);
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
2
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
1
);
return
ServiceResponse
.
failure
(
"-9999"
,
"企业微信订单已过期!"
);
}
return
ServiceResponse
.
success
();
}
}
haoban-manage3-service/src/main/resources/mapper/licence/TabHaobanLicenceOrderMapper.xml
View file @
5a9409be
...
...
@@ -33,6 +33,7 @@
<result
column=
"prepay_id"
property=
"prepayId"
/>
<result
column=
"wx_order_id"
property=
"wxOrderId"
/>
<result
column=
"wx_url"
property=
"wxUrl"
/>
<result
column=
"qywx_expire_time"
property=
"qywxExpireTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
order_id,
...
...
@@ -65,7 +66,8 @@
expire_time,
prepay_id,
wx_order_id,
wx_url
wx_url,
qywx_expire_time
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrder"
...
...
@@ -98,7 +100,8 @@
update_time,
creator_id,
creator_name,
expire_time)
expire_time,
qywx_expire_time)
VALUES (#{orderId,jdbcType=BIGINT},
#{enterpriseId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR},
...
...
@@ -126,7 +129,8 @@
now(),
#{creatorId,jdbcType=VARCHAR},
#{creatorName,jdbcType=VARCHAR},
#{expireTime,jdbcType=VARCHAR})
#{expireTime,jdbcType=TIMESTAMP},
#{qywxExpireTime,jdbcType=TIMESTAMP})
]]>
</insert>
...
...
@@ -205,7 +209,7 @@
FROM tab_haoban_licence_order
WHERE wx_enterprise_id = #{wxEnterpriseId}
and delete_flag = 0
and order_status = 0 limit 1
and
qywx_
order_status = 0 limit 1
</select>
<select
id=
"getLicenceOrderPage"
resultMap=
"BaseResultMap"
>
...
...
haoban-manage3-service/src/test/java/LicenceOrderServiceTest.java
View file @
5a9409be
...
...
@@ -5,6 +5,7 @@ import com.gic.api.base.commons.ServiceResponse;
import
com.gic.haoban.manage.api.dto.licence.LicenceOrderDTO
;
import
com.gic.haoban.manage.api.dto.licence.LicenceOrderPageDTO
;
import
com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderPageQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderQDTO
;
import
com.gic.haoban.manage.api.service.licence.LicenceOrderApiService
;
import
com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrder
;
import
com.gic.haoban.manage.service.service.licence.LicenceOrderService
;
...
...
@@ -68,4 +69,18 @@ public class LicenceOrderServiceTest {
public
void
test7
(){
licenceOrderApiService
.
hasPopup
(
"ca66a01b79474c40b3e7c7f93daf1a3b"
);
}
@Test
public
void
test8
(){
LicenceOrderQDTO
licenceOrderQDTO
=
new
LicenceOrderQDTO
();
licenceOrderQDTO
.
setEnterpriseId
(
"ff8080815dacd3a2015dacd3ef5c0000"
);
licenceOrderQDTO
.
setWxEnterpriseId
(
"ca66a01b79474c40b3e7c7f93daf1a3b"
);
licenceOrderQDTO
.
setOrderType
(
1
);
licenceOrderQDTO
.
setExternalContactCount
(
10
);
licenceOrderQDTO
.
setTimeType
(
1
);
licenceOrderQDTO
.
setTimeValue
(
2
);
licenceOrderQDTO
.
setPayType
(
1
);
ServiceResponse
<
String
>
stringServiceResponse
=
licenceOrderApiService
.
saveOrUpdateLicenceOrder
(
licenceOrderQDTO
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/licence/LicenceOrderController.java
View file @
5a9409be
...
...
@@ -9,7 +9,6 @@ import com.gic.api.base.commons.Page;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.enterprise.api.dto.EnterpriseDTO
;
import
com.gic.enterprise.api.service.EnterpriseService
;
...
...
@@ -98,38 +97,39 @@ public class LicenceOrderController {
// }
/**
* 新增或者修改订单
* 新增订单
*
* @param licenceOrderQO
* @return JSONObject key:orderId 和 price
*/
@RequestMapping
(
"licence-order-saveOrUpdate"
)
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
HB_LICENCE_ORDER
,
optType
=
GicLogRecordOptTypeEnum
.
HB_1004_01
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"购买企业微信许可账号"
)
public
RestResponse
<
String
>
saveOrUpdateLicenceOrder
(
@RequestBody
LicenceOrderQO
licenceOrderQO
)
{
public
RestResponse
<
JSONObject
>
saveOrUpdateLicenceOrder
(
@RequestBody
LicenceOrderQO
licenceOrderQO
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
if
(
loginUser
==
null
||
StringUtils
.
isBlank
(
loginUser
.
getEnterpriseId
()))
{
return
RestResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCode
.
ERR_4
.
getCode
()),
HaoBanErrCode
.
ERR_4
.
getMsg
());
}
//金额校验
Integer
integer
=
licenceOrderQO
.
checkPrice
();
if
(
integer
==
-
1
)
{
return
RestResponse
.
failure
(
"-9999"
,
"许可账号数量有误!"
);
}
else
if
(
integer
==
0
)
{
return
RestResponse
.
failure
(
"-9999"
,
"购买金额计算有误!"
);
}
LicenceOrderQDTO
licenceOrderQDTO
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
licenceOrderQO
),
LicenceOrderQDTO
.
class
);
licenceOrderQDTO
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
licenceOrderQDTO
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
licenceOrderQDTO
.
setCreatorId
(
loginUser
.
getClerkId
());
licenceOrderQDTO
.
setCreatorName
(
loginUser
.
getClerkName
());
String
result
=
licenceOrderApiService
.
saveOrUpdateLicenceOrder
(
licenceOrderQDTO
).
getResult
();
ServiceResponse
<
String
>
response
=
licenceOrderApiService
.
saveOrUpdateLicenceOrder
(
licenceOrderQDTO
);
if
(
response
.
isSuccess
())
{
JSONObject
object
=
JSONObject
.
parseObject
(
response
.
getResult
(),
JSONObject
.
class
);
String
time
=
""
;
if
(
licenceOrderQO
.
getTimeType
()
==
1
)
{
time
=
licenceOrderQO
.
getTimeValue
()
+
"个月"
;
}
else
{
time
=
licenceOrderQO
.
getTimeValue
()
+
"天"
;
}
String
logValue
=
"【购买企微许可账号】:订单编号ZH"
+
result
+
",企业员工账号"
+
licenceOrderQO
.
getExternalContactCount
()
+
"个,时长"
+
time
;
String
logValue
=
"【购买企微许可账号】:订单编号ZH"
+
object
.
getString
(
"orderId"
)
+
",企业员工账号"
+
licenceOrderQO
.
getExternalContactCount
()
+
"个,时长"
+
time
;
GicLogRecordEvaluationContext
.
putAttribute
(
"logValue"
,
logValue
);
return
RestResponse
.
successResult
(
result
);
return
RestResponse
.
successResult
(
object
);
}
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
/**
...
...
@@ -155,7 +155,7 @@ public class LicenceOrderController {
}
/**
* 取消订单
/订单已经过期
* 取消订单
*/
@RequestMapping
(
"licence-order-cancel"
)
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
HB_LICENCE_ORDER
,
...
...
@@ -173,11 +173,19 @@ public class LicenceOrderController {
String
enterpriseId
=
loginUser
.
getEnterpriseId
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
String
clerkName
=
loginUser
.
getClerkName
();
//取消企业微信订单
ServiceResponse
<
Boolean
>
response
=
licenceOrderApiService
.
cancelQywxOrder
(
orderId
);
if
(
response
.
isSuccess
())
{
Boolean
result
=
licenceOrderApiService
.
updateLicenceOrderType
(
orderId
,
type
,
enterpriseId
,
wxEnterpriseId
,
clerkName
,
1
).
getResult
();
//操作日志记录
String
logValue
=
"【取消购买企微许可账号订单】:订单编号"
+
dto
.
getOrderNumber
()
+
",取消时间"
+
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATETIME_19
);
GicLogRecordEvaluationContext
.
putAttribute
(
"logValue"
,
logValue
);
return
RestResponse
.
successResult
(
result
);
}
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
/**
* 订单凭证上传
...
...
@@ -198,10 +206,14 @@ public class LicenceOrderController {
String
enterpriseId
=
loginUser
.
getEnterpriseId
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
String
clerkName
=
loginUser
.
getClerkName
();
Boolean
result
=
licenceOrderApiService
.
uploadLicenceOrderVoucher
(
orderId
,
voucher
,
enterpriseId
,
wxEnterpriseId
,
clerkName
).
getResult
();
ServiceResponse
<
Boolean
>
response
=
licenceOrderApiService
.
uploadLicenceOrderVoucher
(
orderId
,
voucher
,
enterpriseId
,
wxEnterpriseId
,
clerkName
);
if
(
response
.
isSuccess
())
{
String
logValue
=
"【上传购买企微许可账号支付凭证】:订单编号"
+
dto
.
getOrderNumber
()
+
",上传时间"
+
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATETIME_19
);
GicLogRecordEvaluationContext
.
putAttribute
(
"logValue"
,
logValue
);
return
RestResponse
.
successResult
(
result
);
return
RestResponse
.
successResult
(
true
);
}
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
response
.
getCode
(),
response
.
getMessage
());
}
/**
...
...
@@ -226,7 +238,7 @@ public class LicenceOrderController {
return
RestResponse
.
successResult
(
map
);
}
Integer
money
=
result
.
getPrice
();
if
(
null
!=
loginUser
.
getPhoneNumber
()
&&
Arrays
.
asList
(
"13456789987"
,
"13429152802"
,
"13383841777"
,
"13576223447"
).
contains
(
loginUser
.
getPhoneNumber
()))
{
if
(
null
!=
loginUser
.
getPhoneNumber
()
&&
Arrays
.
asList
(
"13456789987"
,
"13429152802"
,
"13383841777"
,
"13576223447"
).
contains
(
loginUser
.
getPhoneNumber
()))
{
//测试账号付款一分
money
=
1
;
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/licence/LicenceOrderVO.java
View file @
5a9409be
...
...
@@ -154,5 +154,9 @@ public class LicenceOrderVO implements Serializable {
* 订单进度list
*/
private
List
<
LicenceOrderProgressVO
>
OrderProgressList
;
/**
* 企业微信订单过期时间
*/
private
Date
qywxExpireTime
;
}
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