Commit 10aca368 by 墨竹

feat:新增转换日志表

parent 63ffaa56
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabExternalUseridLog;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author mozhu
* @date 2021/12/23 13:49
*/
public interface ExternalUseridLogMapper {
/**
* 插入
*
* @param tabExternalUseridLog 外部用户id日志选项卡
* @return int
* @author mozhu
* @date 2021-12-23 13:55:22
*/
int insert(TabExternalUseridLog tabExternalUseridLog);
/**
* 插入批
*
* @param tabExternalUseridLogList 外部用户id日志列表选项卡
* @return int
* @author mozhu
* @date 2021-12-23 14:04:22
*/
int insertBatch(@Param("list") List<TabExternalUseridLog> tabExternalUseridLogList);
/**
* 选择wx企业id
*
* @param wxEnterpriseId wx企业标识
* @return {@link List<TabExternalUseridLog> }
* @author mozhu
* @date 2021-12-23 13:55:09
*/
List<TabExternalUseridLog> selectByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
}
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* @author mozhu
* @date 2021/12/23 13:48
*/
public class TabExternalUseridLog implements Serializable {
private static final long serialVersionUID = 7378125418509843606L;
/**
* id
*/
private Long id;
/**
* 旧外部联系人id
*/
private String oldExternalUserId;
/**
* 新外部联系人id
*/
private String newExternalUserId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* creator_id
*/
private String creatorId;
/**
* creator_name
*/
private String creatorName;
/**
* create_time
*/
private Date createTime;
/**
* update_time
*/
private Date updateTime;
public TabExternalUseridLog() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getOldExternalUserId() {
return oldExternalUserId;
}
public void setOldExternalUserId(String oldExternalUserId) {
this.oldExternalUserId = oldExternalUserId;
}
public String getNewExternalUserId() {
return newExternalUserId;
}
public void setNewExternalUserId(String newExternalUserId) {
this.newExternalUserId = newExternalUserId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.service.service.out.impl;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.app.customer.enums.GicQywxSyncTypeEnum;
import com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum;
import com.gic.haoban.base.api.common.BasePageInfo;
......@@ -15,14 +15,8 @@ import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedShortInfoDTO;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO;
import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo;
import com.gic.mq.sdk.GicMQClient;
......@@ -40,6 +34,7 @@ import org.redisson.api.RateIntervalUnit;
import org.redisson.api.RateType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
......@@ -61,6 +56,8 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
private QywxUserApiService qywxUserApiService;
@Autowired
private Config config;
@Autowired
private ExternalUseridLogMapper externalUseridLogMapper;
/**
* 查询导购好友关联
......@@ -296,6 +293,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateNewExternalUserid() {
log.info("全量更新企业外部联系人id start");
try {
......@@ -316,6 +314,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateNewExternalUserid(String wxEnterpriseId) {
log.info("企业外部联系人id start,wxEnterpriseId:{}", wxEnterpriseId);
TabHaobanWxEnterprise tabHaobanWxEnterprise = wxEnterriseMapper.selectByPrimaryKey(wxEnterpriseId);
......@@ -367,9 +366,21 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
log.info("更新新的外部联系人id,查询企业微信接口报错");
break;
}
List<TabExternalUseridLog> tabExternalUseridLogList = new ArrayList<>();
for (QywxNewExternalUseridDTO qywxNewExternalUseridDTO : newExternalUseridList) {
tabHaobanExternalClerkRelatedMapper.updateExternalUserIdByOldExternalUserId(qywxNewExternalUseridDTO.getNew_external_userid(), qywxNewExternalUseridDTO.getExternal_userid(), wxEnterpriseId);
}
String new_external_userid = qywxNewExternalUseridDTO.getNew_external_userid();
String external_userid = qywxNewExternalUseridDTO.getExternal_userid();
tabHaobanExternalClerkRelatedMapper.updateExternalUserIdByOldExternalUserId(new_external_userid, external_userid, wxEnterpriseId);
TabExternalUseridLog tabExternalUseridLog = new TabExternalUseridLog();
tabExternalUseridLog.setId(UniqueIdUtils.uniqueLong());
tabExternalUseridLog.setOldExternalUserId(external_userid);
tabExternalUseridLog.setNewExternalUserId(new_external_userid);
tabExternalUseridLog.setWxEnterpriseId(wxEnterpriseId);
tabExternalUseridLog.setCreatorId("admin");
tabExternalUseridLog.setCreatorName("系统管理员");
tabExternalUseridLogList.add(tabExternalUseridLog);
}
externalUseridLogMapper.insertBatch(tabExternalUseridLogList);
}
}
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.ExternalUseridLogMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabExternalUseridLog">
<result column="id" property="id"/>
<result column="old_external_user_id" property="oldExternalUserId"/>
<result column="new_external_user_id" property="newExternalUserId"/>
<result column="wx_enterprise_id" property="wxEnterpriseId"/>
<result column="creator_id" property="creatorId"/>
<result column="creator_name" property="creatorName"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id,
old_external_user_id,
new_external_user_id,
wx_enterprise_id,
creator_id,
creator_name,
create_time,
update_time
</sql>
<insert id="insert" useGeneratedKeys="true" keyColumn="id" keyProperty="id"
parameterType="com.gic.haoban.manage.service.entity.TabExternalUseridLog">
INSERT INTO tab_external_userid_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != id">
id,
</if>
<if test="null != oldExternalUserId and '' != oldExternalUserId">
old_external_user_id,
</if>
<if test="null != newExternalUserId and '' != newExternalUserId">
new_external_user_id,
</if>
<if test="null != wxEnterpriseId and '' != wxEnterpriseId">
wx_enterprise_id,
</if>
<if test="null != creatorId and '' != creatorId">
creator_id,
</if>
<if test="null != creatorName and '' != creatorName">
creator_name,
</if>
<if test="null != createTime">
create_time,
</if>
<if test="null != updateTime">
update_time
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != id">
#{id},
</if>
<if test="null != oldExternalUserId and '' != oldExternalUserId">
#{oldExternalUserId},
</if>
<if test="null != newExternalUserId and '' != newExternalUserId">
#{newExternalUserId},
</if>
<if test="null != wxEnterpriseId and '' != wxEnterpriseId">
#{wxEnterpriseId},
</if>
<if test="null != creatorId and '' != creatorId">
#{creatorId},
</if>
<if test="null != creatorName and '' != creatorName">
#{creatorName},
</if>
<if test="null != createTime">
#{createTime},
</if>
<if test="null != updateTime">
#{updateTime}
</if>
</trim>
</insert>
<insert id="insertBatch">
insert into tab_external_userid_log (id,
old_external_user_id,
new_external_user_id,
wx_enterprise_id,
creator_id,
creator_name,
create_time,
update_time)
values
<foreach collection="list" separator="," item="item">
(#{item.id}, #{item.oldExternalUserId},#{item.newExternalUserId}, #{item.wxEnterpriseId}, #{item.creatorId},
#{item.creatorName},now(),now())
</foreach>
</insert>
<select id="selectByWxEnterpriseId" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_external_userid_log
where wx_enterprise_id = #{wxEnterpriseId}
</select>
</mapper>
\ No newline at end of file
......@@ -235,8 +235,12 @@ public class TestController extends WebBaseController {
*/
@RequestMapping("/finishExternalUseridMigration")
public HaobanResponse finishExternalUseridMigration(String corpid, String serviceCorpid) {
qywxUserApiService.finishExternalUseridMigration(corpid, serviceCorpid);
boolean flag = qywxUserApiService.finishExternalUseridMigration(corpid, serviceCorpid);
if (flag) {
return resultResponse(HaoBanErrCode.ERR_1);
} else {
return resultResponse(HaoBanErrCode.ERR_0);
}
}
/**
......
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