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
f26d0c94
Commit
f26d0c94
authored
Jan 17, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
激活账号
parent
d4c04e2a
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
130 additions
and
316 deletions
+130
-316
TabHaobanQywxFeeAccountInterceptLogMapper.java
...mapper/fee/TabHaobanQywxFeeAccountInterceptLogMapper.java
+0
-8
TabHaobanQywxFeeAccountStaffMapper.java
...ce/dao/mapper/fee/TabHaobanQywxFeeAccountStaffMapper.java
+1
-17
HaobanQywxFeeAccountStaffService.java
...service/service/fee/HaobanQywxFeeAccountStaffService.java
+1
-26
HaobanQywxFeeAccountStaffServiceImpl.java
...ervice/fee/impl/HaobanQywxFeeAccountStaffServiceImpl.java
+8
-37
StaffServiceImpl.java
.../haoban/manage/service/service/impl/StaffServiceImpl.java
+18
-0
HaobanQywxFeeApiServiceImpl.java
...ice/service/out/impl/fee/HaobanQywxFeeApiServiceImpl.java
+100
-166
TabHaobanQywxFeeAccountStaffMapper.xml
...sources/mapper/fee/TabHaobanQywxFeeAccountStaffMapper.xml
+2
-62
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/fee/TabHaobanQywxFeeAccountInterceptLogMapper.java
View file @
f26d0c94
...
...
@@ -56,14 +56,6 @@ public interface TabHaobanQywxFeeAccountInterceptLogMapper {
int
update
(
TabHaobanQywxFeeAccountInterceptLog
tabHaobanQywxFeeAccountInterceptLog
);
/**
* 通过主键删除数据
*
* @param feeAccountInterceptId 主键
* @return 影响行数
*/
int
deleteById
(
Long
feeAccountInterceptId
);
/**
* 查询天气企业服务id
*
* @param wxEnterpriseId wx企业标识
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/fee/TabHaobanQywxFeeAccountStaffMapper.java
View file @
f26d0c94
...
...
@@ -21,7 +21,7 @@ public interface TabHaobanQywxFeeAccountStaffMapper {
* @param feeAccountId 主键
* @return 实例对象
*/
TabHaobanQywxFeeAccountStaff
queryById
(
Long
feeAccountId
);
TabHaobanQywxFeeAccountStaff
selectByActiveCode
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"activeCode"
)
String
activeCode
);
/**
* 新增数据
...
...
@@ -32,14 +32,6 @@ public interface TabHaobanQywxFeeAccountStaffMapper {
int
insert
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanQywxFeeAccountStaff> 实例对象列表
* @return 影响行数
*/
int
insertBatch
(
@Param
(
"entities"
)
List
<
TabHaobanQywxFeeAccountStaff
>
entities
);
/**
* 修改数据
*
* @param tabHaobanQywxFeeAccountStaff 实例对象
...
...
@@ -48,14 +40,6 @@ public interface TabHaobanQywxFeeAccountStaffMapper {
int
update
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
);
/**
* 通过主键删除数据
*
* @param feeAccountId 主键
* @return 影响行数
*/
int
deleteById
(
Long
feeAccountId
);
/**
* 详情
*
* @param wxEnterpriseId wx企业标识
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/fee/HaobanQywxFeeAccountStaffService.java
View file @
f26d0c94
...
...
@@ -14,37 +14,12 @@ import java.util.List;
public
interface
HaobanQywxFeeAccountStaffService
{
/**
* 通过ID查询单条数据
*
* @param feeAccountId 主键
* @return 实例对象
*/
TabHaobanQywxFeeAccountStaff
queryById
(
Long
feeAccountId
);
/**
* 新增数据
*
* @param tabHaobanQywxFeeAccountStaff 实例对象
* @return 实例对象
*/
TabHaobanQywxFeeAccountStaff
insert
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
);
/**
* 修改数据
*
* @param tabHaobanQywxFeeAccountStaff 实例对象
* @return 实例对象
*/
TabHaobanQywxFeeAccountStaff
update
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
);
/**
* 通过主键删除数据
*
* @param feeAccountId 主键
* @return 是否成功
*/
boolean
deleteById
(
Long
feeAccountId
);
TabHaobanQywxFeeAccountStaff
save
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
);
/**
* 详情
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/fee/impl/HaobanQywxFeeAccountStaffServiceImpl.java
View file @
f26d0c94
...
...
@@ -21,50 +21,21 @@ public class HaobanQywxFeeAccountStaffServiceImpl implements HaobanQywxFeeAccoun
private
TabHaobanQywxFeeAccountStaffMapper
tabHaobanQywxFeeAccountStaffMapper
;
/**
* 通过ID查询单条数据
*
* @param feeAccountId 主键
* @return 实例对象
*/
@Override
public
TabHaobanQywxFeeAccountStaff
queryById
(
Long
feeAccountId
)
{
return
this
.
tabHaobanQywxFeeAccountStaffMapper
.
queryById
(
feeAccountId
);
}
/**
* 新增数据
*
* @param tabHaobanQywxFeeAccountStaff 实例对象
* @return 实例对象
*/
@Override
public
TabHaobanQywxFeeAccountStaff
insert
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
)
{
this
.
tabHaobanQywxFeeAccountStaffMapper
.
insert
(
tabHaobanQywxFeeAccountStaff
);
return
tabHaobanQywxFeeAccountStaff
;
public
TabHaobanQywxFeeAccountStaff
save
(
TabHaobanQywxFeeAccountStaff
account
)
{
TabHaobanQywxFeeAccountStaff
old
=
this
.
tabHaobanQywxFeeAccountStaffMapper
.
selectByActiveCode
(
account
.
getWxEnterpriseId
(),
account
.
getActiveCode
())
;
if
(
null
!=
old
)
{
account
.
setFeeAccountStaffId
(
old
.
getFeeAccountStaffId
());
this
.
tabHaobanQywxFeeAccountStaffMapper
.
update
(
account
)
;
}
else
{
this
.
tabHaobanQywxFeeAccountStaffMapper
.
insert
(
account
);
}
/**
* 修改数据
*
* @param tabHaobanQywxFeeAccountStaff 实例对象
* @return 实例对象
*/
@Override
public
TabHaobanQywxFeeAccountStaff
update
(
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
)
{
this
.
tabHaobanQywxFeeAccountStaffMapper
.
update
(
tabHaobanQywxFeeAccountStaff
);
return
this
.
queryById
(
tabHaobanQywxFeeAccountStaff
.
getFeeAccountStaffId
());
}
/**
* 通过主键删除数据
*
* @param feeAccountId 主键
* @return 是否成功
*/
@Override
public
boolean
deleteById
(
Long
feeAccountId
)
{
return
this
.
tabHaobanQywxFeeAccountStaffMapper
.
deleteById
(
feeAccountId
)
>
0
;
return
account
;
}
@Override
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffServiceImpl.java
View file @
f26d0c94
...
...
@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.common.utils.PageUtil
;
import
com.gic.haoban.common.utils.StringUtil
;
...
...
@@ -22,7 +23,9 @@ import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
import
com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise
;
import
com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeAccountStaff
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeAccountStaffService
;
import
com.gic.wechat.api.dto.qywx.fee.AccountListDTO
;
import
com.gic.wechat.api.dto.qywx.fee.AccountListResponseDTO
;
import
com.gic.wechat.api.service.qywx.QywxOrderApiService
;
...
...
@@ -30,6 +33,8 @@ import com.github.pagehelper.Page;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
cn.hutool.core.date.DateUtil
;
@Service
public
class
StaffServiceImpl
implements
StaffService
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
StaffServiceImpl
.
class
);
...
...
@@ -42,6 +47,8 @@ public class StaffServiceImpl implements StaffService {
private
WxEnterpriseMapper
wxEnterpriseMapper
;
@Autowired
private
Config
config
;
@Autowired
private
HaobanQywxFeeAccountStaffService
haobanQywxFeeAccountStaffService
;
@Override
public
TabHaobanStaff
selectById
(
String
id
)
{
...
...
@@ -220,6 +227,7 @@ public class StaffServiceImpl implements StaffService {
private
void
updateAccount
(
String
wxEnterpriseId
,
List
<
AccountListDTO
>
list
)
{
for
(
AccountListDTO
item
:
list
)
{
String
userId
=
item
.
getUserid
()
;
String
activeCode
=
item
.
getActiveCode
()
;
Date
start
=
new
Date
(
item
.
getActiveTime
()*
1000L
)
;
Date
end
=
new
Date
(
item
.
getExpireTime
()*
1000L
)
;
TabHaobanStaff
staff
=
this
.
mapper
.
selectByUserIdAndEnterpriseId
(
userId
,
wxEnterpriseId
)
;
...
...
@@ -228,6 +236,16 @@ public class StaffServiceImpl implements StaffService {
}
if
(
null
!=
staff
)
{
this
.
updateActiveStatusById
(
staff
.
getStaffId
(),
start
,
end
,
new
Date
(),
1
)
;
TabHaobanQywxFeeAccountStaff
accountStaff
=
new
TabHaobanQywxFeeAccountStaff
();
accountStaff
.
setFeeAccountStaffId
(
UniqueIdUtils
.
uniqueLong
());
accountStaff
.
setWxEnterpriseId
(
wxEnterpriseId
);
accountStaff
.
setActiveCode
(
activeCode
);
accountStaff
.
setStaffId
(
staff
.
getStaffId
());
accountStaff
.
setAccountType
(
item
.
getType
());
accountStaff
.
setExpireTime
(
DateUtil
.
date
(
item
.
getExpireTime
()
*
1000
));
accountStaff
.
setActiveTime
(
DateUtil
.
date
(
item
.
getActiveTime
()
*
1000
));
this
.
haobanQywxFeeAccountStaffService
.
save
(
accountStaff
);
}
else
{
log
.
info
(
"查询激活账号,用户不存在,userid={}"
,
userId
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/fee/HaobanQywxFeeApiServiceImpl.java
View file @
f26d0c94
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
.
fee
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateUtil
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
...
...
@@ -13,7 +25,6 @@ import com.gic.haoban.common.utils.PageUtil;
import
com.gic.haoban.manage.api.constants.Manage3Constants
;
import
com.gic.haoban.manage.api.dto.AlertMessageDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO
;
import
com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeAccountInterceptLogDTO
;
import
com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDTO
;
import
com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDetailDTO
;
...
...
@@ -23,24 +34,29 @@ import com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise
;
import
com.gic.haoban.manage.service.entity.fee.*
;
import
com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFee
;
import
com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeAccountInterceptLog
;
import
com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeOrder
;
import
com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeOrderAccount
;
import
com.gic.haoban.manage.service.pojo.bo.fee.HaobanQywxFeeBO
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.fee.*
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeAccountInterceptLogService
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeAccountStaffService
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeOrderAccountService
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeOrderService
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeService
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.wechat.api.dto.qywx.fee.*
;
import
com.gic.wechat.api.dto.qywx.fee.AccountListDTO
;
import
com.gic.wechat.api.dto.qywx.fee.AccountListResponseDTO
;
import
com.gic.wechat.api.dto.qywx.fee.ActiveInfoCodeResponseDTO
;
import
com.gic.wechat.api.dto.qywx.fee.FeeOrderDeatilResponseDTO
;
import
com.gic.wechat.api.dto.qywx.fee.FeeOrderResponseList
;
import
com.gic.wechat.api.dto.qywx.fee.qdto.FeeOrderListQDTO
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateUtil
;
@Service
(
"haobanQywxFeeApiService"
)
public
class
HaobanQywxFeeApiServiceImpl
implements
HaobanQywxFeeApiService
{
...
...
@@ -79,64 +95,81 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
}
}
@Override
public
void
addFee
(
String
wxEnterpriseId
)
{
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
logger
.
error
(
"wx企业id为空"
);
return
;
}
String
serviceCorpid
=
config
.
getCorpid
();
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
);
String
corpid
=
qwDTO
.
getThirdCorpid
();
String
corpName
=
wxEnterpriseDTO
.
getCorpName
();
String
autoActiveStatus
=
qywxUserApiService
.
getAutoActiveStatus
(
corpid
,
serviceCorpid
);
if
(!
"1"
.
equals
(
autoActiveStatus
))
{
logger
.
info
(
"未开启自动激活:{}"
,
corpid
);
wxEnterpriseService
.
updateAutoActiveFlagById
(
0
,
wxEnterpriseId
);
return
;
}
logger
.
info
(
"企微收费:{},{}"
,
corpid
,
wxEnterpriseId
);
boolean
hasOrder
=
haobanQywxFeeOrderService
.
hasOrder
(
wxEnterpriseId
);
//更新订单
private
List
<
String
>
listOrderId
(
String
corpid
)
{
List
<
String
>
orderIds
=
new
ArrayList
<>();
while
(
true
)
{
FeeOrderListQDTO
feeOrderListQDTO
=
new
FeeOrderListQDTO
();
feeOrderListQDTO
.
setCorpid
(
corpid
);
if
(
hasOrder
)
{
feeOrderListQDTO
.
setStartTime
(
DateUtil
.
beginOfDay
(
new
Date
()).
offsetNew
(
DateField
.
HOUR_OF_DAY
,
-
1
).
getTime
());
feeOrderListQDTO
.
setEndTime
(
DateUtil
.
endOfDay
(
new
Date
()).
offsetNew
(
DateField
.
HOUR_OF_DAY
,
-
1
).
getTime
());
}
feeOrderListQDTO
.
setLimit
(
Manage3Constants
.
QW_LIMIT
);
FeeOrderResponseList
feeOrderResponseList
=
qywxUserApiService
.
listOrder
(
corpid
,
serviceCorpid
,
feeOrderListQDTO
);
FeeOrderResponseList
feeOrderResponseList
=
qywxUserApiService
.
listOrder
(
corpid
,
config
.
getCorpid
(),
feeOrderListQDTO
);
logger
.
error
(
"查询订单列表,{}"
,
JSON
.
toJSONString
(
feeOrderResponseList
));
int
errcode
=
feeOrderResponseList
.
getErrcode
();
if
(
errcode
!=
0
)
{
logger
.
error
(
"查询订单列表失败:{}"
,
feeOrderResponseList
.
getErrmsg
());
break
;
}
if
(
errcode
==
0
)
{
for
(
FeeOrderResponseList
.
OrderListDTO
orderListDTO
:
feeOrderResponseList
.
getOrderList
())
{
orderIds
.
add
(
orderListDTO
.
getOrderId
());
}
Integer
hasMore
=
feeOrderResponseList
.
getHasMore
();
if
(
hasMore
==
0
)
{
logger
.
error
(
"订单无更多账号"
);
break
;
}
feeOrderListQDTO
.
setCursor
(
feeOrderResponseList
.
getNextCursor
());
feeOrderResponseList
=
qywxUserApiService
.
listOrder
(
corpid
,
serviceCorpid
,
feeOrderListQDTO
);
for
(
FeeOrderResponseList
.
OrderListDTO
orderListDTO
:
feeOrderResponseList
.
getOrderList
())
{
orderIds
.
add
(
orderListDTO
.
getOrderId
());
return
orderIds
;
}
private
void
getOrderAccount
(
String
orderId
,
String
corpid
,
String
cursor
,
List
<
Map
<
String
,
String
>>
activeCodeList
)
{
FeeOrderListQDTO
feeOrderListQDTO
=
new
FeeOrderListQDTO
();
feeOrderListQDTO
.
setOrderId
(
orderId
);
feeOrderListQDTO
.
setCursor
(
feeOrderListQDTO
.
getCursor
());
feeOrderListQDTO
.
setLimit
(
Manage3Constants
.
QW_LIMIT
);
AccountListResponseDTO
accountListResponseDTO
=
qywxUserApiService
.
listOrderAccount
(
corpid
,
config
.
getCorpid
(),
feeOrderListQDTO
);
if
(
accountListResponseDTO
.
getErrcode
()
!=
0
)
{
logger
.
info
(
"订单账号列表报错:{}"
,
accountListResponseDTO
.
getErrmsg
());
return
;
}
for
(
AccountListDTO
accountListDTO
:
accountListResponseDTO
.
getAccountList
())
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"orderId"
,
orderId
);
map
.
put
(
"activeCode"
,
accountListDTO
.
getActiveCode
());
activeCodeList
.
add
(
map
);
}
cursor
=
accountListResponseDTO
.
getNextCursor
()
;
Integer
hasMore
=
accountListResponseDTO
.
getHasMore
();
if
(
hasMore
==
1
&&
StringUtils
.
isNotBlank
(
cursor
))
{
this
.
getOrderAccount
(
orderId
,
corpid
,
cursor
,
activeCodeList
);
}
}
@Override
public
void
addFee
(
String
wxEnterpriseId
)
{
logger
.
info
(
"企微收费wxEnterpriseId={}"
,
wxEnterpriseId
);
if
(
StringUtils
.
isBlank
(
wxEnterpriseId
))
{
logger
.
info
(
"wxEnterpriseId为空"
);
return
;
}
String
serviceCorpid
=
config
.
getCorpid
();
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
wxEnterpriseDTO
.
getWxSecurityType
()<=
0
)
{
logger
.
info
(
"WxSecurityType=0,wxEnterpriseId={}"
,
wxEnterpriseId
);
return
;
}
String
corpid
=
wxEnterpriseDTO
.
getOpenCorpid
()
;
String
corpName
=
wxEnterpriseDTO
.
getCorpName
();
String
autoActiveStatus
=
qywxUserApiService
.
getAutoActiveStatus
(
corpid
,
serviceCorpid
);
if
(!
"1"
.
equals
(
autoActiveStatus
))
{
logger
.
info
(
"未开启自动激活:{},wxeid={}"
,
corpid
,
wxEnterpriseId
);
this
.
wxEnterpriseService
.
updateAutoActiveFlagById
(
0
,
wxEnterpriseId
);
return
;
}
Integer
autoActiveFlag
=
wxEnterpriseDTO
.
getAutoActiveFlag
();
if
(
autoActiveFlag
!=
null
&&
autoActiveFlag
!=
1
)
{
this
.
wxEnterpriseService
.
updateAutoActiveFlagById
(
1
,
wxEnterpriseId
);
}
List
<
Map
<
String
,
String
>>
activeCodeList
=
new
ArrayList
<>();
List
<
String
>
orderIds
=
this
.
listOrderId
(
corpid
)
;
for
(
String
orderId
:
orderIds
)
{
FeeOrderDeatilResponseDTO
order
=
qywxUserApiService
.
getOrder
(
corpid
,
serviceCorpid
,
orderId
);
if
(
order
.
getErrcode
()
!=
0
)
{
logger
.
error
(
"请求企微失败:{}"
,
orderId
);
break
;
continue
;
}
//插入订单
FeeOrderDeatilResponseDTO
.
OrderDTO
orderDTO
=
order
.
getOrder
();
Integer
orderStatus
=
orderDTO
.
getOrderStatus
();
...
...
@@ -144,7 +177,6 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
logger
.
info
(
"只处理已支付订单:{}"
,
orderId
);
continue
;
}
TabHaobanQywxFeeOrder
tabHaobanQywxFeeOrder
=
new
TabHaobanQywxFeeOrder
();
tabHaobanQywxFeeOrder
.
setFeeOrderId
(
UniqueIdUtils
.
uniqueLong
());
tabHaobanQywxFeeOrder
.
setOrderId
(
orderId
);
...
...
@@ -158,84 +190,16 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
tabHaobanQywxFeeOrder
.
setMonths
(
orderDTO
.
getAccountDuration
().
getMonths
());
tabHaobanQywxFeeOrder
.
setCreateTime
(
DateUtil
.
date
(
orderDTO
.
getCreateTime
()
*
1000
));
tabHaobanQywxFeeOrder
.
setPayTime
(
DateUtil
.
date
(
orderDTO
.
getPayTime
()
*
1000
));
haobanQywxFeeOrderService
.
insert
(
tabHaobanQywxFeeOrder
);
this
.
haobanQywxFeeOrderService
.
insert
(
tabHaobanQywxFeeOrder
);
FeeOrderListQDTO
feeOrderListQDTO
=
new
FeeOrderListQDTO
();
feeOrderListQDTO
.
setOrderId
(
orderId
);
feeOrderListQDTO
.
setLimit
(
Manage3Constants
.
QW_LIMIT
);
AccountListResponseDTO
accountListResponseDTO
=
qywxUserApiService
.
listOrderAccount
(
corpid
,
serviceCorpid
,
feeOrderListQDTO
);
if
(
accountListResponseDTO
.
getErrcode
()
!=
0
)
{
logger
.
info
(
"订单账号列表报错:{}"
,
accountListResponseDTO
.
getErrmsg
());
break
;
this
.
getOrderAccount
(
orderId
,
corpid
,
null
,
activeCodeList
);
}
for
(
AccountListDTO
accountListDTO
:
accountListResponseDTO
.
getAccountList
())
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"orderId"
,
orderId
);
map
.
put
(
"activeCode"
,
accountListDTO
.
getActiveCode
());
activeCodeList
.
add
(
map
);
}
Integer
hasMore
=
accountListResponseDTO
.
getHasMore
();
if
(
hasMore
==
0
)
{
logger
.
error
(
"订单无更多账号"
);
break
;
}
feeOrderListQDTO
.
setCursor
(
feeOrderListQDTO
.
getCursor
());
accountListResponseDTO
=
qywxUserApiService
.
listOrderAccount
(
corpid
,
serviceCorpid
,
feeOrderListQDTO
);
for
(
AccountListDTO
accountListDTO
:
accountListResponseDTO
.
getAccountList
())
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"orderId"
,
orderId
);
map
.
put
(
"activeCode"
,
accountListDTO
.
getActiveCode
());
activeCodeList
.
add
(
map
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
activeCodeList
))
{
//处理订单账号
if
(
CollectionUtils
.
isNotEmpty
(
activeCodeList
))
{
addOrderAccount
(
wxEnterpriseId
,
serviceCorpid
,
corpid
,
activeCodeList
);
}
List
<
String
>
userIdList
=
new
ArrayList
<>();
//企业账号
while
(
true
)
{
FeeOrderListQDTO
feeOrderListQDTO
=
new
FeeOrderListQDTO
();
feeOrderListQDTO
.
setCorpid
(
corpid
);
feeOrderListQDTO
.
setLimit
(
Manage3Constants
.
QW_LIMIT
);
AccountListResponseDTO
accountListResponseDTO
=
qywxUserApiService
.
listActivedAccount
(
corpid
,
serviceCorpid
,
feeOrderListQDTO
);
if
(
accountListResponseDTO
.
getErrcode
()
!=
0
)
{
logger
.
info
(
"订单账号列表报错:{}"
,
accountListResponseDTO
.
getErrmsg
());
break
;
}
List
<
AccountListDTO
>
accountList
=
accountListResponseDTO
.
getAccountList
();
for
(
AccountListDTO
accountListDTO
:
accountList
)
{
userIdList
.
add
(
accountListDTO
.
getUserid
());
}
Integer
hasMore
=
accountListResponseDTO
.
getHasMore
();
if
(
hasMore
==
0
)
{
logger
.
error
(
"无更多账号"
);
break
;
}
feeOrderListQDTO
.
setCursor
(
feeOrderListQDTO
.
getCursor
());
accountListResponseDTO
=
qywxUserApiService
.
listActivedAccount
(
corpid
,
serviceCorpid
,
feeOrderListQDTO
);
for
(
AccountListDTO
accountListDTO
:
accountListResponseDTO
.
getAccountList
())
{
userIdList
.
add
(
accountListDTO
.
getUserid
());
}
}
if
(
CollectionUtils
.
isNotEmpty
(
userIdList
))
{
addAccountStaff
(
wxEnterpriseId
,
serviceCorpid
,
corpid
,
userIdList
);
}
Integer
autoActiveFlag
=
wxEnterpriseDTO
.
getAutoActiveFlag
();
if
(
autoActiveFlag
!=
null
&&
autoActiveFlag
!=
1
)
{
//更新企微状态
wxEnterpriseService
.
updateAutoActiveFlagById
(
1
,
wxEnterpriseId
);
}
//更新收费
HaobanQywxFeeDetailDTO
haobanQywxFeeDetailDTO
=
haobanQywxFeeAccountStaffService
.
feeIntercept
(
wxEnterpriseId
);
int
permissionUserNum
=
haobanQywxFeeOrderAccountService
.
countOrderAccountStatus
(
1
,
wxEnterpriseId
);
...
...
@@ -310,38 +274,6 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
}
}
private
void
addAccountStaff
(
String
wxEnterpriseId
,
String
serviceCorpid
,
String
corpid
,
List
<
String
>
useridList
)
{
if
(
CollectionUtils
.
isEmpty
(
useridList
))
{
logger
.
error
(
"成员激活为空"
);
return
;
}
for
(
String
userid
:
useridList
)
{
//更新成员
ActiveInfoUserResponseDTO
activeInfoUserResponseDTO
=
qywxUserApiService
.
getActiveInfoByUser
(
corpid
,
serviceCorpid
,
userid
);
if
(
activeInfoUserResponseDTO
.
getErrcode
()
!=
0
)
{
logger
.
info
(
"成员激活详情报错:{}"
,
activeInfoUserResponseDTO
.
getErrmsg
());
return
;
}
List
<
AccountListDTO
>
activeInfoList
=
activeInfoUserResponseDTO
.
getActiveInfoList
();
TabHaobanStaff
tabHaobanStaff
=
staffService
.
selectByUserIdAndEnterpriseId
(
userid
,
wxEnterpriseId
);
for
(
AccountListDTO
accountListDTO
:
activeInfoList
)
{
TabHaobanQywxFeeAccountStaff
tabHaobanQywxFeeAccountStaff
=
new
TabHaobanQywxFeeAccountStaff
();
tabHaobanQywxFeeAccountStaff
.
setFeeAccountStaffId
(
UniqueIdUtils
.
uniqueLong
());
tabHaobanQywxFeeAccountStaff
.
setCorpId
(
corpid
);
tabHaobanQywxFeeAccountStaff
.
setWxEnterpriseId
(
wxEnterpriseId
);
if
(
tabHaobanStaff
!=
null
)
{
String
staffId
=
tabHaobanStaff
.
getStaffId
();
tabHaobanQywxFeeAccountStaff
.
setStaffId
(
staffId
);
}
tabHaobanQywxFeeAccountStaff
.
setActiveCode
(
accountListDTO
.
getActiveCode
());
tabHaobanQywxFeeAccountStaff
.
setAccountType
(
accountListDTO
.
getType
());
tabHaobanQywxFeeAccountStaff
.
setExpireTime
(
DateUtil
.
date
(
accountListDTO
.
getExpireTime
()
*
1000
));
tabHaobanQywxFeeAccountStaff
.
setActiveTime
(
DateUtil
.
date
(
accountListDTO
.
getActiveTime
()
*
1000
));
haobanQywxFeeAccountStaffService
.
insert
(
tabHaobanQywxFeeAccountStaff
);
}
}
}
@Override
public
Page
<
HaobanQywxFeeDTO
>
listPage
(
QywxFeeListQDTO
qywxFeeListQDTO
)
{
Page
<
HaobanQywxFeeBO
>
haobanQywxFeeBOS
=
haobanQywxFeeService
.
listPage
(
qywxFeeListQDTO
);
...
...
@@ -355,18 +287,20 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
@Override
public
void
addInterceptLog
(
String
param
)
{
HaobanQywxFeeAccountInterceptLogDTO
haobanQywxFeeAccountInterceptLogDTO
=
JSON
.
toJavaObject
(
JSON
.
parseObject
(
param
),
HaobanQywxFeeAccountInterceptLogDTO
.
class
);
haobanQywxFeeAccountInterceptLogDTO
.
setFeeAccountInterceptId
(
UniqueIdUtils
.
uniqueLong
());
TabHaobanWxEnterprise
haobanWxEnterprise
=
wxEnterpriseService
.
getEnterpriseBycorpId
(
haobanQywxFeeAccountInterceptLogDTO
.
getCorpId
());
if
(
haobanWxEnterprise
!=
null
)
{
String
wxEnterpriseId
=
haobanWxEnterprise
.
getWxEnterpriseId
();
haobanQywxFeeAccountInterceptLogDTO
.
setWxEnterpriseId
(
wxEnterpriseId
);
TabHaobanStaff
tabHaobanStaff
=
staffService
.
selectByUserIdAndEnterpriseId
(
haobanQywxFeeAccountInterceptLogDTO
.
getWxUserId
(),
wxEnterpriseId
);
if
(
tabHaobanStaff
!=
null
)
{
haobanQywxFeeAccountInterceptLogDTO
.
setStaffId
(
tabHaobanStaff
.
getStaffId
());
HaobanQywxFeeAccountInterceptLogDTO
logDTO
=
JSON
.
toJavaObject
(
JSON
.
parseObject
(
param
),
HaobanQywxFeeAccountInterceptLogDTO
.
class
);
logDTO
.
setFeeAccountInterceptId
(
UniqueIdUtils
.
uniqueLong
());
TabHaobanWxEnterprise
haobanWxEnterprise
=
wxEnterpriseService
.
getEnterpriseBycorpId
(
logDTO
.
getCorpId
());
if
(
null
==
haobanWxEnterprise
)
{
return
;
}
String
wxEnterpriseId
=
haobanWxEnterprise
.
getWxEnterpriseId
();
logDTO
.
setWxEnterpriseId
(
wxEnterpriseId
);
TabHaobanStaff
tabHaobanStaff
=
staffService
.
selectByUserIdAndEnterpriseId
(
logDTO
.
getWxUserId
(),
wxEnterpriseId
);
if
(
null
==
tabHaobanStaff
)
{
return
;
}
haobanQywxFeeAccountInterceptLogService
.
insert
(
EntityUtil
.
changeEntityNew
(
TabHaobanQywxFeeAccountInterceptLog
.
class
,
haobanQywxFeeAccountInterceptLogDTO
));
logDTO
.
setStaffId
(
tabHaobanStaff
.
getStaffId
());
haobanQywxFeeAccountInterceptLogService
.
insert
(
EntityUtil
.
changeEntityNew
(
TabHaobanQywxFeeAccountInterceptLog
.
class
,
logDTO
));
}
@Override
...
...
haoban-manage3-service/src/main/resources/mapper/fee/TabHaobanQywxFeeAccountStaffMapper.xml
View file @
f26d0c94
...
...
@@ -20,54 +20,13 @@
</sql>
<!--查询单个-->
<select
id=
"
queryById
"
resultMap=
"TabHaobanQywxFeeAccountStaffMap"
>
<select
id=
"
selectByActiveCode
"
resultMap=
"TabHaobanQywxFeeAccountStaffMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_qywx_fee_account_staff
where
fee_account_id = #{feeAccountId
}
where
wx_enterprise_id = #{wxEnterpriseId} and active_code = #{activeCode
}
</select>
<!--查询指定行数据-->
<select
id=
"queryAllByLimit"
resultMap=
"TabHaobanQywxFeeAccountStaffMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_qywx_fee_account_staff
<where>
<if
test=
"feeAccountId != null"
>
and fee_account_id = #{feeAccountId}
</if>
<if
test=
"orderId != null and orderId != ''"
>
and order_id = #{orderId}
</if>
<if
test=
"corpId != null and corpId != ''"
>
and corp_id = #{corpId}
</if>
<if
test=
"wxEnterpriseId != null and wxEnterpriseId != ''"
>
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if
test=
"wxUserId != null and wxUserId != ''"
>
and wx_user_id = #{wxUserId}
</if>
<if
test=
"staffId != null and staffId != ''"
>
and staff_id = #{staffId}
</if>
<if
test=
"activeCode != null and activeCode != ''"
>
and active_code = #{activeCode}
</if>
<if
test=
"accountType != null"
>
and account_type = #{accountType}
</if>
<if
test=
"expireTime != null"
>
and expire_time = #{expireTime}
</if>
<if
test=
"activeTime != null"
>
and active_time = #{activeTime}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
<!--新增所有列-->
<insert
id=
"insert"
keyProperty=
"feeAccountId"
useGeneratedKeys=
"true"
>
insert into tab_haoban_qywx_fee_account_staff(fee_account_staff_id, order_id, corp_id, wx_enterprise_id,
...
...
@@ -76,17 +35,6 @@
#{accountType}, #{expireTime}, #{activeTime})
</insert>
<insert
id=
"insertBatch"
keyProperty=
"feeAccountId"
useGeneratedKeys=
"true"
>
insert into tab_haoban_qywx_fee_account_staff(fee_account_staff_id, order_id, corp_id, wx_enterprise_id,
staff_id, active_code, account_type, expire_time, active_time)
values
<foreach
collection=
"entities"
item=
"entity"
separator=
","
>
(#{entity.feeAccountStaffId}, #{entity.orderId}, #{entity.corpId}, #{entity.wxEnterpriseId},
#{entity.staffId}, #{entity.activeCode}, #{entity.accountType}, #{entity.expireTime}, #{entity.activeTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
update tab_haoban_qywx_fee_account_staff
...
...
@@ -119,14 +67,6 @@
where fee_account_id = #{feeAccountStaffId}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
delete
from tab_haoban_qywx_fee_account_staff
where fee_account_staff_id = #{feeAccountId}
</delete>
<select
id=
"feeDetail"
resultType=
"com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDetailDTO"
>
select
count(distinct staff_id) interceptUserNum,
...
...
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