Commit cc1c2b0d by fudahua

离职继承

parent 634badf4
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 离职成员的外部联系人列表
*
* @author fdh
*/
public class HandoverExternalDTO implements Serializable {
/**
*
*/
private String handoverExternalId;
/**
* 企业id
*/
private String wxEnterpriseId;
/**
*
*/
private String staffId;
/**
* 成员名称
*/
private String staffName;
/**
*
*/
private String userId;
/**
* 外部联系人id
*/
private String externalUserId;
/**
* 外部联系人名称
*/
private String externalUserName;
private String relationId;
/**
* 是否是好办的好友
*/
private Integer haobanFriendFlag;
/**
* 头像
*/
private String externalHeadUrl;
/**
* 0删除 1正常 2已分配处理
*/
private Integer statusFlag;
/**
* 分配表的id
*/
private String handoverTransferId;
/**
* 接替客户的时间,如果是等待接替状态,则为未来的自动接替时间
*/
private Date takeoverTime;
/**
* 0- 1-接替完毕 2-等待接替 3-客户拒绝 4-接替成员客户达到上限
*/
private String transferStatus;
/**
* 分配时间
*/
private Date transferTime;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
public String getRelationId() {
return relationId;
}
public void setRelationId(String relationId) {
this.relationId = relationId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.handover_external_id
*
* @return the value of tab_haoban_handover_external.handover_external_id
*/
public String getHandoverExternalId() {
return handoverExternalId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.handover_external_id
*
* @param handoverExternalId the value for tab_haoban_handover_external.handover_external_id
*/
public void setHandoverExternalId(String handoverExternalId) {
this.handoverExternalId = handoverExternalId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.wx_enterprise_id
*
* @return the value of tab_haoban_handover_external.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_handover_external.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.staff_id
*
* @return the value of tab_haoban_handover_external.staff_id
*/
public String getStaffId() {
return staffId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.staff_id
*
* @param staffId the value for tab_haoban_handover_external.staff_id
*/
public void setStaffId(String staffId) {
this.staffId = staffId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.user_id
*
* @return the value of tab_haoban_handover_external.user_id
*/
public String getUserId() {
return userId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.user_id
*
* @param userId the value for tab_haoban_handover_external.user_id
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.external_user_id
*
* @return the value of tab_haoban_handover_external.external_user_id
*/
public String getExternalUserId() {
return externalUserId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.external_user_id
*
* @param externalUserId the value for tab_haoban_handover_external.external_user_id
*/
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.external_user_name
*
* @return the value of tab_haoban_handover_external.external_user_name
*/
public String getExternalUserName() {
return externalUserName;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.external_user_name
*
* @param externalUserName the value for tab_haoban_handover_external.external_user_name
*/
public void setExternalUserName(String externalUserName) {
this.externalUserName = externalUserName;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.haoban_friend_flag
*
* @return the value of tab_haoban_handover_external.haoban_friend_flag
*/
public Integer getHaobanFriendFlag() {
return haobanFriendFlag;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.haoban_friend_flag
*
* @param haobanFriendFlag the value for tab_haoban_handover_external.haoban_friend_flag
*/
public void setHaobanFriendFlag(Integer haobanFriendFlag) {
this.haobanFriendFlag = haobanFriendFlag;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.external_head_url
*
* @return the value of tab_haoban_handover_external.external_head_url
*/
public String getExternalHeadUrl() {
return externalHeadUrl;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.external_head_url
*
* @param externalHeadUrl the value for tab_haoban_handover_external.external_head_url
*/
public void setExternalHeadUrl(String externalHeadUrl) {
this.externalHeadUrl = externalHeadUrl;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.status_flag
*
* @return the value of tab_haoban_handover_external.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.status_flag
*
* @param statusFlag the value for tab_haoban_handover_external.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.handover_transfer_id
*
* @return the value of tab_haoban_handover_external.handover_transfer_id
*/
public String getHandoverTransferId() {
return handoverTransferId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.handover_transfer_id
*
* @param handoverTransferId the value for tab_haoban_handover_external.handover_transfer_id
*/
public void setHandoverTransferId(String handoverTransferId) {
this.handoverTransferId = handoverTransferId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.takeover_time
*
* @return the value of tab_haoban_handover_external.takeover_time
*/
public Date getTakeoverTime() {
return takeoverTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.takeover_time
*
* @param takeoverTime the value for tab_haoban_handover_external.takeover_time
*/
public void setTakeoverTime(Date takeoverTime) {
this.takeoverTime = takeoverTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.transfer_status
*
* @return the value of tab_haoban_handover_external.transfer_status
*/
public String getTransferStatus() {
return transferStatus;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.transfer_status
*
* @param transferStatus the value for tab_haoban_handover_external.transfer_status
*/
public void setTransferStatus(String transferStatus) {
this.transferStatus = transferStatus;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.transfer_time
*
* @return the value of tab_haoban_handover_external.transfer_time
*/
public Date getTransferTime() {
return transferTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.transfer_time
*
* @param transferTime the value for tab_haoban_handover_external.transfer_time
*/
public void setTransferTime(Date transferTime) {
this.transferTime = transferTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.create_time
*
* @return the value of tab_haoban_handover_external.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.create_time
*
* @param createTime the value for tab_haoban_handover_external.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.update_time
*
* @return the value of tab_haoban_handover_external.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.update_time
*
* @param updateTime the value for tab_haoban_handover_external.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.dto;
import java.util.Date;
/**
* Created 2021/6/16.
*
* @author hua
*/
public class HandoverStaffInfoDTO extends StaffDTO {
private Integer friendCount;
private Integer haobanFriendCount;
private Date dimissionTime;
public Integer getFriendCount() {
return friendCount;
}
public void setFriendCount(Integer friendCount) {
this.friendCount = friendCount;
}
public Integer getHaobanFriendCount() {
return haobanFriendCount;
}
public void setHaobanFriendCount(Integer haobanFriendCount) {
this.haobanFriendCount = haobanFriendCount;
}
public Date getDimissionTime() {
return dimissionTime;
}
public void setDimissionTime(Date dimissionTime) {
this.dimissionTime = dimissionTime;
}
}
......@@ -88,4 +88,15 @@ public interface ExternalClerkRelatedApiService {
*/
List<ExternalClerkRelatedDTO> listExternalClerkByWxUserIdAncExternalUserId(String wxEnterpriseId, String wxUserId, String enterpriseId, String externalUserId);
/**
* 根据id查询列表
*
* @param wxEnterpriseId
* @param ids
* @return
*/
List<ExternalClerkRelatedDTO> listByIds(String wxEnterpriseId, List<String> ids);
}
package com.gic.haoban.manage.api.service;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO;
import com.gic.haoban.manage.api.dto.HandoverStaffInfoDTO;
import java.util.List;
/**
* Created 2021/6/16.
*
* @author hua
*/
public interface HandoverOperationApiService {
/**
* 处理企业微信信息
*
* @param wxEnterpriseId
*/
public void dealQywxEnterpriseHandover(String wxEnterpriseId);
/**
* 获取离职继承所在的门店下的待分配导购列表
*
* @param storeId
* @return
*/
public List<HandoverStaffInfoDTO> listHandoverStaff(String wxEnterpriseId, String storeId);
/**
* 分配的客户列表
*
* @param wxEnterpriseId
* @param staffIds
* @param transferIds 分配客户列表查询
* @return
*/
public Page<HandoverExternalDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo);
/**
* 分配客户接口
*
* @param wxEnterpriseId
* @param handoverExternalIds
* @param disStaffId
*/
public void transferFriend(String wxEnterpriseId, List<String> handoverExternalIds, String disStaffId, String storeId);
/**
* 根据id 获取列表
*
* @param wxEnterpriseId
* @param handoverExternalIds
* @return
*/
public List<HandoverExternalDTO> listByIds(String wxEnterpriseId, List<String> handoverExternalIds);
/**
* 分配记录
*
* @param wxEnterpriseId
* @param storeId
* @return
*/
public List<HandoverStaffInfoDTO> listDis(String wxEnterpriseId, String storeId);
/**
* 分配记录对应的trandferid
*
* @param wxEnterpriseId
* @param handoverStaffId
* @return
*/
public List<String> listTransferIdByHandoverStaffId(String wxEnterpriseId, String handoverStaffId);
/**
* 继承记录对应的trandferid
*
* @param wxEnterpriseId
* @param takeoverStaffId
* @return
*/
public List<String> listTransferIdByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId);
}
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHandoverExternal;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface HandoverExternalMapper {
/**
*/
int deleteByPrimaryKey(String handoverExternalId);
/**
*/
int insert(TabHandoverExternal record);
/**
*/
int insertSelective(TabHandoverExternal record);
/**
*/
TabHandoverExternal selectByPrimaryKey(String handoverExternalId);
/**
*/
int updateByPrimaryKeySelective(TabHandoverExternal record);
/**
*/
int updateByPrimaryKey(TabHandoverExternal record);
/**
*/
int insertBatch(@Param("list") List<TabHandoverExternal> list);
/**
* 查询待分配客户列表
*
* @param wxEnterpriseId
* @param staffIds
* @return
*/
List<TabHandoverExternal> listByStaffIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("transferIds") List<String> transferIds, @Param("staffIds") List<String> staffIds, @Param("search") String search);
/**
* 查询待分配客户列表
*
* @param wxEnterpriseId
* @return
*/
List<TabHandoverExternal> listByIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("ids") List<String> ids);
/**
*/
int updateAfterTransfer(List<String> ids, String transferId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHandoverStaff;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface HandoverStaffMapper {
/**
*/
int deleteByPrimaryKey(String handoverStaffId);
/**
*/
int insert(TabHandoverStaff record);
/**
*/
int insertSelective(TabHandoverStaff record);
/**
*/
TabHandoverStaff selectByPrimaryKey(String handoverStaffId);
/**
*/
int updateByPrimaryKeySelective(TabHandoverStaff record);
/**
*/
int updateByPrimaryKey(TabHandoverStaff record);
/**
*/
TabHandoverStaff getByStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffId") String staffId);
/**
* 获取待分配列表
*
* @param wxEnterpriseId
* @param storeId
* @return
*/
List<TabHandoverStaff> listByStoreId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("storeId") String storeId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHandoverTransfer;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface HandoverTransferMapper {
/**
*/
int deleteByPrimaryKey(String handoverTransferId);
/**
*/
int insert(TabHandoverTransfer record);
/**
*/
int insertSelective(TabHandoverTransfer record);
/**
*/
TabHandoverTransfer selectByPrimaryKey(String handoverTransferId);
/**
*/
int updateByPrimaryKeySelective(TabHandoverTransfer record);
/**
*/
int updateByPrimaryKey(TabHandoverTransfer record);
/**
* 根据分配以及继承staffId 查询记录
*/
TabHandoverTransfer getByHandoverStaffIdAndTakeoverStaffId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("handoverStaffId") String handoverStaffId,
@Param("takeoverStaffId") String takeoverStaffId);
/**
* 根据分配以及继承staffId 查询记录
*/
int addCount(@Param("id") String id, @Param("count") int count);
/**
* 分配记录
*
* @param wxEnterpriseId
* @param storeId
* @return
*/
public List<TabHandoverTransfer> listTransferByStoreId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("storeId") String storeId);
/**
* 获取分配记录 根据handoverStaffId
*
* @param wxEnterpriseId
* @param handoverStaffId
* @return
*/
public List<TabHandoverTransfer> listTransferByHandoverStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("handoverStaffId") String handoverStaffId);
/**
* 获取继承记录 根据takeoverStaffId
*
* @param wxEnterpriseId
* @param takeoverStaffId
* @return
*/
public List<TabHandoverTransfer> listTransferByTakeoverStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("takeoverStaffId") String takeoverStaffId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabQywxSyncLog;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QywxSyncLogMapper {
/**
*/
int deleteByPrimaryKey(String qywxSyncLogId);
/**
*/
int insert(TabQywxSyncLog record);
/**
*/
int insertSelective(TabQywxSyncLog record);
/**
*/
TabQywxSyncLog selectByPrimaryKey(String qywxSyncLogId);
/**
*/
int updateByPrimaryKeySelective(TabQywxSyncLog record);
/**
*/
int updateByPrimaryKey(TabQywxSyncLog record);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabQywxTagItem;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QywxTagItemMapper {
/**
*/
int deleteByPrimaryKey(String qywxTagItemId);
/**
*/
int insert(TabQywxTagItem record);
/**
*/
int insertSelective(TabQywxTagItem record);
/**
*/
TabQywxTagItem selectByPrimaryKey(String qywxTagItemId);
/**
*/
int updateByPrimaryKeySelective(TabQywxTagItem record);
/**
*/
int updateByPrimaryKey(TabQywxTagItem record);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabQywxTag;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QywxTagMapper {
/**
*/
int deleteByPrimaryKey(String qywxTagId);
/**
*/
int insert(TabQywxTag record);
/**
*/
int insertSelective(TabQywxTag record);
/**
*/
TabQywxTag selectByPrimaryKey(String qywxTagId);
/**
*/
int updateByPrimaryKeySelective(TabQywxTag record);
/**
*/
int updateByPrimaryKey(TabQywxTag record);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabQywxTagRelation;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QywxTagRelationMapper {
/**
*/
int deleteByPrimaryKey(String qywxTagRelationId);
/**
*/
int insert(TabQywxTagRelation record);
/**
*/
int insertSelective(TabQywxTagRelation record);
/**
*/
TabQywxTagRelation selectByPrimaryKey(String qywxTagRelationId);
/**
*/
int updateByPrimaryKeySelective(TabQywxTagRelation record);
/**
*/
int updateByPrimaryKey(TabQywxTagRelation record);
}
\ No newline at end of file
......@@ -44,4 +44,10 @@ public interface StaffMapper {
TabHaobanStaff getWxStaffByOne(@Param("wxEnterpriseId")String wxEnterpriseId);
public List<String> listUserStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffIds") List<String> staffIds);
public List<TabHaobanStaff> listNoStatusStaffIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffIds") List<String> staffIds);
public TabHaobanStaff getNoStatusByWxUserIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxUserId") String wxUserId);
}
\ No newline at end of file
......@@ -40,4 +40,13 @@ public interface TabHaobanClerkMainStoreRelatedMapper {
* @return
*/
int delByStoreIds(@Param("storeIds") Set<String> storeIds);
/**
* 无状态列表 最近的数据
*
* @param wxEnterpriseId
* @param staffId
* @return
*/
TabHaobanClerkMainStoreRelated getLastNoStatusByStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffId") String staffId);
}
\ No newline at end of file
......@@ -129,4 +129,23 @@ public interface TabHaobanExternalClerkRelatedMapper {
List<TabHaobanExternalClerkRelated> listByWxUserIdAndWxEnterpriseId(@Param("wxUserId")String wxUserId,
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId);
/**
* 获取最新的最近的外部联系人
*
* @param externalUserid
* @param wxUserId
* @return
*/
TabHaobanExternalClerkRelated getLastByExTernalUseridAndWxUserIdNoStatus(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("externalUserid") String externalUserid, @Param("wxUserId") String wxUserId);
/**
* 根据id 查询列表
*
* @param wxEnterpriseId
* @param ids
* @return
*/
List<TabHaobanExternalClerkRelated> listByIds(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("ids") List<String> ids);
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 离职成员的外部联系人列表
*
* @author fdh
*/
public class TabHandoverExternal implements Serializable {
/**
*
*/
private String handoverExternalId;
/**
* 企业id
*/
private String wxEnterpriseId;
/**
*
*/
private String staffId;
/**
*
*/
private String userId;
/**
* 外部联系人id
*/
private String externalUserId;
/**
* 外部联系人名称
*/
private String externalUserName;
/**
* 是否是好办的好友
*/
private Integer haobanFriendFlag;
private String relationId;
/**
* 头像
*/
private String externalHeadUrl;
/**
* 0删除 1正常 2已分配处理
*/
private Integer statusFlag;
/**
* 分配表的id
*/
private String handoverTransferId;
/**
* 接替客户的时间,如果是等待接替状态,则为未来的自动接替时间
*/
private Date takeoverTime;
/**
* 0- 1-接替完毕 2-等待接替 3-客户拒绝 4-接替成员客户达到上限
*/
private Integer transferStatus;
/**
* 分配时间
*/
private Date transferTime;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_handover_external.handover_external_id
*
* @return the value of tab_haoban_handover_external.handover_external_id
*/
public String getHandoverExternalId() {
return handoverExternalId;
}
public String getRelationId() {
return relationId;
}
public void setRelationId(String relationId) {
this.relationId = relationId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.handover_external_id
*
* @param handoverExternalId the value for tab_haoban_handover_external.handover_external_id
*/
public void setHandoverExternalId(String handoverExternalId) {
this.handoverExternalId = handoverExternalId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.wx_enterprise_id
*
* @return the value of tab_haoban_handover_external.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_handover_external.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.staff_id
*
* @return the value of tab_haoban_handover_external.staff_id
*/
public String getStaffId() {
return staffId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.staff_id
*
* @param staffId the value for tab_haoban_handover_external.staff_id
*/
public void setStaffId(String staffId) {
this.staffId = staffId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.user_id
*
* @return the value of tab_haoban_handover_external.user_id
*/
public String getUserId() {
return userId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.user_id
*
* @param userId the value for tab_haoban_handover_external.user_id
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.external_user_id
*
* @return the value of tab_haoban_handover_external.external_user_id
*/
public String getExternalUserId() {
return externalUserId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.external_user_id
*
* @param externalUserId the value for tab_haoban_handover_external.external_user_id
*/
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.external_user_name
*
* @return the value of tab_haoban_handover_external.external_user_name
*/
public String getExternalUserName() {
return externalUserName;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.external_user_name
*
* @param externalUserName the value for tab_haoban_handover_external.external_user_name
*/
public void setExternalUserName(String externalUserName) {
this.externalUserName = externalUserName;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.haoban_friend_flag
*
* @return the value of tab_haoban_handover_external.haoban_friend_flag
*/
public Integer getHaobanFriendFlag() {
return haobanFriendFlag;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.haoban_friend_flag
*
* @param haobanFriendFlag the value for tab_haoban_handover_external.haoban_friend_flag
*/
public void setHaobanFriendFlag(Integer haobanFriendFlag) {
this.haobanFriendFlag = haobanFriendFlag;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.external_head_url
*
* @return the value of tab_haoban_handover_external.external_head_url
*/
public String getExternalHeadUrl() {
return externalHeadUrl;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.external_head_url
*
* @param externalHeadUrl the value for tab_haoban_handover_external.external_head_url
*/
public void setExternalHeadUrl(String externalHeadUrl) {
this.externalHeadUrl = externalHeadUrl;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.status_flag
*
* @return the value of tab_haoban_handover_external.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.status_flag
*
* @param statusFlag the value for tab_haoban_handover_external.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.handover_transfer_id
*
* @return the value of tab_haoban_handover_external.handover_transfer_id
*/
public String getHandoverTransferId() {
return handoverTransferId;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.handover_transfer_id
*
* @param handoverTransferId the value for tab_haoban_handover_external.handover_transfer_id
*/
public void setHandoverTransferId(String handoverTransferId) {
this.handoverTransferId = handoverTransferId;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.takeover_time
*
* @return the value of tab_haoban_handover_external.takeover_time
*/
public Date getTakeoverTime() {
return takeoverTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.takeover_time
*
* @param takeoverTime the value for tab_haoban_handover_external.takeover_time
*/
public void setTakeoverTime(Date takeoverTime) {
this.takeoverTime = takeoverTime;
}
public Integer getTransferStatus() {
return transferStatus;
}
public void setTransferStatus(Integer transferStatus) {
this.transferStatus = transferStatus;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.transfer_time
*
* @return the value of tab_haoban_handover_external.transfer_time
*/
public Date getTransferTime() {
return transferTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.transfer_time
*
* @param transferTime the value for tab_haoban_handover_external.transfer_time
*/
public void setTransferTime(Date transferTime) {
this.transferTime = transferTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.create_time
*
* @return the value of tab_haoban_handover_external.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.create_time
*
* @param createTime the value for tab_haoban_handover_external.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_external.update_time
*
* @return the value of tab_haoban_handover_external.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_external.update_time
*
* @param updateTime the value for tab_haoban_handover_external.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 离职成员
*
* @author fdh
*/
public class TabHandoverStaff implements Serializable {
/**
*
*/
private String handoverStaffId;
/**
*
*/
private String wxEnterpriseId;
/**
*
*/
private String staffId;
/**
* 主门店id 当时
*/
private String storeId;
/**
* 外部联系人id
*/
private String handoverUserId;
/**
* 离职时间
*/
private Date dimissionTime;
/**
* 好友数量
*/
private Integer friendCount;
/**
* 好办好友数量
*/
private Integer haobanFriendCount;
/**
*
*/
private Integer statusFlag;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.handover_staff_id
*
* @return the value of tab_haoban_handover_staff.handover_staff_id
*/
public String getHandoverStaffId() {
return handoverStaffId;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.handover_staff_id
*
* @param handoverStaffId the value for tab_haoban_handover_staff.handover_staff_id
*/
public void setHandoverStaffId(String handoverStaffId) {
this.handoverStaffId = handoverStaffId;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.wx_enterprise_id
*
* @return the value of tab_haoban_handover_staff.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_handover_staff.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.staff_id
*
* @return the value of tab_haoban_handover_staff.staff_id
*/
public String getStaffId() {
return staffId;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.staff_id
*
* @param staffId the value for tab_haoban_handover_staff.staff_id
*/
public void setStaffId(String staffId) {
this.staffId = staffId;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.handover_user_id
*
* @return the value of tab_haoban_handover_staff.handover_user_id
*/
public String getHandoverUserId() {
return handoverUserId;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.handover_user_id
*
* @param handoverUserId the value for tab_haoban_handover_staff.handover_user_id
*/
public void setHandoverUserId(String handoverUserId) {
this.handoverUserId = handoverUserId;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.dimission_time
*
* @return the value of tab_haoban_handover_staff.dimission_time
*/
public Date getDimissionTime() {
return dimissionTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.dimission_time
*
* @param dimissionTime the value for tab_haoban_handover_staff.dimission_time
*/
public void setDimissionTime(Date dimissionTime) {
this.dimissionTime = dimissionTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.friend_count
*
* @return the value of tab_haoban_handover_staff.friend_count
*/
public Integer getFriendCount() {
return friendCount;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.friend_count
*
* @param friendCount the value for tab_haoban_handover_staff.friend_count
*/
public void setFriendCount(Integer friendCount) {
this.friendCount = friendCount;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.haoban_friend_count
*
* @return the value of tab_haoban_handover_staff.haoban_friend_count
*/
public Integer getHaobanFriendCount() {
return haobanFriendCount;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.haoban_friend_count
*
* @param haobanFriendCount the value for tab_haoban_handover_staff.haoban_friend_count
*/
public void setHaobanFriendCount(Integer haobanFriendCount) {
this.haobanFriendCount = haobanFriendCount;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.status_flag
*
* @return the value of tab_haoban_handover_staff.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.status_flag
*
* @param statusFlag the value for tab_haoban_handover_staff.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.create_time
*
* @return the value of tab_haoban_handover_staff.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.create_time
*
* @param createTime the value for tab_haoban_handover_staff.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_staff.update_time
*
* @return the value of tab_haoban_handover_staff.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_staff.update_time
*
* @param updateTime the value for tab_haoban_handover_staff.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 离职分配记录
*
* @author fdh
*/
public class TabHandoverTransfer implements Serializable {
/**
*
*/
private String handoverTransferId;
/**
*
*/
private String wxEnterpriseId;
/**
* 当前操作的门店
*/
private String storeId;
/**
* 操作人的用户id
*/
private String handoverStaffId;
/**
* 接收人的staffid
*/
private String takeoverStaffId;
/**
* 分配的数量
*/
private Integer externalCount;
/**
* 0删除 1正常
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_handover_transfer.handover_transfer_id
*
* @return the value of tab_haoban_handover_transfer.handover_transfer_id
*/
public String getHandoverTransferId() {
return handoverTransferId;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.handover_transfer_id
*
* @param handoverTransferId the value for tab_haoban_handover_transfer.handover_transfer_id
*/
public void setHandoverTransferId(String handoverTransferId) {
this.handoverTransferId = handoverTransferId;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.wx_enterprise_id
*
* @return the value of tab_haoban_handover_transfer.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_handover_transfer.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.store_id
*
* @return the value of tab_haoban_handover_transfer.store_id
*/
public String getStoreId() {
return storeId;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.store_id
*
* @param storeId the value for tab_haoban_handover_transfer.store_id
*/
public void setStoreId(String storeId) {
this.storeId = storeId;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.handover_staff_id
*
* @return the value of tab_haoban_handover_transfer.handover_staff_id
*/
public String getHandoverStaffId() {
return handoverStaffId;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.handover_staff_id
*
* @param handoverStaffId the value for tab_haoban_handover_transfer.handover_staff_id
*/
public void setHandoverStaffId(String handoverStaffId) {
this.handoverStaffId = handoverStaffId;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.takeover_staff_id
*
* @return the value of tab_haoban_handover_transfer.takeover_staff_id
*/
public String getTakeoverStaffId() {
return takeoverStaffId;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.takeover_staff_id
*
* @param takeoverStaffId the value for tab_haoban_handover_transfer.takeover_staff_id
*/
public void setTakeoverStaffId(String takeoverStaffId) {
this.takeoverStaffId = takeoverStaffId;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.external_count
*
* @return the value of tab_haoban_handover_transfer.external_count
*/
public Integer getExternalCount() {
return externalCount;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.external_count
*
* @param externalCount the value for tab_haoban_handover_transfer.external_count
*/
public void setExternalCount(Integer externalCount) {
this.externalCount = externalCount;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.status_flag
*
* @return the value of tab_haoban_handover_transfer.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.status_flag
*
* @param statusFlag the value for tab_haoban_handover_transfer.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.create_time
*
* @return the value of tab_haoban_handover_transfer.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.create_time
*
* @param createTime the value for tab_haoban_handover_transfer.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_handover_transfer.update_time
*
* @return the value of tab_haoban_handover_transfer.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_handover_transfer.update_time
*
* @param updateTime the value for tab_haoban_handover_transfer.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 企业微信同步日志
*
* @author fdh
*/
public class TabQywxSyncLog implements Serializable {
/**
*
*/
private String qywxSyncLogId;
/**
*
*/
private String qywxTagRelationId;
/**
*
*/
private String memberTagId;
/**
*
*/
private String memberTagName;
/**
* 业务类型 0 标签组 1标签项
*/
private Integer businessType;
/**
* 变更类型
*/
private String changeCode;
/**
* 内容
*/
private String logContent;
/**
* 操作code
*/
private String optCode;
/**
*
*/
private String optStaffId;
/**
* 同步任务id
*/
private String syncTaskId;
/**
* 0删除 1同步中 2成功 3失败
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.qywx_sync_log_id
*
* @return the value of tab_haoban_qywx_sync_log.qywx_sync_log_id
*/
public String getQywxSyncLogId() {
return qywxSyncLogId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.qywx_sync_log_id
*
* @param qywxSyncLogId the value for tab_haoban_qywx_sync_log.qywx_sync_log_id
*/
public void setQywxSyncLogId(String qywxSyncLogId) {
this.qywxSyncLogId = qywxSyncLogId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.qywx_tag_relation_id
*
* @return the value of tab_haoban_qywx_sync_log.qywx_tag_relation_id
*/
public String getQywxTagRelationId() {
return qywxTagRelationId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.qywx_tag_relation_id
*
* @param qywxTagRelationId the value for tab_haoban_qywx_sync_log.qywx_tag_relation_id
*/
public void setQywxTagRelationId(String qywxTagRelationId) {
this.qywxTagRelationId = qywxTagRelationId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.member_tag_id
*
* @return the value of tab_haoban_qywx_sync_log.member_tag_id
*/
public String getMemberTagId() {
return memberTagId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.member_tag_id
*
* @param memberTagId the value for tab_haoban_qywx_sync_log.member_tag_id
*/
public void setMemberTagId(String memberTagId) {
this.memberTagId = memberTagId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.member_tag_name
*
* @return the value of tab_haoban_qywx_sync_log.member_tag_name
*/
public String getMemberTagName() {
return memberTagName;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.member_tag_name
*
* @param memberTagName the value for tab_haoban_qywx_sync_log.member_tag_name
*/
public void setMemberTagName(String memberTagName) {
this.memberTagName = memberTagName;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.business_type
*
* @return the value of tab_haoban_qywx_sync_log.business_type
*/
public Integer getBusinessType() {
return businessType;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.business_type
*
* @param businessType the value for tab_haoban_qywx_sync_log.business_type
*/
public void setBusinessType(Integer businessType) {
this.businessType = businessType;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.change_code
*
* @return the value of tab_haoban_qywx_sync_log.change_code
*/
public String getChangeCode() {
return changeCode;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.change_code
*
* @param changeCode the value for tab_haoban_qywx_sync_log.change_code
*/
public void setChangeCode(String changeCode) {
this.changeCode = changeCode;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.log_content
*
* @return the value of tab_haoban_qywx_sync_log.log_content
*/
public String getLogContent() {
return logContent;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.log_content
*
* @param logContent the value for tab_haoban_qywx_sync_log.log_content
*/
public void setLogContent(String logContent) {
this.logContent = logContent;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.opt_code
*
* @return the value of tab_haoban_qywx_sync_log.opt_code
*/
public String getOptCode() {
return optCode;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.opt_code
*
* @param optCode the value for tab_haoban_qywx_sync_log.opt_code
*/
public void setOptCode(String optCode) {
this.optCode = optCode;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.opt_staff_id
*
* @return the value of tab_haoban_qywx_sync_log.opt_staff_id
*/
public String getOptStaffId() {
return optStaffId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.opt_staff_id
*
* @param optStaffId the value for tab_haoban_qywx_sync_log.opt_staff_id
*/
public void setOptStaffId(String optStaffId) {
this.optStaffId = optStaffId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.sync_task_id
*
* @return the value of tab_haoban_qywx_sync_log.sync_task_id
*/
public String getSyncTaskId() {
return syncTaskId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.sync_task_id
*
* @param syncTaskId the value for tab_haoban_qywx_sync_log.sync_task_id
*/
public void setSyncTaskId(String syncTaskId) {
this.syncTaskId = syncTaskId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.status_flag
*
* @return the value of tab_haoban_qywx_sync_log.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.status_flag
*
* @param statusFlag the value for tab_haoban_qywx_sync_log.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.create_time
*
* @return the value of tab_haoban_qywx_sync_log.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.create_time
*
* @param createTime the value for tab_haoban_qywx_sync_log.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_qywx_sync_log.update_time
*
* @return the value of tab_haoban_qywx_sync_log.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_sync_log.update_time
*
* @param updateTime the value for tab_haoban_qywx_sync_log.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 企业微信标签
*
* @author fdh
*/
public class TabQywxTag implements Serializable {
/**
*
*/
private String qywxTagId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 企业微信对应的标签组id
*/
private String qywxGroupKey;
/**
* 标签组名称
*/
private String qywxGroupName;
/**
* 排序
*/
private Long order;
/**
* 0删除 1正常
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_qywx_tag.qywx_tag_id
*
* @return the value of tab_haoban_qywx_tag.qywx_tag_id
*/
public String getQywxTagId() {
return qywxTagId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.qywx_tag_id
*
* @param qywxTagId the value for tab_haoban_qywx_tag.qywx_tag_id
*/
public void setQywxTagId(String qywxTagId) {
this.qywxTagId = qywxTagId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.wx_enterprise_id
*
* @return the value of tab_haoban_qywx_tag.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_qywx_tag.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.qywx_group_key
*
* @return the value of tab_haoban_qywx_tag.qywx_group_key
*/
public String getQywxGroupKey() {
return qywxGroupKey;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.qywx_group_key
*
* @param qywxGroupKey the value for tab_haoban_qywx_tag.qywx_group_key
*/
public void setQywxGroupKey(String qywxGroupKey) {
this.qywxGroupKey = qywxGroupKey;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.qywx_group_name
*
* @return the value of tab_haoban_qywx_tag.qywx_group_name
*/
public String getQywxGroupName() {
return qywxGroupName;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.qywx_group_name
*
* @param qywxGroupName the value for tab_haoban_qywx_tag.qywx_group_name
*/
public void setQywxGroupName(String qywxGroupName) {
this.qywxGroupName = qywxGroupName;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.order
*
* @return the value of tab_haoban_qywx_tag.order
*/
public Long getOrder() {
return order;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.order
*
* @param order the value for tab_haoban_qywx_tag.order
*/
public void setOrder(Long order) {
this.order = order;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.status_flag
*
* @return the value of tab_haoban_qywx_tag.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.status_flag
*
* @param statusFlag the value for tab_haoban_qywx_tag.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.create_time
*
* @return the value of tab_haoban_qywx_tag.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.create_time
*
* @param createTime the value for tab_haoban_qywx_tag.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.update_time
*
* @return the value of tab_haoban_qywx_tag.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag.update_time
*
* @param updateTime the value for tab_haoban_qywx_tag.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 企业微信标签项
*
* @author fdh
*/
public class TabQywxTagItem implements Serializable {
/**
*
*/
private String qywxTagItemId;
/**
*
*/
private String wxEnterpriseId;
/**
* 企业微信标签组对应的id
*/
private String qywxGroupKey;
/**
* 企业微信标签项对应的id
*/
private String qywxTagKey;
/**
* 名称
*/
private String qywxTagName;
/**
* 排序
*/
private Long order;
/**
* 状态
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.qywx_tag_item_id
*
* @return the value of tab_haoban_qywx_tag_item.qywx_tag_item_id
*/
public String getQywxTagItemId() {
return qywxTagItemId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.qywx_tag_item_id
*
* @param qywxTagItemId the value for tab_haoban_qywx_tag_item.qywx_tag_item_id
*/
public void setQywxTagItemId(String qywxTagItemId) {
this.qywxTagItemId = qywxTagItemId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.wx_enterprise_id
*
* @return the value of tab_haoban_qywx_tag_item.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_qywx_tag_item.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.qywx_group_key
*
* @return the value of tab_haoban_qywx_tag_item.qywx_group_key
*/
public String getQywxGroupKey() {
return qywxGroupKey;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.qywx_group_key
*
* @param qywxGroupKey the value for tab_haoban_qywx_tag_item.qywx_group_key
*/
public void setQywxGroupKey(String qywxGroupKey) {
this.qywxGroupKey = qywxGroupKey;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.qywx_tag_key
*
* @return the value of tab_haoban_qywx_tag_item.qywx_tag_key
*/
public String getQywxTagKey() {
return qywxTagKey;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.qywx_tag_key
*
* @param qywxTagKey the value for tab_haoban_qywx_tag_item.qywx_tag_key
*/
public void setQywxTagKey(String qywxTagKey) {
this.qywxTagKey = qywxTagKey;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.qywx_tag_name
*
* @return the value of tab_haoban_qywx_tag_item.qywx_tag_name
*/
public String getQywxTagName() {
return qywxTagName;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.qywx_tag_name
*
* @param qywxTagName the value for tab_haoban_qywx_tag_item.qywx_tag_name
*/
public void setQywxTagName(String qywxTagName) {
this.qywxTagName = qywxTagName;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.order
*
* @return the value of tab_haoban_qywx_tag_item.order
*/
public Long getOrder() {
return order;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.order
*
* @param order the value for tab_haoban_qywx_tag_item.order
*/
public void setOrder(Long order) {
this.order = order;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.status_flag
*
* @return the value of tab_haoban_qywx_tag_item.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.status_flag
*
* @param statusFlag the value for tab_haoban_qywx_tag_item.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.create_time
*
* @return the value of tab_haoban_qywx_tag_item.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.create_time
*
* @param createTime the value for tab_haoban_qywx_tag_item.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.update_time
*
* @return the value of tab_haoban_qywx_tag_item.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_item.update_time
*
* @param updateTime the value for tab_haoban_qywx_tag_item.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
*
* @author fdh
*/
public class TabQywxTagRelation implements Serializable {
/**
*
*/
private String qywxTagRelationId;
/**
*
*/
private String wxEnterpriseId;
/**
*
*/
private String enterpriseId;
/**
* 标签id
*/
private String memberTagId;
/**
* 同步状态 0 不同步 1同步
*/
private Integer syncFlag;
/**
* 排序
*/
private Long order;
/**
* 企业微信标签id
*/
private String qywxTagId;
/**
* 0删除 1正常
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.qywx_tag_relation_id
*
* @return the value of tab_haoban_qywx_tag_relation.qywx_tag_relation_id
*/
public String getQywxTagRelationId() {
return qywxTagRelationId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.qywx_tag_relation_id
*
* @param qywxTagRelationId the value for tab_haoban_qywx_tag_relation.qywx_tag_relation_id
*/
public void setQywxTagRelationId(String qywxTagRelationId) {
this.qywxTagRelationId = qywxTagRelationId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.wx_enterprise_id
*
* @return the value of tab_haoban_qywx_tag_relation.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_qywx_tag_relation.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.enterprise_id
*
* @return the value of tab_haoban_qywx_tag_relation.enterprise_id
*/
public String getEnterpriseId() {
return enterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.enterprise_id
*
* @param enterpriseId the value for tab_haoban_qywx_tag_relation.enterprise_id
*/
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.member_tag_id
*
* @return the value of tab_haoban_qywx_tag_relation.member_tag_id
*/
public String getMemberTagId() {
return memberTagId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.member_tag_id
*
* @param memberTagId the value for tab_haoban_qywx_tag_relation.member_tag_id
*/
public void setMemberTagId(String memberTagId) {
this.memberTagId = memberTagId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.sync_flag
*
* @return the value of tab_haoban_qywx_tag_relation.sync_flag
*/
public Integer getSyncFlag() {
return syncFlag;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.sync_flag
*
* @param syncFlag the value for tab_haoban_qywx_tag_relation.sync_flag
*/
public void setSyncFlag(Integer syncFlag) {
this.syncFlag = syncFlag;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.order
*
* @return the value of tab_haoban_qywx_tag_relation.order
*/
public Long getOrder() {
return order;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.order
*
* @param order the value for tab_haoban_qywx_tag_relation.order
*/
public void setOrder(Long order) {
this.order = order;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.qywx_tag_id
*
* @return the value of tab_haoban_qywx_tag_relation.qywx_tag_id
*/
public String getQywxTagId() {
return qywxTagId;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.qywx_tag_id
*
* @param qywxTagId the value for tab_haoban_qywx_tag_relation.qywx_tag_id
*/
public void setQywxTagId(String qywxTagId) {
this.qywxTagId = qywxTagId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.status_flag
*
* @return the value of tab_haoban_qywx_tag_relation.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.status_flag
*
* @param statusFlag the value for tab_haoban_qywx_tag_relation.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.create_time
*
* @return the value of tab_haoban_qywx_tag_relation.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.create_time
*
* @param createTime the value for tab_haoban_qywx_tag_relation.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_relation.update_time
*
* @return the value of tab_haoban_qywx_tag_relation.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_qywx_tag_relation.update_time
*
* @param updateTime the value for tab_haoban_qywx_tag_relation.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
......@@ -40,4 +40,5 @@ public interface ClerkMainStoreRelatedService {
List<TabHaobanClerkMainStoreRelated> listByWxEnterpriseId(String wxEnterpriseId);
}
package com.gic.haoban.manage.service.service;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO;
import com.gic.haoban.manage.service.entity.TabHandoverExternal;
import com.gic.haoban.manage.service.entity.TabHandoverStaff;
import com.gic.haoban.manage.service.entity.TabHandoverTransfer;
import com.gic.wechat.api.dto.qywx.QywxUnassignedInfoDTO;
import java.util.List;
/**
* Created 2021/6/15.
*
* @author hua
*/
public interface HandoverService {
/**
* 保存离职基础的好友
*
* @param infoList
* @return
*/
public boolean saveHandover(String wxEnterpriseId, List<QywxUnassignedInfoDTO> infoList);
/**
* 分配列表
*
* @param wxEnterpriseId
* @param storeId
* @return
*/
public List<TabHandoverStaff> listByStoreId(String wxEnterpriseId, String storeId);
/**
* 分配的客户列表
*
* @param wxEnterpriseId
* @param staffIds
* @return
*/
public Page<HandoverExternalDTO> pageByStaffIds(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo);
/**
* 查询待分配列表
*
* @param ids
* @return
*/
public List<TabHandoverExternal> listByIds(String wxEnterpriseId, List<String> ids);
/**
* 保存分配记录
*
* @param transfer
* @return id 主键
*/
public String saveHandoverTransfer(TabHandoverTransfer transfer, List<String> handoverExternalIds);
/**
* 分配记录列表
*
* @param wxEnterpriseId
* @param storeId
* @return
*/
public List<TabHandoverTransfer> listTransferByStoreId(String wxEnterpriseId, String storeId);
/**
* 分配记录列表
*
* @param wxEnterpriseId
* @param handoverStaffId
* @return
*/
public List<TabHandoverTransfer> listTransferByHandoverStaffId(String wxEnterpriseId, String handoverStaffId);
/**
* 继承记录列表
*
* @param wxEnterpriseId
* @param takeoverStaffId
* @return
*/
public List<TabHandoverTransfer> listTransferByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId);
}
......@@ -43,4 +43,13 @@ public interface StaffService {
*/
public List<String> listDelUserStaffId(String wxEnterpriseId,List<String> staffIds);
/**
* 获取无状态的staff列表
*
* @param wxEnterpriseId
* @param staffIds
* @return
*/
public List<TabHaobanStaff> listNoStatusByStaffIds(String wxEnterpriseId, List<String> staffIds);
}
......@@ -112,4 +112,5 @@ public class ClerkMainStoreRelatedServiceImpl implements ClerkMainStoreRelatedSe
return mapper.listByWxEnterpriseId(wxEnterpriseId);
}
}
package com.gic.haoban.manage.service.service.impl;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.ToolUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.service.HandoverService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.wechat.api.dto.qywx.QywxUnassignedInfoDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Created 2021/6/15.
*
* @author hua
*/
@Service
public class HandoverServiceImpl implements HandoverService {
private static final Logger logger = getLogger(HandoverServiceImpl.class);
@Autowired
private HandoverStaffMapper handoverStaffMapper;
@Autowired
private HandoverExternalMapper handoverExternalMapper;
@Autowired
private HandoverTransferMapper handoverTransferMapper;
@Autowired
private StaffMapper staffMapper;
@Autowired
private TabHaobanExternalClerkRelatedMapper externalClerkRelatedMapper;
@Autowired
private QywxUserApiService qywxUserApiService;
@Autowired
private Config config;
@Autowired
private WxEnterpriseMapper wxEnterpriseMapper;
@Autowired
private SecretSettingService secretSettingService;
@Autowired
private TabHaobanClerkMainStoreRelatedMapper clerkMainStoreRelatedMapper;
@Override
public boolean saveHandover(String wxEnterpriseId, List<QywxUnassignedInfoDTO> infoList) {
TabHaobanWxEnterprise wxEnterprise = wxEnterpriseMapper.selectByPrimaryKey(wxEnterpriseId);
if (CollectionUtils.isEmpty(infoList)) {
logger.info("保存失败");
return false;
}
Map<String, List<QywxUnassignedInfoDTO>> handoverUserMap = infoList.stream().collect(Collectors.groupingBy(dto -> dto.getHandoverUserid()));
handoverUserMap.forEach((userId, list) -> {
TabHandoverStaff handoverStaff = getHandoverStaff(wxEnterpriseId, userId);
if (null == handoverStaff) {
logger.info("staff已经存在不许重复");
return;
}
List<TabHandoverExternal> externalList = list.stream().map(dto -> {
TabHandoverExternal mid = getHandExternal(dto, wxEnterprise);
mid.setStaffId(handoverStaff.getStaffId());
handoverStaff.setDimissionTime(dto.getDimissionTimeDate());
mid.setStatusFlag(mid.getStatusFlag() != null ? mid.getStatusFlag() : 1);
mid.setUserId(dto.getHandoverUserid());
return mid;
}).collect(Collectors.toList());
//个数
int sum = externalList.stream().filter(dto -> dto.getHaobanFriendFlag() == 1).mapToInt(dto -> 1).sum();
handoverStaff.setFriendCount(externalList.size());
handoverStaff.setHaobanFriendCount(sum);
//保存
handoverStaffMapper.insertSelective(handoverStaff);
handoverExternalMapper.insertBatch(externalList);
});
return false;
}
private TabHandoverStaff getHandoverStaff(String wxEnterpriseId, String wxUserId) {
TabHaobanStaff haobanStaff = staffMapper.getNoStatusByWxUserIds(wxEnterpriseId, wxUserId);
if (null == haobanStaff) {
logger.info("对应的staff不存在:{}", wxUserId);
return null;
}
TabHandoverStaff handoverStaff = handoverStaffMapper.getByStaffId(wxEnterpriseId, haobanStaff.getStaffId());
if (null != handoverStaff) {
logger.info("对应的handoverStaff不存在:{}", haobanStaff.getStaffId());
return null;
}
handoverStaff = new TabHandoverStaff();
TabHaobanClerkMainStoreRelated clerkMainStoreRelated = clerkMainStoreRelatedMapper.getLastNoStatusByStaffId(wxEnterpriseId, haobanStaff.getStaffId());
if (null == clerkMainStoreRelated) {
logger.info("没有主门店:{}", haobanStaff.getStaffId());
//todo 需要过滤
// return null;
} else {
handoverStaff.setStoreId(clerkMainStoreRelated.getStoreId());
}
handoverStaff.setStaffId(haobanStaff.getStaffId());
handoverStaff.setHandoverUserId(wxUserId);
handoverStaff.setWxEnterpriseId(wxEnterpriseId);
handoverStaff.setHandoverStaffId(ToolUtil.randomUUID());
handoverStaff.setCreateTime(new Date());
handoverStaff.setUpdateTime(new Date());
handoverStaff.setStatusFlag(1);
handoverStaff.setStaffId(haobanStaff.getStaffId());
return handoverStaff;
}
/**
* 获取外部联系人
*
* @param infoDTO
* @return
*/
private TabHandoverExternal getHandExternal(QywxUnassignedInfoDTO infoDTO, TabHaobanWxEnterprise wxEnterprise) {
TabHandoverExternal mid = new TabHandoverExternal();
mid.setExternalUserId(infoDTO.getExternalUserid());
mid.setWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
mid.setHandoverExternalId(ToolUtil.randomUUID());
mid.setHaobanFriendFlag(0);
TabHaobanExternalClerkRelated externalClerkRelated = externalClerkRelatedMapper.getLastByExTernalUseridAndWxUserIdNoStatus(wxEnterprise.getWxEnterpriseId(), infoDTO.getExternalUserid(), infoDTO.getHandoverUserid());
if (null == externalClerkRelated) {
mid.setExternalUserName("企业微信客户");
mid.setRelationId("-1");
} else {
mid.setRelationId(externalClerkRelated.getExternalClerkRelatedId());
mid.setExternalUserName(externalClerkRelated.getExternalName());
mid.setHaobanFriendFlag(1);
mid.setExternalHeadUrl(externalClerkRelated.getHeadUrl());
}
return mid;
}
@Override
public List<TabHandoverStaff> listByStoreId(String wxEnterpriseId, String storeId) {
List<TabHandoverStaff> handoverStaffs = handoverStaffMapper.listByStoreId(wxEnterpriseId, storeId);
if (CollectionUtils.isEmpty(handoverStaffs)) {
return null;
}
return handoverStaffs;
}
@Override
public Page<HandoverExternalDTO> pageByStaffIds(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo);
List<TabHandoverExternal> externalList = handoverExternalMapper.listByStaffIds(wxEnterpriseId, transferIds, staffIds, search);
Page<HandoverExternalDTO> retPage = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(externalList), HandoverExternalDTO.class);
return retPage;
}
@Override
public List<TabHandoverExternal> listByIds(String wxEnterpriseId, List<String> ids) {
return handoverExternalMapper.listByIds(wxEnterpriseId, ids);
}
@Override
public String saveHandoverTransfer(TabHandoverTransfer transfer, List<String> handoverExternalIds) {
TabHandoverTransfer tabHandoverTransfer = handoverTransferMapper.getByHandoverStaffIdAndTakeoverStaffId(transfer.getWxEnterpriseId(), transfer.getHandoverStaffId(), transfer.getTakeoverStaffId());
String transferId = null;
if (null != tabHandoverTransfer) {
handoverTransferMapper.addCount(tabHandoverTransfer.getHandoverTransferId(), transfer.getExternalCount());
transferId = tabHandoverTransfer.getHandoverTransferId();
} else {
transfer.setHandoverTransferId(ToolUtil.randomUUID());
transfer.setStatusFlag(1);
transfer.setUpdateTime(new Date());
transfer.setUpdateTime(new Date());
handoverTransferMapper.insertSelective(transfer);
transferId = transfer.getHandoverTransferId();
}
//分配初始化
handoverExternalMapper.updateAfterTransfer(handoverExternalIds, transferId);
return transferId;
}
@Override
public List<TabHandoverTransfer> listTransferByStoreId(String wxEnterpriseId, String storeId) {
List<TabHandoverTransfer> handoverTransfers = handoverTransferMapper.listTransferByStoreId(wxEnterpriseId, storeId);
return handoverTransfers;
}
@Override
public List<TabHandoverTransfer> listTransferByHandoverStaffId(String wxEnterpriseId, String handoverStaffId) {
return handoverTransferMapper.listTransferByHandoverStaffId(wxEnterpriseId, handoverStaffId);
}
@Override
public List<TabHandoverTransfer> listTransferByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId) {
return handoverTransferMapper.listTransferByTakeoverStaffId(wxEnterpriseId, takeoverStaffId);
}
}
......@@ -102,4 +102,9 @@ public class StaffServiceImpl implements StaffService {
public List<String> listDelUserStaffId(String wxEnterpriseId, List<String> staffIds) {
return mapper.listUserStaffId(wxEnterpriseId,staffIds);
}
@Override
public List<TabHaobanStaff> listNoStatusByStaffIds(String wxEnterpriseId, List<String> staffIds) {
return mapper.listNoStatusStaffIds(wxEnterpriseId, staffIds);
}
}
......@@ -147,4 +147,10 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listExternalClerkByWxUserIdAncExternalUserId(wxEnterpriseId, wxUserId, enterpriseId, externalUserId);
return EntityUtil.changeEntityListNew(ExternalClerkRelatedDTO.class, list);
}
@Override
public List<ExternalClerkRelatedDTO> listByIds(String wxEnterpriseId, List<String> ids) {
List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listByIds(wxEnterpriseId, ids);
return EntityUtil.changeEntityListNew(ExternalClerkRelatedDTO.class, list);
}
}
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.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO;
import com.gic.haoban.manage.api.dto.HandoverStaffInfoDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.HandoverOperationApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.TabHandoverExternal;
import com.gic.haoban.manage.service.entity.TabHandoverStaff;
import com.gic.haoban.manage.service.entity.TabHandoverTransfer;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.service.*;
import com.gic.wechat.api.dto.qywx.QywxTransferCustomerInfoDTO;
import com.gic.wechat.api.dto.qywx.QywxUnassignedInfoDTO;
import com.gic.wechat.api.dto.qywx.response.QywxGetUnassignedListDTO;
import com.gic.wechat.api.dto.qywx.response.QywxTransferCustomerDTO;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Created 2021/6/16.
*
* @author hua
*/
@Service
public class HandoverOperationApiServiceImpl implements HandoverOperationApiService {
private static final Logger logger = getLogger(HandoverOperationApiServiceImpl.class);
@Autowired
private HandoverService handoverService;
@Autowired
private QywxUserApiService qywxUserApiService;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
private Config config;
@Autowired
private SecretSettingService secretSettingService;
@Autowired
private ClerkMainStoreRelatedService clerkMainStoreRelatedService;
@Autowired
private StaffService staffService;
@Override
public void dealQywxEnterpriseHandover(String wxEnterpriseId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
logger.info("拉取单个企业微信的离职成员:{}", wxEnterpriseId, JSONObject.toJSONString(wxEnterpriseDTO));
List<QywxUnassignedInfoDTO> allQywxUnassigned = getAllQywxUnassigned(wxEnterpriseDTO);
logger.info("处理离职成员数量:{},{}", wxEnterpriseId, allQywxUnassigned.size());
handoverService.saveHandover(wxEnterpriseId, allQywxUnassigned);
}
private List<QywxUnassignedInfoDTO> getAllQywxUnassigned(WxEnterpriseDTO wxEnterpriseDTO) {
List<QywxUnassignedInfoDTO> ret = new ArrayList<>();
QywxGetUnassignedListDTO unassignedListDTO = null;
String cursor = null;
do {
unassignedListDTO = qywxUserApiService.getUnassignedList(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), cursor);
cursor = unassignedListDTO.getNextCursor();
if (CollectionUtils.isNotEmpty(unassignedListDTO.getInfo())) {
ret.addAll(unassignedListDTO.getInfo());
}
} while (StringUtils.isNotBlank(cursor) && unassignedListDTO.getErrorcode() == 0);
return ret;
}
@Override
public List<HandoverStaffInfoDTO> listHandoverStaff(String wxEnterpriseId, String storeId) {
List<TabHandoverStaff> handoverStaffs = handoverService.listByStoreId(wxEnterpriseId, storeId);
if (CollectionUtils.isEmpty(handoverStaffs)) {
return null;
}
Map<String, TabHandoverStaff> handoverStaffMap = handoverStaffs.stream().collect(Collectors.toMap(dto -> dto.getStaffId(), dto -> dto, (o, n) -> o));
List<String> staffIds = handoverStaffs.stream().map(dto -> dto.getStaffId()).collect(Collectors.toList());
List<TabHaobanStaff> tabHaobanStaffs = staffService.listNoStatusByStaffIds(wxEnterpriseId, staffIds);
if (CollectionUtils.isEmpty(tabHaobanStaffs)) {
logger.info("不存在staff列表");
return null;
}
List<HandoverStaffInfoDTO> retList = EntityUtil.changeEntityListByJSON(HandoverStaffInfoDTO.class, tabHaobanStaffs);
retList.forEach(dto -> {
TabHandoverStaff handoverStaff = handoverStaffMap.get(dto.getStaffId());
dto.setDimissionTime(handoverStaff.getDimissionTime());
dto.setFriendCount(handoverStaff.getFriendCount());
dto.setHaobanFriendCount(handoverStaff.getHaobanFriendCount());
});
return retList;
}
@Override
public Page<HandoverExternalDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo) {
if (CollectionUtils.isEmpty(staffIds)) {
logger.info("参数异常");
return null;
}
Page<HandoverExternalDTO> retPage = handoverService.pageByStaffIds(wxEnterpriseId, search, staffIds, transferIds, pageInfo);
if (CollectionUtils.isEmpty(retPage.getResult())) {
return retPage;
}
List<TabHaobanStaff> haobanStaffs = staffService.listNoStatusByStaffIds(wxEnterpriseId, staffIds);
Map<String, String> staffNameMap = haobanStaffs.stream().collect(Collectors.toMap(dto -> dto.getStaffId(), dto -> dto.getStaffName(), (o, n) -> o));
retPage.getResult().forEach(dto -> {
String staffName = staffNameMap.get(dto.getStaffId());
dto.setStaffName(staffName);
});
return retPage;
}
@Override
public void transferFriend(String wxEnterpriseId, List<String> handoverExternalIds, String disStaffId, String storeId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
TabHaobanStaff tabHaobanStaff = staffService.selectById(disStaffId);
List<TabHandoverExternal> externalList = handoverService.listByIds(wxEnterpriseId, handoverExternalIds);
//分配人与客户的关联map
Map<String, List<String>> handoverStaffExternalMap = externalList.stream().collect(Collectors.groupingBy(dto -> dto.getUserId(), Collectors.mapping(TabHandoverExternal::getExternalUserId, Collectors.toList())));
//分配人wxUserId 对应的staffIdMap
Map<String, String> handoverStaffIdMap = externalList.stream().collect(Collectors.toMap(dto -> dto.getUserId(), dto -> dto.getStaffId()));
//TabHandoverExternal 根据分配人wxUserId 分类 主键id
Map<String, List<String>> userByIdMap = externalList.stream().collect(Collectors.groupingBy(dto -> dto.getUserId(), Collectors.mapping(dto -> dto.getHandoverExternalId(), Collectors.toList())));
handoverStaffExternalMap.forEach((wxUserId, list) -> {
QywxTransferCustomerDTO transferCustomerResp = qywxUserApiService.transferCustomer(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), wxUserId, tabHaobanStaff.getWxUserId(), list);
if (transferCustomerResp.getErrorcode() != 0) {
logger.info("转移异常");
}
List<QywxTransferCustomerInfoDTO> customer = transferCustomerResp.getCustomer();
if (CollectionUtils.isEmpty(customer)) {
return;
}
TabHandoverTransfer transfer = new TabHandoverTransfer();
transfer.setExternalCount(list.size());
transfer.setStoreId(storeId);
transfer.setHandoverStaffId(handoverStaffIdMap.get(wxUserId));
transfer.setTakeoverStaffId(disStaffId);
transfer.setWxEnterpriseId(wxEnterpriseId);
//执行保存分配后结果
handoverService.saveHandoverTransfer(transfer, userByIdMap.get(wxUserId));
});
}
@Override
public List<HandoverExternalDTO> listByIds(String wxEnterpriseId, List<String> handoverExternalIds) {
List<TabHandoverExternal> externalList = handoverService.listByIds(wxEnterpriseId, handoverExternalIds);
return EntityUtil.changeEntityListByJSON(HandoverExternalDTO.class, externalList);
}
@Override
public List<HandoverStaffInfoDTO> listDis(String wxEnterpriseId, String storeId) {
List<TabHandoverTransfer> handoverTransfers = handoverService.listTransferByStoreId(wxEnterpriseId, storeId);
if (CollectionUtils.isEmpty(handoverTransfers)) {
return null;
}
Map<String, TabHandoverTransfer> handoverTransferMap = handoverTransfers.stream().collect(Collectors.toMap(dto -> dto.getHandoverStaffId(), dto -> dto, (o, n) -> o));
List<String> handoverStaffIds = handoverTransfers.stream().map(dto -> dto.getHandoverStaffId()).collect(Collectors.toList());
List<TabHaobanStaff> haobanStaffs = staffService.listNoStatusByStaffIds(wxEnterpriseId, handoverStaffIds);
List<HandoverStaffInfoDTO> retList = EntityUtil.changeEntityListByJSON(HandoverStaffInfoDTO.class, haobanStaffs);
retList.forEach(dto -> {
TabHandoverTransfer mid = handoverTransferMap.get(dto.getStaffId());
dto.setFriendCount(mid.getExternalCount());
});
return retList;
}
@Override
public List<String> listTransferIdByHandoverStaffId(String wxEnterpriseId, String handoverStaffId) {
List<TabHandoverTransfer> ret = handoverService.listTransferByHandoverStaffId(wxEnterpriseId, handoverStaffId);
if (CollectionUtils.isEmpty(ret)) {
return null;
}
return ret.stream().map(dto -> dto.getHandoverTransferId()).collect(Collectors.toList());
}
@Override
public List<String> listTransferIdByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId) {
List<TabHandoverTransfer> ret = handoverService.listTransferByTakeoverStaffId(wxEnterpriseId, takeoverStaffId);
if (CollectionUtils.isEmpty(ret)) {
return null;
}
return ret.stream().map(dto -> dto.getHandoverTransferId()).collect(Collectors.toList());
}
}
<?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.HandoverExternalMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHandoverExternal">
<id column="handover_external_id" jdbcType="VARCHAR" property="handoverExternalId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="staff_id" jdbcType="VARCHAR" property="staffId"/>
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
<result column="external_user_id" jdbcType="VARCHAR" property="externalUserId"/>
<result column="external_user_name" jdbcType="VARCHAR" property="externalUserName"/>
<result column="relation_id" jdbcType="VARCHAR" property="relationId"/>
<result column="haoban_friend_flag" jdbcType="INTEGER" property="haobanFriendFlag"/>
<result column="external_head_url" jdbcType="VARCHAR" property="externalHeadUrl"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="handover_transfer_id" jdbcType="VARCHAR" property="handoverTransferId"/>
<result column="takeover_time" jdbcType="TIMESTAMP" property="takeoverTime"/>
<result column="transfer_status" jdbcType="INTEGER" property="transferStatus"/>
<result column="transfer_time" jdbcType="TIMESTAMP" property="transferTime"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
handover_external_id, wx_enterprise_id, staff_id, user_id, external_user_id, external_user_name, relation_id,
haoban_friend_flag, external_head_url, status_flag, handover_transfer_id, takeover_time,
transfer_status, transfer_time, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_external
where handover_external_id = #{handoverExternalId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_handover_external
where handover_external_id = #{handoverExternalId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHandoverExternal">
insert into tab_haoban_handover_external (handover_external_id, wx_enterprise_id,
staff_id, user_id, external_user_id,
external_user_name,relation_id, haoban_friend_flag, external_head_url,
status_flag, handover_transfer_id, takeover_time,
transfer_status, transfer_time, create_time,
update_time)
values (#{handoverExternalId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{staffId,jdbcType=VARCHAR}, #{userId,jdbcType=VARCHAR}, #{externalUserId,jdbcType=VARCHAR},
#{externalUserName,jdbcType=VARCHAR},#{relationId}, #{haobanFriendFlag,jdbcType=INTEGER}, #{externalHeadUrl,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER}, #{handoverTransferId,jdbcType=VARCHAR}, #{takeoverTime,jdbcType=TIMESTAMP},
#{transferStatus}, #{transferTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHandoverExternal">
insert into tab_haoban_handover_external
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="handoverExternalId != null">
handover_external_id,
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id,
</if>
<if test="staffId != null">
staff_id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="externalUserId != null">
external_user_id,
</if>
<if test="externalUserName != null">
external_user_name,
</if>
<if test="relationId != null">
relation_id,
</if>
<if test="haobanFriendFlag != null">
haoban_friend_flag,
</if>
<if test="externalHeadUrl != null">
external_head_url,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="handoverTransferId != null">
handover_transfer_id,
</if>
<if test="takeoverTime != null">
takeover_time,
</if>
<if test="transferStatus != null">
transfer_status,
</if>
<if test="transferTime != null">
transfer_time,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="handoverExternalId != null">
#{handoverExternalId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="staffId != null">
#{staffId,jdbcType=VARCHAR},
</if>
<if test="userId != null">
#{userId,jdbcType=VARCHAR},
</if>
<if test="externalUserId != null">
#{externalUserId,jdbcType=VARCHAR},
</if>
<if test="externalUserName != null">
#{externalUserName,jdbcType=VARCHAR},
</if>
<if test="relationId != null">
#{relationId,jdbcType=VARCHAR},
</if>
<if test="haobanFriendFlag != null">
#{haobanFriendFlag,jdbcType=INTEGER},
</if>
<if test="externalHeadUrl != null">
#{externalHeadUrl,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="handoverTransferId != null">
#{handoverTransferId,jdbcType=VARCHAR},
</if>
<if test="takeoverTime != null">
#{takeoverTime,jdbcType=TIMESTAMP},
</if>
<if test="transferStatus != null">
#{transferStatus},
</if>
<if test="transferTime != null">
#{transferTime,jdbcType=TIMESTAMP},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHandoverExternal">
update tab_haoban_handover_external
<set>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="staffId != null">
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if test="userId != null">
user_id = #{userId,jdbcType=VARCHAR},
</if>
<if test="externalUserId != null">
external_user_id = #{externalUserId,jdbcType=VARCHAR},
</if>
<if test="externalUserName != null">
external_user_name = #{externalUserName,jdbcType=VARCHAR},
</if>
<if test="relationId != null">
relation_id = #{relationId,jdbcType=VARCHAR},
</if>
<if test="haobanFriendFlag != null">
haoban_friend_flag = #{haobanFriendFlag,jdbcType=INTEGER},
</if>
<if test="externalHeadUrl != null">
external_head_url = #{externalHeadUrl,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="handoverTransferId != null">
handover_transfer_id = #{handoverTransferId,jdbcType=VARCHAR},
</if>
<if test="takeoverTime != null">
takeover_time = #{takeoverTime,jdbcType=TIMESTAMP},
</if>
<if test="transferStatus != null">
transfer_status = #{transferStatus},
</if>
<if test="transferTime != null">
transfer_time = #{transferTime,jdbcType=TIMESTAMP},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where handover_external_id = #{handoverExternalId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHandoverExternal">
update tab_haoban_handover_external
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
staff_id = #{staffId,jdbcType=VARCHAR},
user_id = #{userId,jdbcType=VARCHAR},
external_user_id = #{externalUserId,jdbcType=VARCHAR},
external_user_name = #{externalUserName,jdbcType=VARCHAR},
relation_id = #{relationId,jdbcType=VARCHAR},
haoban_friend_flag = #{haobanFriendFlag,jdbcType=INTEGER},
external_head_url = #{externalHeadUrl,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
handover_transfer_id = #{handoverTransferId,jdbcType=VARCHAR},
takeover_time = #{takeoverTime,jdbcType=TIMESTAMP},
transfer_status = #{transferStatus},
transfer_time = #{transferTime,jdbcType=TIMESTAMP},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where handover_external_id = #{handoverExternalId,jdbcType=VARCHAR}
</update>
<insert id="insertBatch">
insert into tab_haoban_handover_external (handover_external_id, wx_enterprise_id,
staff_id, user_id, external_user_id,
external_user_name,relation_id, haoban_friend_flag, external_head_url,
status_flag, create_time,
update_time)
values
<foreach collection="list" separator="," item="item">
(#{item.handoverExternalId,jdbcType=VARCHAR}, #{item.wxEnterpriseId,jdbcType=VARCHAR},
#{item.staffId,jdbcType=VARCHAR}, #{item.userId,jdbcType=VARCHAR}, #{item.externalUserId,jdbcType=VARCHAR},
#{item.externalUserName,jdbcType=VARCHAR},#{item.relationId}, #{item.haobanFriendFlag,jdbcType=INTEGER},
#{item.externalHeadUrl,jdbcType=VARCHAR},
#{item.statusFlag,jdbcType=INTEGER}, now(),
now())
</foreach>
</insert>
<select id="listByStaffIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_external
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
<if test="staffIds!=null and staffIds.size>0">
and staff_id in
<foreach collection="staffIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
and status_flag=1
<if test="search!=null and search!=''">
and external_user_name like CONCAT('%',#{search},'%')
</if>
<if test="transferIds!=null and transferIds.size>0">
and handover_transfer_id in
<foreach collection="transferIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
and order by create_time desc
</select>
<select id="listByIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_external
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and handover_external_id in
<foreach collection="ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and status_flag=1
</select>
<update id="updateAfterTransfer">
update tab_haoban_handover_external
set
status_flag = 2,
handover_transfer_id = #{transferId,jdbcType=VARCHAR},
transfer_status = 0,
transfer_time = now(),
update_time = now()
where handover_external_id in
<foreach collection="ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</update>
</mapper>
\ No newline at end of file
<?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.HandoverStaffMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHandoverStaff">
<id column="handover_staff_id" jdbcType="VARCHAR" property="handoverStaffId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="staff_id" jdbcType="VARCHAR" property="staffId"/>
<result column="store_id" jdbcType="VARCHAR" property="storeId"/>
<result column="handover_user_id" jdbcType="VARCHAR" property="handoverUserId"/>
<result column="dimission_time" jdbcType="TIMESTAMP" property="dimissionTime"/>
<result column="friend_count" jdbcType="INTEGER" property="friendCount"/>
<result column="haoban_friend_count" jdbcType="INTEGER" property="haobanFriendCount"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
handover_staff_id, wx_enterprise_id, staff_id,store_id, handover_user_id, dimission_time,
friend_count, haoban_friend_count, status_flag, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_staff
where handover_staff_id = #{handoverStaffId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_handover_staff
where handover_staff_id = #{handoverStaffId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHandoverStaff">
insert into tab_haoban_handover_staff (handover_staff_id, wx_enterprise_id,
staff_id,store_id, handover_user_id, dimission_time,
friend_count, haoban_friend_count, status_flag,
create_time, update_time)
values (#{handoverStaffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{staffId,jdbcType=VARCHAR},#{storeId,jdbcType=VARCHAR}, #{handoverUserId,jdbcType=VARCHAR}, #{dimissionTime,jdbcType=TIMESTAMP},
#{friendCount,jdbcType=INTEGER}, #{haobanFriendCount,jdbcType=INTEGER}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHandoverStaff">
insert into tab_haoban_handover_staff
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="handoverStaffId != null">
handover_staff_id,
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id,
</if>
<if test="staffId != null">
staff_id,
</if>
<if test="storeId != null">
store_id,
</if>
<if test="handoverUserId != null">
handover_user_id,
</if>
<if test="dimissionTime != null">
dimission_time,
</if>
<if test="friendCount != null">
friend_count,
</if>
<if test="haobanFriendCount != null">
haoban_friend_count,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="handoverStaffId != null">
#{handoverStaffId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="staffId != null">
#{staffId,jdbcType=VARCHAR},
</if>
<if test="storeId != null">
#{storeId,jdbcType=VARCHAR},
</if>
<if test="handoverUserId != null">
#{handoverUserId,jdbcType=VARCHAR},
</if>
<if test="dimissionTime != null">
#{dimissionTime,jdbcType=TIMESTAMP},
</if>
<if test="friendCount != null">
#{friendCount,jdbcType=INTEGER},
</if>
<if test="haobanFriendCount != null">
#{haobanFriendCount,jdbcType=INTEGER},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHandoverStaff">
update tab_haoban_handover_staff
<set>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="staffId != null">
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if test="storeId != null">
storeId_id = #{storeId,jdbcType=VARCHAR},
</if>
<if test="handoverUserId != null">
handover_user_id = #{handoverUserId,jdbcType=VARCHAR},
</if>
<if test="dimissionTime != null">
dimission_time = #{dimissionTime,jdbcType=TIMESTAMP},
</if>
<if test="friendCount != null">
friend_count = #{friendCount,jdbcType=INTEGER},
</if>
<if test="haobanFriendCount != null">
haoban_friend_count = #{haobanFriendCount,jdbcType=INTEGER},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where handover_staff_id = #{handoverStaffId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHandoverStaff">
update tab_haoban_handover_staff
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
staff_id = #{staffId,jdbcType=VARCHAR},
store_id = #{storeId,jdbcType=VARCHAR},
handover_user_id = #{handoverUserId,jdbcType=VARCHAR},
dimission_time = #{dimissionTime,jdbcType=TIMESTAMP},
friend_count = #{friendCount,jdbcType=INTEGER},
haoban_friend_count = #{haobanFriendCount,jdbcType=INTEGER},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where handover_staff_id = #{handoverStaffId,jdbcType=VARCHAR}
</update>
<select id="getByStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_staff
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and handover_user_id=#{staffId}
</select>
<select id="listByStoreId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_staff
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and store_id=#{storeId}
and status_flag=1
</select>
</mapper>
\ No newline at end of file
<?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.HandoverTransferMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHandoverTransfer">
<id column="handover_transfer_id" jdbcType="VARCHAR" property="handoverTransferId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="store_id" jdbcType="VARCHAR" property="storeId"/>
<result column="handover_staff_id" jdbcType="VARCHAR" property="handoverStaffId"/>
<result column="takeover_staff_id" jdbcType="VARCHAR" property="takeoverStaffId"/>
<result column="external_count" jdbcType="INTEGER" property="externalCount"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
handover_transfer_id, wx_enterprise_id, store_id, handover_staff_id, takeover_staff_id,
external_count, status_flag, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_transfer
where handover_transfer_id = #{handoverTransferId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_handover_transfer
where handover_transfer_id = #{handoverTransferId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHandoverTransfer">
insert into tab_haoban_handover_transfer (handover_transfer_id, wx_enterprise_id,
store_id, handover_staff_id, takeover_staff_id,
external_count, status_flag, create_time,
update_time)
values (#{handoverTransferId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{storeId,jdbcType=VARCHAR}, #{handoverStaffId,jdbcType=VARCHAR}, #{takeoverStaffId,jdbcType=VARCHAR},
#{externalCount,jdbcType=INTEGER}, #{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHandoverTransfer">
insert into tab_haoban_handover_transfer
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="handoverTransferId != null">
handover_transfer_id,
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id,
</if>
<if test="storeId != null">
store_id,
</if>
<if test="handoverStaffId != null">
handover_staff_id,
</if>
<if test="takeoverStaffId != null">
takeover_staff_id,
</if>
<if test="externalCount != null">
external_count,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="handoverTransferId != null">
#{handoverTransferId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="storeId != null">
#{storeId,jdbcType=VARCHAR},
</if>
<if test="handoverStaffId != null">
#{handoverStaffId,jdbcType=VARCHAR},
</if>
<if test="takeoverStaffId != null">
#{takeoverStaffId,jdbcType=VARCHAR},
</if>
<if test="externalCount != null">
#{externalCount,jdbcType=INTEGER},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHandoverTransfer">
update tab_haoban_handover_transfer
<set>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="storeId != null">
store_id = #{storeId,jdbcType=VARCHAR},
</if>
<if test="handoverStaffId != null">
handover_staff_id = #{handoverStaffId,jdbcType=VARCHAR},
</if>
<if test="takeoverStaffId != null">
takeover_staff_id = #{takeoverStaffId,jdbcType=VARCHAR},
</if>
<if test="externalCount != null">
external_count = #{externalCount,jdbcType=INTEGER},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where handover_transfer_id = #{handoverTransferId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHandoverTransfer">
update tab_haoban_handover_transfer
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
store_id = #{storeId,jdbcType=VARCHAR},
handover_staff_id = #{handoverStaffId,jdbcType=VARCHAR},
takeover_staff_id = #{takeoverStaffId,jdbcType=VARCHAR},
external_count = #{externalCount,jdbcType=INTEGER},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where handover_transfer_id = #{handoverTransferId,jdbcType=VARCHAR}
</update>
<select id="getByHandoverStaffIdAndTakeoverStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_transfer
where wx_enterprise_id=#{wxEnterpriseId}
and handover_staff_id = #{handoverStaffId},
and takeover_staff_id = #{takeoverStaffId},
and status_flag=1
</select>
<update id="addCount">
update tab_haoban_handover_transfer
set
external_count += #{count},
update_time = now()
where handover_transfer_id = #{id,jdbcType=VARCHAR}
</update>
<select id="listTransferByStoreId" resultMap="BaseResultMap">
select
handover_staff_id,
max(update_time) as update_time,
sum(external_count) as external_count
from tab_haoban_handover_transfer
where wx_enterprise_id=#{wxEnterpriseId}
and store_id = #{storeId},
and status_flag=1
order by update_time desc group by handover_staff_id
</select>
<select id="listTransferByHandoverStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_transfer
where wx_enterprise_id=#{wxEnterpriseId}
and handover_staff_id = #{handoverStaffId},
and status_flag=1
</select>
<select id="listTransferByTakeoverStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_transfer
where wx_enterprise_id=#{wxEnterpriseId}
and takeover_staff_id = #{takeoverStaffId},
and status_flag=1
</select>
</mapper>
\ No newline at end of file
<?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.QywxSyncLogMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabQywxSyncLog">
<id column="qywx_sync_log_id" jdbcType="VARCHAR" property="qywxSyncLogId"/>
<result column="qywx_tag_relation_id" jdbcType="VARCHAR" property="qywxTagRelationId"/>
<result column="member_tag_id" jdbcType="VARCHAR" property="memberTagId"/>
<result column="member_tag_name" jdbcType="VARCHAR" property="memberTagName"/>
<result column="business_type" jdbcType="INTEGER" property="businessType"/>
<result column="change_code" jdbcType="VARCHAR" property="changeCode"/>
<result column="log_content" jdbcType="VARCHAR" property="logContent"/>
<result column="opt_code" jdbcType="VARCHAR" property="optCode"/>
<result column="opt_staff_id" jdbcType="VARCHAR" property="optStaffId"/>
<result column="sync_task_id" jdbcType="VARCHAR" property="syncTaskId"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
qywx_sync_log_id, qywx_tag_relation_id, member_tag_id, member_tag_name, business_type,
change_code, log_content, opt_code, opt_staff_id, sync_task_id, status_flag, create_time,
update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_sync_log
where qywx_sync_log_id = #{qywxSyncLogId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_qywx_sync_log
where qywx_sync_log_id = #{qywxSyncLogId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabQywxSyncLog">
insert into tab_haoban_qywx_sync_log (qywx_sync_log_id, qywx_tag_relation_id,
member_tag_id, member_tag_name, business_type,
change_code, log_content, opt_code,
opt_staff_id, sync_task_id, status_flag,
create_time, update_time)
values (#{qywxSyncLogId,jdbcType=VARCHAR}, #{qywxTagRelationId,jdbcType=VARCHAR},
#{memberTagId,jdbcType=VARCHAR}, #{memberTagName,jdbcType=VARCHAR}, #{businessType,jdbcType=INTEGER},
#{changeCode,jdbcType=VARCHAR}, #{logContent,jdbcType=VARCHAR}, #{optCode,jdbcType=VARCHAR},
#{optStaffId,jdbcType=VARCHAR}, #{syncTaskId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxSyncLog">
insert into tab_haoban_qywx_sync_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="qywxSyncLogId != null">
qywx_sync_log_id,
</if>
<if test="qywxTagRelationId != null">
qywx_tag_relation_id,
</if>
<if test="memberTagId != null">
member_tag_id,
</if>
<if test="memberTagName != null">
member_tag_name,
</if>
<if test="businessType != null">
business_type,
</if>
<if test="changeCode != null">
change_code,
</if>
<if test="logContent != null">
log_content,
</if>
<if test="optCode != null">
opt_code,
</if>
<if test="optStaffId != null">
opt_staff_id,
</if>
<if test="syncTaskId != null">
sync_task_id,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="qywxSyncLogId != null">
#{qywxSyncLogId,jdbcType=VARCHAR},
</if>
<if test="qywxTagRelationId != null">
#{qywxTagRelationId,jdbcType=VARCHAR},
</if>
<if test="memberTagId != null">
#{memberTagId,jdbcType=VARCHAR},
</if>
<if test="memberTagName != null">
#{memberTagName,jdbcType=VARCHAR},
</if>
<if test="businessType != null">
#{businessType,jdbcType=INTEGER},
</if>
<if test="changeCode != null">
#{changeCode,jdbcType=VARCHAR},
</if>
<if test="logContent != null">
#{logContent,jdbcType=VARCHAR},
</if>
<if test="optCode != null">
#{optCode,jdbcType=VARCHAR},
</if>
<if test="optStaffId != null">
#{optStaffId,jdbcType=VARCHAR},
</if>
<if test="syncTaskId != null">
#{syncTaskId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxSyncLog">
update tab_haoban_qywx_sync_log
<set>
<if test="qywxTagRelationId != null">
qywx_tag_relation_id = #{qywxTagRelationId,jdbcType=VARCHAR},
</if>
<if test="memberTagId != null">
member_tag_id = #{memberTagId,jdbcType=VARCHAR},
</if>
<if test="memberTagName != null">
member_tag_name = #{memberTagName,jdbcType=VARCHAR},
</if>
<if test="businessType != null">
business_type = #{businessType,jdbcType=INTEGER},
</if>
<if test="changeCode != null">
change_code = #{changeCode,jdbcType=VARCHAR},
</if>
<if test="logContent != null">
log_content = #{logContent,jdbcType=VARCHAR},
</if>
<if test="optCode != null">
opt_code = #{optCode,jdbcType=VARCHAR},
</if>
<if test="optStaffId != null">
opt_staff_id = #{optStaffId,jdbcType=VARCHAR},
</if>
<if test="syncTaskId != null">
sync_task_id = #{syncTaskId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where qywx_sync_log_id = #{qywxSyncLogId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabQywxSyncLog">
update tab_haoban_qywx_sync_log
set qywx_tag_relation_id = #{qywxTagRelationId,jdbcType=VARCHAR},
member_tag_id = #{memberTagId,jdbcType=VARCHAR},
member_tag_name = #{memberTagName,jdbcType=VARCHAR},
business_type = #{businessType,jdbcType=INTEGER},
change_code = #{changeCode,jdbcType=VARCHAR},
log_content = #{logContent,jdbcType=VARCHAR},
opt_code = #{optCode,jdbcType=VARCHAR},
opt_staff_id = #{optStaffId,jdbcType=VARCHAR},
sync_task_id = #{syncTaskId,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where qywx_sync_log_id = #{qywxSyncLogId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
<?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.QywxTagItemMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabQywxTagItem">
<id column="qywx_tag_item_id" jdbcType="VARCHAR" property="qywxTagItemId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="qywx_group_key" jdbcType="VARCHAR" property="qywxGroupKey"/>
<result column="qywx_tag_key" jdbcType="VARCHAR" property="qywxTagKey"/>
<result column="qywx_tag_name" jdbcType="VARCHAR" property="qywxTagName"/>
<result column="order" jdbcType="BIGINT" property="order"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
qywx_tag_item_id, wx_enterprise_id, qywx_group_key, qywx_tag_key, qywx_tag_name,
order, status_flag, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_tag_item
where qywx_tag_item_id = #{qywxTagItemId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_qywx_tag_item
where qywx_tag_item_id = #{qywxTagItemId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagItem">
insert into tab_haoban_qywx_tag_item (qywx_tag_item_id, wx_enterprise_id, qywx_group_key,
qywx_tag_key, qywx_tag_name, order,
status_flag, create_time, update_time
)
values (#{qywxTagItemId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR}, #{qywxGroupKey,jdbcType=VARCHAR},
#{qywxTagKey,jdbcType=VARCHAR}, #{qywxTagName,jdbcType=VARCHAR}, #{order,jdbcType=BIGINT},
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagItem">
insert into tab_haoban_qywx_tag_item
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="qywxTagItemId != null">
qywx_tag_item_id,
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id,
</if>
<if test="qywxGroupKey != null">
qywx_group_key,
</if>
<if test="qywxTagKey != null">
qywx_tag_key,
</if>
<if test="qywxTagName != null">
qywx_tag_name,
</if>
<if test="order != null">
order,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="qywxTagItemId != null">
#{qywxTagItemId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="qywxGroupKey != null">
#{qywxGroupKey,jdbcType=VARCHAR},
</if>
<if test="qywxTagKey != null">
#{qywxTagKey,jdbcType=VARCHAR},
</if>
<if test="qywxTagName != null">
#{qywxTagName,jdbcType=VARCHAR},
</if>
<if test="order != null">
#{order,jdbcType=BIGINT},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagItem">
update tab_haoban_qywx_tag_item
<set>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="qywxGroupKey != null">
qywx_group_key = #{qywxGroupKey,jdbcType=VARCHAR},
</if>
<if test="qywxTagKey != null">
qywx_tag_key = #{qywxTagKey,jdbcType=VARCHAR},
</if>
<if test="qywxTagName != null">
qywx_tag_name = #{qywxTagName,jdbcType=VARCHAR},
</if>
<if test="order != null">
order = #{order,jdbcType=BIGINT},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where qywx_tag_item_id = #{qywxTagItemId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagItem">
update tab_haoban_qywx_tag_item
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
qywx_group_key = #{qywxGroupKey,jdbcType=VARCHAR},
qywx_tag_key = #{qywxTagKey,jdbcType=VARCHAR},
qywx_tag_name = #{qywxTagName,jdbcType=VARCHAR},
order = #{order,jdbcType=BIGINT},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where qywx_tag_item_id = #{qywxTagItemId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
<?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.QywxTagMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabQywxTag">
<id column="qywx_tag_id" jdbcType="VARCHAR" property="qywxTagId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="qywx_group_key" jdbcType="VARCHAR" property="qywxGroupKey"/>
<result column="qywx_group_name" jdbcType="VARCHAR" property="qywxGroupName"/>
<result column="order" jdbcType="BIGINT" property="order"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
qywx_tag_id, wx_enterprise_id, qywx_group_key, qywx_group_name, order, status_flag,
create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_tag
where qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_qywx_tag
where qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabQywxTag">
insert into tab_haoban_qywx_tag (qywx_tag_id, wx_enterprise_id, qywx_group_key,
qywx_group_name, order, status_flag,
create_time, update_time)
values (#{qywxTagId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR}, #{qywxGroupKey,jdbcType=VARCHAR},
#{qywxGroupName,jdbcType=VARCHAR}, #{order,jdbcType=BIGINT}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxTag">
insert into tab_haoban_qywx_tag
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="qywxTagId != null">
qywx_tag_id,
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id,
</if>
<if test="qywxGroupKey != null">
qywx_group_key,
</if>
<if test="qywxGroupName != null">
qywx_group_name,
</if>
<if test="order != null">
order,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="qywxTagId != null">
#{qywxTagId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="qywxGroupKey != null">
#{qywxGroupKey,jdbcType=VARCHAR},
</if>
<if test="qywxGroupName != null">
#{qywxGroupName,jdbcType=VARCHAR},
</if>
<if test="order != null">
#{order,jdbcType=BIGINT},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxTag">
update tab_haoban_qywx_tag
<set>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="qywxGroupKey != null">
qywx_group_key = #{qywxGroupKey,jdbcType=VARCHAR},
</if>
<if test="qywxGroupName != null">
qywx_group_name = #{qywxGroupName,jdbcType=VARCHAR},
</if>
<if test="order != null">
order = #{order,jdbcType=BIGINT},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabQywxTag">
update tab_haoban_qywx_tag
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
qywx_group_key = #{qywxGroupKey,jdbcType=VARCHAR},
qywx_group_name = #{qywxGroupName,jdbcType=VARCHAR},
order = #{order,jdbcType=BIGINT},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
<?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.QywxTagRelationMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabQywxTagRelation">
<id column="qywx_tag_relation_id" jdbcType="VARCHAR" property="qywxTagRelationId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="enterprise_id" jdbcType="VARCHAR" property="enterpriseId"/>
<result column="member_tag_id" jdbcType="VARCHAR" property="memberTagId"/>
<result column="sync_flag" jdbcType="INTEGER" property="syncFlag"/>
<result column="order" jdbcType="BIGINT" property="order"/>
<result column="qywx_tag_id" jdbcType="VARCHAR" property="qywxTagId"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
qywx_tag_relation_id, wx_enterprise_id, enterprise_id, member_tag_id, sync_flag,
order, qywx_tag_id, status_flag, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_tag_relation
where qywx_tag_relation_id = #{qywxTagRelationId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from tab_haoban_qywx_tag_relation
where qywx_tag_relation_id = #{qywxTagRelationId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagRelation">
insert into tab_haoban_qywx_tag_relation (qywx_tag_relation_id, wx_enterprise_id,
enterprise_id, member_tag_id, sync_flag,
order, qywx_tag_id, status_flag,
create_time, update_time)
values (#{qywxTagRelationId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=VARCHAR}, #{memberTagId,jdbcType=VARCHAR}, #{syncFlag,jdbcType=INTEGER},
#{order,jdbcType=BIGINT}, #{qywxTagId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagRelation">
insert into tab_haoban_qywx_tag_relation
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="qywxTagRelationId != null">
qywx_tag_relation_id,
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="memberTagId != null">
member_tag_id,
</if>
<if test="syncFlag != null">
sync_flag,
</if>
<if test="order != null">
order,
</if>
<if test="qywxTagId != null">
qywx_tag_id,
</if>
<if test="statusFlag != null">
status_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="qywxTagRelationId != null">
#{qywxTagRelationId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="memberTagId != null">
#{memberTagId,jdbcType=VARCHAR},
</if>
<if test="syncFlag != null">
#{syncFlag,jdbcType=INTEGER},
</if>
<if test="order != null">
#{order,jdbcType=BIGINT},
</if>
<if test="qywxTagId != null">
#{qywxTagId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagRelation">
update tab_haoban_qywx_tag_relation
<set>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="memberTagId != null">
member_tag_id = #{memberTagId,jdbcType=VARCHAR},
</if>
<if test="syncFlag != null">
sync_flag = #{syncFlag,jdbcType=INTEGER},
</if>
<if test="order != null">
order = #{order,jdbcType=BIGINT},
</if>
<if test="qywxTagId != null">
qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where qywx_tag_relation_id = #{qywxTagRelationId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabQywxTagRelation">
update tab_haoban_qywx_tag_relation
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
member_tag_id = #{memberTagId,jdbcType=VARCHAR},
sync_flag = #{syncFlag,jdbcType=INTEGER},
order = #{order,jdbcType=BIGINT},
qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where qywx_tag_relation_id = #{qywxTagRelationId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
......@@ -373,4 +373,27 @@
#{item}
</foreach>
</select>
<select id="listNoStatusStaffIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
FROM tab_haoban_staff
WHERE
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR} and super_manager_flag is null
and staff_id in
<foreach collection="staffIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getNoStatusByWxUserIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
FROM tab_haoban_staff
WHERE
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and super_manager_flag is null
and wx_user_id =#{wxUserId}
order by update_time desc,create_time desc limit 1
</select>
</mapper>
\ No newline at end of file
......@@ -184,4 +184,14 @@
#{item}
</foreach>
</update>
<select id="getLastNoStatusByStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_clerk_main_store_related
where 1=1
and wx_enterprise_id = #{wxEnterpriseId}
and staff_id = #{staffId}
order by create_time desc limit 1
</select>
</mapper>
\ No newline at end of file
......@@ -502,4 +502,23 @@
and status_flag = 1
</select>
<select id="getLastByExTernalUseridAndWxUserIdNoStatus" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where wx_enterprise_id = #{wxEnterpriseId}
and wx_user_id = #{wxUserId}
and external_user_id = #{externalUserid}
order by create_time desc limit 1
</select>
<select id="listByIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where wx_enterprise_id = #{wxEnterpriseId}
and external_clerk_related_id in
<foreach collection="ids" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
import cn.hutool.core.thread.ConcurrencyTester;
import cn.hutool.core.thread.ThreadUtil;
import com.alibaba.fastjson.JSON;
import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.TestService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"})
public class HandoverTest {
private static Logger logger = LoggerFactory.getLogger(HandoverTest.class);
@Autowired
private HandoverOperationApiService handoverOperationApiService;
@Test
public void test() {
String wxEnterpriseId = "ca66a01b79474c40b3e7c7f93daf1a3b";
handoverOperationApiService.dealQywxEnterpriseHandover(wxEnterpriseId);
}
}
......@@ -59,6 +59,9 @@ public class ServiceTest {
@Autowired
private CheckQywxSettingApiService checkQywxSettingApiService;
@Autowired
private HandoverOperationApiService handoverOperationApiService;
private final ExecutorService pools = Executors.newFixedThreadPool(50);
......
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Date;
import java.util.List;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
......@@ -6,12 +10,16 @@ import org.apache.commons.lang3.StringUtils;
public class test {
public static void main(String[] args) {
public static void main(String[] args) {
// String key = "3.2.1";
// String[] split = key.split(".");
//
// System.out.println(split[1]);
Long dimissionTime = 1550838571L;
LocalDateTime dateTime = LocalDateTime.ofEpochSecond(dimissionTime, 0, ZoneOffset.ofHours(8));
Instant instant = dateTime.toInstant(ZoneOffset.ofHours(8));
Date from = Date.from(instant);
System.out.println(from);
Integer num = 2;
int i = 2 & 4;
......
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