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
14e743e7
Commit
14e743e7
authored
Mar 27, 2023
by
jinxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
审核订单接口
parent
e0b235b3
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
115 additions
and
20 deletions
+115
-20
LicenceOrderApiService.java
...an/manage/api/service/licence/LicenceOrderApiService.java
+1
-0
TabHaobanLicenceOrderMapper.java
...rvice/dao/mapper/licence/TabHaobanLicenceOrderMapper.java
+10
-2
LicenceOrderService.java
...n/manage/service/service/licence/LicenceOrderService.java
+10
-2
LicenceOrderServiceImpl.java
...service/service/licence/impl/LicenceOrderServiceImpl.java
+42
-8
LicenceOrderApiServiceImpl.java
.../service/out/impl/licence/LicenceOrderApiServiceImpl.java
+30
-7
TabHaobanLicenceOrderMapper.xml
.../resources/mapper/licence/TabHaobanLicenceOrderMapper.xml
+22
-1
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/licence/LicenceOrderApiService.java
View file @
14e743e7
...
...
@@ -7,6 +7,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
java.text.ParseException
;
import
java.util.Date
;
import
java.util.List
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/licence/TabHaobanLicenceOrderMapper.java
View file @
14e743e7
...
...
@@ -100,10 +100,9 @@ public interface TabHaobanLicenceOrderMapper {
/**
*
* @param qywxOrderId 企业微信订单id
* @param wxEnterpriseId
* @return
*/
TabHaobanLicenceOrder
selectByQywxOrderId
(
@Param
(
"qywxOrderId"
)
String
qywxOrderId
,
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
);
TabHaobanLicenceOrder
selectByQywxOrderId
(
@Param
(
"qywxOrderId"
)
String
qywxOrderId
);
/**
* 保存企业微信订单id
...
...
@@ -120,4 +119,13 @@ public interface TabHaobanLicenceOrderMapper {
Integer
saveOrderCheckReason
(
@Param
(
"orderId"
)
Long
orderId
,
@Param
(
"reason"
)
String
reason
,
@Param
(
"type"
)
Integer
type
);
/**
* 记录回调时间
* @param orderId 订单id
* @param type 0 微信支付时间 1 微信退款时间 2 企业微信支付时间 3企业微信退款时间
* @param time
* @return
*/
Integer
saveCallBackTime
(
@Param
(
"orderId"
)
Long
orderId
,
@Param
(
"type"
)
Integer
type
,
@Param
(
"time"
)
Date
time
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/licence/LicenceOrderService.java
View file @
14e743e7
...
...
@@ -101,10 +101,9 @@ public interface LicenceOrderService {
/**
* 查询订单详情
* @param qywxOrderId 企业微信订单id
* @param wxEnterpriseId 企业微信id
* @return
*/
TabHaobanLicenceOrder
selectByQywxOrderId
(
String
qywxOrderId
,
String
wxEnterpriseId
);
TabHaobanLicenceOrder
selectByQywxOrderId
(
String
qywxOrderId
);
/**
* 保存企业微信订单id
...
...
@@ -133,5 +132,14 @@ public interface LicenceOrderService {
*/
Boolean
checkLicenceOrder
(
Long
orderId
,
Integer
flag
,
String
reason
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
);
/**
* 记录回调时间
* @param orderId 订单id
* @param type 0 微信支付时间 1 微信退款时间 2 企业微信支付时间 3企业微信退款时间
* @param time
* @return
*/
Boolean
saveCallBackTime
(
Long
orderId
,
Integer
type
,
Date
time
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/licence/impl/LicenceOrderServiceImpl.java
View file @
14e743e7
...
...
@@ -5,6 +5,8 @@ import cn.hutool.core.util.StrUtil;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.util.UniqueIdUtils
;
...
...
@@ -15,12 +17,15 @@ 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.WxEnterpriseApiService
;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.dao.mapper.licence.TabHaobanLicenceOrderMapper
;
import
com.gic.haoban.manage.service.dao.mapper.licence.TabHaobanLicenceOrderProgressMapper
;
import
com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrder
;
import
com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgress
;
import
com.gic.haoban.manage.service.service.licence.LicenceOrderService
;
import
com.gic.haoban.manage.service.util.DingUtils
;
import
com.gic.marketing.api.dto.SmsSendResponseDTO
;
import
com.gic.marketing.api.service.AccountOverdueSmsSendService
;
import
com.github.pagehelper.PageHelper
;
import
org.apache.commons.lang.StringUtils
;
import
org.checkerframework.checker.units.qual.A
;
...
...
@@ -28,9 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.*
;
/**
* @description:
...
...
@@ -49,6 +52,12 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
@Autowired
private
WxEnterpriseApiService
wxEnterpriseApiService
;
@Autowired
private
AccountOverdueSmsSendService
accountOverdueSmsSendService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
Config
config
;
@Override
public
TabHaobanLicenceOrder
getLicenceOrderDetail
(
Long
orderId
)
{
...
...
@@ -176,7 +185,15 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
}
String
dateToStr
=
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATETIME_19
);
//发送钉钉消息通知
String
msg
=
"标题:企微账号许可通知\n品牌名称:"
+
enterpriseName
+
"\n"
+
"企业名称:"
+
wxEnterpriseName
+
"\n"
+
"消息内容:"
+
dateToStr
+
"订单编号为"
+
tabHaobanLicenceOrder
.
getTransactionId
()+
",请尽快处理"
;
String
host
=
config
.
getHost
();
// 最后一个分隔符位置
int
lastIndex
=
host
.
lastIndexOf
(
"/"
);
// 倒数第二个分隔符位置
int
secondLastIndex
=
host
.
lastIndexOf
(
"/"
,
lastIndex
-
1
);
String
subHost
=
host
.
substring
(
0
,
secondLastIndex
+
1
);
String
url
=
subHost
+
"enterprise-operation/#/finance-config/wx-order-detail?tabId=wx_account_order&orderId="
+
orderId
;
String
msg
=
"标题:企微账号许可通知\n品牌名称:"
+
enterpriseName
+
"\n"
+
"企业名称:"
+
wxEnterpriseName
+
"\n"
+
"消息内容:"
+
dateToStr
+
"订单编号为"
+
tabHaobanLicenceOrder
.
getTransactionId
()+
",请尽快处理!\n"
+
url
;
DingUtils
.
send
(
msg
,
"https://oapi.dingtalk.com/robot/send?access_token=63074c9fc1ac2c00aa62477facdf16e5fa2388cf6a621edba1fb05d6e55d031f"
,
false
);
return
true
;
}
...
...
@@ -223,8 +240,8 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
}
@Override
public
TabHaobanLicenceOrder
selectByQywxOrderId
(
String
qywxOrderId
,
String
wxEnterpriseId
)
{
return
tabHaobanLicenceOrderMapper
.
selectByQywxOrderId
(
qywxOrderId
,
wxEnterpriseId
);
public
TabHaobanLicenceOrder
selectByQywxOrderId
(
String
qywxOrderId
)
{
return
tabHaobanLicenceOrderMapper
.
selectByQywxOrderId
(
qywxOrderId
);
}
@Override
...
...
@@ -245,19 +262,36 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
@Override
public
Boolean
checkLicenceOrder
(
Long
orderId
,
Integer
flag
,
String
reason
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
creatorName
)
{
TabHaobanLicenceOrder
order
=
tabHaobanLicenceOrderMapper
.
selectById
(
orderId
);
if
(
null
==
order
){
return
false
;
}
if
(
flag
==
0
){
//更新微信订单状态
tabHaobanLicenceOrderMapper
.
saveOrderCheckReason
(
orderId
,
reason
,
0
);
//记录订单进度
saveOrderProgress
(
orderId
,
"审核未通过,请重新上传凭证"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
0
,
null
,
reason
);
//短信通知
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkId
(
order
.
getCreatorId
());
if
(
clerkDTO
!=
null
){
Map
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"1"
,
"企微企业名称"
);
params
.
put
(
"2"
,
"订单号"
);
SmsSendResponseDTO
resp
=
accountOverdueSmsSendService
.
smsSend
(
"-1"
,
clerkDTO
.
getPhoneNumber
(),
"86"
,
106
,
params
);
}
}
else
{
//更新微信订单状态
tabHaobanLicenceOrderMapper
.
updateLicenceOrderType
(
orderId
,
1
);
//记录订单进度
saveOrderProgress
(
orderId
,
"已支付"
,
enterpriseId
,
wxEnterpriseId
,
creatorName
,
0
,
null
,
null
);
}
return
true
;
}
return
null
;
@Override
public
Boolean
saveCallBackTime
(
Long
orderId
,
Integer
type
,
Date
time
)
{
tabHaobanLicenceOrderMapper
.
saveCallBackTime
(
orderId
,
type
,
time
);
return
true
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/licence/LicenceOrderApiServiceImpl.java
View file @
14e743e7
...
...
@@ -34,6 +34,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -129,12 +131,15 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
return
ServiceResponse
.
success
(
false
);
}
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
wxEnterpriseDTO
==
null
){
return
ServiceResponse
.
success
(
false
);
}
String
openCorpid
=
wxEnterpriseDTO
.
getOpenCorpid
();
String
serviceCorpid
=
config
.
getCorpid
();
CreateOrderQDTO
orderQDTO
=
new
CreateOrderQDTO
();
orderQDTO
.
setBaseCount
(
0
);
orderQDTO
.
setExternalCount
(
licenceOrderDetail
.
getExternalContactCount
());
orderQDTO
.
setBuyerUserid
(
config
.
getBuyerUserid
()
);
orderQDTO
.
setBuyerUserid
(
"kuangdongning"
);
if
(
licenceOrderDetail
.
getTimeType
()
==
1
){
orderQDTO
.
setMonths
(
licenceOrderDetail
.
getTimeValue
());
orderQDTO
.
setDays
(
0
);
...
...
@@ -189,8 +194,6 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
licenceOrderService
.
updateLicenceOrderType
(
licenceOrder
.
getOrderId
(),
1
,
licenceOrder
.
getEnterpriseId
(),
licenceOrder
.
getWxEnterpriseId
(),
"系统"
,
1
);
//保存微信订单id
licenceOrderService
.
saveTransactionCode
(
licenceOrder
.
getOrderId
(),
null
,
null
,
transactionId
,
payTime
);
//生成企业微信订单
// payLicenceOrder(licenceOrder.getOrderId(),licenceOrder.getWxEnterpriseId());
//查询gic品牌名称
String
enterpriseName
=
""
;
String
wxEnterpriseName
=
""
;
...
...
@@ -209,7 +212,7 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
}
@Override
public
ServiceResponse
<
Boolean
>
qywxCallBack
(
String
params
)
{
public
ServiceResponse
<
Boolean
>
qywxCallBack
(
String
params
){
logger
.
info
(
"接收企业微信回调参数:{}"
,
JSON
.
toJSONString
(
params
));
if
(
StrUtil
.
isBlank
(
params
)){
return
ServiceResponse
.
success
(
false
);
...
...
@@ -220,20 +223,40 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
String
orderId
=
object
.
getString
(
"orderId"
);
String
timeStamp
=
object
.
getString
(
"timeStamp"
);
Integer
orderStatus
=
object
.
getInteger
(
"orderStatus"
);
TabHaobanLicenceOrder
order
=
licenceOrderService
.
selectByQywxOrderId
(
orderId
,
openCorpId
);
TabHaobanLicenceOrder
order
=
licenceOrderService
.
selectByQywxOrderId
(
orderId
);
//将秒级时间戳转换位Date类型
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
DateUtil
.
FORMAT_DATETIME_19
);
String
date_time
=
formatter
.
format
(
new
Date
(
Long
.
valueOf
(
timeStamp
)*
1000L
));
Date
date
=
DateUtil
.
strToDate
(
date_time
,
DateUtil
.
FORMAT_DATETIME_19
);
if
(
order
==
null
){
return
ServiceResponse
.
success
(
false
);
}
if
(
"license_pay_success"
.
equals
(
infoType
)){
//支付回调
if
(
order
.
getQywxPayTime
()
!=
null
){
//该笔订单已处理
return
ServiceResponse
.
success
(
false
);
}
//更新企业微信订单状态
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
1
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
0
);
//记录支付时间
licenceOrderService
.
saveCallBackTime
(
order
.
getOrderId
(),
2
,
date
);
}
if
(
"license_refund"
.
equals
(
infoType
)){
if
(
order
.
getQywxRefundTime
()
!=
null
){
//该笔订单已处理
return
ServiceResponse
.
success
(
false
);
}
//退款回调 订单状态,1:退款成功,2:退款被拒绝。
if
(
orderStatus
==
1
){
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
6
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
0
);
//微信退款
//记录退款时间
licenceOrderService
.
saveCallBackTime
(
order
.
getOrderId
(),
3
,
date
);
//微信退款 todo
}
else
if
(
orderStatus
==
2
){
licenceOrderService
.
updateLicenceOrderType
(
order
.
getOrderId
(),
5
,
order
.
getEnterpriseId
(),
order
.
getWxEnterpriseId
(),
"系统"
,
0
);
//记录退款时间
licenceOrderService
.
saveCallBackTime
(
order
.
getOrderId
(),
3
,
date
);
}
}
return
ServiceResponse
.
success
(
true
);
...
...
haoban-manage3-service/src/main/resources/mapper/licence/TabHaobanLicenceOrderMapper.xml
View file @
14e743e7
...
...
@@ -261,7 +261,7 @@
<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}
FROM tab_haoban_licence_order WHERE qywx_order_id = #{qywxOrderId} and delete_flag=0
</select>
<update
id=
"saveQywxOrderId"
>
...
...
@@ -290,4 +290,24 @@
and delete_flag = 0
</update>
<update
id=
"saveCallBackTime"
>
UPDATE tab_haoban_licence_order
SET
<if
test=
"type == 0"
>
pay_time = #{time},
</if>
<if
test=
"type == 1"
>
refund_time = #{time},
</if>
<if
test=
"type == 2"
>
qywx_pay_time = #{time},
</if>
<if
test=
"type == 3"
>
qywx_refund_time = #{time},
</if>
update_time = now()
WHERE order_id = #{orderId}
and delete_flag = 0
</update>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment