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
466db39d
Commit
466db39d
authored
Mar 23, 2023
by
jinxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口开发
parent
209d4f6f
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
126 additions
and
24 deletions
+126
-24
LicenceOrderApiService.java
...an/manage/api/service/licence/LicenceOrderApiService.java
+2
-1
TabHaobanLicenceOrderMapper.java
...rvice/dao/mapper/licence/TabHaobanLicenceOrderMapper.java
+17
-1
LicenceOrderService.java
...n/manage/service/service/licence/LicenceOrderService.java
+26
-5
LicenceOrderServiceImpl.java
...service/service/licence/impl/LicenceOrderServiceImpl.java
+35
-9
LicenceOrderApiServiceImpl.java
.../service/out/impl/licence/LicenceOrderApiServiceImpl.java
+31
-7
TabHaobanLicenceOrderMapper.xml
.../resources/mapper/licence/TabHaobanLicenceOrderMapper.xml
+14
-0
LicenceOrderController.java
...manage/web/controller/licence/LicenceOrderController.java
+1
-1
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/licence/LicenceOrderApiService.java
View file @
466db39d
...
...
@@ -54,9 +54,10 @@ public interface LicenceOrderApiService {
*
* @param orderId 订单id
* @param type 订单状态
* @param wxFlag 1微信订单状态 0 企业微信订单状态
* @return
*/
ServiceResponse
<
Boolean
>
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
);
ServiceResponse
<
Boolean
>
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
,
Integer
wxFlag
);
/**
* 订单凭证上传
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/licence/TabHaobanLicenceOrderMapper.java
View file @
466db39d
...
...
@@ -89,10 +89,26 @@ public interface TabHaobanLicenceOrderMapper {
/**
* 获取订单详情
*
* @param transactionId
* @param transactionId
微信订单id
* @return
*/
TabHaobanLicenceOrder
selectByTransactionId
(
@Param
(
"transactionId"
)
String
transactionId
);
/**
*
* @param qywxOrderId 企业微信订单id
* @param wxEnterpriseId
* @return
*/
TabHaobanLicenceOrder
selectByQywxOrderId
(
@Param
(
"qywxOrderId"
)
String
qywxOrderId
,
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
);
/**
* 保存企业微信订单id
*
* @param orderId
* @param qywxOrderId
* @return
*/
Integer
saveQywxOrderId
(
@Param
(
"orderId"
)
Long
orderId
,
@Param
(
"qywxOrderId"
)
String
qywxOrderId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/licence/LicenceOrderService.java
View file @
466db39d
...
...
@@ -5,6 +5,7 @@ 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.service.entity.licence.TabHaobanLicenceOrder
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
...
...
@@ -44,9 +45,10 @@ public interface LicenceOrderService {
*
* @param orderId 订单id
* @param type 订单状态
* @param wxFlag 1微信订单状态 0 企业微信订单状态
* @return
*/
Boolean
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
);
Boolean
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
,
Integer
wxFlag
);
/**
* 上次订单支付凭证
...
...
@@ -75,20 +77,39 @@ public interface LicenceOrderService {
/**
* 保存微信交易信息
* @param orderId 订单id
*
* @param orderId 订单id
* @param transactionCode 订单编号
* @param prepayId 微信预支付id
* @param wxOrderId 微信支付id
* @param prepayId
微信预支付id
* @param wxOrderId
微信支付id
* @return
*/
Integer
saveTransactionCode
(
Long
orderId
,
String
transactionCode
,
String
prepayId
,
String
wxOrderId
);
/**
* 查询
企业
微信订单详情
* 查询微信订单详情
*
* @param transactionId 订单编号
* @return
*/
TabHaobanLicenceOrder
selectByTransactionId
(
String
transactionId
);
/**
* 查询订单详情
* @param qywxOrderId 企业微信订单id
* @param wxEnterpriseId 企业微信id
* @return
*/
TabHaobanLicenceOrder
selectByQywxOrderId
(
String
qywxOrderId
,
String
wxEnterpriseId
);
/**
* 保存企业微信订单id
*
* @param orderId
* @param qywxOrderId
* @return
*/
Integer
saveQywxOrderId
(
Long
orderId
,
String
qywxOrderId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/licence/impl/LicenceOrderServiceImpl.java
View file @
466db39d
...
...
@@ -100,27 +100,43 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
)
{
tabHaobanLicenceOrderMapper
.
updateLicenceOrderType
(
orderId
,
type
);
public
Boolean
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
,
Integer
wxFlag
)
{
if
(
wxFlag
==
1
){
//更新微信订单状态
tabHaobanLicenceOrderMapper
.
updateLicenceOrderType
(
orderId
,
type
);
}
else
{
//更新企业微信订单状态
tabHaobanLicenceOrderMapper
.
updateQywxOrderType
(
orderId
,
type
);
}
//记录订单进度
switch
(
type
){
case
0
:
saveOrderProgress
(
orderId
,
"创建订单"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
1
,
null
,
null
);
saveOrderProgress
(
orderId
,
"创建订单"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
1
:
saveOrderProgress
(
orderId
,
"已支付"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
1
,
null
,
null
);
saveOrderProgress
(
orderId
,
"已支付"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
2
:
saveOrderProgress
(
orderId
,
"已取消"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
1
,
null
,
null
);
saveOrderProgress
(
orderId
,
"已取消"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
3
:
saveOrderProgress
(
orderId
,
"已过期"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
1
,
null
,
null
);
saveOrderProgress
(
orderId
,
"已过期"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
4
:
saveOrderProgress
(
orderId
,
"已退款"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
1
,
null
,
null
);
if
(
wxFlag
==
1
){
saveOrderProgress
(
orderId
,
"已退款"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
}
saveOrderProgress
(
orderId
,
"退款中"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
5
:
saveOrderProgress
(
orderId
,
"凭证已上传,审核中"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
1
,
null
,
null
);
saveOrderProgress
(
orderId
,
"退款被拒绝"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
6
:
saveOrderProgress
(
orderId
,
"已退款"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
case
7
:
saveOrderProgress
(
orderId
,
"以失效"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
,
null
,
null
);
break
;
default
:
break
;
...
...
@@ -184,7 +200,7 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
for
(
TabHaobanLicenceOrder
dto
:
licenceOrderPage
){
if
(
dto
.
getExpireTime
().
before
(
new
Date
())
&&
dto
.
getOrderStatus
()
==
0
){
dto
.
setOrderStatus
(
3
);
updateLicenceOrderType
(
dto
.
getOrderId
(),
3
,
qdto
.
getEnterpriseId
(),
qdto
.
getWxEnterpriseId
(),
qdto
.
getCreatorName
());
updateLicenceOrderType
(
dto
.
getOrderId
(),
3
,
qdto
.
getEnterpriseId
(),
qdto
.
getWxEnterpriseId
(),
qdto
.
getCreatorName
()
,
1
);
}
}
return
PageHelperUtils
.
changePageHelperToCurrentPage
(
licenceOrderPage
,
LicenceOrderPageDTO
.
class
);
...
...
@@ -200,4 +216,14 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
public
TabHaobanLicenceOrder
selectByTransactionId
(
String
transactionId
)
{
return
tabHaobanLicenceOrderMapper
.
selectByTransactionId
(
transactionId
);
}
@Override
public
TabHaobanLicenceOrder
selectByQywxOrderId
(
String
qywxOrderId
,
String
wxEnterpriseId
)
{
return
tabHaobanLicenceOrderMapper
.
selectByQywxOrderId
(
qywxOrderId
,
wxEnterpriseId
);
}
@Override
public
Integer
saveQywxOrderId
(
Long
orderId
,
String
qywxOrderId
)
{
return
tabHaobanLicenceOrderMapper
.
saveQywxOrderId
(
orderId
,
qywxOrderId
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/licence/LicenceOrderApiServiceImpl.java
View file @
466db39d
...
...
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
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.EntityUtil
;
import
com.gic.enterprise.api.dto.EnterpriseDTO
;
import
com.gic.enterprise.api.service.EnterpriseService
;
...
...
@@ -23,6 +24,7 @@ import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgres
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.licence.LicenceOrderProgressService
;
import
com.gic.haoban.manage.service.service.licence.LicenceOrderService
;
import
com.gic.haoban.manage.service.util.DingUtils
;
import
com.gic.wechat.api.dto.qywx.fee.CreateOrderResponseDTO
;
import
com.gic.wechat.api.dto.qywx.fee.qdto.CreateOrderQDTO
;
import
com.gic.wechat.api.service.qywx.QywxOrderApiService
;
...
...
@@ -32,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -106,8 +109,8 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
}
@Override
public
ServiceResponse
<
Boolean
>
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
)
{
licenceOrderService
.
updateLicenceOrderType
(
orderId
,
type
,
enterpriseId
,
wxEnterpriseId
,
creatorName
);
public
ServiceResponse
<
Boolean
>
updateLicenceOrderType
(
Long
orderId
,
Integer
type
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
,
Integer
wxFlag
)
{
licenceOrderService
.
updateLicenceOrderType
(
orderId
,
type
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
wxFlag
);
return
ServiceResponse
.
success
(
true
);
}
...
...
@@ -140,10 +143,14 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
orderQDTO
.
setDays
(
licenceOrderDetail
.
getTimeValue
());
}
ServiceResponse
<
CreateOrderResponseDTO
>
newOrder
=
qywxOrderApiService
.
createNewOrder
(
serviceCorpid
,
openCorpid
,
orderQDTO
);
logger
.
info
(
"企业微信订单返回信息:{}"
,
JSON
.
toJSONString
(
newOrder
));
if
(
newOrder
.
isSuccess
()){
//更新
订单状态、企业微信订单状态
//更新
企业微信订单状态,保存企业微信订单id
CreateOrderResponseDTO
result
=
newOrder
.
getResult
();
licenceOrderService
.
updateLicenceOrderType
(
licenceOrderDetail
.
getOrderId
(),
0
,
licenceOrderDetail
.
getEnterpriseId
(),
licenceOrderDetail
.
getWxEnterpriseId
(),
"系统"
,
0
);
licenceOrderService
.
saveQywxOrderId
(
licenceOrderDetail
.
getOrderId
(),
result
.
getOrderId
());
return
ServiceResponse
.
success
(
true
);
}
return
ServiceResponse
.
success
(
false
);
...
...
@@ -169,11 +176,25 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
String
timeEnd
=
object
.
getString
(
"timeEnd"
);
TabHaobanLicenceOrder
licenceOrder
=
licenceOrderService
.
selectByTransactionId
(
transactionId
);
//更新订单状态
licenceOrderService
.
updateLicenceOrderType
(
licenceOrder
.
getOrderId
(),
1
,
licenceOrder
.
getEnterpriseId
(),
licenceOrder
.
getWxEnterpriseId
(),
"系统"
);
licenceOrderService
.
updateLicenceOrderType
(
licenceOrder
.
getOrderId
(),
1
,
licenceOrder
.
getEnterpriseId
(),
licenceOrder
.
getWxEnterpriseId
(),
"系统"
,
1
);
//保存微信订单id
licenceOrderService
.
saveTransactionCode
(
licenceOrder
.
getOrderId
(),
null
,
null
,
orderId
);
//生成企业微信订单
payLicenceOrder
(
licenceOrder
.
getOrderId
(),
licenceOrder
.
getWxEnterpriseId
());
// payLicenceOrder(licenceOrder.getOrderId(),licenceOrder.getWxEnterpriseId());
//查询gic品牌名称
String
enterpriseName
=
""
;
String
wxEnterpriseName
=
""
;
EnterpriseDTO
enterpriseDTO
=
enterpriseService
.
getEnterpriseById
(
licenceOrder
.
getEnterpriseId
());
if
(
ObjectUtil
.
isNotNull
(
enterpriseDTO
)){
enterpriseName
=
enterpriseDTO
.
getEnterpriseName
();
}
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseApiService
.
getOne
(
licenceOrder
.
getWxEnterpriseId
());
if
(
ObjectUtil
.
isNotNull
(
wxEnterpriseDTO
)){
wxEnterpriseName
=
wxEnterpriseDTO
.
getCorpName
();
}
String
dateToStr
=
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
msg
=
"标题:企微账号许可通知\n品牌名称:"
+
enterpriseName
+
"\n"
+
"企业名称:"
+
wxEnterpriseName
+
"\n"
+
"消息内容:"
+
dateToStr
+
"订单编号为"
+
licenceOrder
.
getTransactionId
()+
",请尽快处理"
;
DingUtils
.
send
(
msg
,
"https://oapi.dingtalk.com/robot/send?access_token=63074c9fc1ac2c00aa62477facdf16e5fa2388cf6a621edba1fb05d6e55d031f"
,
false
);
return
ServiceResponse
.
success
(
true
);
}
...
...
@@ -190,12 +211,15 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
String
timeStamp
=
object
.
getString
(
"timeStamp"
);
Integer
orderStatus
=
object
.
getInteger
(
"orderStatus"
);
String
buyerUserId
=
object
.
getString
(
"buyerUserId"
);
TabHaobanLicenceOrder
order
=
licenceOrderService
.
selectByQywxOrderId
(
orderId
,
openCorpId
);
if
(
"license_pay_success"
.
equals
(
infoType
)){
//支付回调
//更新企业微信订单状态
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
1
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
0
);
}
if
(
"license_refund"
.
equals
(
infoType
)){
//退款回调
//退款回调 todo 根据退款状态判断
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
6
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
0
);
}
return
ServiceResponse
.
success
(
true
);
}
...
...
haoban-manage3-service/src/main/resources/mapper/licence/TabHaobanLicenceOrderMapper.xml
View file @
466db39d
...
...
@@ -254,4 +254,17 @@
FROM tab_haoban_licence_order WHERE transaction_id = #{transactionId} and delete_flag=0
</select>
<select
id=
"selectByQywxOrderId"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM tab_haoban_licence_order WHERE qywx_order_id = #{qywxOrderId} and delete_flag=0 and wx_enterprise_id = #{wxEnterpriseId}
</select>
<update
id=
"saveQywxOrderId"
>
UPDATE tab_haoban_licence_order
SET qywx_order_id = #{qywxOrderId} ,update_time = now()
WHERE order_id = #{orderId}
and delete_flag = 0
</update>
</mapper>
\ No newline at end of file
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/licence/LicenceOrderController.java
View file @
466db39d
...
...
@@ -149,7 +149,7 @@ public class LicenceOrderController {
String
enterpriseId
=
loginUser
.
getEnterpriseId
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
String
clerkName
=
loginUser
.
getClerkName
();
Boolean
result
=
licenceOrderApiService
.
updateLicenceOrderType
(
orderId
,
type
,
enterpriseId
,
wxEnterpriseId
,
clerkName
).
getResult
();
Boolean
result
=
licenceOrderApiService
.
updateLicenceOrderType
(
orderId
,
type
,
enterpriseId
,
wxEnterpriseId
,
clerkName
,
1
).
getResult
();
return
RestResponse
.
successResult
(
result
);
}
/**
...
...
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