Commit 26d71992 by 徐高华

Merge branch 'feature/获取用户敏感信息' into 'developer'

Feature/获取用户敏感信息

See merge request !869
parents 826b3ef4 d437c666
......@@ -100,4 +100,15 @@ public interface HaobanTimerApiService {
*/
public ServiceResponse<Void> ownerDimission(String params);
/**
*
* @Title: activedAccountTimer
* @Description: 获取激活账号
* @author xgh331
* @param params
* @return
* @throws
*/
public ServiceResponse<Void> activedAccountTimer(String params);
}
......@@ -5,8 +5,8 @@ import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Set;
public interface StaffMapper {
......@@ -132,7 +132,9 @@ public interface StaffMapper {
* @author mozhu
* @date 2022-08-03 17:36:52
*/
int updateActiveStatusById(@Param("activeStatus")Integer activeStatus,@Param("staffId") String staffId);
int updateActiveStatusById(@Param("staffId")String staffId, @Param("activeCode")String activeCode, @Param("activeTime")Date activeTime,
@Param("expireTime")Date expireTime,
@Param("activeDoTime")Date activeDoTime, @Param("activeStatus")Integer activeStatus);
/**
* 重置添加num
......
package com.gic.haoban.manage.service.service;
import java.util.Date;
import java.util.List;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.github.pagehelper.Page;
import java.util.List;
import java.util.Set;
public interface StaffService {
TabHaobanStaff selectById(String staffId);
......@@ -133,15 +133,23 @@ public interface StaffService {
int resetAddNum();
/**
* 更新是否激活
*
* @param activeStatus 活跃状态
* @param staffId 员工id
* @return int
* @author mozhu
* @date 2022-08-04 15:39:54
* @Title: updateActiveStatusById
* @Description: 更新激活账号
* @return
* @throws
*/
int updateActiveStatusById(Integer activeStatus,String staffId);
int updateActiveStatusById(String staffId, String activeCode , Date activeTime, Date expireTime , Date activeDoTime , Integer activeStatus);
void updateOpenConcatFlag(List<String> wxUserIdList,int mixFlag);
/**
*
* @Title: activedAccountTimer
* @Description: 更新激活账号
* @author xgh331
* @throws
*/
void activedAccountTimer(String wxEid);
}
package com.gic.haoban.manage.service.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -10,14 +10,22 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
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.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.service.config.Config;
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.service.StaffService;
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;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
......@@ -28,6 +36,13 @@ public class StaffServiceImpl implements StaffService {
@Autowired
private StaffMapper mapper;
@Autowired
private QywxOrderApiService qywxOrderApiService ;
@Autowired
private WxEnterpriseMapper wxEnterpriseMapper ;
@Autowired
private Config config ;
@Override
public TabHaobanStaff selectById(String id) {
if (StringUtils.isBlank(id)) {
......@@ -148,7 +163,9 @@ public class StaffServiceImpl implements StaffService {
}
@Override
public int updateActiveStatusById(Integer activeStatus, String staffId) {
public int updateActiveStatusById(String staffId, String activeCode, Date activeTime, Date expireTime,
Date activeDoTime, Integer activeStatus) {
return mapper.updateActiveStatusById(activeStatus,staffId);
}
......@@ -159,4 +176,53 @@ public class StaffServiceImpl implements StaffService {
}
this.mapper.updateOpenConcatFlag(wxUserIdList,mixFlag);
}
@Override
public void activedAccountTimer(String wxEid) {
List<TabHaobanWxEnterprise> list = new ArrayList<>() ;
if("-1".equals(wxEid)) {
list = this.wxEnterpriseMapper.listAll() ;
}else {
TabHaobanWxEnterprise en = this.wxEnterpriseMapper.selectByPrimaryKey(wxEid) ;
if(null != en) {
list.add(en) ;
}
}
if(CollectionUtils.isNotEmpty(list)) {
for(TabHaobanWxEnterprise item : list) {
if(item.getWxSecurityType()>0 && StringUtils.isNotEmpty(item.getOpenCorpid()) && item.getStatusFlag()==1) {
this.listAccount(item, 500, null);
}
}
}
}
private void listAccount(TabHaobanWxEnterprise wxEnterprise , int limit , String cursor) {
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId() ;
String openCorpid = wxEnterprise.getOpenCorpid() ;
ServiceResponse<AccountListResponseDTO> resp = this.qywxOrderApiService.listActivedAccount(config.getCorpid(), openCorpid, limit, cursor) ;
log.info("查询激活账号,wxEid={},返回={}",wxEnterpriseId,JSON.toJSONString(resp));
if(resp.isSuccess()) {
AccountListResponseDTO dto = resp.getResult() ;
List<AccountListDTO> list = dto.getAccountList() ;
this.updateAccount(wxEnterpriseId, list);
cursor = dto.getNextCursor() ;
// 从企微拉取下一批数据
if (StringUtils.isNotBlank(cursor)) {
this.listAccount(wxEnterprise, limit , cursor);
}
}
}
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) ;
this.updateActiveStatusById(staff.getStaffId(), activeCode, start, end, new Date(), 1) ;
}
}
}
......@@ -7,6 +7,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.service.HaobanTimerApiService;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeTempService;
......@@ -21,6 +22,8 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
private StaffDepartmentRelatedService staffDepartmentRelatedService;
@Autowired
private GroupChatService groupChatService;
@Autowired
private StaffService staffService ;
@Override
public ServiceResponse<Void> deleteTempWxHm(String params) {
......@@ -69,4 +72,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
this.groupChatService.ownerDimission();
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> activedAccountTimer(String params) {
this.staffService.activedAccountTimer() ;
return ServiceResponse.success();
}
}
......@@ -323,7 +323,6 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
return;
}
List<AccountListDTO> activeInfoList = activeInfoUserResponseDTO.getActiveInfoList();
Integer activeStatus = activeInfoUserResponseDTO.getActiveStatus();
TabHaobanStaff tabHaobanStaff = staffService.selectByUserIdAndEnterpriseId(userid, wxEnterpriseId);
for (AccountListDTO accountListDTO : activeInfoList) {
TabHaobanQywxFeeAccountStaff tabHaobanQywxFeeAccountStaff = new TabHaobanQywxFeeAccountStaff();
......@@ -340,10 +339,6 @@ public class HaobanQywxFeeApiServiceImpl implements HaobanQywxFeeApiService {
tabHaobanQywxFeeAccountStaff.setActiveTime(DateUtil.date(accountListDTO.getActiveTime() * 1000));
haobanQywxFeeAccountStaffService.insert(tabHaobanQywxFeeAccountStaff);
}
if (tabHaobanStaff != null) {
String staffId = tabHaobanStaff.getStaffId();
staffService.updateActiveStatusById(activeStatus, staffId);
}
}
}
......
......@@ -201,6 +201,6 @@
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxChatApiService" id="qywxChatApiService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.member.tag.api.service.MemberTagGroupApiService" id="memberTagGroupApiService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.enterprise.api.service.ScreeningDetailService" id="screeningDetailService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxOrderApiService" id="qywxOrderApiService" timeout="10000" retries="0"/>
</beans>
\ No newline at end of file
......@@ -483,6 +483,10 @@
<update id="updateActiveStatusById">
update tab_haoban_staff
set active_status = #{activeStatus},
`active_code` = #{activeCode},
`active_time` = #{activeTime},
`expire_time` = #{expireTime},
`active_do_time` = #{activeDoTime},
update_time = now()
where staff_id = #{staffId}
</update>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment